15

UML 仕様の上部構造 2.5 (まだベータ版、203 ページ)

クラスは、isActive を true に設定することによってアクティブとして指定できます (つまり、そのインスタンスのそれぞれがアクティブなオブジェクトです)。isActive が false の場合、クラスはパッシブです (つまり、そのインスタンスのそれぞれが他のオブジェクトのコンテキスト内で実行されます)。

  • それらのそれぞれを適用する際の違いを示す簡単な例があるのだろうか?
  • そして、この概念を少し詳しく説明しますか?
4

1 に答える 1

24

定義により、

アクティブ オブジェクト UML では、アクティブ クラス、したがってアクティブ オブジェクトは、独自の操作スレッドに存在し、独自のアドレス空間を持ちます。実行またはコード アクティビティがフローの観点から考えられる場合、アクティブなオブジェクトはそのフローを開始または制御できます。つまり、アクティブなオブジェクトはシーケンシャルで、変数の変更、プログラムの動作の変更などを行います。UML では、アクティブなクラスとオブジェクトは、パッシブなオブジェクトよりも太い境界線で区別されます。

UML のパッシブ オブジェクトは、別のオブジェクトから呼び出されるまで待機する必要があるため、通常、実行フローを変更したり開始したりすることはできません。代わりに、パッシブ オブジェクトは一般に情報を格納するために使用され、多くの場合、この情報は複数の他のオブジェクト間で共有されます。これにより、パッシブ オブジェクトに順次ではなく同時にアクセスできるようになる場合があります。 内部に含まれるデータの整合性が高いことを確認するために、UML ではパッシブ オブジェクトが順次アクセスされることを主張できます。2 つのスレッドが同じシーケンシャル パッシブ オブジェクトを呼び出そうとすると、そのオブジェクトは、最初のスレッドが終了するまで 2 番目のスレッドを遅らせることができます。

役立つ例はここにあります

于 2013-01-28T18:19:23.660 に答える