JP2021096625A - Equivalence verification method and equivalence verification program - Google Patents
Equivalence verification method and equivalence verification program Download PDFInfo
- Publication number
- JP2021096625A JP2021096625A JP2019227216A JP2019227216A JP2021096625A JP 2021096625 A JP2021096625 A JP 2021096625A JP 2019227216 A JP2019227216 A JP 2019227216A JP 2019227216 A JP2019227216 A JP 2019227216A JP 2021096625 A JP2021096625 A JP 2021096625A
- Authority
- JP
- Japan
- Prior art keywords
- data
- transmission
- control device
- reception
- log
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
本発明は、等価検証を実行する等価検証方法、および等価検証プログラムに関する。 The present invention relates to an equivalence verification method for performing equivalence verification and an equivalence verification program.
車載ネットワーク(車両内ネットワークとも呼ばれる)は、車両に搭載される機器の制御に用いられるネットワークである。具体的には、たとえば、車載ネットワークは、ACC(Adaptive Cruise Control)システムやエンジンといった車両自体を制御する車両制御系ネットワークと、ドアやスイッチ、ステアリングといった車体を制御するボディ系ネットワークと、ディスプレイやオーディオ、エアコン、カーナビゲーションといった情報系の機器を制御する情報系ネットワークと、という3系統のネットワークを有する。3系統のネットワークは、各ネットワーク内のECU(Electronic Control Unit)のような制御装置を介して相互に接続されて、ECUの高度化と配線の複雑化に対応するため、CAN(Controller Area Network)、LIN(Local Interconnect Network)、FlexRayといった通信規格に基づいてデータ通信される。 An in-vehicle network (also called an in-vehicle network) is a network used to control equipment mounted on a vehicle. Specifically, for example, the in-vehicle network includes a vehicle control system network that controls the vehicle itself such as an ACC (Adaptive Cruise Control) system and an engine, a body system network that controls the vehicle body such as doors, switches, and steering, and a display and audio. It has three networks: an information system network that controls information system devices such as an air conditioner and a car navigation system. The three networks are connected to each other via a control device such as an ECU (Electronic Control Unit) in each network, and in order to cope with the sophistication of the ECU and the complexity of wiring, CAN (ControlRay Network) , LIN (Local Interconnect Network), FlexRay, and other communication standards are used for data communication.
車載ネットワークログとは、車載ネットワークから得られるログデータである。車載ネットワークは車種により異なるため、当然、車載ネットワークログも車種により異なる。具体的には、たとえば、たとえば、ECUのID、パラメータの割り当て、受信周期が車種により異なる。 The in-vehicle network log is log data obtained from the in-vehicle network. Since the in-vehicle network differs depending on the vehicle type, naturally, the in-vehicle network log also differs depending on the vehicle type. Specifically, for example, the ECU ID, parameter assignment, and reception cycle differ depending on the vehicle model.
車載ネットワークの等価検証およびリグレッションテストでは、車載ネットワークに実装されるソフトウェアの変更前と変更後とで同じ車両ネットワーク信号を入力として、出力に違いが無いかが検証される。 In the in-vehicle network equivalence verification and regression test, the same vehicle network signal is used as an input before and after the change of the software implemented in the in-vehicle network, and it is verified whether there is a difference in the output.
特許文献1のソフトウェア設計支援装置は、モデルベース開発で設計したモデルを記録したモデルデータ記憶部と、ソフトウェア要件記憶部とから、モデルのどの部分に要件が割り当てられているかをトレース分析部で分析し、分析結果と、リファクタリングで着目する要件を指定する分析要件入力部からリファクタリング実行部でリファクタリングを実施する。リファクタリングの結果、およびモデルデータ記憶部にあるモデルと、シミュレーション入力記憶部に保持された入力データと、から、シミュレーション実行及び結果比較部で、シミュレーションを実施し、結果に差分がないことを確認した上で、結果表示部でリファクタリングによる変更部分を強調表示する。
The software design support device of
特許文献2のソースコード等価性検証装置は、変更前ソースコードと変更前ソースコードを変更した変更後ソースコードとを対象に、それぞれ記号実行計算する記号実行計算部、記号実行計算部の記号実行計算結果である記号実行サマリに基づいて、変更前ソースコードと変更後ソースコードとの、同じ入力に対して同じ出力が得られることである等価性を検証するための等価性検証式を生成する等価性検証式生成部、等価性検証式生成部で生成された等価性検証式を検証する等価性検証式検証部、等価性検証式検証部における検証結果を用いて検証結果レポートを生成する検証結果生成部を有する。
The source code equivalence verification device of
特許文献3の情報処理装置は、ログ差分生成部とログ比較部とを有する。ログ差分生成部は、変更前のソースコードである第1のソースコードから生成される第1のプログラムを実行して得られるログと変更後のソースコードである第2のソースコードから生成される第2のプログラムを実行して得られるログとの間で発生すると推定される差分を、第1のソースコードと第2のソースコードとの差分に基づいて推定ログ差分として生成する。ログ比較部は、第1のプログラムを実行して得られたログと第2のプログラムを実行して得られたログとの差分を実行ログ差分として抽出し、推定ログ差分と実行ログ差分とを比較する。 The information processing device of Patent Document 3 has a log difference generation unit and a log comparison unit. The log difference generator is generated from the log obtained by executing the first program generated from the first source code which is the source code before the change and the second source code which is the source code after the change. The difference estimated to occur between the logs obtained by executing the second program is generated as an estimated log difference based on the difference between the first source code and the second source code. The log comparison unit extracts the difference between the log obtained by executing the first program and the log obtained by executing the second program as the execution log difference, and extracts the estimated log difference and the execution log difference. Compare.
しかしながら、上述した従来技術では、車載ネットワークログはハードウェア的な実機の要因から時間軸情報のズレが生じ、その影響により出力結果も完全に一致することは不可能である。その結果、人による目視確認が必須となり、多大な工数が必要となる。 However, in the above-mentioned conventional technology, the time axis information of the in-vehicle network log is deviated due to the factor of the actual hardware, and it is impossible to completely match the output results due to the influence. As a result, visual confirmation by a person is indispensable, and a large amount of man-hours are required.
本発明は、等価検証の効率化を図ることを目的とする。 An object of the present invention is to improve the efficiency of equivalence verification.
本願において開示される発明の一側面となる等価検証方法は、プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有する等価検証装置が実行する等価検証方法であって、前記等価検証方法は、前記プロセッサが、対象制御装置が制御装置群との間で送受信したデータおよび当該データの送受信時間を記録した第1ログに基づいて、前記対象制御装置の機能を実現する第1ソフトウェアに関する第1シミュレーションを実行することにより、前記対象制御装置が前記制御装置群との間で送受信したデータおよび当該データの送受信時間の各々にソフトウェア実行時間を記録した第2ログを生成する第1生成処理と、前記第1生成処理によって生成された第2ログに基づいて、前記第1ソフトウェアと同一機能を実現する第2ソフトウェアに関する第2シミュレーションを実行することにより、前記ソフトウェア実行時間に前記対象制御装置が前記制御装置群の中の送信先制御装置に送信したことを示す送信データを生成する第2生成処理と、前記第2生成処理によって生成された送信データと、前記ソフトウェア実行時間に前記対象制御装置が前送信先制御装置に送信したことを示す前記第2ログ内の送信データと、を照合し、照合結果を出力する照合処理と、を実行することを特徴とする。 The equivalence verification method, which is one aspect of the invention disclosed in the present application, is an equivalence verification method executed by an equivalence verification device having a processor that executes a program and a storage device that stores the program. The method relates to the first software that realizes the function of the target control device based on the first log in which the processor records the data transmitted / received by the target control device to / from the control device group and the transmission / reception time of the data. By executing the first simulation, the first generation process of generating the second log in which the software execution time is recorded in each of the data transmitted / received by the target control device to / from the control device group and the transmission / reception time of the data. And, based on the second log generated by the first generation process, the target control device is executed at the software execution time by executing the second simulation regarding the second software that realizes the same function as the first software. The second generation process for generating transmission data indicating that the software has been transmitted to the destination control device in the control device group, the transmission data generated by the second generation process, and the target control at the software execution time. It is characterized by executing a collation process of collating the transmission data in the second log indicating that the device has transmitted to the previous destination control device and outputting the collation result.
本発明の代表的な実施の形態によれば、等価検証の効率化を図ることができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。 According to a typical embodiment of the present invention, the efficiency of equivalence verification can be improved. Issues, configurations and effects other than those described above will be clarified by the description of the following examples.
<等価検証装置のハードウェア構成例>
図1は、等価検証装置100のハードウェア構成例を示すブロック図である。等価検証装置100は、プロセッサ101と、記憶デバイス102と、入力デバイス103と、出力デバイス104と、通信インターフェース(通信IF)105と、を有する。プロセッサ101、記憶デバイス102、入力デバイス103、出力デバイス104、および通信IF105は、バス106により接続される。プロセッサ101は、等価検証装置100を制御する。記憶デバイス102は、プロセッサ101の作業エリアとなる。また、記憶デバイス102は、各種プログラムやデータを記憶する非一時的なまたは一時的な記録媒体である。記憶デバイス102としては、たとえば、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、フラッシュメモリがある。入力デバイス103は、データを入力する。入力デバイス103としては、たとえば、キーボード、マウス、タッチパネル、テンキー、スキャナがある。出力デバイス104は、データを出力する。出力デバイス104としては、たとえば、ディスプレイ、プリンタ、スピーカがある。通信IF105は、ネットワークと接続し、データを送受信する。
<Hardware configuration example of equivalence verification device>
FIG. 1 is a block diagram showing a hardware configuration example of the
また、記憶デバイス102は、車載ネットワークログファイル121と、車載ネットワークシミュレーションログファイル122と、車載ネットワーク台帳123と、車載ネットワーク差分結果ログファイル124と、不一致信号リスト結果ファイル125と、を記憶する。
Further, the
車載ネットワークログファイル121は、車両110のECU群111から取得されたデータである。車載ネットワークログファイル121は、たとえば、CANの規格に基づいたデータである。車載ネットワークシミュレーションログファイル122、車載ネットワーク差分結果ログファイル124、および不一致信号リスト結果ファイル125は、等価検証装置により生成されるデータである。車載ネットワーク台帳123は、車載ネットワークを流れる信号の仕様を規定するテーブルであり、あらかじめ設定される。車載ネットワーク台帳123は、等価検証装置100外で等価検証装置100がアクセス可能な他のコンピュータの記憶デバイス102に記憶されてもよい。
The in-vehicle
また、記憶デバイス102は、送受信IDデータバッファ130を有する。送受信IDデータバッファは、変更前ECUソフトウェア141および変更後ECUソフトウェア142が受信したり送信したりするデータを一時的に保持する記憶領域である。変更前ECUソフトウェア141および変更後ECUソフトウェア142を区別しない場合には、単に、ECUソフトウェア140と表記する。
Further, the
また、記憶デバイス102は、変更前ECUソフトウェア141、変更後ECUソフトウェア142、車載ネットワークログ再生モジュール150、および差分比較モジュール160を記憶する。変更前ECUソフトウェア141は、等価検証対象となるECUの機能を実現するソフトウェアである。変更後ECUソフトウェア142は、変更前ECUソフトウェア141をリファクタリングしたソフトウェアである。したがって、変更後ECUソフトウェア142は、変更前ECUソフトウェア141と同一機能を実現するが、コードや変数が異なっている。また、たとえば、変更前ECUソフトウェア141のある機能がスパゲッティコードで記述されているが、変更後ECUソフトウェア142では当該ある機能が関数化されている。
Further, the
車載ネットワークログ再生モジュール150は、車載ネットワークログファイル121を再生するソフトウェアモジュールである。車載ネットワークログ再生モジュール150の詳細な処理内容は、図9および図20で後述する。差分比較モジュール160は、同一ECUから送信されるデータを比較して差分があるか否かを判定するモジュールである。差分比較モジュール160の詳細な処理内容は、図21で後述する。
The in-vehicle network
<等価検証例>
図2は、等価検証装置100による等価検証例を示す説明図である。等価検証装置100は、第1シミュレーション環境201と、第2シミュレーション環境202と、を構築する。第1シミュレーション環境201は、変更前ECUソフトウェア141を実行し、第2シミュレーション環境202は、変更後ECUソフトウェア142を実行する。
<Equivalence verification example>
FIG. 2 is an explanatory diagram showing an example of equivalence verification by the
第1シミュレーション環境201で用いられる送受信IDデータバッファ130および車載ネットワークログ再生モジュール150をそれぞれ、送受信IDデータバッファ131および車載ネットワークログ再生モジュール151と表記する。第2シミュレーション環境202で用いられる送受信IDデータバッファ130および車載ネットワークログ再生モジュール150をそれぞれ、送受信IDデータバッファ132および車載ネットワークログ再生モジュール152と表記する。
The transmission / reception
第1シミュレーション環境201において、車載ネットワークログ再生モジュール151は、車載ネットワークログファイル121を取得し、変更前ECUソフトウェア141に渡す。変更前ECUソフトウェア141は、車載ネットワークログ再生モジュール151からの受信データを送受信IDデータバッファ131に書き込み、変更前ECUソフトウェア141が生成した送信データを送受信IDデータバッファ131に書き込む。車載ネットワークログ再生モジュール151は、送受信IDデータバッファ131から読み込んだデータにシミュレーション実行時間を付与して、車載ネットワークシミュレーションログファイル122として出力する。
In the
第2シミュレーション環境202において、車載ネットワークログ再生モジュール152は、車載ネットワークシミュレーションログファイル122を取得し、変更後ECUソフトウェア142に渡す。変更後ECUソフトウェア142は、車載ネットワークログ再生モジュール152からの受信データを送受信IDデータバッファ132に書き込み、変更後ECUソフトウェア142が生成した送信データを送受信IDデータバッファ132に書き込む。車載ネットワークログ再生モジュール152は、送受信IDデータバッファ132から読み込んだ送信データを車載ネットワーク差分結果ログファイル124に書き出す。
In the
差分比較モジュール160は、車載ネットワーク差分結果ログファイル124に書き出した送信データと、変更後ECUソフトウェア142が生成した送信データと、を比較する。一致していれば照合結果は「OK」となり、不一致であれば照合結果は「NG」となる。このように、両シミュレーション環境201,202から時間情報のズレが吸収された送信データが取得される。この時間情報のズレが吸収された両送信データを照合した差分結果を出力することにより、人による確認工数が削減される。
The
なお、図2では、等価検証装置100は、第1シミュレーション環境201に変更前ECUソフトウェア141を構築し、第2シミュレーション環境202に変更後ECUソフトウェア142を構築したが、第1シミュレーション環境201に変更後ECUソフトウェア142を構築し、第2シミュレーション環境202に変更前ECUソフトウェア141を構築してもよい。たとえば、変更後ECUソフトウェア142が、変更前ECUソフトウェア141よりも改悪された場合に有効である。
In FIG. 2, the
<各種データ>
図1に示した車載ネットワークログファイル121、車載ネットワークシミュレーションログファイル122、車載ネットワーク台帳123、車載ネットワーク差分結果ログファイル124、不一致信号リスト結果ファイル125、および送受信IDデータバッファ130について、図3〜図8を用いて説明する。
<Various data>
The vehicle-mounted
図3は、車載ネットワークログファイル121の一例を示す説明図である。車載ネットワークログファイル121は、フィールドとして、送受信時間301と、ID302と、送信/受信303と、データ304と、を有する。同一行の各フィールドの値の組み合わせが、車載ネットワークを流れる1つの送信データまたは受信データの車載ネットワークログを規定するエントリとなる。
FIG. 3 is an explanatory diagram showing an example of the vehicle-mounted
送受信時間301は、値として、その車載ネットワークログを送信または受信した時刻を記憶するフィールドである。なお、以降、AAフィールドbbb(AAはフィールド名、bbbは符号)の値を、AAbbbと表記する場合がある。たとえば、送受信時間301の値を、送受信時間301と表記する。
The transmission /
ID302は、値として、その車載ネットワークログを示すデータを送信または受信したECUの識別情報を記憶するフィールドである。送信/受信303は、値として、その車載ネットワークログを示すデータを、ECUソフトウェア140の機能を実現する等価検証対象のECUが送信したか受信したかを示す情報を記憶するフィールドである。「送信」であれば、そのエントリは、等価検証対象のECUがID302で特定されるECUに送信したデータであり、「受信」であれば、そのエントリは、等価検証対象のECUがID302で特定されるECUから受信したデータである。データ304は、値として、その車載ネットワークログを示すデータの値とその位置(1Byte、2Byte、…、NByte)をバイト単位で記憶するフィールドである。
The
図4は、送受信IDデータバッファ130の一例を示す説明図である。送受信IDデータバッファ130は、フィールドとして、ID302と、送信/受信303と、データ長401と、データ402と、を有する。同一行の各フィールドの値の組み合わせが、送受信IDデータを規定するエントリとなる。データ長401は、その送受信IDデータの長さを示す。データ402は、値として、その送受信IDデータの値とその位置(1Byte、2Byte、…、NByte)をバイト単位で記憶するフィールドである。
FIG. 4 is an explanatory diagram showing an example of the transmission / reception
図5は、車載ネットワークシミュレーションログファイル122の一例を示す説明図である。車載ネットワークシミュレーションログファイル122は、車載ネットワークログファイル121と同一フィールド301〜304を有する。ただし、各フィールド301〜304の値は、第1シミュレーション環境201の車載ネットワークログ再生モジュール151からの出力結果となる。同一行の各フィールドの値の組み合わせが、車載ネットワークを流れる1つの送信データまたは受信データの車載ネットワークシミュレーションログを規定するエントリとなる。
FIG. 5 is an explanatory diagram showing an example of the vehicle-mounted network
図6は、車載ネットワーク台帳123の一例を示す説明図である。車載ネットワーク台帳123は、フィールドとして、ID302と、送受信周期601と、位置602と、ビット幅603と、信号名604と、ファクタ605と、単位606と、最大値607と、最小値608と、を有する。同一行の各フィールドの値の組み合わせが、信号名604で特定される1つの信号の仕様を規定するエントリとなる。
FIG. 6 is an explanatory diagram showing an example of the in-
ID302は、ECUを一意に特定する識別情報であるため、当該ECUが受信可能な信号が複数あれば、1つのID302は複数のエントリに含まれる。送受信周期601は、値として、そのECUがその信号を含むデータを送信または受信する周期を記憶するフィールドである。位置602は、フィールドとして、その信号がその信号を含む受信データのどの位置602(バイト位置およびビット位置)に格納されているかを示す位置情報を記憶するフィールドである。
Since the
ビット幅603は、値として、その信号を含む受信データ内でのその信号を示すビット列の幅を記憶するフィールドである。信号名604は、値として、その信号の種類をあらわす名称を記憶するフィールドである。
The
ファクタ605は、値として、信号の物理値を正規化するための数値である。たとえば、信号の物理値の単位606が[km/s]で、かつ、第2シミュレーション環境202から[m/s]で当該物理量を出力させたい場合に、車載ネットワーク台帳123の当該信号のファクタ605に「0.001」が設定される。これにより、物理量の正規化が可能となる。したがって、第2シミュレーション環境202からは、[km/s]ではなく[m/s]の単位606で物理量のデータが出力される。
The
単位606は、値として、その信号をあらわす物理量の測定基準(rpm、%、m/sなど)を記憶するフィールドである。最大値607は、値として、その信号が採りうる最大の値(上限値)を記憶するフィールドである。最小値608は、値として、その信号が採りうる最小の値(下限値)を記憶するフィールドである。
The
図7は、車載ネットワーク差分結果ログファイル124の一例を示す説明図である。車載ネットワーク差分結果ログファイル124は、フィールドとして、照合結果701と、送受信時間301と、ID302と、送信/受信303と、出力データ702と、入力データ703と、不一致信号名704と、を有する。同一行の各フィールドの値の組み合わせが、1つの車載ネットワーク差分結果ログを規定するエントリとなる。
FIG. 7 is an explanatory diagram showing an example of the vehicle-mounted network difference
照合結果701は、送信データ(送信/受信303が「送信」)のエントリの出力データ702と入力データ703との比較した結果である。一致していれば照合結果701は「OK」となり、不一致であれば照合結果701は「NG」となる。
The
出力データ702は、変更後ECUソフトウェア142の実行結果である。入力データ703は、車載ネットワークシミュレーションログファイル122から読み出された特定の送受信時間内のデータ(読込データ)である。ID302および位置602が同じ出力データ702と入力データ703とが比較される。
The
不一致信号名704は、照合結果701が「NG」である信号の名称である。具体的には、たとえば、不一致信号名704は、車載ネットワーク台帳123における、照合結果701が「NG」であるID302と同一で、かつ、出力データ702(または入力データ703)の位置が位置602に対応するエントリの信号名である。
The
図8は、不一致信号リスト結果ファイル125の一例を示す説明図である。不一致信号リスト結果ファイル125は、NGデータ件数801と、不一致信号リスト802と、を含む。NGデータ件数801は、車載ネットワーク差分結果ログファイル124において照合結果701が「NG」となったエントリ数である。不一致信号リスト802は、車載ネットワーク差分結果ログファイル124において照合結果701が「NG」となった各エントリからID302、位置602、ビット幅603、および信号名604を抽出したリストである。
FIG. 8 is an explanatory diagram showing an example of the mismatch signal
<車載ネットワークログ再生処理1>
つぎに、図9〜図19を用いて、車載ネットワークログ再生処理1について説明する。車載ネットワークログ再生処理1は、たとえば、プロセッサ101が、第1シミュレーション環境201の車載ネットワークログ再生モジュール151に実行させる処理である。
<In-vehicle network
Next, the in-vehicle network
図9は、車載ネットワークログ再生処理1の事前設定例を示す説明図である。(A)は、車載ネットワークログ再生処理1に適用される車載ネットワークログファイル121の一例を示す。なお、1Byteデータ304は、データ304の1Byteの位置の値である。車載ネットワークログファイル121は、変更前ECUソフトウェア141で使用される。
FIG. 9 is an explanatory diagram showing a preset example of the in-vehicle network
(B)は、送受信IDデータバッファ131の記憶内容例を示す。ID302および送信/受信303には、車載ネットワークログファイル121のID302および送信/受信303が記録される。データ402の初期値は、“0”とする。
(B) shows an example of the storage contents of the transmission / reception
図10は、車載ネットワークログ再生処理1の一例を示すフローチャートである。プロセッサは、前回ECUソフトウェア実行時間に初期値を設定し、ECUソフトウェア実行時間に、当該初期値とECUソフトウェア実行周期時間とを加算した値を設定する(ステップS1001)。ステップS1001を具体例を挙げて説明する。
FIG. 10 is a flowchart showing an example of the in-vehicle network
図11は、ステップS1001の具体例を示す説明図である。ECUソフトウェア実行周期時間1100を、たとえば、10[ms]とする。前回ECUソフトウェア実行時間1101は、変更前ECUソフトウェア141による前回の実行時間である。初回の場合、前回が存在しないため、初期値として、たとえば、0.001[s]が設定される。図9(A)に示した車載ネットワークログファイル121内の先頭エントリの送受信時間301である0.001021[s]を初期値にしてもよい。なお、当該初期値は、先頭エントリの送受信時間301以下の値とする。
FIG. 11 is an explanatory diagram showing a specific example of step S1001. The ECU software
また、プロセッサ101は、前回ECUソフトウェア実行時間1101(の初期値)と、ECUソフトウェア実行周期時間1100と、を加算して、ECUソフトウェア実行時間1102を算出する。このようにして、前回ECUソフトウェア実行時間1101の初期値と、ECUソフトウェア実行時間1102とが設定される。
Further, the
図10に戻り、プロセッサ101は、車載ネットワークログファイル121から、送受信時間301が、前回ECUソフトウェア実行時間1101よりも大きく、かつ、ECUソフトウェア実行時間1102以下の範囲内のデータを読み込む(ステップS1002)。ステップS1002を具体例を挙げて説明する。
Returning to FIG. 10, the
図12は、ステップS1002の具体例1を示す説明図である。車載ネットワークログファイル121から、送受信時間301が、前回ECUソフトウェア実行時間1101である0.001[s]よりも大きく、かつ、ECUソフトウェア実行時間1102である0.011[s]以下の範囲内のエントリが、読込データ1200として読み込まれる。
FIG. 12 is an explanatory diagram showing a specific example 1 of step S1002. From the in-vehicle
図10に戻り、プロセッサ101は、読込データ1200が受信データであれば、送受信IDデータバッファ内の受信データに設定して、車載ネットワークシミュレーションログファイル122へ書き込む。また、プロセッサ101は、読込データ1200が送信データであれば、送受信IDデータバッファ131内の送信データで読込データ1200の送信データを上書きし、車載ネットワークシミュレーションログファイル122へ書き込む(ステップS1003)。ステップS1003を具体例を挙げて説明する。
Returning to FIG. 10, if the
図13は、ステップS1003の具体例1(前半)を示す説明図である。プロセッサ101は、読込データ1200のうち送信/受信303が「受信」であるエントリの1Byteデータ304(受信データ)を、送受信IDデータバッファ131におけるID302および送信/受信303が一致するエントリの1Byteデータ402に上書きする。
FIG. 13 is an explanatory diagram showing a specific example 1 (first half) of step S1003. The
図13の例では、送受信IDデータバッファ131のID302が「AAA」でかつ送信/受信303が「受信」であるエントリの1Byteデータ402の値「00」が、読込データ1200のID302が「AAA」でかつ送信/受信303が「受信」であるエントリの1Byteデータ304の値「01」に上書きされる。
In the example of FIG. 13, the value “00” of
送受信IDデータバッファのID302が「BBB」でかつ送信/受信303が「受信」であるエントリの1Byteデータ402の値「00」が、読込データ1200のID302が「BBB」でかつ送信/受信303が「受信」であるエントリの1Byteデータ304の値「10」に上書きされる。
The value "00" of
送受信IDデータバッファのID302が「CCC」でかつ送信/受信303が「受信」であるエントリの1Byteデータ402の値「00」が、読込データ1200のID302が「CCC」でかつ送信/受信303が「受信」であるエントリの1Byteデータ304の値「02」に上書きされる。
The value "00" of
また、プロセッサ101は、読込データ1200のうち送信/受信303が「送信」であるエントリの1Byteデータ304(送信データ)を、送受信IDデータバッファ131におけるID302および送信/受信303が一致するエントリの1Byteデータ402で上書きする。上書き後の読込データ1200を、読込データ1300とする。
Further, the
図13の例では、読込データのID302が「XXX」でかつ送信/受信303が「送信」であるエントリの1Byteデータ304の値「20」が、送受信IDデータバッファのID302が「XXX」でかつ送信/受信303が「送信」であるエントリの1Byteデータ402の値「00」に上書きされる。
In the example of FIG. 13, the value “20” of
読込データのID302が「YYY」でかつ送信/受信303が「送信」であるエントリの1Byteデータ304の値「00」が、送受信IDデータバッファのID302が「YYY」でかつ送信/受信303が「送信」であるエントリの1Byteデータ402の値「00」に上書きされる。
The value "00" of
これにより、読込データ1200内の受信データが送受信IDデータバッファ131に設定され、読込データ1200内の送信データが送受信IDデータバッファ131内の送信データで上書きされる。
As a result, the received data in the
図14は、ステップS1003の具体例1(後半)を示す説明図である。プロセッサ101は、読込データ1300を、車載ネットワークシミュレーションログファイル122に書き込む。また、プロセッサ101は、車載ネットワークシミュレーションログファイル122に書き込まれたエントリの送受信時間301に、ECUソフトウェア実行時間1102である0.011[s]を書き込む。これにより、読込データ1200の送受信時間のズレが、ECUソフトウェア実行時間1102に吸収される。
FIG. 14 is an explanatory diagram showing a specific example 1 (second half) of step S1003. The
図10に戻り、プロセッサ101は、車載ネットワークログファイル121に未処理のログがあるか否かを判断する(ステップS1004)。未処理のログとは、ステップS1002で読み込まれていない車載ネットワークログである。
Returning to FIG. 10, the
未処理のログがある場合(ステップS1004:Yes)、ステップS1005に移行し、未処理のログがない場合(ステップS1001:No)、車載ネットワークログ再生処理1が終了する。図12では、読込データ1200として読み込まれていないエントリが車載ネットワークログファイル121にまだ存在するため、ステップS1005に移行する。
If there is an unprocessed log (step S1004: Yes), the process proceeds to step S1005, and if there is no unprocessed log (step S1001: No), the vehicle-mounted network
ステップS1005では、プロセッサ101は、変更前ECUソフトウェア141を実行する(ステップS1005)。ステップS1005を具体例を挙げて説明する。
In step S1005, the
図15は、ステップS1005の具体例を示す説明図である。プロセッサ101は、送受信IDデータバッファ131の受信データを読み込んで、変更前ECUソフトウェア141の1周期分を実行する。具体的には、たとえば、プロセッサ101は、送受信IDデータバッファの送信/受信303が「受信」であるエントリの1Byteデータ402(“01”、“10”、“02”)を、それぞれ同エントリのID302(AAA,BBB,CCC)からの受信データとして読み込む。
FIG. 15 is an explanatory diagram showing a specific example of step S1005. The
プロセッサ101は、変更前ECUソフトウェア141の実行結果を送受信IDデータバッファに書き込む。変更前ECUソフトウェア141の実行結果は、変更前ECUソフトウェア141内部の送信データであり、ここでは、たとえば、ID302がXXX、YYYのECUに送信される1Byteデータ(“30”、“00”)とする。したがって、プロセッサ101は、ID302がXXX、YYYのエントリの1Byteデータ402に、“30”および“00”を書き込む。
The
図10に戻り、プロセッサ101は、前回ECUソフトウェア実行時間1101およびECUソフトウェア実行時間1102をそれぞれ更新し(ステップS1006)、ステップS1002に戻る。ステップS1006を具体例を挙げて説明する。
Returning to FIG. 10, the
図16は、ステップS1006の具体例を示す説明図である。(A)は、前回ECUソフトウェア実行時間1101の更新例を示す。すなわち、次回の変更前ECUソフトウェア141の実行では、ECUソフトウェア実行時間1102が前回ECUソフトウェア実行時間1101になる。プロセッサ101は、前回ECUソフトウェア実行時間1101をECUソフトウェア実行時間1102で更新する。たとえば、前回ECUソフトウェア実行時間1101が0.001[s]で、ECUソフトウェア実行時間1102が0.011[s]であれば、更新後の前回ECUソフトウェア実行時間1601は、0.011[s]になる。
FIG. 16 is an explanatory diagram showing a specific example of step S1006. (A) shows an example of updating the previous ECU
(B)は、ECUソフトウェア実行時間1102の更新例を示す。プロセッサ101は、ECUソフトウェア実行時間1102にECUソフトウェア実行周期時間1100を加算することにより、ECUソフトウェア実行時間1102の値を、0.011[s]から0.021[s]に更新する。更新後のECUソフトウェア実行時間1102をECUソフトウェア実行時間1602とする。
(B) shows an update example of the ECU
これにより、ステップS1002では、プロセッサ101は、車載ネットワークログファイル121から、送受信時間301が、前回ECUソフトウェア実行時間1601よりも大きく、かつ、ECUソフトウェア実行時間1602以下の範囲内のデータを読み込むことになる。
As a result, in step S1002, the
図17は、ステップS1002の具体例2を示す説明図である。車載ネットワークログファイル121から、送受信時間301が、前回ECUソフトウェア実行時間1601である0.011[s]よりも大きく、かつ、ECUソフトウェア実行時間1602である0.021[s]以下の範囲内のエントリが、読込データ1700として読み込まれる。
FIG. 17 is an explanatory diagram showing a specific example 2 of step S1002. From the in-vehicle
図18は、ステップS1003の具体例2(前半)を示す説明図である。プロセッサ101は、読込データ1700のうち送信/受信303が「受信」であるエントリの1Byteデータ304(受信データ)を、送受信IDデータバッファ131におけるID302および送信/受信303が一致するエントリの1Byteデータ402に上書きする。
FIG. 18 is an explanatory diagram showing a specific example 2 (first half) of step S1003. The
図18の例では、送受信IDデータバッファ131のID302が「AAA」でかつ送信/受信303が「受信」であるエントリの1Byteデータ402の値「01」が、読込データ1700のID302が「AAA」でかつ送信/受信303が「受信」であるエントリの1Byteデータ304の値「05」に上書きされる。
In the example of FIG. 18, the value “01” of
送受信IDデータバッファのID302が「BBB」でかつ送信/受信303が「受信」であるエントリの1Byteデータ402の値「10」が、読込データ1700のID302が「BBB」でかつ送信/受信303が「受信」であるエントリの1Byteデータ304の値「20」に上書きされる。
The value "10" of
また、プロセッサ101は、読込データ1700のうち送信/受信303が「送信」であるエントリの1Byteデータ304(送信データ)を、送受信IDデータバッファ131におけるID302および送信/受信303が一致するエントリの1Byteデータ402で上書きする。上書き後の読込データ1700を、読込データ1800とする。
Further, the
図18の例では、読込データ1700のID302が「XXX」、送信/受信303が「送信」であるエントリの1Byteデータ304の値「20」が、送受信IDデータバッファ131のID302が「XXX」、送信/受信303が「送信」であるエントリの1Byteデータ402の値「30」に上書きされる。
In the example of FIG. 18, the
これにより、読込データ1700内の受信データが送受信IDデータバッファ131に設定され、読込データ1700内の送信データが送受信IDデータバッファ131内の送信データで上書きされる。
As a result, the received data in the
図19は、ステップS1003の具体例2(後半)を示す説明図である。プロセッサ101は、読込データ1800を、車載ネットワークシミュレーションログファイル122に書き込む。また、プロセッサ101は、車載ネットワークシミュレーションログファイル122に書き込まれたエントリの送受信時間301に、ECUソフトウェア実行時間1602である0.021[s]を書き込む。これにより、読込データ1700の送受信時間のズレが、ECUソフトウェア実行時間1602に吸収される。
FIG. 19 is an explanatory diagram showing a specific example 2 (second half) of step S1003. The
図17では、読込データ1200,1700として読み込まれていないエントリが車載ネットワークログに存在しないため(ステップS1004:No)、車載ネットワークログ再生処理1が終了する。
In FIG. 17, since there is no entry in the vehicle-mounted network log that has not been read as
<車載ネットワークログ再生処理2>
つぎに、図20〜図35を用いて、車載ネットワークログ再生処理2について説明する。車載ネットワークログ再生処理2は、たとえば、プロセッサ101が、第2シミュレーション環境202の車載ネットワークログ再生モジュール152に実行させる処理である。送受信IDデータバッファ132の初期状態は、図9(B)と同じである。
<In-vehicle network
Next, the in-vehicle network
図20は、車載ネットワークログ再生処理2の一例を示すフローチャートである。プロセッサ101は、ステップS1001と同様、前回ECUソフトウェア実行時間に初期値を設定し、ECUソフトウェア実行時間に、当該初期値とECUソフトウェア実行周期時間とを加算した値を設定する(ステップS2001)。ステップS2001を具体例を挙げて説明する。
FIG. 20 is a flowchart showing an example of the in-vehicle network
図21は、ステップS2001の具体例を示す説明図である。車載ネットワークログ再生処理1と同様、ECUソフトウェア実行周期時間1100を、たとえば、10[ms]とする。前回ECUソフトウェア実行時間2101は、変更後ECUソフトウェア142による前回の実行時間である。初回の場合、前回が存在しないため、初期値として、たとえば、車載ネットワークログ再生処理1と同じ0.001[s]が設定される。車載ネットワークログ再生処理1と同じ値であれば、図9(A)に示した車載ネットワークログファイル121内の先頭エントリの送受信時間301である0.001021[s]を初期値にしてもよい。なお、当該初期値は、先頭エントリの送受信時間301以下の値とする。
FIG. 21 is an explanatory diagram showing a specific example of step S2001. Similar to the in-vehicle network
また、プロセッサ101は、前回ECUソフトウェア実行時間2101(の初期値)と、ECUソフトウェア実行周期時間1100と、を加算して、ECUソフトウェア実行時間2102を算出する。このようにして、前回ECUソフトウェア実行時間2101の初期値と、ECUソフトウェア実行時間2102とが設定される。
Further, the
図20に戻り、プロセッサ101は、車載ネットワークシミュレーションログファイル122から、送受信時間301が、前回ECUソフトウェア実行時間2101よりも大きく、かつ、ECUソフトウェア実行時間2102以下の範囲内のデータを読み込む(ステップS2002)。ステップS2002を具体例を挙げて説明する。
Returning to FIG. 20, the
図22は、ステップS2002の具体例1を示す説明図である。車載ネットワークログファイル121から、送受信時間301が、前回ECUソフトウェア実行時間2101である0.001[s]よりも大きく、かつ、ECUソフトウェア実行時間2102である0.011[s]以下の範囲内のエントリが、読込データ2200として読み込まれる。
FIG. 22 is an explanatory diagram showing a specific example 1 of step S2002. From the in-vehicle
図20に戻り、プロセッサ101は、読込データ2200のうち受信データを、送受信IDデータバッファ132内の受信データに設定して、車載ネットワーク差分結果ログファイル124の出力データ702へ書き込む。ステップS2003を具体例を挙げて説明する。
Returning to FIG. 20, the
図23は、ステップS2003の具体例1(前半)を示す説明図である。プロセッサ101は、読込データ2200のうち送信/受信303が「受信」であるエントリの1Byteデータ304(受信データ)を、送受信IDデータバッファ132におけるID302および送信/受信303が一致するエントリの1Byteデータ402に上書きする。
FIG. 23 is an explanatory diagram showing a specific example 1 (first half) of step S2003. The
図23の例では、送受信IDデータバッファ132のID302が「AAA」でかつ送信/受信303が「受信」であるエントリの1Byteデータ402の値「00」が、読込データ2200のID302が「AAA」でかつ送信/受信303が「受信」であるエントリの1Byteデータ304の値「01」に上書きされる。
In the example of FIG. 23, the value “00” of
送受信IDデータバッファ132のID302が「BBB」でかつ送信/受信303が「受信」であるエントリの1Byteデータ402の値「00」が、読込データ2200のID302が「BBB」でかつ送信/受信303が「受信」であるエントリの1Byteデータ304の値「10」に上書きされる。
The value "00" of
送受信IDデータバッファ132のID302が「CCC」でかつ送信/受信303が「受信」であるエントリの1Byteデータ402の値「00」が、読込データ2200のID302が「CCC」でかつ送信/受信303が「受信」であるエントリの1Byteデータ304の値「02」に上書きされる。これにより、読込データ2200内の受信データが送受信IDデータバッファ132に設定される。
The value "00" of
図24は、ステップS2003の具体例1(後半)を示す説明図である。プロセッサ101は、読込データ2200を、車載ネットワーク差分結果ログファイル124のID302、送信/受信303および出力データ702に書き込む。また、プロセッサ101は、車載ネットワーク差分結果ログファイル124に書き込まれたエントリの送受信時間301に、ECUソフトウェア実行時間2102である0.011[s]を書き込む。これにより、読込データ1200の送受信時間301が、車載ネットワーク差分結果ログファイル124の送受信時間301と一致する。図20に戻り、プロセッサ101は、差分比較モジュール160を呼び出す(ステップS2004)。
FIG. 24 is an explanatory diagram showing a specific example 1 (second half) of step S2003. The
図25は、差分比較モジュール160による差分比較処理の一例を示すフローチャートである。プロセッサ101は、読み込んだ送信データと、送受信IDデータバッファ132内の送信データとを、ID302をキーとして比較する(ステップS2501)。差分がない場合(ステップS2502:No)、読み込んだ送信データを車載ネットワーク差分結果ログファイル124の出力データ702に書き出し、該当エントリの照合結果701に「OK」を書き込み(ステップS2503)、図20のステップS2005に移行する。ステップS2501〜S2503を具体例を挙げて説明する。
FIG. 25 is a flowchart showing an example of the difference comparison process by the
図26は、ステップS2501〜S2503の具体例1を示す説明図である。読み込んだ送信データとは、読込データ2200のうち、送信/受信303が「送信」であるエントリが示すデータである。具体的には、たとえば、プロセッサ101は、ID302の値「XXX」をキーにして、読込データ2200内の送信データを示すエントリ2601と、送受信IDデータバッファ132内の送信データを示すエントリ2602とを比較する(ステップS2501)。
FIG. 26 is an explanatory diagram showing a specific example 1 of steps S2501 to S2503. The read transmission data is the data indicated by the entry in which the transmission /
この場合、エントリ2601の1Byteデータ304とエントリ2602の1Byteデータ402とは一致する(ステップS2502:No)。したがって、プロセッサ101は、車載ネットワーク差分結果ログファイル124のID302、送信/受信303および出力データ702に、一致した送信データを書き込み、かつ、当該書き込んだエントリの照合結果701に「OK」を書き込む。また、プロセッサ101は、車載ネットワーク差分結果ログファイル124に書き込まれたエントリの送受信時間に、ECUソフトウェア実行時間2102である0.011[s]を書き込む(ステップS2503)。
In this case, the 1-
図27は、ステップS2501〜S2503の具体例2を示す説明図である。図26と同様、プロセッサ101は、ID302の値「YYY」をキーにして、読込データ2200内の送信データを示すエントリ2701と、送受信IDデータバッファ132内の送信データを示すエントリ2702とを比較する(ステップS2501)。
FIG. 27 is an explanatory diagram showing a specific example 2 of steps S2501 to S2503. Similar to FIG. 26, the
この場合、エントリ2701の1Byteデータ304とエントリ2702の1Byteデータ402とは一致する(ステップS2502:No)。したがって、プロセッサ101は、車載ネットワーク差分結果ログファイル124のID302、送信/受信303および出力データ702に、一致した送信データを書き込み、かつ、当該書き込んだエントリの照合結果701に「OK」を書き込む。また、プロセッサ101は、車載ネットワーク差分結果ログファイル124に書き込まれたエントリの送受信時間301に、ECUソフトウェア実行時間2102である0.011[s]を書き込む(ステップS2503)。
In this case, the 1-
図20に戻り、プロセッサ101は、車載ネットワークシミュレーションログファイル122に未処理のログがあるか否かを判断する(ステップS2005)。未処理のログとは、ステップS2002で読み込まれていない車載ネットワークシミュレーションログである。
Returning to FIG. 20, the
未処理のログがある場合(ステップS2005:Yes)、ステップS1005に移行し、未処理のログがない場合(ステップS2005:No)、車載ネットワークログ再生処理2が終了する。図22では、読込データ2200として読み込まれていないエントリが車載ネットワークシミュレーションログファイル122にまだ存在するため、ステップS2006に移行する。
If there is an unprocessed log (step S2005: Yes), the process proceeds to step S1005, and if there is no unprocessed log (step S2005: No), the in-vehicle network
ステップS2006では、プロセッサ101は、変更後ECUソフトウェア142を実行する(ステップS2006)。ステップS2006を具体例を挙げて説明する。
In step S2006, the
図28は、ステップS2006の具体例を示す説明図である。プロセッサ101は、送受信IDデータバッファ132の受信データを読み込んで、変更後ECUソフトウェア142の1周期分を実行する。具体的には、たとえば、プロセッサ101は、送受信IDデータバッファ132の送信/受信303が「受信」であるエントリの1Byteデータ402(“01”、“10”、“02”)を、それぞれ同エントリのID302(AAA,BBB,CCC)からの受信データとして読み込む。
FIG. 28 is an explanatory diagram showing a specific example of step S2006. The
プロセッサ101は、変更後ECUソフトウェア142の実行結果を送受信IDデータバッファ132に書き込む。変更後ECUソフトウェア142の実行結果は、変更後ECUソフトウェア142内部の送信データであり、ここでは、たとえば、ID302がXXX、YYYのECUに送信される1Byteデータ(“30”、“00”)とする。したがって、プロセッサ101は、ID302がXXX、YYYのエントリの1Byteデータ402に、“30”および“00”を書き込む。
The
図20に戻り、プロセッサ101は、前回ECUソフトウェア実行時間2101およびECUソフトウェア実行時間2102をそれぞれ更新し(ステップS2007)、ステップS2002に戻る。ステップS2007を具体例を挙げて説明する。
Returning to FIG. 20, the
図29は、ステップS2007の具体例を示す説明図である。(A)は、前回ECUソフトウェア実行時間2101の更新例を示す。すなわち、次回の変更前ECUソフトウェア141の実行では、ECUソフトウェア実行時間2102が前回ECUソフトウェア実行時間2101になる。
FIG. 29 is an explanatory diagram showing a specific example of step S2007. (A) shows an example of updating the previous ECU
プロセッサ101は、前回ECUソフトウェア実行時間2101をECUソフトウェア実行時間2102で更新する。たとえば、前回ECUソフトウェア実行時間2101が0.001[s]で、ECUソフトウェア実行時間2102が0.011[s]であれば、更新後の前回ECUソフトウェア実行時間2901は、0.011[s]になる。
The
(B)は、ECUソフトウェア実行時間2102の更新例を示す。プロセッサ101は、ECUソフトウェア実行時間2102にECUソフトウェア実行周期時間1100を加算することにより、ECUソフトウェア実行時間2102の値を、0.011[s]から0.021[s]に更新する。更新後のECUソフトウェア実行時間2102をECUソフトウェア実行時間2902とする。
(B) shows an update example of the ECU
これにより、ステップS2002では、プロセッサ101は、車載ネットワークシミュレーションログファイル122から、送受信時間301が、前回ECUソフトウェア実行時間2901よりも大きく、かつ、ECUソフトウェア実行時間2902以下の範囲内のデータを読み込むことになる。
As a result, in step S2002, the
図30は、ステップS2002の具体例2を示す説明図である。車載ネットワークシミュレーションログファイル122から、送受信時間301が、前回ECUソフトウェア実行時間2901である0.011[s]よりも大きく、かつ、ECUソフトウェア実行時間2902である0.021[s]以下の範囲内のエントリが、読込データ3000として読み込まれる。
FIG. 30 is an explanatory diagram showing a specific example 2 of step S2002. From the in-vehicle network
図31は、ステップS2003の具体例2(前半)を示す説明図である。プロセッサ101は、読込データ3000のうち送信/受信303が「受信」であるエントリの1Byteデータ304(受信データ)を、送受信IDデータバッファ132におけるID302および送信/受信303が一致するエントリの1Byteデータ402に上書きする。
FIG. 31 is an explanatory diagram showing a specific example 2 (first half) of step S2003. The
図31の例では、送受信IDデータバッファ132のID302が「AAA」でかつ送信/受信303が「受信」であるエントリの1Byteデータ402の値「01」が、読込データ1700のID302が「AAA」でかつ送信/受信303が「受信」であるエントリの1Byteデータ304の値「05」に上書きされる。
In the example of FIG. 31, the value “01” of
送受信IDデータバッファ132のID302が「BBB」でかつ送信/受信303が「受信」であるエントリの1Byteデータ402の値「10」が、読込データ1700のID302が「BBB」でかつ送信/受信303が「受信」であるエントリの1Byteデータ304の値「20」に上書きされる。これにより、読込データ3000内の受信データが送受信IDデータバッファ132に設定される。
The value "10" of
図32は、ステップS2003の具体例2(後半)を示す説明図である。プロセッサ101は、読込データ3000を、車載ネットワーク差分結果ログファイル124のID302、送信/受信303および出力データ702に書き込む。また、プロセッサ101は、車載ネットワーク差分結果ログファイル124に書き込まれたエントリの送受信時間301に、ECUソフトウェア実行時間2902である0.021[s]を書き込む。これにより、読込データ1200の送受信時間が、車載ネットワーク差分結果ログファイル124の送受信時間と一致する。図20に戻り、プロセッサ101は、差分比較モジュール160を呼び出す(ステップS2004)。
FIG. 32 is an explanatory diagram showing a specific example 2 (second half) of step S2003. The
図25のステップS2502において、差分がある場合(ステップS2502:Yes)、プロセッサ101は、車載ネットワーク差分結果ログファイル124の出力データ702と入力データ703に比較したデータを書き出し、該当エントリに照合結果701として「NG」を書き出す(ステップS2504)。
In step S2502 of FIG. 25, if there is a difference (step S2502: Yes), the
そして、プロセッサ101は、車載ネットワーク台帳123から差分箇所となるID302および位置を特定し、車載ネットワーク差分結果ログファイル124に不一致信号名704を追記し、不一致信号リスト結果ファイル125のNGデータ件数801および不一致信号リスト802を更新する(ステップS2505)。そして、図20のステップS2005に移行する。ステップS2501、S2502、S2504、S2505を具体例を挙げて説明する。
Then, the
図33は、ステップS2501、S2502、S2504の具体例を示す説明図である。読み込んだ送信データとは、読込データ3000のうち、送信/受信303が「送信」であるエントリが示すデータである。具体的には、たとえば、プロセッサ101は、ID302の値「XXX」をキーにして、読込データ3000内の送信データを示すエントリ3301と、送受信IDデータバッファ132内の送信データを示すエントリ3302とを比較する(ステップS2501)。
FIG. 33 is an explanatory diagram showing a specific example of steps S2501, S2502, and S2504. The read transmission data is the data indicated by the entry in which the transmission /
この場合、エントリ3301の1Byteデータ304とエントリ3302の1Byteデータ402とは一致しない(ステップS2502:Yes)。したがって、プロセッサ101は、車載ネットワーク差分結果ログファイル124に、キーとなるID302および送信/受信303の「送信」を書き込み、出力データ702にエントリ3302の1Byteデータ402の“33”、入力データ703にエントリ3301の1Byteデータ304の“30”を書き込み、かつ、当該書き込んだエントリの照合結果701に「NG」を書き込む。また、プロセッサ101は、車載ネットワーク差分結果ログファイル124に書き込まれたエントリ3303の送受信時間に、ECUソフトウェア実行時間2902である0.021[s]を書き込む(ステップS2504)。
In this case, the 1-
図34は、ステップS2505の具体例1を示す説明図である。S2505では、プロセッサ101は、照合結果701がNGとなったエントリのID302から、車載ネットワーク台帳123で参照すべきID302を特定し、照合結果701がNGとなったエントリの出力データ702(または入力データ703)から車載ネットワーク台帳123で参照すべき位置602を特定する。図34では、ID302が「XXX」で位置が「0」Byte、「0」Bit、ビット幅603が「8」であるエントリ3400が特定される。プロセッサ101は、エントリ3400から信号名604を取得し、照合結果701がNGのエントリ3303の不一致信号名704に取得した信号名を追記する。
FIG. 34 is an explanatory diagram showing a specific example 1 of step S2505. In S2505, the
図35は、ステップS2505の具体例2を示す説明図である。S2505では、さらに、プロセッサ101は、不一致信号リスト結果ファイル125のNGデータ件数801および不一致信号リスト802を更新する。今回、照合結果701がNGのエントリとしてエントリ3303が検出されたため、NGデータ件数801は「0」から「1」に更新される。また、不一致信号リスト802には、車載ネットワーク台帳123において特定されたエントリ3400のID302、位置、ビット幅および信号名からなるエントリが追記される。なお、送信データには1以上の信号が含まれるため、NGデータ件数801よりも不一致信号リスト802のエントリ数が多くなることもある。
FIG. 35 is an explanatory diagram showing a specific example 2 of step S2505. In S2505, the
上述した実施例にかかる等価検証方法は、下記(1)〜(8)として構成することもできる。 The equivalence verification method according to the above-described embodiment can also be configured as the following (1) to (8).
(1)プログラムを実行するプロセッサ101と、プログラムを記憶する記憶デバイス102と、を有する等価検証装置が実行する等価検証方法は、プロセッサ101が、対象ECUがECU群との間で送受信したデータおよび当該データの送受信時間301を記録した車載ネットワークログファイル121に基づいて、対象ECUの機能を実現する変更前ECUソフトウェアに関する第1シミュレーションを実行することにより、対象ECUがECU群との間で送受信したデータおよび当該データの送受信時間301の各々にソフトウェア実行時間を記録した車載ネットワークシミュレーションログファイル122を生成する第1生成処理(車載ネットワークログ再生モジュール151)と、第1生成処理によって生成された車載ネットワークシミュレーションログファイル122に基づいて、変更前ECUソフトウェアと同一機能を実現する変更後ECUソフトウェアに関する第2シミュレーションを実行することにより、ソフトウェア実行時間に対象ECUがECU群の中の送信先ECUに送信したことを示す送信データを生成する第2生成処理(車載ネットワークログ再生モジュール152)と、第2生成処理によって生成された送信データと、ソフトウェア実行時間に対象ECUが前送信先ECUに送信したことを示す車載ネットワークシミュレーションログファイル122内の送信データと、を照合し、照合結果701を出力する照合処理(差分比較モジュール160)と、を実行する。
(1) The equivalence verification method executed by the equivalence verification device having the
(2)上記(1)において、変更後ECUソフトウェアは、変更前ECUソフトウェアをリファクタリングしたソフトウェアである。 (2) In the above (1), the changed ECU software is software that is a refactoring of the pre-change ECU software.
(3)上記(1)において、照合処理では、プロセッサ101は、両送信データに差分がない判定した場合、照合結果701として両送信データに差分がないことを示す情報を出力する。
(3) In the collation process in (1) above, when it is determined that there is no difference between the two transmission data, the
(4)上記(1)において、照合処理では、プロセッサ101は、両送信データに差分があると判定した場合、照合結果701として両送信データに差分があることを示す情報を出力する。
(4) In the above (1), in the collation process, when the
(5)上記(1)において、第2生成処理では、プロセッサ101は、送信データと、照合結果701と、を関連付けた車載ネットワーク差分結果ログファイル124を生成する。
(5) In the second generation process in (1) above, the
(6)上記(5)において、第2生成処理では、プロセッサ101は、照合結果701が両送信データに差分があることを示す情報である場合、照合結果701の件数(NGデータ件数801)を出力する。
(6) In the second generation process in the above (5), when the
(7)上記(5)において、プロセッサ101は、ECU群の各々のECUと、対象ECUからECUに送信されるデータに含まれる信号の名称と、を対応付けた車載ネットワーク台帳123にアクセス可能であり、第2生成処理では、プロセッサ101は、照合結果701が両送信データに差分があることを示す情報である場合、車載ネットワーク台帳123を参照して、送信データに対応する特定の信号の名称を取得し、送信データと照合結果701と特定の信号の名称とを関連付けて車載ネットワーク差分結果ログファイル124を生成する。
(7) In the above (5), the
(8)上記(7)において、車載ネットワーク台帳123は、さらに、信号が示す値のデータ内位置を対応付けており、第2生成処理では、プロセッサ101は、車載ネットワーク台帳123を参照して、送信データが示す値が位置する特定のデータ内位置と、特定の信号の名称と、を取得し、送信データと照合結果701と特定の信号の名称と特定のデータ内位置とを関連付けて車載ネットワーク差分結果ログファイル124を生成する。
(8) In the above (7), the vehicle-mounted
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。 It should be noted that the present invention is not limited to the above-described examples, but includes various modifications and equivalent configurations within the scope of the appended claims. For example, the above-described examples have been described in detail in order to explain the present invention in an easy-to-understand manner, and the present invention is not necessarily limited to those having all the described configurations. Further, a part of the configuration of one embodiment may be replaced with the configuration of another embodiment. Further, the configuration of another embodiment may be added to the configuration of one embodiment. In addition, other configurations may be added, deleted, or replaced with respect to a part of the configurations of each embodiment.
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサ101がそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
Further, each of the above-described configurations, functions, processing units, processing means, etc. may be realized by hardware by designing a part or all of them by, for example, an integrated circuit, and the
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(SolID302 State Drive)等の記憶装置、又は、IC(Integrated Circuit)カード、SDカード、DVD(Digital Versatile Disc)の記録媒体に格納することができる。 Information such as programs, tables, and files that realize each function is recorded in a memory, hard disk, storage device such as SSD (SolID302 State Drive), or IC (Integrated Circuit) card, SD card, DVD (Digital Versaille Disc). It can be stored on a medium.
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。 In addition, the control lines and information lines indicate those that are considered necessary for explanation, and do not necessarily indicate all the control lines and information lines necessary for implementation. In practice, it can be considered that almost all configurations are interconnected.
100 等価検証装置
101 プロセッサ
102 記憶デバイス
111 ECU群
121 車載ネットワークログファイル
122 車載ネットワークシミュレーションログファイル
123 車載ネットワーク台帳
124 車載ネットワーク差分結果ログファイル
125 不一致信号リスト結果ファイル
130 送受信IDデータバッファ
141 変更前ECUソフトウェア
142 変更後ECUソフトウェア
150 車載ネットワークログ再生モジュール
160 差分比較モジュール
801 NGデータ件数
802 不一致信号リスト
100
Claims (9)
前記等価検証方法は、
前記プロセッサが、
対象制御装置が制御装置群との間で送受信したデータおよび当該データの送受信時間を記録した第1ログに基づいて、前記対象制御装置の機能を実現する第1ソフトウェアに関する第1シミュレーションを実行することにより、前記対象制御装置が前記制御装置群との間で送受信したデータおよび当該データの送受信時間の各々にソフトウェア実行時間を記録した第2ログを生成する第1生成処理と、
前記第1生成処理によって生成された第2ログに基づいて、前記第1ソフトウェアと同一機能を実現する第2ソフトウェアに関する第2シミュレーションを実行することにより、前記ソフトウェア実行時間に前記対象制御装置が前記制御装置群の中の送信先制御装置に送信したことを示す送信データを生成する第2生成処理と、
前記第2生成処理によって生成された送信データと、前記ソフトウェア実行時間に前記対象制御装置が前送信先制御装置に送信したことを示す前記第2ログ内の送信データと、を照合し、照合結果を出力する照合処理と、
を実行することを特徴とする等価検証方法。 An equivalence verification method executed by an equivalence verification device having a processor that executes a program and a storage device that stores the program.
The equivalence verification method is
The processor
To execute the first simulation regarding the first software that realizes the function of the target control device based on the first log that records the data transmitted / received by the target control device to / from the control device group and the transmission / reception time of the data. The first generation process of generating a second log in which the data transmitted / received by the target control device to / from the control device group and the software execution time are recorded in each of the transmission / reception times of the data,
By executing a second simulation relating to the second software that realizes the same function as the first software based on the second log generated by the first generation process, the target control device can perform the target control device at the software execution time. A second generation process that generates transmission data indicating that the data has been transmitted to the destination control device in the control device group, and
The transmission data generated by the second generation process is collated with the transmission data in the second log indicating that the target control device has transmitted to the previous destination control device at the software execution time, and the collation result is obtained. And the collation process to output
An equivalence verification method characterized by executing.
前記第2ソフトウェアは、前記第1ソフトウェアをリファクタリングしたソフトウェアである、
ことを特徴とする等価検証方法。 The equivalence verification method according to claim 1.
The second software is software that is a refactoring of the first software.
Equivalence verification method characterized by this.
前記照合処理では、前記プロセッサは、前記両送信データに差分がない判定した場合、前記照合結果として前記両送信データに差分がないことを示す情報を出力する、
ことを特徴とする等価検証方法。 The equivalence verification method according to claim 1.
In the collation process, when the processor determines that there is no difference between the two transmission data, the processor outputs information indicating that there is no difference between the two transmission data as the collation result.
Equivalence verification method characterized by this.
前記照合処理では、前記プロセッサは、両送信データに差分があると判定した場合、前記照合結果として前記両送信データに差分があることを示す情報を出力する、
ことを特徴とする等価検証方法。 The equivalence verification method according to claim 1.
In the collation process, when the processor determines that there is a difference between the two transmission data, the processor outputs information indicating that there is a difference between the two transmission data as the collation result.
Equivalence verification method characterized by this.
前記第2生成処理では、前記プロセッサは、前記送信データと、前記照合結果と、を関連付けた第3ログを生成する、
ことを特徴とする等価検証方法。 The equivalence verification method according to claim 1.
In the second generation process, the processor generates a third log in which the transmission data and the collation result are associated with each other.
Equivalence verification method characterized by this.
前記第2生成処理では、前記プロセッサは、前記照合結果が前記両送信データに差分があることを示す情報である場合、前記照合結果の件数を出力する、
ことを特徴とする等価検証方法。 The equivalence verification method according to claim 5.
In the second generation process, when the collation result is information indicating that there is a difference between the two transmission data, the processor outputs the number of the collation results.
Equivalence verification method characterized by this.
前記プロセッサは、前記制御装置群の各々の制御装置と、前記対象制御装置から前記制御装置に送信されるデータに含まれる信号の名称と、を対応付けた対応情報にアクセス可能であり、
前記第2生成処理では、前記プロセッサは、前記照合結果が前記両送信データに差分があることを示す情報である場合、前記対応情報を参照して、前記送信データに対応する特定の信号の名称を取得し、前記送信データと前記照合結果と前記特定の信号の名称とを関連付けて前記第3ログを生成する、
ことを特徴とする等価検証方法。 The equivalence verification method according to claim 5.
The processor can access the corresponding information associated with each control device of the control device group and the name of the signal included in the data transmitted from the target control device to the control device.
In the second generation process, when the collation result is information indicating that there is a difference between the two transmission data, the processor refers to the correspondence information and names the specific signal corresponding to the transmission data. To generate the third log by associating the transmitted data with the collation result and the name of the specific signal.
Equivalence verification method characterized by this.
前記対応情報は、さらに、前記信号が示す値のデータ内位置を対応付けており、
前記第2生成処理では、前記プロセッサは、前記対応情報を参照して、前記送信データが示す値が位置する特定のデータ内位置と、前記特定の信号の名称と、を取得し、前記送信データと前記照合結果と前記特定の信号の名称と前記特定のデータ内位置とを関連付けて前記第3ログを生成する、
ことを特徴とする等価検証方法。 The equivalence verification method according to claim 7.
The correspondence information further associates the position in the data of the value indicated by the signal.
In the second generation process, the processor refers to the corresponding information, acquires a position in the specific data in which the value indicated by the transmission data is located, and the name of the specific signal, and obtains the transmission data. And the collation result, the name of the specific signal, and the position in the specific data are associated with each other to generate the third log.
Equivalence verification method characterized by this.
対象制御装置が制御装置群との間で送受信したデータおよび当該データの送受信時間を記録した第1ログに基づいて、前記対象制御装置の機能を実現する第1ソフトウェアに関する第1シミュレーションを実行することにより、前記対象制御装置が前記制御装置群との間で送受信したデータおよび当該データの送受信時間の各々にソフトウェア実行時間を記録した第2ログを生成する第1生成処理と、
前記第1生成処理によって生成された第2ログに基づいて、前記第1ソフトウェアと同一機能を実現する第2ソフトウェアに関する第2シミュレーションを実行することにより、前記ソフトウェア実行時間に前記対象制御装置が前記制御装置群の中の送信先制御装置に送信したことを示す送信データを生成する第2生成処理と、
前記第2生成処理によって生成された送信データと、前記ソフトウェア実行時間に前記対象制御装置が前送信先制御装置に送信したことを示す前記第2ログ内の送信データと、を照合し、照合結果を出力する照合処理と、
を実行させるための等価検証プログラム。 To the processor
To execute the first simulation regarding the first software that realizes the function of the target control device based on the first log that records the data transmitted / received by the target control device to / from the control device group and the transmission / reception time of the data. The first generation process of generating a second log in which the data transmitted / received by the target control device to / from the control device group and the software execution time are recorded in each of the transmission / reception times of the data,
By executing a second simulation relating to the second software that realizes the same function as the first software based on the second log generated by the first generation process, the target control device can perform the target control device at the software execution time. A second generation process that generates transmission data indicating that the data has been transmitted to the destination control device in the control device group, and
The transmission data generated by the second generation process is collated with the transmission data in the second log indicating that the target control device has transmitted to the previous destination control device at the software execution time, and the collation result is obtained. And the collation process to output
Equivalence verification program to execute.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019227216A JP7177032B2 (en) | 2019-12-17 | 2019-12-17 | Equivalence verification method and equivalence verification program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019227216A JP7177032B2 (en) | 2019-12-17 | 2019-12-17 | Equivalence verification method and equivalence verification program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021096625A true JP2021096625A (en) | 2021-06-24 |
JP7177032B2 JP7177032B2 (en) | 2022-11-22 |
Family
ID=76431364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019227216A Active JP7177032B2 (en) | 2019-12-17 | 2019-12-17 | Equivalence verification method and equivalence verification program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7177032B2 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000284990A (en) * | 1999-03-29 | 2000-10-13 | Ntt Communicationware Corp | System and method for verifying existing function |
JP2018190349A (en) * | 2017-05-11 | 2018-11-29 | イー・アー・フアウ・ゲゼルシヤフト・ミト・ベシュレンクテル・ハフツング・インゲニオールゲゼルシヤフト・アウト・ウント・フエルケール | Method and device for inspecting software of controller of vehicle |
-
2019
- 2019-12-17 JP JP2019227216A patent/JP7177032B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000284990A (en) * | 1999-03-29 | 2000-10-13 | Ntt Communicationware Corp | System and method for verifying existing function |
JP2018190349A (en) * | 2017-05-11 | 2018-11-29 | イー・アー・フアウ・ゲゼルシヤフト・ミト・ベシュレンクテル・ハフツング・インゲニオールゲゼルシヤフト・アウト・ウント・フエルケール | Method and device for inspecting software of controller of vehicle |
Also Published As
Publication number | Publication date |
---|---|
JP7177032B2 (en) | 2022-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9792440B1 (en) | Secure boot for vehicular systems | |
CN114692169B (en) | Page vulnerability processing method applying big data and AI analysis and page service system | |
JP2018073245A (en) | Inspection apparatus, inspection system, information processing apparatus, inspection method and computer program | |
KR20110023124A (en) | Apparatus and method for verification for automotive ecu software | |
US20220035621A1 (en) | Software query information management system and software query information management method | |
CN108228312A (en) | The system and method that code is performed by interpreter | |
JP7177032B2 (en) | Equivalence verification method and equivalence verification program | |
WO2022014027A1 (en) | Communication permission list generator, communication permission list generation method, and program | |
US20230179422A1 (en) | Non-fungible token custody chain for multi-component hardware devices | |
US20220158757A1 (en) | Conversion apparatus, conversion method, and recording medium | |
JP6794383B2 (en) | Electronics, methods, programs and servers, methods, programs | |
CN105653932A (en) | Software upgrading validation method and device | |
KR102481272B1 (en) | Apparatus and method for generating autorun script file with improved security and reliability, apparatus and method for executing the same | |
CN114281065A (en) | Electronic control unit flashing method and device for vehicle and diagnostic equipment | |
CN114463002A (en) | Method and device for verifying legality of cross-link transaction, computer equipment and medium | |
KR101911297B1 (en) | Method and Apparatus for verification of Base System Model | |
CN113504931B (en) | Controller testing method, device, equipment and storage medium | |
CN111225075A (en) | Configuration method and device for Internet of things directional access service | |
CN111079124A (en) | Security chip activation method and device, terminal equipment and server | |
McKeon et al. | Disk Forensics of VxWorks File Systems for Aircraft Security Analyse criminalistique des disques des systèmes de fichiers VxWorks pour la sécurité des aéronefs | |
JP6390217B2 (en) | Software change program, software change device, and software change method | |
JP7012922B2 (en) | Authenticator management device, certifier management program and certifier management method | |
US20240015036A1 (en) | Data management device and data management system | |
Wieser et al. | Penetration Testing of In-Vehicle Infotainment Systems in Connected Vehicles | |
JP2023132231A (en) | Management information rewriting system and vehicle with the system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211213 |
|
TRDD | Decision of grant or rejection written | ||
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221031 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20221108 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221110 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7177032 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |