jp.go.aist.rtm.RTC.executionContext
クラス ExecutionContextWorker

java.lang.Object
  上位を拡張 jp.go.aist.rtm.RTC.executionContext.ExecutionContextWorker

public class ExecutionContextWorker
extends java.lang.Object

PeriodicExecutionContext クラス

Periodic Sampled Data Processing(周期実行用)ExecutionContextクラス。


フィールドの概要
protected  java.util.ArrayList<RTObjectStateMachine> m_addedComps
           
protected  java.lang.String m_addedMutex
           
protected  java.util.ArrayList<RTObjectStateMachine> m_comps
          コンポーネントの参加者リスト
protected  java.lang.String m_mutex
           
protected  ExecutionContextService m_ref
           
protected  java.util.ArrayList<RTObjectStateMachine> m_removedComps
           
protected  java.lang.String m_removedMutex
           
protected  boolean m_running
          ExecutionContext の実行状態 true: running, false: stopped
protected  Logbuf rtcout
          ロガーストリーム
protected  boolean running_
           
protected  boolean ticked_
           
 
コンストラクタの概要
ExecutionContextWorker()
          デフォルトコンストラクタ {@.ja デフォルトコンストラクタ プロファイルに以下の項目を設定する。
 
メソッドの概要
 ReturnCode_t activateComponent(LightweightRTObject comp, RTObjectStateMachineHolder rtobjhldr)
          RTコンポーネントをアクティブ化する {@.ja Inactive 状態にあるRTコンポーネントをActive に遷移させ、アクティ ブ化する。
 ReturnCode_t addComponent(LightweightRTObject comp)
          RTコンポーネントを追加する {@.ja 指定したRTコンポーネントを参加者リストに追加する。
 ReturnCode_t bindComponent(RTObject_impl rtc)
          コンポーネントをバインドする。
 ReturnCode_t deactivateComponent(LightweightRTObject comp, RTObjectStateMachineHolder rtobjhldr)
          RTコンポーネントを非アクティブ化する {@.ja Inactive 状態にあるRTコンポーネントを非アクティブ化し、Inactive に遷移させる。
 RTObjectStateMachine findComponent(LightweightRTObject comp)
           
 LifeCycleState getComponentState(LightweightRTObject comp)
          RTコンポーネントの状態を取得する {@.ja 指定したRTコンポーネントの状態(LifeCycleState)を取得する。
 ExecutionContextService getECRef()
           
 java.lang.String getStateString(LifeCycleState state)
           
 void invokeWorker()
           
 void invokeWorkerDo()
           
 void invokeWorkerPostDo()
           
 void invokeWorkerPreDo()
           
 boolean isAllCurrentState(LifeCycleState state)
           
 boolean isAllNextState(LifeCycleState state)
           
 boolean isOneOfCurrentState(LifeCycleState state)
           
 boolean isOneOfNextState(LifeCycleState state)
           
 boolean isRunning()
          ExecutionContext 実行状態確認関数 {@.ja この操作は ExecutionContext が Runnning 状態の場合に true を返す。
 ReturnCode_t removeComponent(LightweightRTObject comp)
          RTコンポーネントを参加者リストから削除する {@.ja 指定したRTコンポーネントを参加者リストから削除する。
 ReturnCode_t resetComponent(LightweightRTObject comp, RTObjectStateMachineHolder rtobjhldr)
          RTコンポーネントをリセットする {@.ja Error 状態のRTコンポーネントの復帰を試みる。
 void setECRef(ExecutionContextService ref)
           
 ReturnCode_t start()
          ExecutionContext の実行を開始 {@.ja ExecutionContext の実行状態を Runnning とするためのリクエストを 発行する。
 ReturnCode_t stop()
          ExecutionContext の実行を停止 {@.ja ExecutionContext の状態を Stopped とするためのリクエストを発行す る。
 void updateComponentList()
           
 ReturnCode_t waitActivateComplete(RTObjectStateMachine rtobj)
           
 ReturnCode_t waitActivateComplete(RTObjectStateMachine rtobj, long cycle)
           
 ReturnCode_t waitActivateComplete(RTObjectStateMachine rtobj, TimeValue timeout)
           
 ReturnCode_t waitActivateComplete(RTObjectStateMachine rtobj, TimeValue timeout, long cycle)
           
 ReturnCode_t waitDeactivateComplete(RTObjectStateMachine rtobj)
           
 ReturnCode_t waitDeactivateComplete(RTObjectStateMachine rtobj, long cycle)
           
 ReturnCode_t waitDeactivateComplete(RTObjectStateMachine rtobj, TimeValue timeout)
           
 ReturnCode_t waitDeactivateComplete(RTObjectStateMachine rtobj, TimeValue timeout, long cycle)
           
 ReturnCode_t waitResetComplete(RTObjectStateMachine rtobj)
           
 ReturnCode_t waitResetComplete(RTObjectStateMachine rtobj, long cycle)
           
 ReturnCode_t waitResetComplete(RTObjectStateMachine rtobj, TimeValue timeout)
           
 ReturnCode_t waitResetComplete(RTObjectStateMachine rtobj, TimeValue timeout, long cycle)
           
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

rtcout

protected Logbuf rtcout
ロガーストリーム


m_ref

protected ExecutionContextService m_ref

m_running

protected boolean m_running
ExecutionContext の実行状態 true: running, false: stopped


ticked_

protected boolean ticked_

running_

protected boolean running_

m_comps

protected java.util.ArrayList<RTObjectStateMachine> m_comps
コンポーネントの参加者リスト


m_mutex

protected java.lang.String m_mutex

m_addedComps

protected java.util.ArrayList<RTObjectStateMachine> m_addedComps

m_addedMutex

protected java.lang.String m_addedMutex

m_removedComps

protected java.util.ArrayList<RTObjectStateMachine> m_removedComps

m_removedMutex

protected java.lang.String m_removedMutex
コンストラクタの詳細

ExecutionContextWorker

public ExecutionContextWorker()
デフォルトコンストラクタ

デフォルトコンストラクタ プロファイルに以下の項目を設定する。 - kind : PERIODIC - rate : 0.0

メソッドの詳細

setECRef

public void setECRef(ExecutionContextService ref)

getECRef

public ExecutionContextService getECRef()

isRunning

public boolean isRunning()
ExecutionContext 実行状態確認関数

この操作は ExecutionContext が Runnning 状態の場合に true を返す。 Executioncontext が Running の間、当該 Executioncontext に参加し ている全てのアクティブRTコンポーネントが、ExecutionContext の実 行種類に応じて実行される。

戻り値:
状態確認関数(動作中:true、停止中:false)

start

public ReturnCode_t start()
ExecutionContext の実行を開始

ExecutionContext の実行状態を Runnning とするためのリクエストを 発行する。ExecutionContext の状態が遷移すると ComponentAction::on_startup が呼び出される。参加しているRTコンポー ネントが、初期化されるまで ExecutionContext を開始することはでき ない。ExecutionContext は複数回開始/停止を繰り返すことができる。

戻り値:
ReturnCode_t 型のリターンコード

stop

public ReturnCode_t stop()
ExecutionContext の実行を停止

ExecutionContext の状態を Stopped とするためのリクエストを発行す る。遷移が発生した場合は、ComponentAction::on_shutdown が呼び出 される。参加しているRTコンポーネントが終了する前に ExecutionContext を停止する必要がある。ExecutionContext は複数回 開始/停止を繰り返すことができる。

戻り値:
ReturnCode_t 型のリターンコード

activateComponent

public ReturnCode_t activateComponent(LightweightRTObject comp,
                                      RTObjectStateMachineHolder rtobjhldr)
RTコンポーネントをアクティブ化する

Inactive 状態にあるRTコンポーネントをActive に遷移させ、アクティ ブ化する。この操作が呼ばれた結果、on_activate が呼び出される。指 定したRTコンポーネントが参加者リストに含まれない場合は、 BAD_PARAMETER が返される。指定したRTコンポーネントの状態が Inactive 以外の場合は、PRECONDITION_NOT_MET が返される。

パラメータ:
comp - アクティブ化対象RTコンポーネントホルダークラス
戻り値:
ReturnCode_t 型のリターンコード

waitActivateComplete

public ReturnCode_t waitActivateComplete(RTObjectStateMachine rtobj,
                                         TimeValue timeout,
                                         long cycle)

waitActivateComplete

public ReturnCode_t waitActivateComplete(RTObjectStateMachine rtobj)

waitActivateComplete

public ReturnCode_t waitActivateComplete(RTObjectStateMachine rtobj,
                                         TimeValue timeout)

waitActivateComplete

public ReturnCode_t waitActivateComplete(RTObjectStateMachine rtobj,
                                         long cycle)

deactivateComponent

public ReturnCode_t deactivateComponent(LightweightRTObject comp,
                                        RTObjectStateMachineHolder rtobjhldr)
RTコンポーネントを非アクティブ化する

Inactive 状態にあるRTコンポーネントを非アクティブ化し、Inactive に遷移させる。この操作が呼ばれた結果、on_deactivate が呼び出され る。指定したRTコンポーネントが参加者リストに含まれない場合は、 BAD_PARAMETER が返される。指定したRTコンポーネントの状態が Active 以外の場合は、PRECONDITION_NOT_MET が返される。

パラメータ:
comp - 非アクティブ化対象RTコンポーネントホルダー
戻り値:
ReturnCode_t 型のリターンコード

waitDeactivateComplete

public ReturnCode_t waitDeactivateComplete(RTObjectStateMachine rtobj,
                                           TimeValue timeout,
                                           long cycle)

waitDeactivateComplete

public ReturnCode_t waitDeactivateComplete(RTObjectStateMachine rtobj,
                                           TimeValue timeout)

waitDeactivateComplete

public ReturnCode_t waitDeactivateComplete(RTObjectStateMachine rtobj,
                                           long cycle)

waitDeactivateComplete

public ReturnCode_t waitDeactivateComplete(RTObjectStateMachine rtobj)

resetComponent

public ReturnCode_t resetComponent(LightweightRTObject comp,
                                   RTObjectStateMachineHolder rtobjhldr)
RTコンポーネントをリセットする

Error 状態のRTコンポーネントの復帰を試みる。この操作が呼ばれた結 果、on_reset が呼び出される。指定したRTコンポーネントが参加者リ ストに含まれない場合は、BAD_PARAMETER が返される。指定したRTコン ポーネントの状態が Error 以外の場合は、PRECONDITION_NOT_MET が返 される。

パラメータ:
comp - リセット対象RTコンポーネントホルダー
戻り値:
ReturnCode_t 型のリターンコード

waitResetComplete

public ReturnCode_t waitResetComplete(RTObjectStateMachine rtobj,
                                      TimeValue timeout,
                                      long cycle)

waitResetComplete

public ReturnCode_t waitResetComplete(RTObjectStateMachine rtobj,
                                      TimeValue timeout)

waitResetComplete

public ReturnCode_t waitResetComplete(RTObjectStateMachine rtobj,
                                      long cycle)

waitResetComplete

public ReturnCode_t waitResetComplete(RTObjectStateMachine rtobj)

getComponentState

public LifeCycleState getComponentState(LightweightRTObject comp)
RTコンポーネントの状態を取得する

指定したRTコンポーネントの状態(LifeCycleState)を取得する。指定し たRTコンポーネントが参加者リストに含まれない場合は、 UNKNOWN_STATE が返される。

パラメータ:
comp - 状態取得対象RTコンポーネント
戻り値:
現在の状態(LifeCycleState)

getStateString

public final java.lang.String getStateString(LifeCycleState state)

addComponent

public ReturnCode_t addComponent(LightweightRTObject comp)
RTコンポーネントを追加する

指定したRTコンポーネントを参加者リストに追加する。追加されたRTコ ンポーネントは attach_context が呼ばれ、Inactive 状態に遷移する。 指定されたRTコンポーネントがnullの場合は、BAD_PARAMETER が返され る。指定されたRTコンポーネントが DataFlowComponent 以外の場合は、 BAD_PARAMETER が返される。

パラメータ:
comp - 追加対象RTコンポーネント
戻り値:
ReturnCode_t 型のリターンコード

bindComponent

public ReturnCode_t bindComponent(RTObject_impl rtc)
コンポーネントをバインドする。

コンポーネントをバインドする。

パラメータ:
rtc - RTコンポーネント
戻り値:
ReturnCode_t 型のリターンコード

removeComponent

public ReturnCode_t removeComponent(LightweightRTObject comp)
RTコンポーネントを参加者リストから削除する

指定したRTコンポーネントを参加者リストから削除する。削除された RTコンポーネントは detach_context が呼ばれる。指定されたRTコンポー ネントが参加者リストに登録されていない場合は、BAD_PARAMETER が返 される。

パラメータ:
comp - 削除対象RTコンポーネント
戻り値:
ReturnCode_t 型のリターンコード

findComponent

public RTObjectStateMachine findComponent(LightweightRTObject comp)

isAllCurrentState

public boolean isAllCurrentState(LifeCycleState state)

isAllNextState

public boolean isAllNextState(LifeCycleState state)

isOneOfCurrentState

public boolean isOneOfCurrentState(LifeCycleState state)

isOneOfNextState

public boolean isOneOfNextState(LifeCycleState state)

invokeWorker

public void invokeWorker()

invokeWorkerPreDo

public void invokeWorkerPreDo()

invokeWorkerDo

public void invokeWorkerDo()

invokeWorkerPostDo

public void invokeWorkerPostDo()

updateComponentList

public void updateComponentList()