(57)【要約】  受付制御部（１１０）は、対象システムの状態の変化がシミュレーションされた後、シミュレーションの対象となったシミュレーション期間の中の時刻である指定時刻を受け付ける。再現部（１３０）は、トレースデータから指定時刻に対応する変化時刻を選択し、選択された変化時刻に対応する状態値をトレースデータから取得する。再現部は、取得された状態値に対応する状態を示す状態画像を生成する。表示部（１９６）は、生成された状態画像を表示する。
2017179120.tif 000002
【特許請求の範囲】
【請求項１】
対象システムの状態の変化がシミュレーションされた後、シミュレーションの対象となったシミュレーション期間の中の時刻である指定時刻を受け付ける受付部と、
前記対象システムの状態の変化をシミュレーションして得られたデータであって前記対象システムの状態が変化した変化時刻と前記対象システムの状態を示す状態値とを含んだデータであるトレースデータから前記指定時刻に対応する変化時刻を選択し、選択された変化時刻に対応する状態値を前記トレースデータから取得する状態管理部と、
取得された状態値に対応する状態を示す状態画像を生成する画像生成部と、
生成された状態画像を表示する表示部と
を備えるシミュレーション再現装置。
【請求項２】
前記画像生成部は、前記指定時刻の指定に用いられる画像であってそれぞれの変化時刻に対応する箇所に記号が付された状態時間軸を含んだ画像である時刻指定画像を生成し、
前記表示部は、前記時刻指定画像を表示し、
前記受付部は、前記時刻指定画像を介して指定される時刻を前記指定時刻として受け付ける
請求項１に記載のシミュレーション再現装置。
【請求項３】
前記時刻指定画像は、前記状態時間軸と並列に並べて配置される指定時間軸と、前記指定時間軸に沿って移動するつまみと、前記つまみと連動して前記状態時間軸に沿って移動する記号とを含み
前記受付部は、前記つまみの移動によって指定される時刻を前記指定時刻として受け付ける
請求項２に記載のシミュレーション再現装置。
【請求項４】
前記シミュレーション再現装置は、前記トレースデータを用いて、状態値に関する条件式が成立する条件成立期間を算出する期間算出部を備え、
前記画像生成部は、それぞれの条件成立期間を他の期間と区別して示す条件時間軸を前記時刻指定画像に含める
請求項２に記載のシミュレーション再現装置。
【請求項５】
前記シミュレーション再現装置は、受付制御部を備え、
前記受付部は、条件式を含んだ条件情報を受け付け、
前記受付制御部は、受け付けられた条件情報を条件データに登録し、
前記期間算出部は、前記条件データに登録された条件情報に含まれる条件式が成立する期間を前記条件成立期間として算出する
請求項４に記載のシミュレーション再現装置。
【請求項６】
前記条件データに登録される条件情報のそれぞれは条件識別子を含み、
前記受付部は、条件識別子を含んだ条件指定情報を受け付け、
前記期間算出部は、前記条件指定情報に含まれる条件識別子で識別される条件情報を前記条件データから選択し、選択された条件情報に含まれる条件式が成立する期間を前記条件成立期間として算出する
請求項５に記載のシミュレーション再現装置。
【請求項７】
前記条件データは複数の条件グループを含み、
前記複数の条件グループのそれぞれはグループ識別子と１つ以上の条件情報とを含み、
少なくともいずれかの条件情報はグループ識別子を含み、
前記期間算出部は、グループ識別子を含んだ条件情報に含まれる条件式が成立した後、当該条件情報に含まれるグループ識別子で識別される条件グループに含まれる条件情報を対象にして前記条件成立期間を算出する
請求項５に記載のシミュレーション再現装置。
【請求項８】
前記シミュレーション再現装置は、再現時刻を制御する時刻制御部を備え、
前記条件データに登録される条件情報の少なくともいずれかは、前記再現時刻の進め方を指定する時刻制御情報を含み、
前記期間算出部は、時刻制御情報を含んだ条件情報に含まれる条件式が成立する時刻を算出し、算出された時刻を当該条件情報に含まれる時刻制御情報に対応付けて時刻制御リストに登録し、
前記時刻制御部は、前記再現時刻が前記時刻制御リストに登録された時刻と同じ時刻になった後、当該時刻に対応付けられた時刻制御情報に従って前記再現時刻の進め方を変え、
前記状態管理部は、前記再現時刻が前記トレースデータに含まれる変化時刻と同じ時刻になった場合、前記再現時刻と同じ時刻である変化時刻に対応する状態値を前記トレースデータから取得し、
前記画像生成部は、取得された状態値に対応する状態を示す状態画像を生成し、
前記表示部は、生成された状態画像を表示する
請求項５に記載のシミュレーション再現装置。
【請求項９】
前記時刻制御部は、前記再現時刻が一時停止に対応付けられた時刻と同じ時刻になった後、前記再現時刻の更新を一時停止する
請求項８に記載のシミュレーション再現装置。
【請求項１０】
前記時刻制御部は、前記再現時刻が速度変化に対応付けられた時刻と同じ時刻になった後、前記再現時刻を進める速度を変える
請求項８に記載のシミュレーション再現装置。
【請求項１１】
対象システムの状態の変化がシミュレーションされた後、シミュレーションの対象となったシミュレーション期間の中の時刻である指定時刻を受け付ける受付処理と、
前記対象システムの状態の変化をシミュレーションして得られたデータであって前記対象システムの状態が変化した変化時刻と前記対象システムの状態を示す状態値とを含んだデータであるトレースデータから前記指定時刻に対応する変化時刻を選択し、選択された変化時刻に対応する状態値を前記トレースデータから取得する状態管理処理と、
取得された状態値に対応する状態を示す状態画像を生成する画像生成処理と、
生成された状態画像を表示する表示処理と
をコンピュータに実行させるためのシミュレーション再現プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレーションを再現する技術に関するものである。
【背景技術】
【０００２】
近年の組み込み機器向けのソフトウェア開発では、ソフトウェアデバッグを早期に開始するため、ソフトウェアが動作するシステムの動作を模擬するソフトウェアシミュレータが用いられる。ソフトウェアシミュレータを用いることにより、マイクロコントローラとその周辺機器とから構成されるシステムのハードウェア試験環境が実際に完成する前から、ソフトウェアデバッグを行うことができる。マイクロコントローラは、マイクロコンピュータまたはマイクロプロセッサとも呼ばれる。【０００３】
例えば、ＬＥＤの点灯および消灯のような周辺機器の状態と、マイクロコントローラの端子に入出力される信号値のようなマイクロコントローラの状態とをグラフィックで表示することが可能なソフトウェアシミュレータが知られている。
このシミュレータを用いてソフトウェアシミュレーションを実行すると、シミュレーション中のマイクロコントローラおよび周辺機器の状態の変化をグラフィック表示で視認することができる。
特許文献１は、このような従来のシミュレータを開示している。【０００４】
特許文献１に開示された従来のシミュレータは、以下のように動作する。
従来のシミュレータは、シミュレーション実行中に状態変化の発生時刻と状態の更新値とをトレースデータとして記録し、シミュレーション終了後にトレースデータに含まれる発生時刻を再現用の再現時刻に変換する。そして、従来のシミュレータは、トレースデータを読み出して再現時刻に従って状態変化をグラフィック表示で再現する。
従来のシミュレータは、トレースデータを記録し、シミュレーションを再実行させることなく状態変化を再現することができるので、状態変化を高速に再現することができる。また、従来のシミュレータは、更新時刻を再現時刻に変換する際に速度比を適用して再現の速度を変更することができる。【０００５】
特許文献１に開示された従来のシミュレータは、先頭時刻から時刻順に状態変化を再現できるが、利用者の要求に応じて任意の時刻の状態を表示することができない。
例えば、状態変化の再現を先頭時刻から３０分間行った時点で利用者が状態の異常を視認した場合、利用者は、異常を視認した時点から少し前の状態を再び確認したい。これは、異常を視認したときよりも前に他の異常が発生していないかを確認したり、異常が発生するまでの状態変化の経緯を確認したりするためである。このように、先頭時刻から３０分後の状態を再度確認したい場合であっても、従来のシミュレータでは、任意の時刻の状態を表示することができない。そのため、利用者は、従来のシミュレータを３０分間動作させなければならない。つまり、従来のシミュレータを用いた場合、再確認に時間がかかってしまう。【０００６】
また、従来のシミュレータでは状態の変化を目視で確認することはできるが、目視確認が困難な場合がある。
例えば、確認したい条件に該当する箇所が多い場合、確認したい条件が複数の状態変化の組み合わせである場合、または、確認したい条件が時系列の状態変化である場合など、複雑な条件の状態変化を検出することは困難である。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−３３４８１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は、任意の時刻の対象システムの状態を再現できるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
本発明のシミュレーション再現装置は、
対象システムの状態の変化がシミュレーションされた後、シミュレーションの対象となったシミュレーション期間の中の時刻である指定時刻を受け付ける受付部と、
前記対象システムの状態の変化をシミュレーションして得られたデータであって前記対象システムの状態が変化した変化時刻と前記対象システムの状態を示す状態値とを含んだデータであるトレースデータから前記指定時刻に対応する変化時刻を選択し、選択された変化時刻に対応する状態値を前記トレースデータから取得する状態管理部と、
取得された状態値に対応する状態を示す状態画像を生成する画像生成部と、
生成された状態画像を表示する表示部とを備える。
【発明の効果】
【００１０】
本発明によれば、任意の時刻の対象システムの状態を再現することができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１におけるシミュレーション再現装置１００の構成図。
【図２】実施の形態１におけるシミュレーション部１２０の構成図。
【図３】実施の形態１における再現部１３０の構成図。
【図４】実施の形態１におけるシミュレーション再現方法のフローチャート。
【図５】実施の形態１におけるシミュレーション処理（Ｓ２００）のフローチャート。
【図６】実施の形態１における状態画像２００の一例を示す図。
【図７】実施の形態１におけるトレースデータ２１０の一例を示す図。
【図８】実施の形態１における状態画像２００の一例を示す図。
【図９】実施の形態１における再現処理（Ｓ３００）のフローチャート。
【図１０】実施の形態１における時刻指定画像２２０の一例を示す図。
【図１１】実施の形態１における初期化処理（Ｓ３１０）のフローチャート。
【図１２】実施の形態１におけるトレースデータ２１０の一例を示す図。
【図１３】実施の形態１における時刻指定画像２２０の一例を示す図。
【図１４】実施の形態１における再生処理（Ｓ３２０）のフローチャート。
【図１５】実施の形態１における再生制御処理（Ｓ３３０）のフローチャート。
【図１６】実施の形態１における時刻指定画像２２０の一例を示す図。
【図１７】実施の形態１における時刻変更処理（Ｓ３４０）のフローチャート。
【図１８】実施の形態１における時刻変更処理（Ｓ３４０）のフローチャート。
【図１９】実施の形態２における再現部１３０の構成図。
【図２０】実施の形態２における再生制御処理（Ｓ３３０）のフローチャート。
【図２１】実施の形態２における条件データ２３０の一例を示す図。
【図２２】実施の形態２における条件式の構成図。
【図２３】実施の形態２における時刻指定画像２２０の一例を示す図。
【図２４】実施の形態２における期間算出処理（Ｓ３５０）のフローチャート。
【図２５】実施の形態３における条件データ２３０の一例を示す図。
【図２６】実施の形態３における期間算出処理（Ｓ３５０）のフローチャート。
【図２７】実施の形態４における条件データ２３０の一例を示す図。
【図２８】実施の形態４における期間算出処理（Ｓ３５０）のフローチャート。
【図２９】実施の形態４における制御リスト生成処理（Ｓ３６０）のフローチャート。
【図３０】実施の形態４における再生処理（Ｓ３２０）のフローチャート。
【図３１】実施の形態４における時刻制御処理（Ｓ３２８）のフローチャート。
【図３２】実施の形態におけるシミュレーション再現装置１００のハードウェア構成図。
【発明を実施するための形態】
【００１２】
実施の形態１．
ミュレーションを再現するシミュレーション再現装置１００について、図１から図１８に基づいて説明する。
【００１３】
＊＊＊構成の説明＊＊＊
図１に基づいて、シミュレーション再現装置１００の構成を説明する。
シミュレーション再現装置１００は、プロセッサ９０１とメモリ９０２と補助記憶装置９０３と入力装置９０７とディスプレイ９０８といったハードウェアを備えるコンピュータである。プロセッサ９０１は、信号線を介して他のハードウェアと接続されている。
【００１４】
プロセッサ９０１は、プロセッシングを行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）であり、他のハードウェアを制御する。具体的には、プロセッサ９０１は、ＣＰＵ、ＤＳＰまたはＧＰＵである。ＣＰＵはＣｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略称であり、ＤＳＰはＤｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒの略称であり、ＧＰＵはＧｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略称である。
メモリ９０２は揮発性の記憶装置である。メモリ９０２は、主記憶装置またはメインメモリとも呼ばれる。具体的には、メモリ９０２はＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
補助記憶装置９０３は不揮発性の記憶装置である。具体的には、補助記憶装置９０３は、ＲＯＭ、ＨＤＤまたはフラッシュメモリである。ＲＯＭはＲｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略称であり、ＨＤＤはＨａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略称である。
入力装置９０７は、入力を受け付ける装置である。具体的には、入力装置９０７は、キーボード、マウス、テンキーまたはタッチパネルである。
ディスプレイ９０８は、画像等を表示する表示装置である。具体的には、ディスプレイ９０８は液晶ディスプレイである。ディスプレイ９０８はモニタともいう。
【００１５】
シミュレーション再現装置１００は、受付制御部１１０とシミュレーション部１２０と再現部１３０といった「部」を機能構成の要素として備える。「部」の機能はソフトウェアで実現される。「部」の機能については後述する。
【００１６】
補助記憶装置９０３には、「部」の機能を実現するプログラムが記憶されている。「部」の機能を実現するプログラムは、メモリ９０２にロードされて、プロセッサ９０１によって実行される。
さらに、補助記憶装置９０３にはＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が記憶されている。ＯＳの少なくとも一部は、メモリ９０２にロードされて、プロセッサ９０１によって実行される。
つまり、プロセッサ９０１は、ＯＳを実行しながら、「部」の機能を実現するプログラムを実行する。
「部」の機能を実現するプログラムを実行して得られるデータは、メモリ９０２、補助記憶装置９０３、プロセッサ９０１内のレジスタまたはプロセッサ９０１内のキャッシュメモリといった記憶装置に記憶される。
なお、シミュレーション再現装置１００が複数のプロセッサ９０１を備えて、複数のプロセッサ９０１が「部」の機能を実現するプログラムを連携して実行してもよい。
【００１７】
メモリ９０２には、シミュレーション再現装置１００で使用、生成、入出力または送受信されるデータが記憶される記憶部１９１として機能する。但し、他の記憶装置が記憶部１９１として機能してもよい。
入力装置９０７は入力を受け付ける受付部１９５として機能する。
ディスプレイ９０８は画像等を表示する表示部１９６として機能する。
【００１８】
プロセッサ９０１とメモリ９０２と補助記憶装置９０３とをまとめたハードウェアを「プロセッシングサーキットリ」という。
「部」は「処理」または「工程」に読み替えてもよい。「部」の機能はファームウェアで実現してもよい。
「部」の機能を実現するプログラムは、磁気ディスク、光ディスクまたはフラッシュメモリ等の不揮発性の記憶媒体に記憶することができる。
【００１９】
図２に基づいて、シミュレーション部１２０の機能構成を説明する。
シミュレーション部１２０は、時刻制御部１２１と実行部１２２と画像生成部１２３とを機能構成の要素として備える。これらの機能については後述する。
【００２０】
図３に基づいて、再現部１３０の機能構成を説明する。
再現部１３０は、時刻制御部１３１と状態管理部１３２と画像生成部１３３とを機能構成の要素として備える。これらの機能については後述する。
【００２１】
＊＊＊動作の説明＊＊＊
シミュレーション再現装置１００の動作はシミュレーション再現方法に相当する。また、シミュレーション再現方法の手順はシミュレーション再現プログラムの手順に相当する。
【００２２】
図４に基づいて、シミュレーション再現方法を説明する。
ステップＳ１０１において、利用者は、入力装置９０７を操作して、シミュレーション再現装置１００にシミュレーション指示または再現指示を入力する。
シミュレーション指示は、シミュレーションを実行するための指示である。
再現指示は、シミュレーション後にシミュレーションを再現するための指示である。
【００２３】
指示が入力された場合、受付部１９５は、入力された指示を受け付ける。
そして、受付制御部１１０は、受け付けられた指示の種類を判定する。
受け付けられた指示がシミュレーション指示である場合、処理はステップＳ２００に進む。
受け付けられた指示が再現である場合、処理はステップＳ３００に進む。
【００２４】
ステップＳ２００はシミュレーション処理である。
ステップＳ２００において、シミュレーション部１２０は、対象システムの状態の変化をシミュレーションする。
対象システムは、シミュレーションの対象となるシステムである。
対象システムは、マイクロコントローラと周辺機器とを備える。マイクロコントローラは、マイクロコンピュータまたはマイクロプロセッサとも呼ばれる。
マイクロコントローラは、ハードウェアとソフトウェアとを備える。ハードウェアは、プロセッサ、メモリ、レジスタ、タイマおよびポートなどである。ソフトウェアは、対象システムに組み込まれるプログラムである。
周辺機器は、ＬＥＤ、スイッチおよびセンサなどのデバイスである。
シミュレーション処理（Ｓ２００）の詳細については後述する。
【００２５】
ステップＳ３００は再現処理である。
ステップＳ３００において、再現部１３０は、シミュレーションを再現する。
再現処理（Ｓ３００）の詳細については後述する。
【００２６】
図５に基づいて、シミュレーション処理（Ｓ２００）を説明する。
ステップＳ２１０において、画像生成部１２３は状態画像２００を生成する。そして、表示部１９６は状態画像２００を表示する。
【００２７】
図６に基づいて、状態画像２００を説明する。
状態画像２００は、対象システムの状態を確認するためのユーザインタフェースとして用いられる画像である。
状態画像２００は、時刻部品２０１とＬＥＤ部品２０２とスイッチ部品２０３とセンサ部品２０４とレジスタ部品２０５とを含む。
時刻部品２０１は、対象システムの時刻を示す部品である。
ＬＥＤ部品２０２は、対象システムが有するＬＥＤの状態を示す部品である。
スイッチ部品２０３は、対象システムが有するスイッチの状態を示す部品である。
センサ部品２０４は、対象システムが有するセンサの状態を示す部品である。
レジスタ部品２０５は、対象システムが有するレジスタの状態を示す部品である。
状態画像２００に含まれる各部品および各部品の初期状態は、記憶部１９１に予め記憶されている。画像生成部１２３は、記憶部１９１に記憶されている部品および初期状態を用いて、状態画像２００を生成する。
【００２８】
図５に戻り、ステップＳ２１０の説明を続ける。
実行部１２２は、対象システムの初期状態を示すトレース情報を生成し、生成されたトレース情報をトレースデータ２１０に登録する。
トレースデータ２１０は、記憶部１９１に記憶されるデータである。
【００２９】
図７に基づいて、トレースデータ２１０を説明する。
トレースデータ２１０は、１つ以上のトレース情報を含む。図中の１行がトレース情報に相当する。
トレース情報は、時刻識別子とトレース時刻と状態識別子と状態値とを含む。
時刻識別子は、トレース時刻を識別する。具体的な時刻識別子は「ｔｉｍｅ」である。
トレース時刻は、開始前時刻、変化時刻または終了時刻である。
開始前時刻は、シミュレーション前の時刻である。第１行から第４行のトレース情報に含まれる「ｔｉｍｅ＝−１」は、開始前時刻を示している。
変化時刻は、対象システムの状態が変化した時刻である。第５行から第７行のトレース情報に含まれる「ｔｉｍｅ＝ｘｘｘｘ」は、変化時刻を示している。
終了時刻は、シミュレーションが終了した時刻である。第８行のトレース情報のトレース情報に含まれる「ｔｉｍｅ＝５０００」は、終了時刻を示している。このトレース情報は最後のトレース情報である。最後のトレース情報は、状態識別子の代わりに終了識別子「ｅｎｄ」を含む。
【００３０】
状態識別子は、シミュレーションの対象となる状態を識別する。「ｌｅｄ１」は、対象システムが有するＬＥＤの状態を識別する。「ｓｗ１」は、対象システムが有するスイッチの状態を識別する。「ｓｎｓ１」は、対象システムが有するセンサの状態を識別する。
状態値は、状態識別子で識別される状態を示す値である。「ｌｅｄ１＝ｘ」は、対象システムが有するＬＥＤの状態値を示している。「ｓｗ１＝ｘ」は、対象システムが有するスイッチの状態値を示している。「ｓｎｓ１＝ｘ」は、対象システムが有するセンサの状態値を示している。
【００３１】
図５に戻り、ステップＳ２１０の説明を続ける。
具体的には、実行部１２２は、図７において第１行から第３行のトレース情報をトレースデータ２１０に登録する。このとき、第４行以降のトレース情報は、トレースデータ２１０に登録されていない。
【００３２】
ステップＳ２２１において、利用者は、対象システムの状態を変更したい場合、入力装置９０７を操作して、シミュレーション再現装置１００に状態指示を入力する。
状態指示が入力された場合、受付部１９５が状態指示を受け付け、処理はステップＳ２２２に進む。
状態指示が入力されない場合、処理はステップＳ２２３に進む。
【００３３】
ステップＳ２２２において、画像生成部１２３は、状態指示に従って、状態画像２００の中の状態を更新する。そして、表示部１９６は、更新後の状態画像２００を表示する。
例えば、センサ値を５０に変更する状態指示が受け付けられた場合、画像生成部１２３は、状態画像２００に含まれるセンサ部品２０４を、センサ値「５０」を示すセンサ部品２０４に更新する。
【００３４】
実行部１２２は、状態指示に対応するトレース情報を生成し、生成されたトレース情報をトレースデータ２１０に登録する。
例えば、センサ値を５０に変更する状態指示が受け付けられた場合、実行部１２２は、図７において第４行のトレース情報をトレースデータ２１０に登録する。このとき、第５行以降のトレース情報は、トレースデータ２１０に登録されていない。
【００３５】
ステップＳ２２３において、利用者は、シミュレーションを開始したい場合、入力装置９０７を操作して、シミュレーション再現装置１００に開始指示を入力する。
開始指示が入力された場合、受付部１９５が開始指示を受け付け、処理はステップＳ２３０に進む。
開始指示が入力されない場合、処理はステップＳ２２１に戻る。
【００３６】
ステップＳ２３０において、時刻制御部１２１は、シミュレーション時刻を更新する。
シミュレーション時刻は、シミュレーションにおける時刻である。シミュレーション時刻は記憶部１９１に記憶される。
具体的には、時刻制御部１２１は、シミュレーション時刻をインクリメントする。
【００３７】
そして、実行部１２２は、更新後のシミュレーション時刻における対象システムをシミュレーションする。シミュレーション方法は従来のシミュレーションと同じである。
【００３８】
ステップＳ２４１において、実行部１２２は、対象システムの状態が変化したか判定する。
対象システムの状態が変化した場合、処理はステップＳ２４２に進む。
対象システムの状態が変化しない場合、処理はステップＳ２４４に進む。
【００３９】
ステップＳ２４２において、画像生成部１２３は、状態画像２００の中の状態を変化後の状態に更新し、状態画像２００の中の時刻をシミュレーション時刻に更新する。そして、表示部１９６は、更新後の状態画像２００を表示する。
【００４０】
ステップＳ２４３において、実行部１２２は、変化後の状態を示すトレース情報を生成し、生成されたトレース情報をトレースデータ２１０に登録する。
例えば、シミュレーション時刻の値が１０００になったときにＬＥＤが消灯状態から点灯状態に変化した場合、実行部１２２は、図７において第５行のトレース情報をトレースデータ２１０に登録する。このとき、第６行以降のトレース情報は、トレースデータ２１０に登録されていない。
【００４１】
ステップＳ２４４において、画像生成部１２３は、状態画像２００の中の時刻をシミュレーション時刻に更新する。そして、表示部１９６は、更新後の状態画像２００を表示する。
【００４２】
ステップＳ２５１において、利用者は、対象システムの状態を変更したい場合、入力装置９０７を操作して、シミュレーション再現装置１００に状態指示を入力する。
状態指示が入力された場合、受付部１９５が状態指示を受け付け、処理はステップＳ２５２に進む。
状態指示が入力されない場合、処理はステップＳ２５３に進む。
【００４３】
ステップＳ２５２において、画像生成部１２３は、状態指示に従って、状態画像２００の中の状態を更新する。そして、表示部１９６は、更新後の状態画像２００を表示する。
実行部１２２は、状態指示に対応するトレース情報を生成し、生成されたトレース情報をトレースデータ２１０に登録する。
ステップＳ２５１およびステップＳ２５２は、ステップＳ２２１およびステップＳ２２２と同じである。
【００４４】
ステップＳ２５３において、利用者は、シミュレーションを終了したい場合、入力装置９０７を操作して、シミュレーション再現装置１００に終了指示を入力する。
終了指示が入力された場合、受付部１９５が終了指示を受け付け、処理はステップＳ２５４に進む。
終了指示が入力されない場合、処理はステップＳ２３０に戻る。
【００４５】
ステップＳ２５４において、実行部１２２は、終了時刻としてシミュレーション時刻を含んだトレース情報を生成し、生成されたトレース情報をトレースデータ２１０に登録する。
具体的には、実行部１２２は、図７において第８行のトレース情報をトレースデータ２１０に登録する。
【００４６】
図８に、シミュレーション中に変化する状態画像２００の例を示す。
（Ａ）において、時刻部品２０１は、シミュレーション時刻「００：０１：０１．０１」を示している。ＬＥＤ部品２０２は、消灯しているＬＥＤを示している。また、スイッチ部品２０３は、Ｌｏｗになっているスイッチを示している。センサ部品２０４は、センサが検知した現在の値「５０」を示している。レジスタ部品２０５は、レジスタの値「０ｘ００ｆｂ」を示している。
（Ｂ）において、時刻部品２０１は、シミュレーション時刻「０１：０２：０２．０２」を示している。ＬＥＤ部品２０２は、点灯しているＬＥＤを示している。また、スイッチ部品２０３は、Ｈｉｇｈになっているスイッチを示している。センサ部品２０４は、センサが検知した現在の値「３０」を示している。レジスタ部品２０５は、レジスタの値「０ｘ００ｃｂ」を示している。
センサ部品２０４において、「０」と「１００」との間に示される値は、センサが検知した現在の値である。この現在の値はバーの位置と対応している。つまり、バーが動かされると現在の値が変わる。
【００４７】
図９に基づいて、再現処理（Ｓ３００）を説明する。
ステップＳ３０１において、画像生成部１３３は状態画像２００を生成する。そして、表示部１９６は状態画像２００を表示する。
ステップＳ３０１は、図５のステップＳ２１０と同じである。
【００４８】
ステップＳ３０２において、画像生成部１３３は時刻指定画像２２０を生成する。そして、表示部１９６は時刻指定画像２２０を表示する。
具体的には、時刻指定画像２２０は、状態画像２００と並べて表示される。
【００４９】
図１０に基づいて、時刻指定画像２２０を説明する。
時刻指定画像２２０は、再現時刻を指定するためのユーザインタフェースとして用いられる画像である。
時刻指定画像２２０は、時刻部品２２１と指定時間軸２２２とつまみ２２３と補助線２２４と状態時間軸２２５とを含む。
時刻部品２２１は、再現時刻と終了時刻とを示す部品である。左側の時刻が再現時刻であり、右側の時刻が終了時刻である。再現時刻は、シミュレーションが再現されているときのシミュレーション時刻である。終了時刻は、シミュレーションの再現が終了するときのシミュレーション時刻である。図１０において、再現時刻および終了時刻は初期値である。
指定時間軸２２２は、シミュレーション期間に対応する時間軸を示す部品であり、状態時間軸２２５と並列に並べて配置される。シミュレーション期間は、シミュレーションにおける開始時刻から終了時刻までの期間である。指定時間軸２２２の左端がシミュレーションの開始時刻に対応し、指定時間軸２２２の右端がシミュレーションの終了時刻に対応する。
つまみ２２３は、指定時間軸２２２に沿って移動する部品である。
補助線２２４は、つまみ２２３と連動して状態時間軸２２５に沿って移動する記号に相当する部品である。
状態時間軸２２５は、シミュレーション期間に対応する時間軸を示す部品であり、指定時間軸２２２と並列に並べて配置される。状態時間軸２２５の左端がシミュレーションの開始時刻に対応し、状態時間軸２２５の右端がシミュレーションの終了時刻に対応する。
以降の処理において、状態時間軸２２５には、変化時刻に対応する箇所に変化線２２６が付加される。変化線２２６は、変化時刻に対応する箇所に付加される記号に相当する部品である。
時刻指定画像２２０に含まれる各部品および時刻部品２２１の初期値は、記憶部１９１に予め記憶されている。画像生成部１３３は、記憶部１９１に記憶されている部品および初期値を用いて、時刻指定画像２２０を生成する。
【００５０】
図９に戻り、ステップＳ３１０から説明を続ける。
ステップＳ３１０は初期化処理である。
ステップＳ３１０において、再現部１３０は、トレースデータ２１０に含まれるトレース情報に変化前の状態値を追加する。
また、再現部１３０は、状態画像２００の中の状態をシミュレーションの開始時刻における状態に更新する。
さらに、再現部１３０は、時刻指定画像２２０の時刻部品２２１に示される最終時刻を更新し、時刻指定画像２２０の状態時間軸２２５に変化線２２６を付加する。
【００５１】
図１１に基づいて、初期化処理（Ｓ３１０）を説明する。
ステップＳ３１１において、状態管理部１３２は、トレースデータ２１０から先頭のトレース情報を選択し、先頭のトレース情報の位置を示す情報を参照位置に設定する。
参照位置は、参照されるトレース情報の位置を示す変数である。
【００５２】
さらに、状態管理部１３２は、状態識別子毎の変化前変数に状態の初期値を設定する。状態識別子毎の変化前変数は記憶部１９１に記憶される。変化前変数は、変化前の状態値が設定される変数である。
【００５３】
ステップＳ３１２において、状態管理部１３２は、参照位置に対応するトレース情報をトレースデータ２１０から読み出す。
【００５４】
ステップＳ３１３からステップＳ３１８は、ステップＳ３１２で読み出されたトレース情報を対象にして実行される。
【００５５】
ステップＳ３１３において、状態管理部１３２は、トレース情報が終了時刻情報であるか判定する。終了時刻情報は、終了時刻を含んだトレース情報である。
具体的には、状態管理部１３２は、終了識別子「ｅｎｄ」がトレースに含まれるか判定する。「ｅｎｄ」が含まれるトレース情報は終了時刻情報である。
トレース情報が終了時刻情報である場合、処理はステップＳ３１７に進む。
トレース情報が終了時刻情報でない場合、処理はステップＳ３１４に進む。
【００５６】
ステップＳ３１４において、状態管理部１３２は、変化前の状態値をトレース情報に追加する。なお、トレース情報に設定されている状態値は変化後の状態値である。
【００５７】
具体的には、状態管理部１３２は、以下のように動作する。
まず、状態管理部１３２は、トレース情報に含まれる状態識別子の変化前変数を選択する。
そして、状態管理部１３２は、選択された変化前変数から変化前の状態値を抽出し、変化前の状態値をトレース情報に追加する。
さらに、状態管理部１３２は、トレース情報から変化後の状態値を抽出し、選択された変化前変数の値を変化後の状態値に更新する。
【００５８】
ステップＳ３１５１において、状態管理部１３２は、トレース情報が開始前情報であるか判定する。開始前情報は、トレース時刻として開始前時刻「−１」を含んだトレース情報である。
トレース情報が開始前情報である場合、処理はステップＳ３１５２に進む。
トレース情報が開始前情報でない場合、処理はステップＳ３１５３に進む。
【００５９】
ステップＳ３１５２において、画像生成部１３３は、トレース情報に基づいて、状態画像２００の中の状態を更新する。そして、表示部１９６は、更新後の状態画像２００を表示する。
【００６０】
具体的には、状態画像２００は、以下のように更新される。
まず、状態管理部１３２は、トレース情報から状態識別子と状態値とを抽出する。
次に、画像生成部１３３は、状態画像２００から状態識別子に対応する部品を選択する。
そして、画像生成部１３３は、選択された部品を状態値に対応する状態を示す部品に更新する。
【００６１】
ステップＳ３１５３において、画像生成部１３３は、時刻指定画像２２０の状態時間軸２２５に変化線２２６を追加する。そして、表示部１９６は、変化線２２６が追加された後の時刻指定画像２２０を表示する。
具体的には、画像生成部１３３は、トレース情報から変化時刻を抽出し、状態時間軸２２５から変化時刻に対応する箇所を選択し、選択された箇所に変化線２２６を追加する。
【００６２】
ステップＳ３１６において、状態管理部１３２は、参照位置をインクリメントする。
インクリメントとは、一つ後のトレース情報の位置を示す情報に参照位置を更新することである。
ステップＳ３１６の後、処理はステップＳ３１２に戻る。
【００６３】
ステップＳ３１７において、画像生成部１３３は、時刻指定画像２２０の時刻部品２２１に含まれる終了時刻を更新する。そして、表示部１９６は、更新後の時刻指定画像２２０を表示する。
具体的には、画像生成部１３３は、時刻部品２２１に含まれる終了時刻をトレース情報に含まれる終了時刻に更新する。
【００６４】
ステップＳ３１８において、状態管理部１３２は、トレースデータ２１０から開始のトレース情報を選択する。開始のトレース情報は、開始前時刻「−１」以外の時刻を含んだトレース情報のうちの先頭のトレース情報である。
そして、状態管理部１３２は、開始のトレース情報の位置を示す情報を参照位置に設定する。
【００６５】
図１２に、初期化処理（Ｓ３１０）の後のトレースデータ２１０の例を示す。
トレースデータ２１０において、それぞれのトレース情報には、変化前の状態値が追加されている。
第１行のトレース情報に含まれる「０」、第２行のトレース情報に含まれる「１０」および第３行のトレース情報に含まれる「３０」が、変化前の状態値である。
【００６６】
図１３に、初期化処理（Ｓ３１０）の後の時刻指定画像２２０を示す。
時刻指定画像２２０において、時刻部品２２１には最終時刻が設定されている。
また、状態時間軸２２５には、変化時刻毎の変化線２２６が追加されている。
補助線２２４と変化線２２６とを区別するため、補助線２２４と変化線２２６とは互いに色が異なる。
【００６７】
図９に戻り、ステップＳ３２０から説明を続ける。
ステップＳ３２０は再生処理である。
ステップＳ３２０において、再現部１３０は、状態画像２００の再生を行う。
【００６８】
図１４に基づいて、再生処理（Ｓ３２０）を説明する。
再生処理（Ｓ３２０）において、時刻制御部１３１は、単位時間が経過する毎に、再現時刻を更新する。具体的には、時刻制御部１３１は、単位時間が経過する毎に、再現時刻に単位時間を加算する。再現時刻は記憶部１９１に記憶される。
【００６９】
ステップＳ３２１において、状態管理部１３２は、参照位置に対応するトレース情報をトレースデータ２１０から読み出す。
【００７０】
ステップＳ３２２からステップＳ３２７は、ステップＳ３２１で読み出されたトレース情報を対象にして実行される。
【００７１】
ステップＳ３２２において、利用者は、状態画像２００の再生を操作したい場合、入力装置９０７を操作して、シミュレーション再現装置１００に操作指示を入力する。
操作指示が入力された場合、受付部１９５は操作指示を受け付け、処理はステップＳ３３０に進む。
操作指示が入力されない場合、処理はステップＳ３２３に進む。
【００７２】
ステップＳ３２３において、画像生成部１３３は、状態画像２００の時刻部品２０１に含まれる再現時刻を現在の再現時刻に更新する。そして、表示部１９６は、更新後の状態画像２００を表示する。
【００７３】
ステップＳ３２４において、状態管理部１３２は、現在の再現時刻をトレース時刻と比較する。
具体的には、状態管理部１３２は、トレース情報からトレース時刻を抽出し、現在の再現時刻をトレース時刻と比較する。
現在の再現時刻がトレース時刻と同じ時刻である場合、処理はステップＳ３２５に進む。
現在の再現時刻がトレース時刻と異なる時刻である場合、処理はステップＳ３２２に戻る。
【００７４】
ステップＳ３２５において、状態管理部１３２は、トレース情報が終了のトレース情報であるか判定する。
具体的には、状態管理部１３２は、トレース情報に終了識別子「ｅｎｄ」が含まれるか判定する。
トレース情報が終了のトレース情報である場合、処理は終了する。
トレース情報が終了のトレース情報でない場合、処理はステップＳ３２６に進む。
【００７５】
ステップＳ３２６において、画像生成部１３３は、トレース情報に基づいて、状態画像２００の中の状態を更新する。更新方法はステップＳ３１５２と同じである。そして、表示部１９６は、更新後の状態画像２００を表示する。
【００７６】
ステップＳ３２７において、状態管理部１３２は、参照位置をインクリメントする。
ステップＳ３２７の後、処理はステップＳ３２１に戻る。
【００７７】
ステップＳ３３０は再生制御処理である。
ステップＳ３３０において、再現部１３０は、受け付けられた操作指示に従って、状態画像２００の再生を制御する。
【００７８】
図１５に基づいて、再生制御処理（Ｓ３３０）を説明する。
ステップＳ３３１において、受付制御部１１０は、受け付けられた操作指示の種類を判定する。
具体的な操作指示は、一時停止、再生開始、時刻指定または再生終了である。
一時停止は、再生の一時停止を指示する。一時停止は再生時に受け付けられる。
再生開始は、再生の再開を指示する。再生開始は一時停止時に受け付けられる。
時刻指定は、再現時刻の変更を指示する。時刻指定は一時停止時に受け付けられる。
再生終了は、再生の終了を指示する。
【００７９】
操作指示が一時停止である場合、処理はステップＳ３３２に進む。
操作指示が再生開始である場合、処理はステップＳ３３３に進む。
操作指示が時刻指定である場合、処理はステップＳ３４０に進む。
操作指示が再生終了である場合、処理は終了する。
【００８０】
ステップＳ３３２において、時刻制御部１３１は、再現時刻の更新を停止する。
ステップＳ３３２の後、処理はステップＳ３３１に戻り、新たな操作指示が受け付けられるまで待機する。
【００８１】
ステップＳ３３３において、時刻制御部１３１は、再現時刻の更新を再開する。
ステップＳ３３３の後、処理は図１４のステップＳ３２３に戻る。
【００８２】
ステップＳ３４０は時刻変更処理である。
ステップＳ３４０において、再現部１３０は、再現時刻を指定時刻に変更する。
ステップＳ３４０の後、処理はステップＳ３３１に戻り、新たな操作指示が受け付けられるまで待機する。
【００８３】
指定時刻は、時刻指定で指定される時刻である。
具体的には、指定時刻は、時刻指定画像２２０を介して指定される。
【００８４】
図１６において、利用者は、指定時刻を指定したい場合、入力装置９０７を操作して、つまみ２２３を移動させる。
つまみ２２３が移動された場合、画像生成部１３３は、つまみ２２３の位置に対応する時刻を求める。求められる時刻が指定時刻である。
画像生成部１３３は、時刻部品２２１に含まれる再現時刻を指定時刻に更新する。そして、表示部１９６は、更新後の時刻指定画像２２０を表示する。
【００８５】
図１７および図１８に基づいて、時刻変更処理（Ｓ３４０）を説明する。
まず、図１７に基づいてステップＳ３４１からステップＳ３４３７を説明する。
【００８６】
ステップＳ３４１において、状態管理部１３２は、現在の再現時刻を指定時刻と比較する。
現在の再現時刻が指定時刻と同じ時刻である場合、処理は終了する。
現在の再現時刻が指定時刻と異なる時刻である場合、処理はステップＳ３４２に進む。
【００８７】
ステップＳ３４２において、状態管理部１３２は、現在の再現時刻が指定時刻より後の時刻であるか判定する。
現在の再現時刻が指定時刻より後の時刻である場合、処理はステップＳ３４３１に進む。
現在の再現時刻が指定時刻より前の時刻である場合、処理は図１８のステップＳ３４４１に進む。
【００８８】
ステップＳ３４３１において、状態管理部１３２は、参照位置をデクリメントする。
デクリメントは、一つ前のトレース情報の位置を示す情報に参照位置を更新することである。
【００８９】
ステップＳ３４３２において、状態管理部１３２は、参照位置に対応するトレース情報をトレースデータ２１０から読み出す。
【００９０】
ステップＳ３４３３において、状態管理部１３２は、トレース情報から変化時刻を抽出し、変化時刻を指定時刻と比較する。
変化時刻が指定時刻以後の時刻である場合、処理はステップＳ３４３４に進む。
変化時刻が指定時刻より前の時刻である場合、処理はステップＳ３４３５に進む。
【００９１】
ステップＳ３４３４において、画像生成部１３３は、トレース情報に基づいて、状態画像２００の中の状態を変化前の状態に更新する。そして、表示部１９６は、更新後の状態画像２００を表示する。
【００９２】
具体的には、状態画像２００は、以下のように更新される。
まず、状態管理部１３２は、トレース情報から状態識別子と変化前の状態値とを抽出する。
次に、画像生成部１３３は、状態画像２００から状態識別子に対応する部品を選択する。
そして、画像生成部１３３は、選択された部品を変化前の状態値に対応する状態を示す部品に更新する。
ステップＳ３４３４の後、処理はステップＳ３４３１に戻る。
【００９３】
ステップＳ３４３５において、状態管理部１３２は、参照位置をインクリメントする。
【００９４】
ステップＳ３４３６において、時刻制御部１３１は、現在の再現時刻を指定時刻に変更する。
【００９５】
ステップＳ３４３７において、画像生成部１３３は、状態画像２００の時刻部品２０１に含まれる再現時刻を現在の再現時刻に更新する。そして、表示部１９６は、更新後の状態画像２００を表示する。
【００９６】
次に、ステップＳ３４４１からステップＳ３４４６を図１８に基づいて説明する。
ステップＳ３４４１において、状態管理部１３２は、状態管理部１３２は、参照位置に対応するトレース情報をトレースデータ２１０から読み出す。
【００９７】
ステップＳ３４４２において、状態管理部１３２は、トレース情報から変化時刻を抽出し、変化時刻を指定時刻と比較する。
変化時刻が指定時刻以前の時刻である場合、処理はステップＳ３４４３に進む。
変化時刻が指定時刻の後の時刻である場合、処理はステップＳ３４４５に進む。
【００９８】
ステップＳ３４４３において、画像生成部１３３は、トレース情報に基づいて、状態画像２００の中の状態をトレース時刻の状態に更新する。そして、表示部１９６は、更新後の状態画像２００を表示する。
【００９９】
具体的には、状態画像２００は、以下のように更新される。
まず、状態管理部１３２は、トレース情報から状態識別子とトレース時刻の状態値とを抽出する。トレース時刻の状態値は、変更前の状態値ではない方の状態値である。つまり、トレース時刻の状態値は、トレース情報内で状態識別子とイコールで結ばれている状態値である。トレース時刻の状態値は変化後の状態値ともいう。
次に、画像生成部１３３は、状態画像２００から状態識別子に対応する部品を選択する。
そして、画像生成部１３３は、選択された部品をトレース時刻の状態値に対応する状態を示す部品に更新する。
【０１００】
ステップＳ３４４４において、状態管理部１３２は、参照位置をインクリメントする。
ステップＳ３４４４の後、処理はステップＳ３４４１に戻る。
【０１０１】
ステップＳ３４４５において、時刻制御部１３１は、現在の再現時刻を指定時刻に変更する。
【０１０２】
ステップＳ３４４６において、画像生成部１３３は、状態画像２００の時刻部品２０１に含まれる再現時刻を現在の再現時刻に更新する。そして、表示部１９６は、更新後の状態画像２００を表示する。
【０１０３】
＊＊＊実施の形態１の効果＊＊＊
シミュレーション再現装置１００は、再現表示の再生と一時停止とに加え、任意の時刻のシミュレーション結果を再現表示することができる。
例えば、利用者は、再生の途中で再生を一時停止させて、１秒前の時刻を指定することで、最初から再生し直すことなく、１秒前の状態を確認することができる。そのため、シミュレーション結果の確認時間を短縮することができる。
【０１０４】
また、シミュレーション再現装置１００は、状態が変化した時刻を時間軸に示すことができる。これにより、利用者は、指定すべき時刻を容易に選択することができる。
【０１０５】
＊＊＊他の構成＊＊＊
変化前の状態値を含んだトレースデータ２１０（図１２参照）は、シミュレーション部１２０によって生成されてもよい。
【０１０６】
実施の形態２．
条件を満たす時刻を提示する形態について、図１９から図２４に基づいて説明する。但し、実施の形態１と重複する説明は省略または簡略する。
【０１０７】
＊＊＊構成の説明＊＊＊
シミュレーション再現装置１００の構成は、実施の形態１と同じく、受付制御部１１０とシミュレーション部１２０と再現部１３０といった機能構成を備える。
【０１０８】
シミュレーション部１２０の機能構成は、実施の形態１と同じである。
【０１０９】
図１９に基づいて、再現部１３０の機能構成を説明する。
再現部１３０は、実施の形態１で説明した時刻制御部１３１と状態管理部１３２と画像生成部１３３とに加えて、期間算出部１３４を備える。期間算出部１３４の機能については後述する。
【０１１０】
＊＊＊動作の説明＊＊＊
シミュレーション再現方法の手順は、実施の形態１で図４に基づいて説明した手順と同じである。
シミュレーション処理（Ｓ２００）の手順は、実施の形態１で図５に基づいて説明した手順と同じである。
再現処理（Ｓ３００）の手順は、実施の形態１で図９に基づいて説明した手順と同じである。
但し、再生処理（Ｓ３２０）の一部が実施の形態１と異なる。
【０１１１】
再生処理（Ｓ３２０）のステップＳ３２１からステップＳ３２７は、実施の形態１で図１４に基づいて説明した処理と同じである。
但し、再生制御処理（Ｓ３３０）の一部が実施の形態１と異なる。
【０１１２】
図２０に基づいて、再生制御処理（Ｓ３３０）を説明する。
ステップＳ３３１において、受付制御部１１０は、受け付けられた操作指示の種類を判定する。
操作指示には、実施の形態１に対して条件登録と条件指定とが加わる。
条件登録は、条件データ２３０への条件情報の登録を指示する。条件登録は一時停止時に受け付けられる。条件データ２３０および条件情報については後述する。
条件指定は、時刻指定画像２２０への条件時間軸２２７の追加を指示する。条件時間軸２２７については後述する。
【０１１３】
操作指示が条件登録である場合、処理はステップＳ３３４に進む。
操作指示が条件指定である場合、処理はステップＳ３５０に進む。
【０１１４】
図２１に基づいて、条件データ２３０を説明する。
条件データ２３０は、１つ以上の条件情報を含む。図中の１行が条件情報に該当する。
条件情報は、条件識別子と条件式とを含む。
条件識別子は、条件式を識別する。
条件式は、状態識別子と演算子と条件値とを含み、状態値に関する条件を示す。
【０１１５】
図２２に基づいて、条件式の構成を説明する。
条件式は、状態識別子２４１と比較演算子２４２と数値２４３といった要素で構成される。
または、条件式は、否定演算子２４７と条件識別子２４４と論理演算子２４５と否定演算子２４８と条件識別子２４６と論理値２４９といった要素で構成される。
これらの要素は、任意の長さの空白で区切られる。
【０１１６】
条件識別子２４４および条件識別子２４６は、条件識別子に対応する条件式が成立したら真となり、成立しないなら偽となる条件を表す。
否定演算子２４７は、条件識別子２４４に対応する条件式の否定を表す。否定演算子２４８は条件識別子２４６に対応する条件式の否定を表す。
論理値２４９は、真または偽の値である。
なお、条件式に条件識別子が含まれる場合、その条件式より前に条件識別子に対応する条件式が条件データ２３０に登録されているものとする。
【０１１７】
図２３に基づいて、時刻指定画像２２０を説明する。
時刻指定画像２２０は、条件時間軸２２７と条件識別子２２９との組を１つ以上含む。
条件時間軸２２７は、シミュレーション期間に対応する時間軸を示す部品であり、指定時間軸２２２と状態時間軸２２５と並列に並べて配置される。条件時間軸２２７の左端がシミュレーションの開始時刻に対応し、条件時間軸２２７の右端がシミュレーションの終了時刻に対応する。
条件時間軸２２７には、条件成立期間２２８が記される。図中の黒塗り部分が条件成立期間２２８を表している。
条件成立期間２２８は、条件識別子２２９で識別される条件式が成立する期間である。
補助線２２４は、つまみ２２３と連動して、状態時間軸２２５と条件時間軸２２７とに沿って移動する。
【０１１８】
図２０に戻り、ステップＳ３３４を説明する。
ステップＳ３３４において、受付制御部１１０は、条件情報を条件データ２３０に登録する。なお、条件情報は、条件登録と共に受け付けられる。
ステップＳ３３４の後、処理はステップＳ３３１に戻り、新たな操作指示が受け付けられるまで待機する。
【０１１９】
次に、ステップＳ３５０を説明する。
ステップＳ３５０は期間算出処理である。
ステップＳ３５０において、期間算出部１３４は、条件成立期間を算出し、条件成立期間を示す期間リストを生成する。期間リストは記憶部１９１に記憶される。
条件成立期間は、条件式が成立する期間である。条件式は、条件識別子で識別される。条件識別子は、条件指定情報に含まれる。条件指定情報は、条件指定と共に受け付けられる。
期間算出処理（Ｓ３５０）の詳細については後述する。
【０１２０】
ステップＳ３３５において、画像生成部１３３は、期間リストを用いて、条件成立期間を示す条件時間軸２２７を時刻指定画像２２０に追加する。そして、表示部１９６は、条件時間軸２２７を含んだ時刻指定画像２２０を表示する。
ステップＳ３３５の後、処理はステップＳ３３１に戻り、新たな操作指示が受け付けられるまで待機する。
【０１２１】
図２４に基づいて、期間算出処理（Ｓ３５０）を説明する。
期間算出処理（Ｓ３５０）では、期間算出処理（Ｓ３５０）以外で用いられる参照位置とは別の参照位置が用いられる。
【０１２２】
ステップＳ３５１１において、期間算出部１３４は、トレースデータ２１０を用いて、状態値リストを生成する。状態値リストは、シミュレーション開始前における状態識別子毎の状態値を示すリストであり、記憶部１９１に記憶される。
【０１２３】
具体的には、期間算出部１３４は、以下のように動作する。
まず、期間算出部１３４は、開始前時刻「−１」を含んだトレース情報を順番に１つ読み出す。
次に、期間算出部１３４は、読み出されたトレース情報から状態識別子と状態値とを抽出する。
次に、期間算出部１３４は、抽出された状態識別子と同じ状態識別子が状態値リストに登録されているか判定する。
当該状態識別子が状態値リストに登録されている場合、期間算出部１３４は、当該状態識別子に対応する状態値を抽出された状態値に更新する。
当該状態識別子が状態値リストに登録されていない場合、期間算出部１３４は、抽出された状態識別子と状態値との組を状態値リストに追加する。
【０１２４】
トレース情報の読み出しは、参照位置を用いて行われる。
ステップＳ３５１２の後、参照位置は開始のトレース情報を示す。
【０１２５】
ステップＳ３５１２において、期間算出部１３４は、初期状態の判定結果リストを生成する。
判定結果リストは、条件識別子毎の判定結果を示すリストであり、記憶部１９１に記憶される。判定結果は、成立値または不成立値である。成立値は、条件識別子で識別される条件式が成立することを示す。不成立は、条件識別子で識別される条件式が成立しないことを示す。
具体的には、期間算出部１３４は、条件指定情報から条件識別子を抽出する。そして、期間算出部１３４は、抽出された条件識別子毎に、条件識別子と不成立値との組を判定結果リストに登録する。
【０１２６】
ステップＳ３５２１において、期間算出部１３４は、先頭の条件式を参照する。
具体的には、期間算出部１３４は、条件指定情報から先頭の条件識別子を選択し、先頭の条件識別子と同じ条件識別子に対応する条件式を条件データ２３０から読み出す。
【０１２７】
ステップＳ３５２２において、期間算出部１３４は、条件式が成立するか否かを判定する。
条件式の左辺が状態識別子である場合、期間算出部１３４は、状態識別子に対応する状態値を状態値リストから読み出し、状態値を条件式の右辺の値と比較する。そして、期間算出部１３４は、比較結果に基づいて、条件式が成立するか否かを判定する。
条件式の左辺が条件識別子である場合、期間算出部１３４は、条件識別子に対応する判定結果を判定結果リストから読み出す。そして、期間算出部１３４は、読み出された判定結果に基づいて、条件式が成立するか否かを判定する。
【０１２８】
ステップＳ３５２３において、期間算出部１３４は、今回の判定結果を前回の判定結果と比較する。
具体的には、期間算出部１３４は、ステップＳ３５２１またはステップＳ３５２７で参照された条件式に対応する判定結果を判定結果リストから読み出す。読み出される判定結果が前回の判定結果である。そして、期間算出部１３４は、ステップＳ３５２２で得られた今回の判定結果を前回の判定結果と比較する。
今回の判定結果が前回の判定結果と同じである場合、処理はステップＳ３５２５に進む。
今回の判定結果が前回の判定結果と異なる場合、処理はステップＳ３５２４に進む。
【０１２９】
ステップＳ３５２４において、期間算出部１３４は、条件成立期間の開始時刻または終了時刻を期間リストに追加する。
具体的には、期間算出部１３４は以下のように動作する。
まず、期間算出部１３４は、参照位置に対応するトレース情報から変化時刻を抽出する。
そして、期間算出部１３４は、条件識別子と変化時刻と今回の判定結果との組を期間リストに追加する。
今回の判定結果が成立値である場合、変化時刻は開始時刻である。今回の判定結果が不成立値である場合、変化時刻は終了時刻である。
【０１３０】
ステップＳ３５２５において、期間算出部１３４は、判定結果リストに含まれる前回の判定結果を今回の判定結果に更新する。
【０１３１】
ステップＳ３５２６において、期間算出部１３４は、次の条件式があるか判定する。
具体的には、期間算出部１３４は、条件指定情報に次の条件識別子があるか判定する。次の条件識別子がある場合には次の条件式がある。
次の条件式がある場合、処理はステップＳ３５２７に進む。
次の条件式がない場合、処理はステップＳ３５３１に進む。
【０１３２】
ステップＳ３５２７において、期間算出部１３４は、次の条件式を参照する。
具体的には、期間算出部１３４は、条件指定情報から次の条件識別子を選択し、次の条件識別子と同じ条件識別子に対応する条件式を条件データ２３０から読み出す。
ステップＳ３５２７の後、処理はステップＳ３５２２に戻る。
【０１３３】
ステップＳ３５３１において、期間算出部１３４は、次のトレース情報を参照する。
具体的には、期間算出部１３４は、参照位置をインクリメントし、参照位置に対応するトレース情報をトレースデータ２１０から読み出す。
【０１３４】
ステップＳ３５３２において、期間算出部１３４は、読み出されたトレース情報が終了のトレース情報であるか判定する。
具体的には、期間算出部１３４は、読み出されたトレース情報に終了識別子「ｅｎｄ」が含まれるか判定する。
読み出されたトレース情報が終了のトレース情報である場合、処理は終了する。
読み出されたトレース情報が終了のトレース情報でない場合、処理はステップＳ３５３３に進む。
【０１３５】
ステップＳ３５３３において、期間算出部１３４は、状態値リストを更新する。
具体的には、期間算出部１３４は、状態値リストを以下のように更新する。
まず、期間算出部１３４は、読み出されたトレース情報から状態識別子と状態値とを抽出する。
次に、期間算出部１３４は、抽出された状態識別子と同じ状態識別子を状態値リストから選択する。
そして、期間算出部１３４は、選択された状態識別子に対応する状態値を、抽出された状態値に更新する。
【０１３６】
＊＊＊実施の形態２の効果＊＊＊
シミュレーション再現装置１００は、条件が成立する期間を時間軸に示すことができる。これにより、シミュレーション結果の確認効率が向上する。
利用者は、条件式の中に他の条件式を指定することができる。そのため、利用者は、条件式を組み合わせた条件を指定することができる。
【０１３７】
実施の形態３．
条件式が成立した場合に条件式が切り替えられる形態について、図２５から図２６に基づいて説明する。但し、実施の形態１または実施の形態２と重複する説明は省略または簡略する。
【０１３８】
＊＊＊構成の説明＊＊＊
シミュレーション再現装置１００の構成は、実施の形態２と同じである。
【０１３９】
＊＊＊動作の説明＊＊＊
シミュレーション再現方法は、期間算出処理（Ｓ３５０）を除いて、実施の形態２と同じである。期間算出処理（Ｓ３５０）は、実施の形態２と一部異なる。
また、期間算出処理（Ｓ３５０）で用いられる条件データ２３０は、実施の形態２と一部異なる。
【０１４０】
図２５に基づいて、条件データ２３０を説明する。
条件データ２３０は、１つ以上の条件グループを含む。
条件グループは、グループ識別子と１つ以上の条件情報とを含む。
グループ識別子は、条件グループを識別する。
括弧｛｝の前に付された「＄Ｌｘ」がグループ識別子である。
開始識別子「＊」が付されたグループ識別子で識別される条件グループを開始グループという。開始グループは、最初に参照される条件グループである。開始グループは複数あってもよい。
【０１４１】
括弧｛｝の中の各行が条件情報である。
条件情報は、条件識別子と条件式と動作識別子とグループ識別子とを含む。
動作識別子は、動作を識別する。動作識別子「ｇｏ」は、条件式が成立した場合に参照グループが切り替えられる動作を識別する。参照グループは、参照される条件グループである。条件式が成立した場合、参照グループは、グループ識別子で識別される条件グループに切り替えられる。参照グループは複数あってもよい。
参照グループが条件グループ＄Ｌ１であり、条件式「ｌｅｄ１＝１」が成立した場合、参照グループは条件グループ＄Ｌ２に切り替えられる。
参照グループが条件グループ＄Ｌ１であり、条件式「ｓｗ１＝１」が成立した場合、参照グループは条件グループ＄Ｌ３に切り替えられる。
参照グループが条件グループ＄Ｌ２であり、条件式「ｌｅｄ１＝０」が成立した場合、参照グループは条件グループ＄Ｌ１に切り替えられる。
参照グループが条件グループ＄Ｌ３であり、条件式「ｓｎｓ１＞２４」が成立した場合、参照グループは条件グループ＄Ｌ１に切り替えられる。
【０１４２】
括弧｛｝の外にある条件情報は、いずれの条件グループにも属さない条件情報である。
つまり、条件識別子「＃ｃｄ５」で識別される条件式「ｓｎｓ１＜５」は、＄Ｌ１〜＄Ｌ３のいずれの条件グループにも属さない。動作識別子とグループ識別子とを示す欄は空白になっている。
【０１４３】
図２６に基づいて、期間算出処理（Ｓ３５０）を説明する。
ステップＳ３５１１およびステップＳ３５１２は、実施の形態２と同じである。
ステップＳ３５１２の後、処理はステップＳ３５４１に進む。
【０１４４】
ステップＳ３５４１において、期間算出部１３４は、参照リストに開始グループ識別子を設定する。
参照リストは、参照される条件グループのグループ識別子を示す。
開始グループ識別子は、開始グループのグループ識別子である。開始グループ識別子は複数あってもよい。
具体的には、期間算出部１３４は、開始識別子「＊」が付されたグループ識別子を条件データ２３０から選択する。選択されるグループ識別子が開始グループ識別子である。そして、期間算出部１３４は、選択された開始グループ識別子を参照リストに設定する。
ステップＳ３５４１の後、処理はステップＳ３５２１に進む。
【０１４５】
ステップＳ３５２１は、実施の形態２と同じである。
ステップＳ３５２１の後、処理はステップＳ３５４２に進む。
【０１４６】
ステップＳ３５４２において、期間算出部１３４は、ステップＳ３５２１またはステップＳ３５２７で参照された条件式が対象条件式であるか判定する。
対象条件式は、条件グループに属さない条件式または参照グループに含まれる条件式である。
【０１４７】
具体的には、期間算出部１３４は、以下のように判定を行う。
期間算出部１３４は、ステップＳ３５２１またはステップＳ３５２７で参照された条件式が条件グループに属するか判定する。
参照された条件式が条件グループに属さない場合、期間算出部１３４は、参照された条件式が対象条件式であると判定する。
参照された条件式が条件グループに属する場合、期間算出部１３４は、参照された条件式に対応するグループ識別子を参照グループ識別子と比較する。参照された条件式に対応するグループ識別子は、参照された条件式が属する条件グループのグループ識別子である。参照グループ識別子は、参照リストに設定されたグループ識別子である。参照グループ識別子は複数あってもよい。
参照された条件式に対応するグループ識別子が参照グループ識別子と同じグループ識別子である場合、期間算出部１３４は、参照された条件式が対象条件式であると判定する。
参照された条件式に対応するグループ識別子が参照グループ識別子と同じグループ識別子でない場合、期間算出部１３４は、参照された条件式が対象条件式でないと判定する。
【０１４８】
参照された条件式が対象条件式である場合、処理はステップＳ３５２２に進む。
参照された条件式が対象条件式でない場合、処理はステップＳ３５２７に進む。
【０１４９】
ステップＳ３５２２からステップＳ３５２４は、実施の形態２と同じである。
ステップＳ３５２４の後、処理はステップＳ３５４３に進む。
【０１５０】
ステップＳ３５４３において、期間算出部１３４は、参照リストを更新する。
具体的には、期間算出部１３４は、以下のように動作する。
期間算出部１３４は、ステップＳ３５２２で判定された条件式が条件グループに属するか判定する。
判定された条件式が条件グループに属する場合、期間算出部１３４は、今回の判定結果が成立値であるか判定する。
今回の判定結果が成立値である場合、期間算出部１３４は、判定された条件式を含んだ条件情報を条件データ２３０から選択する。そして、期間算出部１３４は、選択された条件情報に動作識別子「ｇｏ」が含まれるか判定する。
選択された条件情報に動作識別子「ｇｏ」が含まれる場合、期間算出部１３４は、選択された条件情報からグループ識別子を抽出する。そして、期間算出部１３４は、参照リストに設定されているグループ識別子を、抽出されたグループ識別子に更新する。
ステップＳ３５４３の後、処理はステップＳ３５２５に進む。
【０１５１】
ステップＳ３５２５からステップＳ３５２７とステップＳ３５３１からステップＳ３５３３は、実施の形態２と同じである。
【０１５２】
＊＊＊実施の形態３の効果＊＊＊
シミュレーション再現装置１００は、判定の対象とする条件グループを切り替えることができる。そのため、利用者は、時系列的な条件の組み合わせを指定することができる。つまり、利用者は、より複雑な条件を指定することができる。
【０１５３】
実施の形態４．
条件式が成立した場合に再現時刻の進め方が切り換えられる形態について、図２７から図３１に基づいて説明する。但し、実施の形態１から実施の形態３と重複する説明は省略または簡略する。
【０１５４】
＊＊＊構成の説明＊＊＊
シミュレーション再現装置１００の構成は、実施の形態３と同じである。
【０１５５】
＊＊＊動作の説明＊＊＊
シミュレーション再現方法は、再生処理（Ｓ３２０）および期間算出処理（Ｓ３５０）を除いて、実施の形態３と同じである。
再生処理（Ｓ３２０）および期間算出処理（Ｓ３５０）は、実施の形態３と一部異なる。
また、期間算出処理（Ｓ３５０）で用いられる条件データ２３０は、実施の形態３と一部異なる。
【０１５６】
図２７に基づいて、条件データ２３０を説明する。
条件データ２３０において、少なくともいずれかの条件情報は、時刻制御情報を含む。
時刻制御情報は、再現時刻の進め方を指定する情報である。
具体的な時刻制御情報は、一時停止情報または速度変更情報である。
一時停止情報は、再生の一時停止を指定する情報である。具体的な一時停止情報は、動作識別子「ｐａｕｓｅ」である。
速度変更情報は、再生速度の変更を指定する情報である。具体的な速度変更情報は、「ｓｐｄ＝ｘ」である。「ｓｐｄ」は動作識別子である。「ｘ」は再生速度である。
「ｓｐｄ＝２」は２倍速を意味する。つまり、通常の２倍の速度で再生が行われる。
「ｓｐｄ＝０．７」は０．７倍速を意味する。つまり、通常の０．７倍の速度で再生が行われる。
【０１５７】
図２８に基づいて、期間算出処理（Ｓ３５０）を説明する。
ステップＳ３５１１からステップＳ３５２４は、実施の形態３と同じである。
ステップＳ３５２４の後、処理はステップＳ３６０に進む。
【０１５８】
ステップＳ３６０は制御リスト生成処理である。
ステップＳ３６０において、期間算出部１３４は、制御リストを生成する。
具体的な制御リストは、一時停止リストおよび速度変更リストである。
一時停止リストは、再生が一時停止される時刻のリストであり、記憶部１９１に記憶される。
速度変更リストは、再生速度が変更される時刻のリストであり、記憶部１９１に記憶される。
制御リスト生成処理（Ｓ３６０）の詳細については後述する。
ステップＳ３６０の後、処理はステップＳ３５４３に進む。
【０１５９】
ステップＳ３５４３、ステップＳ３５２５からステップＳ３５２７およびステップＳ３５３１からステップＳ３５３３は、実施の形態３と同じである。
【０１６０】
図２９に基づいて、制御リスト生成処理（Ｓ３６０）を説明する。
ステップＳ３６１において、期間算出部１３４は、条件式が成立したか判定する。
具体的には、期間算出部１３４は、今回の判定結果が成立値であるか判定する。
条件式が成立した場合、処理はステップＳ３６２に進む。
条件式が成立しない場合、処理は終了する。
【０１６１】
ステップＳ３６２において、期間算出部１３４は、条件式に対応する時刻制御情報があるか判定する。
具体的には、期間算出部１３４は、対象の条件式を含んだ条件情報を条件データ２３０から読み出す。そして、期間算出部１３４は、読み出された条件情報に時刻制御情報が含まれるか判定する。
条件式に対応する時刻制御情報がある場合、処理はステップＳ３６３に進む。
条件式に対応する時刻制御情報がない場合、処理は終了する。
【０１６２】
ステップＳ３６３において、期間算出部１３４は、条件式に対応する時刻制御情報が一時停止情報と速度変更情報とのいずれであるか判定する。
条件式に対応する時刻制御情報が一時停止情報である場合、処理はステップＳ３６４に進む。
条件式に対応する時刻制御情報が速度変更情報である場合、処理はステップＳ３６５に進む。
【０１６３】
ステップＳ３６４において、期間算出部１３４は、変化時刻と条件識別子との組を一時停止リストに追加する。
具体的には、期間算出部１３４は、参照位置に対応するトレース情報をトレースデータ２１０から読み出し、読み出されたトレース情報から変化時刻を抽出する。また、期間算出部１３４は、一時停止情報に対応する条件識別子を条件情報から抽出する。そして、期間算出部１３４は、抽出された変化時刻と抽出された条件識別子との組を一時停止リストに追加する。
【０１６４】
ステップＳ３６５において、期間算出部１３４は、変化時刻と再生速度との組を速度変更リストに追加する。
具体的には、期間算出部１３４は、参照位置に対応するトレース情報をトレースデータ２１０から読み出し、読み出されたトレース情報から変化時刻を抽出する。また、期間算出部１３４は、速度変更情報から再生速度を抽出する。そして、期間算出部１３４は、抽出された変化時刻と抽出された再生速度との組を速度変更リストに追加する。
【０１６５】
図３０に基づいて、再生処理（Ｓ３２０）を説明する。
ステップＳ３２１からステップＳ３２６は、実施の形態１と同じである。
ステップＳ３２６の後、処理はステップＳ３２８に進む。
【０１６６】
ステップＳ３２８は時刻制御処理である。
ステップＳ３２８において、時刻制御部１３１は、時刻制御リストに基づいて、再現時刻の進め方を制御する。
時刻制御処理（Ｓ３２８）の詳細については後述する。
ステップＳ３２８の後、処理はステップＳ３２７に進む。
【０１６７】
ステップＳ３２７は、実施の形態１と同じである。
【０１６８】
図３１に基づいて、時刻制御処理（Ｓ３２８）を説明する。
ステップＳ３２８１において、時刻制御部１３１は、現在の再現時刻が速度変更時刻であるか判定する。
速度変更時刻は、速度変更リストに含まれる時刻である。
現在の再現時刻が速度変更時刻である場合、処理はステップＳ３２８２に進む。
現在の再現時刻が速度変更時刻でない場合、処理はステップＳ３２８３に進む。
【０１６９】
ステップＳ３２８２において、時刻制御部１３１は、再生速度を変更する。
具体的には、時刻制御部１３１は、速度変更時刻に対応する変更速度を速度変更リストから抽出する。以後、時刻制御部１３１は、抽出した再生速度で再現時刻を進める。
具体的には、時刻制御部１３１は、再現時刻を以下のように進める。
再生速度が２倍速である場合、時刻制御部１３１は、単位時間が経過する毎に、２倍の単位時間を再現時刻に加算する。
再生速度が０．７倍速である場合、時刻制御部１３１は、単位時間が経過する毎に、０．７倍の単位時間を再現時刻に加算する。
【０１７０】
ステップＳ３２８３において、時刻制御部１３１は、現在の再現時刻が一時停止時刻であるか判定する。
一時停止時刻は、一時停止リストに含まれる時刻である。
現在の再現時刻が一時停止時刻である場合、処理はステップＳ３２８４に進む。
現在の再現時刻が一時停止時刻でない場合、処理は終了する。
【０１７１】
ステップＳ３２８４において、時刻制御部１３１は、再現時刻の更新を停止する。
【０１７２】
ステップＳ３２８５において、時刻制御部１３１は、一時停止時刻に対応する条件識別子を一時停止リストから抽出する。
画像生成部１３３は、条件識別子を示す識別子画像を生成する。そして、表示部１９６は、識別子画像を表示する。
【０１７３】
ステップＳ３２８６において、時刻制御部１３１は、再開指示が受け付けられるまで待機する。そして、再開指示が受け付けられた後、時刻制御部１３１は、再現時刻の更新を再開する。
ステップＳ３２８６の後、処理は終了する。
【０１７４】
＊＊＊実施の形態４の効果＊＊＊
シミュレーション再現装置１００は、条件が成立したときに再生表示を一時停止させることができる。そのため、利用者は、エラーの条件を設定することで、エラーが発生したときに再現表示を一時停止させることができる。
シミュレーション再現装置１００は、条件が成立したときに再生速度を変更することができる。そのため、利用者は、エラーの条件を設定することで、エラーが発生した後に再生速度を遅くすることができる。また、利用者は、正常の条件を設定することで、エラーが発生するまで再生速度を速くすることができる。
【０１７５】
＊＊＊実施の形態の補足＊＊＊
実施の形態において、シミュレーション再現装置１００の機能はハードウェアで実現してもよい。
図３２に、シミュレーション再現装置１００の機能がハードウェアで実現される場合の構成を示す。
シミュレーション再現装置１００は処理回路９９０を備える。処理回路９９０はプロセッシングサーキットリともいう。
処理回路９９０は、実施の形態で説明した「部」の機能を実現する専用の電子回路である。この「部」には記憶部１９１も含まれる。
具体的には、処理回路９９０は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ、ＡＳＩＣ、ＦＰＧＡまたはこれらの組み合わせである。ＧＡはＧａｔｅ  Ａｒｒａｙの略称であり、ＡＳＩＣはＡｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略称であり、ＦＰＧＡはＦｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略称である。
なお、シミュレーション再現装置１００が複数の処理回路９９０を備えて、複数の処理回路９９０が「部」の機能を連携して実現してもよい。
【０１７６】
シミュレーション再現装置１００の機能は、ソフトウェアとハードウェアとの組み合わせで実現してもよい。つまり、「部」の一部をソフトウェアで実現し、「部」の残りをハードウェアで実現してもよい。
【０１７７】
実施の形態は、好ましい形態の例示であり、本発明の技術的範囲を制限することを意図するものではない。実施の形態は、部分的に実施してもよいし、他の形態と組み合わせて実施してもよい。フローチャート等を用いて説明した手順は、適宜に変更してもよい。
【符号の説明】
【０１７８】
１００  シミュレーション再現装置、１１０  受付制御部、１２０  シミュレーション部、１２１  時刻制御部、１２２  実行部、１２３  画像生成部、１３０  再現部、１３１  時刻制御部、１３２  状態管理部、１３３  画像生成部、１３４  期間算出部、１９１  記憶部、１９５  受付部、１９６  表示部、２００  状態画像、２０１  時刻部品、２０２  ＬＥＤ部品、２０３  スイッチ部品、２０４  センサ部品、２０５  レジスタ部品、２１０  トレースデータ、２２０  時刻指定画像、２２１  時刻部品、２２２  指定時間軸、２２３  つまみ、２２４  補助線、２２５  状態時間軸、２２６  変化線、２２７  条件時間軸、２２８  条件成立期間、２２９  条件識別子、２３０  条件データ、２４１  状態識別子、２４２  比較演算子、２４３  数値、２４４  条件識別子、２４５  論理演算子、２４６  条件識別子、２４７  否定演算子、２４８  否定演算子、２４９  論理値、９０１  プロセッサ、９０２  メモリ、９０３  補助記憶装置、９０７  入力装置、９０８  ディスプレイ、９９０  処理回路。
【図１】
2017179120.tif 000003
【図２】
2017179120.tif 000004
【図３】
2017179120.tif 000005
【図４】
2017179120.tif 000006
【図５】
2017179120.tif 000007
【図６】
2017179120.tif 000008
【図７】
2017179120.tif 000009
【図８】
2017179120.tif 000010
【図９】
2017179120.tif 000011
【図１０】
2017179120.tif 000012
【図１１】
2017179120.tif 000013
【図１２】
2017179120.tif 000014
【図１３】
2017179120.tif 000015
【図１４】
2017179120.tif 000016
【図１５】
2017179120.tif 000017
【図１６】
2017179120.tif 000018
【図１７】
2017179120.tif 000019
【図１８】
2017179120.tif 000020
【図１９】
2017179120.tif 000021
【図２０】
2017179120.tif 000022
【図２１】
2017179120.tif 000023
【図２２】
2017179120.tif 000024
【図２３】
2017179120.tif 000025
【図２４】
2017179120.tif 000026
【図２５】
2017179120.tif 000027
【図２６】
2017179120.tif 000028
【図２７】
2017179120.tif 000029
【図２８】
2017179120.tif 000030
【図２９】
2017179120.tif 000031
【図３０】
2017179120.tif 000032
【図３１】
2017179120.tif 000033
【図３２】
2017179120.tif 000034
【手続補正書】
【提出日】平成30年1月12日(2018.1.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
対象システムの状態の変化がシミュレーションされた後、シミュレーションの対象となったシミュレーション期間の中の時刻である指定時刻を受け付ける受付部と、
前記対象システムの状態の変化をシミュレーションして得られたデータであって前記対象システムの状態が変化した変化時刻と前記対象システムの状態を示す状態値とを含んだデータであるトレースデータから前記指定時刻に対応する変化時刻を選択し、選択された変化時刻に対応する状態値を前記トレースデータから取得する状態管理部と、
取得された状態値に対応する状態を示す状態画像を生成する画像生成部と、
生成された状態画像を表示する表示部とを備え、
前記画像生成部は、前記指定時刻の指定に用いられる画像であってそれぞれの変化時刻に対応する箇所に記号が付された状態時間軸を含んだ画像である時刻指定画像を生成し、
前記表示部は、前記時刻指定画像を表示し、
前記受付部は、前記時刻指定画像を介して指定される時刻を前記指定時刻として受け付ける
シミュレーション再現装置。
【請求項２】
前記時刻指定画像は、前記状態時間軸と並列に並べて配置される指定時間軸と、前記指定時間軸に沿って移動するつまみと、前記つまみと連動して前記状態時間軸に沿って移動する記号とを含み
前記受付部は、前記つまみの移動によって指定される時刻を前記指定時刻として受け付ける
請求項１に記載のシミュレーション再現装置。
【請求項３】
前記シミュレーション再現装置は、前記トレースデータを用いて、状態値に関する条件式が成立する条件成立期間を算出する期間算出部を備え、
前記画像生成部は、それぞれの条件成立期間を他の期間と区別して示す条件時間軸を前記時刻指定画像に含める
請求項１に記載のシミュレーション再現装置。
【請求項４】
前記シミュレーション再現装置は、受付制御部を備え、
前記受付部は、条件式を含んだ条件情報を受け付け、
前記受付制御部は、受け付けられた条件情報を条件データに登録し、
前記期間算出部は、前記条件データに登録された条件情報に含まれる条件式が成立する期間を前記条件成立期間として算出する
請求項３に記載のシミュレーション再現装置。
【請求項５】
前記条件データに登録される条件情報のそれぞれは条件識別子を含み、
前記受付部は、条件識別子を含んだ条件指定情報を受け付け、
前記期間算出部は、前記条件指定情報に含まれる条件識別子で識別される条件情報を前記条件データから選択し、選択された条件情報に含まれる条件式が成立する期間を前記条件成立期間として算出する
請求項４に記載のシミュレーション再現装置。
【請求項６】
前記条件データは複数の条件グループを含み、
前記複数の条件グループのそれぞれはグループ識別子と１つ以上の条件情報とを含み、
少なくともいずれかの条件情報はグループ識別子を含み、
前記期間算出部は、グループ識別子を含んだ条件情報に含まれる条件式が成立した後、当該条件情報に含まれるグループ識別子で識別される条件グループに含まれる条件情報を対象にして前記条件成立期間を算出する
請求項４に記載のシミュレーション再現装置。
【請求項７】
前記シミュレーション再現装置は、再現時刻を制御する時刻制御部を備え、
前記条件データに登録される条件情報の少なくともいずれかは、前記再現時刻の進め方を指定する時刻制御情報を含み、
前記期間算出部は、時刻制御情報を含んだ条件情報に含まれる条件式が成立する時刻を算出し、算出された時刻を当該条件情報に含まれる時刻制御情報に対応付けて時刻制御リストに登録し、
前記時刻制御部は、前記再現時刻が前記時刻制御リストに登録された時刻と同じ時刻になった後、当該時刻に対応付けられた時刻制御情報に従って前記再現時刻の進め方を変え、
前記状態管理部は、前記再現時刻が前記トレースデータに含まれる変化時刻と同じ時刻になった場合、前記再現時刻と同じ時刻である変化時刻に対応する状態値を前記トレースデータから取得し、
前記画像生成部は、取得された状態値に対応する状態を示す状態画像を生成し、
前記表示部は、生成された状態画像を表示する
請求項４に記載のシミュレーション再現装置。
【請求項８】
前記時刻制御部は、前記再現時刻が一時停止に対応付けられた時刻と同じ時刻になった後、前記再現時刻の更新を一時停止する
請求項７に記載のシミュレーション再現装置。
【請求項９】
前記時刻制御部は、前記再現時刻が速度変化に対応付けられた時刻と同じ時刻になった後、前記再現時刻を進める速度を変える
請求項７に記載のシミュレーション再現装置。
【請求項１０】
対象システムの状態の変化がシミュレーションされた後、シミュレーションの対象となったシミュレーション期間の中の時刻である指定時刻を受け付ける受付処理と、
前記対象システムの状態の変化をシミュレーションして得られたデータであって前記対象システムの状態が変化した変化時刻と前記対象システムの状態を示す状態値とを含んだデータであるトレースデータから前記指定時刻に対応する変化時刻を選択し、選択された変化時刻に対応する状態値を前記トレースデータから取得する状態管理処理と、
取得された状態値に対応する状態を示す状態画像を生成する画像生成処理と、
生成された状態画像を表示する表示処理と
をコンピュータに実行させるためのシミュレーション再現プログラムであって、
前記画像生成処理は、前記指定時刻の指定に用いられる画像であってそれぞれの変化時刻に対応する箇所に記号が付された状態時間軸を含んだ画像である時刻指定画像を生成し、
前記表示処理は、前記時刻指定画像を表示し、
前記受付処理は、前記時刻指定画像を介して指定される時刻を前記指定時刻として受け付ける
シミュレーション再現プログラム
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】変更
【補正の内容】
【００２９】
図７に基づいて、トレースデータ２１０を説明する。
トレースデータ２１０は、１つ以上のトレース情報を含む。図中の１行がトレース情報に相当する。
トレース情報は、時刻識別子とトレース時刻と状態識別子と状態値とを含む。
時刻識別子は、トレース時刻を識別する。具体的な時刻識別子は「ｔｉｍｅ」である。  トレース時刻は、開始前時刻、変化時刻または終了時刻である。
開始前時刻は、シミュレーション前の時刻である。第１行から第４行のトレース情報に含まれる「ｔｉｍｅ＝−１」は、開始前時刻を示している。
変化時刻は、対象システムの状態が変化した時刻である。第５行から第７行のトレース情報に含まれる「ｔｉｍｅ＝ｘｘｘｘ」は、変化時刻を示している。
終了時刻は、シミュレーションが終了した時刻である。第８行のトレース情報に含まれる「ｔｉｍｅ＝５０００」は、終了時刻を示している。このトレース情報は最後のトレース情報である。最後のトレース情報は、状態識別子の代わりに終了識別子「ｅｎｄ」を含む。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００５５
【補正方法】変更
【補正の内容】
【００５５】
ステップＳ３１３において、状態管理部１３２は、トレース情報が終了時刻情報であるか判定する。終了時刻情報は、終了時刻を含んだトレース情報である。
具体的には、状態管理部１３２は、終了識別子「ｅｎｄ」がトレース情報に含まれるか判定する。「ｅｎｄ」が含まれるトレース情報は終了時刻情報である。
トレース情報が終了時刻情報である場合、処理はステップＳ３１７に進む。
トレース情報が終了時刻情報でない場合、処理はステップＳ３１４に進む。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００９６
【補正方法】変更
【補正の内容】
【００９６】
次に、ステップＳ３４４１からステップＳ３４４６を図１８に基づいて説明する。
ステップＳ３４４１において、状態管理部１３２は、参照位置に対応するトレース情報をトレースデータ２１０から読み出す。
【国際調査報告】
2017179120.tif 000035
2017179120.tif 000036
2017179120.tif 000037
2017179120.tif 000038