(57)【要約】【課題】複数のモデルのシミュレーションの実行結果の中から再利用可能な情報を抽出する。【解決手段】プロセッサとメモリを有する管理装置が、シミュレーションに用いるデータを管理するシミュレーション管理方法であって、シミュレータが、モデルとデータを用いてシミュレーションを実行し、前記管理装置が、前記シミュレーションを行っているモデルの内部状態が、所定の状態に合致する中間データを抽出し、当該抽出した中間データを有用中間データとして保持する。【選択図】図１
2020160898.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサとメモリを有する管理装置が、シミュレーションに用いるデータを管理するシミュレーション管理方法であって、
シミュレータが、モデルとデータを用いてシミュレーションを実行し、
前記管理装置が、前記シミュレーションを行っているモデルの内部状態が、所定の状態に合致する中間データを抽出し、当該抽出した中間データを有用中間データとして保持することを特徴とするシミュレーション管理方法。
【請求項２】
請求項１に記載のシミュレーション管理方法であって、
前記シミュレーションは、複数のモデルを用いたシミュレーションであり、
前記管理装置は、前記モデルごとに前記有用中間データを保持する
ことを特徴とするシミュレーション管理方法。
【請求項３】
請求項１に記載のシミュレーション管理方法であって、
前記所定の状態は、予め設定された待機状態または定常状態であることを特徴とするシミュレーション管理方法。
【請求項４】
請求項１に記載のシミュレーション管理方法であって、
モデル状態管理情報は、前記所定の状態と、前記モデルの識別子とを有しており、
前記管理装置は、前記所定の状態と前記モデルの識別子に対応した前記有用中間データを取得し、対応付けて前記モデル状態管理情報に格納する
ことを特徴とするシミュレーション管理方法。
【請求項５】
請求項４に記載のシミュレーション管理方法であって、
前記モデル状態管理情報は、複数のモデル識別子を有しており、それぞれのモデル識別子に対して複数の前記所定の状態を対応付けている
ことを特徴とするシミュレーション管理方法。
【請求項６】
請求項１に記載のシミュレーション管理方法であって、
前記管理装置が、
前記シミュレーションの開始条件として、前記モデルの識別子と前記所定の状態を受け付け、
前記受け付けた前記モデルの識別子と所定の状態とで、モデル状態管理情報から前記有用中間データを取得し、
取得した前記有用中間データを前記モデルに設定して前記所定の状態からシミュレーションを開始するよう前記シミュレータに指令する、
ことを特徴とするシミュレーション管理方法。
【請求項７】
請求項３に記載のシミュレーション管理方法であって、
前記モデル状態管理情報の前記モデルの識別子が、名称とバージョン情報を含み、
前記管理装置は、前記モデルの識別子として、前記名称と前記バージョン情報を受け付けることを特徴とするシミュレーション管理方法。
【請求項８】
請求項１に記載のシミュレーション管理方法であって、
前記所定の状態として、前記モデルの内部状態を示す値のうち、所定の状態であるか否かを判定する値と、前記判定から除外する値を設定した着目条件を用いることを特徴とするシミュレーション管理方法。
【請求項９】
請求項２に記載のシミュレーション管理方法であって、
前記管理装置が、
前記シミュレーションの開始条件として、複数の前記モデルの識別子と、それに対応する前記所定の状態を受け付け、
前記受け付けた前記複数のモデルの識別子と所定の状態とで、モデル状態管理情報から複数の前記有用中間データを取得し、
取得した前記複数の有用中間データを前記モデルに設定して、前記所定の状態から、前記複数のモデルの同期化を行いシミュレーションを開始するよう前記シミュレータに指令する、
ことを特徴とするシミュレーション管理方法。
【請求項１０】
請求項２に記載のシミュレーション管理方法であって、
モデルを設定した後に、少なくとも１のモデルの状態を遷移させて前記所定の状態にし、状態遷移後に、複数のモデルを同期化させることを特徴とするシミュレーション管理方法。
【請求項１１】
プロセッサとメモリを有する管理装置と、シミュレーションを実行するシミュレータと、を有するシミュレーションシステムであって、
前記シミュレータは、
モデルとデータを受け付けて、前記シミュレーションを実行し、
前記管理装置は、
前記シミュレーションを行っているモデルの内部状態が、所定の状態に合致する中間データを抽出し、当該抽出した中間データを有用中間データとして保持することを特徴とするシミュレーションシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレーションを行う計算機システムに関する。
【背景技術】
【０００２】
ＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）技術の進展に伴い、工場等のセンサデータや、現場のＯＴ（Ｏｐｅｒａｔｉｏｎａｌ  Ｔｅｃｈｎｏｌｏｇｙ）データや、製造装置のシミュレーションデータを統合分析し、生産性の向上や故障率低減など、多様な経営課題の解決が期待されている。
【０００３】
複数のシミュレータ間で連動を行うシミュレーション技術が進展する一方、機器の高度化も急速に進み、シミュレーションによる膨大な検証工数が迅速な製品化を阻む一要因となっている。
【０００４】
シミュレーションの効率を向上させる技術として、特許文献１が知られている。特許文献１は、一定条件が成立した場合にシミュレーションのスナップショットを取得しておき、シミュレーションの再実行時にスナップショットを利用する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−１０２３７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
複数のモデルを連動させてシミュレーションを実施する場合、モデルを入れ替えてシミュレーションを実行する場合がある。しかし、上記従来例のスナップショットでは、ある時点のシミュレーション全体の情報が記録されているだけで、モデルを入れ替えてシミュレーションを再開することができない、という問題があった。
【０００７】
このため、上記従来例では、モデルを入れ替える場合には、最初からシミュレーションを実行する必要が生じ、シミュレーションの実行時間を短縮することができない、という問題があった。
【０００８】
そこで、本発明は上記問題点に鑑みてなされたもので、複数のモデルのシミュレーションの実行結果の中から再利用可能な情報を抽出し、再利用することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、プロセッサとメモリを有する管理装置が、シミュレーションに用いるデータを管理するシミュレーション管理方法であって、シミュレータが、モデルとデータを用いてシミュレーションを実行し、前記管理装置が、前記シミュレーションを行っているモデルの内部状態が、所定の状態に合致する中間データを抽出し、当該抽出した中間データを有用中間データとして保持する。
【発明の効果】
【００１０】
したがって、本発明は、シミュレーションを実施した中間データから、所定の状態（待機状態）の中間データをモデル毎に抽出して、有用中間データとして格納する。これにより、各モデルの有用中間データを選択することで、途中の待機状態からシミュレーションを開始することが可能となる。また、有用中間データをモデル毎に選択可能であるので、モデルの組み合わせを変更して、途中からシミュレーションを行うことで、シミュレーションに要する時間を短縮することが可能となる。
【００１１】
本明細書において開示される主題の、少なくとも一つの実施の詳細は、添付されている図面と以下の記述の中で述べられる。開示される主題のその他の特徴、態様、効果は、以下の開示、図面、請求項により明らかにされる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施例を示し、シミュレーションシステムの一例を示すブロック図である。
【図２】本発明の実施例を示し、シミュレータの一例を示すブロック図である。
【図３】本発明の実施例を示し、シミュレーション管理装置の一例を示すブロック図である。
【図４】本発明の実施例を示し、シミュレーション対象のパワーステアリングシステムの状態遷移図である。
【図５】本発明の実施例を示し、シナリオ定義の一例を示す図である。
【図６】本発明の実施例を示し、モデル状態管理テーブルの一例を示す図である。
【図７】本発明の実施例を示し、モデルテーブルの一例を示す図である。
【図８】本発明の実施例を示し、シミュレーション管理装置で行われる有用中間データの抽出処理の一例を示すフローチャートである。
【図９】本発明の実施例を示し、シミュレーション管理装置で行われる待機状態からシミュレーションを開始する処理の一例を示すフローチャートである。
【図１０】本発明の実施例を示し、シミュレーションの開始の様子を示すタイムチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態を添付図面に基づいて説明する。
【００１４】
図１は、本発明の実施例を示し、複数のモデルを連動させるシミュレータを管理するシミュレーションシステムの一例を示すブロック図である。シミュレーションシステムは、複数のモデルを連動させてシミュレーションを実行するシミュレータ３と、シミュレーションを管理するシミュレーション管理装置１と、シミュレーションの指示とシミュレーション結果（解析結果）の表示を行うシミュレーション端末２が図示しないネットワークで接続される。
【００１５】
シミュレーション端末２は、シミュレーションの利用者（又は管理者）が操作する計算機で、実行するシナリオ定義や、使用するモデルや、シミュレーションの開始などを指示し、シミュレーションの結果を表示する。
【００１６】
シミュレーション管理装置１は、シミュレータ３にシミュレーションの実行を指令するシミュレーション管理部１１０と、シミュレータ３からシミュレーション結果やモデルの状態情報（中間データ）を受け付けて、利用可能な状態情報を有用中間データ６０として抽出する中間データ管理部１２０と、シミュレータ３との間で通信を行うシミュレーションインタフェース１３０と、データを蓄積するデータレイク４を含む。なお、本実施例では、シミュレーション管理装置１がデータレイク４を含む例を示すが、データレイク４はシミュレーション管理装置１の外部であってもよい。
【００１７】
シミュレーション管理部１１０は、シミュレーション端末２から受け付けた指示に基づいて、データレイク４から、シミュレータ３に実行させるシナリオ定義５と、シミュレーションを行うモデルやテストデータ９と、シミュレーションの開始位置に基づく有用中間データ６０を取得して、シミュレーションインタフェース１３０を介してシミュレータ３に指令する。
【００１８】
シミュレーションインタフェース１３０はシミュレータ３（または基盤プラットフォーム）からシミュレーションの結果やモデルの状態情報を受け付けると中間データ管理部１２０と、シミュレーション端末２へ転送する。また、シミュレーションインタフェース１３０は、シミュレーション管理部１１０からのデータ及び指令をシミュレータ３へ転送する。
【００１９】
中間データ管理部１２０は、シミュレーションインタフェース１３０を介してシミュレータ３から受け付けたシミュレーション結果をデータレイク４のシミュレーション結果８へ格納し、シミュレータ３から受け付けた各モデルの状態情報を中間データ６へ格納する。なお、各モデルの状態情報は、例えば、各モデルの内部状態を示す値で構成される。
【００２０】
そして、中間データ管理部１２０は、所定のタイミングで中間データ６から再利用可能なデータを抽出し、有用中間データ６０としてデータレイク４へ格納する。中間データ管理部１２０は、抽出した有用中間データ６０をシミュレーション対象のモデルの状態遷移図とモデルに対応付けて管理するモデル状態管理テーブル７０に登録する。なお、所定のタイミングは、シミュレーションシステムの利用者等からの指示をシミュレーション管理装置１が受け付けた時や、所定の周期など、予め設定されたタイミングである。
【００２１】
シミュレーション管理部１１０は、シミュレーションを開始する際に、シナリオ定義５を参照して、有用中間データ６０から利用可能なモデルのデータを取得して、シミュレーションに再利用する。
【００２２】
図２は、本発明の実施例を示し、複数のモデルを連動させるシミュレータ３の一例を示すブロック図である。本実施例では、車両のパワーステアリング装置に本発明のシミュレーションシステムを適用する例を示す。
【００２３】
シミュレーション対象のパワーステアリング装置は、ＥＣＵ（Electronic Control Unit）モデル３１０と、アナログ系モデル３２０と、プラントモデル３３０の３つのモデルを含む。
【００２４】
シミュレータ３では、基盤プラットフォーム５１０上で複数種のシミュレータが稼働しており、本実施例では、ＥＣＵモデル３１０のシミュレーションを行うデジタルシミュレータ４１０と、アナログ系モデル３２０のシミュレーションを行うアナログシミュレータ４３０と、プラントモデル３３０のシミュレーションを行うプラントシミュレータ４５０が稼働する。
【００２５】
また、基盤プラットフォーム５１０上では、デジタルシミュレータ４１０とアナログシミュレータ４３０を連動させる連成部４２０と、アナログシミュレータ４３０とプラントシミュレータ４５０を連動させる連成部４４０も稼働している。なお、連成部４２０、４４０は、連成解析（Ｃｏｕｐｌｉｎｇ  Ａｎａｌｙｓｉｓ）を実施する場合に機能させればよい。
【００２６】
基盤プラットフォーム５１０は、シミュレーション管理装置１からの指令に基づいて各モデルのシミュレーションを各シミュレータに実行させ、各シミュレータからシミュレーション結果や中間データを取得すると、シミュレーション管理装置１へ送信する。本実施例１では、ひとつの計算機でシミュレータ３を実現する例を示すが、各シミュレータが異なる計算機で実行されてもよい。
【００２７】
プラントモデル３３０は、ステアリング機構３２１と、ハンドルアシスト機構３２２のモデルが含まれる。ステアリング機構３２１のモデルは、油圧装置を駆動する制御モータのモデルが含まれる。ハンドルアシスト機構３２２は、アシストモータとトルクセンサのモデルが含まれる。アナログ系モデル３２０は、トルクセンサを含み、ハンドルの操作を検出する。
【００２８】
ＥＣＵモデル３１０は、マイクロコンピュータと、モータ制御部と、センサインタフェースのモデルを含み、ステアリングの制御と、ハンドル操作のアシストを制御する。
【００２９】
本実施例のシミュレーションシステムでは、ＥＣＵモデル３１０と、アナログ系モデル３２０と、プラントモデル３３０の複数のモデルを連動して挙動を解析するシミュレーションを実施する。
【００３０】
シミュレーション管理装置１は、個々のモデルのバリエーションと、高頻度で発生する典型的なステータス（待機状態又は定常状態）の各モデルの内部状態を示すデータ（有用中間データ６０）を、状態遷移図のステータスに紐付けてモデル状態管理テーブル７０で管理する。
【００３１】
本実施例のシミュレーション管理装置１は、シミュレーションで使用するモデルとモデルのバリエーションと、ステータスをシミュレーション端末２から受け付けると、過去のシミュレーションで発生したモデルの内部状態を示す有用中間データ６０を特定することができる。
【００３２】
シミュレーション管理装置１は、シミュレーションを実施するモデルを特定し、ステータスを特定すれば、状態遷移図上の待機状態又は定常状態からシミュレータ３にシミュレーションを開始させることが可能となる。
【００３３】
すなわち、シミュレーション管理装置１は、複数のモデルを入れ替えて、予め設定された待機状態又は定常状態の有用中間データ６０をシミュレータ３の各モデルに設定することで、シミュレーションをゼロから開始することなく、途中の待機状態又は定常状態からシミュレーションを開始することが可能となる。これにより、シミュレーションの実行時間を削減し、多くのモデルの組み合わせの試行を容易かつ短時間で行うことができる。
【００３４】
図３は、シミュレーション管理装置１の一例を示すブロック図である。シミュレーション管理装置１は、プロセッサ１１と、メモリ１２と、入力装置１３と、出力装置１４と、ネットワークインタフェース１５と、データレイク４を含む計算機である。
【００３５】
入力装置１３は、例えば、マウスやキーボードあるいはタッチパネルで構成される。出力装置１４は、ディスプレイなどで構成される。ネットワークインタフェース１５は、ネットワーク１５０に接続されて、シミュレーション端末２やシミュレータ３と通信を行う。
【００３６】
メモリ１２には、シミュレーション管理部１１０と、中間データ管理部１２０と、シミュレーションインタフェース１３０がプログラムとして格納され、プロセッサ１１によって実行される。
【００３７】
プロセッサ１１は、各機能部のプログラムに従って処理を実行することによって、所定の機能を提供する機能部として稼働する。例えば、プロセッサ１１はシミュレーション管理プログラムに従って処理を実行することでシミュレーション管理部１１０として機能する。他のプログラムについても同様である。さらに、プロセッサ１１は、各プログラムが実行する複数の処理のそれぞれの機能を提供する機能部としても稼働する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
【００３８】
データレイク４は、１以上の不揮発性記憶媒体を含む記憶装置で構成される。データレイク４には、シミュレーション中のモデルの状態情報である中間データ６と、中間データ６から抽出された有用中間データ６０と、シミュレーションに用いるモデルの情報を格納するモデルテーブル７と、有用中間データ６０とモデルと状態遷移図の関係を管理するモデル状態管理テーブル７０と、シミュレーションのシナリオが設定されたシナリオ定義５と、シミュレーションに使用するデータが格納されるテストデータ９が含まれる。
【００３９】
シナリオ定義５には、シミュレーションのシナリオと、シミュレーションで使用するモデルの状態遷移図が含まれる。シナリオ定義５は、シミュレーションシステムの利用者などが予め設定したデータであり、シミュレーションの手順や状態遷移図及び使用するデータ等が含まれる。
【００４０】
図４は、パワーステアリングシステムの状態遷移図の一例を示す図である。状態遷移図は、設計書や仕様書等の記載からシミュレーションシステムの利用者や管理者などが予め設定した情報である。
【００４１】
本実施例のパワーステアリングシステムの状態遷移図では、エンジンやモータが停止する停止状態（Ｓｔ１）を起点とする。停止状態（Ｓｔ１）で、ドライバが車両のイグニッションをＯＮにするとアシストモードの待機状態（Ｓｔ２）へ遷移し、ハンドル操作やモード変更を受け付ける待機中となる。
【００４２】
本実施例では、待機状態（又は定常状態）は、入力が一定又は入力待ちで、かつ、出力が一定又は出力がゼロの状態とする。すなわち、待機状態の場合のモデルの内部状態は、内部状態を示す値が一定またはゼロ等の所定の条件を満たせばよい。
【００４３】
アシストモードの待機状態（Ｓｔ２）でハンドル操作を受け付けると、ハンドル操作のアシスト制御（Ｓｔ３）へ遷移して、ステアリング制御及びハンドル操作のアシスト制御が行われる。ステアリング制御とアシスト制御が完了すると、アシストモードの待機状態（Ｓｔ２）に戻る。
【００４４】
また、アシストモードの待機状態（Ｓｔ２）で、イグニッションがＯＦＦになると停止状態（Ｓｔ１）に戻る。
【００４５】
アシストモードの待機状態（Ｓｔ２）でアシストモードをＯＦＦモードに切り替えるモード変更が行われると、ＯＦＦモードの待機状態（Ｓｔ４）へ遷移する。アシストのＯＦＦモード（Ｓｔ４）では、モード変更によってアシストモードの待機状態（Ｓｔ２）へ遷移するか、イグニッションのＯＦＦによって停止状態（Ｓｔ１）へ遷移する。
【００４６】
また、アシストモードの待機状態（Ｓｔ２）でモード変更によってテスト診断モードへ遷移すると、テスト診断モードの待機状態（Ｓｔ５）へ遷移する。テスト診断モードの待機状態（Ｓｔ５）では、テスト入力が行われると診断用パターン入力（Ｓｔ６）で診断が行われる。そして、診断が完了するとテスト診断モードの待機状態（Ｓｔ５）へ遷移する。
【００４７】
テスト診断モードの待機状態（Ｓｔ５）では、イグニッションのＯＦＦによって停止状態（Ｓｔ１）へ遷移する。なお、停止状態（Ｓｔ１）では、特定の操作を行いながらイグニッションをＯＮにすることで、テスト診断モードの待機状態（Ｓｔ５）へ遷移することができる。
【００４８】
本実施例のシミュレーション管理装置１は、状態遷移図において待機状態又は定常状態のステータスを特定し、特定したステータスに合致する中間データ６を、有用中間データ６０として抽出する。そして、シミュレーション管理装置１は、有用中間データ６０をモデルとステータスに紐付けてモデル状態管理テーブル７０に格納して管理する。
【００４９】
図４の状態遷移図では、アシストモードの待機状態（Ｓｔ２）が特定のステータスβとして設定され、ＯＦＦモードの待機状態（Ｓｔ２）が特定のステータスαとして設定され、テスト診断モードの待機状態（Ｓｔ５）が特定のステータスγとして設定される。
【００５０】
そして、これらのステータスα〜γでは、後述するように、有用中間データ６０が抽出されて、モデル状態管理テーブル７０で管理され、後のシミュレーションで再利用可能となる。
【００５１】
図５は、パワーステアリングシステムのシミュレーションを実施するシナリオ定義５の一例を示す図である。シナリオ定義５は、設計書や仕様書等の記載からシミュレーションシステムの利用者や管理者などが予め設定した一連の試行の内容と手順で構成される。図示のシナリオ定義５は、出力装置１４やシミュレーション端末２の表示装置などで表示された画面の一例を示す。
【００５２】
図示の例では、パワーステアリングシステムの起動からシミュレーションが開始されて、ＥＣＵの初期化の後に、テスト診断モードの待機状態（Ｓｔ５）へ遷移してから、アシストモードの待機状態（Ｓｔ２）へ遷移する。そして、シナリオ（１）では、ＯＦＦモードへのモード切替の後に、ＯＦＦモードの待機状態（Ｓｔ４）に遷移し、その後、ＯＦＦモードでハンドル操作を受け付けるシミュレーションの手順が設定されている。
【００５３】
一方、シナリオ（２）では、アシストモードの待機状態（Ｓｔ２）の次に、ＯＦＦモードへのモード切替の後に、ハンドル操作を受け付けるシミュレーションとなっている。
【００５４】
そして、図５において、ＯＦＦモードの待機状態（Ｓｔ４）は特定のステータスαであり、アシストモードの待機状態（Ｓｔ４）が特定のステータスβであることが表示される。シナリオ定義５で、特定のステータスが表示される状態は、有用中間データ６０が存在することを示し、換言すれば、特定のステータスの位置からシミュレーションを開始することが可能であることを明示している。
【００５５】
図６は、モデル状態管理テーブル７０の一例を示す図である。モデル状態管理テーブル７０は、後述するように、中間データ管理部１２０で生成される。
【００５６】
モデル状態管理テーブル７０は、モデルの型式や名称を格納する型名７１と、ソフトウェアのバージョンやハードウェアの仕様などの情報を格納するバージョン情報７２と、ステータスの情報（識別子）と情報の格納位置を示す状態モデル７３と、使用制限事項などを格納する備考７４を、ひとつのエントリに含む。
【００５７】
製品の開発期間中では、型式やファームウェアやメーカが異なるＥＣＵについてシミュレーションを試行する場合がある。このため、型名７１だけではなく、ファームウェア等のバージョンなど仕様の違いを示す情報を付加することで、モデルの違いを管理する。
【００５８】
状態モデル７３は、図４に示した状態遷移図のステータスの識別子（α、β、γ）と、当該ステータスに対応する有用中間データ６０のファイルＩＤが格納される。例えば、型名７１＝「ＥＵ０１」、バージョン情報７２＝「Ｖ００１」のモデルで、状態遷移図上のステータスα（Ｓｔ４）の有用中間データ６０は、ファイルＩＤ＝「Ｖ００１＿１」で格納されていることを示す。
【００５９】
モデル状態管理テーブル７０は、ひとつのステータスについて、型名７１に対応するバージョン情報７２の数だけ異なる有用中間データ６０のファイルＩＤを対応付けて管理することができる。これにより、シミュレーションシステムの利用者等は、ひとつのモデルが開発期間中に変化した内容を、検討することが可能となる。また、バージョン情報７２が異なる複数のモデルを組み合わせてシミュレータ３にシミュレーションを実施させ、最適なモデルの組み合わせを探索することも可能となる。
【００６０】
なお、上記ではモデル状態管理テーブル７０の状態モデル７３に有用中間データ６０のファイルＩＤを格納する例を示したが、有用中間データ６０の格納位置を示すパスや、ファイル名などを格納することができる。あるいは、有用中間データ６０を状態モデル７３に格納してもよい。
【００６１】
図７は、モデルテーブル７の一例を示す図である。モデルテーブル７は、シミュレーションシステムの利用者等によって予め設定される情報である。モデルテーブル７は、モデルの種類７５と、モデルの型名７６と、ファイルＩＤ７７が含まれる。
【００６２】
なお、モデルの型名７６には、ソフトウェアやハードウェアの仕様の違いを示すバージョン情報を含めるようにしてもよい。ファイルＩＤ７７は、当該モデルのデータを格納したファイルの識別子で構成してもよい。
【００６３】
図８は、中間データ管理部１２０で行われる、有用中間データ６０の抽出処理の一例を示すフローチャートである。この処理は、シミュレーションシステムの利用者の指示に基づいて実行される。
【００６４】
中間データ管理部１２０は、ステップＳ１で、抽出対象のモデルについて、待機状態（又は定常状態）の定義を取得する。待機状態の取得は、ファイルや入力装置１３からの入力などを用いることがえできる。なお、待機状態の定義は、モデルテーブル７でモデル毎に各待機状態を予め設定しておくことができる。また、待機状態は、上述したようにモデルの内部状態を示す値が、一定またはゼロ等の所定の条件を満たした状態を示す。
【００６５】
中間データ管理部１２０は、ステップＳ２で、抽出対象のモデルの中間データ６をデータレイク４から読み込む。ステップＳ３では、中間データ管理部１２０が、上記読み込んだ中間データ６が、ステップＳ１で読み込んだ待機状態（又は定常状態）のいずれかと一致するか否かを判定する。中間データ管理部１２０は、中間データ６が待機状態と一致した場合にはステップＳ４へ進み、一致しない場合にはステップＳ８へ進む。
【００６６】
ステップＳ４では、中間データ管理部１２０が、当該中間データ６を格納するためのファイルＩＤを生成する。ファイルＩＤは、シミュレーションシステム内でユニークな識別子であればよい。
【００６７】
ステップＳ５では、中間データ管理部１２０が、上記一致した待機状態の状態ＩＤを生成する。状態ＩＤは、モデル内でユニークな識別子であればよい。
【００６８】
ステップＳ６では、中間データ管理部１２０が、待機状態と一致した中間データ６を有用中間データ６０とし、上記生成されたファイルＩＤでデータレイク４に格納する。
【００６９】
次に、中間データ管理部１２０は、当該モデルのＩＤ（モデルＩＤ）と、状態ＩＤとファイルＩＤを紐付けてモデル状態管理テーブル７０に書き込む。なお、図６のモデル状態管理テーブル７０で示したように、モデルＩＤにバージョン情報７２を加えるようにしてもよい。
【００７０】
図６のモデル状態管理テーブル７０では、型名７１とバージョン情報７２がモデルＩＤを構成し、状態モデル７３のうち、α、β、γが状態ＩＤであり、（Ｖ００１＿１）〜（Ｖ０２３＿３）がファイルＩＤである。なお、中間データ管理部１２０は、上記ステップＳ１で待機状態を受け付ける際に、モデルＩＤを受け付けておく。
【００７１】
ステップＳ８では、中間データ管理部１２０が、次に処理を実施する中間データ６があるか否かを終了条件として判定する。中間データ管理部１２０は、未処理の中間データ６があればステップＳ２へ戻って上記処理を繰り返す。一方、中間データ管理部１２０は、未処理の中間データ６がなければ、処理を終了する。
【００７２】
上記処理によって、中間データ６から各モデルの状態遷移図の待機状態（又は定常状態）と一致する値を、有用中間データ６０として抽出してデータレイク４に格納し、この有用中間データ６０に状態ＩＤを付与して、モデルＩＤと関連付けてモデル状態管理テーブル７０に格納する。これにより、モデル状態管理テーブル７０には、待機状態（又は定常状態）の有用中間データ６０が、モデル毎、バージョン情報７２毎に追加される。
【００７３】
また、ひとつの型名７１に対して複数のバージョン情報７２で有用中間データ６０を紐付けることができるので、ひとつのモデルの複数の態様からシミュレーションを実施することができ、開発の進捗に合わせてシミュレーションを行うモデルの組み合わせを選択することができる。
【００７４】
なお、上記実施例では、待機状態として、モデルの内部状態を示す値が一定またはゼロなどの所定の条件を満たす場合としたが、これに限定されるものではない。中間データ管理部１２０は、モデルの内部状態を示す値のうち、予め設定した着目条件を満たせば、待機状態に合致していると判定することができる。
【００７５】
例えば、モデルの内部状態として３つの値Ａ、Ｂ、Ｃが存在する場合、予め設定した値Ａ、Ｂを待機状態を判定する値とし、値Ｃを判定から除外する条件を着目条件とする。着目条件を受け付けた中間データ管理部１２０は、内部状態の値Ａ、Ｂで待機状態を判定し、値Ｃについては不問とする。これにより、全ての内部状態が待機状態に一致していなくても、シミュレーションに影響を与えない値に関する判定を省略（除外）して、有用中間データ６０として利用可能な中間データ６を増大させることができる。
【００７６】
なお、着目条件は、モデルの特性やシミュレーションの内容に応じてシミュレーションシステムの利用者等が適宜設定することができる。また、着目条件は、上記ステップＳ１で読み込むようにすればよい。
【００７７】
図９は、シミュレーション管理部１１０で行われる、シミュレーションの開始処理の一例を示すフローチャートである。この処理は、シミュレーション端末２又は入力装置１３からの指令に応じて開始される。
【００７８】
シミュレーション管理部１１０は、ステップＳ１１で、シミュレーション端末２又は入力装置１３から受け付けたシナリオ定義５をデータレイク４から取得して、シミュレーションを実行するシナリオを読み込む。
【００７９】
シミュレーション管理部１１０は、ステップＳ１２で、シミュレーション端末２又は入力装置１３から、シミュレーションを開始する条件として待機状態（又は定常状態）を受け付ける。次に、シミュレーション管理部１１０は、ステップＳ１３で、シミュレーション端末２又は入力装置１３から、シミュレーションを開始する条件として、モデルのＩＤ及びバージョン情報７２を受け付ける。
【００８０】
シミュレーション管理部１１０は、ステップＳ１４で、上記受け付けたモデルＩＤとバージョン情報７２と待機状態に対応する有用中間データ６０を、モデル状態管理テーブル７０から検索する。
【００８１】
次に、シミュレーション管理部１１０は、ステップＳ１５で、該当する有用中間データ６０があるか否かを判定する。シミュレーション管理部１１０は、検索条件に該当する有用中間データ６０が存在すればステップＳ１６へ進み、存在しない場合にはステップＳ２０へ進む。
【００８２】
ステップＳ１６では、検索結果のモデル状態管理テーブル７０のエントリから、有用中間データ６０のファイルＩＤを取得する。そして、ステップＳ１７で、シミュレーション管理部１１０は、データレイク４の有用中間データ６０からファイルＩＤのデータを読み込む。また、シミュレーション管理部１１０は、モデルテーブル７からモデルＩＤ及びバージョン情報７２に対応するモデルを読み込む。
【００８３】
ステップＳ１８では、シミュレーション管理部１１０は、有用中間データ６０をモデルにセットして、テストデータの読み込みなどシミュレーションの準備を行う。そして、ステップＳ１９では、シミュレーション管理部１１０がモデルと有用中間データ６０及びテストデータ９をシミュレータ３へ指示してシミュレーションを実行させる。
【００８４】
一方、上記ステップＳ１５の判定で、該当する有用中間データ６０がモデル状態管理テーブル７０にない場合にはステップＳ２０に進んで、シミュレーション管理部１１０は、シミュレーション端末２又は出力装置１４へ有用中間データ６０が取得できなかったことを通知する。
【００８５】
上記処理により、過去の中間データ６から待機状態（又は定常状態）に一致する有用中間データ６０を、モデル状態管理テーブル７０でモデルと待機状態（定常状態）に関連付けて管理しておくことで、所望のモデルを組み合わせて、所望の待機状態（又は定常状態）からシミュレーションを開始することが可能となるのである。
【００８６】
図１０は、シナリオ定義５の途中からシミュレーションを開始する例を示すタイムチャートである。図示の例では、モデルＡ〜モデルＤの４つのモデルを連動させてシミュレーションを行う例を示す。
【００８７】
シミュレーション管理部１１０は、モデル状態管理テーブル７０から各モデルＡ〜Ｄの開始位置の有用中間データ６０を取得して、各モデルに有用中間データ６０を設定しておく。そして、シミュレーション管理部１１０は、シナリオ定義５に基づいて、シミュレータ３にシミュレーションの開始を指示する。
【００８８】
まず、時刻ｔ１では第１の待機状態（Ｓｔａｔｅ１）からモデルＤのシミュレーションが開始される。次に、時刻ｔ２では第２の待機状態（Ｓｔａｔｅ２）のモデルＣのシミュレーションが開始される。この第２の待機状態（Ｓｔａｔｅ２）では、モデルＤの内部状態をモデルＣの内部状態へ伝達する同期化が行われる。
【００８９】
時刻ｔ３では第３の待機状態（Ｓｔａｔｅ３）のモデルＡ、Ｂのシミュレーションが開始される。この第３の待機状態（Ｓｔａｔｅ３）では、モデルＣ、Ｄの内部状態をモデルＡ、Ｂの内部状態へ伝達する同期化が行われる。
【００９０】
中間データ管理部１２０は、時刻ｔ３の第３の待機状態（Ｓｔａｔｅ３）で、モデルＣ、Ｄの有用中間データ６０が存在しない場合には、モデルのＩＤと待機状態に紐付けて、時刻ｔ３のモデルＣ、Ｄの内部状態を有用中間データ６０として格納することができる。
【００９１】
以上のように、本実施例のシミュレーション管理装置１では、有用中間データ６０をシナリオ定義５の途中の待機状態で各モデルへ適用することで、所望の待機状態からシミュレーションを開始させることが可能となって、シミュレーションに要する時間を短縮することができる。
【００９２】
また、本実施例のシミュレーション管理装置１では、モデルの組み合わせを変更して、シナリオ定義５の途中の待機状態からシミュレーションを開始することができるので、前記従来例のように、モデルの組み合わせを変更した場合に最初からシミュレーションを開始する必要がなくなって、シミュレーションに要する時間を大幅に短縮することができる。これにより、開発に要するコスト及び時間を大幅に削減することが可能となるのである。
【００９３】
＜まとめ＞
【００９４】
以上のように、上記実施例のシミュレーションシステムは、以下のような構成とすることができる。
【００９５】
（１）プロセッサ（１１）とメモリ（１２）を有する管理装置（シミュレーション管理装置１）が、シミュレーションに用いるデータを管理するシミュレーション管理方法であって、前記管理装置（１）が、シミュレータ（３）にモデルとデータを与えてシミュレーションを実行させて、前記モデルの内部状態を示す中間データ（６）を取得する第１のステップと、前記管理装置（１）が、予め設定された所定の状態（待機状態）に合致する前記中間データ（６）を抽出し、当該抽出した中間データ（６）を有用中間データ（６０）として保持する第２のステップと、前記管理装置（１）が、前記所定の状態（待機状態）と前記モデルの識別子と前記有用中間データ（６０）を対応付けてモデル状態管理情報（モデル状態管理テーブル７０）に格納する第３のステップと、を含む。
【００９６】
上記によって、中間データ６から各モデルの状態遷移図の待機状態（又は定常状態）と一致する値を、有用中間データ６０として抽出してデータレイク４に格納し、この有用中間データ６０に状態ＩＤを付与して、モデルＩＤと関連付けてモデル状態管理テーブル７０に格納する。これにより、モデル状態管理テーブル７０には、待機状態（又は定常状態）の有用中間データ６０が、モデル毎、バージョン情報７２毎に追加される。
【００９７】
また、ひとつの型名７１に対して複数のバージョン情報７２で有用中間データ６０を紐付けることができるので、ひとつのモデルの複数の態様からシミュレーションを実施することができ、開発の進捗に合わせてシミュレーションを行うモデルの組み合わせを選択することができる。
【００９８】
（２）上記（１）に記載のシミュレーション管理方法であって、前記第２のステップでは、前記モデルの内部状態が、予め設定された待機状態または定常状態に合致する前記中間データ（６）を抽出する。
【００９９】
上記処理によって、シミュレーション管理装置１では、中間データ６から各モデルの状態遷移図の待機状態（又は定常状態）と一致する値を、有用中間データ６０としてモデルと待機状態に紐付けて管理することができる。
【０１００】
有用中間データ６０を状態遷移図の待機状態（又は定常状態）とすることで、この待機状態からシミュレーションを開始することが可能となる。
【０１０１】
（３）上記（１）に記載のシミュレーション管理方法であって、前記管理装置（１）が、前記シミュレーションの開始条件として、前記モデルの識別子（型名７１、バージョン情報７２）と前記所定の状態（待機状態）を受け付ける第４のステップと、前記管理装置（１）が、前記受け付けた前記モデルの識別子（７１、７２）と所定の状態（待機状態）でモデル状態管理情報（７０）を検索し、前記有用中間データ（６０）を取得する第５のステップと、前記管理装置（１）が、取得した前記有用中間データ（６０）を前記モデルに設定して前記所定の状態（待機状態）からシミュレーションを開始するよう前記シミュレータ（３）に指令する第６のステップと、をさらに含む。
【０１０２】
上記処理により、過去の中間データ６から待機状態（又は定常状態）に一致する有用中間データ６０を、モデル状態管理テーブル７０でモデルと待機状態（定常状態）に関連付けて管理しておくことで、所望のモデルを組み合わせて、所望の待機状態（又は定常状態）からシミュレーションを開始することが可能となるのである。
【０１０３】
（４）上記（３）に記載のシミュレーション管理方法であって、前記モデル状態管理情報（７０）の前記モデルの識別子が、名称（型名７１）とバージョン情報（７２）を含み、前記第４のステップでは、前記モデルの識別子として、前記名称（７１）と前記バージョン情報（７２）を受け付ける。
【０１０４】
（５）上記（５）に記載のシミュレーション管理方法であって、前記第２のステップでは、前記予め設定された所定の状態（待機状態）として、前記モデルの内部状態を示す値のうち、所定の状態であるか否かを判定する値と、前記判定から除外する値を設定した着目条件を用いる。
【０１０５】
着目条件を用いることで、全ての内部状態が待機状態に一致していなくても、シミュレーションに影響を与えない値に関する判定を省略（除外）することで、有用中間データ６０として利用可能な中間データ６を増大させることができる。
【０１０６】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。
【０１０７】
また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、又は、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【０１０８】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１０９】
１  シミュレーション管理装置１
３  シミュレータ
４  データレイク
５  シナリオ定義
６  中間データ
７  モデルテーブル
６０  有用中間データ
７０  モデル状態管理テーブル
１１０  シミュレーション管理部
１２０  中間データ管理部
【図１】
2020160898.tif 000003
【図２】
2020160898.tif 000004
【図３】
2020160898.tif 000005
【図４】
2020160898.tif 000006
【図５】
2020160898.tif 000007
【図６】
2020160898.tif 000008
【図７】
2020160898.tif 000009
【図８】
2020160898.tif 000010
【図９】
2020160898.tif 000011
【図１０】
2020160898.tif 000012