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

Object OCL要求:属性值的可能范围不变,object,uml,requirements,invariants,ocl,Object,Uml,Requirements,Invariants,Ocl,因此,我有以下对象结构: Class Node RSSI: int 我需要编写一个OCL不变量,以满足所有节点对象的RSSI值相差不超过2的要求。我试图用一个迭代表达式来解决这个问题,但是因为你不能在OCL中真正使用变量来存储当前的最大值和最小值(或者至少我不知道怎么做),我不知道怎么做。有人能帮我吗?你可以使用所有的指令: context: Node inv: Node->allInstances() ->forAll(n1, n2| -2 <= n1.R

因此,我有以下对象结构:

Class Node
RSSI: int

我需要编写一个OCL不变量,以满足所有节点对象的RSSI值相差不超过2的要求。我试图用一个迭代表达式来解决这个问题,但是因为你不能在OCL中真正使用变量来存储当前的最大值和最小值(或者至少我不知道怎么做),我不知道怎么做。有人能帮我吗?

你可以使用
所有的指令:

context: Node
inv: Node->allInstances()
         ->forAll(n1, n2| -2 <= n1.RSSI-n2.RSSI and n1.RSSI-n2.RSSI <= 2)
上下文:节点
inv:Node->allInstances()
->所有(n1,n2 |-2