0

所以我有以下对象结构:

Class Node
RSSI: int

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

4

1 回答 1

2

您可以使用allInstances

context: Node
inv: Node->allInstances()
         ->forAll(n1, n2| -2 <= n1.RSSI-n2.RSSI and n1.RSSI-n2.RSSI <= 2)
于 2012-11-06T13:23:08.873 回答