アクティブ・オブジェクトにおける操作の concurrency プロパティーは、 別のアクティブ・オブジェクトがその操作を呼び出したときに行われる、 システムの振る舞いを指定します。
| 並行性の値 | 説明 |
|---|---|
| sequential | この値が、操作の concurrency プロパティーのデフォルトになります。 並行処理間で競合が発生する可能性があります。 この操作を呼び出すオブジェクトを相互に調整して、一度に 1 つの操作のみ呼び出されるようにする必要があります。 |
| guarded | 1 つの操作に対する呼び出しが同時に複数起こった場合、 そのうちの 1 つだけを処理するようにします。 これ以降の呼び出しは、最初の呼び出しが完了するまでブロックされます。 システム設計者は、アプリケーションが操作に対する呼び出しを 同時にブロックできることを、確認する必要があります。 |
| concurrent | 1 つの操作に対する呼び出しが同時に複数起こった場合、 それらを同時に処理することができます。 |
multiplicity プロパティーが適用されるモデルはいくつかありますが、 特に、分類子、コンポジット構造図のパーツに属する属性、 および分類子間の関連に対して、適用されます。 属性の多重度によって、 そのモデル要素に関連付けることができる値の数が決まります。 例えば、データ型が整数の Attribute1 という 属性を、0 から 3 の整数値の範囲を持つように 定義すると、Attribute1 : Integer [0..3] になります。 関連の端における多重度の値、または値の範囲は、 関係に参加することができるオブジェクトの数を表しています。 多重度の指定は、 単一の正整数、下限と上限を指定した正整数の範囲、 またはコンマで区切られた正整数のリストの いずれかで行うことができます。 アスタリスクは、上限に制限がないことを表しています。 以下の表では、いくつかの多重度の指定を例に挙げて、説明しています。
| サンプル | 説明 |
|---|---|
| 1 | 1 つだけ |
| 0..1 | ゼロまたは 1 つ |
| * | ゼロを含む、任意の数 |
| n | ゼロを含む、任意の数 |
| 1..* | 1 つ以上 |
テンプレートのようなパラメーターを持つコンテキストの場合、 多重度の指定における上限と下限は、 整数値に対する評価を行う式となる可能性があります。
以下の図にあるように、 多重度の値が属性と関連付けられている場合は、 その値は大括弧に囲まれて表示されます。
![]()
以下の図にあるように、 多重度の値がコンポジット構造図内のパーツと関連付けられている場合も、 その値は大括弧に囲まれて表示されます。
![]()
以下の図にあるように、 多重度の値が関連の端と関連付けられている場合、 適用する関連の端の隣に、その値が表示されます。

属性、操作、パラメーター、および関連の端の 各タイプを指定することができます。 指定できるタイプは、 クラス、インターフェース、または UML データ型 (整数、ストリング、無制限自然数、ブール型など) です。
例えば、可視性が public であるクラス内の属性と操作は、 ほかのクラスによる表示および使用が可能です。 属性と操作の可視性が private である場合、 それらを含むクラスだけに表示と使用が許されます。
| レベル | 属性アイコン | 操作アイコン | テキスト記号 | 説明 |
|---|---|---|---|---|
| public | + | コンテナーを表示できるモデル要素は、public のモデル要素を表示し、 使用することができます。 | ||
| private | - | 同じコンテナー内にあるモデル要素は、 そのコンテナー内の private のモデル要素を表示し、 使用することができます。 | ||
| protected | # | 同じコンテナー内、または そのコンテナーの子孫内にあるモデル要素は、 そのコンテナー内の protected のモデル要素を表示し、 使用することができます。 | ||
| パッケージ | ~ | コンテナーと同じパッケージ内にあるモデル要素は、 可視性が package のモデル要素を表示し、使用することができます。 |