基本的な並行性と同期オブジェクト・タイプは、システムの外部に定義され、変更できません。
これらは、OXF と呼ばれる C フレームワーク・パッケージに定義される外部オブジェクトです。
このため、これらのためにコードは生成されません。
これらの外部オブジェクトには、並行性と同期をサポートする基本的なオブジェクト・タイプのセットがあります。
そうしたサービスは、通常は、共通のリアルタイム・オペレーティング・システムによって提供されます。
並行性と同期のオブジェクト・タイプには以下のものがあります。
- タスク・オブジェクト - アクティブ・オブジェクトとは区別されます。
アクティブ・オブジェクトでは、フレームワークに (独自のスレッド、イベント・ハンドラーを所有するなどの観点から) オブジェクトの振る舞いを決定する役目があります。
しかし、タスク・オブジェクトでは、ユーザーがタスクの振る舞いを定義できます。
タスク・オブジェクトの典型的な操作には、以下のものがあります。
- メッセージ・キュー - アクティブ・オブジェクト間のタスク間コミュニケーションをサポートします。
- セマフォー - 限定数のオブジェクトのみに、同時に 1 リソースに対するトークンの保持 (ロック) を許可することで共有リソースを保護します。
セマフォーとミューテックスは共に RTOS エンティティーです。
- ミューテックス - 1 つのオブジェクトのみが同時にトークンを保持できるようにして共有リソースに対する 2 値型の相互排他を指定します。
- タイマー・オブジェクト - 例えば、反復可能な間隔でシグナルの出力などを許可するタイミング・フィーチャーを提供します。
適切なステレオタイプを選択することで、ご使用のモデルにこれらのオブジェクト・タイプを任意に作成できます。
基本的なオブジェクト・タイプには、ダイアグラムが読み取りやすくなるように、通常、アイコン化された表記が使用されます。