JP2013137658A - 協調シミュレーション用計算機システム、組込みシステムの検証方法及びプログラム - Google Patents

協調シミュレーション用計算機システム、組込みシステムの検証方法及びプログラム Download PDF

Info

Publication number
JP2013137658A
JP2013137658A JP2011288339A JP2011288339A JP2013137658A JP 2013137658 A JP2013137658 A JP 2013137658A JP 2011288339 A JP2011288339 A JP 2011288339A JP 2011288339 A JP2011288339 A JP 2011288339A JP 2013137658 A JP2013137658 A JP 2013137658A
Authority
JP
Japan
Prior art keywords
simulators
simulation
test
simulator
computer system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011288339A
Other languages
English (en)
Other versions
JP5882052B2 (ja
Inventor
Yasuhiro Ito
康宏 伊藤
Yoshinobu Fukano
善信 深野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Automotive Systems Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Priority to JP2011288339A priority Critical patent/JP5882052B2/ja
Priority to PCT/JP2012/078396 priority patent/WO2013099438A1/ja
Publication of JP2013137658A publication Critical patent/JP2013137658A/ja
Application granted granted Critical
Publication of JP5882052B2 publication Critical patent/JP5882052B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】独立した異種複数のシミュレータが連携して動作するシミュレーションに対し、外部条件の挿入及び内部状態の操作を各操作の実行順序が入れ替わらない様に実行する事を可能にする。
【解決手段】独立して動作する各シミュレータ内部に装着した複数の試験用プローブ部と非同期に通信する試験進行制御部を備え、複数の試験用プローブ部と非同期に通信する試験進行制御部がシミュレータ全体の動作を一時停止・再開させる機能を共有することにより、各試験項目の実行時間の遅れを最小化する。
【選択図】図1

Description

本発明は、協調シミュレーション用計算機システム、組込みシステムの検証方法及びプログラムに係り、特に、メカニズム、ハードウェア、及びソフトウェアで構成される組込みシステムの開発に適した、協調シミュレータの技術に関するものである。
組込みシステムとは、制御対象を構成するメカニズムと、
このメカニズムから受け取った物理量を元に制御演算を行い、このメカニズムに制御値の出力を行なうハードウェアと、
このハードウェア上で動作するソフトウェアとで構成されるシステムである。
例えば、自動車エンジン制御向けの組込みシステムは、
制御対象であるエンジン等のメカニズムと、制御演算を行いこのエンジン等を制御するマイコン等の電子機器と、このマイコン等の上で動作するソフトウェアとで構成されている。
組込みシステムに含まれるソフトウェアの挙動は、制御対象のメカニズムとハードウェアの構成に強く依存するため、メカニズム、ハードウェア、ソフトウェアを併せた挙動の解析が必要である。
近年、自動車、電気機器等の高信頼化、高機能化により組込みシステムが複雑化しており、作業期間短縮のためハードウェア、ソフトウェアの各部品を細分化して分業化が行なわれ、複数拠点での同時開発が行われている。
分業化が進むにあたり、部品毎の動作確認だけではなく、部品の組み立て時に判明する性能不足、仕様の不具合が増加し、製品出荷前の最終段階での手戻りによる開発期間の遅延が多発しており、開発効率の悪化が問題となっている。
この問題を解決するため、設計時点でのメカニズム・ハードウェア・ソフトウェアを協調させたシミュレーションによる性能評価、検証手法が用いられ始めている。例えば、特許文献1には、複数の異種ECUを持つシステムを、ソフトウェア的に効率的にシミュレートする技術が開示されている。
また、特許文献2には、各々データプロセッサで構成される独立した異種複数のシミュレータが連携して動作するシミュレーションに対し、外部条件の挿入及び内部状態の操作を行う手段として、全てのシミュレータが接続されたユーザーインターフェースプロセッサを備え、このユーザーインターフェースプロセッサにより、シミュレーション全体の進行を管理し、内部状態の操作を行う手法が提案されている。
特開2010−33130号公報 特開2007−265415号公報
メカニズム・ハードウェア・ソフトウェア協調のシミュレーションでは、シミュレーション対象となるメカニズムやハードウェアの構成によって利用できるシミュレータが異なる事と、すでに特定のシミュレータ用に作成されたシミュレーションモデルの蓄積がある事から、異種シミュレータの相互接続による製品全体レベルの協調シミュレーションが行なわれる。
上記のシミュレーションを実行する際は、実行対象の動作を模したモデルを結合させるだけではなく、各シミュレータに対し外乱条件を挿入したり、内部状態を観測するための機構を付加する必要がある。
これらの外乱条件の挿入、内部状態観測はシミュレーション開始前に予め決められた時刻に起こすだけではなく、シミュレータが到達する特定の状態をトリガとして作動することが求められる。これは、システム全体の複雑化によって、部品同士の複雑な相互関係由来による異常状態の解析の重要度が高くなっていることに起因する。
複雑な部品同士の依存関係を記述するためには、トリガをかけるもの、状態を観測するもの、内部状態に外乱を与えるもの、以上の3つが別々のシミュレータに跨ることが求められる。
しかし、対象とする協調シミュレーション環境では、そのそれぞれのシミュレータは独立して動作するため、上記のような依存関係の記述は利用者にとって困難であった。例えば、ドメイン等の種類が異なる複数のシミュレータのコンピュータ間でのイベントの操作・トリガのやり取りは、システムの中央部分を介して通信する必要があり、シミュレーションの実行過程で利用者が複数のシミュレータを任意のタイミングで操作して異常状態の解析を行うことは困難であった。
特許文献1には、各シミュレータに対しユーザが、任意に外乱条件を挿入したり内部状態を観測するための機構を付加することについての開示は無い。
特許文献2の発明は、ユーザが中央のユーザーインターフェースプロセッサ経由で各シミュレータ(データプロセッサ)の内部状態の操作を行うものである。この場合、ユーザが操作を行うべき状態を観測してから、実際にその操作が行われるまで、各シミュレータと中央のユーザーインターフェースプロセッサ部分との通信が最低1往復あることから、操作の時間精度が損なわれ、望まれたシミュレーション結果が得られなくなることが課題であった。
協調シミュレーション環境において、ユーザが予め決められた時刻以外の任意のタイミングで何れかのシミュレータに外乱条件を挿入したりシミュレータの内部状態の観測を行う場合でも、管理ソフトウェアが試験記述にしたがって試験項目の順序が入れ替わることなく実行されることが望ましい。
本発明の目的は、独立した異種複数のシミュレータが連携して動作する協調シミュレーションに対し、ユーザがシミュレータに与えた外部条件の挿入及び内部状態の操作に対して、これらの各操作の実行順序が入れ替わらない様に実行する事を可能にする、協調シミュレーション用計算機システム、組込みシステムの検証方法及びプログラムを提供することにある。
本発明の代表的なものの一例を示すと、次のようになる。本発明の協調シミュレーション用計算機システムは、協調して動作する複数のシミュレータとこれら検証対象の複数のシミュレータを制御するシミュレーション統合コントローラとを備え、前記シミュレーション統合コントローラと前記各シミュレータとが、非同期通信により前記複数のシミュレータの全体の動作を一時停止・再開させる機能を共有しており、前記いずれか1つのシミュレータに設定されている停止条件が成立したとき、前記複数のシミュレータの全体を一時停止させ、該一時停止の間に前記少なくとも1つのシミュレータの状態の取得又は状態の書き換えを行うことを特徴とする。
本発明によれば、ユーザに対し、協調シミュレーションの外部から任意のタイミングで何れかのシミュレータに対してその実行継続条件を注入可能とする機能を提供することにより、検証対象のシステムについてその挙動の把握を容易にする事が可能である。
本発明の第1の実施例になる協調シミュレーション用計算機システムの全体的な構成例を示す機能ブロック図である。 図1の試験進行制御部の構成例を示す図である。 図1の検証対象シミュレーション、特にその内部で動作する試験用プローブ部の構成例を示す図である。 本システムの検証対象となる自動車エンジン制御向けの組込みシステムの物理的な構成例を示す図である。 電子制御ユニット(ECU)の物理的構成例を示す図である。 図3Aの自動車エンジン制御向けの組込みシステムの動作を協調シミュレーション環境上で再現するための、検証対象シミュレータ環境を示す図である。 図4Aで示した協調シミュレーション用の計算クラスタの構成例を示す図である。 本発明のシステムでサポートされる試験用プローブと対象モデル間の接続方式の一例示す図である。 本発明のシステムで用いる、共通の通信プロトコルの構成例を示す図である。 本発明のシステムで用いる、試験項目の記述フォーマットと試験結果の記述フォーマットの構成例を示す図である。 本発明の適用対象となるシミュレーションにおける、構成仕様記述フォーマットの構成例を示す図である。 本システムで利用可能となる操作、トリガ、観測を実行するコマンドーの種類を記述するためのフォーマットの構成例を示す図である。 図9のコマンドフォーマットで記述されたコマンドーの試験項目フォーマット上での識別名称と、そのコマンドー種類との対応を記述するためのフォーマットの構成例を示す図である。 第1の実施例における協調シミュレーション用計算機システムの特徴的な機能に関する動作フローを示す図である。 ユーザが記述したテスト仕様書の中に組まれる「適用対象となるシミュレーション」とそれらの処理の「優先度」の関係の一例を示す図である。 第1の実施例における試験用プローブが、その接続している対象モデルに対してシミュレーションの停止を行う構造を概説する図である。 図12のテスト仕様書に対応したシミュレーションの起動・停止の例を示す図である。 図12のテスト仕様書に対応したシミュレーションの起動・停止の他の例を示す図である。 本発明の第2の実施例になる、対象モデルがCPUモデルである場合に、このCPUのトレースから、他の試験用プローブのコマンド実行部に対するコマンドをトリガする手法を示す図である。 本発明の第3の実施例になる、対象モデルがメモリ等である場合に、このメモリ等が含むバスモデルのトレースから他の試験用プローブに対するコマンドをトリガする手法を示す図である。
本発明は、複数のソフトウェアが連動して動作する計算機システム、または開発システムのプログラムに適用することができる。
本発明の1つの実施形態によれば、協調シミュレーション用計算機システムは、1つのシミュレーション統合コントローラと、このシミュレーション統合コントローラに非同期ネットワークを介して接続され各々独立して動作する複数の検証対象シミュレータとで構成されている。各検証対象シミュレータは、試験用プローブ部を備えている。シミュレーション統合コントローラは、各検証対象シミュレータと非同期に通信する試験進行制御部を備えている。複数のシミュレータの試験用プローブ部と1つのシミュレーション統合コントローラの試験進行制御部とが、シミュレータ全体の動作を一時停止・再開させる機能を共有する。
本発明の協調シミュレーション用計算機システムでは、仮想検証環境を構成する複数のシミュレータが連携動作するために必要となるシミュレータ間データ通信部分に着目し、このデータ通信部分に仮想的な遅延時間を挿入することで該当するシミュレータの動作を停止させる。これにより、連携しているシミュレータ全体を連鎖的に停止させる。この性質を用いて、中央のシミュレーション統合コントローラとの通信を起こすことなく、各シミュレータにおいて、指定されたタイミングでの内部状態の操作が可能になる。すなわち、いずれかのシミュレータに設定されている停止条件が成立したときに、全てのシミュレータを止めた後に、各シミュレータの状態の取得又は状態の書き換えを行う。また、独立した異種のシミュレータが複数連携して動作するシミュレーションに対し、全てのシミュレータを一時的に停止さ、外部条件の挿入及び内部状態の操作を、各操作の実行順序が入れ替わらない様に実行する事が可能になる。
本発明の他の実施形態によれば、協調シミュレーション用計算機システムは、複数の機械・センサ系(メカ系)シミュレータとマイコン系シミュレータとが連携して動作する、仮想検証環境(本システム)を構成している。機械・センサ系シミュレータは、指令を受けて動作する各種のアクチュエータやその状態を検知するセンサ等、制御対象となる機器・部材に対応し、マイコン系シミュレータは、上記制御対象となる機器・部材を指令やセンサ情報等に基づいて制御するためのマイコンに対応している。
本発明の第1の実施例を、図1〜図14Bを参照しながら説明する。
図1は、本発明の第1の実施例になる協調シミュレーション用計算機システムの全体的な構成例を示している。すなわち、図1は、複数個のシミュレータ間の協調により動作するシミュレーション環境に対する、内部状態の操作や観測を可能にする計算機システムの機能ブロック図である。
本発明の協調シミュレーション用計算機システム10は、シミュレーション統合コントローラ100と、このシミュレーション統合コントローラに非同期ネットワーク103を介して接続された複数の検証対象シミュレーション104(1)〜104(N)とで構成されている。シミュレーション統合コントローラ100は、試験進行制御部101と試験項目等に関するデータを保持するデータベース(DB)120と、入力部107と、出力部108と備えている。シミュレーション統合コントローラ100の試験進行制御部101は、入力部107を介して利用者の試験項目記述0100を受け取り、各シミュレーション104(1)〜104(N)に対して、試験項目の実行を指示し、当該試験項目の試験結果0102を出力部108に出力する。なお、入力部107と出力部108の一部は、共通のGUI画面で構成することができる。また、試験進行制御部101は、各検証対象シミュレーション104(1)〜104(N)の内部で動作する各試験用プローブ部106(0〜M)と非同期ネットワーク103で接続されている。
また、検証対象シミュレーション104は協調シミュレーション環境中に複数個存在しており、それぞれデータ交換用ネットワーク111を介して接続されている、各シミュレーション104中には、検証対象となるモデル105(0)〜105(N)が存在する。試験用プローブ部106は、各検証対象モデル105に対し、1つまたは複数個接続することが可能である。
図2Aに、本システムを構成する試験進行制御部101の構成例を示す。試験進行制御部101は、ユーザが予め決められた規則で記述した試験項目フォーマット0100を受け取り、其れを解釈する試験項目解釈部1010と、解釈された試験項目列を蓄積し順番に実行する試験項目待ち行列1011と、本システム中に複数個存在する試験用プローブと接続され、試験項目と試験結果、トリガ成立イベントなどをやり取りするための通信I/F部1012と、各試験項目の実行結果を蓄積し、試験項目フォーマット0100中に記述された期待値との判定を行い、その結果を試験結果0102として出力する期待値判定部1013とによって構成されている。通信I/F部1012は、パケット通信制御機能10120を備えており、試験進行制御部101と各検証対象シミュレーション104(x)との間で、システムの共通プロトコルによるパケット通信を行う。
図2Bは、検証対象シミュレーション104、特にその内部で動作する試験用プローブ部106の構成例を示す。
試験用プローブ部106は、検証対象シミュレーションの104内部で動作する仮想的なシミュレーションモデルとして動作し、各シミュレータで提供されているデータ通信方式により、操作及び観測対象となる対象モデル105と接続されている。
試験用プローブ部106は、非同期ネットワーク103を介して試験進行制御部101と接続され、試験項目を受信し試験項目待ち行列1064として蓄積すると共に実行した試験項目の結果及びトリガ成立タイミングを返信するための通信I/F 1060と、試験項目を各シミュレータが実行可能なイベントに再度解釈するためのコマンド解釈部1061と、解釈されたコマンドを実際に接続されている対象モデル105に対して実行するコマンド実行部1062と、対象モデル105が接続されているシミュレータ間データ通信111に介入しシミュレーションの実行を停止させる停止コード挿入部1063によって構成される。
図3Aは、本システムの検証対象となる自動車エンジン制御向けの組込みシステムの物理的な構成例を示す。この組込みシステムの基本的な構成としては、エンジン201、ブレーキ202、ユーザ操作パネル203、車体姿勢制御系204といった自動車の機械系・センサ系のモジュール200に対し、それぞれ対応する制御を行う電子制御ユニット210として、エンジンECU 211、ブレーキECU 212、ユーザインターフェイスECU 213、ステアリングECU 214が存在しており、それらが車載ネットワーク230を介して接続されることで、制御が成立している。車載ネットワークはその中心ノードが車載通信コントローラ220として存在する場合がある。
図3Bは、電子制御ユニット210の各ECU(211-214)の基本構成を示す図である。各ECUにはその制御を行う母体となるマイクロコントローラ2101が1つないし複数個搭載されており、それらは機械系またはセンサと接続するためのアナログIO 2102、 専用IC 2103と接続される。また、他のECUとの接続のため、各ECUは通信インターフェイス2104を備えており、車載ネットワーク230に接続されている。車載通信コントローラ220も、マイクロコントローラや通信インターフェイス等を備えている。
次に、本発明を適用した仮想検証環境の具体例として、複数の機械・センサ系シミュレータとマイコン系シミュレータとが連携して動作する、自動車エンジン制御向けの組込みシステムの協調シミュレータについて説明する。
図4Aは、図3Aの自動車エンジン制御向けの組込みシステムの動作を協調シミュレーション環境上で再現するための、検証対象シミュレータ環境を図示している。
図3Aのエンジン201、ブレーキ202、ユーザ操作パネル203、車体姿勢制御系204等の各機構系部品やモジュールは、それぞれ機械・センサ系シミュレータ10401、10402、10403、10404によりエミュレートされ、電子制御ユニットのエンジンECU211、ブレーキECU212、ユーザインターフェイスECU213、ステアリングECU214はそれぞれマイコンシミュレータ10411、10412、10413、10414によりエミュレートされる。これらのECUを接続していた車載ネットワーク230及び車載通信コントローラ220は、車載ネットワーク160及び通信シミュレータ10420によりエミュレートされることにより、全体の協調動作が再現される。車載ネットワーク160、230には、例えば、車載系のLANであるCAN (Controller Area Network)が使用される。
このような検証対象シミュレータを構成する各シミュレータは、それぞれ、非同期ネットワーク103を介してシミュレーション統合コントローラ100と接続されている。シミュレーション統合コントローラ100は、検証対象シミュレータに対するユーザインターフェイスとして機能する。
なお、機械・センサ系シミュレータ10401、10402、10403、10404、マイコンシミュレータ10411、10412、10413、10414、及び、通信シミュレータ10420は、一部もしくは全部が同じ種類のシミュレータであってもよく、あるいは全てが異なる種類のシミュレータであってもよい。ここで、シミュレータの種類が異なるとは、シミュレータが対象とする物理系すなわち、物理系、機構系、電子系などの対象の「ドメイン」が異なる物を指す。あるいは「ドメイン」が同じでも、シミュレータの作成メーカーが異なっていり、同じメーカーであってもその作成時期(バージョン)が異なっている場合は、シミュレータの種類が異なる。また、プログラムの言語(C言語、Java(登録商標)、Python,Ruby等)が異なる場合も、シミュレータの種類が異なる。
図4Bは、図4Aで示した協調シミュレーション用の計算機システム10を実行するのにふさわしい計算機の構成の一例を示す。複数個のシミュレータが連動する本シミュレーションは、ひとつの計算機で動作させた場合その負荷の集中と、複数シミュレータを入れ替えながら実行することのコストにより、劇的なシミュレーション速度の低下を招く。このため、本シミュレーションは複数個の計算機1101がネットワーク1102により接続されたクラスタ型の計算機システムを用いることが望ましい。この時計算機間を接続するネットワークは全ての計算機をひとつに集める集中型のネットワークの他、任意の二つの計算機を強連結したクロスバー型接続のネットワークが考えられる。
図5において、本システムでサポートされる試験用プローブ106と対象モデル105間の接続方式の一例を述べる。接続の方法は対象モデル105の動作するシミュレータに依存してその実現方式は異なるものの、ある程度のカテゴリ分けがされている。まず接続方式は、出力型、入力型、それぞれを兼ねるバス型に分けられ、出力型は浮動小数点値または整数値を出力するアナログ出力1100、0または1のみを出力するデジタル出力1101、クロック信号をやりとりするためのクロック出力1102が考えられ、入力型としては、0または1のみを入力するデジタル入力1103、浮動小数点値または整数値を入力するアナログ入力1104が考えられる。バス型接続として考えられるのは、メモリバス・通信インターフェイス1105である。これらの組合せは本システムでサポートされる操作の一例を示したものであり、ユーザは図5や後で述べる図9で示したフォーマットを修正することにより、任意の命令をシステムでサポートするように改造することが可能である。
本システムでは、対象とする協調シミュレーションに含まれるシミュレータの種類に依存すること無い、試験項目の実行を目的とした共通の試験項目通信プロトコル0600を備えている。図6は、試験用プローブ部106と試験進行制御部101との間でやりとりされる本システムの共通の通信プロトコル0600の構成例を示す。この通信プロトコル0600は、全てのシミュレータにおけるイベントの操作・トリガを同一に扱うための試験記述フォーマットを保有している。本通信プロトコルは、可変長の命令列をもつことができる。
図6中のarg1フィールド0605、arg2フィールド0606が可変長部分であり、その数はIndex 0603によって制御される。その他のフィールドは固定して存在する。IDフィールド0601は当該の試験項目をどの試験用プローブ106で実行するべきかを指示する。Typeフィールド0602は該当試験項目の種類を指定する。Valueフィールド0604は当該試験項目が観測、トリガイベントであったときその項目の実行結果が入力される。Timingフィールド0607は当該試験項目を実行するべきシミュレーション時間が記述されて試験進行制御部101から送信され試験用プローブ部106で実際に実行されたシミュレーション時間が上書きされた状態で返送される。
図7は、試験項目フォーマット0100と試験結果0102のフォーマット0700の構成例を示す。本構成例では試験項目の実行結果の視認性を高めることを目的として、試験項目フォーマット0100と試験結果0102のフォーマットを統合した形のフォーマット0700を図示しているが、実際の構成ではこれらが分割された形であっても、その効果を失うものではない。本システムで行われる試験項目はひとつのテスト項目0701につきひとつの測定トリガ指定0702とひとつまたは複数個の期待値指定0703がセットとなって構成される。テスト項目指定0701は行番号0701、テスト項目名0705と当該テスト項目0705を実行する前にシステムが待機する時間を指定する実行待機時間0706と、テスト項目の具体的な動作を示す指示0707と、その引数となる設定値0708、0709によって構成される。
測定トリガ指定0702はトリガ種類の指示0710とその引数となる設定値0711と、トリガ成立条件を指定する比較式0712、トリガが成立した時間が入力される経過時間0713とその際のデータ値0714によって構成される。期待値指定703は期待値種類の指示0715とその引数となる設定値0716、0717と、トリガ成立条件を指定する比較式0718、当該期待値指定実行時に得られる値が入力される0719とその値を用いた比較式の判定結果が入力される判定フィールド0720によって構築される。各項目の設定値の数が本構成例と異なる場合でも、試験項目通信プロトコル0600によって可変個の設定値が許容されているため、機能に影響はない。
図8は、本システムの適用対象となるシミュレーション104における変更可能な状態、変数と、それが接続された試験用プローブ106の接続関係を記述するためのフォーマット0800の構成例である。本フォーマットに含まれる情報の例として、変数のシステム上の識別子であるピン番号フィールド0801と、試験項目フォーマット0100上での識別名称であるピン名フィールド0802と、当該ピンの試験用プローブ106上での型を示すインターフェイス型フィールドと、ピンのおおよその働きを示すファンクションフィールド0804と、当該ピンが接続されている試験用プローブ106のIDを示す試験用プローブIDフィールド0805と、当該試験用プローブ106が接続されている対象モデル105とのインターフェイスピン番号を示す試験用プローブインデックスフィールド0806の情報がある。
図9は、本システムで利用可能となる操作、トリガ、観測を実行するコマンドーの種類を記述するためのフォーマット0900の構成例を示す。コマンドー名フィールドは、コマンドーのシステム上での識別名称を示す、設定値フィールド0902、0903、0904、0905、0906は、各コマンドーが持ちうる引数の数と種類を記述する。本システムでサポートするコマンドは可変長の引数を持ちうるので、本フォーマットの設定値フィールドは可変長のサイズを持ちうる。また、各設定値は複数の種類をもつことが可能である。
図10は、図9のコマンドフォーマット0900で記述されたコマンドーの試験項目フォーマット0100上での識別名称と、そのコマンドー種類との対応を記述するためのフォーマット1000である。本フォーマット1000では、コマンド種別フィールド1001と、シート上コマンド識別名1002、システム上コマンド識別名1003を情報として含む。本システムで利用可能なコマンドーとして、試験項目フォーマット0100は、テスト操作、トリガ操作、期待値操作に分かれており、それぞれ個別の動作をするコマンドーが割り当てられる。しかし、ユーザの視認性を考慮し、メモリやIOピンなど同じ種類の動作に対し、シート上では同じ名前を割り当てることが求められる。この問題を解決するため、(シート上の名前1002+コマンド種別1001)が、システム上のコマンド識別子に対応するように、種別を設定する。
図11は、本システムの協調シミュレーション用計算機システムの特徴的な機能に関する動作フローを示す図である。この機能は、協調シミュレーションの途中において、ユーザが設定した条件に基づいて、割り込み処理により、外乱条件を挿入したり内部状態の観測を行うものである。ユーザは、シミュレータの全体を一時停止させ、該一時停止の間に少なくとも1つの前記シミュレータの状態の取得又は状態の書き換えを行うことができる。
予め、ユーザは決められた規則でテスト仕様書を記述し、試験項目フォーマット0100として作成する。ステップ600において、これらのデータは試験進行制御部101に入力される。例えば、図7、図8、図9に記載の様式の入力フォーマットが入力部107のGUI画面に表示され、ユーザが所定の欄に必要項目を入力することでテスト仕様書を記述することで、入力がなされる。そして、ユーザがシミュレーションを起動すると、試験進行制御部101は試験項目フォーマット0100を受け取り、試験項目解釈部300は入力されたテスト仕様書を解釈し、試験項目を自動的に生成し、この試験項目を図6に示す試験項目通信プロトコル0600に当てはまるデータへと変換する。
次に、ステップ601において、試験項目を実行するタイミングを設定する。このタイミングは、1回目はユーザのデータにより初期設定された値、2回目以降は前回の試験項目が実行されたタイミングに基づいて、各々設定される。さらに、ステップ602において、試験項目解釈部300で解釈された試験項目を試験項目待ち行列0301に格納する。次に、試験項目待ち行列0301より試験項目を取り出す。ステップ603で、1件または複数件の試験項目を取り出す。ステップ604では、送信する試験項目のコマンド部がコマンド指定か否を判定する。当該試験項目がコマンド指定の場合はステップ603へ戻り、試験項目の種類がトリガ系統又はテスト操作系であればステップ605に進む。このようにして、試験用プローブ106に対して送信すべき試験項目が、トリガ系統、又はテスト操作系(Get 系)、トリガ系統+(1つ若しくは複数の)コマンド指定の組み合わせ、又は、テスト操作系+(1つ若しくは複数の)コマンド指定の組み合わせ、の何れかになるようにする。
次のステップ605では、取り出した1つまたは複数個の試験項目に関して、試験項目のID部指定を読み出し、通信I/F部0302がもつ通信ソケットのうちどれを使用するかを選択し、通信ソケットを介して、ターゲットとする試験用プローブ106に対して送信する。試験項目の内容によっては、ターゲットとなる試験用プローブ部が複数になることもある。
ステップ606では、送信された試験項目を、各試験用プローブ部106で受信する。
ステップ607では、受信した試験項目通信プロトコル0600のタイミングフィールド0607を読み出し、現時点でのシミュレーション時間と比較し、読みだした実行時間が現在のシミュレーション時間よりも大きい値の場合、ステップ608に分岐し、小さい値の場合ステップ609に分岐する。
ステップ608では、受信した試験項目をEvent Queueに貯めて、その指定時間がくるまで待機し、ステップ609に遷移する。
ステップ609では、コマンド解釈部1061が試験項目通信プロトコルのTypeフィールドを読み出し、コマンド実行部1062に定義された、操作・観測用コマンドを引き当てる。
ステップ610では、操作・観測用コマンドの種類を読み出し、そのタイプがトリガ指定用コマンド(トリガ系統)であった場合はステップ611に分岐し、それ以外のテスト操作、期待値系統(コマンド指定)のコマンドの場合はステップ614に分岐する。
ステップ611では、ステップ609で引き当てられた操作・観測用コマンドを実行する。この時、試験項目通信プロトコルのargフィールド0605、0606がその関数の引数として利用される。この時実行された結果が試験項目通信プロトコルのValueフィールド0604に、実行されたシミュレータ上のタイムスタンプがタイミングフィールド0607に上書きされ、返答イベントとして生成される。
ステップ612では、トリガ条件が成立し、トリガ関数が実行されるまで待機する。ステップ613において、トリガ条件が成立する、すなわち、ユーザの与えた条件によるシミュレーションの停止条件が成立すると、ステップ613に進む。
ステップ613では、試験項目通信プロトコルの受信から、ここまでのステップにて、シミュレータ上の時間は進んでいないことが保証されている。ここで、停止コード挿入部403を有効化し、シミュレータ間通信111を停止させる。これにより、シミュレーション全体を連鎖的に停止させる。すなわち、いずれか1つのシミュレータに設定されている停止条件が成立したときに、複数のシミュレータの全体を連鎖的に止める。
ステップ617では、前段で生成した返答イベントを試験進行制御部101へ送り返す。
一方、ステップ610で、テスト操作、期待値系統のコマンドの場合はステップ614に分岐する。なお、ステップ614に分岐する場合は、その前のサイクルのステップ613で複数のシミュレータの全体が停止しているという前提がある。ステップ614では、トリガ指定用コマンドで指定されたトリガ関数を有効化する。すなわち、シミュレータの全体が停止している状態で、試験項目を実行し、少なくとも1つのシミュレータの内部状態の取得または状態の書き換えを行う。ユーザは、指定されたタイミングでの、任意のシミュレータの内部状態の操作が可能になる。当試験用プローブ106でのコマンド実行が終了すると(ステップ615)、停止コード挿入部1063の無限ループが解除され(ステップ616)、協調シミュレーション全体が再開される。すなわち、ステップ616において、試験項目通信プロトコルのTypeフィールド0602が予約された停止解除命令に出会った場合、停止コード挿入部1063を無効化し、シミュレーション全体を再起動させる。
試験進行制御部101では、当該Event Processorからの応答Eventの到着を待ち(ステップ618)、応答Event内部のTiming, Valueなどを記憶手段に保持する(ステップ619)。ステップ620では、Eventが実行された実績に基づくTiming情報を取得し記憶手段に保存する。このTiming情報に基づいて、次回の実行タイミングが設定される。
ステップ621では、Event Queueの最後のEventかを判定し、最後でなければステップ601に戻り、特定のシミュレータの停止条件が成立したときに複数のシミュレータ全体の停止を行った後、1つ又は複数のシミュレータの内部状態の取得または状態の書き換えを行う。そして、最後のEventであればステップ622として処理を終了する。
試験進行制御部101の期待値判定部1013は、協調シミュレーションによって得られ、保持された情報と試験項目フォーマット0100中に記述された期待値との判定を行い、その結果を試験結果0102として出力する。例えば、図7、図8、図9に記載の様式のフォーマット中に試験結果が組み込まれて、出力部107のGUI画面に表示される。
図12は、ユーザが記述したテスト仕様書の中に組まれる「適用対象となるシミュレーション」とそれらの処理の「優先度」の関係の一例を示している。この例では、自動車エンジン制御向けの組込みシステムの適用対象となる協調シミュレーションとして、マイコンシミュレータの「A エンジンECU」、「C ブレーキECU」、機械・センサ系シミュレータの「B エンジンのメカ」、「D ブレーキのメカ」が有り、それらのシミュレーションを実行する「優先度」が定義されている。このような試験項目は図11のステップ600において、試験項目フォーマット0100に記述されたテスト仕様書を解釈することで自動的に生成され、これらの試験項目を図6に示す試験項目通信プロトコル0600に当てはまるデータへと変換し、「優先度」に基づいて該当するIPアドレスのシミュレータのプローブに送信する。
図13は、試験用プローブ106が、その接続している対象モデル105に対してシミュレーションの停止を行う構造を概説する図である。協調シミュレーション環境に含まれるシミュレータ104(1)とシミュレータ104(2)は互いにシミュレータ間通信I/F(1060)によって接続され、予め決められたシミュレーション時間を周期としてデータを交換し、シミュレーションが連携して動作する。この時、試験用プローブ106が、試験進行制御部101より操作・観測のコマンドを受け取り、ミュレーションを停止させる必要が生じた場合、シミュレータ104(1)の停止コード挿入部1063はこのシミュレータ間通信に割り込みを入れ(停止1)、受信処理を無限ループに誘導する。これによって、シミュレータ104(1)とシミュレータ104(2)の協調シミュレーションは擬似的に停止することになる(停止2,3)。
こ停止状態は、シミュレータ104(1)、104(2)における2つシミュレーションに限定されず、これらのシミュレータ104(1)、シミュレータ104(2)が停止しているため、それらがそれぞれ接続されている他のシミュレータ104(3)、104(4)、-、104(n)とのデータ通信もそこで停止することとなり、最終的に協調シミュレーションの動作周期内に、全体の進行が連鎖的に停止する(停止4,5,n)。
すなわち、停止コード挿入部1063は、シミュレータのデータ同期通信部に介入し(割り込みを入れ)擬似的な受信遅延を発生させることで、複数のシミュレータを連鎖的に停止させる。換言すると、停止コード挿入部1063は、全てのシミュレータに通信すること無く、試験項目の順序入替によりシミュレーション結果に影響が出る前に、前記複数のシミュレータ全体を実質上同時に停止させる。
このシミュレータ全体の停止状態において、各操作の実行順序が入れ替わることなく、特定のシミュレータの状態の取得又は状態の書き換えを行うことができる。
図14Aは、図12のテスト仕様書に対応したシミュレーションの起動・停止の例を示している。図12では、「優先度」が、シミュレータA,D,B,C,Aの順になっている。そこで、図11の動作フローにおける最初のシミュレーション全体を停止状態(S613)とし、この状態のままで次のサイクルにおいて、シミュレータA(エンジンのECU)の状態の取得またはデータの書き換えを行う(S614,S615)。この間、他の全てのシミュレーションは動作を停止している。その後、シミュレーション全体を再起動(S616)させ、さらに次の繰り返しサイクルにおいてシミュレーション全体を停止状態(S613)とし、この状態のまま次のサイクルにおいて、シミュレータD(ブレーキのメカ)の状態の取得またはデータの書き換えを行う (S614,S615)。その後、シミュレーション全体を再起動させ、以下、同様に動作フローを繰り返し、ステップ状に短時間で繰り返される停止時に、順次、シミュレータB,C,Aの状態の取得またはデータの書き換えを行い、一連の処理を終了する。この後、期待値判定部による判定結果が出力される。
これにより、例えば、最初にシミュレータA(エンジンのECU)に外乱条件の挿入したことによりシミュレータD(ブレーキのメカ)の内部状態がどのように変化するかを、次のシミュレーション停止の後にシミュレータDの内部状態のデータを取得することができる。あるいはまた、シミュレーション全体を順次停止させ、それら順次停止している間にシミュレータD(ブレーキのメカ)やシミュレータB(エンジンのメカ)に外乱条件を挿入し、これに伴い、シミュレータC(ブレーキのECU)やシミュレータA(エンジンのECU)の内部状態がどのように変化するか、次のシミュレーション停止時にデータを取得することもできる。このようにして得られた各データが期待値判定部で判定され、ユーザはその観測を観察することができる。
図14Bのシミュレーションの起動・停止の例では、機械・センサ系シミュレータ「エンジン」のデータの書き換えを行い、このデータの書き換えに伴うマイコンシミュレータの「エンジンECU」の状態の変化のデータを、時間ΔT後の繰り返しサイクルで取得している。これは、例えば、メカ系のアクセルを急に操作したとき、それに対してエンジンのECUの制御がどのようになされるかを観察する場合に相当する。
このように実際の車の運転時に起こり得る外乱条件を与えそれに対する挙動の観察をステップ毎に進めながら行うことで、正規のシミュレーションでは検知できない種々の条件下での、組込みシステムの性能の不足や、仕様の不具合を抽出することが可能になる。
図14A、図4Bの例では、各シミュレーション全体の停止状態において、各々、1つのシミュレータの状態の取得やデータの書き換えを行っているが、同時に複数の種類のシミュレータに対して状態の取得やデータの書き換えを行っても良い。あるいはまた、同時に同じ種類のシミュレータに対して状態の取得やデータの書き換えを行っても良い。後者の場合の一例として、多気筒エンジンに関して1つのシリンダに外乱として故障を与え、それに伴って他のシリンダがどのように動作するかの状態を読み出して観察することができる。
本実施例では、外部条件の挿入や内部状態の観察等の操作は、シミュレーション全体の起動、停止に同期して個別に行うので、各操作の実行順序が入れ替わることはない。すなわち、ユーザに対し、協調シミュレーションの外部から任意のタイミングでその実行継続条件を注入可能とする機能を提供することにより、検証対象のシステムについてその挙動の把握を容易にする事が可能である。
本実施例では、試験項目通信プロトコルを用いた複数のシミュレータの間データ通信部分に着目し、このデータ通信部分に仮想的な遅延時間を挿入することで、該当するシミュレータの動作を停止させることにより、シミュレータの種類の如何に拘わらず、連携しているシミュレータ全体を停止させる。この性質を用いて、中央部分との通信を起こすことなく、シミュレータの種類、例えばドメインの異同を問わずに、指定されたタイミングでの、少なくとも1つのシミュレータの内部状態の操作や確認が可能になる。これにより、ユーザは、シミュレーション外部から任意のタイミングでその実行継続条件を注入することができ、組み込みシステムの全体とその構成要素間の相互の挙動について、詳細な情報の把握が容易になる。
一般に、エンジンのメカやブレーキのメカ等のハードウェア、エンジンのECUやブレーキのECU等のソフトウェアの各部品は細分化して分業化が行なわれ、複数拠点での同時開発が行われている。各拠点では、自動車全体のシステムに関する共通の仕様等を前提にして分業開発がなされるが、部品点数は多種多様である。そのため製品全体レベルの協調シミュレーションでは、部品同士の複雑な相互関係由来による異常状態の解析を十分に行うことが困難である。また、分業開発のため、使用されるシミュレータの種類も異なる場合が多い。
本実施例によれば、このようなシステムを構成する部品点数が多くかつシミュレータの種類が異なる場合の製品全体レベルの協調シミュレーションであっても、トリガをかける機能、状態を観測する機能、内部状態に外乱を与える機能を、異種のシミュレータに跨って実行させることができるので、部品同士の複雑な相互関係由来による異常状態の解析を確実に行うことができる。すなわち、対象とする協調シミュレーションに含まれるシミュレータの種類に依存すること無い、試験項目の実行を目的とした共通の試験項目通信プロトコルを備えており、異種のシミュレータに跨って試験項目を実行させることができる。また、各シミュレータ内部に装着した試験用プローブ部と非同期に通信する試験進行制御部を備え、試験進行制御部がシミュレータ全体の動作を一時停止・再開させる機能を共有することにより、外乱条件の挿入、内部状態観測を容易にすると共に、各試験項目の実行時間の遅れを最小化することができる。
本発明の第2の実施例を、図15を参照しながら説明する。
図5では、試験用プローブ106と対象モデル105間のCAN接続方式の一例を述べた。本実施例では、対象モデル105がCPUモデルである場合に、このCPUモデルのトレースから、他の試験用プローブ0106のコマンド実行部1062に対するコマンドをトリガする手法を例示する。例えば、図4AのCPUモデルを含んだ通信シミュレータ10420から、メカシミュレータ10401のプローブのコマンド実行部1062に対するコマンドをトリガすることができる。
図15において、対象モデル105がCPUモデル1500を含んでいた場合、その上で実行された命令列のPCトレースを取得できる。試験用プローブ106のコマンド実行部1062に予め、CPUモデル1500で実行するソフトウェアのリンカ情報1503から各関数の開始および終了アドレスを抜き出してDB化したタスクDB1502を生成して入力する。
ソフトウェアトレース生成部1501は、CPUモデル1500から受け取ったPCトレースをもとにタスクDB1502を検索することにより、CPUモデル1500上での関数呼び出しの開始と終了を検知することが可能である。関数呼び出しの境界に同期して、トリガ情報を試験進行制御部101で、他試験用プローブ106のコマンド実行を開始させることが可能になる。試験進行制御部101からはどの関数の開始または終了に対し、トリガを発生させるかを有効化、無効化する機能を持たせることも可能である。
本実施例によれば、対象モデル105が含むCPUモデルのトレースから、CPUモデル1500上での関数呼び出しの開始と終了を検知し、他のプローブのコマンド実行部1062に対するコマンドにより停止コード挿入部1063を動作させ、該ミュレータの動作を停止させることにより、シミュレータの種類の如何に拘わらず、連携しているシミュレータ全体を停止させる。これにより、ユーザは、シミュレーション外部から任意のタイミングでその実行継続条件を注入することができ、組み込みシステムの全体とその構成要素間の相互の挙動について、詳細な情報の把握が容易になる。
本発明の第3の実施例を、図16を参照しながら説明する。
図5では、試験用プローブ106と対象モデル105間の接続方式の一例を述べた。本実施例は、対象モデル105がメモリ等である場合に、このメモリ等が含むバスモデルのトレースから他の試験用プローブ106に対するコマンドをトリガする手法を例示する。例えば、対象モデル105がメモリのとき、バスアクセストレース中のアドレス情報を利用する。
特に、デジタル系のシミュレーションでは、メモリや通信等バス型接続(バスアクセス)1600が現れる。試験項目の記述性能を高めるためには、バス型接続でやり取りされるトランザクションをトレースし、それに同期したイベントでトリガをかけることが求められる。コマンド実行部1062の内部には、メモリアクセストレース生成部1603がある。試験用プローブ106のコマンド実行部1062に、予め、メモリ空間上への変数のマップ情報を記述したメモリ空間マップ情報ファイル1605をもとに、各変数のメモリアドレスへの対応表としたアドレスDB1604を生成して入力する。試験進行制御部101は、そのメモリテスト用の試験用プローブ106に対して、メモリ上の特定の変数の変更に対するトリガを無効化・有効化することが可能である。
対象モデル105内部で、バスマスタデバイス1601からバススレーブデバイス1602に対してバスアクセス1600が生じたとき、対象モデル105はバスアクセストレースを生じさせる。このバスアクセストレース中のアドレス情報を使って、コマンド実行部1062内部のメモリアクセストレース生成部1603はアドレスDB1604を検索する。該当の変数のトリガが有効化されていた場合、試験進行制御部101に対してトリガ成立メッセージを送信し、他のシミュレータの試験用プローブ106のコマンド実行を開始させることが可能になる。
本実施例によれば、対象モデル105で生成されるバスアクセストレースから、変数のトリガ情報を検知し、他のプローブのコマンド実行部1062に対するコマンドにより停止コード挿入部1063を動作させ、該ミュレータの動作を停止させることにより、シミュレータの種類の如何に拘わらず、連携しているシミュレータ全体を停止させる。これにより、ユーザは、シミュレーション外部から任意のタイミングでその実行継続条件を注入することができ、組み込みシステムの全体とその構成要素間の相互の挙動について、詳細な情報の把握が容易になる。
10…協調シミュレーション用計算機システム、100…シミュレーション統合コントローラ、101…試験進行制御部、103…非同期ネットワーク、104(1)〜104(N) …検証対象シミュレーション、105(0)〜105(N)…検証対象モデル、106(0〜M)…試験用プローブ部、107…入力部、108…出力部、111…データ交換用ネットワーク、120…データベース(DB)、160…車載ネットワーク、200…機械系・センサ系のモジュール、201…エンジン、202…ブレーキ、210…電子制御ユニット、211…エンジンECU、212…ブレーキECU、220…車載通信コントローラ、230…車載ネットワーク、0600…通信プロトコル、1010…試験項目解釈部、1011…試験項目待ち行列、1012…通信I/F部、1013…期待値判定部、1060…通信I/F、1061…コマンド解釈部、1062…コマンド実行部、1063…停止コード挿入部、1064…試験項目待ち行列、10120…パケット通信制御機能、10420…通信シミュレータ。

Claims (15)

  1. 協調して動作する複数のシミュレータとこれら検証対象の複数のシミュレータを制御するシミュレーション統合コントローラとを備え、
    前記シミュレーション統合コントローラと前記各シミュレータとが、非同期通信により前記複数のシミュレータの全体の動作を一時停止・再開させる機能を共有しており、
    前記いずれか1つのシミュレータに設定されている停止条件が成立したことによって前記複数のシミュレータの全体を一時停止させ、該一時停止の間に少なくとも1つの前記シミュレータの状態の取得又は状態の書き換えを行う
    ことを特徴とする協調シミュレーション用計算機システム。
  2. 請求項1において、
    システム共通の通信プロトコルとして、前記全てのシミュレータにおけるイベントの操作・トリガを同一に扱うための試験記述フォーマットを保有しており、
    前記各シミュレータは少なくとも1つの試験用プローブ部と対象モデルとを備えており、
    前記シミュレーション統合コントローラと前記各シミュレータの試験用プローブ部との間で、前記通信プロトコルにより非同期に通信を行い前記各シミュレータにおけるシミュレーションの起動・停止を行う
    ことを特徴とする協調シミュレーション用計算機システム。
  3. 請求項2において、
    前記複数のシミュレータは、組み込みシステムのメカニズムに対応する機械・センサ系シミュレータと、前記組み込みシステムのマイコン系シミュレータとが連携して動作する仮想検証環境として構成されており、
    前記複数のシミュレータは、異なる種類のシミュレータを含んで構成されており、
    前記通信プロトコルは、前記異なる種類のシミュレータが等価的にイベントを実行できる共通フォーマットで構成されている
    ことを特徴とする協調シミュレーション用計算機システム。
  4. 請求項2において、
    前記シミュレーション統合コントローラは、前記各シミュレータの前記試験用プローブ部と非同期に通信する試験進行制御部を備えており、
    該試験進行制御部は、前記実行される試験項目の生成を行い、接続された前記複数のシミュレータの各々に対し、前記通信プロトコルにより前記試験項目の送信と該試験項目の実行結果の受信を行う
    ことを特徴とする協調シミュレーション用計算機システム。
  5. 請求項4において、
    前記試験用プローブ部は、前記各シミュレータ内部に仮想モジュールとして配置され、前記対象モデルによる前記試験項目の実行と前記全てのシミュレータの停止を行う機能を有している
    ことを特徴とする協調シミュレーション用計算機システム。
  6. 請求項3において、
    前記試験用プローブ部は、前記シミュレータのデータ同期通信部に介入し擬似的な受信遅延を発生させることで前記複数のシミュレータを連鎖的に停止させる、停止コード挿入部を備えている
    ことを特徴とする協調シミュレーション用計算機システム。
  7. 請求項3において、
    前記停止コード挿入部は、前記対象モデルが含むCPUモデルのトレースから、前記他の試験用プローブに対するコマンドにより連携している前記複数のシミュレータ全体を連鎖的に停止させる
    ことを特徴とする協調シミュレーション用計算機システム。
  8. 請求項3において、
    前記停止コード挿入部は、前記対象モデルが含むバスモデルのトレースから前記他の試験用プローブに対するコマンドにより連携している前記複数のシミュレータ全体を連鎖的に停止させる
    ことを特徴とする協調シミュレーション用計算機システム。
  9. 請求項3において、
    前記試験進行制御部は、
    ユーザが予め決められた規則で記述した試験項目フォーマットを受け取って解釈する試験項目解釈部と、
    該解釈された試験項目列を蓄積し順番に実行する試験項目待ち行列と、
    前記複数のシミュレータに各々少なくとも1つ存在する試験用プローブと接続され、前記試験項目と前記試験結果、及びトリガ成立イベントをやり取りするための通信I/F部と、
    前記各試験項目の実行結果を蓄積し、前記試験項目フォーマット中に記述された期待値との判定を行い、その結果を試験結果として出力する期待値判定部とを備えている
    ことを特徴とする協調シミュレーション用計算機システム。
  10. 請求項9において、
    前記通信I/F部は、パケット通信制御機能を備えており、前記試験進行制御部と前記各シミュレータの前記試験用プローブとの間で、前記共通の通信プロトコルによるパケット通信を行う
    ことを特徴とする協調シミュレーション用計算機システム。
  11. 請求項3において、
    複数の検証対象シミュレータは、ドメインの異なるシミュレータを含んで構成されている
    ことを特徴とする協調シミュレーション用計算機システム。
  12. 協調シミュレーション用計算機システムを用いた組み込みシステムの検証方法であって、
    前記協調シミュレーション用計算機システムは、シミュレーション統合コントローラと、複数の検証対象のシミュレータとを備えており、
    前記複数の検証対象のシミュレータは、前記組み込みシステムのメカニズムに対応する機械・センサ系シミュレータと、前記組み込みシステムのマイコン系シミュレータとが連携して動作する仮想検証環境として構成されており、
    前記シミュレーション統合コントローラと前記各シミュレータは、システム共通の通信プロトコルとして、前記全てのシミュレータにおけるイベントの操作・トリガを同一に扱うための試験記述フォーマットを保有しており、非同期通信により、前記複数のシミュレータの全体の動作を一時停止・再開させる機能を共有しており、
    協調シミュレーションにより前記対象モデルによる試験項目を実行し、
    前記いずれか1つのシミュレータに設定されている停止条件が成立したとき、前記複数のシミュレータの全体を一時停止させ、
    該一時停止の間に前記少なくとも1つのシミュレータの状態の取得又は状態の書き換えを行い、
    前記協調シミュレーションによる前記試験項目の実行結果を蓄積し、該実行結果の判定を行い、その結果を出力する
    ことを特徴とする組込みシステムの検証方法。
  13. 請求項12において、
    前記複数の検証対象のシミュレータは、異なる種類のシミュレータを含んで構成されており、
    前記各シミュレータは少なくとも1つの試験用プローブ部と対象モデルとを備えており、
    前記シミュレーション統合コントローラが、前記各シミュレータの試験用プローブ部との間で、システム共通の通信プロトコルにより非同期に通信を行い、前記各シミュレータにおけるシミュレーションの起動・停止を行う
    ことを特徴とする組込みシステムの検証方法。
  14. 請求項13において、
    前記試験用プローブ部が、前記シミュレータのデータ同期通信部に介入し擬似的な受信遅延を発生させることで前記複数のシミュレータを連鎖的に停止させる
    ことを特徴とする組込みシステムの検証方法。
  15. 協調シミュレーション用計算機システムで動作する協調シミュレーション用プログラムであって、
    前記協調シミュレーション用計算機システムは、複数個の計算機がネットワークにより接続されたクラスタ型の計算機システムであり、協調して動作する複数のシミュレータとこれら検証対象の複数のシミュレータを制御するシミュレーション統合コントローラとを備えており、
    前記シミュレーション統合コントローラと前記各シミュレータとが、非同期通信により前記複数のシミュレータの全体の動作を一時停止・再開させる機能を共有しており、
    前記計算機に、
    協調シミュレーションにより前記対象モデルによる試験項目を実行させる手順、
    前記いずれか1つのシミュレータに設定されている停止条件が成立したとき、前記複数のシミュレータの全体を一時停止させる手順、
    該一時停止の間に前記少なくとも1つのシミュレータの状態の取得又は状態の書き換えを行う手順、及び
    前記協調シミュレーションによる前記試験項目の実行結果を蓄積し、該実行結果の判定を行い、その結果を出力する手順を実行させるためのプログラム。
JP2011288339A 2011-12-28 2011-12-28 協調シミュレーション用計算機システム、組込みシステムの検証方法及びプログラム Active JP5882052B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011288339A JP5882052B2 (ja) 2011-12-28 2011-12-28 協調シミュレーション用計算機システム、組込みシステムの検証方法及びプログラム
PCT/JP2012/078396 WO2013099438A1 (ja) 2011-12-28 2012-11-01 協調シミュレーション用計算機システム、組込みシステムの検証方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011288339A JP5882052B2 (ja) 2011-12-28 2011-12-28 協調シミュレーション用計算機システム、組込みシステムの検証方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2013137658A true JP2013137658A (ja) 2013-07-11
JP5882052B2 JP5882052B2 (ja) 2016-03-09

Family

ID=48696938

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011288339A Active JP5882052B2 (ja) 2011-12-28 2011-12-28 協調シミュレーション用計算機システム、組込みシステムの検証方法及びプログラム

Country Status (2)

Country Link
JP (1) JP5882052B2 (ja)
WO (1) WO2013099438A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017091467A (ja) * 2015-11-17 2017-05-25 株式会社東芝 仮想試験システム、仮想試験方法およびプログラム
JP2018032392A (ja) * 2016-08-26 2018-03-01 株式会社日立製作所 複数のシミュレータを含むシミュレーション
WO2018203390A1 (ja) * 2017-05-02 2018-11-08 三菱電機株式会社 試験装置、試験システム、試験方法、および、プログラム
JP7141508B1 (ja) * 2021-10-15 2022-09-22 株式会社ネクスティエレクトロニクス 協調シミュレーションシステム、協調制御方法、協調制御器及びコンピュータプログラム

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11010505B2 (en) 2015-12-01 2021-05-18 International Business Machines Corporation Simulation of virtual processors
JP6722352B2 (ja) * 2016-11-02 2020-07-15 日立オートモティブシステムズ株式会社 計算機システム、テスト方法、および記録媒体
EP3792810A1 (en) * 2019-09-12 2021-03-17 Kompetenzzentrum - Das virtuelle Fahrzeug Forschungsgesellschaft mbH Method of generating an operation procedure for a simulation of a mechatronic system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04195436A (ja) * 1990-11-28 1992-07-15 Hitachi Ltd 計算機システム自動テスト方式
JPH0916244A (ja) * 1995-07-04 1997-01-17 Sanyo Electric Co Ltd シミュレーション方法および装置
JP2001282327A (ja) * 2000-03-31 2001-10-12 Omron Corp シミュレーションシステム及びシミュレータ並びに管理サーバ及び記録媒体
JP2010073091A (ja) * 2008-09-22 2010-04-02 Nec Electronics Corp シミュレーション装置
JP2010191480A (ja) * 2007-06-01 2010-09-02 Mitsubishi Electric Corp シミュレーションシステム
JP2011034274A (ja) * 2009-07-31 2011-02-17 Hitachi Solutions Ltd テスト自動実行システム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008084121A (ja) * 2006-09-28 2008-04-10 Fujitsu Ten Ltd シミュレーションシステム及びシミュレーション方法
JP2008209993A (ja) * 2007-02-23 2008-09-11 Hitachi Ltd 表作成装置、表作成方法、及び、プログラム
JP5224957B2 (ja) * 2008-07-25 2013-07-03 インターナショナル・ビジネス・マシーンズ・コーポレーション シミュレーション方法、システム及びプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04195436A (ja) * 1990-11-28 1992-07-15 Hitachi Ltd 計算機システム自動テスト方式
JPH0916244A (ja) * 1995-07-04 1997-01-17 Sanyo Electric Co Ltd シミュレーション方法および装置
JP2001282327A (ja) * 2000-03-31 2001-10-12 Omron Corp シミュレーションシステム及びシミュレータ並びに管理サーバ及び記録媒体
JP2010191480A (ja) * 2007-06-01 2010-09-02 Mitsubishi Electric Corp シミュレーションシステム
JP2010073091A (ja) * 2008-09-22 2010-04-02 Nec Electronics Corp シミュレーション装置
JP2011034274A (ja) * 2009-07-31 2011-02-17 Hitachi Solutions Ltd テスト自動実行システム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017091467A (ja) * 2015-11-17 2017-05-25 株式会社東芝 仮想試験システム、仮想試験方法およびプログラム
JP2018032392A (ja) * 2016-08-26 2018-03-01 株式会社日立製作所 複数のシミュレータを含むシミュレーション
WO2018203390A1 (ja) * 2017-05-02 2018-11-08 三菱電機株式会社 試験装置、試験システム、試験方法、および、プログラム
JPWO2018203390A1 (ja) * 2017-05-02 2019-11-07 三菱電機株式会社 試験装置、試験システム、試験方法、および、プログラム
JP7141508B1 (ja) * 2021-10-15 2022-09-22 株式会社ネクスティエレクトロニクス 協調シミュレーションシステム、協調制御方法、協調制御器及びコンピュータプログラム

Also Published As

Publication number Publication date
JP5882052B2 (ja) 2016-03-09
WO2013099438A1 (ja) 2013-07-04

Similar Documents

Publication Publication Date Title
JP5882052B2 (ja) 協調シミュレーション用計算機システム、組込みシステムの検証方法及びプログラム
US8676560B2 (en) Simulation method, system and program for simulating physical unit controlled by electronic control unit
JP5179249B2 (ja) 制御装置シミュレーション方法、システム及びプログラム
JP2007510992A (ja) 制御システムをシミュレーションおよび検証するためのシミュレーションシステムおよびコンピュータにより実施される方法
CN102124448B (zh) 控制嵌入式系统开发期间的实时性
US20210081585A1 (en) Method for event-based simulation of a system
US11022967B2 (en) Method for generating a technical system model, executable on a test unit, and the test unit
Pohlmann et al. Generating functional mockup units from software specifications
WO2014196059A1 (ja) マイコン故障注入方法及びシステム
Hu et al. Exploring AADL verification tool through model transformation
Haberl et al. Model-level debugging of embedded real-time systems
JP2012234260A (ja) 車両制御シミュレーションシステム
JP5186290B2 (ja) シミュレーション方法、システム及びプログラム
CN101969442B (zh) 基于进程运行环境感知与迁移的网络模拟框架实现方法
EP4036780A1 (en) Electronic control unit timing emulation
Krisp et al. Automated real-time testing of electronic control units
CN107037803A (zh) 用于仿真残余总线控制仪组合的计算机实现的方法和设备
Di Natale et al. Matching execution architecture models with functional models to analyze the time performance of CPS systems
Verhoef et al. Interpreting Distributed System Architectures Using VDM++-A Case Study
US20210141710A1 (en) Development support device
Safar et al. Virtual electronic control unit as a Functional Mockup Unit for heterogeneous systems
Liu et al. Architecture design of avionics simulation configuration control system based on AADL
Lausdahl et al. Overview of VDM-RT constructs and semantic issues
Liu et al. The applied research on AADL and stateflow model in embedded system software design
KR20240009766A (ko) 차량용 소프트웨어 플랫폼의 시뮬레이션을 위한 네트워크 가상화 장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140709

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151020

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151207

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160203

R150 Certificate of patent or registration of utility model

Ref document number: 5882052

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250