この製品は、高速ポートをサポートしています。
これにより、ポートを描画し、リンクを使用して接続し、ステートチャートを作成するだけで、ポートはイベントのやり取りを実行できるようになります。これ以外の情報は不要です。
さらに、ポートがクラスの内部部分に接続していない場合は、コード・ジェネレーターはそのポートが振る舞いポートであると想定して、メッセージはクラスに、またはクラスから中継されます。
高速ポート・モードでは、クラスはリアクティブである必要があります。これは、IBM® Rational® Rhapsody® が、イベント交換が行われると想定するためです。
このタスクについて
高速ポートは、以下の場合に役立ちます。
- コンポーネント・ベースの設計。例えば、異なるシステムで再使用され、ポートの契約のインターフェースを提供および要求する (その部分のではなく) 独自の振る舞いを持つクラスがある場合。
- クラスが、遷移のトリガーがイベントを受信したポートに基づいているステートチャートを持つ場合。つまり、ステートチャートは、それを通してイベントが送られたポートを区別できるため、イベントが通ったポートによって同じイベントに異なる反応ができます。
注: いったんポートの契約を指定すると、それに接続されているすべてのポートの契約を指定する必要があります。指定しないと、
コード・ジェネレーターは、契約に不一致があるという警告を送信し、リンクは作成されません。
Rational Rhapsody は、以下のフレームワーク・プロパティーの値を使用して高速ポートを実現します。
- DefaultProvidedInterfaceName - 高速ポートの「入り口」部分が実装する必要のあるインターフェースを指定します。
- DefaultReactivePortBase - 汎用高速ポート (またはデフォルト・リアクティブ・ポート) の基底クラスを格納します。この基底クラスはすべてのイベントをリレーします。
- DefaultRequiredInterfaceName - 高速ポートの「出口」部分が実装する必要のあるインターフェースを指定します。
- DefaultReactivePortIncludeFile - 高速ポートを持つクラスを実装する生成ファイルで参照されるインクルード・ファイルを指定します。
高速ポートを使用するオブジェクト・モデル図を示す下図を見てみましょう。