1

我有一个 A 类和其他类 (B) 的集合。

我如何在 OCL 中表示对于集合中的每个类 (B) 都有一个字段约束?

我想是这样的:

A.collection->iterate().field = SomeConstraint
4

1 回答 1

1

你的术语有点混乱。你的意思是你有类似的东西

A--------->* B

   bs

你期望SomeConstraint成为什么?

我猜你正在为 A 类寻找所谓的 OCL 中的不变量:

  context A
  inv allOK : bs->forall(b | ...)

更新: 如果你想数,最简单的方法不是iterate,而是做select(...)->count(). 也许这可以简化你的事情。

于 2011-03-31T15:59:16.593 回答