既存の実行コンテキスト

7.1 PeriodicExecutionContext

周期的にRTCの実行を行う。
設定した実行周期よりもRTCの処理の時間が短かった場合はcoil::sleepにより時間待ちを行います。

7.2 ExtTrigExecutionContext

外部トリガ入力によりRTCの実行を行う。
ただし、tick()では実行フラグをオンにして、実行はsvc()で行います。

7.3 SynchExtTriggerEC

外部トリガ入力によりRTCの実行を行う。
tick()でRTCの実行を行います。

7.4 ArtExecutionContext

ART-Linuxにより実時間周期実行を行う。
art_waitで次の周期まで実行を停止します。
実時間処理を行うために、処理は実行周期内に収まるようにする必要がある。
また、プロセス間通信に時間がかかるため、関連付けしたRTCが同一プロセス上で動作させるようにする必要がある。

7.5 RTPreemptEC

RT-Preemptive Linuxにより実時間周期実行を行う。

7.6 TkPeriodicExecutionContext

T-Kernel上で動作するOpenRTM-aist用の実行コンテキストです。リアルタイム実行の精度を上げることができます。

7.7 StepwiseEC

他にStepwiseECで動作しているRTCが存在する場合に、他のRTCの周期実行が終了してから次の実行を開始する事でRTC同士の実行を同期する。

7.8 その他

ArtDataSyncECというのがあるらしいです。1入力1出力のシステムで入力データに同期してRTCを駆動するらしいです。

OpenRTM.NETにはEmptyExecutionContextという実行コンテキストがあります。