(57)【要約】【課題】  直接的または間接的に連携が可能な複数のシミュレータに、シミュレータ動作シナリオに基づくシミュレータ動作を実行させる。【解決手段】  シミュレーション装置は、直接的または間接的に連携が可能なシミュレータ105、106を有する。シナリオ保存部102は、時間情報を有するシミュレータ動作シナリオを保存する。シナリオ選択部103は、実行するシミュレータ動作シナリオを選択する。シナリオ実行部104は、選択されたシミュレータ動作シナリオから最小時間のシミュレータ動作シナリオである要素シナリオを抽出し、連携するシミュレータ105、106の少なくとも一つに要素シナリオを伝達して、シミュレータの同期を取り、シミュレータにシミュレータ動作を実行させる。【選択図】  図1
2014029639.tif 000002
【特許請求の範囲】
【請求項１】
直接的または間接的に連携が可能なシミュレータを複数有する情報処理装置であって、
時間情報を有するシミュレータ動作シナリオを保存するシナリオ保存手段と、
前記保存されたシミュレータ動作シナリオから実行するシミュレータ動作シナリオを選択する選択手段と、
前記選択されたシミュレータ動作シナリオから最小時間のシミュレータ動作シナリオである要素シナリオを抽出し、前記要素シナリオを連携する複数のシミュレータの少なくとも一つに伝達して、前記複数のシミュレータの同期を取り、前記複数のシミュレータにシミュレータ動作を実行させる実行手段とを有することを特徴とする情報処理装置。
【請求項２】
前記実行手段は、前記要素シナリオを伝達した後、前記複数のシミュレータからシミュレータ動作の終了通知を受信すると、次の要素シナリオの前記抽出と前記伝達を実行することを特徴とする請求項1に記載された情報処理装置。
【請求項３】
前記実行手段は、前記要素シナリオの抽出の開始時にシナリオ取得済み時間を初期化し、前記要素シナリオを取得すると、当該要素シナリオの時間情報によって前記シナリオ取得済み時間を更新することを特徴とする請求項1または請求項2に記載された情報処理装置。
【請求項４】
前記選択手段は複数のシミュレータ動作シナリオを選択し、
前記実行手段は、前記選択された複数のシミュレータ動作シナリオそれぞれに基づくシミュレータ動作を、連携する複数のシミュレータまたは連携しない複数のシミュレータに実行させることを特徴とする請求項1から請求項3の何れか一項に記載された情報処理装置。
【請求項５】
さらに、前記複数のシミュレータの動作結果を保存する結果保存手段を有することを特徴とする請求項1から請求項4の何れか一項に記載された情報処理装置。
【請求項６】
さらに、発生現象の要因分析のためにシミュレータの動作結果に施す算術処理を入力する入力手段を有することを特徴とする請求項5に記載された情報処理装置。
【請求項７】
さらに、前記算術処理を前記結果保存手段が保存する動作結果に施す算術処理手段と、
前記結果保存手段が保存する動作結果および前記算術処理の結果の少なくとも一方を表示する表示手段とを有することを特徴とする請求項6に記載された情報処理装置。
【請求項８】
さらに、装置の動作結果から前記シミュレータ動作シナリオを生成する生成手段を有することを特徴とする請求項1から請求項7の何れか一項に記載された情報処理装置。
【請求項９】
前記情報処理装置は、前記シミュレータとして、電気回路のシミュレータ、ソフトウェアのシミュレータ、メカニカル機構のシミュレータ、物理現象のシミュレータのうち少なくとも二つを有することを特徴とする請求項1から請求項8の何れか一項に記載された情報処理装置。
【請求項１０】
前記実行手段は、前記要素シナリオを複数抽出することを特徴とする請求項1から請求項9の何れか一項に記載された情報処理装置。
【請求項１１】
前記実行手段は、前記最小時間のシミュレータ動作シナリオである要素シナリオに加えて、当該要素シナリオに続く要素シナリオを抽出することを特徴とする請求項1から請求項10の何れか一項に記載された情報処理装置。
【請求項１２】
直接的または間接的に連携が可能なシミュレータを複数有する情報処理装置の情報処理方法であって、
シナリオ保存手段が、時間情報を有するシミュレータ動作シナリオを保存し、
選択手段が、前記保存されたシミュレータ動作シナリオから実行するシミュレータ動作シナリオを選択し、
実行手段が、前記選択されたシミュレータ動作シナリオから最小時間のシミュレータ動作シナリオである要素シナリオを抽出し、連携する複数のシミュレータの少なくとも一つに前記要素シナリオを伝達して、前記複数のシミュレータの同期を取り、前記複数のシミュレータにシミュレータ動作を実行させることを特徴とする情報処理方法。
【請求項１３】
コンピュータを請求項1から請求項11の何れか一項に記載された情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のシミュレータを連携させる情報処理に関する。
【背景技術】
【０００２】
製品開発において、製品が想定どおり動作しない不具合の原因分析（以下、不具合解析）において、実機の動作結果を出力し、その出力に基づき不具合解析を行う手法は一般的である。しかし、LSI内部信号のように実機の動作結果を出力し辛い情報があり、不具合解析が困難な場合がある。また、様々なパラメータを有するメカニカル部品を準備して、実機の動作を検証する場合、多大な検証時間と金銭的なコストを必要とする。
【０００３】
そのため、比較的情報を取り出し易く、かつ、メカニカル部品の特性など、製品構成要素のパラメータを変更し易いように、シミュレーション技術を製品開発に活用することが一般化した。シミュレーション技術においては、各種パラメータを変更することが比較的容易なため、様々なパラメータを設定して不具合解析を行うことができる。
【０００４】
特許文献1は、複数の異なるシミュレータを連携動作させるシミュレータ装置を記載する。この装置において、メカニカル機構、電気回路、ソフトウェアの各シミュレータが連携して動作する。
【０００５】
しかし、特許文献1の技術において、シミュレータで検証したい現象（例えば、実機テストで発生した不具合現象）を解析するには、シミュレーションの実行結果から該当する現象が発生した結果を抽出し、その結果を分析する必要がある。そのため、解析したい現象に該当する結果を得るために、様々な条件のシミュレーションが必要になる場合があり、その場合はシミュレーションの実行時間や実行結果の選別に多大な時間を要する。
【０００６】
また、特許文献2は、外部からシミュレータへ動作シナリオを入力し、その動作シナリオによってシミュレータを強制的に動作させる手法を記載する。例えば、メカニカル機構のシミュレータ（以下、メカシミュレータ）に動作シナリオを入力し、その動作シナリオに従ってメカシミュレータを動作させることでメカニカル機構の動きを検証する。
【０００７】
特許文献2は、メカシミュレータや電気回路シミュレータなどの単一のシミュレータを開示する。しかし、現実の製品全体をシミュレートするには、例えばメカシミュレータ、電気回路シミュレータ、ソフトウェアシミュレータを連携させた統合的なシミュレータが必要である。従って、特許文献2が開示する単一のシミュレータごとに外部から動作シナリオを入力して、それらシミュレータを同期させて動作させるには、シミュレータの実行環境の構築に多大な時間を要する。
【０００８】
勿論、シミュレータの組み合わせパタンは検証したい製品構成などにより様々であり、その都度、シミュレータの実行環境を構築する必要がある。
【０００９】
このように、シミュレータを用いて特定の現象に対する分析を行う場合、様々な条件でシミュレーションを行い、それらの結果から特定の現象を選び出す必要がある。また、単一のシミュレータであれば、外部から入力した動作シナリオに基づくシミュレーションは一般的であり容易である。しかし、統合的なシミュレータを動作シナリオに基づき動作させることは容易ではない。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開2011-107962号公報
【特許文献２】特開平9-081600号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本発明は、直接的または間接的に連携が可能な複数のシミュレータに、シミュレータ動作シナリオに基づくシミュレータ動作を実行させることを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００１３】
本発明にかかる情報処理は、直接的または間接的に連携が可能なシミュレータを複数有する情報処理装置において、時間情報を有するシミュレータ動作シナリオを保存し、前記保存されたシミュレータ動作シナリオから実行するシミュレータ動作シナリオを選択し、前記選択されたシミュレータ動作シナリオから最小時間のシミュレータ動作シナリオである要素シナリオを抽出し、連携する複数のシミュレータの少なくとも一つに前記要素シナリオを伝達して、前記複数のシミュレータの同期を取り、前記複数のシミュレータにシミュレータ動作を実行させることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、直接的または間接的に連携が可能な複数のシミュレータに、シミュレータ動作シナリオに基づくシミュレータ動作を実行させることができる。
【図面の簡単な説明】
【００１５】
【図１】実施例1のシミュレーション装置の機能構成例を説明するブロック図。
【図２】シミュレータ動作シナリオの一例を説明する図。
【図３】シミュレーション装置の動作を説明するフローチャート。
【図４】シミュレータ動作シナリオの選択に使用するUIの一例を示す図。
【図５】シナリオ実行部の構成例を説明するブロック図。
【図６】シナリオ実行部の動作例を説明するフローチャート。
【図７】算術処理方法を入力するUIの一例を示す図。
【図８】算術処理方法の詳細設定例を説明する図。
【図９】変化率等の表示例を説明する図。
【図１０】タイミングチャートを用いた発生現象の要因分析手法におけるタイミングチャートの表示例を説明する図。
【図１１】変化率の算出結果とタイミングチャートの表示を連携した表示例を示す図。
【図１２】ヒストグラムを用いた発生現象の要因分析手法におけるヒストグラムの表示例を説明する図。
【図１３】実施例2のシミュレーション装置の機能構成例を示すブロック図。
【図１４】実施例2のシナリオ実行部の構成例を説明するブロック図。
【図１５】実施例3のシミュレーション装置の機能構成例を示すブロック図。
【図１６】実施例4のシミュレーション装置の機能構成例を示すブロック図。
【発明を実施するための形態】
【００１６】
以下、本発明にかかる実施例のシミュレーションを行う情報処理装置（以下、シミュレーション装置）とその情報処理を図面を参照して詳細に説明する。
【実施例１】
【００１７】
［装置の構成］
図1のブロック図により実施例1のシミュレーション装置の機能構成例を説明する。なお、図1に示す機能構成は、コンピュータ機器にシミュレーションのプログラムを供給し、コンピュータ機器が当該プログラムを実行することで実現される。
【００１８】
●シミュレータ
シミュレーション装置はシミュレータを複数有する。
【００１９】
電気回路シミュレータ105は、電気回路をシミュレートするシミュレータである。例えば、電子部品の一つであるASIC (application specific integrated circuit)の動作や、回路基板全体の電気回路の動作をソフトウェアでシミュレートするシミュレータが挙げられる。また、電気回路シミュレータ105には、電気回路の一部もしくはすべてをFPGA (field programmable gate array)などの電気回路で実現したエミュレータも含まれる。つまり、電気回路シミュレータ105は、電気回路をソフトウェアでシミュレートするシミュレータとエミュレータを組み合わせたシミュレータを含んでもよい。
【００２０】
ソフトウェアシミュレータ106は、ソフトウェアの動作をシミュレートするシミュレータである。例えば、命令セットシミュレータ(instruction set simulator: ISS)のように、CPUの命令動作をソフトウェアでシミュレートするシミュレータが挙げられる。また、ソフトウェアシミュレータ106は、統一モデリング言語(unified modeling language: UML)などのモデリング言語を用いるシミュレータを含んでもよい。
【００２１】
ただし、実施例における電気回路シミュレータ105、ソフトウェアシミュレータ106は、上記のシミュレータ例に限定されるものではない。
【００２２】
電気回路シミュレータ105とソフトウェアシミュレータ106は信号のやり取りによって連携して動作するものとする。つまり、電気回路シミュレータ105の動作はソフトウェアシミュレータ106の動作結果の影響を受け、ソフトウェアシミュレータ106の動作は電気回路シミュレータ105の動作結果の影響を受ける。図1には、破線によって電気回路シミュレータ105とソフトウェアシミュレータ106を結んで、それらが直接的に連携する構成を記載する。しかし、シミュレータ間に連携を管理する構成、例えば連携管理機能を実現するプログラムによる連携管理部を備え、連携管理部を介して間接的にシミュレータを連携させることができる。
【００２３】
●動作シナリオに関する構成
シミュレータを動作させるためのシナリオ（以下、シミュレータ動作シナリオ）は、少なくとも時間情報と信号変化を示す情報を有する。図2によりシミュレータ動作シナリオの一例を説明する。図2において、列1601はセンサやモータなどの信号種別を、列1602は時間を、列1603は信号名を、列1604は信号変換をそれぞれ示す。
【００２４】
図1において、シナリオ生成部101は、シミュレータ動作シナリオを生成し、生成したシミュレータ動作シナリオをシナリオ保存部102に保存する。シナリオ選択部103は、シナリオ保存部102に保存されたシミュレータ動作シナリオを選択し、選択したシミュレータ動作シナリオを、シミュレータを同期させて動作させるシナリオ実行部104に供給する。
【００２５】
なお、シミュレータ動作シナリオは、シナリオ生成部101により生成される場合に加え、予め生成されたシミュレータ動作シナリオをシナリオ保存部102が保持しておいてもよい。また、シナリオ生成部101がユーザインタフェイスを備え、ユーザ指示により、シミュレータ動作シナリオを生成してもよい。
【００２６】
●シミュレータ動作結果に関する構成
動作結果出力部107は、電気回路シミュレータ105またはソフトウェアシミュレータ106の動作結果、あるいは、それら両方の動作結果を動作結果保存部108に保存する。入力部109は、図示しないモニタに表示されたユーザインタフェイス(UI)、キーボード、ポインティングデバイスなどからなり、シミュレータ動作結果を用いて現象の原因を分析するための算術処理方法を入力する。なお、以下では、発生現象の原因を分析することを「発生現象の要因分析」と呼ぶ場合がある。
【００２７】
算術処理部110は、入力部109が入力した算術処理方法に従い、動作結果保存部108が保存するシミュレータ動作結果に算術処理を施す。表示部111は、図示しないモニタなどに、UI、動作結果保存部108が保存するシミュレータ動作結果、算術処理部110の算術処理の結果などを表示する。
【００２８】
［装置の動作］
図3のフローチャートによりシミュレーション装置の動作を説明する。
【００２９】
まず、算術処理を行うか否かを判定し(S201)、算術処理を行う場合は入力部109を用いて算術処理方法を入力する(S202)。なお、算術処理方法の入力の詳細は後述する。
【００３０】
次に、シナリオ選択部103は、シミュレータ動作シナリオを選択し、選択したシミュレータ動作シナリオをシナリオ実行部104に入力する(S203)。ユーザは、シナリオ保存部102が保存する任意のシミュレータ動作シナリオを選択し、選択したシミュレータ動作シナリオでシミュレーション装置を動作させることにより、再現したい現象のみをシミュレートすることが可能になる。
【００３１】
図4によりシミュレータ動作シナリオの選択に使用するUIの一例を示す。リストボックス301にはシナリオ保存部102に保存されたシミュレータ動作シナリオがリストされる。ユーザは、リストボックス301のシミュレータ動作シナリオを選択し、追加ボタン302を押して、リストボックス303に追加する。
【００３２】
リストボックス303は、シミュレータへの入力が決まったシミュレータ動作シナリオのリストを表示する。ユーザは、リストボックス303からシミュレータ動作シナリオを削除する場合は、当該シミュレータ動作シナリオを選択し、削除ボタン304を押す。また、ユーザは、シミュレータへ入力するシミュレータ動作シナリオの選択が終了すると、選択終了ボタン305を押す。
【００３３】
選択終了ボタン305が押されると、シナリオ実行部104は、選択されたシミュレータ動作シナリオに基づき、電気回路シミュレータ105とソフトウェアシミュレータ106の同期を取りながら、それらシミュレータを動作させる(S204)。なお、シミュレータの動作の詳細は後述する。
【００３４】
シミュレータの動作が終了すると、動作結果出力部107は、シミュレータ動作結果を動作結果保存部108に保存する(S205)。次に、算術処理部110は、算術処理方法が設定されているか否かを判定し(S206)、設定されている場合は動作結果保存部108に保存されたシミュレータ動作結果に算術処理を施す(S207)。次に、表示部111は、動作結果保存部108に保存されたシミュレータ動作結果および/または算術処理結果を図示しないモニタなどに表示する(S208)。
【００３５】
［シナリオ実行部］
図5のブロック図によりシナリオ実行部104の構成例を説明する。
【００３６】
図5にはシナリオ保存部102、シナリオ実行部104、電気回路シミュレータ105、ソフトウェアシミュレータ106を示し、シナリオ選択部103の記載を省略する。上述したように、シナリオ選択部103がシナリオ保存部102から選択したシミュレータ動作シナリオがシナリオ実行部104に入力される。
【００３７】
シナリオ実行部104は、シミュレータ管理部401とシナリオ管理部402を有する。また、電気回路シミュレータ105は時間管理部403を有し、ソフトウェアシミュレータ106は時間管理部404を有する。
【００３８】
図6のフローチャートによりシナリオ実行部104の動作例を説明する。
【００３９】
シナリオ管理部402は、内部変数であるシナリオ取得済み時間を0に初期化する(S501)。そして、シナリオ保存部102に保存された、選択されたシミュレータ動作シナリオからシナリオ取得済み時間以上かつ最小時間のシミュレータ動作シナリオを抽出する(S502)。つまり、シナリオ管理部402は、選択されたシミュレータ動作シナリオから、時間1602がシナリオ取得済み時間以上かつ最小時間の信号変化を探索する。そして、探索結果の信号変化の情報（信号種別1601、時間1602、信号名1603、信号変化1604）を最小時間のシミュレータ動作シナリオ（以下、要素シナリオ）として取得する。なお、取得する信号変化の情報は複数でもよい。さらに、要素シナリオに加えて、当該要素シナリオに続く二番目以降の要素シナリオを含むように、要素シナリオを複数抽出してもよい。
【００４０】
次に、シナリオ管理部402は、要素シナリオを取得したか否かを判定し(S503)、要素シナリオを取得しなかった場合、選択されたシミュレータ動作シナリオが終了したとして処理を終了する。また、要素シナリオを取得した場合、シナリオ管理部402は、シナリオ取得済み時間を要素シナリオの時間1602に更新する(S504)。
【００４１】
次に、シナリオ管理部402は、取得した要素シナリオを電気回路シミュレータ105の時間管理部403と、ソフトウェアシミュレータ106の時間管理部404に伝達する(S505)。なお、ステップS502で、一方のシミュレータだけが実行すべき要素シナリオを取得した場合は、一方のシミュレータの時間管理部だけに要素シナリオを伝達する。さらに、シナリオ管理部402は、要素シナリオを伝達した旨をシミュレータ管理部401に通知する(S506)。
【００４２】
時間管理部403と404は、シナリオ管理部402から要素シナリオを受信すると(S511)、要素シナリオの時間1602までシミュレータを進める(S512)。そして、シミュレータ動作が終了すると(S513)、シミュレータ動作の終了をシナリオ実行部104のシミュレータ管理部401に通知し(S514)、処理をステップS511に戻す。
【００４３】
シミュレータ管理部401は、シナリオ管理部402から要素シナリオを伝達した旨を示す通知（以下、要素シナリオの伝達通知）を受信したか否かを判定する(S521)。そして、要素シナリオの伝達通知を受信すると、全シミュレータの時間管理部（この例では時間管理部403と404）からシミュレータ動作の終了通知を受信したか否かを判定する(S522)。そして、全シミュレータの時間管理部からシミュレータ動作の終了通知を受信するとシミュレータ動作終了をシナリオ管理部402に通知し(S523)、処理をステップS521に戻す。
【００４４】
シナリオ管理部402は、シミュレータ管理部401からシミュレータ動作終了の通知を受信すると(S507)、処理をステップS502に戻して、次の要素シナリオの取得を実行する。
【００４５】
シナリオ実行部104は、ステップS502からS507の動作を、シナリオ管理部402がシナリオ保存部102から要素シナリオを取得できなくなるまで繰り返す。シナリオ実行部104は、上記の時間管理によってシミュレータの同期を取り、シミュレータ動作シナリオに基づきシミュレータを動作させる。
【００４６】
［算術処理方法の入力］
図7により算術処理方法を入力するUIの一例を示す。
【００４７】
ユーザは、図7に示すUIのリストボックス701を参照して、算術処理方法を入力する。つまり、リストボックス701に表示された要因分析手法のチェックボックスをチェックして所望する要因分析手法を選択し、「結果表示」ボタン702を押すと、選択された要因分析手法が算術処理方法として入力される。なお、図7は、要因分析手法の一例として変化率算出、タイミングチャート、ヒストグラムが選択された様子を示すが、主成分分析やクラスタ分析なども選択可能である。
【００４８】
図8により算術処理方法の詳細設定例を説明する。なお、図8には変化率算出の詳細設定例を示す。
【００４９】
変化率算出においては、シミュレータ動作結果の中で変化率を算出するポイント（以下、変化率算出ポイント）を設定する。また、変化率として、時間の変化率（時間測定）と信号値の変化率（信号値測定）が考えられる。
【００５０】
時間測定は、任意の信号が任意の状態になった（測定開始トリガ）後、別の任意の信号が任意の状態になる（測定終了トリガ）までの変化率を算出することである。図8の時間測定欄801は、測定開始トリガを「Aセンサがオン」に、測定終了トリガを「Bセンサがオン」にそれぞれ設定された例を示す。
【００５１】
また、信号値測定は、任意の信号がある状態になった時（測定トリガ）、別の任意の信号（以下、測定対象信号）の値の変化または変化率を算出することである。図8の信号値測定欄804は、測定トリガを「Aセンサがオン」に、測定対象信号を「C電圧」にそれぞれ設定された例を示す。このように、ユーザは、観察したいポイントを任意に設定することが可能である。以下では、変化率を例に説明する。変化率を求めることで、誤差などの許容可能な範囲を考慮することができる。
【００５２】
ユーザが、時間測定欄801の各項目を設定し、追加ボタン802を押すと、時間測定の設定内容が変化率算出ポイント欄803に入力される。同様に、ユーザが、信号値測定欄804の各項目を設定し、追加ボタン805を押すと、信号値測定の設定内容が変化率算出ポイント欄803に入力される。
【００５３】
また、ユーザは、変化率算出ポイント欄803にリストされた不要な変化率算出ポイントを選択し、「削除」ボタン806を押すと、当該変化率算出ポイントが変化率算出ポイント欄803から削除される。ユーザは、変化率算出の詳細設定が終了したと判断すると、「設定終了」ボタン807を押す。
【００５４】
なお、変化率算出は、時間測定と信号値測定に限られるわけではない。また、信号値測定の測定トリガとして、例えば、任意の信号が任意の値になってから測定トリガになるまでの遅延時間や、多数の信号の条件が揃った時なども設定することができる。つまり、信号の状態によって特定することができる他の条件を、信号値測定のトリガとしてもよい。
【００５５】
［算術処理結果の表示］
次に、発生現象の要因分析を行う算術処理の四例を挙げて、算術処理結果の表示を説明する。勿論、算術処理は、この四例に限られるわけではない。
【００５６】
●変化率、SN比、感度の表示
任意の現象に対する任意の要因の変化率、SN比、感度（以下、まとめて「変化率等」と呼ぶ場合がある）を表示する例を説明する。
【００５７】
例えば、変化率等の算出条件が設定され、不具合が発生した場合のシミュレータ動作シナリオ（以下、不具合発生シナリオ）と不具合が発生しない場合のシミュレータ動作シナリオ（以下、不具合非発生シナリオ）が選択されたとする。そして、それらシミュレータ動作シナリオによるシミュレータ動作結果と、変化率等の算出条件に準じて変化率、SN比、感度が算出され、それら算出結果（算術処理結果）が表示される。
【００５８】
検証すべき信号の一例としては、任意のポイントの「電圧値」や「あるセンサのオンのタイミングから別のセンサのオンのタイミングまでの時間」が挙げられる。次に、不具合発生シナリオと不具合非発生シナリオそれぞれのシミュレータ動作結果に対して、検証すべき信号の値を抽出する。そして、下式により変化率(%)、SN比(db)、感度(db)を算出する。
変化率：cr = |(m2-m1)×100/m1|      …(1)
S/N比：η = 10log(m2/σ2)            …(2)
感度：S = 10log m2                  …(3)
ここで、m1は不具合発生シナリオのシミュレータ動作結果から抽出した値、
m2は不具合非発生シナリオのシミュレータ動作結果から抽出した値、
mは抽出値の平均値、
σは抽出値の標準偏差。
【００５９】
ここでは、静特性の望目特性におけるSN比と感度を算出する例を示したが、その限りではない。例えば、静特性の望小特性や望大特性やゼロ望目特性、または、動特性の比例式や基準点比例式におけるSN比と感度も算出可能である。
【００６０】
図9により変化率等の表示例を説明する。なお、図9の表示は一例であり、表示方法や項目については、必要に応じて、適宜変更可能である。図9は変化率順に変化率算出ポイントを表示した例を示す。つまり、一列目が変化率の順位、二列目が変化率算出ポイント、三列目から五列目がそれぞれ変化率（複数のシミュレーション動作結果がある場合は最小と最大の変化率）、SN比、感度である。
【００６１】
●タイミングチャートの表示
図10によりタイミングチャートを用いた発生現象の要因分析手法におけるタイミングチャートの表示例を説明する。
【００６２】
図10(a)は、シミュレータ動作シナリオに対応するタイミングチャートと、シミュレータ動作結果として得られるタイミングチャートを並列表示した例を示す。例えば、シミュレータ動作結果のタイミングチャートにおける波形の乱れ、立ち上がり時間や立ち下り時間の変化、オン時間またはオフ時間の変化など、各タイミングのずれなどを解析して要因分析を行う。
【００６３】
図10(b)は、シミュレータ動作結果として得られるタイミングチャート上に、設計基準値のような要因分析に有効な情報を表示した表示例である。
【００６４】
図11により変化率の算出結果とタイミングチャートの表示を連携した表示例を示す。例えば、図9に示す変化率等の表示において、任意のカラムを指定すると、図11に示すように、その要因と現象がタイミングチャート上に表示される。
【００６５】
シミュレータ動作シナリオのタイミングチャートには、「不具合現象」に対応する部分と、その間隔が示される。また、シミュレータ動作結果のタイミングチャートには、不具合の「要因候補」として、不具合発生時に対応する部分と、不具合非発生時に対応する変化率が表示される。なお「不具合現象」や「要因候補」は、図示ないハイライトやフォーカス移動によって場所を明示、特定したり、矢印や文字などを組み合わせた表示にしてもよい。
【００６６】
●ヒストグラム表示
図12によりヒストグラムを用いた発生現象の要因分析手法におけるヒストグラムの表示例を説明する。
【００６７】
算術処理部110は、シミュレーション動作結果について、任意のポイントにおけるヒストグラムを作成する。任意のポイントとは、変化率の算出と同様に、時間測定や信号値測定におけるポイントなどを指す。さらに、図12に示すように、設計基準値や設計限界値などの情報を表示してもよい。図12のヒストグラムは、任意のポイントの実測値の分布を示す。ユーザは、図12のヒストグラムを参照して、任意のポイントの実測値の分布が、設計限界内に充分に収まっている否か、あるいは、設計限界内だが設計限界から逸脱しそうなのかを判断し、分析に利用する。
【００６８】
例えば、不具合動作のシミュレータ動作シナリオと正常動作のシミュレータ動作シナリオによってシミュレータ動作を実行させて、それらのシミュレータ動作結果を比較する。この比較において、発生現象の要因分析のための算術処理を行うことにより、発生現象の要因分析を効率的に行うことが可能になる。
【００６９】
また、製品の生産段階において不具合が発生した場合、不具合が発生した際の実機ログを用いてシミュレータ動作を行うことにより、その際の電気回路やソフトウェアの動きを確認して、不具合の発生原因を分析することができる。さらに、不具合が発生した際の実機ログと、不具合が未発生時の実機ログを使ったシミュレータ動作を行い、それらのシミュレータ動作結果に変化率の算出などの算術処理を施せば、不具合の発生原因の分析をより簡便に行うことが可能になる。
【００７０】
このように、複数のシミュレータを連携したシミュレーション装置を任意のシミュレータ動作シナリオで動作させることにより、条件網羅的なシミュレート動作結果が得られる。そして、それらシミュレータ動作結果から該当する現象のシミュレーション結果を探すことなく、任意の現象に対するシミュレーション結果を得ることが可能になる。従って、汎用性が高いシミュレータ環境を提供することができる。
【実施例２】
【００７１】
以下、本発明にかかる実施例2のシミュレーション装置とその情報処理を説明する。なお、実施例2において、実施例1と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００７２】
図13のブロック図により実施例2のシミュレーション装置の機能構成例を示す。実施例2のシミュレーション装置は、電気回路シミュレータ1201とソフトウェアシミュレータ1202を連携したシミュレータ（以下、連結シミュレータ）1205を有する。さらに、電気回路シミュレータ1203とソフトウェアシミュレータ1204を連携した連結シミュレータ1206を有する。つまり、連結シミュレータが一組の実施例1のシミュレーション装置と異なり、実施例2のシミュレーション装置には連結シミュレータが二組存在する。
【００７３】
連結シミュレータを構成するシミュレータ間の連携は必要であるが、異なる連結シミュレータを構成するシミュレート間の連携は必須ではなく、本発明において、シミュレータ間の連携は限定条件ではない。
【００７４】
図14のブロック図により実施例2のシナリオ実行部104の構成例を説明する。実施例1との違いは、シナリオ実行部104が二組の連結シミュレータ1205、1206を動作させるためのシミュレータ動作シナリオとして実機ログ1306とユーザ作成シナリオ1307の二つ存在することである。
【００７５】
以下、具体例を用いてシミュレーション装置の動作を説明する。なお、複写機の開発において、実機として複写機本体が存在し実機ログも存在するが、フィニッシャなどの連結装置の実機が存在しない場合を例に説明する。
【００７６】
電気回路シミュレータ1201は複写機本体の電気回路モデルを搭載し、ソフトウェアシミュレータ1202は複写機本体の製品ソフトウェアを搭載する。連結シミュレータ1205は、実機ログ1306に従いシミュレータ動作を実行する。
【００７７】
一方、電気回路シミュレータ1203はフィニッシャの電気回路モデルを搭載し、ソフトウェアシミュレータ1204はフィニッシャのソフトウェアを搭載する。連結シミュレータ1206は、ユーザ作成シナリオ1307（例えば設計仕様）に従いシミュレータ動作を実行する。
【００７８】
シナリオ実行部104のシナリオ管理部402は、どのシミュレータに、どのシミュレータ動作シナリオを入力するかを判断する。また、すべてのシミュレータが同期を取りながら動作する点については実施例1と同様である。
【００７９】
また、例えば複写機本体とフィニッシャの連携などの共通部分の実機ログが存在する場合、複写機本体の連結シミュレータには実機ログを入力し、フィニッシャの連結シミュレータには実機ログとユーザ作成シナリオを入力するようなパタンも可能である。勿論、複数のシミュレータとシナリオの組み合わせパタンは上記に限られず、シミュレータ動作シナリオは実機ログやユーザ作成シナリオに限らない。
【００８０】
このように、複数のシミュレータが連携された系が複数ある場合、複数のシミュレータが連携された系それぞれを任意のシミュレータ動作シナリオで動作可能にすることができる。これにより、複数のシミュレータが連携された系が複数ある場合も、条件網羅的なシミュレート動作が得られる。そして、それらシミュレート動作結果から該当する現象のシミュレーション結果を探すことなく、任意の現象に対するシミュレーション結果を得ることが可能になる。
【実施例３】
【００８１】
以下、本発明にかかる実施例3のシミュレーション装置とその情報処理を説明する。なお、実施例3において、実施例1と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００８２】
図15のブロック図により実施例3のシミュレーション装置の機能構成例を示す。実施例3のシミュレーション装置は、電気回路シミュレータ1401とソフトウェアシミュレータ1402を連携した連結シミュレータを有する。
【００８３】
シミュレーション装置は、さらに、メカニカル機構やメカニカル部品の動作をシミュレートするメカシミュレータ1403を有し、メカシミュレータ1403は電気回路シミュレータ1401とソフトウェアシミュレータ1402それぞれに連携されている。従って、電気回路シミュレータ1401とソフトウェアシミュレータ1402のシミュレート動作は、シナリオ実行部104から入力されるシミュレート動作シナリオだけでなく、その一部はメカシミュレータ1403の動作の影響を受ける連携状態にある。
【００８４】
以下、具体例を用いてシミュレーション装置の動作を説明する。なお、複写機の記録紙搬送シーケンスの開発を例として説明する。
【００８５】
シナリオ実行部104のシナリオ管理部402は、記録紙の動きの情報を有するシミュレータ動作シナリオを電気回路シミュレータ1401とソフトウェアシミュレータ1402に入力し、それらシミュレータに記録紙搬送のシミュレート動作を行わせる。その際、メカシミュレータ1403は、電気回路シミュレータ1401とソフトシミュレータ1402の動作に同期して動作する。
【００８６】
例えば、メカシミュレータ1403のシミュレート動作において、記録紙がなくなるといった状態変化が生じると、その情報がメカシミュレータ1403から電気回路シミュレータ1401とソフトシミュレータ1402に通知される。当該通知により、電気回路シミュレータ1401とソフトウェアシミュレータ1402は影響を受ける。電気回路シミュレータ1401とソフトウェアシミュレータ1402は、例えば、記録紙搬送のシミュレーション動作をやめ、記録紙がない場合のシミュレーション動作を開始する。
【実施例４】
【００８７】
以下、本発明にかかる実施例4のシミュレーション装置とその情報処理を説明する。なお、実施例4において、実施例1と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００８８】
図16のブロック図により実施例4のシミュレーション装置の機能構成例を示す。実施例4のシミュレーション装置は、ソフトウェアシミュレータ1501、電気回路シミュレータ1502、物理シミュレータ1503、メカシミュレータ1504を有する。
【００８９】
ソフトウェアシミュレータ1501と電気回路シミュレータ1502が連携され、電気回路シミュレータ1502と物理シミュレータ1503が連携され、物理シミュレータ1503とメカシミュレータ1504が連携されている。
【００９０】
例えば、ソフトウェアシミュレータ1501は、物理シミュレータ1503とは直接的に連携しないが、電気回路シミュレータ1502を介して物理シミュレータ1503の動作の影響を受ける。言い換えれば、ソフトウェアシミュレータ1501と物理シミュレータ1503は間接的に連携されている。ソフトウェアシミュレータ1501とメカシミュレータ1504の関係、および、電気回路シミュレータ1502とメカシミュレータ1504の関係も間接的な連携である。
【００９１】
物理シミュレータ1503は、熱流体、ノイズ、振動などの物理現象をソフトウェア上でシミュレートする。実施例4においては、物理シミュレータ1503が熱流体シミュレータであるとして説明を行う。例えば、電気回路シミュレータ1502がシミュレートした電気回路の発熱量とメカシミュレータ1504がシミュレートしたファンの動作から、物理シミュレータ1503は熱流体をシミュレートする。これにより、電気回路とメカニカル機構の動作を考慮した、製品内の熱状態（温度上昇や温度分布）のシミュレーションが可能になる。
【００９２】
［その他の実施例］
上記実施例はそれぞれ組み合わせてもよい。また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステムあるいは装置のコンピュータ（又はCPUやMPU等）がプログラムを読み出して実行する処理である。
【図１】
2014029639.tif 000003
【図２】
2014029639.tif 000004
【図３】
2014029639.tif 000005
【図４】
2014029639.tif 000006
【図５】
2014029639.tif 000007
【図６】
2014029639.tif 000008
【図７】
2014029639.tif 000009
【図８】
2014029639.tif 000010
【図９】
2014029639.tif 000011
【図１０】
2014029639.tif 000012
【図１１】
2014029639.tif 000013
【図１２】
2014029639.tif 000014
【図１３】
2014029639.tif 000015
【図１４】
2014029639.tif 000016
【図１５】
2014029639.tif 000017
【図１６】
2014029639.tif 000018