ポートは、クラスとその環境の間、またはクラス (の振る舞い) とその内部部分との間の、明確な相互作用点です。ポートを使用して、組み込まれる環境とは独立したクラスを指定できます。クラスの内部部分は、
環境から分離することができ、またその逆も可能です。
ポートは以下のインターフェースを持つことができます。
- 提供インターフェースは、ポートを経由して環境からクラスに出すことができる要求を表します。
提供インターフェースは、ロリポップ表記またはボール表記で表されます。
- 要求インターフェースは、クラスからポートを経由してその環境 (外部オブジェクト) に対して出すことができる要求を表します。
要求インターフェースは、ソケット表記で表されます。
以下の図は AbsHardware クラスを示し、このクラスには、提供インターフェース (ロリポップ表記またはボール表記) および要求インターフェース (ソケット) を持つポート (クラス要素の下端の小さい正方形) が付いています。
これらのインターフェースは、単独では提供インターフェースである契約を使用して指定します。詳細については、ポート契約の指定を参照してください。
ポートが振る舞い型 である場合、提供インターフェースのメッセージは、所有者クラスへ転送されます。ポートが、非振る舞い型 である場合、メッセージはクラスの内部部分のいずれかへ送られます。クラスは、同じタイプのイベントが異なるポートから受信される場合、それらを区別することができます。
注: 製品には、ホーム・アラーム・セキュリティー・システムを示す C++ のサンプル・プロジェクト (HomeAlarmWithPorts) が提供されており、パーツ相互作用ポイントを指定する UML 2 ポートの使用が例示されています。
<製品のインストール・フォルダー >¥Samples¥CppSamples¥ を参照してください。