JP7410004B2 - シミュレーション方法およびシミュレーションプログラム - Google Patents

シミュレーション方法およびシミュレーションプログラム Download PDF

Info

Publication number
JP7410004B2
JP7410004B2 JP2020164291A JP2020164291A JP7410004B2 JP 7410004 B2 JP7410004 B2 JP 7410004B2 JP 2020164291 A JP2020164291 A JP 2020164291A JP 2020164291 A JP2020164291 A JP 2020164291A JP 7410004 B2 JP7410004 B2 JP 7410004B2
Authority
JP
Japan
Prior art keywords
simulation
software
address
measurement
acquisition process
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.)
Active
Application number
JP2020164291A
Other languages
English (en)
Other versions
JP2022056500A (ja
Inventor
昌史 下澤
誠 水野
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 Solutions Ltd
Original Assignee
Hitachi Solutions 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 Solutions Ltd filed Critical Hitachi Solutions Ltd
Priority to JP2020164291A priority Critical patent/JP7410004B2/ja
Publication of JP2022056500A publication Critical patent/JP2022056500A/ja
Application granted granted Critical
Publication of JP7410004B2 publication Critical patent/JP7410004B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、シミュレーション対象のシミュレーションを実行するシミュレーション方法およびシミュレーションプログラムに関する。
特許文献1は、制御ユニットを動作させるために必要なソースファイルのキャリブレーションを行うシステムを開示する。このキャリブレーションを行うシステムは、ソースファイルのデータファイルに、データのバイト数,ビットレート,単位,設定範囲などの諸元情報を直接記述し、該データの諸元情報を用いて、ソースファイルをキャリブレーション用ファイル(ASAPファイル)に変換する。また、前記キャリブレーション用ファイルに基づくキャリブレーション結果を、新規データファイル及びリンクファイルに逆変換する。
また、特許文献2は、シミュレーションで使用するテストデータを実機のテストに使用するECU評価装置を開示する。このECU評価装置は、評価対象ECUの機能を定義したECU仕様モデルを検証するための所定の検証入力データを含む検証データを取得する取得手段(ホストPC)と、取得手段で取得した検証入力データに基づいてECUへの入力データを生成する入力データ生成手段(入力信号制御部)と、ECU仕様モデルの出力の期待値データ、及び入力データに基づいてECUが出力する出力データが一致するか否かを判定する判定手段(判定部)とを備え、判定手段の判定結果に基づいてECUの動作を評価する。
特開2002-91508号公報 特開2015-5189号公報
一般的に、測定ツールやキャリブレションツールは、PDB(Program Database)のようなマップファイルを基に測定デバイスやキャリブレーションデバイスで使用するデータベースファイルを生成する。そのため、対象ソフトウェアの更新を行うことでマップファイルの変更があった場合は、その都度データベースファイルを手動、または外部ツールによって更新する必要があり、データベースファイルの更新漏れ等によるデータ測定の手戻り作業が発生する。また、テストシナリオ、設定ファイルやデータベースファイル等は独立しているため、試験実施において複数のファイル管理を行う手間がある。
また、キャリブレーションを行う場合は、何かしらのイベントを基にキャリブレーション対象となる変数に値を設定するようなスクリプトを作成する必要がある。そのためキャリブレーションを行うような試験についても、テストシナリオとは別にスクリプトファイルを管理する必要がある。
本発明は、シミュレーションの効率化を図ることを目的とする。
本願において開示される発明の一側面となるシミュレーション方法は、制御対象モデルを制御するソフトウェアをシミュレーションするシミュレーション装置が実行するシミュレーション方法であって、前記シミュレーション装置は、前記ソフトウェアと、前記ソフトウェアに関するマップファイルと、前記ソフトウェアに関する測定変数名を含む測定情報と、前記ソフトウェアに関するキャリブレーション変数名と開始時間と書込み値とを含むキャリブレーション情報と、にアクセス可能であり、前記シミュレーション装置は、前記シミュレーションの開始前に、前記キャリブレーション変数名に対応する第1アドレスおよび第1データ型種別と、前記測定変数名に対応する第2アドレスおよび第2データ型種別とを、前記マップファイルから取得する第1取得処理と、前記シミュレーションの開始後、前記開始時間が経過した場合に、前記第1取得処理によって取得された第1データ型種別に基づいて前記書込み値を変換し、前記ソフトウェア内において前記キャリブレーション変数名が存在する前記第1アドレスに、変換後の書込み値を設定する設定処理と、前記設定処理によって設定された前記変換後の書込み値で前記ソフトウェアのシミュレーションが実行された結果、前記第1取得処理によって取得された第2データ型種別に基づいて、前記ソフトウェア内の前記測定変数名が存在する前記第2アドレスから測定値を取得する第2取得処理と、前記第2取得処理によって取得された測定値を出力する出力処理と、を実行することを特徴とする。
本発明の代表的な実施の形態によれば、シミュレーションの効率化を図ることができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
図1は、シミュレーション装置のハードウェア構成例を示すブロック図である。 図2は、SILS環境プロセスの一例を示す説明図である。 図3は、マップファイルの一例を示す説明図である。 図4は、測定・キャリブレーション情報ファイルの一例を示す説明図である。 図5は、テストシナリオファイルの一例を示す説明図である。 図6は、測定時系列データファイルの一例を示す説明図である。 図7は、シミュレーション装置によるシミュレーション処理手順例を示すフローチャートである。
<シミュレーション装置のハードウェア構成>
図1は、シミュレーション装置のハードウェア構成例を示すブロック図である。シミュレーション装置100は、プロセッサ101と、メモリ102と、入力デバイス103と、出力デバイス104と、通信インターフェース(通信IF)105と、を有する。プロセッサ101、メモリ102、入力デバイス103、出力デバイス104、および通信IF105は、バス106により接続される。プロセッサ101は、シミュレーション装置を制御する。メモリ102は、プロセッサ101の作業エリアとなる。また、メモリ102は、各種プログラムやデータを記憶する非一時的なまたは一時的な記録媒体である。メモリ102としては、たとえば、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、フラッシュメモリがある。入力デバイス103は、データを入力する。入力デバイス103としては、たとえば、キーボード、マウス、タッチパネル、テンキー、スキャナがある。出力デバイス104は、データを出力する。出力デバイス104としては、たとえば、ディスプレイ、プリンタがある。通信IF105は、ネットワークと接続し、データを送受信する。
<SILS(Software In the Loop Simulation)環境プロセス例>
図2は、SILS環境プロセスの一例を示す説明図である。SILS環境プロセス200は、SILS環境でシミュレーションが実行されるプロセスである。SILS環境とは、モデルからオートで生成したC言語などのソースコードからオブジェクトコードを生成し動作させるシミュレーション環境である。SILS環境プロセス200は、メモリ102に記憶され、プロセッサ101により起動されることで、メモリ102に構築される。
SILS環境プロセス200は、シミュレーション用BSW(Basic Software)201と、車両モデル202と、GUI(Graphical User Interface)203と、を有する。
シミュレーション用BSW201は、シミュレーション対象であるECU(Electronic Control Unit)アプリケーション220をシミュレーションするための仮想的なハードウェア構成である。基盤ソフトウェアとも呼ばれる。
シミュレーション用BSW201は、プロセッサモデル211と、メモリモデル212と、IFモデル213と、バスモデル214と、を有する。プロセッサモデル211は、ECUアプリケーション220を実行して、車両モデル202を制御する。メモリモデル212は、プロセッサモデル211の作業エリアとなる。また、メモリモデル212は、ECUアプリケーション220と、マップファイル解析モジュール221と、キャリブレーション実行モジュール222と、測定データ出力モジュール223と、を記憶する。
ECUアプリケーション220は、シミュレーション対象となるソフトウェアの実行ファイルの一例である。ECUアプリケーション220は、たとえば、カメラからの動画データに基づいて物体認識するアプリケーションである。シミュレーション対象となるアプリケーションは、ECUアプリケーション220に限られず、制御対象となるモデルに応じて決定される。
マップファイル解析モジュール221は、プロセッサモデル211にマップファイル231の解析を実行させるソフトウェアモジュールである。キャリブレーション実行モジュール222は、プロセッサモデル211にキャリブレーションを実行させるプログラムモジュールである。測定データ出力モジュール223は、プロセッサモデル211に測定データの出力を実行させるソフトウェアモジュールである。
IFモデル213は、車両モデル202と接続し、プロセッサモデル211と車両モデル202との間でデータを送受信する。バスモデル214は、プロセッサモデル211、メモリモデル212、およびIFモデル213を通信可能に接続する。
車両モデル202は、アクセルやブレーキ、エンジン、イグニッションスイッチ、空調、ライト、ワイパーといった電気的に動作制御可能な車両内の機構をモデル化したデータである。車両とは、乗用車、バス、トラックなどの自動車、バイク、電動自転車、電動車いす、工作機械など、地面を走行可能な移動体である。なお、車両モデル202は、制御対象の一例であり、冷蔵庫や炊飯器、電子レンジなどの家電製品のような、車両以外の他のモデルでもよい。
GUI203は、テストシナリオファイル233の入力を受け付けたり、車両モデル202からの出力結果を出力デバイス104に表示したりする。
また、シミュレーション装置100のプロセッサ101は、SILS環境プロセス200外において、メモリ102に記憶されたECUアプリソースコード230を用いて実行ファイルとなるECUアプリケーション220をビルドする。ECUアプリソースコード230は、ECUアプリケーション220のソースコードである。ECUアプリソースコード230のビルドにおいて、実行ファイルとなるECUアプリケーション220が生成され、メモリモデル212に格納される。また、ECUアプリソースコード230のビルドにより、マップファイル231が生成される。マップファイル231は、指定されたフォルダに格納される。マップファイル231は、上書き保存により最新状態が保持されてもよく、プロセッサモデル211が最新のタイムスタンプのマップファイル231を読み込むこととしてもよい。いずれにしても、プロセッサモデル211は、最新のマップファイル231にアクセスすることになる。なお、ビルドは、シミュレーション装置100ではなく、不図示のECUが実行してもよい。
<マップファイル>
図3は、マップファイルの一例を示す説明図である。マップファイル231は、プログラムのキャリブレーション対象を特定するファイルであり、マップファイル解析モジュールで読み込まれる。マップファイル231は、たとえば、オブジェクト情報301、関数情報302、および変数情報303を含む。オブジェクト情報301は、キャリブレーション対象となるオブジェクトファイルの格納位置311と、オブジェクトファイルがECUアプリソースコード230に記述されている行番号312と、を含む。たとえば、格納位置311が「C:¥Application¥Obj¥main.obj」であれば、行番号312は「0001」である。
関数情報302は、キャリブレーション対象や測定対象となる関数名321と、そのアドレス322とを含む。たとえば、関数名321が「calculateVehicleSpeed」であれば、アドレス322は「[0x00100010]」である。
変数情報303は、キャリブレーション対象や測定対象となる変数名331と、そのアドレス332と、データ型種別333(ビットフィールド情報でもよい)と、を含む。たとえば、変数名331が「vehicle_speed」であれば、アドレス332は「[0x00200000]」であり、データ型種別333は、「unsigned short」である。データ型種別333がわかれば、その変数名331のデータのサイズが一意に特定される。
<測定・キャリブレーション情報ファイル>
図4は、測定・キャリブレーション情報ファイル232の一例を示す説明図である。測定・キャリブレーション情報ファイル232は、あらかじめ用意されたファイルであり、マップファイル解析モジュール221で読み込まれる。測定・キャリブレーション情報ファイル232は、測定情報401と、キャリブレーション情報402と、を含む。測定情報401は、測定対象データ(capturedata)として、たとえば、variableタグで挟まれた測定変数名410を規定する。図4では、測定変数名410として、「vehicle_speed」(車速)と「engine_revolution」(エンジン回転数)とが規定されている。
キャリブレーション情報402は、キャリブレーション対象データ(calibdata)として、variableタグで挟まれたキャリブレーション変数名421と、timeタグで挟まれた開始時間422と、valueタグで挟まれた書込み値423と、の組み合わせ(dataset)を規定する。図4では、たとえば、キャリブレーション変数名421が「test_mode」、開始時間422が「10.00」、および書込み値423が「0」の組み合わせと、キャリブレーション変数名421が「fail_trigger」、開始時間422が「12.05」、および書込み値423が「1」の組み合わせと、を規定する。
<テストシナリオファイル>
図5は、テストシナリオファイル233の一例を示す説明図である。テストシナリオファイル233は、車両モデル202をテストするためのシナリオを記述したファイルである。テストシナリオファイル233は、連続するシーケンスの集合であり、たとえば、フィールドとして、シーケンス番号501と、遅延時間502と、操作計器ID503と、値504と、を有する。各フィールド501~504の値の組み合わせが、シミュレーションの1シーケンスを示すエントリとなる。
シーケンス番号501は、シーケンスの順序を規定する。遅延時間502は、前のシーケンスからそのシーケンスが実行されるまでの時間を規定する。シーケンス番号が「1」のシーケンスについては、シミュレーション開始時(0秒)からの時間を規定する。
操作計器ID503は、車両モデルにおいて操作される計器を一意に特定する識別情報である。たとえば、「IGN_BUTTON」はイグニッションボタン、「ACCEL_SLIDER」はアクセルスライダ、「BRAKE_SLIDER」はブレーキスライダを示す。
値504は、操作計器ID503を操作することにより得られるデータである。たとえば、操作計器ID503が「IGN_BUTTON」の場合、値504が「1」であれば、イグニッションボタンがONであることを意味し、値504が「0」であれば、イグニッションボタンがOFFであることを意味する。また、操作計器ID503が「ACCEL_SLIDER」または「BRAKE_SLIDER」の場合、値504は、アクセルスライダまたはブレーキスライダのスライド量を示す。
図5のテストシナリオファイル233では、開始から0.55秒後にイグニッションボタンがONになり(シーケンス番号501が「1」)、その0.05秒後にイグニッションボタンがOFFになり(シーケンス番号501が「2」)、その1秒後にアクセルスライダのスライド量が「40」になり(シーケンス番号501が「3」)、その5秒後にアクセルスライダのスライド量が「0」になり(シーケンス番号501が「4」)、その3秒後にブレーキスライダのスライド量が「2.5」になり(シーケンス番号501が「5」)、その10秒後にブレーキスライダのスライド量が「0」になった(シーケンス番号501が「6」)ことを示す。
<測定時系列データファイル>
図6は、測定時系列データファイルの一例を示す説明図である。測定時系列データファイル234は、測定した変数の測定値をシミュレーションの時系列にしたファイルである。測定時系列データファイル234は、フィールドとしてシミュレーション時間600と、第1測定変数601と、第2測定変数602と、…を有する。本例では、第1測定変数601を「vehicle_speed」(車速)とし、第2測定変数602を「engine_revolution」(エンジン回転数)とする。
<シミュレーション処理>
図7は、シミュレーション装置100によるシミュレーション処理手順例を示すフローチャートである。このシミュレーション処理は、SILS環境プロセス200において、シミュレーション用BSW201により実行される。
まず、シミュレーション装置100は、測定・キャリブレーション情報ファイル232を解析する(ステップS701)。具体的には、たとえば、シミュレーション装置100は、測定・キャリブレーション情報ファイル232から、測定変数名410、キャリブレーション変数名421、開始時間422および書込み値423を取得する。
具体的には、たとえば、シミュレーション装置100は、測定変数名410として、「vehicle_speed」(車速)と「engine_revolution」(エンジン回転数)とを取得する。
また、シミュレーション装置100は、キャリブレーション変数名421が「test_mode」、開始時間422が「10.00」、および書込み値423が「0」の組み合わせを取得する。また、シミュレーション装置100は、キャリブレーション変数名421が「fail_trigger」、開始時間422が「12.05」、および書込み値423が「1」の組み合わせを取得する。
つぎに、シミュレーション装置100は、ステップS701の解析結果に基づいてマップファイル231を解析する(ステップS702)。具体的には、たとえば、シミュレーション装置100は、測定変数名410と一致する変数名331のアドレス332およびデータ型種別333を変数情報303から取得する。たとえば、測定変数名410が「vehicle_speed」(車速)の場合、一致する変数名331のアドレス332として、「[0x00200000]」が取得され、一致する変数名331のデータ型種別333として、「unsigned short」が取得される。
また、シミュレーション装置100は、キャリブレーション変数名421についても測定変数名410と同様、キャリブレーション変数名421と一致する変数名331のアドレス332およびデータ型種別333を変数情報303から取得する。具体的には、たとえば、キャリブレーション変数名421が「test_mode」の場合、一致する変数名331のアドレス332が取得され、一致する変数名331のデータ型種別333が取得される。
つぎに、シミュレーション装置100は、テストシナリオファイル233を読み込んだ車両モデル202のシミュレーションを開始し、当該シミュレーションが停止したか否かを判断する(ステップS703)。シミュレーションが停止していない場合(ステップS703:No)、シミュレーション装置100は、現シミュレーション時間が開始時間422以上であるか否かを判断する(ステップS704)。現シミュレーション時間は、ステップS706においてECUアプリケーション220の1ステップ分の実行時間分加算される。シミュレーション開始時では、現シミュレーション時間は0秒であり、この場合、ステップS704:Noとなり、ステップS706に移行する。現シミュレーション時間が開始時間422以上になると(ステップS704:Yes)、ステップS705に移行する。
ステップS705では、シミュレーション装置100は、キャリブレーション変数名421に対応するデータ型種別333を基に書込み値423を変換し、対象変数のアドレス332に値を設定し(ステップS705)、ステップS706に移行する。対象変数とは、ECUアプリケーション220におけるキャリブレーション変数名421に対応するキャリブレーション変数である。
具体的には、たとえば、シミュレーション装置100は、現シミュレーション時間が開始時間422以上になった場合のキャリブレーション変数名421と一致する変数名331のデータ型種別333に合うように書込み値423を変換する。
たとえば、現シミュレーション時間が開始時間422である「10.00」以上になったとする。開始時間422である「10.00」に対応するキャリブレーション変数名421は、「test_mode」である。シミュレーション装置100は、キャリブレーション変数名421である「test_mode」と一致する変数名331のデータ型種別333に合うように書込み値423を変換する。そして、シミュレーション装置100は、対象変数であるECUアプリケーション220内のキャリブレーション変数が存在するアドレス332に変換後の書込み値423を設定する。
ステップS706では、シミュレーション装置100は、ECUアプリケーション220をシミュレーション1ステップ分実行する。1ステップ分の実行時間(たとえば、10msec)はあらかじめ設定されている。これにより、現シミュレーション時間に、実行した1ステップの実行時間が加算される。また、ステップS706では、ステップS705で変換後の書込み値423がECUアプリケーション220に設定されていれば、ECUアプリケーション220は、変換後の書込み値423で1ステップ分の処理を実行し、ステップS705が実行されていなければ、ECUアプリケーション220は、ステップS705で変換されていない書込み値423で1ステップ分の処理を実行する。
そして、シミュレーション装置100は、測定変数に対応するデータ型種別333からサイズを取得し、対象変数のアドレスから値を取得する(ステップS707)。対象変数とは、ECUアプリケーション220における測定変数名410に対応する測定変数である。
具体的には、たとえば、シミュレーション装置100は、測定変数名410と一致する変数名331のデータ型種別333からサイズを特定する。ECUアプリケーション220内の変数名331が存在するアドレス332には、ステップS706の実行結果となる値が格納される。特に、ステップS705が実行された場合は、変換後の書込み値423に基づいて、ステップS706が実行され、その実行結果がECUアプリケーション220内の変数名331があるアドレス332に格納される。そして、シミュレーション装置100は、測定変数名410と一致するECUアプリケーション220内の変数名331が存在するアドレス332から、特定したサイズ分の値を測定値として取得する。
つぎに、シミュレーション装置100は、ステップS707でECUアプリケーション220から取得した測定値を、測定時系列データファイル234に出力して(ステップS708)、ステップS703に戻る。具体的には、たとえば、シミュレーション装置100は、ステップS707で取得した測定値の変数名331が「vehicle_speed」であれば第1測定変数601に、「engine_revolution」(エンジン回転数)であれば第2測定変数602に書き込むとともに、現シミュレーション時間をシミュレーション時間600に書き込む。
ステップS703において、シミュレーション装置100は、シミュレーションの開始から一定時間経過したり、ECUアプリケーション220の実行が終了したり、テストシナリオファイル233の最終シーケンスの実行が終了したりした場合に、シミュレーションが停止したと判断する(ステップS703:Yes)。シミュレーションが停止したと判断された場合(ステップS703:Yes)、一連の処理を終了する。
このように、本実施例によれば、シミュレーション装置100は、マップファイル解析モジュール221およびキャリブレーション実行モジュール222を、シミュレーション用BSW201内に埋め込む。具体的には、シミュレーション装置100は、ECUアプリケーション220のビルドによって生成されるマップファイル231をシミュレーション実行での初期段階で解析して取得しておき、入力ファイルである測定・キャリブレーション情報ファイル232の測定変数名410およびキャリブレーション変数名421を用いて、アドレス332やデータ型種別333を取得する。これにより、ECUアプリケーション220内からシミュレーション実行時の測定変数が取得される。
このように、測定およびキャリブレーションが必要なテストにおいて必要となるファイル群は、測定・キャリブレーション情報ファイル232とテストシナリオファイル233のみとなるため、管理対象が削減される。具体的には、ECUアプリケーション220のビルドによって最新のマップファイル231が特定可能な状態で保持されるため、マップファイル231が最新であるか否かを管理する必要がない。
すなわち、ECUアプリケーション220の更新によりマップファイル231の変更があった場合は、従来のように、その都度データベースファイルを手動、もしくは外部ツールによって更新する必要がなく、データベースファイルの更新漏れ等によるデータ測定の手戻り作業の発生を抑制することができる。
また、シミュレーション装置100は、測定・キャリブレーション情報ファイル232から開始時間422および書込み値423を取得し、キャリブレーション実行モジュール222によるキャリブレーション実行処理で、ECUアプリケーション220の時間経過後に、ECUアプリケーション220内の対応するキャリブレーション変数のアドレス332に、データ型種別333で変換された書込み値423を書き込む。これにより、キャリブレーションが実行される。したがって、何かしらのイベントを基に対象となるキャリブレーション変数に値を設定するようなスクリプトファイルの作成や管理が不要となる。
また、測定・キャリブレーション情報ファイル232は変数名410,421、時間422、書込み値423のみで構成されており、容易に追加または削除が可能であるため、ECUアプリケーション220の変更時に更新する必要がない。
このように、ECUアプリケーション220のビルド時に自動生成されたマップファイル231をシミュレーション実行時にそのまま取り込むといった、自己完結した循環処理を実現することで、ユーザがマップファイル231の更新やマップファイル231の指定を意識することが不要となる。したがって、シミュレーションの効率化を図ることができる。
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。たとえば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、たとえば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、IC(Integrated Circuit)カード、SDカード、DVD(Digital Versatile Disc)の記録媒体に格納することができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
100 シミュレーション装置
101 プロセッサ
202 車両モデル
211 プロセッサモデル
212 メモリモデル
213 IFモデル
214 バスモデル
220 ECUアプリケーション
221 マップファイル解析モジュール
222 キャリブレーション実行モジュール
223 測定データ出力モジュール
230 アプリソースコード
231 マップファイル
232 測定・キャリブレーション情報ファイル
233 テストシナリオファイル
234 測定時系列データファイル

Claims (6)

  1. 制御対象モデルを制御するソフトウェアをシミュレーションするシミュレーション装置が実行するシミュレーション方法であって、
    前記シミュレーション装置は、前記ソフトウェアと、前記ソフトウェアに関するマップファイルと、前記ソフトウェアに関する測定変数名を含む測定情報と、前記ソフトウェアに関するキャリブレーション変数名と開始時間と書込み値とを含むキャリブレーション情報と、にアクセス可能であり、
    前記シミュレーション装置は、
    前記シミュレーションの開始前に、前記キャリブレーション変数名に対応する第1アドレスおよび第1データ型種別と、前記測定変数名に対応する第2アドレスおよび第2データ型種別とを、前記マップファイルから取得する第1取得処理と、
    前記シミュレーションの開始後、前記開始時間が経過した場合に、前記第1取得処理によって取得された第1データ型種別に基づいて前記書込み値を変換し、前記ソフトウェア内において前記キャリブレーション変数名が存在する前記第1アドレスに、変換後の書込み値を設定する設定処理と、
    前記設定処理によって設定された前記変換後の書込み値で前記ソフトウェアのシミュレーションが実行された結果、前記第1取得処理によって取得された第2データ型種別に基づいて、前記ソフトウェア内の前記測定変数名が存在する前記第2アドレスから測定値を取得する第2取得処理と、
    前記第2取得処理によって取得された測定値を出力する出力処理と、
    を実行することを特徴とするシミュレーション方法。
  2. 請求項1に記載のシミュレーション方法であって、
    前記第2取得処理では、前記シミュレーション装置は、前記開始時間が経過していない場合に、前記書込み値で前記ソフトウェアのシミュレーションが実行された結果、前記第1取得処理によって取得された第2データ型種別に基づいて、前記ソフトウェア内の前記測定変数名が存在する前記第2アドレスから前記測定値を取得する、
    ことを特徴とするシミュレーション方法。
  3. 請求項1に記載のシミュレーション方法であって、
    前記シミュレーション装置は、前記ソフトウェアのソースコードをビルドすることにより、前記ソフトウェアおよび前記マップファイルを生成する生成処理を実行し、
    前記第1取得処理では、前記シミュレーション装置は、前記生成処理によって生成されたソフトウェアの前記シミュレーションの開始前に、前記第1アドレスおよび前記第1データ型種別と、前記第2アドレスおよび前記第2データ型種別と、前記生成処理によって生成されたマップファイルから取得する、
    ことを特徴とするシミュレーション方法。
  4. 制御対象モデルを制御するソフトウェアのシミュレーションをプロセッサに実行させるシミュレーションプログラムであって、
    前記プロセッサは、前記ソフトウェアと、前記ソフトウェアに関するマップファイルと、前記ソフトウェアに関する測定変数名を含む測定情報と、前記ソフトウェアに関するキャリブレーション変数名と開始時間と書込み値とを含むキャリブレーション情報と、にアクセス可能であり、
    前記プロセッサに、
    前記シミュレーションの開始前に、前記キャリブレーション変数名に対応する第1アドレスおよび第1データ型種別と、前記測定変数名に対応する第2アドレスおよび第2データ型種別とを、前記マップファイルから取得する第1取得処理と、
    前記シミュレーションの開始後、前記開始時間が経過した場合に、前記第1取得処理によって取得された第1データ型種別に基づいて前記書込み値を変換し、前記ソフトウェア内において前記キャリブレーション変数名が存在する前記第1アドレスに、変換後の書込み値を設定する設定処理と、
    前記設定処理によって設定された前記変換後の書込み値で前記ソフトウェアのシミュレーションが実行された結果、前記第1取得処理によって取得された第2データ型種別に基づいて、前記ソフトウェア内の前記測定変数名が存在する前記第2アドレスから測定値を取得する第2取得処理と、
    前記第2取得処理によって取得された測定値を出力する出力処理と、
    を実行させることを特徴とするシミュレーションプログラム。
  5. 請求項4に記載のシミュレーションプログラムであって、
    前記第2取得処理では、前記プロセッサに、前記開始時間が経過していない場合に、前記書込み値で前記ソフトウェアのシミュレーションが実行された結果、前記第1取得処理によって取得された第2データ型種別に基づいて、前記ソフトウェア内の前記測定変数名が存在する前記第2アドレスから前記測定値を取得させる、
    ことを特徴とするシミュレーションプログラム。
  6. 請求項4に記載のシミュレーションプログラムであって、
    前記プロセッサに、
    前記ソフトウェアのソースコードをビルドすることにより、前記ソフトウェアおよび前記マップファイルを生成する生成処理を実行させ、
    前記第1取得処理では、前記プロセッサに、前記生成処理によって生成されたソフトウェアの前記シミュレーションの開始前に、前記第1アドレスおよび前記第1データ型種別と、前記第2アドレスおよび前記第2データ型種別と、前記生成処理によって生成されたマップファイルから取得させる、
    ことを特徴とするシミュレーションプログラム。
JP2020164291A 2020-09-30 2020-09-30 シミュレーション方法およびシミュレーションプログラム Active JP7410004B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020164291A JP7410004B2 (ja) 2020-09-30 2020-09-30 シミュレーション方法およびシミュレーションプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020164291A JP7410004B2 (ja) 2020-09-30 2020-09-30 シミュレーション方法およびシミュレーションプログラム

Publications (2)

Publication Number Publication Date
JP2022056500A JP2022056500A (ja) 2022-04-11
JP7410004B2 true JP7410004B2 (ja) 2024-01-09

Family

ID=81110800

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020164291A Active JP7410004B2 (ja) 2020-09-30 2020-09-30 シミュレーション方法およびシミュレーションプログラム

Country Status (1)

Country Link
JP (1) JP7410004B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000020349A (ja) 1998-07-06 2000-01-21 Toshiba Corp プログラム開発支援装置、プログラム開発支援方法及びプログラム開発支援用プログラムを記録した媒体
JP2018026067A (ja) 2016-08-12 2018-02-15 富士電機株式会社 シミュレーション装置および同装置における接続情報生成方法
US10482003B1 (en) 2018-11-09 2019-11-19 Aimotive Kft. Method and system for modifying a control unit of an autonomous car
JP2020134982A (ja) 2019-02-12 2020-08-31 富士電機株式会社 情報処理装置、情報処理方法及び情報処理システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000020349A (ja) 1998-07-06 2000-01-21 Toshiba Corp プログラム開発支援装置、プログラム開発支援方法及びプログラム開発支援用プログラムを記録した媒体
JP2018026067A (ja) 2016-08-12 2018-02-15 富士電機株式会社 シミュレーション装置および同装置における接続情報生成方法
US10482003B1 (en) 2018-11-09 2019-11-19 Aimotive Kft. Method and system for modifying a control unit of an autonomous car
JP2020134982A (ja) 2019-02-12 2020-08-31 富士電機株式会社 情報処理装置、情報処理方法及び情報処理システム

Also Published As

Publication number Publication date
JP2022056500A (ja) 2022-04-11

Similar Documents

Publication Publication Date Title
US8290755B2 (en) System for testing at least one electronic control unit and method
JP6448195B2 (ja) ランタイムにfpgaの信号値にランダムにアクセスするための方法、データ処理装置、コンピュータプログラム、ディジタル記憶媒体及びfpgaビルドの実施方法
JP2014203314A (ja) Ecuシミュレーション装置
JP7225064B2 (ja) シミュレーション方法およびシミュレーションプログラム
JP4427002B2 (ja) 半導体試験用プログラムデバッグ装置
WO2018003495A1 (ja) Ecuシミュレーション装置
JP2009294846A (ja) テストケース生成装置、テストケース生成プログラム、およびテストケース生成方法
CN114662427A (zh) 一种逻辑系统设计的调试方法及设备
US20220019414A1 (en) Method for merging architecture data
JP7410004B2 (ja) シミュレーション方法およびシミュレーションプログラム
JP2007507765A (ja) 車両用の制御プロセスをテストするシステムおよび方法
US10816600B1 (en) Protocol analysis and visualization during simulation
US6813751B2 (en) Creating standard VHDL test environments
JP6649731B2 (ja) Fpgaからリードバックするための信号の特定
US7051301B2 (en) System and method for building a test case including a summary of instructions
JP7211135B2 (ja) 情報処理装置、情報処理方法及び情報処理システム
US20090132222A1 (en) State testing device and methods thereof
CN110753887B (zh) 楼宇自动化系统中的设备和运行数据的发现和识别
US7454680B2 (en) Method, system and computer program product for improving efficiency in generating high-level coverage data for a circuit-testing scheme
US20190064269A1 (en) Apparatus and method for performing a scalability check on a hardware description language representation of a circuit
JP7084505B2 (ja) 検証装置および検証方法
EP4002096B1 (en) Design support apparatus and design support method
JP3144617B2 (ja) 論理回路の検証方法
WO2023281614A1 (ja) 試験仕様作成装置
US11520954B2 (en) Simulation management method, simulation system, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231108

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: 20231219

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231221

R150 Certificate of patent or registration of utility model

Ref document number: 7410004

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150