所以我有以下对象结构:
Class Node
RSSI: int
我需要编写一个OCL不变量,以满足所有Node对象的RSSI值相差不超过2的要求。我尝试用迭代表达式解决它但是因为你不能真正使用变量IN OCL存储当前的最大值和最小值(或者至少我不知道该怎么做)我不知道该怎么做。任何人都可以帮我吗?
答案 0 :(得分:2)
您可以使用allInstances
:
context: Node
inv: Node->allInstances()
->forAll(n1, n2| -2 <= n1.RSSI-n2.RSSI and n1.RSSI-n2.RSSI <= 2)