【发布时间】:2011-04-03 18:10:26
【问题描述】:
我有一个 A 类和其他类 (B) 的集合。
我如何在 OCL 中表示对于集合中的每个类 (B) 都有一个字段约束?
我的想法是这样的:
A.collection->iterate().field = SomeConstraint
【问题讨论】:
标签: ocl
我有一个 A 类和其他类 (B) 的集合。
我如何在 OCL 中表示对于集合中的每个类 (B) 都有一个字段约束?
我的想法是这样的:
A.collection->iterate().field = SomeConstraint
【问题讨论】:
标签: ocl
您的术语有点混乱。你的意思是你有类似的东西
A--------->* B
bs
你期望SomeConstraint 是什么?
我猜你正在为 A 类在 OCL 中寻找所谓的不变量:
context A
inv allOK : bs->forall(b | ...)
更新:
如果要数,最简单的方法不是iterate,而是做select(...)->count()。也许这可以简化您的问题。
【讨论】: