
上QQ阅读APP看书,第一时间看更新
2.7.2 OCL的主要用途
OCL最主要的用途就是为UML模型中的各种模型元素指定需要的规则和约束,而这些规则或约束则可以大致划分为以下几种情形。
1.类不变量
类不变量(Invariant for Class)是指对一个类的任何实例在任何情况下必须成立的条件,指定了一个类的所有对象都必须遵守或满足的条件。
2.构造型的类型不变量
类型不变量(Type Invariants for Stereotype)是一个与类型有关的不变量。在定义一个构造型时,可以用它指定一个适用于该构造型的所有类必须满足的条件。
3.操作的前置条件和后置条件
前置条件(Pre-Condition)或后置条件(Post-Condition)是一种约束,它指定了执行一个类操作之前或者之后需要满足的条件。在OCL表达式中,可以用分别使用《precondition》和《postcondition》构造型表示。
4.警戒条件
警戒条件(Guards)用于指定是否执行某个特定的活动(或处理),或者当存在多种替代方案时如何选择某一个方案的条件。
5.模型中的导航规则
导航规则(Navigational Rules)是指OCL表达式中,如何通过上下文访问与上下文相关联的对象的规则,这使得OCL表达式可以使用导航规则明确地描述模型中与上下文相关联的模型元素有关的规则和约束。
6.派生规则或约束
派生规则(Derivation Rules)指定的是如何通过其他值计算一个特定的值的规则。