2012-11-04 7 views
0

값 I 다음 개체 구조를 가지고 :OCL 요구 사항은 : 속성의 가능한 범위 불가 그래서

Class Node 
RSSI: int 

내가 모든 노드 개체의 수신 전계 강도 값이 다르지 않다 요구 사항에 대한 OCL의 불변을 쓸 필요를 2 이상으로. 나는 iterate 표현식으로 해결하려고했으나, 현재 최대 값과 최소값을 저장하기 위해 변수를 사용할 수 없기 때문에 (또는 적어도 그것을 수행하는 방법을 모르는 상태에서) 나는 모른다. 그렇게하는 방법. 누구든지 저를 도울 수 있습니까?

답변

1

당신은 allInstances 사용할 수 있습니다

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