JP2021096625A - Equivalence verification method and equivalence verification program - Google Patents

Equivalence verification method and equivalence verification program Download PDF

Info

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
Application number
JP2019227216A
Other languages
Japanese (ja)
Other versions
JP7177032B2 (en
Inventor
昌史 下澤
Masashi Shimozawa
昌史 下澤
亮介 清水
Ryosuke Shimizu
亮介 清水
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 JP2019227216A priority Critical patent/JP7177032B2/en
Publication of JP2021096625A publication Critical patent/JP2021096625A/en
Application granted granted Critical
Publication of JP7177032B2 publication Critical patent/JP7177032B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

To improve efficiency for verifying equivalence.SOLUTION: A processor performs the steps of: executing a first simulation pertaining to first software realizing a function of a device to be controlled based on a first log recorded with data which the device to be controlled has transmitted/received between itself and a control device group, and a transmitted/received time of the data; generating a second log recorded with a software execution time respectively for the data which the device to be controlled has transmitted/received between itself and the control device group, and the transmitted/received time of the data; executing a second simulation pertaining to second software realizing a function identical to that of the first software based on the second log; generating transmission data indicating that the device to be controlled has transmitted to a transmission destination control device of the control device group at the software execution time; and collating the transmission data with the transmission data within the second log indicating that the device to be controlled has transmitted to the transmission destination control device at the software execution time so as to output a collation result.SELECTED DRAWING: Figure 1

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 Patent Document 1 analyzes which part of the model the requirements are assigned from the model data storage unit that records the model designed in the model-based development and the software requirement storage unit by the trace analysis unit. Then, refactoring is performed from the analysis requirement input section that specifies the analysis result and the requirements to be focused on in the refactoring to the refactoring execution section. From the result of refactoring, the model in the model data storage unit, and the input data held in the simulation input storage unit, a simulation was performed in the simulation execution and result comparison unit, and it was confirmed that there was no difference in the results. Above, highlight the changed part due to refactoring in the result display part.

特許文献2のソースコード等価性検証装置は、変更前ソースコードと変更前ソースコードを変更した変更後ソースコードとを対象に、それぞれ記号実行計算する記号実行計算部、記号実行計算部の記号実行計算結果である記号実行サマリに基づいて、変更前ソースコードと変更後ソースコードとの、同じ入力に対して同じ出力が得られることである等価性を検証するための等価性検証式を生成する等価性検証式生成部、等価性検証式生成部で生成された等価性検証式を検証する等価性検証式検証部、等価性検証式検証部における検証結果を用いて検証結果レポートを生成する検証結果生成部を有する。 The source code equivalence verification device of Patent Document 2 is a symbol execution calculation unit and a symbol execution calculation unit for symbol execution calculation for the source code before change and the source code after change in which the source code before change is changed, respectively. Based on the symbol execution summary that is the calculation result, an equivalence verification formula is generated to verify the equivalence that the same output is obtained for the same input between the source code before the change and the source code after the change. Verification that generates a verification result report using the verification results of the equivalence verification formula generation unit, the equivalence verification formula verification unit that verifies the equivalence verification formula generated by the equivalence verification formula generation unit, and the equivalence verification formula verification unit. It has a result generator.

特許文献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.

特開2016‐42317号公報Japanese Unexamined Patent Publication No. 2016-42317 国際公開WO2016/038741号International release WO2016 / 038741 国際公開WO2018/122990号International release WO2018 / 122990

しかしながら、上述した従来技術では、車載ネットワークログはハードウェア的な実機の要因から時間軸情報のズレが生じ、その影響により出力結果も完全に一致することは不可能である。その結果、人による目視確認が必須となり、多大な工数が必要となる。 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は、等価検証装置のハードウェア構成例を示すブロック図である。FIG. 1 is a block diagram showing a hardware configuration example of the equivalence verification device. 図2は、等価検証装置による等価検証例を示す説明図である。FIG. 2 is an explanatory diagram showing an example of equivalence verification by the equivalence verification device. 図3は、車載ネットワークログファイルの一例を示す説明図である。FIG. 3 is an explanatory diagram showing an example of an in-vehicle network log file. 図4は、送受信IDデータバッファの一例を示す説明図である。FIG. 4 is an explanatory diagram showing an example of a transmission / reception ID data buffer. 図5は、車載ネットワークシミュレーションログファイルの一例を示す説明図である。FIG. 5 is an explanatory diagram showing an example of an in-vehicle network simulation log file. 図6は、車載ネットワーク台帳の一例を示す説明図である。FIG. 6 is an explanatory diagram showing an example of an in-vehicle network ledger. 図7は、車載ネットワーク差分結果ログファイルの一例を示す説明図である。FIG. 7 is an explanatory diagram showing an example of an in-vehicle network difference result log file. 図8は、不一致信号リスト結果ファイルの一例を示す説明図である。FIG. 8 is an explanatory diagram showing an example of a mismatch signal list result file. 図9は、車載ネットワークログ再生処理1の事前設定例を示す説明図である。FIG. 9 is an explanatory diagram showing a preset example of the in-vehicle network log reproduction process 1. 図10は、車載ネットワークログ再生処理1の一例を示すフローチャートである。FIG. 10 is a flowchart showing an example of the in-vehicle network log reproduction process 1. 図11は、ステップS1001の具体例を示す説明図である。FIG. 11 is an explanatory diagram showing a specific example of step S1001. 図12は、ステップS1002の具体例1を示す説明図である。FIG. 12 is an explanatory diagram showing a specific example 1 of step S1002. 図13は、ステップS1003の具体例1(前半)を示す説明図である。FIG. 13 is an explanatory diagram showing a specific example 1 (first half) of step S1003. 図14は、ステップS1003の具体例1(後半)を示す説明図である。FIG. 14 is an explanatory diagram showing a specific example 1 (second half) of step S1003. 図15は、ステップS1005の具体例を示す説明図である。FIG. 15 is an explanatory diagram showing a specific example of step S1005. 図16は、ステップS1006の具体例を示す説明図である。FIG. 16 is an explanatory diagram showing a specific example of step S1006. 図17は、ステップS1002の具体例2を示す説明図である。FIG. 17 is an explanatory diagram showing a specific example 2 of step S1002. 図18は、ステップS1003の具体例2(前半)を示す説明図である。FIG. 18 is an explanatory diagram showing a specific example 2 (first half) of step S1003. 図19は、ステップS1003の具体例2(後半)を示す説明図である。FIG. 19 is an explanatory diagram showing a specific example 2 (second half) of step S1003. 図20は、車載ネットワークログ再生処理2の一例を示すフローチャートである。FIG. 20 is a flowchart showing an example of the in-vehicle network log reproduction process 2. 図21は、ステップS2001の具体例を示す説明図である。FIG. 21 is an explanatory diagram showing a specific example of step S2001. 図22は、ステップS2002の具体例1を示す説明図である。FIG. 22 is an explanatory diagram showing a specific example 1 of step S2002. 図23は、ステップS2003の具体例1(前半)を示す説明図である。FIG. 23 is an explanatory diagram showing a specific example 1 (first half) of step S2003. 図24は、ステップS2003の具体例1(後半)を示す説明図である。FIG. 24 is an explanatory diagram showing a specific example 1 (second half) of step S2003. 図25は、差分比較モジュールによる差分比較処理の一例を示すフローチャートである。FIG. 25 is a flowchart showing an example of the difference comparison process by the difference comparison module. 図26は、ステップS2501〜S2503の具体例1を示す説明図である。FIG. 26 is an explanatory diagram showing a specific example 1 of steps S2501 to S2503. 図27は、ステップS2501〜S2503の具体例2を示す説明図である。FIG. 27 is an explanatory diagram showing a specific example 2 of steps S2501 to S2503. 図28は、ステップS2006の具体例を示す説明図である。FIG. 28 is an explanatory diagram showing a specific example of step S2006. 図29は、ステップS2007の具体例を示す説明図である。FIG. 29 is an explanatory diagram showing a specific example of step S2007. 図30は、ステップS2002の具体例2を示す説明図である。FIG. 30 is an explanatory diagram showing a specific example 2 of step S2002. 図31は、ステップS2003の具体例2(前半)を示す説明図である。FIG. 31 is an explanatory diagram showing a specific example 2 (first half) of step S2003. 図32は、ステップS2003の具体例2(後半)を示す説明図である。FIG. 32 is an explanatory diagram showing a specific example 2 (second half) of step S2003. 図33は、ステップS2501、S2502、S2504の具体例を示す説明図である。FIG. 33 is an explanatory diagram showing a specific example of steps S2501, S2502, and S2504. 図34は、ステップS2505の具体例1を示す説明図である。FIG. 34 is an explanatory diagram showing a specific example 1 of step S2505. 図35は、ステップS2505の具体例2を示す説明図である。FIG. 35 is an explanatory diagram showing a specific example 2 of step S2505.

<等価検証装置のハードウェア構成例>
図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 equivalence verification device 100. The equivalence verification device 100 includes a processor 101, a storage device 102, an input device 103, an output device 104, and a communication interface (communication IF) 105. The processor 101, the storage device 102, the input device 103, the output device 104, and the communication IF 105 are connected by the bus 106. The processor 101 controls the equivalence verification device 100. The storage device 102 serves as a work area for the processor 101. Further, the storage device 102 is a non-temporary or temporary recording medium for storing various programs and data. Examples of the storage device 102 include a ROM (Read Only Memory), a RAM (Random Access Memory), an HDD (Hard Disk Drive), and a flash memory. The input device 103 inputs data. The input device 103 includes, for example, a keyboard, a mouse, a touch panel, a numeric keypad, and a scanner. The output device 104 outputs data. The output device 104 includes, for example, a display, a printer, and a speaker. The communication IF 105 connects to the network and transmits / receives data.

また、記憶デバイス102は、車載ネットワークログファイル121と、車載ネットワークシミュレーションログファイル122と、車載ネットワーク台帳123と、車載ネットワーク差分結果ログファイル124と、不一致信号リスト結果ファイル125と、を記憶する。 Further, the storage device 102 stores the vehicle-mounted network log file 121, the vehicle-mounted network simulation log file 122, the vehicle-mounted network ledger 123, the vehicle-mounted network difference result log file 124, and the mismatch signal list result file 125.

車載ネットワークログファイル121は、車両110のECU群111から取得されたデータである。車載ネットワークログファイル121は、たとえば、CANの規格に基づいたデータである。車載ネットワークシミュレーションログファイル122、車載ネットワーク差分結果ログファイル124、および不一致信号リスト結果ファイル125は、等価検証装置により生成されるデータである。車載ネットワーク台帳123は、車載ネットワークを流れる信号の仕様を規定するテーブルであり、あらかじめ設定される。車載ネットワーク台帳123は、等価検証装置100外で等価検証装置100がアクセス可能な他のコンピュータの記憶デバイス102に記憶されてもよい。 The in-vehicle network log file 121 is data acquired from the ECU group 111 of the vehicle 110. The in-vehicle network log file 121 is, for example, data based on the CAN standard. The vehicle-mounted network simulation log file 122, the vehicle-mounted network difference result log file 124, and the mismatch signal list result file 125 are data generated by the equivalence verification device. The in-vehicle network ledger 123 is a table that defines the specifications of signals flowing through the in-vehicle network, and is set in advance. The in-vehicle network ledger 123 may be stored in a storage device 102 of another computer that can be accessed by the equivalence verification device 100 outside the equivalence verification device 100.

また、記憶デバイス102は、送受信IDデータバッファ130を有する。送受信IDデータバッファは、変更前ECUソフトウェア141および変更後ECUソフトウェア142が受信したり送信したりするデータを一時的に保持する記憶領域である。変更前ECUソフトウェア141および変更後ECUソフトウェア142を区別しない場合には、単に、ECUソフトウェア140と表記する。 Further, the storage device 102 has a transmission / reception ID data buffer 130. The transmission / reception ID data buffer is a storage area that temporarily holds data received or transmitted by the pre-change ECU software 141 and the post-change ECU software 142. When the pre-change ECU software 141 and the post-change ECU software 142 are not distinguished, they are simply referred to as ECU software 140.

また、記憶デバイス102は、変更前ECUソフトウェア141、変更後ECUソフトウェア142、車載ネットワークログ再生モジュール150、および差分比較モジュール160を記憶する。変更前ECUソフトウェア141は、等価検証対象となるECUの機能を実現するソフトウェアである。変更後ECUソフトウェア142は、変更前ECUソフトウェア141をリファクタリングしたソフトウェアである。したがって、変更後ECUソフトウェア142は、変更前ECUソフトウェア141と同一機能を実現するが、コードや変数が異なっている。また、たとえば、変更前ECUソフトウェア141のある機能がスパゲッティコードで記述されているが、変更後ECUソフトウェア142では当該ある機能が関数化されている。 Further, the storage device 102 stores the pre-change ECU software 141, the post-change ECU software 142, the in-vehicle network log reproduction module 150, and the difference comparison module 160. The pre-change ECU software 141 is software that realizes the functions of the ECU that is the target of equivalence verification. The changed ECU software 142 is software that is a refactoring of the pre-change ECU software 141. Therefore, the modified ECU software 142 realizes the same function as the pre-modified ECU software 141, but the codes and variables are different. Further, for example, a certain function of the pre-change ECU software 141 is described by a spaghetti code, but the post-change ECU software 142 functions the certain function.

車載ネットワークログ再生モジュール150は、車載ネットワークログファイル121を再生するソフトウェアモジュールである。車載ネットワークログ再生モジュール150の詳細な処理内容は、図9および図20で後述する。差分比較モジュール160は、同一ECUから送信されるデータを比較して差分があるか否かを判定するモジュールである。差分比較モジュール160の詳細な処理内容は、図21で後述する。 The in-vehicle network log reproduction module 150 is a software module that reproduces the in-vehicle network log file 121. The detailed processing contents of the in-vehicle network log reproduction module 150 will be described later with reference to FIGS. 9 and 20. The difference comparison module 160 is a module that compares data transmitted from the same ECU and determines whether or not there is a difference. The detailed processing contents of the difference comparison module 160 will be described later with reference to FIG.

<等価検証例>
図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 equivalence verification device 100. The equivalence verification device 100 constructs the first simulation environment 201 and the second simulation environment 202. The first simulation environment 201 executes the pre-change ECU software 141, and the second simulation environment 202 executes the post-change ECU software 142.

第1シミュレーション環境201で用いられる送受信IDデータバッファ130および車載ネットワークログ再生モジュール150をそれぞれ、送受信IDデータバッファ131および車載ネットワークログ再生モジュール151と表記する。第2シミュレーション環境202で用いられる送受信IDデータバッファ130および車載ネットワークログ再生モジュール150をそれぞれ、送受信IDデータバッファ132および車載ネットワークログ再生モジュール152と表記する。 The transmission / reception ID data buffer 130 and the vehicle-mounted network log reproduction module 150 used in the first simulation environment 201 are referred to as the transmission / reception ID data buffer 131 and the vehicle-mounted network log reproduction module 151, respectively. The transmission / reception ID data buffer 130 and the vehicle-mounted network log reproduction module 150 used in the second simulation environment 202 are referred to as the transmission / reception ID data buffer 132 and the vehicle-mounted network log reproduction module 152, respectively.

第1シミュレーション環境201において、車載ネットワークログ再生モジュール151は、車載ネットワークログファイル121を取得し、変更前ECUソフトウェア141に渡す。変更前ECUソフトウェア141は、車載ネットワークログ再生モジュール151からの受信データを送受信IDデータバッファ131に書き込み、変更前ECUソフトウェア141が生成した送信データを送受信IDデータバッファ131に書き込む。車載ネットワークログ再生モジュール151は、送受信IDデータバッファ131から読み込んだデータにシミュレーション実行時間を付与して、車載ネットワークシミュレーションログファイル122として出力する。 In the first simulation environment 201, the vehicle-mounted network log reproduction module 151 acquires the vehicle-mounted network log file 121 and passes it to the pre-change ECU software 141. The pre-change ECU software 141 writes the received data from the vehicle-mounted network log reproduction module 151 to the transmission / reception ID data buffer 131, and writes the transmission data generated by the pre-change ECU software 141 to the transmission / reception ID data buffer 131. The in-vehicle network log reproduction module 151 adds a simulation execution time to the data read from the transmission / reception ID data buffer 131, and outputs the data as an in-vehicle network simulation log file 122.

第2シミュレーション環境202において、車載ネットワークログ再生モジュール152は、車載ネットワークシミュレーションログファイル122を取得し、変更後ECUソフトウェア142に渡す。変更後ECUソフトウェア142は、車載ネットワークログ再生モジュール152からの受信データを送受信IDデータバッファ132に書き込み、変更後ECUソフトウェア142が生成した送信データを送受信IDデータバッファ132に書き込む。車載ネットワークログ再生モジュール152は、送受信IDデータバッファ132から読み込んだ送信データを車載ネットワーク差分結果ログファイル124に書き出す。 In the second simulation environment 202, the vehicle-mounted network log reproduction module 152 acquires the vehicle-mounted network simulation log file 122 and passes it to the ECU software 142 after the change. The changed ECU software 142 writes the received data from the vehicle-mounted network log reproduction module 152 to the transmission / reception ID data buffer 132, and writes the transmission data generated by the changed ECU software 142 to the transmission / reception ID data buffer 132. The vehicle-mounted network log reproduction module 152 writes the transmission data read from the transmission / reception ID data buffer 132 to the vehicle-mounted network difference result log file 124.

差分比較モジュール160は、車載ネットワーク差分結果ログファイル124に書き出した送信データと、変更後ECUソフトウェア142が生成した送信データと、を比較する。一致していれば照合結果は「OK」となり、不一致であれば照合結果は「NG」となる。このように、両シミュレーション環境201,202から時間情報のズレが吸収された送信データが取得される。この時間情報のズレが吸収された両送信データを照合した差分結果を出力することにより、人による確認工数が削減される。 The difference comparison module 160 compares the transmission data written in the vehicle-mounted network difference result log file 124 with the transmission data generated by the modified ECU software 142. If they match, the collation result is "OK", and if they do not match, the collation result is "NG". In this way, the transmission data in which the time information deviation is absorbed is acquired from both simulation environments 201 and 202. By outputting the difference result of collating both transmission data in which the time information deviation is absorbed, the man-hours for confirmation by a person can be reduced.

なお、図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 equivalence verification device 100 constructed the pre-change ECU software 141 in the first simulation environment 201 and the post-change ECU software 142 in the second simulation environment 202, but changed to the first simulation environment 201. The rear ECU software 142 may be constructed, and the pre-change ECU software 141 may be constructed in the second simulation environment 202. For example, it is effective when the changed ECU software 142 is worse than the pre-change ECU software 141.

<各種データ>
図1に示した車載ネットワークログファイル121、車載ネットワークシミュレーションログファイル122、車載ネットワーク台帳123、車載ネットワーク差分結果ログファイル124、不一致信号リスト結果ファイル125、および送受信IDデータバッファ130について、図3〜図8を用いて説明する。
<Various data>
The vehicle-mounted network log file 121, the vehicle-mounted network simulation log file 122, the vehicle-mounted network ledger 123, the vehicle-mounted network difference result log file 124, the mismatch signal list result file 125, and the transmission / reception ID data buffer 130 shown in FIGS. 8 will be described.

図3は、車載ネットワークログファイル121の一例を示す説明図である。車載ネットワークログファイル121は、フィールドとして、送受信時間301と、ID302と、送信/受信303と、データ304と、を有する。同一行の各フィールドの値の組み合わせが、車載ネットワークを流れる1つの送信データまたは受信データの車載ネットワークログを規定するエントリとなる。 FIG. 3 is an explanatory diagram showing an example of the vehicle-mounted network log file 121. The vehicle-mounted network log file 121 has a transmission / reception time 301, an ID 302, a transmission / reception 303, and data 304 as fields. The combination of the values of each field in the same line is an entry that defines the vehicle-mounted network log of one transmitted data or received data flowing through the vehicle-mounted network.

送受信時間301は、値として、その車載ネットワークログを送信または受信した時刻を記憶するフィールドである。なお、以降、AAフィールドbbb(AAはフィールド名、bbbは符号)の値を、AAbbbと表記する場合がある。たとえば、送受信時間301の値を、送受信時間301と表記する。 The transmission / reception time 301 is a field that stores the time when the vehicle-mounted network log is transmitted or received as a value. Hereinafter, the value of the AA field bbb (AA is the field name and bbb is the code) may be referred to as AAbbb. For example, the value of the transmission / reception time 301 is expressed as the transmission / reception time 301.

ID302は、値として、その車載ネットワークログを示すデータを送信または受信したECUの識別情報を記憶するフィールドである。送信/受信303は、値として、その車載ネットワークログを示すデータを、ECUソフトウェア140の機能を実現する等価検証対象のECUが送信したか受信したかを示す情報を記憶するフィールドである。「送信」であれば、そのエントリは、等価検証対象のECUがID302で特定されるECUに送信したデータであり、「受信」であれば、そのエントリは、等価検証対象のECUがID302で特定されるECUから受信したデータである。データ304は、値として、その車載ネットワークログを示すデータの値とその位置(1Byte、2Byte、…、NByte)をバイト単位で記憶するフィールドである。 The ID 302 is a field for storing the identification information of the ECU that has transmitted or received the data indicating the vehicle-mounted network log as a value. The transmission / reception 303 is a field for storing information indicating whether the data indicating the vehicle-mounted network log is transmitted or received as a value by the ECU to be equivalent verification target that realizes the function of the ECU software 140. If it is "transmit", the entry is the data transmitted by the ECU subject to equivalence verification to the ECU specified by ID 302, and if it is "receive", the entry is specified by the ECU subject to equivalence verification by ID 302. This is the data received from the ECU. The data 304 is a field that stores the value of the data indicating the vehicle-mounted network log and its position (1Byte, 2Byte, ..., NByte) as a value in byte units.

図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 ID data buffer 130. The transmission / reception ID data buffer 130 has ID 302, transmission / reception 303, data length 401, and data 402 as fields. The combination of the values of each field on the same line is the entry that defines the transmission / reception ID data. The data length 401 indicates the length of the transmission / reception ID data. The data 402 is a field that stores the value of the transmission / reception ID data and its position (1Byte, 2Byte, ..., NByte) as a value in byte units.

図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 simulation log file 122. The vehicle-mounted network simulation log file 122 has the same fields 301 to 304 as the vehicle-mounted network log file 121. However, the values of the fields 301 to 304 are the output results from the vehicle-mounted network log reproduction module 151 of the first simulation environment 201. The combination of the values of each field in the same row is an entry that defines the vehicle-mounted network simulation log of one transmitted data or received data flowing through 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-vehicle network ledger 123. The in-vehicle network ledger 123 has fields such as ID 302, transmission / reception cycle 601, position 602, bit width 603, signal name 604, factor 605, unit 606, maximum value 607, and minimum value 608. Have. The combination of the values of each field on the same line is the entry that specifies the specification of one signal identified by the signal name 604.

ID302は、ECUを一意に特定する識別情報であるため、当該ECUが受信可能な信号が複数あれば、1つのID302は複数のエントリに含まれる。送受信周期601は、値として、そのECUがその信号を含むデータを送信または受信する周期を記憶するフィールドである。位置602は、フィールドとして、その信号がその信号を含む受信データのどの位置602(バイト位置およびビット位置)に格納されているかを示す位置情報を記憶するフィールドである。 Since the ID 302 is identification information that uniquely identifies the ECU, if there are a plurality of signals that the ECU can receive, one ID 302 is included in the plurality of entries. The transmission / reception cycle 601 is a field that stores, as a value, a cycle in which the ECU transmits or receives data including the signal. The position 602 is a field that stores position information indicating at which position 602 (byte position and bit position) of the received data including the signal the signal is stored as a field.

ビット幅603は、値として、その信号を含む受信データ内でのその信号を示すビット列の幅を記憶するフィールドである。信号名604は、値として、その信号の種類をあらわす名称を記憶するフィールドである。 The bit width 603 is a field that stores, as a value, the width of a bit string indicating the signal in the received data including the signal. The signal name 604 is a field for storing a name representing the type of the signal as a value.

ファクタ605は、値として、信号の物理値を正規化するための数値である。たとえば、信号の物理値の単位606が[km/s]で、かつ、第2シミュレーション環境202から[m/s]で当該物理量を出力させたい場合に、車載ネットワーク台帳123の当該信号のファクタ605に「0.001」が設定される。これにより、物理量の正規化が可能となる。したがって、第2シミュレーション環境202からは、[km/s]ではなく[m/s]の単位606で物理量のデータが出力される。 The factor 605 is a numerical value for normalizing the physical value of the signal as a value. For example, when the unit 606 of the physical value of the signal is [km / s] and the physical quantity is to be output from the second simulation environment 202 at [m / s], the factor 605 of the signal in the in-vehicle network ledger 123 Is set to "0.001". This makes it possible to normalize the physical quantity. Therefore, the physical quantity data is output from the second simulation environment 202 in the unit 606 of [m / s] instead of [km / s].

単位606は、値として、その信号をあらわす物理量の測定基準(rpm、%、m/sなど)を記憶するフィールドである。最大値607は、値として、その信号が採りうる最大の値(上限値)を記憶するフィールドである。最小値608は、値として、その信号が採りうる最小の値(下限値)を記憶するフィールドである。 The unit 606 is a field for storing a measurement standard (rpm,%, m / s, etc.) of a physical quantity representing the signal as a value. The maximum value 607 is a field that stores the maximum value (upper limit value) that the signal can take as a value. The minimum value 608 is a field for storing the minimum value (lower limit value) that the signal can take as a value.

図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 result log file 124. The vehicle-mounted network difference result log file 124 has, as fields, a collation result 701, a transmission / reception time 301, an ID 302, a transmission / reception 303, an output data 702, an input data 703, and a mismatch signal name 704. The combination of the values of each field in the same line is the entry that defines one in-vehicle network difference result log.

照合結果701は、送信データ(送信/受信303が「送信」)のエントリの出力データ702と入力データ703との比較した結果である。一致していれば照合結果701は「OK」となり、不一致であれば照合結果701は「NG」となる。 The collation result 701 is a result of comparing the output data 702 and the input data 703 of the entry of the transmission data (transmission / reception 303 is “transmission”). If they match, the collation result 701 becomes "OK", and if they do not match, the collation result 701 becomes "NG".

出力データ702は、変更後ECUソフトウェア142の実行結果である。入力データ703は、車載ネットワークシミュレーションログファイル122から読み出された特定の送受信時間内のデータ(読込データ)である。ID302および位置602が同じ出力データ702と入力データ703とが比較される。 The output data 702 is the execution result of the modified ECU software 142. The input data 703 is data (read data) within a specific transmission / reception time read from the vehicle-mounted network simulation log file 122. The output data 702 and the input data 703 having the same ID 302 and position 602 are compared.

不一致信号名704は、照合結果701が「NG」である信号の名称である。具体的には、たとえば、不一致信号名704は、車載ネットワーク台帳123における、照合結果701が「NG」であるID302と同一で、かつ、出力データ702(または入力データ703)の位置が位置602に対応するエントリの信号名である。 The mismatch signal name 704 is the name of the signal whose collation result 701 is "NG". Specifically, for example, the mismatch signal name 704 is the same as the ID 302 whose collation result 701 is "NG" in the in-vehicle network ledger 123, and the position of the output data 702 (or input data 703) is at the position 602. The signal name of the corresponding entry.

図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 list result file 125. The mismatch signal list result file 125 includes the number of NG data 801 and the mismatch signal list 802. The number of NG data 801 is the number of entries in which the collation result 701 is “NG” in the vehicle-mounted network difference result log file 124. The mismatch signal list 802 is a list obtained by extracting the ID 302, the position 602, the bit width 603, and the signal name 604 from each entry in which the collation result 701 is "NG" in the vehicle-mounted network difference result log file 124.

<車載ネットワークログ再生処理1>
つぎに、図9〜図19を用いて、車載ネットワークログ再生処理1について説明する。車載ネットワークログ再生処理1は、たとえば、プロセッサ101が、第1シミュレーション環境201の車載ネットワークログ再生モジュール151に実行させる処理である。
<In-vehicle network log playback processing 1>
Next, the in-vehicle network log reproduction process 1 will be described with reference to FIGS. 9 to 19. The in-vehicle network log reproduction process 1 is, for example, a process in which the processor 101 causes the in-vehicle network log reproduction module 151 of the first simulation environment 201 to execute the process.

図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 log reproduction process 1. (A) shows an example of the vehicle-mounted network log file 121 applied to the vehicle-mounted network log reproduction process 1. The 1Byte data 304 is a value at the position of 1Byte of the data 304. The in-vehicle network log file 121 is used in the pre-change ECU software 141.

(B)は、送受信IDデータバッファ131の記憶内容例を示す。ID302および送信/受信303には、車載ネットワークログファイル121のID302および送信/受信303が記録される。データ402の初期値は、“0”とする。 (B) shows an example of the storage contents of the transmission / reception ID data buffer 131. The ID 302 and the transmission / reception 303 of the vehicle-mounted network log file 121 are recorded in the ID 302 and the transmission / reception 303. The initial value of the data 402 is “0”.

図10は、車載ネットワークログ再生処理1の一例を示すフローチャートである。プロセッサは、前回ECUソフトウェア実行時間に初期値を設定し、ECUソフトウェア実行時間に、当該初期値とECUソフトウェア実行周期時間とを加算した値を設定する(ステップS1001)。ステップS1001を具体例を挙げて説明する。 FIG. 10 is a flowchart showing an example of the in-vehicle network log reproduction process 1. The processor sets an initial value in the previous ECU software execution time, and sets a value obtained by adding the initial value and the ECU software execution cycle time to the ECU software execution time (step S1001). Step S1001 will be described with reference to specific examples.

図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 execution cycle time 1100 is set to, for example, 10 [ms]. The previous ECU software execution time 1101 is the previous execution time by the pre-change ECU software 141. In the case of the first time, since the previous time does not exist, for example, 0.001 [s] is set as the initial value. 0.001021 [s], which is the transmission / reception time 301 of the first entry in the vehicle-mounted network log file 121 shown in FIG. 9A, may be set as the initial value. The initial value is a value of the transmission / reception time 301 or less of the first entry.

また、プロセッサ101は、前回ECUソフトウェア実行時間1101(の初期値)と、ECUソフトウェア実行周期時間1100と、を加算して、ECUソフトウェア実行時間1102を算出する。このようにして、前回ECUソフトウェア実行時間1101の初期値と、ECUソフトウェア実行時間1102とが設定される。 Further, the processor 101 calculates the ECU software execution time 1102 by adding the previous ECU software execution time 1101 (initial value) and the ECU software execution cycle time 1100. In this way, the initial value of the previous ECU software execution time 1101 and the ECU software execution time 1102 are set.

図10に戻り、プロセッサ101は、車載ネットワークログファイル121から、送受信時間301が、前回ECUソフトウェア実行時間1101よりも大きく、かつ、ECUソフトウェア実行時間1102以下の範囲内のデータを読み込む(ステップS1002)。ステップS1002を具体例を挙げて説明する。 Returning to FIG. 10, the processor 101 reads data from the in-vehicle network log file 121 within a range in which the transmission / reception time 301 is larger than the previous ECU software execution time 1101 and the ECU software execution time is 1102 or less (step S1002). .. Step S1002 will be described with reference to specific examples.

図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 network log file 121, the transmission / reception time 301 is larger than 0.001 [s], which is the previous ECU software execution time 1101, and is within the range of 0.011 [s] or less, which is the ECU software execution time 1102. The entry is read as read data 1200.

図10に戻り、プロセッサ101は、読込データ1200が受信データであれば、送受信IDデータバッファ内の受信データに設定して、車載ネットワークシミュレーションログファイル122へ書き込む。また、プロセッサ101は、読込データ1200が送信データであれば、送受信IDデータバッファ131内の送信データで読込データ1200の送信データを上書きし、車載ネットワークシミュレーションログファイル122へ書き込む(ステップS1003)。ステップS1003を具体例を挙げて説明する。 Returning to FIG. 10, if the read data 1200 is received data, the processor 101 sets it as the received data in the transmission / reception ID data buffer and writes it to the vehicle-mounted network simulation log file 122. If the read data 1200 is transmission data, the processor 101 overwrites the transmission data of the read data 1200 with the transmission data in the transmission / reception ID data buffer 131 and writes it to the vehicle-mounted network simulation log file 122 (step S1003). Step S1003 will be described with reference to specific examples.

図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 processor 101 uses the 1Bite data 304 (received data) of the entry whose transmission / reception 303 is "received" in the read data 1200, and the 1Byte data 402 of the entry in which the ID 302 and the transmission / reception 303 in the transmission / reception ID data buffer 131 match. Overwrite to.

図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 1Byte data 402 of the entry in which the ID 302 of the transmission / reception ID data buffer 131 is “AAA” and the transmission / reception 303 is “reception” is “AAA”, and the ID 302 of the read data 1200 is “AAA”. The value "01" of 1Byte data 304 of the entry in which transmission / reception 303 is "reception" is overwritten.

送受信IDデータバッファのID302が「BBB」でかつ送信/受信303が「受信」であるエントリの1Byteデータ402の値「00」が、読込データ1200のID302が「BBB」でかつ送信/受信303が「受信」であるエントリの1Byteデータ304の値「10」に上書きされる。 The value "00" of 1Byte data 402 of the entry in which the ID 302 of the transmission / reception ID data buffer is "BBB" and the transmission / reception 303 is "reception" is the value "00" of the read data 1200, and the ID 302 of the read data 1200 is "BBB" and the transmission / reception 303 is. It is overwritten with the value "10" of 1Byte data 304 of the entry which is "received".

送受信IDデータバッファのID302が「CCC」でかつ送信/受信303が「受信」であるエントリの1Byteデータ402の値「00」が、読込データ1200のID302が「CCC」でかつ送信/受信303が「受信」であるエントリの1Byteデータ304の値「02」に上書きされる。 The value "00" of 1Byte data 402 of the entry in which the ID 302 of the transmission / reception ID data buffer is "CCC" and the transmission / reception 303 is "reception" is the value "00" of the read data 1200, and the ID 302 of the read data 1200 is "CCC" and the transmission / reception 303 is. It is overwritten with the value "02" of 1Byte data 304 of the entry which is "received".

また、プロセッサ101は、読込データ1200のうち送信/受信303が「送信」であるエントリの1Byteデータ304(送信データ)を、送受信IDデータバッファ131におけるID302および送信/受信303が一致するエントリの1Byteデータ402で上書きする。上書き後の読込データ1200を、読込データ1300とする。 Further, the processor 101 transmits 1Bite data 304 (transmission data) of the entry in which the transmission / reception 303 is "transmission" of the read data 1200, and 1Byte of the entry in which the ID 302 and the transmission / reception 303 in the transmission / reception ID data buffer 131 match. Overwrite with data 402. The read data 1200 after overwriting is referred to as read data 1300.

図13の例では、読込データのID302が「XXX」でかつ送信/受信303が「送信」であるエントリの1Byteデータ304の値「20」が、送受信IDデータバッファのID302が「XXX」でかつ送信/受信303が「送信」であるエントリの1Byteデータ402の値「00」に上書きされる。 In the example of FIG. 13, the value “20” of 1Byte data 304 of the entry in which the ID 302 of the read data is “XXX” and the transmission / reception 303 is “transmission” is, and the ID 302 of the transmission / reception ID data buffer is “XXX”. The value "00" of 1Byte data 402 of the entry in which transmission / reception 303 is "transmission" is overwritten.

読込データのID302が「YYY」でかつ送信/受信303が「送信」であるエントリの1Byteデータ304の値「00」が、送受信IDデータバッファのID302が「YYY」でかつ送信/受信303が「送信」であるエントリの1Byteデータ402の値「00」に上書きされる。 The value "00" of 1Byte data 304 of the entry in which the ID 302 of the read data is "YY" and the transmission / reception 303 is "transmission" is that the ID 302 of the transmission / reception ID data buffer is "YY" and the transmission / reception 303 is "YYY". It is overwritten with the value "00" of 1Byte data 402 of the entry "Send".

これにより、読込データ1200内の受信データが送受信IDデータバッファ131に設定され、読込データ1200内の送信データが送受信IDデータバッファ131内の送信データで上書きされる。 As a result, the received data in the read data 1200 is set in the transmission / reception ID data buffer 131, and the transmission data in the read data 1200 is overwritten with the transmission data in the transmission / reception ID data buffer 131.

図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 processor 101 writes the read data 1300 to the vehicle-mounted network simulation log file 122. Further, the processor 101 writes 0.011 [s], which is the ECU software execution time 1102, in the transmission / reception time 301 of the entry written in the vehicle-mounted network simulation log file 122. As a result, the difference in the transmission / reception time of the read data 1200 is absorbed by the ECU software execution time 1102.

図10に戻り、プロセッサ101は、車載ネットワークログファイル121に未処理のログがあるか否かを判断する(ステップS1004)。未処理のログとは、ステップS1002で読み込まれていない車載ネットワークログである。 Returning to FIG. 10, the processor 101 determines whether or not there is an unprocessed log in the vehicle-mounted network log file 121 (step S1004). The unprocessed log is an in-vehicle network log that has not been read in step S1002.

未処理のログがある場合(ステップ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 log reproduction process 1 ends. In FIG. 12, since the entry that has not been read as the read data 1200 still exists in the vehicle-mounted network log file 121, the process proceeds to step S1005.

ステップS1005では、プロセッサ101は、変更前ECUソフトウェア141を実行する(ステップS1005)。ステップS1005を具体例を挙げて説明する。 In step S1005, the processor 101 executes the pre-change ECU software 141 (step S1005). Step S1005 will be described with reference to specific examples.

図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 processor 101 reads the received data in the transmission / reception ID data buffer 131 and executes one cycle of the pre-change ECU software 141. Specifically, for example, the processor 101 inputs 1 Byte data 402 (“01”, “10”, “02”) of the entry in which the transmission / reception 303 of the transmission / reception ID data buffer is “reception”, respectively. Read as received data from ID 302 (AAA, BBB, CCC).

プロセッサ101は、変更前ECUソフトウェア141の実行結果を送受信IDデータバッファに書き込む。変更前ECUソフトウェア141の実行結果は、変更前ECUソフトウェア141内部の送信データであり、ここでは、たとえば、ID302がXXX、YYYのECUに送信される1Byteデータ(“30”、“00”)とする。したがって、プロセッサ101は、ID302がXXX、YYYのエントリの1Byteデータ402に、“30”および“00”を書き込む。 The processor 101 writes the execution result of the pre-change ECU software 141 to the transmission / reception ID data buffer. The execution result of the pre-change ECU software 141 is the transmission data inside the pre-change ECU software 141. Here, for example, the ID 302 is the 1-byte data (“30”, “00”) transmitted to the ECUs of XXX and YYY. To do. Therefore, the processor 101 writes "30" and "00" in the 1Bite data 402 of the entry whose ID 302 is XXX and YYY.

図10に戻り、プロセッサ101は、前回ECUソフトウェア実行時間1101およびECUソフトウェア実行時間1102をそれぞれ更新し(ステップS1006)、ステップS1002に戻る。ステップS1006を具体例を挙げて説明する。 Returning to FIG. 10, the processor 101 updates the previous ECU software execution time 1101 and the ECU software execution time 1102 (step S1006), and returns to step S1002. Step S1006 will be described with reference to specific examples.

図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 software execution time 1101. That is, in the next execution of the pre-change ECU software 141, the ECU software execution time 1102 becomes the previous ECU software execution time 1101. The processor 101 updates the previous ECU software execution time 1101 with the ECU software execution time 1102. For example, if the previous ECU software execution time 1101 is 0.001 [s] and the ECU software execution time 1102 is 0.011 [s], the updated previous ECU software execution time 1601 is 0.011 [s]. become.

(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 software execution time 1102. The processor 101 updates the value of the ECU software execution time 1102 from 0.011 [s] to 0.021 [s] by adding the ECU software execution cycle time 1100 to the ECU software execution time 1102. The updated ECU software execution time 1102 is set to the ECU software execution time 1602.

これにより、ステップS1002では、プロセッサ101は、車載ネットワークログファイル121から、送受信時間301が、前回ECUソフトウェア実行時間1601よりも大きく、かつ、ECUソフトウェア実行時間1602以下の範囲内のデータを読み込むことになる。 As a result, in step S1002, the processor 101 reads data from the vehicle-mounted network log file 121 within a range in which the transmission / reception time 301 is larger than the previous ECU software execution time 1601 and the ECU software execution time is 1602 or less. Become.

図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 network log file 121, the transmission / reception time 301 is larger than 0.011 [s], which is the previous ECU software execution time 1601, and is within the range of 0.021 [s] or less, which is the ECU software execution time 1602. The entry is read as read data 1700.

図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 processor 101 transmits 1Bite data 304 (received data) of the entry in which the transmission / reception 303 is "received" among the read data 1700, and 1Byte data 402 of the entry in which the ID 302 and the transmission / reception 303 in the transmission / reception ID data buffer 131 match. Overwrite to.

図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 1Byte data 402 of the entry in which the ID 302 of the transmission / reception ID data buffer 131 is “AAA” and the transmission / reception 303 is “reception” is “AAA”, and the ID 302 of the read data 1700 is “AAA”. In addition, the value "05" of 1Byte data 304 of the entry in which transmission / reception 303 is "reception" is overwritten.

送受信IDデータバッファのID302が「BBB」でかつ送信/受信303が「受信」であるエントリの1Byteデータ402の値「10」が、読込データ1700のID302が「BBB」でかつ送信/受信303が「受信」であるエントリの1Byteデータ304の値「20」に上書きされる。 The value "10" of 1Byte data 402 of the entry in which the ID 302 of the transmission / reception ID data buffer is "BBB" and the transmission / reception 303 is "reception" is that the ID 302 of the read data 1700 is "BBB" and the transmission / reception 303 is. The value "20" of 1Byte data 304 of the entry that is "received" is overwritten.

また、プロセッサ101は、読込データ1700のうち送信/受信303が「送信」であるエントリの1Byteデータ304(送信データ)を、送受信IDデータバッファ131におけるID302および送信/受信303が一致するエントリの1Byteデータ402で上書きする。上書き後の読込データ1700を、読込データ1800とする。 Further, the processor 101 transmits 1Bite data 304 (transmission data) of the entry in which the transmission / reception 303 is "transmission" of the read data 1700, and 1Byte of the entry in which the ID 302 and the transmission / reception 303 in the transmission / reception ID data buffer 131 match. Overwrite with data 402. The read data 1700 after overwriting is referred to as read data 1800.

図18の例では、読込データ1700のID302が「XXX」、送信/受信303が「送信」であるエントリの1Byteデータ304の値「20」が、送受信IDデータバッファ131のID302が「XXX」、送信/受信303が「送信」であるエントリの1Byteデータ402の値「30」に上書きされる。 In the example of FIG. 18, the ID 302 of the read data 1700 is “XXX”, the value “20” of the 1Byte data 304 of the entry in which the transmission / reception 303 is “transmission”, and the ID 302 of the transmission / reception ID data buffer 131 is “XXX”. The value "30" of 1Byte data 402 of the entry in which transmission / reception 303 is "transmission" is overwritten.

これにより、読込データ1700内の受信データが送受信IDデータバッファ131に設定され、読込データ1700内の送信データが送受信IDデータバッファ131内の送信データで上書きされる。 As a result, the received data in the read data 1700 is set in the transmission / reception ID data buffer 131, and the transmission data in the read data 1700 is overwritten with the transmission data in the transmission / reception ID data buffer 131.

図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 processor 101 writes the read data 1800 to the vehicle-mounted network simulation log file 122. Further, the processor 101 writes 0.021 [s], which is the ECU software execution time 1602, in the transmission / reception time 301 of the entry written in the vehicle-mounted network simulation log file 122. As a result, the difference in the transmission / reception time of the read data 1700 is absorbed by the ECU software execution time 1602.

図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 read data 1200 and 1700 (step S1004: No), the vehicle-mounted network log reproduction process 1 ends.

<車載ネットワークログ再生処理2>
つぎに、図20〜図35を用いて、車載ネットワークログ再生処理2について説明する。車載ネットワークログ再生処理2は、たとえば、プロセッサ101が、第2シミュレーション環境202の車載ネットワークログ再生モジュール152に実行させる処理である。送受信IDデータバッファ132の初期状態は、図9(B)と同じである。
<In-vehicle network log playback processing 2>
Next, the in-vehicle network log reproduction process 2 will be described with reference to FIGS. 20 to 35. The in-vehicle network log reproduction process 2 is, for example, a process in which the processor 101 causes the in-vehicle network log reproduction module 152 of the second simulation environment 202 to execute the process. The initial state of the transmission / reception ID data buffer 132 is the same as that shown in FIG. 9B.

図20は、車載ネットワークログ再生処理2の一例を示すフローチャートである。プロセッサ101は、ステップS1001と同様、前回ECUソフトウェア実行時間に初期値を設定し、ECUソフトウェア実行時間に、当該初期値とECUソフトウェア実行周期時間とを加算した値を設定する(ステップS2001)。ステップS2001を具体例を挙げて説明する。 FIG. 20 is a flowchart showing an example of the in-vehicle network log reproduction process 2. Similar to step S1001, the processor 101 sets an initial value in the previous ECU software execution time, and sets a value obtained by adding the initial value and the ECU software execution cycle time to the ECU software execution time (step S2001). Step S2001 will be described with reference to specific examples.

図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 log reproduction process 1, the ECU software execution cycle time 1100 is set to, for example, 10 [ms]. The previous ECU software execution time 2101 is the previous execution time by the changed ECU software 142. In the case of the first time, since the previous time does not exist, for example, 0.001 [s], which is the same as the in-vehicle network log reproduction process 1, is set as the initial value. If the value is the same as that of the vehicle-mounted network log reproduction process 1, 0.001021 [s], which is the transmission / reception time 301 of the first entry in the vehicle-mounted network log file 121 shown in FIG. 9A, may be set as the initial value. The initial value is a value of the transmission / reception time 301 or less of the first entry.

また、プロセッサ101は、前回ECUソフトウェア実行時間2101(の初期値)と、ECUソフトウェア実行周期時間1100と、を加算して、ECUソフトウェア実行時間2102を算出する。このようにして、前回ECUソフトウェア実行時間2101の初期値と、ECUソフトウェア実行時間2102とが設定される。 Further, the processor 101 calculates the ECU software execution time 2102 by adding the previous ECU software execution time 2101 (initial value) and the ECU software execution cycle time 1100. In this way, the initial value of the previous ECU software execution time 2101 and the ECU software execution time 2102 are set.

図20に戻り、プロセッサ101は、車載ネットワークシミュレーションログファイル122から、送受信時間301が、前回ECUソフトウェア実行時間2101よりも大きく、かつ、ECUソフトウェア実行時間2102以下の範囲内のデータを読み込む(ステップS2002)。ステップS2002を具体例を挙げて説明する。 Returning to FIG. 20, the processor 101 reads data from the vehicle-mounted network simulation log file 122 within a range in which the transmission / reception time 301 is larger than the previous ECU software execution time 2101 and the ECU software execution time is 2102 or less (step S2002). ). Step S2002 will be described with a specific example.

図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 network log file 121, the transmission / reception time 301 is larger than 0.001 [s], which is the previous ECU software execution time 2101, and is within the range of 0.011 [s] or less, which is the ECU software execution time 2102. The entry is read as read data 2200.

図20に戻り、プロセッサ101は、読込データ2200のうち受信データを、送受信IDデータバッファ132内の受信データに設定して、車載ネットワーク差分結果ログファイル124の出力データ702へ書き込む。ステップS2003を具体例を挙げて説明する。 Returning to FIG. 20, the processor 101 sets the received data of the read data 2200 to the received data in the transmission / reception ID data buffer 132, and writes the received data to the output data 702 of the vehicle-mounted network difference result log file 124. Step S2003 will be described with a specific example.

図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 processor 101 transmits 1Bite data 304 (received data) of the entry in which the transmission / reception 303 is "received" in the read data 2200, and 1Byte data 402 of the entry in which the ID 302 and the transmission / reception 303 in the transmission / reception ID data buffer 132 match. Overwrite to.

図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 1Byte data 402 of the entry in which the ID 302 of the transmission / reception ID data buffer 132 is “AAA” and the transmission / reception 303 is “reception” is “AAA”, and the ID 302 of the read data 2200 is “AAA”. In addition, the value "01" of 1Byte data 304 of the entry in which transmission / reception 303 is "reception" is overwritten.

送受信IDデータバッファ132のID302が「BBB」でかつ送信/受信303が「受信」であるエントリの1Byteデータ402の値「00」が、読込データ2200のID302が「BBB」でかつ送信/受信303が「受信」であるエントリの1Byteデータ304の値「10」に上書きされる。 The value "00" of 1Byte data 402 of the entry in which the ID 302 of the transmission / reception ID data buffer 132 is "BBB" and the transmission / reception 303 is "reception" is the value "00" of the read data 2200, and the ID 302 of the read data 2200 is "BBB" and the transmission / reception 303. Is overwritten by the value "10" of 1Byte data 304 of the entry for which is "received".

送受信IDデータバッファ132のID302が「CCC」でかつ送信/受信303が「受信」であるエントリの1Byteデータ402の値「00」が、読込データ2200のID302が「CCC」でかつ送信/受信303が「受信」であるエントリの1Byteデータ304の値「02」に上書きされる。これにより、読込データ2200内の受信データが送受信IDデータバッファ132に設定される。 The value "00" of 1Byte data 402 of the entry in which the ID 302 of the transmission / reception ID data buffer 132 is "CCC" and the transmission / reception 303 is "reception" is the value "00" of the read data 2200, and the ID 302 of the read data 2200 is "CCC" and the transmission / reception 303. Is overwritten by the value "02" of 1Byte data 304 of the entry in which is "received". As a result, the received data in the read data 2200 is set in the transmission / reception ID data buffer 132.

図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 processor 101 writes the read data 2200 to the ID 302, the transmission / reception 303, and the output data 702 of the vehicle-mounted network difference result log file 124. Further, the processor 101 writes 0.011 [s], which is the ECU software execution time 2102, in the transmission / reception time 301 of the entry written in the vehicle-mounted network difference result log file 124. As a result, the transmission / reception time 301 of the read data 1200 coincides with the transmission / reception time 301 of the vehicle-mounted network difference result log file 124. Returning to FIG. 20, the processor 101 calls the difference comparison module 160 (step S2004).

図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 difference comparison module 160. The processor 101 compares the read transmission data with the transmission data in the transmission / reception ID data buffer 132 using the ID 302 as a key (step S2501). When there is no difference (step S2502: No), the read transmission data is written to the output data 702 of the in-vehicle network difference result log file 124, and "OK" is written in the collation result 701 of the corresponding entry (step S2503). The process proceeds to step S2005. Steps S2501 to S2503 will be described with reference to specific examples.

図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 / reception 303 is "transmission" in the read data 2200. Specifically, for example, the processor 101 uses the value "XXX" of the ID 302 as a key to form an entry 2601 indicating the transmission data in the read data 2200 and an entry 2602 indicating the transmission data in the transmission / reception ID data buffer 132. Compare (step S2501).

この場合、エントリ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-byte data 304 of the entry 2601 and the 1-byte data 402 of the entry 2602 match (step S2502: No). Therefore, the processor 101 writes the matching transmission data to the ID 302, the transmission / reception 303, and the output data 702 of the vehicle-mounted network difference result log file 124, and writes "OK" to the matching result 701 of the written entry. Further, the processor 101 writes 0.011 [s], which is the ECU software execution time 2102, in the transmission / reception time of the entry written in the vehicle-mounted network difference result log file 124 (step S2503).

図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 processor 101 uses the value “YYY” of the ID 302 as a key to compare the entry 2701 indicating the transmission data in the read data 2200 with the entry 2702 indicating the transmission data in the transmission / reception ID data buffer 132. (Step S2501).

この場合、エントリ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-byte data 304 of the entry 2701 and the 1-byte data 402 of the entry 2702 match (step S2502: No). Therefore, the processor 101 writes the matching transmission data to the ID 302, the transmission / reception 303, and the output data 702 of the vehicle-mounted network difference result log file 124, and writes "OK" to the matching result 701 of the written entry. Further, the processor 101 writes 0.011 [s], which is the ECU software execution time 2102, in the transmission / reception time 301 of the entry written in the vehicle-mounted network difference result log file 124 (step S2503).

図20に戻り、プロセッサ101は、車載ネットワークシミュレーションログファイル122に未処理のログがあるか否かを判断する(ステップS2005)。未処理のログとは、ステップS2002で読み込まれていない車載ネットワークシミュレーションログである。 Returning to FIG. 20, the processor 101 determines whether or not there is an unprocessed log in the vehicle-mounted network simulation log file 122 (step S2005). The unprocessed log is an in-vehicle network simulation log that has not been read in step S2002.

未処理のログがある場合(ステップ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 log reproduction process 2 ends. In FIG. 22, since the entry that has not been read as the read data 2200 still exists in the vehicle-mounted network simulation log file 122, the process proceeds to step S2006.

ステップS2006では、プロセッサ101は、変更後ECUソフトウェア142を実行する(ステップS2006)。ステップS2006を具体例を挙げて説明する。 In step S2006, the processor 101 executes the modified ECU software 142 (step S2006). Step S2006 will be described with a specific example.

図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 processor 101 reads the received data in the transmission / reception ID data buffer 132, and executes one cycle of the ECU software 142 after the change. Specifically, for example, the processor 101 enters 1 Byte data 402 (“01”, “10”, “02”) of the entry in which the transmission / reception 303 of the transmission / reception ID data buffer 132 is “reception”, respectively. It is read as received data from ID 302 (AAA, BBB, CCC) of.

プロセッサ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 processor 101 writes the execution result of the changed ECU software 142 into the transmission / reception ID data buffer 132. The execution result of the changed ECU software 142 is the transmission data inside the changed ECU software 142. Here, for example, the ID 302 is the 1-byte data (“30”, “00”) transmitted to the ECUs of XXX and YYY. To do. Therefore, the processor 101 writes "30" and "00" in the 1Bite data 402 of the entry whose ID 302 is XXX and YYY.

図20に戻り、プロセッサ101は、前回ECUソフトウェア実行時間2101およびECUソフトウェア実行時間2102をそれぞれ更新し(ステップS2007)、ステップS2002に戻る。ステップS2007を具体例を挙げて説明する。 Returning to FIG. 20, the processor 101 updates the previous ECU software execution time 2101 and the ECU software execution time 2102 (step S2007), and returns to step S2002. Step S2007 will be described with a specific example.

図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 software execution time 2101. That is, in the next execution of the pre-change ECU software 141, the ECU software execution time 2102 becomes the previous ECU software execution time 2101.

プロセッサ101は、前回ECUソフトウェア実行時間2101をECUソフトウェア実行時間2102で更新する。たとえば、前回ECUソフトウェア実行時間2101が0.001[s]で、ECUソフトウェア実行時間2102が0.011[s]であれば、更新後の前回ECUソフトウェア実行時間2901は、0.011[s]になる。 The processor 101 updates the previous ECU software execution time 2101 with the ECU software execution time 2102. For example, if the previous ECU software execution time 2101 is 0.001 [s] and the ECU software execution time 2102 is 0.011 [s], the updated previous ECU software execution time 2901 is 0.011 [s]. become.

(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 software execution time 2102. The processor 101 updates the value of the ECU software execution time 2102 from 0.011 [s] to 0.021 [s] by adding the ECU software execution cycle time 1100 to the ECU software execution time 2102. The updated ECU software execution time 2102 is set to the ECU software execution time 2902.

これにより、ステップS2002では、プロセッサ101は、車載ネットワークシミュレーションログファイル122から、送受信時間301が、前回ECUソフトウェア実行時間2901よりも大きく、かつ、ECUソフトウェア実行時間2902以下の範囲内のデータを読み込むことになる。 As a result, in step S2002, the processor 101 reads data from the vehicle-mounted network simulation log file 122 within a range in which the transmission / reception time 301 is larger than the previous ECU software execution time 2901 and the ECU software execution time is 2902 or less. become.

図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 simulation log file 122, the transmission / reception time 301 is within the range of 0.011 [s], which is the previous ECU software execution time 2901, and 0.021 [s] or less, which is the ECU software execution time 2902. The entry of is read as read data 3000.

図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 processor 101 transmits 1Bite data 304 (received data) of the entry in which the transmission / reception 303 is "received" among the read data 3000, and 1Byte data 402 of the entry in which the ID 302 and the transmission / reception 303 in the transmission / reception ID data buffer 132 match. Overwrite to.

図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 1Byte data 402 of the entry in which the ID 302 of the transmission / reception ID data buffer 132 is “AAA” and the transmission / reception 303 is “reception” is “AAA”, and the ID 302 of the read data 1700 is “AAA”. In addition, the value "05" of 1Byte data 304 of the entry in which transmission / reception 303 is "reception" is overwritten.

送受信IDデータバッファ132のID302が「BBB」でかつ送信/受信303が「受信」であるエントリの1Byteデータ402の値「10」が、読込データ1700のID302が「BBB」でかつ送信/受信303が「受信」であるエントリの1Byteデータ304の値「20」に上書きされる。これにより、読込データ3000内の受信データが送受信IDデータバッファ132に設定される。 The value "10" of 1Byte data 402 of the entry in which the ID 302 of the transmission / reception ID data buffer 132 is "BBB" and the transmission / reception 303 is "reception" is that the ID 302 of the read data 1700 is "BBB" and the transmission / reception 303 Is overwritten by the value "20" of 1Byte data 304 of the entry in which is "received". As a result, the received data in the read data 3000 is set in the transmission / reception ID data buffer 132.

図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 processor 101 writes the read data 3000 to the ID 302, the transmission / reception 303, and the output data 702 of the vehicle-mounted network difference result log file 124. Further, the processor 101 writes 0.021 [s], which is the ECU software execution time 2902, in the transmission / reception time 301 of the entry written in the vehicle-mounted network difference result log file 124. As a result, the transmission / reception time of the read data 1200 matches the transmission / reception time of the in-vehicle network difference result log file 124. Returning to FIG. 20, the processor 101 calls the difference comparison module 160 (step S2004).

図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 processor 101 writes out the data compared with the output data 702 and the input data 703 of the in-vehicle network difference result log file 124, and collates the result 701 in the corresponding entry. "NG" is written out as (step S2504).

そして、プロセッサ101は、車載ネットワーク台帳123から差分箇所となるID302および位置を特定し、車載ネットワーク差分結果ログファイル124に不一致信号名704を追記し、不一致信号リスト結果ファイル125のNGデータ件数801および不一致信号リスト802を更新する(ステップS2505)。そして、図20のステップS2005に移行する。ステップS2501、S2502、S2504、S2505を具体例を挙げて説明する。 Then, the processor 101 identifies the ID 302 and the position to be the difference points from the in-vehicle network ledger 123, adds the mismatch signal name 704 to the in-vehicle network difference result log file 124, and adds the mismatch signal name 704 and the number of NG data 801 of the mismatch signal list result file 125 and The mismatch signal list 802 is updated (step S2505). Then, the process proceeds to step S2005 of FIG. Steps S2501, S2502, S2504, and S2505 will be described with reference to specific examples.

図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 / reception 303 is "transmission" among the read data 3000. Specifically, for example, the processor 101 uses the value "XXX" of the ID 302 as a key to generate an entry 3301 indicating the transmission data in the read data 3000 and an entry 3302 indicating the transmission data in the transmission / reception ID data buffer 132. Compare (step S2501).

この場合、エントリ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-byte data 304 of the entry 3301 and the 1-byte data 402 of the entry 3302 do not match (step S2502: Yes). Therefore, the processor 101 writes the key ID 302 and the “transmission” of the transmission / reception 303 in the vehicle-mounted network difference result log file 124, and in the output data 702, the “33” of the 1Byte data 402 of the entry 3302 and the input data 703. “30” of 1Byte data 304 of entry 3301 is written, and “NG” is written in the collation result 701 of the written entry. Further, the processor 101 writes 0.021 [s], which is the ECU software execution time 2902, in the transmission / reception time of the entry 3303 written in the vehicle-mounted network difference result log file 124 (step S2504).

図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 processor 101 identifies the ID 302 to be referred to in the in-vehicle network ledger 123 from the ID 302 of the entry whose collation result 701 is NG, and the output data 702 (or input data) of the entry whose collation result 701 is NG. From 703), the position 602 to be referred to in the in-vehicle network ledger 123 is specified. In FIG. 34, the entry 3400 whose ID 302 is “XXX”, whose position is “0” Byte, “0” Bit, and whose bit width 603 is “8” is specified. The processor 101 acquires the signal name 604 from the entry 3400, and adds the acquired signal name to the mismatched signal name 704 of the entry 3303 whose collation result 701 is NG.

図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 processor 101 further updates the NG data number 801 and the mismatch signal list 802 of the mismatch signal list result file 125. This time, since entry 3303 is detected as an entry whose collation result 701 is NG, the number of NG data 801 is updated from "0" to "1". Further, an entry consisting of the ID 302, the position, the bit width, and the signal name of the entry 3400 specified in the in-vehicle network ledger 123 is added to the mismatch signal list 802. Since the transmission data includes one or more signals, the number of entries in the mismatch signal list 802 may be larger than the number of NG data items 801.

上述した実施例にかかる等価検証方法は、下記(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 processor 101 for executing the program and the storage device 102 for storing the program includes data transmitted and received by the processor 101 to and from the ECU group. Based on the in-vehicle network log file 121 that recorded the transmission / reception time 301 of the data, the target ECU transmitted / received to / from the ECU group by executing the first simulation regarding the unchanged ECU software that realizes the function of the target ECU. The first generation process (vehicle-mounted network log reproduction module 151) that generates the in-vehicle network simulation log file 122 that records the software execution time in each of the data and the transmission / reception time 301 of the data, and the in-vehicle network generated by the first generation process. Based on the simulation log file 122, the target ECU transmits to the destination ECU in the ECU group during the software execution time by executing the second simulation regarding the changed ECU software that realizes the same function as the pre-change ECU software. The second generation process (vehicle-mounted network log reproduction module 152) that generates transmission data indicating that, the transmission data generated by the second generation process, and the fact that the target ECU has transmitted to the previous transmission destination ECU during the software execution time. The collation process (difference comparison module 160) that collates the transmitted data in the in-vehicle network simulation log file 122 shown and outputs the collation result 701 is executed.

(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 processor 101 outputs information indicating that there is no difference between the two transmission data as the collation result 701.

(4)上記(1)において、照合処理では、プロセッサ101は、両送信データに差分があると判定した場合、照合結果701として両送信データに差分があることを示す情報を出力する。 (4) In the above (1), in the collation process, when the processor 101 determines that there is a difference between the two transmission data, the processor 101 outputs information indicating that there is a difference between the two transmission data as the collation result 701.

(5)上記(1)において、第2生成処理では、プロセッサ101は、送信データと、照合結果701と、を関連付けた車載ネットワーク差分結果ログファイル124を生成する。 (5) In the second generation process in (1) above, the processor 101 generates an in-vehicle network difference result log file 124 in which the transmission data and the collation result 701 are associated with each other.

(6)上記(5)において、第2生成処理では、プロセッサ101は、照合結果701が両送信データに差分があることを示す情報である場合、照合結果701の件数(NGデータ件数801)を出力する。 (6) In the second generation process in the above (5), when the collation result 701 is information indicating that there is a difference between both transmission data, the processor 101 determines the number of collation results 701 (NG data number 801). Output.

(7)上記(5)において、プロセッサ101は、ECU群の各々のECUと、対象ECUからECUに送信されるデータに含まれる信号の名称と、を対応付けた車載ネットワーク台帳123にアクセス可能であり、第2生成処理では、プロセッサ101は、照合結果701が両送信データに差分があることを示す情報である場合、車載ネットワーク台帳123を参照して、送信データに対応する特定の信号の名称を取得し、送信データと照合結果701と特定の信号の名称とを関連付けて車載ネットワーク差分結果ログファイル124を生成する。 (7) In the above (5), the processor 101 can access the in-vehicle network ledger 123 in which each ECU of the ECU group and the name of the signal included in the data transmitted from the target ECU to the ECU are associated with each other. Yes, in the second generation process, when the collation result 701 is information indicating that there is a difference between the two transmission data, the processor 101 refers to the in-vehicle network ledger 123 and names the specific signal corresponding to the transmission data. Is acquired, and the in-vehicle network difference result log file 124 is generated by associating the transmission data with the collation result 701 and the name of a specific signal.

(8)上記(7)において、車載ネットワーク台帳123は、さらに、信号が示す値のデータ内位置を対応付けており、第2生成処理では、プロセッサ101は、車載ネットワーク台帳123を参照して、送信データが示す値が位置する特定のデータ内位置と、特定の信号の名称と、を取得し、送信データと照合結果701と特定の信号の名称と特定のデータ内位置とを関連付けて車載ネットワーク差分結果ログファイル124を生成する。 (8) In the above (7), the vehicle-mounted network ledger 123 further associates the position in the data of the value indicated by the signal, and in the second generation process, the processor 101 refers to the vehicle-mounted network ledger 123 and refers to the vehicle-mounted network ledger 123. The in-vehicle network acquires the specific data position where the value indicated by the transmission data is located and the specific signal name, and associates the transmission data with the collation result 701, the specific signal name, and the specific data position. Generate the difference result log file 124.

なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。 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 processor 101 performs each function. It may be realized by software by interpreting and executing the program to be realized.

各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、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 Equivalence verification device 101 Processor 102 Storage device 111 ECU group 121 In-vehicle network log file 122 In-vehicle network simulation log file 123 In-vehicle network ledger 124 In-vehicle network difference result log file 125 Mismatch signal list result file 130 Transmission / reception ID data buffer 141 Before change ECU software 142 After change ECU software 150 In-vehicle network log playback module 160 Difference comparison module 801 NG data number 802 Mismatch signal list

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.
請求項1に記載の等価検証方法であって、
前記第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.
請求項1に記載の等価検証方法であって、
前記照合処理では、前記プロセッサは、前記両送信データに差分がない判定した場合、前記照合結果として前記両送信データに差分がないことを示す情報を出力する、
ことを特徴とする等価検証方法。
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.
請求項1に記載の等価検証方法であって、
前記照合処理では、前記プロセッサは、両送信データに差分があると判定した場合、前記照合結果として前記両送信データに差分があることを示す情報を出力する、
ことを特徴とする等価検証方法。
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.
請求項1に記載の等価検証方法であって、
前記第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.
請求項5に記載の等価検証方法であって、
前記第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.
請求項5に記載の等価検証方法であって、
前記プロセッサは、前記制御装置群の各々の制御装置と、前記対象制御装置から前記制御装置に送信されるデータに含まれる信号の名称と、を対応付けた対応情報にアクセス可能であり、
前記第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.
請求項7に記載の等価検証方法であって、
前記対応情報は、さらに、前記信号が示す値のデータ内位置を対応付けており、
前記第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.
JP2019227216A 2019-12-17 2019-12-17 Equivalence verification method and equivalence verification program Active JP7177032B2 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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