对象约束语言简称OCL(Object Constraint Language),它是一种用于施加在指定的模型元素上约束的语言。OCL表达式以附加在模型元素上的条件和限制来表现对该对象的约束,其中包括附加在模型元素上的不变量或约束的表达式,附加在操作和方法上的前置条件和后置条件等。
对象约束语言是一种形式化语言,它主要用于表示UML模型中施加于模型上的约束。OCL具有如下特点:
1、OCL是一种精确的,无二义性的语言
2、OCL是一种规范说明性语言,所有有关实现的问题都不能用OCL来表达
3、OCL是一种纯表达式语言,它是具有没有任何副作用的申明性语言。
4、OCL是一种类型化语言,即OCL中的每一个表达式都是具有类型的。
5、OCL不是一种程序设计语言,不能用OCL编写程序逻辑和控制流程。
OCL预定义的标准类型定义了一组基本类型和集合类型。OCL的基本类型有"Boolean"、"Integer"、"Real"、"String"等。集合类型包括"Collection"、"Set"、"Bag"、"Sequence"等。这些标准型是OCL表达式的组成部分。
OCL标准型的层次结构如下:
OCL表达式对于一个OCL类型求值。OCL表达式有以下特点:
1、OCL表达式可以附加在模型元素上,模型元素的所有实例都应该满足表达式的条件。
2、OCL表达式可以附加在操作上。
3、OCL表达式可以指定附加在模型元素上的监护条件。
4、OCL表达式的计算顺序是从左到右。
5、OCL表达式既可以使用基本类型又可以使用集合类型。
OCL表达式可以附加在模型元素或模型元素的属性和操作上表达一个约束条件。
阅读(4784) | 评论(0) | 转发(1) |