
上QQ阅读APP看书,第一时间看更新
2.5 UML对象约束语言
对象约束语言(Object Constraint Language,OCL)是一种能够使用工具来进行解释和表达UML约束的标准方法。前文讲解约束的时候提到,在实际建模的过程中,约束可以在UML工具中预定义,也可以在某个特定需要的时候再进行添加。与此对应,建模人员也有两种方式来使用字符串进行表达约束:一种是利用规范的对象约束语言来表达;另外一种就是使用自然语言进行表达。对象建模语言只是对那些使用模型驱动架构开发的人员或者力求让他们的模型能以任意方式执行的建模人员来说是非常有用的。在这里,深入探讨对象约束语言,只简单介绍对象约束语言的特征和基本内容。
对象约束语言包含如下四个特性:
(1)对象约束语言不仅是一种查询(Query)语言,同时还是一种约束(Constraint)语言。
(2)对象约束语言是基于数学的,但是却没有使用相关数学符号的内容。
(3)对象约束语言是一种强类型的语言。
(4)对象约束语言也是一种声明式(Declarative)语言。
对象约束语言的基本内容包含对象约束语言的元模型结构、对象约束语言的表达式结构和各种条件。这些条件包括不变量、前置条件和后置条件。
对象约束语言提供了一套能够使用工具来进行解释和表达UML约束的标准方法。有关对象约束语言的更加详细的信息,请参阅相关的规范。