OCL要求:对可能的属性值范围不变

时间:2012-11-04 15:45:26

标签: object uml requirements invariants ocl

所以我有以下对象结构:

Class Node
RSSI: int

我需要编写一个OCL不变量,以满足所有Node对象的RSSI值相差不超过2的要求。我尝试用迭代表达式解决它但是因为你不能真正使用变量IN OCL存储当前的最大值和最小值(或者至少我不知道该怎么做)我不知道该怎么做。任何人都可以帮我吗?

1 个答案:

答案 0 :(得分:2)

您可以使用allInstances

context: Node
inv: Node->allInstances()
         ->forAll(n1, n2| -2 <= n1.RSSI-n2.RSSI and n1.RSSI-n2.RSSI <= 2)