ユーザーは、モデル要素の並行性、多重度、タイプ、および可視性のプロパティーを設定できます。
アクティブ・オブジェクトの操作の並行性プロパティーでは、別のアクティブ・オブジェクトがその操作を呼び出した場合のシステムの振る舞いを指定します。
並行性の値 | 説明 |
---|---|
sequential | この値は、操作の並行性プロパティーのデフォルトです。並行するプロセスの間で競合が発生する可能性があります。操作の呼び出しが一度に 1 つのみになるように、オブジェクトの呼び出しを互いに調整する必要があります。 |
guarded | 操作を同時に複数呼び出すことができ、いずれか 1 つのみが先行して処理されます。最初の呼び出しが完了するまで、後続の呼び出しはブロックされます。システム設計者は、複数のアプリケーションが同時に操作の呼び出しをブロックできるように設計する必要があります。 |
concurrent | 操作を複数呼び出すことができ、同時に実行できます。 |
多重度プロパティーが適用されるモデル要素はいくつかありますが、特にコンポジット構造図のパートである分類子、および分類子相互の関連に属する属性に適用されます。属性の多重度によって、モデル要素に関連付けることができる値の数がわかります。例えば、0 から 3 の整数値を取り得るデータ・タイプ Integer の Attribute1 と呼ばれる属性を Attribute1 : Integer [0..3] のように定義できます。関連の末尾の多重度の値、または値の範囲は、関係に参加できるオブジェクトの数を示しています。多重度の仕様には、1 つの正の整数、ある範囲の正の整数 (上限および下限を指定)、または正の整数をコンマで区切ったリストがあります。アスタリスクは上限が無制限であることを示します。次の表に多重度の仕様の例を示します。
例 | 説明 |
---|---|
1 | 1 のみ |
0..1 | 0 または 1 |
* | 0 を含む任意の数字 |
1.. | 1 以上の数字 |
テンプレートなどのパラメーターを使用するコンテキストでは、多重度の仕様の上限および下限を整数値を求める式にすることができます。
多重度の値を属性に関連付ける場合、以下の例に示すように大括弧で囲みます。
多重度の値がコンポジット構造図のパートに関連付けられると、次の例のように大括弧で表示されます。
多重度の値を関連端に関連付ける場合、以下の例に示すように、適用する関連端の横に指定します。
属性、操作、パラメーター、関連端のタイプを指定できます。タイプには、クラス、整数、文字列、 無限の自然数、またはブールなどの UML データ・タイプ、またはインターフェースを指定できます。
可視性によって、同一のクラス内、同一のパッケージ内、継承構造内、またはシステム全体の任意の場所から他のモデル要素へのアクセスを、モデル要素が取得できるかどうかを決定します。可視性を指定できるのは、以下のモデル要素です。
例えば、public 可視性を持つクラス内の属性と操作は、他のクラスから参照し、使用することができます。属性と操作が private 可視性を持つ場合は、その属性と操作が含まれるクラスからのみ参照および使用できます。
レベル | 属性のアイコン | 操作のアイコン | テキスト・シンボル | 説明 |
---|---|---|---|---|
public | ![]() |
![]() |
+ | コンテナーを参照できるモデル要素から、public のモデル要素を参照および使用できます。 |
private | ![]() |
![]() |
- | 同じコンテナー内のモデル要素からは、そのコンテナーの private モデル要素を参照および使用できます。 |
protected | ![]() |
![]() |
# | 同じコンテナーまたはコンテナーの派生内のモデル要素からは、そのコンテナーの protected モデル要素を参照および使用できます。 |
パッケージ | ![]() |
![]() |
~ | コンテナーと同じパッケージ内にあるモデル要素から、package 可視性を持つモデル要素を参照および使用できます。 |