1

私は他のクラス(B)のコレクションを持つクラスAを持っています。

コレクション内の各クラス (B) に対してフィールドに制約があることを OCL で表現するにはどうすればよいですか?

私は次のように考えました:

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 に答える