(57)【要約】      （修正有）【課題】複数のシミュレータを接続する接続部において仮想信号の値を加工し、シミュレータ数を低減するとともに、シミュレータ間の仮想信号の通知頻度を低減し、実行速度を向上する。【解決手段】複数のシミュレータ１０３、１０２を接続する接続部１０１において、配線定義情報１２４を用いて、仮想信号を処理する信号値加工式を含む管理情報を仮想信号ごとに生成し複数のシミュレータの何れかと情報を送受信する複数のシミュレータインタフェース１０７、１０８の何れかから仮想信号が入力されると、仮想信号に対応する信号値加工式が有れば信号値加工式を用いて仮想信号の信号値を加工して所定のシミュレータへ通知し、仮想信号に対応する信号値加工式が無ければシミュレータインタフェースを介して受信した仮想信号を所定のシミュレータへ通知する。【選択図】図１
2015108964.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置であって、
それぞれが固有の仮想時間を有する複数のシミュレータを接続する接続部と、
前記複数のシミュレータの何れかから出力された仮想信号を処理して所定のシミュレータへ通知する制御に関わる情報を定義した配線定義情報を記憶する記憶手段と
を備え、
前記接続部は、
前記複数のシミュレータの何れかと情報を送受信する複数のシミュレータインタフェースと、
前記シミュレータインタフェースを介して受信した仮想信号を、前記配線定義情報に従って処理し、前記所定のシミュレータへ通知する配線手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記配線手段は、
前記配線定義情報を用いて、前記仮想信号を処理する信号値加工式を含む管理情報を仮想信号ごとに生成する管理手段と、
前記シミュレータインタフェースから仮想信号が入力されると、該仮想信号に対応する前記信号値加工式が有れば該信号値加工式を用いて該仮想信号の信号値を加工する加工手段と、を備え、
前記管理手段は、
前記仮想信号に対応する前記信号値加工式が有れば前記加工手段によって加工された仮想信号を前記所定のシミュレータへ通知し、該仮想信号に対応する前記信号値加工式が無ければ前記シミュレータインタフェースを介して受信した仮想信号を前記所定のシミュレータへ通知することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記管理情報に定義される信号値加工式は、加算、減算、乗算、及び除算の四則演算と、論理和、論理積、排他的論理和、及び否定の論理演算とにより前記仮想信号の信号値を加工する演算式であることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記記憶手段は、さらに、入力された前記仮想信号ごとに、前記配線手段によって前記所定のシミュレータへ通知する際の信号値を定義したテーブルを記憶し、
前記配線手段は、
前記配線定義情報を用いて、前記仮想信号に対応して前記テーブルの参照箇所を示す配列式を含む管理情報を仮想信号ごとに生成する管理手段と、
前記シミュレータインタフェースから仮想信号が入力されると、該仮想信号に対応する前記配列式が有れば該配列式を用いて前記記憶手段に記憶された前記テーブルから、対応する信号値を取得する配列参照手段と、を備え、
前記管理手段は、
前記仮想信号に対応する前記配列式が有れば前記配列参照手段によって取得された信号値の仮想信号を前記所定のシミュレータへ通知し、該仮想信号に対応する前記配列式が無ければ前記シミュレータインタフェースを介して受信した仮想信号を前記所定のシミュレータへ通知することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記記憶手段は、さらに、入力された前記仮想信号ごとに、当該仮想信号を加工する複数のＤＬＬを記憶し、
前記配線手段は、
前記配線定義情報を用いて、前記仮想信号を処理するＤＬＬ呼び出し式を含む管理情報を仮想信号ごとに生成する管理手段と、
前記シミュレータインタフェースから仮想信号が入力されると、該仮想信号に対応する前記ＤＬＬ呼び出し式が有れば該ＤＬＬ呼び出し式を用いて、前記記憶手段に記憶された前記ＤＬＬを呼び出して該仮想信号の信号値を加工させる実行手段と、を備え、
前記管理手段は、
前記仮想信号に対応する前記ＤＬＬ呼び出し式が有れば前記実行手段によって実行された前記ＤＬＬが加工した仮想信号を前記所定のシミュレータへ通知し、該仮想信号に対応する前記ＤＬＬ呼び出し式が無ければ前記シミュレータインタフェースを介して受信した仮想信号を前記所定のシミュレータへ通知することを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記配線定義情報には、各シミュレータごとに当該仮想信号に対する入出力を示す信号特定情報を含むことを特徴とする請求項２乃至５の何れか１項に記載の情報処理装置。
【請求項７】
前記管理手段は、
前記信号特定情報を用いて、前記管理情報に含まれる、各シミュレータごとに当該仮想信号を通知するか否かを示す入力信号情報を生成し、
前記配線手段は、
前記入力信号情報に従って前記所定のシミュレータを決定することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記複数のシミュレータは、画像形成装置のプリンタ主制御部におけるＣＰＵをシミュレーションするＣＰＵシミュレータと、前記画像形成装置における用紙搬送機構をシミュレーションする用紙搬送シミュレータとを含み、
前記ＣＰＵシミュレータと、前記用紙搬送シミュレータは独立したプロセスとして実行されることを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項９】
それぞれが固有の仮想時間を有する複数のシミュレータを接続する接続部と、前記複数のシミュレータの何れかから出力された仮想信号を処理して所定のシミュレータへ通知する制御に関わる情報を定義した配線定義情報を記憶する記憶手段とを備える情報処理装置の制御方法であって、
前記接続部において、
前記配線定義情報を用いて、前記仮想信号を処理する信号値加工式を含む管理情報を仮想信号ごとに生成するステップと、
前記複数のシミュレータの何れかと情報を送受信する複数のシミュレータインタフェースの何れかから仮想信号が入力されると、該仮想信号に対応する前記信号値加工式が有れば該信号値加工式を用いて該仮想信号の信号値を加工するステップと、
前記仮想信号に対応する前記信号値加工式が有れば加工された仮想信号を前記所定のシミュレータへ通知し、該仮想信号に対応する前記信号値加工式が無ければ前記シミュレータインタフェースを介して受信した仮想信号を前記所定のシミュレータへ通知するステップと
を実行することを特徴とする情報処理装置の制御方法。
【請求項１０】
それぞれが固有の仮想時間を有する複数のシミュレータを接続する接続部と、前記複数のシミュレータの何れかから出力された仮想信号を処理して所定のシミュレータへ通知する制御に関わる情報を定義した配線定義情報と、入力された前記仮想信号ごとに、前記所定のシミュレータへ通知する際の信号値を定義したテーブルとを記憶する記憶手段とを備える情報処理装置の制御方法であって、
前記接続部において、
前記配線定義情報を用いて、前記仮想信号に対応して前記テーブルの参照箇所を示す配列式を含む管理情報を仮想信号ごとに生成するステップと、
前記複数のシミュレータの何れかと情報を送受信する複数のシミュレータインタフェースの何れかから仮想信号が入力されると、該仮想信号に対応する前記配列式が有れば該配列式を用いて前記記憶手段に記憶された前記テーブルから、対応する信号値を取得するステップと、
前記仮想信号に対応する前記配列式が有れば取得された信号値の仮想信号を前記所定のシミュレータへ通知し、該仮想信号に対応する前記配列式が無ければ前記シミュレータインタフェースを介して受信した仮想信号を前記所定のシミュレータへ通知するステップと
を実行することを特徴とする情報処理装置の制御方法。
【請求項１１】
それぞれが固有の仮想時間を有する複数のシミュレータを接続する接続部と、前記複数のシミュレータの何れかから出力された仮想信号を処理して所定のシミュレータへ通知する制御に関わる情報を定義した配線定義情報と、入力された前記仮想信号ごとに、当該仮想信号を加工する複数のＤＬＬとを記憶する記憶手段とを備える情報処理装置の制御方法であって、
前記接続部において、
前記配線定義情報を用いて、前記仮想信号を処理するＤＬＬ呼び出し式を含む管理情報を仮想信号ごとに生成するステップと、
前記複数のシミュレータの何れかと情報を送受信する複数のシミュレータインタフェースの何れかから仮想信号が入力されると、該仮想信号に対応する前記ＤＬＬ呼び出し式が有れば該ＤＬＬ呼び出し式を用いて、前記記憶手段に記憶された前記ＤＬＬを呼び出して該仮想信号の信号値を加工させるステップと、
前記仮想信号に対応する前記ＤＬＬ呼び出し式が有れば実行された前記ＤＬＬが加工した仮想信号を前記所定のシミュレータへ通知し、該仮想信号に対応する前記ＤＬＬ呼び出し式が無ければ前記シミュレータインタフェースを介して受信した仮想信号を前記所定のシミュレータへ通知するステップと
を実行することを特徴とする情報処理装置の制御方法。
【請求項１２】
それぞれが固有の仮想時間を有する複数のシミュレータを接続する接続部と、前記複数のシミュレータの何れかから出力された仮想信号を処理して所定のシミュレータへ通知する制御に関わる情報を定義した配線定義情報を記憶する記憶手段とを備える情報処理装置の制御方法をコンピュータでシミュレーションするためのプログラムであって、
前記接続部において、
前記配線定義情報を用いて、前記仮想信号を処理する信号値加工式を含む管理情報を仮想信号ごとに生成するステップと、
前記複数のシミュレータの何れかと情報を送受信する複数のシミュレータインタフェースの何れかから仮想信号が入力されると、該仮想信号に対応する前記信号値加工式が有れば該信号値加工式を用いて該仮想信号の信号値を加工するステップと、
前記仮想信号に対応する前記信号値加工式が有ればて加工された仮想信号を前記所定のシミュレータへ通知し、該仮想信号に対応する前記信号値加工式が無ければ前記シミュレータインタフェースを介して受信した仮想信号を前記所定のシミュレータへ通知するステップと
を実行することを特徴とするプログラム。
【請求項１３】
それぞれが固有の仮想時間を有する複数のシミュレータを接続する接続部と、前記複数のシミュレータの何れかから出力された仮想信号を処理して所定のシミュレータへ通知する制御に関わる情報を定義した配線定義情報と、入力された前記仮想信号ごとに、前記所定のシミュレータへ通知する際の信号値を定義したテーブルとを記憶する記憶手段とを備える情報処理装置の制御方法をコンピュータでシミュレーションするためのプログラムであって、
前記接続部において、
前記配線定義情報を用いて、前記仮想信号に対応して前記テーブルの参照箇所を示す配列式を含む管理情報を仮想信号ごとに生成するステップと、
前記複数のシミュレータの何れかと情報を送受信する複数のシミュレータインタフェースの何れかから仮想信号が入力されると、該仮想信号に対応する前記配列式が有れば該配列式を用いて前記記憶手段に記憶された前記テーブルから、対応する信号値を取得するステップと、
前記仮想信号に対応する前記配列式が有れば取得された信号値の仮想信号を前記所定のシミュレータへ通知し、該仮想信号に対応する前記配列式が無ければ前記シミュレータインタフェースを介して受信した仮想信号を前記所定のシミュレータへ通知するステップと
を実行することを特徴とするプログラム。
【請求項１４】
それぞれが固有の仮想時間を有する複数のシミュレータを接続する接続部と、前記複数のシミュレータの何れかから出力された仮想信号を処理して所定のシミュレータへ通知する制御に関わる情報を定義した配線定義情報と、入力された前記仮想信号ごとに、当該仮想信号を加工する複数のＤＬＬとを記憶する記憶手段とを備える情報処理装置の制御方法をコンピュータでシミュレーションするためのプログラムであって、
前記接続部において、
前記配線定義情報を用いて、前記仮想信号を処理するＤＬＬ呼び出し式を含む管理情報を仮想信号ごとに生成するステップと、
前記複数のシミュレータの何れかと情報を送受信する複数のシミュレータインタフェースの何れかから仮想信号が入力されると、該仮想信号に対応する前記ＤＬＬ呼び出し式が有れば該ＤＬＬ呼び出し式を用いて、前記記憶手段に記憶された前記ＤＬＬを呼び出して該仮想信号の信号値を加工させるステップと、
前記仮想信号に対応する前記ＤＬＬ呼び出し式が有れば実行された前記ＤＬＬが加工した仮想信号を前記所定のシミュレータへ通知し、該仮想信号に対応する前記ＤＬＬ呼び出し式が無ければ前記シミュレータインタフェースを介して受信した仮想信号を前記所定のシミュレータへ通知するステップと
を実行することを特徴とするプログラム。
【請求項１５】
請求項１２乃至１４の何れか１項に記載のプログラムを記憶したコンピュータで読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステム上で実行される複数のシミュレータを一つのシステムとして同期実行させる情報処理装置、その制御方法、プログラム、及び記憶媒体に関するものである。
【背景技術】
【０００２】
複数のシミュレータを連携させて１つのシミュレーションシステムを構成する場合、システム構成に自由度を持たせることによって、システムの汎用性、利便性が高まる。例えば、機械装置のシミュレーションを行う場合、機械装置を制御する中央処理装置（ＣＰＵ）のシミュレータ、機械装置の機構モデルのシミュレータ、その他、シミュレーションを支援するシミュレータ等によってシステムが構成される。そして、これらのシステム構成は、対象となる機械装置やシミュレーションの目的によって異なる。また、システムを構成する各種シミュレータは、独自開発品、市販品等の様々なものが存在し、目的に応じてより適切なものをシステムに組み込めることが望ましい。
【０００３】
そこで、特許文献１では、複数のシミュレータを接続する接続部を、各シミュレータ間の連携動作を管理するコア部と、各シミュレータとのインタフェース部で構成する技術が提案されている。さらに、上記インタフェース部は、上記コア部とは共通のインタフェース仕様により接続し、各シミュレータとは固有のインタフェース仕様により接続する方式が示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−３３９０２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来技術には以下に記載する問題がある。例えば、上記従来技術においては、シミュレータ間で接続すべき仮想信号の値が示す意味が各シミュレータで異なる場合には、２つのシミュレータ間で仮想信号を直接接続することができない。そのため、シミュレータ間の信号伝達を仲介するシミュレータとして演算シミュレータ等をシミュレーションシステムに接続し、仮想信号の値が示す意味がシミュレータに合致するよう信号値の加工を行う必要があった。したがって、単純な演算を行う場合であっても演算シミュレータ等が必要となり、シミュレーションシステムに接続するシミュレータ数やシミュレータ間の仮想信号の通知頻度が増加し、シミュレーションシステムの実行速度が低下するという課題があった。
【０００６】
本発明は、上述の問題に鑑みて成されたものであり、複数のシミュレータを接続する接続部において仮想信号の値を加工し、シミュレータ数を低減するとともに、シミュレータ間の仮想信号の通知頻度を低減し、実行速度を向上する仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、情報処理装置であって、それぞれが固有の仮想時間を有する複数のシミュレータを接続する接続部と、前記複数のシミュレータの何れかから出力された仮想信号を処理して所定のシミュレータへ通知する制御に関わる情報を定義した配線定義情報を記憶する記憶手段とを備え、前記接続部は、前記複数のシミュレータの何れかと情報を送受信する複数のシミュレータインタフェースと、前記シミュレータインタフェースを介して受信した仮想信号を、前記配線定義情報に従って処理し、前記所定のシミュレータへ通知する配線手段とを備えることを特徴とする。
【発明の効果】
【０００８】
本発明は、複数のシミュレータを接続する接続部において仮想信号の値を加工し、シミュレータ数を低減するとともに、シミュレータ間の仮想信号の通知頻度を低減し、実行速度を向上することができる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態の装置シミュレーションシステムの機能ブロック図。
【図２】本発明の情報処理装置の実行環境であるコンピュータシステムの機能ブロック図。
【図３】本発明に関るシミュレーション対象の電子写真装置断面図。
【図４】本発明に関るシミュレーション対象の電子写真装置の画像形成機能ブロック図。
【図５】第１の実施形態における配線定義情報の内容一覧。
【図６】第１の実施形態における入力信号管理情報の内容一覧。
【図７】第１の実施形態におけるＣＰＵシミュレータ信号情報の内容一覧。
【図８】第１の実施形態における用紙搬送シミュレータ信号情報の内容一覧。
【図９】第１の実施形態における配線モジュールの処理のフローチャート。
【図１０】第２の実施形態の装置シミュレーションシステムの機能ブロック図。
【図１１】第２の実施形態における配線定義情報の内容一覧。
【図１２】第２の実施形態における入力信号管理情報の内容一覧。
【図１３】第２の実施形態における配列定義情報の内容一覧。
【図１４】第２の実施形態における配線モジュールの処理のフローチャート。
【図１５】第３の実施形態の装置シミュレーションシステムの機能ブロック図。
【図１６】第３の実施形態における配線定義情報の内容一覧。
【図１７】第３の実施形態における入力信号管理情報の内容一覧。
【図１８】第３の実施形態における配線モジュールの処理のフローチャート。
【発明を実施するための形態】
【００１０】
以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念及び下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【００１１】
＜第１の実施形態＞
＜情報処理装置の構成＞
以下では、図１乃至図９を参照して、本発明の第１の実施形態について説明する。本発明を実施した装置シミュレーションシステムは、パーソナルコンピュータ、ワークステーション等（以下、まとめて情報処理装置と称する。）で実行されるものであり、そのハードウェア構成の概略図を図２に示す。
【００１２】
図２の情報処理装置２００は以下のように構成される。２０１は、以下に説明する２０２〜２０９の装置を、バス２１０を介してアクセスし制御する中央処理装置（以下、ＣＰＵと記す。）である。２０２は、バス２１０を介してＣＰＵ２０１からアクセス可能な読み出し専用メモリ（以下、ＲＯＭと記す。）である。２０３は、読み書き可能なメモリ（以下、ＲＡＭと記す）である。２０４は、入力インタフェースであり、２０５で示すキーボード、マウス、タブレットなどの入力装置を介してユーザーからの入力を受け取る。２０６は、出力インタフェースであり、２０７で示すＣＲＴ、ＬＣＤなど２０７ａの表示装置、更にはプリンタ、プロッタなど２０７ｂの出力装置に対しデータの表示や出力を行う。２０８は、外部記憶インタフェースであり、ハードディスクやＦＤ・ＣＤ−ＲＯＭ・ＭＯ・ＣＦなどの外部記憶装置２０９に対するデータの入出力を行うものである。
【００１３】
外部記憶装置２０９には、情報処理装置２００の各機能を実現した処理プログラム２０９ａ及びシミュレーションの対象となる機器の情報を含むシミュレーションのための各種設定データ２０９ｂ、及び、シミュレーション対象装置に組み込まれる制御ソフトウェア（以下、ファームウェアと記す。）２０９ｃが格納される。シミュレーションに際しては、処理プログラム２０９ａ、各種設定データ２０９ｂ、及びファームウェア２０９ｃをＲＡＭ２０３にロードし、情報処理装置２００のＣＰＵ２０１によってプログラムが実行され、後述する処理を実現する。
【００１４】
＜画像形成装置の構成＞
次に、図３を参照して、本実施形態におけるシミュレーション対象である電子写真方式の画像形成装置の構成について説明する。図３は、画像形成装置の概略断面を示す。画像形成装置３００は、イエロー、マゼンタ、シアン、ブラックの各色のトナー像が形成される４個の像担持体３０３ａ、３０３ｂ、３０３ｃ、３０３ｄを備えている。像担持体３０３ａ、３０３ｂ、３０３ｃ、３０３ｄは、ドラム状の電子写真感光体、いわゆる、感光ドラムであり、直列に配置される。これらの各感光ドラム３０３ａ、３０３ｂ、３０３ｃ、３０３ｄの周囲には、各感光ドラムに対応して１次帯電器３０４ａ、３０４ｂ、３０４ｃ、３０４ｄ、現像器３０６ａ、３０６ｂ、３０６ｃ、３０６ｄ及びクリーニング装置３０７ａ、３０７ｂ、３０７ｃ、３０７ｄが配置される。また、感光ドラム３０３ａ、３０３ｂ、３０３ｃ、３０３ｄの上方には、露光装置３０５ａ、３０５ｂ、３０５ｃ、３０５ｄが配置される。
【００１５】
感光ドラム３０３ａ、３０３ｂ、３０３ｃ、３０３ｄの下方には、中間転写ベルト（以下、ＩＴＢと記述する。）３０１が配置される。ＩＴＢ３０１は、ＩＴＢを駆動するローラ３０９、３１０、３１１の周りに張設され、感光ドラム３０３と略同速で矢印方向に回転される。ＩＴＢは、感光ドラム３０３ａ、３０３ｂ、３０３ｃ、３０３ｄと各１次転写ローラ３０２ａ、３０２ｂ、３０２ｃ、３０２ｄによって挟持される。一方、画像形成装置３００は、用紙格納カセット３１２、ピックアップローラ３１３、レジセンサ３１５、レジ搬送ローラ３１４からなる給紙搬送機構を有している。更に、レジ搬送ローラ３１４の下流にＩＴＢと当接する２次転写ローラ３１６、定着装置３１７からなる印字搬送機構、排紙ローラ３１８、排紙トレイ３１９からなる排紙搬送機構を有している。
【００１６】
＜画像形成装置の機能ブロック＞
次に、図４を参照して、画像形成装置３００の画像形成に関わる機能ブロックについて説明する。画像形成装置３００は、各種アクチュエータ、画像形成機能を制御するプリンタ主制御部４０１、画像データを形成するビデオコントローラ４０２を有している。
【００１７】
プリンタ主制御部４０１は、ＣＰＵ、ＲＯＭ、ＲＡＭ、ゲート素子等から構成され、制御の主要部はＲＯＭに書き込まれたソフトウェアで実現されている。また、画像形成装置３００は、メインモータ４０４、ピックアップソレノイド４０６、レジクラッチ４０７、及び定着排紙モータ４０３といったアクチュエータを有している。また、画像形成装置３００は、画像形成機能として定着装置３１７、及び電子写真プロセスユニット４０５を有する。
【００１８】
メインモータ４０４は、ピックアップローラ３１３、レジ搬送ローラ３１４、２次転写ローラ３１６、及び、電子写真プロセスユニット４０５のメカ機構４１５の駆動源である。定着排紙モータ４０３は、定着装置３１７の定着ローラ４１０、排紙ローラ３１８の駆動源となっている。プリンタ主制御部４０１は、メインモータ４０４、及び定着排紙モータ４０３の駆動を制御し、更に、ピックアップソレノイド４０６、及びレジクラッチ４０７の動作を制御することにより、各種ローラを介して用紙搬送動作を制御する。
【００１９】
定着装置３１７は、定着ローラ４１０を加熱するメインヒータ４０８、サブヒータ４０９、トナーが転写された用紙を加熱、加圧する定着ローラ４１０、定着ローラ４１０の表面温度を検出する中央温度センサ４１１、及び端部温度センサ４１２を備える。電子写真プロセスユニット４０５は、感光ドラム３０３ａ、３０３ｂ、３０３ｃ、３０３ｄ、１次帯電器３０４ａ、３０４ｂ、３０４ｃ、３０４ｄ、現像器３０６ａ、３０６ｂ、３０６ｃ、３０６ｄ、露光装置３０５ａ、３０５ｂ、３０５ｃ、３０５ｄ、ＩＴＢ３０１、１次転写ローラ３０２ａ、３０２ｂ、３０２ｃ、３０２ｄ、２次転写ローラ３１６に光学的な作用を発生させる光学ユニット４１３、電気的な作用を発生させる高圧ユニット４１４、及び機械的な駆動を与えるメカ機構４１５を備える。
【００２０】
ここで、上述のような構成の画像形成装置３００における画像形成の概略手順について説明する。画像形成を行う場合、プリンタ主制御部４０１は、ビデオコントローラ４０２に対して画像の副走査方向同期信号を出力する。ここで、副走査方向とは用紙の搬送方向を示す。また、以下では、副走査方向同期信号をＴＯＰ信号と記す。ビデオコントローラ４０２は、ＴＯＰ信号から所定のタイミングで各色の画像信号を出力する。そして、プリンタ主制御部４０１は、ＴＯＰ信号に同期して公知の電子写真プロセスに従い電子写真プロセスユニット４０５を制御して露光、現像、１次転写といったプロセスを段階的に実施し、ＩＴＢ３０１上にトナー像を形成する。その一方で、プリンタ主制御部４０１は、各アクチュエータを制御して用紙３１１の搬送を制御する。
【００２１】
具体的には、プリンタ主制御部４０１は、用紙格納カセット３１２から用紙を機内へ給紙し、レジセンサ３１５に用紙先端が達したタイミングで用紙３１１を一時停止させる。そして、ＴＯＰ信号から所定のタイミングで用紙３１１の２次転写部への送り込みを開始することによって、用紙上の正規の位置に合わせて画像を転写させる。更に、プリンタ主制御部４０１は、中央、端部の各温度センサ４１１、４１２の値をモニタしつつ２つのヒータ４０８、４０９を制御して定着ローラ４１０を適切な温度に制御し、２次転写された用紙を定着装置３１７に送り込み、トナー画像を用紙上に定着させる。
【００２２】
＜装置シミュレーションシステムの構成＞
次に、図１を参照して、本実施形態に係る装置シミュレーションシステムの構成について説明する。本実施形態では、以下で説明する装置シミュレーションシステムの構成は、情報処理装置２００上で実現される。本実施形態の装置シミュレーションシステムでは、プリンタ主制御部４０１のＣＰＵ（以下、情報処理装置２００のＣＰＵ２０１と区別するためターゲットＣＰＵと記す。）で実行されるファームウェアを検証、評価するためのシミュレーションを実行する。装置シミュレーションシステムでのファームウェアの命令実行と、当該命令実行に応じた用紙搬送、画像形成のための各種機構の動作を情報処理装置２００上で模擬し、ファームウェアに対して実機同様のフィードバックを返すものである。
【００２３】
本実施形態の装置シミュレーションシステムは、画像形成装置３００の各部を模擬する複数のシミュレータを連携させる構成となっている。具体的には、装置シミュレーションシステムは、シミュレータ接続部１０１、ＣＰＵシミュレータ１０２、及び用紙搬送シミュレータ１０３から構成される。シミュレータ接続部１０１は、コア部１０６、ＣＰＵシミュレータインタフェース（以下、略してＩ／Ｆと記す。）１０７、用紙搬送シミュレータＩ／Ｆ１０８から構成される。シミュレータ接続部１０１は、機能毎に設けられた複数のシミュレータを接続して１つのシミュレーションシステムとして動作させる。
【００２４】
同期モジュール１１１は、各シミュレータＩ／Ｆから渡されるインターバル通知に従って、全周辺シミュレーションツールの動作をシミュレーション上の仮想時間の１単位時間間隔で同期させる。配線モジュール１１２は、入力信号管理部１１７、入力信号管理情報１１８及び信号値加工部１２１を有し、各シミュレータＩ／Ｆと連携して、予め設定された配線定義情報を基に、複数のシミュレータ間での仮想信号の値の送受信処理や加工処理を行う。ＣＰＵシミュレータＩ／Ｆ１０７はＣＰＵシミュレータ信号情報１１３を有し、用紙搬送シミュレータＩ／Ｆ１０８は用紙搬送シミュレータ信号情報１１４を有する。各Ｉ／Ｆは、同期モジュール１１１、配線モジュール１１２と各々の対象となるシミュレータとの接続を仲介する。また、シミュレータ接続部１０１は、マルチスレッド構成となっており、コア部１０６、ＣＰＵシミュレータＩ／Ｆ１０７、及び用紙搬送シミュレータＩ／Ｆ１０８は各々別スレッドとして並列に処理が行われる。
【００２５】
ＣＰＵシミュレータ１０２は、ターゲットＣＰＵの動作を情報処理装置２００上で実現するシミュレータで、外部記憶装置２０９に格納された対象装置のファームウェア２０９ｃをＲＡＭ２０３にロードして実現される。そして、ファームウェアのプログラムに従ってＲＡＭ２０３上に擬似的に定義されたターゲットＣＰＵのレジスタ、メモリ、入出力信号の読み出し、書込みと各種演算を実行する。また、外部Ｉ／Ｆ１１９を介して外部に対してシミュレーション実行に伴い発生するイベントを通知するとともに、外部から各種指示を受け付けることができる。
【００２６】
用紙搬送シミュレータ１０３は、モータ、アクチュエータ、センサを含む画像形成装置３００の用紙搬送機構を構成する各種機構部品、該機構部品により搬送される用紙の動作を情報処理装置２００上で模擬するシミュレータである。用紙搬送シミュレータ１０３は、外部Ｉ／Ｆ１２０を介して外部システムから指定される各種動作指示に応じてシミュレーションを実行し、機構部品、用紙の動作を情報処理装置２００の表示装置２０７ａ上に２次元、又は３次元のグラフィックとして表示する。そして、シミュレーション結果としてのセンサ情報を外部Ｉ／Ｆ１２０を介して外部に出力することで模擬している。ＣＰＵシミュレータ１０２、及び用紙搬送シミュレータ１０３は、それぞれ独立したプロセスとして構成される。
【００２７】
＜配線定義情報＞
次に、図５を参照して、配線定義情報１２４の定義書式、定義内容について説明する。外部記憶装置２０９の各種設定データ２０９ｂには、シミュレータ構成定義情報１２３と配線定義情報１２４とが含まれる。図５に示すように、配線定義情報１２４は、各種定義を表としてまとめたものである。定義されている内容は、信号ＩＤ５０１、データサイズ５０２、信号種別５０３、初期値５０４、信号値加工式５０５、そして、信号特定情報５０６として、シミュレータ毎に各々のシミュレータ内で信号を特定する情報とＩ／Ｏ、論理が定義される。
【００２８】
信号ＩＤ５０１は、各々の信号線に対して固有の数値を定義する。データサイズ５０２は、各信号線で伝達可能なデータサイズをビット数で定義する。信号種別５０３は、各信号線の信号種別を“Ｂ”：ビット情報、“Ｄ”：デジタル多値情報、“Ａ”：アナログ（浮動小数点）情報として定義する。初期値５０４は、各信号線のシミュレーション開始時の初期値を定義する。
【００２９】
信号値加工式５０５には、各信号線の入力信号値に対する演算式を文字列で定義する。信号値加工式５０５は、２つのシミュレータ間で仮想信号を直接接続することができない場合に、入力信号を受信側のシミュレータで処理可能な信号に変換するための加工処理を定義する演算式である。定義において使用可能な文字列は、信号ＩＤを示す“ＩＤ［数値］”、小数点“．”を含む”０”〜”９”の数値、代入を示す“＝”、演算子として“＋”：加算、“−”：減算、“＊”：乗算、“／”：除算、“｜”：論理和、“＆”：論理積、“＾”：排他的論理和、“￣”：否定、さらに、“（”、“）”である。演算子の優先度と結合規則はＣ言語に準じている。また、信号値加工式中の“＝”の左側を左辺、右側を右辺とする。入力信号値に対する加工を行わない場合には“−”を定義する。図５においては、信号ＩＤ５０１が”１”と”２”のものに演算式が定義されている。
【００３０】
信号特定情報５０６の定義はシミュレータ毎に異なり、例えば、ＣＰＵシミュレータ１０２に対してはアドレス、ｂｉｔ及びＩ／Ｏ（入出力）を定義し、用紙搬送シミュレータ１０３に対しては種別、個別ＩＤ（種別毎のＩＤ）、及びＩ／Ｏを定義する。ここで、種別とは、用紙搬送機構におけるシミュレーション対象の負荷を示し、例えば、モータ、センサ、ソレノイドや、クラッチなどが含まれる。ＣＰＵシミュレータ１０２におけるアドレスは、仮想アドレス、即ち、ターゲットＣＰＵにおけるアドレスマップ上のアドレスを定義する。図５の数値表現の頭にある“０ｘ”は１６進数表記であることを示すもので、Ｃ言語の書式に準じている。数字だけの文字列の場合には１０進数表記と判断される。本実施形態の定義書式での設定は１０進数、１６進数のみ可能である。ｂｉｔは信号種別がビットのものについてのみ有効な定義でアドレス内のビット位置を定義する。用紙搬送シミュレータ１０３における種別、及び、個別ＩＤは、用紙搬送シミュレータの定義情報として別途設定されている用紙搬送シミュレータ１０３内のシミュレーション対象の負荷を示すモデル状態情報を定義するものである。具体的には、モデルの種別を示す文字列と、同一の種別のモデル毎に設定した固有の数値を定義する。また、Ｉ／Ｏは、当該信号の当該シミュレータにおける入出力を入力：Ｉ、出力：Ｏの文字で定義する。
【００３１】
なお、配線定義情報１２４は、実際のデータとしては各定義の文字列情報を区切り文字（スペース、タブ、改行等）で区切ったテキスト形式のファイルとして外部記憶装置２０９内に保存されている。シミュレータ毎の信号定義については、接続されるシミュレータによって固有の定義となる情報が含まれている。これらの情報の定義書式は、各シミュレータＩ／Ｆと共にシミュレータ毎に設定される。配線モジュール１１２は、配線定義情報１２４を読み込むと共通情報のみから入力信号管理情報を生成する。各シミュレータＩ／Ｆは、配線定義情報１２４からシミュレータ毎の信号情報を生成する。このような処理によって、新しい種類のシミュレータをシステムに容易に組み込めるようにしている。
【００３２】
＜入力信号管理情報＞
次に、図６を参照して、配線モジュール１１２の入力信号管理情報１１８の内容について説明する。入力信号管理情報１１８は、シミュレータ起動後の初期化処理時に入力信号管理部１１７によって配線定義情報１２４に基づき生成される。図６に示すように入力信号管理情報１１８には、信号ＩＤ６０１、データサイズ６０２、信号値加工式６０３、信号値６０４と各シミュレータの入力信号情報６０５、６０６が定義される。信号ＩＤ６０１、データサイズ６０２、及び信号値加工式６０３は、配線定義情報１２４における定義と同じである。ただし、配線定義情報１２４において、信号値加工式が無い場合には“０”として定義する。信号値６０４は、シミュレーションの進行に伴い変化する各信号の値のうち、信号値加工式６０３で参照される各信号の値のみを保存する。図６では、シミュレーション開始直前の初期値が設定されている状況を示している。
【００３３】
入力信号管理部１１７においてシミュレータの識別は情報の順で管理しており、この順番を示す数値がシミュレータの識別情報（シミュレータＩＤ）となる。シミュレータＩＤは配線定義情報１２４の定義順によって決まる。本例においてはＣＰＵシミュレータが“０”、用紙搬送シミュレータが“１”となる。後述する各シミュレータＩ／Ｆも配線定義情報１２４より自身のシミュレータＩＤを認識し、入力信号管理部１１７と各シミュレータＩ／Ｆとのやり取りは該シミュレータＩＤに基づいて行われる。図６に示すように、各信号におけるシミュレータ毎の入力信号情報は入力信号として定義されている場合を“１”、信号定義がない、又は、入力定義でない場合を“０”として定義する。入力信号管理部１１７は、入力信号情報６０５、６０６を参照し、当該仮想信号を通知する通知先を決定することができる。即ち、入力信号情報６０５、６０６は、各シミュレータに対して当該仮想信号を通知するか否かを示す情報である。
【００３４】
＜ＣＰＵシミュレータの信号情報＞
次に、図７を参照して、ＣＰＵシミュレータ１０２の信号情報１１３の内容について説明する。ＣＰＵシミュレータ１０２の信号情報１１３は、シミュレータ起動後の初期化処理時にＣＰＵシミュレータＩ／Ｆ１０７によって生成される。図７に示すように、ＣＰＵシミュレータ１０２の信号情報１１３は、信号ＩＤ７０１毎に定義されたＩ／Ｏ７０２、アドレス７０３、ｂｉｔ７０４、データサイズ７０５、初期値７０６、及び信号値７０７により構成される。
【００３５】
Ｉ／Ｏ７０２、アドレス７０３、ｂｉｔ７０４、データサイズ７０５、及び初期値７０６は、配線定義情報１２４における定義と同じである。ただし、何れの情報も数値情報として設定される。図７に示すように、０ｘ０００００１のように１６進数表記されているものも内部的には数値に変換されて設定される。また、Ｉ／Ｏ７０２は入力を“１”、出力を“０”とする数値に変換されて設定される。ＣＰＵシミュレータ１０２に未定義の信号線についてはＩ／Ｏの値として“−１”が設定される。また、図７で“＊”となっている部分は不定値を表す。この部分については処理の中で参照されることはない。信号値７０７は、シミュレーションの進行に伴い変化する各信号の値を保存する。図７では、シミュレーション開始直前の初期値が設定されている状況を示している。
【００３６】
＜用紙搬送シミュレータの信号情報＞
次に、図８を参照して、用紙搬送シミュレータ１０３の信号情報１１４の内容について説明する。用紙搬送シミュレータ１０３の信号情報１１４は、シミュレータ起動後の初期化処理時に用紙搬送シミュレータＩ／Ｆ１０８によって生成される。信号情報１１４は、信号ＩＤ８０１、Ｉ／Ｏ８０２、モデル識別値８０３、データサイズ８０５、信号種別８０６、初期値８０７、及び信号値８０８を含む。
【００３７】
シミュレータ内部の信号を特定する情報がモデル識別値８０３、個別ＩＤ８０４、及び信号種別８０６の情報を有している点以外はＣＰＵシミュレータ１０２と同様である。モデル識別値８０３、及び個別ＩＤ８０４は、配線定義情報１２４における定義と基本的には同じであるものの、モデル識別値８０３は、センサが１、モータが２、ソレノイドが３、クラッチが４のようにモデル毎に数値データ化される。また、信号種別８０６は、ビット情報とデジタル多値情報を“０”、アナログ情報を“１”として設定される。
【００３８】
＜配線モジュールの処理＞
次に、図９を参照して、本実施形態における配線モジュール１１２の処理について説明する。以下で説明する処理は、情報処理装置２００のＣＰＵ２０１がメモリに格納された制御プログラムをＲＡＭ２０３に読み出して実行することにより実現される。
【００３９】
まず、Ｓ９０１において、配線モジュール１１２の入力信号管理部１１７は、シミュレーションシステム起動後の初期化処理として入力信号管理情報１１８を生成する。続いて、Ｓ９０２において、入力信号管理部１１７は、シミュレータＩ／Ｆからの信号出力通知があるまで待機する。シミュレータＩ／Ｆからの信号出力通知を受けると、Ｓ９０３に進み、入力信号管理部１１７は、出力信号から当該信号の信号ＩＤと信号値を取得する。
【００４０】
次に、Ｓ９０４において、入力信号管理部１１７は、Ｓ９０３で取得した信号ＩＤに対応する信号値加工式を入力信号管理情報１１８から取得し、Ｓ９０５において信号値加工式が定義されているか否かを判定する。信号値加工式が定義されていればＳ９０６に進み、定義されていなければＳ９１０に進む。Ｓ９０６において、入力信号管理部１１７は、入力信号管理情報１１８の信号ＩＤに対応する信号値を更新する。Ｓ９０７において、入力信号管理部１１７は、Ｓ９０４で取得した信号値加工式を信号値加工部１２１へ通知する。Ｓ９０８において、信号値加工部１２１は、受け取った信号値加工式の演算を実行する。演算において、信号値加工式の右辺に信号ＩＤの記述がある場合には、信号ＩＤに対応する信号値を入力信号管理情報１１８から取得して演算を行う。演算完了後、Ｓ９０９において、信号値加工部１２１は、信号値加工式の左辺から信号ＩＤを取得し、Ｓ９０８の演算結果と合わせて、シミュレータへの通知信号とし、信号値加工部１２１の処理を終了する。
【００４１】
一方、Ｓ９０５で信号値加工式が定義されていなければ、Ｓ９１０において、入力信号管理部１１７は、Ｓ９０３で取得した信号ＩＤと信号値をシミュレータへの通知信号とする。
【００４２】
そして、Ｓ９１１において、入力信号管理部１１７は、入力信号管理情報１１８の各シミュレータにおける入力情報６０５、６０６を参照して通知先のシミュレータを決定する。その後、入力信号管理部１１７は、Ｓ９１２で決定したシミュレータに対して通知信号を通知し、処理をＳ９０２に戻す。
【００４３】
＜動作例＞
ここで、本実施形態の情報処理装置２００におけるメインモータ駆動動作の一例について説明する。メインモータの駆動には、図５の配線定義情報１２４の信号ＩＤ１〜３を使用する。信号ＩＤ１は、データサイズ１ＢｉｔのＣＰＵシミュレータ１０２の出力信号であり、信号値が“０”の場合にはモータの停止、“１”の場合にはモータ駆動を意味する。信号ＩＤ２は、データサイズ８ＢｉｔのＣＰＵシミュレータ１０２の出力信号であり、信号値は“０”〜“２５５”までの数値でモータ設定速度を意味する。信号ＩＤ３は、データサイズ３２Ｂｉｔの用紙搬送シミュレータ１０３への入力信号であり、信号値は浮動小数点でモータ回転速度［単位：ｒｐｍ］を意味する。
【００４４】
配線モジュール１１２は、これらの信号と信号値加工式“ＩＤ３＝ＩＤ１＊ＩＤ２＊１．２３”を用いて、ＣＰＵシミュレータ１０２から出力されたモータ駆動、速度設定の信号値からモータ回転速度を算出し、用紙搬送シミュレータ１０３へ入力する。
【００４５】
以上説明したように、本実施形態に係る情報処理装置２００は、それぞれが固有の仮想時間を有する複数のシミュレータと、複数のシミュレータを接続するシミュレータ接続部とを備える。さらに、情報処理装置２００は、複数のシミュレータの何れかから出力された仮想信号を処理して所定のシミュレータへ通知する制御に関わる情報を定義した配線定義情報を記憶する。上記シミュレーション接続部は、配線定義情報を用いて、仮想信号を処理する信号値加工式を含む管理情報を仮想信号ごとに生成し、仮想信号が入力されると、仮想信号に対応する信号値加工式が有れば当該仮想信号の信号値を加工して、通知する。一方、シミュレーション接続部は、仮想信号に対応する信号値加工式が無ければ、受信した仮想信号をそのまま所定のシミュレータへ通知する。このように、本実施形態の情報処理装置２００によれば、別プロセスで動作する複数のシミュレータを組み合わせたシステムにおいて、四則演算や論理演算等の単純な信号値加工のためのシミュレータの接続が不要となる。したがって、シミュレータ間の信号伝達量を低減でき、シミュレーションシステムの実行速度を向上することができる。
【００４６】
＜第２の実施形態＞
以下では、図１０乃至図１４を参照して、本発明の第２の実施形態について説明する。上記第１の実施形態では、シミュレータ接続部１０１において、配線定義情報１２４の信号値加工式に四則演算や論理演算を定義し、演算により信号値の加工を行う構成であった。本実施形態では、配列定義情報を設け、配線定義情報１０２４には、配列情報への参照を定義する構成とし、配列定義情報に従い信号値を加工する方法について説明する。
【００４７】
＜装置シミュレーションシステムの構成＞
まず、図１０を参照して、本実施例における装置シミュレーションシステムの構成について説明する。なお、上記第１の実施形態で説明した内容と同様の構成については、同一の番号を付して説明を省略する。
【００４８】
配線モジュール１０１２は、入力信号管理部１０１７、入力信号管理情報１０１８、及び配列参照部１００１を有し、各シミュレータＩ／Ｆと連携して、予め設定された配線定義情報１０２４を基に、複数のシミュレータ間での仮想信号の値の伝達処理や配列参照部１００１による信号値の加工処理を行う。各種設定データ２０９ｂは、シミュレータ構成定義情報１２３に加えて、配線定義情報１０２４と配列定義情報１００２を有する。
【００４９】
＜配線定義情報＞
次に、図１１を参照して、本実施形態の情報処理装置２００における配線定義情報１０２４の定義書式、定義内容について説明する。定義されている内容は、信号ＩＤ１１０１、データサイズ１１０２、信号種別１１０３、初期値１１０４、配列式１１０５及び信号特定情報１１０６が定義される。
【００５０】
配列式１１０５には、各信号線の入力信号値に対する、参照する配列を文字列で定義する。即ち、配列式１１０５は、仮想信号に対応して配列定義情報１００２の参照箇所を示す情報が定義されている。定義において使用可能な文字列は、信号ＩＤを示す“ＩＤ［数値］”、参照する配列を示す“ＴＢＬ［数値］”、“（”、“）”、“＝”である。図１１に示す例では、後述する配列定義情報１００２を参照して、信号ＩＤ１の信号値をＴＢＬ１で変換し、その変換結果を信号ＩＤ２へ出力するよう定義している。その他の定義書式は第１の実施形態の配線定義情報１２４と同様である。
【００５１】
＜入力信号管理情報＞
次に、図１２を参照して、配線定義情報１０２４から生成した入力信号管理情報１０１８について説明する。入力信号管理情報１０１８には、信号ＩＤ１２０１、データサイズ１２０２、配列式１２０３、信号値１２０４、及び各シミュレータの入力信号情報１２０５、１２０６が定義される。配列式１２０３は、配線定義情報１０２４における定義と同じであり、その他の定義書式は第１の実施形態の入力信号管理情報１１８と同様である。
【００５２】
＜配列定義情報＞
次に、図１３を参照して、本実施形態の配列定義情報（テーブル）１００２の定義書式、定義内容について説明する。配列定義情報１００２には、配列名１３０１、添字１３０２、及び結果１３０３が定義される。配列名１３０１には“ＴＢＬ［数値］”の書式の文字列が定義される。添字１３０２の列には、シミュレータＩ／Ｆから通知された信号値を探索するための値が定義される。結果１３０３の列には、添字１３０２の列の値に対応する変換結果を、それぞれ数値で定義する。配線モジュール１０１２は、添え字を用いて結果１３０３の列から対応する結果の値を取得することにより、上記第１の実施形態における信号値加工式の演算結果と同等の値を得ることができる。
【００５３】
＜配線モジュールの処理＞
次に、図１４を参照して、本実施形態における配線モジュール１０１２の処理について説明する。以下で説明する処理は、情報処理装置２００のＣＰＵ２０１がメモリに格納された制御プログラムをＲＡＭ２０３に読み出して実行することにより実現される。なお、第１の実施形態で説明した内容については、同一の番号を付して説明を省略する。
【００５４】
Ｓ１４０４において、入力信号管理部１０１７は、シミュレータＩ／Ｆから通知された信号ＩＤに対応する配列式を入力信号管理情報１０１８から取得し、Ｓ１４０５で配列が定義されているか否かを判定する。配列式が定義されていればＳ１４０６に進み、定義されていなければＳ９１０に進む。
【００５５】
Ｓ１４０６において、入力信号管理部１０１７は、入力信号管理情報１０１８の信号ＩＤに対応する信号値を更新する。続いて、Ｓ１４０７において、入力信号管理部１０１７は、Ｓ１４０４で取得した配列式を配列参照部１００１へ通知する。
【００５６】
Ｓ１４０８において、配列参照部１００１は、受け取った配列式から参照する配列を特定するとともに、“（”と“）”とで囲まれた信号ＩＤに対応する信号値を入力信号管理情報１０１８から取得する。さらに、配列定義情報１００２の添字１３０２の列に定義されている値と一致する行を探索する。そして、探索した行と同一行の結果１３０３の列に定義されている値を変換結果とする。変換終了後、Ｓ１４０９において、配列参照部１００１は、配列式の左辺から信号ＩＤを取得し、変換結果と合わせてシミュレータへの通知信号とする。その後、図９と同様の処理が行われる。
【００５７】
以上説明したように、本実施形態に係る情報処理装置２００は、それぞれが固有の仮想時間を有する複数のシミュレータと、複数のシミュレータを接続するシミュレーション接続部とを備える。さらに、情報処理装置２００は、複数のシミュレータの何れかから出力された仮想信号を処理して所定のシミュレータへ通知する制御に関わる情報を定義した配線定義情報と、入力された仮想信号ごとに、所定のシミュレータへ通知する際の信号値を定義したテーブルとを記憶する。上記シミュレーション接続部は、配線定義情報を用いて、仮想信号に対応してテーブルの参照箇所を示す配列式を含む管理情報を仮想信号ごとに生成し、仮想信号が入力されると、仮想信号に対応する前記配列式が有ればテーブルから、対応する信号値を取得して、通知する。一方、シミュレーション制御部は、仮想信号に対応する配列式が無ければ、受信した仮想信号をそのまま所定のシミュレータへ通知する。このように、本実施形態の情報処理装置２００によれば、上記第１の実施形態で説明した演算等では対応できないような信号値加工であっても、演算用シミュレータの接続が不要となるため、シミュレータ間の信号伝達量を低減でき、シミュレーションシステムの実行速度を向上することができる。
【００５８】
＜第３の実施形態＞
以下では、図１５乃至図１８を参照して、本発明の第３の実施形態について説明する。上記第１及び第２の実施形態では、配線モジュール内に信号値加工部や配列参照部を設け、信号値の加工を行う構成であった。一方、本実施形態では、信号値の加工方法として、ダイナミックリンクライブラリ（以下ＤＬＬと呼ぶ。）を使用する方法について説明する。
【００５９】
＜装置シミュレーションシステムの構成＞
まず、図１５を参照して、本実施形態に係る装置シミュレーションシステムの構成について説明する。なお、上記第１の実施形態で説明した内容と同一の構成については、同一の番号を付して説明を省略する。
【００６０】
配線モジュール１５１２は、入力信号管理部１５１７、入力信号管理情報１５１８、及びＤＬＬ実行部１５０１を有する。さらに、配線モジュール１５１２は、各シミュレータＩ／Ｆと連携して、予め設定された配線定義情報を基に、複数のシミュレータ間での仮想信号の値の伝達処理やＤＬＬの実行による信号値の加工処理を行う。
【００６１】
信号値加工ＤＬＬ１５０２は、信号値の加工処理を行うＤＬＬ形式のプログラムであり、シミュレータシステムの使用者が予め作成し、各種設定データ２０９ｂに登録しておく。なお、作成するプログラムの関数名、引数の数とデータサイズ、戻り値のデータサイズは、後述するＤＬＬ呼び出し式の記述と同じでなければならない。ＤＬＬ実行部１５０１は、後述する入力信号管理情報１５１８のＤＬＬ呼び出し式の記述に従い、各種設定データ２０９ｂから該当する信号値加工ＤＬＬ１５０２を呼び出し、実行する。
【００６２】
＜配線定義情報＞
次に、図１６を参照して、本実施形態の情報処理装置２００における配線定義情報１５２４の定義書式、定義内容について説明する。定義されている内容は、信号ＩＤ１６０１、データサイズ１６０２、信号種別１６０３、初期値１６０４、ＤＬＬ呼び出し式１６０５及び信号特定情報１６０６が定義される。
【００６３】
ＤＬＬ呼び出し式１６０５には、各信号線の入力信号値に対するＤＬＬ呼び出しが文字列で定義される。定義において使用可能な文字列は、信号ＩＤを示す“ＩＤ［数値］”、呼び出すＤＬＬの関数名を示す“ＤＬＬ［数値］”、“（”、“）”、“＝”、“，”である。図１６に示す例では、信号ＩＤ１、２の信号値を引数としてＤＬＬ１を呼び出し、その戻り値を信号ＩＤ３へ出力するよう定義している。その他の定義書式は上記第１の実施形態の配線定義情報１２４と同様である。
【００６４】
＜入力信号管理情報＞
次に、図１７を参照して、配線定義情報１５２４から生成した入力信号管理情報１５１８について説明する。入力信号管理情報１５１８には、信号ＩＤ１７０１、データサイズ１７０２、ＤＬＬ呼び出し式１７０３、信号値１７０４、及び各シミュレータの入力信号情報１７０５、１７０６が定義される。ＤＬＬ呼び出し式１７０３は、配線定義情報１５２４における定義と同じであり、その他の定義書式は第１の実施形態の入力信号管理情報１１８と同様である。
【００６５】
＜配線モジュールの処理＞
次に、図１８を参照して、本実施形態における配線モジュール１５１２の処理について説明する。以下で説明する処理は、情報処理装置２００のＣＰＵ２０１がメモリに格納された制御プログラムをＲＡＭ２０３に読み出して実行することにより実現される。なお、上記第１の実施形態で説明した内容については、同一の番号を付して説明を省略する。
【００６６】
Ｓ１８０４において、入力信号管理部１５１７は、シミュレータＩ／Ｆから通知された信号ＩＤに対応するＤＬＬ呼び出し式を入力信号管理情報１５１８から取得し、Ｓ１８０５でＤＬＬ呼び出し式が定義されているか否かを判定する。ＤＬＬ呼び出し式が定義されていればＳ１８０６に進み、定義されていなければＳ９１０に進む。
【００６７】
Ｓ１８０６において、入力信号管理部１５１７は、入力信号管理情報１５１８の信号ＩＤに対応する信号値を更新する。続いて、Ｓ１８０７において、入力信号管理部１５１７は、Ｓ１８０４で取得したＤＬＬ呼び出し式をＤＬＬ実行部１５０１へ通知する。
【００６８】
Ｓ１８０８において、ＤＬＬ実行部１５０１は、受け取ったＤＬＬ呼び出し式を参照し、呼び出すＤＬＬを特定するとともに、“（”と“）”囲まれた信号ＩＤに対応する信号値をＤＬＬへの引数とし、ＤＬＬを実行する。ＤＬＬの実行終了後、Ｓ１８０９において、ＤＬＬ実行部１５０１は、ＤＬＬ呼び出し式の左辺から信号ＩＤを取得し、ＤＬＬの戻り値と合わせて、シミュレータへの通知信号とする。その後、図９と同様の処理が行われる。
【００６９】
以上説明したように、本実施形態に係る情報処理装置２００は、それぞれが固有の仮想時間を有する複数のシミュレータと、複数のシミュレータを接続するシミュレーション接続部とを備える。情報処理装置２００は、複数のシミュレータの何れかから出力された仮想信号を処理して所定のシミュレータへ通知する制御に関わる情報を定義した配線定義情報と、入力された仮想信号ごとに、当該仮想信号を加工する複数のＤＬＬとを記憶する。シミュレーション接続部は、配線定義情報を用いて、仮想信号を処理するＤＬＬ呼び出し式を含む管理情報を仮想信号ごとに生成し、仮想信号が入力されると、仮想信号に対応するＤＬＬ呼び出し式が有ればＤＬＬで加工した信号値を通知する。一方、シミュレーション接続部は、仮想信号に対応するＤＬＬ呼び出し式が無ければ、受信した仮想信号をそのまま所定のシミュレータへ通知する。このように、本実施形態の情報処理装置２００によれば、三角関数や条件分岐等の複雑な信号値加工を行う場合であっても、演算用シミュレータの接続が不要となるため、プロセス間の通信頻度を大幅に低減できるため処理速度向上に大きな効果が得られる。
【００７０】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2015108964.tif 000003
【図２】
2015108964.tif 000004
【図３】
2015108964.tif 000005
【図４】
2015108964.tif 000006
【図５】
2015108964.tif 000007
【図６】
2015108964.tif 000008
【図７】
2015108964.tif 000009
【図８】
2015108964.tif 000010
【図９】
2015108964.tif 000011
【図１０】
2015108964.tif 000012
【図１１】
2015108964.tif 000013
【図１２】
2015108964.tif 000014
【図１３】
2015108964.tif 000015
【図１４】
2015108964.tif 000016
【図１５】
2015108964.tif 000017
【図１６】
2015108964.tif 000018
【図１７】
2015108964.tif 000019
【図１８】
2015108964.tif 000020