実行コンテキスト
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/01/03 09:28 UTC 版)
「OpenRTM-aist」の記事における「実行コンテキスト」の解説
実行コンテキストとは、RTコンポーネントで定義されている処理を実行するオブジェクトを指す言葉である。RTコンポーネントの規格では、RTコンポーネントはCREATED、INACTIVE、ACTIVE、およびERRORの状態を持っており、RTコンポーネント自体は各状態遷移時に呼ばれるアクションを定義するものである。そしてRTコンポーネントの各状態への遷移や、状態遷移に伴うアクションを管理・実行するのが実行コンテキストである。 実行コンテキストに対してRTコンポーネントを登録 (attach) することで、RTコンポーネントは状態を持ち、通常はINACTIVEな状態に移る。後述するRT System Editorなどのツールから実行コンテキストに対して、任意のRTコンポーネントのアクティブ化のコマンドを送信すると、実行コンテキストは管理中の対象RTの状態を遷移させ、対応するアクションを呼び出す。また、OpenRTM-aistで用意されている周期実行コンテキストでは、RTコンポーネントがACTIVE状態にある時、RTコンポーネントのon_executeアクションを周期的に呼び出す。これによってOpenRTM-aistのRTコンポーネントは、ハードウェアの初期化や終了、周期処理をRTコンポーネントのアクションとして実装し、ツールから任意のタイミング・周期で呼び出すことができる。 また、実行コンテキストは実行時のRTコンポーネントに動的に登録・解除することができ、また複数のRTコンポーネントを同一の周期実行コンテキストに登録することで、周期実行タイミングを同期させて動かすなど、フレキシブルなシステムを実行時に構築・設定することができる。 さらに、実行コンテキストは基底クラスを継承することでカスタマイズすることができ、後述するマネージャに実行時にロードさせることで、いろいろな実行コンテキストを使うことができる。例えば、OpenHRP3などのシミュレータのシミュレーション時間と同期して実行する実行コンテキストを使えば、実機でも動作するRTコンポーネントを、コンパイル時ではなく実行時にシミュレーションに組み込んで処理を行わせることができる。また、OpenRTM-aistでは,Linuxカーネルのプリエンプションを利用したリアルタイム実行コンテキストをサポートしており,実行時にリアルタイム性を持たせることが可能である。
※この「実行コンテキスト」の解説は、「OpenRTM-aist」の解説の一部です。
「実行コンテキスト」を含む「OpenRTM-aist」の記事については、「OpenRTM-aist」の概要を参照ください。
- 実行コンテキストのページへのリンク