IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧

特許7145804シミュレーション管理方法及びシミュレーションシステム
<>
  • 特許-シミュレーション管理方法及びシミュレーションシステム 図1
  • 特許-シミュレーション管理方法及びシミュレーションシステム 図2
  • 特許-シミュレーション管理方法及びシミュレーションシステム 図3
  • 特許-シミュレーション管理方法及びシミュレーションシステム 図4
  • 特許-シミュレーション管理方法及びシミュレーションシステム 図5
  • 特許-シミュレーション管理方法及びシミュレーションシステム 図6
  • 特許-シミュレーション管理方法及びシミュレーションシステム 図7
  • 特許-シミュレーション管理方法及びシミュレーションシステム 図8
  • 特許-シミュレーション管理方法及びシミュレーションシステム 図9
  • 特許-シミュレーション管理方法及びシミュレーションシステム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-22
(45)【発行日】2022-10-03
(54)【発明の名称】シミュレーション管理方法及びシミュレーションシステム
(51)【国際特許分類】
   G06F 9/455 20060101AFI20220926BHJP
【FI】
G06F9/455
【請求項の数】 10
(21)【出願番号】P 2019060853
(22)【出願日】2019-03-27
(65)【公開番号】P2020160898
(43)【公開日】2020-10-01
【審査請求日】2021-05-11
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】近藤 伸和
(72)【発明者】
【氏名】馬場 恒彦
(72)【発明者】
【氏名】大越 淳平
【審査官】金田 孝之
(56)【参考文献】
【文献】特開2008-305019(JP,A)
【文献】国際公開第2017/179120(WO,A1)
【文献】特開2009-014406(JP,A)
【文献】特開2008-282308(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/455
G06F 9/448
(57)【特許請求の範囲】
【請求項1】
プロセッサとメモリを有する管理装置が、シミュレーションに用いるデータを管理するシミュレーション管理方法であって、
シミュレータが、モデルとデータを用いてシミュレーションを実行し、
前記管理装置が、前記シミュレーションを行っているモデルの内部状態が、所定の状態に合致する中間データを抽出し、当該抽出した中間データを有用中間データとして保持し、
前記シミュレーションは、複数のモデルを用いたシミュレーションであり、
前記管理装置は、前記モデルごとに前記有用中間データを保持する
ことを特徴とするシミュレーション管理方法。
【請求項2】
請求項1に記載のシミュレーション管理方法であって、
前記所定の状態は、予め設定された待機状態または定常状態であることを特徴とするシミュレーション管理方法。
【請求項3】
請求項1に記載のシミュレーション管理方法であって、
モデル状態管理情報は、前記所定の状態と、前記モデルの識別子とを有しており、
前記管理装置は、前記所定の状態と前記モデルの識別子に対応した前記有用中間データを取得し、対応付けて前記モデル状態管理情報に格納する
ことを特徴とするシミュレーション管理方法。
【請求項4】
請求項3に記載のシミュレーション管理方法であって、
前記モデル状態管理情報は、複数のモデル識別子を有しており、それぞれのモデル識別子に対して複数の前記所定の状態を対応付けている
ことを特徴とするシミュレーション管理方法。
【請求項5】
請求項1に記載のシミュレーション管理方法であって、
前記管理装置が、
前記シミュレーションの開始条件として、前記モデルの識別子と前記所定の状態を受け付け、
前記受け付けた前記モデルの識別子と所定の状態とで、モデル状態管理情報から前記有 用中間データを取得し、
取得した前記有用中間データを前記モデルに設定して前記所定の状態からシミュレーションを開始するよう前記シミュレータに指令する、
ことを特徴とするシミュレーション管理方法。
【請求項6】
請求項3に記載のシミュレーション管理方法であって、
前記モデル状態管理情報の前記モデルの識別子が、名称とバージョン情報を含み、
前記管理装置は、前記モデルの識別子として、前記名称と前記バージョン情報を受け付けることを特徴とするシミュレーション管理方法。
【請求項7】
請求項1に記載のシミュレーション管理方法であって、
前記所定の状態として、前記モデルの内部状態を示す値のうち、所定の状態であるか否かを判定する値と、前記判定から除外する値を設定した着目条件を用いることを特徴とするシミュレーション管理方法。
【請求項8】
請求項1に記載のシミュレーション管理方法であって、
前記管理装置が、
前記シミュレーションの開始条件として、複数の前記モデルの識別子と、それに対応する前記所定の状態を受け付け、
前記受け付けた前記複数のモデルの識別子と所定の状態とで、モデル状態管理情報から複数の前記有用中間データを取得し、
取得した前記複数の有用中間データを前記モデルに設定して、前記所定の状態から、前記複数のモデルの同期化を行いシミュレーションを開始するよう前記シミュレータに指令する、
ことを特徴とするシミュレーション管理方法。
【請求項9】
請求項1に記載のシミュレーション管理方法であって、
モデルを設定した後に、少なくとも1のモデルの状態を遷移させて前記所定の状態にし、状態遷移後に、複数のモデルを同期化させることを特徴とするシミュレーション管理方法。
【請求項10】
プロセッサとメモリを有する管理装置と、シミュレーションを実行するシミュレータと、を有するシミュレーションシステムであって、
前記シミュレータは、
モデルとデータを受け付けて、前記シミュレーションを実行し、
前記管理装置は、
前記シミュレーションを行っているモデルの内部状態が、所定の状態に合致する中間データを抽出し、当該抽出した中間データを有用中間データとして保持し、
前記シミュレーションは、複数のモデルを用いたシミュレーションであり、
前記管理装置は、前記モデルごとに前記有用中間データを保持する
ことを特徴とするシミュレーションシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、シミュレーションを行う計算機システムに関する。
【背景技術】
【0002】
IoT(Internet of Things)技術の進展に伴い、工場等のセンサデータや、現場のOT(Operational Technology)データや、製造装置のシミュレーションデータを統合分析し、生産性の向上や故障率低減など、多様な経営課題の解決が期待されている。
【0003】
複数のシミュレータ間で連動を行うシミュレーション技術が進展する一方、機器の高度化も急速に進み、シミュレーションによる膨大な検証工数が迅速な製品化を阻む一要因となっている。
【0004】
シミュレーションの効率を向上させる技術として、特許文献1が知られている。特許文献1は、一定条件が成立した場合にシミュレーションのスナップショットを取得しておき、シミュレーションの再実行時にスナップショットを利用する技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2010-102372号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
複数のモデルを連動させてシミュレーションを実施する場合、モデルを入れ替えてシミュレーションを実行する場合がある。しかし、上記従来例のスナップショットでは、ある時点のシミュレーション全体の情報が記録されているだけで、モデルを入れ替えてシミュレーションを再開することができない、という問題があった。
【0007】
このため、上記従来例では、モデルを入れ替える場合には、最初からシミュレーションを実行する必要が生じ、シミュレーションの実行時間を短縮することができない、という問題があった。
【0008】
そこで、本発明は上記問題点に鑑みてなされたもので、複数のモデルのシミュレーションの実行結果の中から再利用可能な情報を抽出し、再利用することを目的とする。
【課題を解決するための手段】
【0009】
本発明は、プロセッサとメモリを有する管理装置が、シミュレーションに用いるデータを管理するシミュレーション管理方法であって、シミュレータが、モデルとデータを用いてシミュレーションを実行し、前記管理装置が、前記シミュレーションを行っているモデルの内部状態が、所定の状態に合致する中間データを抽出し、当該抽出した中間データを有用中間データとして保持し、前記シミュレーションは、複数のモデルを用いたシミュレーションであり、前記管理装置は、前記モデルごとに前記有用中間データを保持する。
【発明の効果】
【0010】
したがって、本発明は、シミュレーションを実施した中間データから、所定の状態(待機状態)の中間データをモデル毎に抽出して、有用中間データとして格納する。これにより、各モデルの有用中間データを選択することで、途中の待機状態からシミュレーションを開始することが可能となる。また、有用中間データをモデル毎に選択可能であるので、モデルの組み合わせを変更して、途中からシミュレーションを行うことで、シミュレーションに要する時間を短縮することが可能となる。
【0011】
本明細書において開示される主題の、少なくとも一つの実施の詳細は、添付されている図面と以下の記述の中で述べられる。開示される主題のその他の特徴、態様、効果は、以下の開示、図面、請求項により明らかにされる。
【図面の簡単な説明】
【0012】
図1】本発明の実施例を示し、シミュレーションシステムの一例を示すブロック図である。
図2】本発明の実施例を示し、シミュレータの一例を示すブロック図である。
図3】本発明の実施例を示し、シミュレーション管理装置の一例を示すブロック図である。
図4】本発明の実施例を示し、シミュレーション対象のパワーステアリングシステムの状態遷移図である。
図5】本発明の実施例を示し、シナリオ定義の一例を示す図である。
図6】本発明の実施例を示し、モデル状態管理テーブルの一例を示す図である。
図7】本発明の実施例を示し、モデルテーブルの一例を示す図である。
図8】本発明の実施例を示し、シミュレーション管理装置で行われる有用中間データの抽出処理の一例を示すフローチャートである。
図9】本発明の実施例を示し、シミュレーション管理装置で行われる待機状態からシミュレーションを開始する処理の一例を示すフローチャートである。
図10】本発明の実施例を示し、シミュレーションの開始の様子を示すタイムチャートである。
【発明を実施するための形態】
【0013】
以下、本発明の実施形態を添付図面に基づいて説明する。
【0014】
図1は、本発明の実施例を示し、複数のモデルを連動させるシミュレータを管理するシミュレーションシステムの一例を示すブロック図である。シミュレーションシステムは、複数のモデルを連動させてシミュレーションを実行するシミュレータ3と、シミュレーションを管理するシミュレーション管理装置1と、シミュレーションの指示とシミュレーション結果(解析結果)の表示を行うシミュレーション端末2が図示しないネットワークで接続される。
【0015】
シミュレーション端末2は、シミュレーションの利用者(又は管理者)が操作する計算機で、実行するシナリオ定義や、使用するモデルや、シミュレーションの開始などを指示し、シミュレーションの結果を表示する。
【0016】
シミュレーション管理装置1は、シミュレータ3にシミュレーションの実行を指令するシミュレーション管理部110と、シミュレータ3からシミュレーション結果やモデルの状態情報(中間データ)を受け付けて、利用可能な状態情報を有用中間データ60として抽出する中間データ管理部120と、シミュレータ3との間で通信を行うシミュレーションインタフェース130と、データを蓄積するデータレイク4を含む。なお、本実施例では、シミュレーション管理装置1がデータレイク4を含む例を示すが、データレイク4はシミュレーション管理装置1の外部であってもよい。
【0017】
シミュレーション管理部110は、シミュレーション端末2から受け付けた指示に基づいて、データレイク4から、シミュレータ3に実行させるシナリオ定義5と、シミュレーションを行うモデルやテストデータ9と、シミュレーションの開始位置に基づく有用中間データ60を取得して、シミュレーションインタフェース130を介してシミュレータ3に指令する。
【0018】
シミュレーションインタフェース130はシミュレータ3(または基盤プラットフォーム)からシミュレーションの結果やモデルの状態情報を受け付けると中間データ管理部120と、シミュレーション端末2へ転送する。また、シミュレーションインタフェース130は、シミュレーション管理部110からのデータ及び指令をシミュレータ3へ転送する。
【0019】
中間データ管理部120は、シミュレーションインタフェース130を介してシミュレータ3から受け付けたシミュレーション結果をデータレイク4のシミュレーション結果8へ格納し、シミュレータ3から受け付けた各モデルの状態情報を中間データ6へ格納する。なお、各モデルの状態情報は、例えば、各モデルの内部状態を示す値で構成される。
【0020】
そして、中間データ管理部120は、所定のタイミングで中間データ6から再利用可能なデータを抽出し、有用中間データ60としてデータレイク4へ格納する。中間データ管理部120は、抽出した有用中間データ60をシミュレーション対象のモデルの状態遷移図とモデルに対応付けて管理するモデル状態管理テーブル70に登録する。なお、所定のタイミングは、シミュレーションシステムの利用者等からの指示をシミュレーション管理装置1が受け付けた時や、所定の周期など、予め設定されたタイミングである。
【0021】
シミュレーション管理部110は、シミュレーションを開始する際に、シナリオ定義5を参照して、有用中間データ60から利用可能なモデルのデータを取得して、シミュレーションに再利用する。
【0022】
図2は、本発明の実施例を示し、複数のモデルを連動させるシミュレータ3の一例を示すブロック図である。本実施例では、車両のパワーステアリング装置に本発明のシミュレーションシステムを適用する例を示す。
【0023】
シミュレーション対象のパワーステアリング装置は、ECU(Electronic Control Unit)モデル310と、アナログ系モデル320と、プラントモデル330の3つのモデルを含む。
【0024】
シミュレータ3では、基盤プラットフォーム510上で複数種のシミュレータが稼働しており、本実施例では、ECUモデル310のシミュレーションを行うデジタルシミュレータ410と、アナログ系モデル320のシミュレーションを行うアナログシミュレータ430と、プラントモデル330のシミュレーションを行うプラントシミュレータ450が稼働する。
【0025】
また、基盤プラットフォーム510上では、デジタルシミュレータ410とアナログシミュレータ430を連動させる連成部420と、アナログシミュレータ430とプラントシミュレータ450を連動させる連成部440も稼働している。なお、連成部420、440は、連成解析(Coupling Analysis)を実施する場合に機能させればよい。
【0026】
基盤プラットフォーム510は、シミュレーション管理装置1からの指令に基づいて各モデルのシミュレーションを各シミュレータに実行させ、各シミュレータからシミュレーション結果や中間データを取得すると、シミュレーション管理装置1へ送信する。本実施例1では、ひとつの計算機でシミュレータ3を実現する例を示すが、各シミュレータが異なる計算機で実行されてもよい。
【0027】
プラントモデル330は、ステアリング機構321と、ハンドルアシスト機構322のモデルが含まれる。ステアリング機構321のモデルは、油圧装置を駆動する制御モータのモデルが含まれる。ハンドルアシスト機構322は、アシストモータとトルクセンサのモデルが含まれる。アナログ系モデル320は、トルクセンサを含み、ハンドルの操作を検出する。
【0028】
ECUモデル310は、マイクロコンピュータと、モータ制御部と、センサインタフェースのモデルを含み、ステアリングの制御と、ハンドル操作のアシストを制御する。
【0029】
本実施例のシミュレーションシステムでは、ECUモデル310と、アナログ系モデル320と、プラントモデル330の複数のモデルを連動して挙動を解析するシミュレーションを実施する。
【0030】
シミュレーション管理装置1は、個々のモデルのバリエーションと、高頻度で発生する典型的なステータス(待機状態又は定常状態)の各モデルの内部状態を示すデータ(有用中間データ60)を、状態遷移図のステータスに紐付けてモデル状態管理テーブル70で管理する。
【0031】
本実施例のシミュレーション管理装置1は、シミュレーションで使用するモデルとモデルのバリエーションと、ステータスをシミュレーション端末2から受け付けると、過去のシミュレーションで発生したモデルの内部状態を示す有用中間データ60を特定することができる。
【0032】
シミュレーション管理装置1は、シミュレーションを実施するモデルを特定し、ステータスを特定すれば、状態遷移図上の待機状態又は定常状態からシミュレータ3にシミュレーションを開始させることが可能となる。
【0033】
すなわち、シミュレーション管理装置1は、複数のモデルを入れ替えて、予め設定された待機状態又は定常状態の有用中間データ60をシミュレータ3の各モデルに設定することで、シミュレーションをゼロから開始することなく、途中の待機状態又は定常状態からシミュレーションを開始することが可能となる。これにより、シミュレーションの実行時間を削減し、多くのモデルの組み合わせの試行を容易かつ短時間で行うことができる。
【0034】
図3は、シミュレーション管理装置1の一例を示すブロック図である。シミュレーション管理装置1は、プロセッサ11と、メモリ12と、入力装置13と、出力装置14と、ネットワークインタフェース15と、データレイク4を含む計算機である。
【0035】
入力装置13は、例えば、マウスやキーボードあるいはタッチパネルで構成される。出力装置14は、ディスプレイなどで構成される。ネットワークインタフェース15は、ネットワーク150に接続されて、シミュレーション端末2やシミュレータ3と通信を行う。
【0036】
メモリ12には、シミュレーション管理部110と、中間データ管理部120と、シミュレーションインタフェース130がプログラムとして格納され、プロセッサ11によって実行される。
【0037】
プロセッサ11は、各機能部のプログラムに従って処理を実行することによって、所定の機能を提供する機能部として稼働する。例えば、プロセッサ11はシミュレーション管理プログラムに従って処理を実行することでシミュレーション管理部110として機能する。他のプログラムについても同様である。さらに、プロセッサ11は、各プログラムが実行する複数の処理のそれぞれの機能を提供する機能部としても稼働する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
【0038】
データレイク4は、1以上の不揮発性記憶媒体を含む記憶装置で構成される。データレイク4には、シミュレーション中のモデルの状態情報である中間データ6と、中間データ6から抽出された有用中間データ60と、シミュレーションに用いるモデルの情報を格納するモデルテーブル7と、有用中間データ60とモデルと状態遷移図の関係を管理するモデル状態管理テーブル70と、シミュレーションのシナリオが設定されたシナリオ定義5と、シミュレーションに使用するデータが格納されるテストデータ9が含まれる。
【0039】
シナリオ定義5には、シミュレーションのシナリオと、シミュレーションで使用するモデルの状態遷移図が含まれる。シナリオ定義5は、シミュレーションシステムの利用者などが予め設定したデータであり、シミュレーションの手順や状態遷移図及び使用するデータ等が含まれる。
【0040】
図4は、パワーステアリングシステムの状態遷移図の一例を示す図である。状態遷移図は、設計書や仕様書等の記載からシミュレーションシステムの利用者や管理者などが予め設定した情報である。
【0041】
本実施例のパワーステアリングシステムの状態遷移図では、エンジンやモータが停止する停止状態(St1)を起点とする。停止状態(St1)で、ドライバが車両のイグニッションをONにするとアシストモードの待機状態(St2)へ遷移し、ハンドル操作やモード変更を受け付ける待機中となる。
【0042】
本実施例では、待機状態(又は定常状態)は、入力が一定又は入力待ちで、かつ、出力が一定又は出力がゼロの状態とする。すなわち、待機状態の場合のモデルの内部状態は、内部状態を示す値が一定またはゼロ等の所定の条件を満たせばよい。
【0043】
アシストモードの待機状態(St2)でハンドル操作を受け付けると、ハンドル操作のアシスト制御(St3)へ遷移して、ステアリング制御及びハンドル操作のアシスト制御が行われる。ステアリング制御とアシスト制御が完了すると、アシストモードの待機状態(St2)に戻る。
【0044】
また、アシストモードの待機状態(St2)で、イグニッションがOFFになると停止状態(St1)に戻る。
【0045】
アシストモードの待機状態(St2)でアシストモードをOFFモードに切り替えるモード変更が行われると、OFFモードの待機状態(St4)へ遷移する。アシストのOFFモード(St4)では、モード変更によってアシストモードの待機状態(St2)へ遷移するか、イグニッションのOFFによって停止状態(St1)へ遷移する。
【0046】
また、アシストモードの待機状態(St2)でモード変更によってテスト診断モードへ遷移すると、テスト診断モードの待機状態(St5)へ遷移する。テスト診断モードの待機状態(St5)では、テスト入力が行われると診断用パターン入力(St6)で診断が行われる。そして、診断が完了するとテスト診断モードの待機状態(St5)へ遷移する。
【0047】
テスト診断モードの待機状態(St5)では、イグニッションのOFFによって停止状態(St1)へ遷移する。なお、停止状態(St1)では、特定の操作を行いながらイグニッションをONにすることで、テスト診断モードの待機状態(St5)へ遷移することができる。
【0048】
本実施例のシミュレーション管理装置1は、状態遷移図において待機状態又は定常状態のステータスを特定し、特定したステータスに合致する中間データ6を、有用中間データ60として抽出する。そして、シミュレーション管理装置1は、有用中間データ60をモデルとステータスに紐付けてモデル状態管理テーブル70に格納して管理する。
【0049】
図4の状態遷移図では、アシストモードの待機状態(St2)が特定のステータスβとして設定され、OFFモードの待機状態(St2)が特定のステータスαとして設定され、テスト診断モードの待機状態(St5)が特定のステータスγとして設定される。
【0050】
そして、これらのステータスα~γでは、後述するように、有用中間データ60が抽出されて、モデル状態管理テーブル70で管理され、後のシミュレーションで再利用可能となる。
【0051】
図5は、パワーステアリングシステムのシミュレーションを実施するシナリオ定義5の一例を示す図である。シナリオ定義5は、設計書や仕様書等の記載からシミュレーションシステムの利用者や管理者などが予め設定した一連の試行の内容と手順で構成される。図示のシナリオ定義5は、出力装置14やシミュレーション端末2の表示装置などで表示された画面の一例を示す。
【0052】
図示の例では、パワーステアリングシステムの起動からシミュレーションが開始されて、ECUの初期化の後に、テスト診断モードの待機状態(St5)へ遷移してから、アシストモードの待機状態(St2)へ遷移する。そして、シナリオ(1)では、OFFモードへのモード切替の後に、OFFモードの待機状態(St4)に遷移し、その後、OFFモードでハンドル操作を受け付けるシミュレーションの手順が設定されている。
【0053】
一方、シナリオ(2)では、アシストモードの待機状態(St2)の次に、OFFモードへのモード切替の後に、ハンドル操作を受け付けるシミュレーションとなっている。
【0054】
そして、図5において、OFFモードの待機状態(St4)は特定のステータスαであり、アシストモードの待機状態(St4)が特定のステータスβであることが表示される。シナリオ定義5で、特定のステータスが表示される状態は、有用中間データ60が存在することを示し、換言すれば、特定のステータスの位置からシミュレーションを開始することが可能であることを明示している。
【0055】
図6は、モデル状態管理テーブル70の一例を示す図である。モデル状態管理テーブル70は、後述するように、中間データ管理部120で生成される。
【0056】
モデル状態管理テーブル70は、モデルの型式や名称を格納する型名71と、ソフトウェアのバージョンやハードウェアの仕様などの情報を格納するバージョン情報72と、ステータスの情報(識別子)と情報の格納位置を示す状態モデル73と、使用制限事項などを格納する備考74を、ひとつのエントリに含む。
【0057】
製品の開発期間中では、型式やファームウェアやメーカが異なるECUについてシミュレーションを試行する場合がある。このため、型名71だけではなく、ファームウェア等のバージョンなど仕様の違いを示す情報を付加することで、モデルの違いを管理する。
【0058】
状態モデル73は、図4に示した状態遷移図のステータスの識別子(α、β、γ)と、当該ステータスに対応する有用中間データ60のファイルIDが格納される。例えば、型名71=「EU01」、バージョン情報72=「V001」のモデルで、状態遷移図上のステータスα(St4)の有用中間データ60は、ファイルID=「V001_1」で格納されていることを示す。
【0059】
モデル状態管理テーブル70は、ひとつのステータスについて、型名71に対応するバージョン情報72の数だけ異なる有用中間データ60のファイルIDを対応付けて管理することができる。これにより、シミュレーションシステムの利用者等は、ひとつのモデルが開発期間中に変化した内容を、検討することが可能となる。また、バージョン情報72が異なる複数のモデルを組み合わせてシミュレータ3にシミュレーションを実施させ、最適なモデルの組み合わせを探索することも可能となる。
【0060】
なお、上記ではモデル状態管理テーブル70の状態モデル73に有用中間データ60のファイルIDを格納する例を示したが、有用中間データ60の格納位置を示すパスや、ファイル名などを格納することができる。あるいは、有用中間データ60を状態モデル73に格納してもよい。
【0061】
図7は、モデルテーブル7の一例を示す図である。モデルテーブル7は、シミュレーションシステムの利用者等によって予め設定される情報である。モデルテーブル7は、モデルの種類75と、モデルの型名76と、ファイルID77が含まれる。
【0062】
なお、モデルの型名76には、ソフトウェアやハードウェアの仕様の違いを示すバージョン情報を含めるようにしてもよい。ファイルID77は、当該モデルのデータを格納したファイルの識別子で構成してもよい。
【0063】
図8は、中間データ管理部120で行われる、有用中間データ60の抽出処理の一例を示すフローチャートである。この処理は、シミュレーションシステムの利用者の指示に基づいて実行される。
【0064】
中間データ管理部120は、ステップS1で、抽出対象のモデルについて、待機状態(又は定常状態)の定義を取得する。待機状態の取得は、ファイルや入力装置13からの入力などを用いることがえできる。なお、待機状態の定義は、モデルテーブル7でモデル毎に各待機状態を予め設定しておくことができる。また、待機状態は、上述したようにモデルの内部状態を示す値が、一定またはゼロ等の所定の条件を満たした状態を示す。
【0065】
中間データ管理部120は、ステップS2で、抽出対象のモデルの中間データ6をデータレイク4から読み込む。ステップS3では、中間データ管理部120が、上記読み込んだ中間データ6が、ステップS1で読み込んだ待機状態(又は定常状態)のいずれかと一致するか否かを判定する。中間データ管理部120は、中間データ6が待機状態と一致した場合にはステップS4へ進み、一致しない場合にはステップS8へ進む。
【0066】
ステップS4では、中間データ管理部120が、当該中間データ6を格納するためのファイルIDを生成する。ファイルIDは、シミュレーションシステム内でユニークな識別子であればよい。
【0067】
ステップS5では、中間データ管理部120が、上記一致した待機状態の状態IDを生成する。状態IDは、モデル内でユニークな識別子であればよい。
【0068】
ステップS6では、中間データ管理部120が、待機状態と一致した中間データ6を有用中間データ60とし、上記生成されたファイルIDでデータレイク4に格納する。
【0069】
次に、中間データ管理部120は、当該モデルのID(モデルID)と、状態IDとファイルIDを紐付けてモデル状態管理テーブル70に書き込む。なお、図6のモデル状態管理テーブル70で示したように、モデルIDにバージョン情報72を加えるようにしてもよい。
【0070】
図6のモデル状態管理テーブル70では、型名71とバージョン情報72がモデルIDを構成し、状態モデル73のうち、α、β、γが状態IDであり、(V001_1)~(V023_3)がファイルIDである。なお、中間データ管理部120は、上記ステップS1で待機状態を受け付ける際に、モデルIDを受け付けておく。
【0071】
ステップS8では、中間データ管理部120が、次に処理を実施する中間データ6があるか否かを終了条件として判定する。中間データ管理部120は、未処理の中間データ6があればステップS2へ戻って上記処理を繰り返す。一方、中間データ管理部120は、未処理の中間データ6がなければ、処理を終了する。
【0072】
上記処理によって、中間データ6から各モデルの状態遷移図の待機状態(又は定常状態)と一致する値を、有用中間データ60として抽出してデータレイク4に格納し、この有用中間データ60に状態IDを付与して、モデルIDと関連付けてモデル状態管理テーブル70に格納する。これにより、モデル状態管理テーブル70には、待機状態(又は定常状態)の有用中間データ60が、モデル毎、バージョン情報72毎に追加される。
【0073】
また、ひとつの型名71に対して複数のバージョン情報72で有用中間データ60を紐付けることができるので、ひとつのモデルの複数の態様からシミュレーションを実施することができ、開発の進捗に合わせてシミュレーションを行うモデルの組み合わせを選択することができる。
【0074】
なお、上記実施例では、待機状態として、モデルの内部状態を示す値が一定またはゼロなどの所定の条件を満たす場合としたが、これに限定されるものではない。中間データ管理部120は、モデルの内部状態を示す値のうち、予め設定した着目条件を満たせば、待機状態に合致していると判定することができる。
【0075】
例えば、モデルの内部状態として3つの値A、B、Cが存在する場合、予め設定した値A、Bを待機状態を判定する値とし、値Cを判定から除外する条件を着目条件とする。着目条件を受け付けた中間データ管理部120は、内部状態の値A、Bで待機状態を判定し、値Cについては不問とする。これにより、全ての内部状態が待機状態に一致していなくても、シミュレーションに影響を与えない値に関する判定を省略(除外)して、有用中間データ60として利用可能な中間データ6を増大させることができる。
【0076】
なお、着目条件は、モデルの特性やシミュレーションの内容に応じてシミュレーションシステムの利用者等が適宜設定することができる。また、着目条件は、上記ステップS1で読み込むようにすればよい。
【0077】
図9は、シミュレーション管理部110で行われる、シミュレーションの開始処理の一例を示すフローチャートである。この処理は、シミュレーション端末2又は入力装置13からの指令に応じて開始される。
【0078】
シミュレーション管理部110は、ステップS11で、シミュレーション端末2又は入力装置13から受け付けたシナリオ定義5をデータレイク4から取得して、シミュレーションを実行するシナリオを読み込む。
【0079】
シミュレーション管理部110は、ステップS12で、シミュレーション端末2又は入力装置13から、シミュレーションを開始する条件として待機状態(又は定常状態)を受け付ける。次に、シミュレーション管理部110は、ステップS13で、シミュレーション端末2又は入力装置13から、シミュレーションを開始する条件として、モデルのID及びバージョン情報72を受け付ける。
【0080】
シミュレーション管理部110は、ステップS14で、上記受け付けたモデルIDとバージョン情報72と待機状態に対応する有用中間データ60を、モデル状態管理テーブル70から検索する。
【0081】
次に、シミュレーション管理部110は、ステップS15で、該当する有用中間データ60があるか否かを判定する。シミュレーション管理部110は、検索条件に該当する有用中間データ60が存在すればステップS16へ進み、存在しない場合にはステップS20へ進む。
【0082】
ステップS16では、検索結果のモデル状態管理テーブル70のエントリから、有用中間データ60のファイルIDを取得する。そして、ステップS17で、シミュレーション管理部110は、データレイク4の有用中間データ60からファイルIDのデータを読み込む。また、シミュレーション管理部110は、モデルテーブル7からモデルID及びバージョン情報72に対応するモデルを読み込む。
【0083】
ステップS18では、シミュレーション管理部110は、有用中間データ60をモデルにセットして、テストデータの読み込みなどシミュレーションの準備を行う。そして、ステップS19では、シミュレーション管理部110がモデルと有用中間データ60及びテストデータ9をシミュレータ3へ指示してシミュレーションを実行させる。
【0084】
一方、上記ステップS15の判定で、該当する有用中間データ60がモデル状態管理テーブル70にない場合にはステップS20に進んで、シミュレーション管理部110は、シミュレーション端末2又は出力装置14へ有用中間データ60が取得できなかったことを通知する。
【0085】
上記処理により、過去の中間データ6から待機状態(又は定常状態)に一致する有用中間データ60を、モデル状態管理テーブル70でモデルと待機状態(定常状態)に関連付けて管理しておくことで、所望のモデルを組み合わせて、所望の待機状態(又は定常状態)からシミュレーションを開始することが可能となるのである。
【0086】
図10は、シナリオ定義5の途中からシミュレーションを開始する例を示すタイムチャートである。図示の例では、モデルA~モデルDの4つのモデルを連動させてシミュレーションを行う例を示す。
【0087】
シミュレーション管理部110は、モデル状態管理テーブル70から各モデルA~Dの開始位置の有用中間データ60を取得して、各モデルに有用中間データ60を設定しておく。そして、シミュレーション管理部110は、シナリオ定義5に基づいて、シミュレータ3にシミュレーションの開始を指示する。
【0088】
まず、時刻t1では第1の待機状態(State1)からモデルDのシミュレーションが開始される。次に、時刻t2では第2の待機状態(State2)のモデルCのシミュレーションが開始される。この第2の待機状態(State2)では、モデルDの内部状態をモデルCの内部状態へ伝達する同期化が行われる。
【0089】
時刻t3では第3の待機状態(State3)のモデルA、Bのシミュレーションが開始される。この第3の待機状態(State3)では、モデルC、Dの内部状態をモデルA、Bの内部状態へ伝達する同期化が行われる。
【0090】
中間データ管理部120は、時刻t3の第3の待機状態(State3)で、モデルC、Dの有用中間データ60が存在しない場合には、モデルのIDと待機状態に紐付けて、時刻t3のモデルC、Dの内部状態を有用中間データ60として格納することができる。
【0091】
以上のように、本実施例のシミュレーション管理装置1では、有用中間データ60をシナリオ定義5の途中の待機状態で各モデルへ適用することで、所望の待機状態からシミュレーションを開始させることが可能となって、シミュレーションに要する時間を短縮することができる。
【0092】
また、本実施例のシミュレーション管理装置1では、モデルの組み合わせを変更して、シナリオ定義5の途中の待機状態からシミュレーションを開始することができるので、前記従来例のように、モデルの組み合わせを変更した場合に最初からシミュレーションを開始する必要がなくなって、シミュレーションに要する時間を大幅に短縮することができる。これにより、開発に要するコスト及び時間を大幅に削減することが可能となるのである。
【0093】
<まとめ>
【0094】
以上のように、上記実施例のシミュレーションシステムは、以下のような構成とすることができる。
【0095】
(1)プロセッサ(11)とメモリ(12)を有する管理装置(シミュレーション管理装置1)が、シミュレーションに用いるデータを管理するシミュレーション管理方法であって、前記管理装置(1)が、シミュレータ(3)にモデルとデータを与えてシミュレーションを実行させて、前記モデルの内部状態を示す中間データ(6)を取得する第1のステップと、前記管理装置(1)が、予め設定された所定の状態(待機状態)に合致する前記中間データ(6)を抽出し、当該抽出した中間データ(6)を有用中間データ(60)として保持する第2のステップと、前記管理装置(1)が、前記所定の状態(待機状態)と前記モデルの識別子と前記有用中間データ(60)を対応付けてモデル状態管理情報(モデル状態管理テーブル70)に格納する第3のステップと、を含む。
【0096】
上記によって、中間データ6から各モデルの状態遷移図の待機状態(又は定常状態)と一致する値を、有用中間データ60として抽出してデータレイク4に格納し、この有用中間データ60に状態IDを付与して、モデルIDと関連付けてモデル状態管理テーブル70に格納する。これにより、モデル状態管理テーブル70には、待機状態(又は定常状態)の有用中間データ60が、モデル毎、バージョン情報72毎に追加される。
【0097】
また、ひとつの型名71に対して複数のバージョン情報72で有用中間データ60を紐付けることができるので、ひとつのモデルの複数の態様からシミュレーションを実施することができ、開発の進捗に合わせてシミュレーションを行うモデルの組み合わせを選択することができる。
【0098】
(2)上記(1)に記載のシミュレーション管理方法であって、前記第2のステップでは、前記モデルの内部状態が、予め設定された待機状態または定常状態に合致する前記中間データ(6)を抽出する。
【0099】
上記処理によって、シミュレーション管理装置1では、中間データ6から各モデルの状態遷移図の待機状態(又は定常状態)と一致する値を、有用中間データ60としてモデルと待機状態に紐付けて管理することができる。
【0100】
有用中間データ60を状態遷移図の待機状態(又は定常状態)とすることで、この待機状態からシミュレーションを開始することが可能となる。
【0101】
(3)上記(1)に記載のシミュレーション管理方法であって、前記管理装置(1)が、前記シミュレーションの開始条件として、前記モデルの識別子(型名71、バージョン情報72)と前記所定の状態(待機状態)を受け付ける第4のステップと、前記管理装置(1)が、前記受け付けた前記モデルの識別子(71、72)と所定の状態(待機状態)でモデル状態管理情報(70)を検索し、前記有用中間データ(60)を取得する第5のステップと、前記管理装置(1)が、取得した前記有用中間データ(60)を前記モデルに設定して前記所定の状態(待機状態)からシミュレーションを開始するよう前記シミュレータ(3)に指令する第6のステップと、をさらに含む。
【0102】
上記処理により、過去の中間データ6から待機状態(又は定常状態)に一致する有用中間データ60を、モデル状態管理テーブル70でモデルと待機状態(定常状態)に関連付けて管理しておくことで、所望のモデルを組み合わせて、所望の待機状態(又は定常状態)からシミュレーションを開始することが可能となるのである。
【0103】
(4)上記(3)に記載のシミュレーション管理方法であって、前記モデル状態管理情報(70)の前記モデルの識別子が、名称(型名71)とバージョン情報(72)を含み、前記第4のステップでは、前記モデルの識別子として、前記名称(71)と前記バージョン情報(72)を受け付ける。
【0104】
(5)上記(5)に記載のシミュレーション管理方法であって、前記第2のステップでは、前記予め設定された所定の状態(待機状態)として、前記モデルの内部状態を示す値のうち、所定の状態であるか否かを判定する値と、前記判定から除外する値を設定した着目条件を用いる。
【0105】
着目条件を用いることで、全ての内部状態が待機状態に一致していなくても、シミュレーションに影響を与えない値に関する判定を省略(除外)することで、有用中間データ60として利用可能な中間データ6を増大させることができる。
【0106】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。
【0107】
また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、又は、ICカード、SDカード、DVD等の記録媒体に置くことができる。
【0108】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【0109】
1 シミュレーション管理装置1
3 シミュレータ
4 データレイク
5 シナリオ定義
6 中間データ
7 モデルテーブル
60 有用中間データ
70 モデル状態管理テーブル
110 シミュレーション管理部
120 中間データ管理部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10