我有一个A类,其中包含其他类(B)。
我如何在OCL中表示对于集合中的每个类(B),对字段有约束?
我想的是:
A.collection->iterate().field = SomeConstraint
答案 0 :(得分:1)
你的术语有点令人困惑。你是说你有像
这样的东西A ---------> * B
bs
您期望SomeConstraint
是什么?
我猜你在OCL中为A类寻找所谓的不变量:
context A
inv allOK : bs->forall(b | ...)
<强>更新强>
如果您想计算,最简单的方法不是iterate
,而是select(...)->count()
。也许这简化了你的事情。