ポート

コンポジット構造図では、ポートは分類子インスタンスとその環境、または分類子の振る舞いとその内部パートの間の相互作用ポイントを定義します。

外部環境と内部パートのすべての相互作用がポートを介して渡される必要があるため、 ポートを使用して、オブジェクトの内部パートをその環境から分離することができます。コネクターは、ポートを分類子のプロパティーにリンクし、複数のインスタンス間のコミュニケーションを呼び出します。分類子に複数のポートを定義し、相互作用が発生するポートに応じて、異なる相互作用を示すことができます。

次の図が示すとおり、ポートは、ポートの名前とともに小さな正方形でダイアグラム・フレームに表示されます。

ダイアグラム・フレームは次の 3 つのパートを示します。
2 つは分類子 Wheel で類別され、もう一つは分類子 Engine によって類別されます。
直線の接続線は、Engine パートを、コンポジット構造図の外枠に表示された、タイプが Car である小さな正方形ポートにリンクします。
接続線には、車のポートを指す白抜きくさび型矢印が付いています。
2 つの Wheel パートは、タイプが Engine の小さな正方形ポートに直線で関連付けられています。

コンポジット構造図の枠およびコンポジット構造図の内部パートにポートを追加することができます。上の例で、委譲コネクターは外部構造格納機構の Port:Car ポートを e:Engine という内部パートにリンクします。アセンブリー・コネクターは、front:Wheel[2] および rear:Wheel[2] の 2 つの内部パートを Port:Engine という内部ポートにリンクします。

ポートは両方向に相互作用できます。ユーザーは、提供された必須インターフェースを追加して、分類子とその環境間で発生する可能性のある相互作用のタイプを指定することができます。

次の図が示すとおり、ポートは分類子とその環境との相互作用ポイントで、 提供された必須インターフェースをいくつでも、分類子が外の世界に持つことができる論理相互作用にグループ化することができます。

ダイアグラム・フレームは、1 つのパートおよび 2 つのポートを示しています。
タイプ Seat のパートは、フレーム内に表示されます。
小さな正方形ポートは、パートの左上隅に表示され、小さな直線によってポートの上部に関連付けられた円があります。
その円は、SafetyDevice というラベルの提供されたインターフェースです。
コンポジット構造図の外枠で、小さな正方形ポートが実線によってポートの下部にある半円に関連付けられています。
その半円は Gasoline というラベルの必要なインターフェースです。

上の例で、Car 分類子には 2 つのポートあります。外部ポート Engine:PowerGenerator には、Car クラスが車を操作するのに必要な Gasoline という必要なインターフェースがあります。内部ポート DriverSeatbelt:Seatbelt には、Car クラスが車を操作するためにドライバーに提供する SafetyDevice という提供されたインターフェースがあります。

ポートの isService プロパティーを使用して、コンポジット構造図のポートの位置を変更することができます。 isService プロパティーが true に設定されると、 ポートがコンポジット構造図の枠に表示され、そのポートがその環境に必要であることが示されます。このプロパティーが false に設定されると、ポートは構造格納機構内で移動し、 ポートが分類子の内部実装にのみ使用され、その環境には必要でないことが示されます。 isService プロパティーが false に設定されると、分類子の使用に影響を及ぼすことなく、ポートを削除したり、変更したりすることができます。

関連概念
インターフェース
関連タスク
コンポジット構造図へのポートの追加
コンポジット構造図でのパーツおよびポートの接続
モデリング図へのインターフェースの追加
必要なインターフェースおよび提供されたインターフェースのポート上での定義
ご利用条件 | フィードバック
(C) Copyright IBM Corporation 2004, 2005. All Rights Reserved. (C) Copyright IBM Japan 2005