假设课程ComplexNumber
的属性为real:Real
和imag:Real
。
是否有可能在UML中表达对于类ComplexNumber
的所有实例存在总排序关系,其中对于每个a:ComplexNumber,b:ComplexNumbera≤b< - > (a.real ^ 2 + a.img ^ 2)≤(b.real ^ 2 + b.img ^ 2)?
答案 0 :(得分:0)
在深入了解OCL规范后,我找到了自己问题的答案。
需要定义以下操作
ComplexNumber::<(in a:ComplexNumber):Boolean
具有以下OCL约束
context ComplexNumber::<(in a:ComplexNumber):Boolean
body: self.real * self.real + self.img * self.img < a.real * a.real + a.img * a.img