ストラタジーナム メニュー

2006年4月25日火曜日

UML中級講座 第18回 ポートの表記

ポートの表記

図F12

ポートは小さい四角形で表され、分類子の長方形の境界線上に置かれた場合は可視性がパブリック、分類子の長方形の内側に置かれた場合は、ポートが隠されており可視性がプロテクトであることを示しています。
ポートには多重度を付けることが可能で、図F06の左図は、ポートPの多重度が1であることを示しています。
また、ポートにはタイプ名(型名)を付けることが可能であり、ポート名:タイプ名 で表記します。図F06の右図は、ポート名がP、タイプ名が伝動機構であることを示します。(伝動機構は提供インターフェースの名前でもある。)

図F06



振る舞いポート


図F07


分類子の内部の小さなステートシンボルにコネクタ接続されたポートは、振る舞いポートと呼ばれます。(図F07参照)
図中の小さなステートシンボルは分類子(この図の場合「エンジン」クラス)の振る舞いを表しています。

図F09

ポート名は省略可能です。また、カンマで区切って複数のインターフェースをリスト表現することが可能です。
図F09では、オンラインサービスと言うポートに、オーダー入力とトラッキングという2つの提供インターフェースが接続され、支払いという1つの要求インターフェースが接続されていることを示しています。

図F08



図F08の中の左上の図は、エンジンクラスにポートPがあり、伝動機構と言う名前の提供インターフェースと動力という名の要求インターフェースが接続されていることを示しています。
提供インターフェースはポートPで提供するサービスを指定しており、要求インターフェースは、外部環境に期待するサービスをしています。従って、両者は依存関係でもあります。(図F08の左下)
また、エンジンクラスは完全にカプセル化されおり、インターフェースの持つ条件さえ満たせば、どんな外部環境下でも適切に動作します。
図F08の右図は、エンジンクラスの2つの使われ方を示しています。
車クラスでは、エンジンクラスのポートPは後輪と車軸でつながり、ボートクラスでは、エンジンクラスのポートPはプロペラとシャフトで接続されていることを示しています。
両ケースとも、インターフェースの条件さえ満たせばエンジンは適切に作動します。(図F08右上で示されるように、コネクタとパートは必ずしもポート経由で接続されている必要はありません。

トリガー

あるイベントが発生した時に、特定の振る舞いを呼び出すことをポートに指定することが可能です。このイベントの指定をトリガーと言います。