org.mklab.tool.control.system.source
クラス AsynchronousSource

java.lang.Object
  上位を拡張 org.mklab.tool.control.system.SystemOperator
      上位を拡張 org.mklab.tool.control.system.continuous.BaseContinuousStaticSystem
          上位を拡張 org.mklab.tool.control.system.source.ContinuousSource
              上位を拡張 org.mklab.tool.control.system.source.AsynchronousSource
すべての実装されたインタフェース:
Cloneable, ArrayElement<SystemOperator>, GridElement<SystemOperator>, ContinuousAlgebraicSystem, ContinuousStaticSystem, Importer, StaticSystem
直系の既知のサブクラス:
FixedRateAsynchronousSource

public abstract class AsynchronousSource
extends ContinuousSource
implements Importer

非同期のソースを同期するソースです。

このソースの outputEquation(double)では、入力が発生するまでブロックすることにより、全体の同期を行っています。

バージョン:
$Revision$, 2010/01/04
作成者:
Yuhi Ishikura

コンストラクタの概要
protected AsynchronousSource()
          AsynchronousSourceオブジェクトを構築します。
protected AsynchronousSource(int outputSize)
          AsynchronousSourceオブジェクトを構築します。
 
メソッドの概要
protected  void bufferChanged()
          バッファの変更を通知します。
protected abstract  Matrix getOutput(double t)
          与えられた時間の入力を取得します。
protected  Throwable getThrown()
          入力処理中の例外を取得します。
 void importData()
          データ入力します。
 boolean isActive()
          この入力器がアクティブか判定します。
protected  boolean isDone()
          doneを取得します。
protected abstract  boolean isReadyFor(double t)
          与えられた時間の入力が準備できているか調べます。
 void open()
          別スレッドを開始し、入力処理を行います。
 Matrix outputEquation(double t)
          直達項をもたないシステムの出力を返します。
protected abstract  void processImport()
          ソースの記録を開始します。
protected  void setThrown(Throwable thrown)
          thrownを設定します。
 
クラス org.mklab.tool.control.system.source.ContinuousSource から継承されたメソッド
outputEquation, setInputSize, setOutputSize
 
クラス org.mklab.tool.control.system.continuous.BaseContinuousStaticSystem から継承されたメソッド
initialize, inputOutputEquation
 
クラス org.mklab.tool.control.system.SystemOperator から継承されたメソッド
clone, compare, createArray, createArray, createGrid, createGrid, createZero, equals, getInputSize, getLinearSystem, getOutputSize, getParameter, getParameters, getStateSize, hasDirectFeedthrough, hashCode, isAutoSize, isDynamic, isForecdSystem, isInlet, isLinear, isOutlet, isSISO, isSizeDefined, isStatic, isTransformableFrom, isTransformableTo, isZero, resetAutoSize, setAutoSize, setDynamic, setForcedSystem, setHasDirectFeedthrough, setInlet, setLinear, setOutlet, setParameter, setStateSize, setupParameters, toString, toString, transformFrom, transformTo
 
クラス java.lang.Object から継承されたメソッド
finalize, getClass, notify, notifyAll, wait, wait, wait
 
インタフェース org.mklab.tool.control.system.source.Importer から継承されたメソッド
close
 

コンストラクタの詳細

AsynchronousSource

protected AsynchronousSource()
AsynchronousSourceオブジェクトを構築します。


AsynchronousSource

protected AsynchronousSource(int outputSize)
AsynchronousSourceオブジェクトを構築します。

パラメータ:
outputSize - 出力数
メソッドの詳細

outputEquation

public final Matrix outputEquation(double t)
                            throws SolverStopException
インタフェース StaticSystem の記述:
直達項をもたないシステムの出力を返します。

出力方程式を表します。

定義:
インタフェース StaticSystem 内の outputEquation
オーバーライド:
クラス BaseContinuousStaticSystem 内の outputEquation
パラメータ:
t - 時刻
戻り値:
出力
例外:
SolverStopException - ソルバーが停止された場合
関連項目:
BaseContinuousStaticSystem.outputEquation(double)

bufferChanged

protected void bufferChanged()
バッファの変更を通知します。


isDone

protected final boolean isDone()
doneを取得します。

戻り値:
done

isReadyFor

protected abstract boolean isReadyFor(double t)
与えられた時間の入力が準備できているか調べます。

パラメータ:
t - 調べる時間
戻り値:
準備ができていればtrue,できていなければfalse

getOutput

protected abstract Matrix getOutput(double t)
与えられた時間の入力を取得します。

パラメータ:
t - 取得する時間
戻り値:
出力

open

public final void open()
別スレッドを開始し、入力処理を行います。

定義:
インタフェース Importer 内の open
関連項目:
Importer.open()

importData

public final void importData()
インタフェース Importer の記述:
データ入力します。

定義:
インタフェース Importer 内の importData
関連項目:
Importer.importData()

setThrown

protected final void setThrown(Throwable thrown)
thrownを設定します。

パラメータ:
thrown - thrown

getThrown

protected final Throwable getThrown()
入力処理中の例外を取得します。

戻り値:
thrown 入力処理中の例外。例外が発生しなかった場合はnull

isActive

public final boolean isActive()
インタフェース Importer の記述:
この入力器がアクティブか判定します。

定義:
インタフェース Importer 内の isActive
戻り値:
この入力器がアクティブならばtrue、そうでなければfalse
関連項目:
Importer.isActive()

processImport

protected abstract void processImport()
                               throws Throwable
ソースの記録を開始します。

このメソッドは別スレッドにて呼び出されるため、ブロックしてかまいません。

例外:
Throwable - 入力処理中に例外が発生した場合