JP7211135B2 - 情報処理装置、情報処理方法及び情報処理システム - Google Patents

情報処理装置、情報処理方法及び情報処理システム Download PDF

Info

Publication number
JP7211135B2
JP7211135B2 JP2019023033A JP2019023033A JP7211135B2 JP 7211135 B2 JP7211135 B2 JP 7211135B2 JP 2019023033 A JP2019023033 A JP 2019023033A JP 2019023033 A JP2019023033 A JP 2019023033A JP 7211135 B2 JP7211135 B2 JP 7211135B2
Authority
JP
Japan
Prior art keywords
file
definition
definition information
information
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019023033A
Other languages
English (en)
Other versions
JP2020134982A (ja
Inventor
博文 安藤
章弘 小高
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co 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 Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP2019023033A priority Critical patent/JP7211135B2/ja
Publication of JP2020134982A publication Critical patent/JP2020134982A/ja
Application granted granted Critical
Publication of JP7211135B2 publication Critical patent/JP7211135B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Description

本発明は、情報処理装置、情報処理方法及び情報処理システムに関する。
自動車開発では、車載ECU(Electronic Control Unit)内のデータの測定し、この測定結果から各種パラメータをキャリブレーションする試験が行われている。このようなデータ測定及びキャリブレーションでは、測定やキャリブレーションに関する情報を定義するファイルであるA2Lファイルを入力とした測定/適合ツールが用いられる。A2Lファイルの記述形式はASAM(Association for Standardisation of Automation and Measuring Systems)のASAM-MCD-2MCで規格化されており、自動車業界では事実上の標準として広く採用されている。なお、キャリブレーション又はキャリブレーションを行う試験工程は「適合」や「マッチング」とも称される。
A2Lファイルの中には測定データの定義が含まれており、変数名、データ型(1~4byte)、アドレス等が指定される。A2Lファイルを作成するためのツール(以降、「A2Lファイル作成ツール」とも表す。)は様々なソフトウェアベンダー等から販売又は配布されており、一般に、これらのツールを使用してA2Lファイルが作成される。
ここで、これらのA2Lファイル作成ツールでは、一般に、C言語で記述されたソースコード(以降、「Cソースコード」とも表す。)内のコメントに基づいてA2Lファイルを作成した後、MAPファイルに基づいてアドレスやデータ型等の情報を更新している。なお、MAPファイルとは、Cソースコードのビルド(つまり、コンパイル及びリンク)により作成され、プログラムや変数のメモリ配置の情報(例えば、配置セクション、アドレス、サイズ等)が出力されたファイルのことである。
しかしながら、変数のデータ型が構造体型や共用体型である場合、この変数の先頭アドレスと全体のサイズのみがMAPファイルに出力され、構造体のメンバの情報や共用体のメンバの情報はMAPファイルに出力されない。このため、A2Lファイルの測定データ定義として構造体型や共用体型の変数を定義したい場合、MAPファイルの情報では情報不足であるため、A2Lファイルを手動で編集する必要がある。
なお、構造体や共用体のメンバの情報を得る技術として、デバッグ情報を利用する技術(例えば特許文献1)やMAPファイルを変換する技術(例えば特許文献2)が知られている。
特開2016-128961号公報 国際公開第2014/178255号
しかしながら、車載ECUの測定データ数は膨大であることが多いため、A2Lファイルを手動で編集するには多大な手間と時間とを必要とすると共に、編集誤りも発生し易い。
他方で、例えば特許文献1に記載されている技術ではデバッグ情報を利用するため、デバッグ情報が出力されない場合には構造体や共用体のメンバの情報を得ることができない。また、例えば特許文献2に記載されている技術ではMAPファイルを変換した後、A2Lファイル作成ツールを用いてA2Lファイルを作成する必要がある。
本発明は、上記の点に鑑みてなされたもので、A2Lファイルを容易に作成可能とすることを目的とする。
上記目的を達成するため、本発明の実施の形態における情報処理装置は、車載ECUの各種データを測定するための定義ファイルを作成する情報処理装置であって、所定のプログラミング言語で記述された電子ファイルを入力として、前記電子ファイルの記述を解析して、構造体型のデータ型定義の宣言に関する情報を示す構造体定義情報を作成する構造体解析手段と、前記電子ファイルのビルドにより作成されたMAPファイルと、前記構造体定義情報とを入力として、前記MAPファイルを解析して、該解析結果と前記構造体定義情報とから、測定対象のデータをそれぞれ表す構造体メンバの定義に関する情報を示す測定データ定義情報を作成するMAP解析手段と、前記測定データ定義情報と、前記定義ファイルの雛形とを入力として、前記測定データ定義情報を用いて前記雛形を更新することで、前記定義ファイルを作成するファイル作成手段と、を有する。
A2Lファイルを容易に作成可能となる。
本実施形態に係る試験システムの全体構成の一例を示す図である。 本実施形態に係る試験装置のハードウェア構成の一例を示す図である。 本実施形態に係る試験装置の機能構成の一例を示す図である。 測定データ定義の記述形式の一例を示す図である。 A2Lファイルの作成処理の一例を示すフローチャートである。 構造体定義情報の一例を示す図である。 共用体定義情報の一例を示す図である。 データ型定義情報の一例を示す図である。 測定データ定義情報の作成処理の一例を示すフローチャートである。 測定データ定義情報の一例を示す図である。 構造体メンバ又は共用体メンバの測定データ定義情報の作成処理の一例を示すフローチャートである。 測定データ定義の一例を示す図である。
以下、本発明の実施の形態(以降、「本実施形態」と表す。)について、図面を参照しながら詳細に説明する。本実施形態では、車載ECU内のデータ測定及び車載ECUに搭載(インストール)されたプログラムの各種パラメータのキャリブレーションを行う試験に用いられる試験システム1について説明する。上述したように、この試験では、A2Lファイルを入力とした測定/適合ツールが用いられる。
本実施形態に係る試験システム1では、測定対象データを表す変数のデータ型が構造体型や共用体型であっても、CソースコードとCヘッダファイルとMAPファイルとから、上記の試験を行うためのA2Lファイルを自動的に作成する。これにより、上記の試験を行うにあたり、A2Lファイルを容易に、かつ、短時間に作成可能とする。なお、Cヘッダファイルとは、C言語で記述されたヘッダファイルのことである。ヘッダファイルには、例えば、構造体型や共用体型の宣言(定義)やサブルーチンの宣言等が記述される。
以降で説明する実施形態では、ソースコード及びヘッダファイルはC言語で記述されているものとするが、プログラミング言語はC言語に限られない。本実施形態は、C言語以外の任意の言語(例えば、C++言語等)でソースコード及びヘッダファイルが記述されている場合にも適用可能である。
<試験システム1の全体構成>
まず、本実施形態に係る試験システム1の全体構成について、図1を参照しながら説明する。図1は、本実施形態に係る試験システム1の全体構成の一例を示す図である。
図1に示すように、本実施形態に係る試験システム1には、試験装置10と、車載ECU20とが含まれる。また、試験装置10と車載ECU20とは、例えばLAN(Local Area Network)等の通信ネットワークを介して通信可能に接続される。
試験装置10は、車載ECU20のデータ測定及びキャリブレーション試験に用いられるPC(パーソナルコンピュータ)等の情報処理装置である。試験装置10には、ビルドツール100と、ファイル作成プログラム200と、測定/適合ツール300とが搭載(インストール)されている。また、試験装置10は、記憶部400を有する。
ビルドツール100は、記憶部400に記憶されているCソースコード及びCヘッダファイルをビルド(つまり、コンパイル及びリンク)して、車載ECU20に搭載(インストール)される実行可能プログラム(後述する制御プログラム500)を作成する。また、Cソースコード及びCヘッダファイルをビルドすることで、ビルドツール100は、MAPファイルも作成する。なお、試験装置10には、ビルドツール100の代わりに、コンパイラと、リンカとが搭載(インストール)されていてもよい。
ファイル作成プログラム200は、Cソースコードと、Cヘッダファイルと、MAPファイルとを入力として、測定データ定義が含まれるA2Lファイルを作成する。このとき、ファイル作成プログラム200は、測定対象データを表す変数のデータ型として構造体型や共用体型が定義されている場合には、構造体や共用体のメンバの測定データ定義も含むA2Lファイルを作成する。以降では、構造体のメンバ及び共用体のメンバをそれぞれ「構造体メンバ」及び「共用体メンバ」とも表す。
なお、共用体は全てのメンバのオフセットが0である構造体(つまり、全てのメンバの先頭アドレスが、共用体の先頭バイトから始まる構造体)と見做すこともできるため、構造体と共用体とを区別せずに、共用体も含めて「構造体」と表現することも可能である。
測定/適合ツール300は、A2Lファイルを入力として、車載ECU20内のデータ測定(より正確には、車載ECU20に搭載(インストール)された制御プログラム500が制御しているデータの測定)と、この測定結果を用いた各種パラメータのキャリブレーションとを行う。
記憶部400は、1以上のCソースコードと、1以上のCヘッダファイルとが記憶されている。記憶部400には、これ以外にも、各種情報(例えば、ファイル作成プログラム200により作成されたA2Lファイル、このA2Lファイルを作成するために必要な情報等)が記憶されてもよい。
なお、試験装置10は、PCに限られず、例えば、スマートフォンやタブレット端末等の情報処理装置であってもよい。また、試験装置10も車両に搭載されていてもよい。
車載ECU20は、車両に搭載された制御装置である。車両ECU20にはビルドツール100によって作成された制御プログラム500が搭載(インストール)されており、制御プログラム500によって車両を構成する各種機能又は装置(例えば、ヘッドライトやエアコン、エンジン、トランスミッション、エアバッグ、車線維持システム、車間距離制御システム等)が制御される。
なお、図1に示す試験システム1の構成は一例であって、他の構成であってもよい。例えば、試験システム1には、複数の試験装置10が含まれていてもよいし、複数の車両にそれぞれ搭載された車載ECU20が含まれていてもよい。また、試験装置10は複数の装置に分けられてもよい。例えば、試験装置10は、ビルドツール100とファイル作成プログラム200と記憶部400とを有する装置(例えばファイル作成装置)と、測定/適合ツール300を有する装置(例えば試験実行装置)とに分けられてもよい。
<試験装置10のハードウェア構成>
次に、本実施形態に係る試験装置10のハードウェア構成について、図2を参照しながら説明する。図2は、本実施形態に係る試験装置10のハードウェア構成の一例を示す図である。
図2に示すように、本実施形態に係る試験装置10は、ハードウェアとして、入力装置11と、表示装置12と、外部I/F13と、通信I/F14と、ROM(Read Only Memory)15と、RAM(Random Access Memory)16と、CPU(Central Processing Unit)17と、補助記憶装置18とを有する。これら各ハードウェアは、バス19により相互に通信可能に接続されている。
入力装置11は、例えば各種ボタンやタッチパネル、キーボード、マウス等であり、試験装置10に各種操作を入力するのに用いられる。表示装置12は、例えばディスプレイ等であり、試験装置10による各種の処理結果を表示する。
外部I/F13は、外部装置とのインタフェースである。外部装置には、記録媒体13a等がある。試験装置10は、外部I/F13を介して、記録媒体13aの読み取りや書き込み等を行うことができる。記録媒体13aには、例えば、SDメモリカード(SD memory card)やUSBメモリ、CD(Compact Disk)、DVD(Digital Versatile Disk)等がある。
通信I/F14は、試験装置10が他の装置(例えば、車載ECU20等)とデータ通信を行うためのインタフェースである。
ROM15は、電源を切ってもデータを保持することができる不揮発性の半導体メモリである。RAM16は、プログラムやデータを一時保持する揮発性の半導体メモリである。CPU17は、例えば補助記憶装置18やROM15からプログラムやデータをRAM16上に読み出して、各種処理を実行する演算装置である。
補助記憶装置18は、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)等であり、プログラムやデータを格納している不揮発性のメモリである。補助記憶装置18に格納されているプログラムやデータには、例えば、基本ソフトウェアであるOS(Operating System)、OS上で動作する各種アプリケーションプログラム、ビルドツール100、ファイル作成プログラム200、及び測定/適合ツール300等がある。なお、記憶部400は、例えば補助記憶装置18を用いて実現可能である。
本実施形態に係る試験装置10は、図2に示すハードウェア構成を有することにより、後述する各種処理を実現することができる。なお、図2では、試験装置10が1台のコンピュータ(情報処理装置)で実現される場合のハードウェア構成例を示したが、これに限られない。試験装置10は、例えば、複数台のコンピュータ(情報処理装置)で実現されていてもよい。
<試験装置10の機能構成>
次に、本実施形態に係る試験装置10の機能構成について、図3を参照しながら説明する。図3は、本実施形態に係る試験装置10の機能構成の一例を示す図である。
図3に示すように、本実施形態に係る試験装置10は、機能部として、構造体解析部201と、データ型解析部202と、MAP解析部203と、ファイル作成部204とを有する。これらの各機能部は、ファイル作成プログラム200がCPU17に実行させる処理により実現される。
構造体解析部201は、記憶部400に記憶されているCソースコード及びCヘッダファイルを入力として、Cソースコード及びCヘッダファイルを解析して、構造体定義情報及び共用体定義情報を作成する。ここで、構造体定義情報とは、構造体型の宣言として記述された情報(構造体のタグ名、メンバのデータ型、及びメンバ名)と、測定データ定義として記述される情報のうちの所定の情報(例えば、「説明」、「変換方法」、「分解能」、「精度」、「最小リミット値」、及び「最大リミット値」)とを対応付けた情報である。同様に、共用体定義情報とは、共用体型の宣言で記述された情報(共用体のタグ名、メンバのデータ型、メンバ名)と、測定データ定義として記述される情報のうちの所定の情報とを対応付けた情報である。構造体定義情報及び共用体定義情報の具体例については後述する。また、測定データ定義の記述形式については後述する。
ここで、構造体型は以下の形式で宣言される。
struct タグ名{
メンバ1のデータ型 メンバ1のメンバ名;
メンバ2のデータ型 メンバ3のメンバ名;
・・・
メンバnのデータ型 メンバnのメンバ名;
};
同様に、共用体は以下の形式で宣言される。
union タグ名{
メンバ1のデータ型 メンバ1のメンバ名;
メンバ2のデータ型 メンバ3のメンバ名;
・・・
メンバnのデータ型 メンバnのメンバ名;
};
データ型解析部202は、記憶部400に記憶されているCソースコードを入力として、Cソースコードを解析して、データ型定義情報を作成する。ここで、データ型定義情報とは、変数(構造体型又は共用体型の変数も含む)の宣言として記述された情報(変数のデータ型及び変数名)と、測定データ定義として記述される情報のうちの所定の情報とを対応付けた情報である。データ型定義情報の具体例については後述する。
ここで、構造体型及び共用体型でない変数は以下の形式で宣言される。
データ型 変数名;
一方で、構造体型の変数は以下の形式で宣言される。
struct タグ名 変数名;
同様に、共用体型の変数は以下の形式で宣言される。
union タグ名 変数名;
MAP解析部203は、MAPファイルと、構造体定義情報と、共用体定義情報と、データ型定義情報とを入力として、MAPファイルを解析して、測定データ定義情報を作成する。ここで、測定データ定義情報とは、測定データ定義と同様のデータ項目(すなわち、「データ名」、「説明」、「データ型」、「変換方法」、「分解能」、「精度」、「最小リミット値」、「最大リミット値」、及び「アドレス」)が含まれる情報である。測定データ定義情報の具体例については後述する。なお、MAPファイルは、記憶部400に記憶されているCソースコード及びCヘッダファイルをビルドツール100がビルドすることで出力される。
ファイル作成部204は、測定データ定義情報と、A2Lテンプレートとを入力として、A2Lファイルを作成する。ここで、A2Lテンプレートとは、A2Lファイルに含まれる種々の定義のテンプレート(雛形)がASCII(American Standard Code for Information Interchange)テキストで記述された電子ファイルである。ファイル作成部204は、A2Lテンプレートの測定データ定義部分の雛形を、測定データ定義情報から作成される測定データ定義で更新することで、A2Lファイルを作成する。
<測定データ定義の記述形式>
ここで、測定データ定義の記述形式について、図4を参照しながら説明する。図4は、測定データ定義の記述形式の一例を示す図である。この記述形式は、ASAM-MCD-2MCで規格化されている。
図4に示すように、測定データ定義では、「/begin MEASUREMENT」と「/end MESUREMENT」との間に、「Name」と、「LongIdentifer」と、「Datatype」と、「Conversion」と、「Resolution」と、「Accuracy」と、「Lower limit」と、「Upper limit」と、「ECU_ADDRESS」とが定義される。
図4に示すように、「Name」は測定データの名前、「LongIdentifer」は説明、「Datatype」はデータ型、「Conversion」は変換方式、「Resolution」は分解能、「Accuracy」は精度、「Lower limit」は最小リミット値、「Upper limit」は最大リミット値、「ECU_ADDRESS」はアドレス(測定データのアドレス)をそれぞれ表す。
なお、A2Lファイルでは、測定対象のデータを表す変数(構造体メンバ及び共用体メンバも含む。)毎に、測定データ定義が定義されている必要ある。
<A2Lファイルの作成処理>
以降では、Cソースコード及びCヘッダファイルの少なくとも一方に構造体型や共用体型が宣言されており、かつ、Cソースコード中に構造体型の変数や共用体型の変数が宣言されているものとして、A2Lファイルを作成する処理について、図5を参照しながら説明する。図5は、A2Lファイルの作成処理の一例を示すフローチャートである。図5のA2Lファイルの作成処理は、例えば、試験装置10のユーザによってファイル作成プログラム200が提供する所定のコマンド(例えば、A2Lファイルの作成開始コマンド)が実行されることで開始される。
以降では、記憶部400に記憶されているCソースコード及びCヘッダファイルがビルドツール100によってビルドされ、MAPファイルと制御プログラム500とが作成済であるものとする。なお、MAPファイルは、例えば、記憶部400に記憶しておけばよい。また、制御プログラム500は、例えば、記憶部400に記憶しておいてもよいし、車載ECU20にインストールしておいてもよい。
まず、構造体解析部201は、記憶部400に記憶されているCソースコード及びCヘッダファイルを入力として、Cソースコード及びCヘッダファイルを解析して、構造体定義情報及び共用体定義情報を作成する(ステップS101)。構造体解析部201は、構造体のメンバ毎に、当該構造体のタグ名と、メンバのデータ型と、メンバ名と、当該メンバのコメントとして記述された所定の情報(説明、変換方法、分解能、精度、最小リミット値、及び最大リミット値)とを対応付けることで、構造体定義情報を作成する。同様に、構造体解析部201は、共用体のメンバ毎に、当該共用体のタグ名と、メンバのデータ型と、メンバ名と、当該メンバのコメントとして記述された所定の情報(説明、変換方法、分解能、精度、最小リミット値、及び最大リミット値)とを対応付けることで、共用体定義情報を作成する。
説明、変換方法、分解能、精度、最小リミット値、及び最大リミット値をコメントとして記述する方法は、任意の方法を用いることができるが、例えば、以下のようにコメント内で、カンマで区切って記述すればよい。
メンバのデータ型 メンバのメンバ名; /*説明, 変換方法, 分解能, 精度, 最小リミット値, 最大リミット値, アドレス*/
具体的には、例えば、タグ名「T_DATE」、データ型UWORD、メンバ名yearに対して、説明「年」、変換方法「1」、分解能「1」、精度「0」、最小リミット値「1900」、最大リミット値「2200」をコメントとして記述する場合は、以下のように記述すればよい。
struct T_DATE{
UWORD year; /*年, 1, 1, 0, 1900, 2200*/
・・・
};
ここで、上記のステップS101で作成される構造体定義情報の一例を図6に示す。図6は、構造体定義情報の一例を示す図である。図6に示す例は、年、月、日、及び時刻のデータがそれぞれ格納される変数をメンバとする構造体(タグ名「T_DATE」)に対して、時、分、秒のデータがそれぞれ格納される変数をメンバとする構造体(タグ名「T_TIME」)が入れ子になっている例である。図6に示す各構造体定義情報は、例えば、以下の構造体型の宣言を解析した結果得られる。なお、UWORDは符号なし2バイトのデータ型を表す。
struct T_TIME{
UWORD hour; /*時, 1, 1, 0, 0, 23*/
UWORD min; /*分, 1, 1, 0, 0, 59*/
UWORD sec; /*秒, 1, 1, 0, 0, 59*/
};
struct T_DATE{
UWORD year; /*年, 1, 1, 0, 1900, 2200*/
UWORD month; /*月, 1, 1, 0, 1, 12*/
UWORD day; /*日, 1, 1, 0, 1, 31*/
T_TIME time; /*時刻*/
};
また、上記のステップS101で作成される共用体定義情報の一例を図7に示す。図7は、共用体定義情報の一例を示す図である。図7に示す例は、1バイトデータ、2バイトデータ、及び3バイトデータがそれぞれ格納される変数をメンバとする共用体(タグ名「T_CALC」)の例である。図7に示す各共用体定義情報は、例えば、以下の共用体型の宣言を解析した結果得られる。なお、UBYTEは符号なし1バイトのデータ型、ULONGは符号なし2バイトのデータ型を表す。
union T_CALC{
UBYTE ByteData; /*1バイトデータ, 1, 1, 0, 0, 0xFF*/
UWORD ShortData; /*2バイトデータ, 1, 1, 0, 0, 0xFFFF*/
ULONG LongData; /*3バイトデータ, 1, 1, 0, 0, 0xFFFFFFFF*/
};
なお、上記のステップS101では、構造体型及び共用体型でないメンバに対して、所定の情報(説明、変換方法、分解能、精度、最小リミット値、及び最大リミット値)がコメントとして付与されている場合について説明したが、例えば、構造体型及び共用体型でないメンバに対してコメントが付与されていない場合は、予めデフォルト値として設定されている値をそれぞれ説明、変換方法、分解能、精度、最小リミット値、及び最大リミット値とすればよい。又は、所定の情報のうちの一部の情報がコメントとして記述されていない場合についても同様に、この一部の情報のみをデフォルト値とすればよい。
次に、データ型解析部202は、記憶部400に記憶されているCソースコードを入力として、Cソースコードを解析して、データ型定義情報を作成する(ステップS102)。データ型解析部202は、構造体型及び共用体型でない変数毎に、当該変数のデータ型と、変数名と、当該変数のコメントとして記述された所定の情報(説明、変換方法、分解能、精度、最小リミット値、及び最大リミット値)とを対応付けることで、データ型定義情報を作成する。
ここで、上記のステップS102で作成されるデータ型定義情報の一例を図8に示す。図8は、データ型定義情報の一例を示す図である。図8に示す例は、4バイトデータが格納される変数と、構造体型であるT_DATE型の変数との例である。図8に示す各データ型定義情報は、例えば、以下の変数宣言を解析した結果得られる。
ULONG RunningTime; /*運転累積時間, 1, 1, 0, 0, 0xFFFFFFFF*/
struct T_DATE StartTime; /*運転開始時刻*/
なお、上記のステップS102では、構造体型及び共用体型でない変数に対して、所定の情報(説明、変換方法、分解能、精度、最小リミット値、及び最大リミット値)がコメントとして付与されている場合について説明したが、例えば、構造体型及び共用体型でない変数に対してコメントが付与されていない場合は、予めデフォルト値として設定されている値をそれぞれ説明、変換方法、分解能、精度、最小リミット値、及び最大リミット値とすればよい。又は、所定の情報のうちの一部の情報がコメントとして記述されていない場合についても同様に、この一部の情報のみをデフォルト値とすればよい。
また、Cヘッダファイル中に変数の宣言を記述することも可能であるため、上記のステップS102で、データ型解析部202は、Cソースコードに加えて、Cヘッダファイルも入力し、Cソースコード及びCヘッダファイルを解析してもよい。
ここで、上記のステップS101とステップS102とは順不同である。すなわち、上記のステップS102が実行された後に、上記のステップS101が実行されてもよい。
次に、MAP解析部203は、MAPファイルと、構造体定義情報と、共用体定義情報と、データ型定義情報とを入力として、MAPファイルを解析して、測定データ定義情報を作成する(ステップS103)。ここで、このステップS103の処理(測定データ定義情報の作成処理)の詳細について、図9を参照しながら説明する。図9は、測定データ定義情報の作成処理の一例を示すフローチャートである。
まず、MAP解析部203は、MAPファイルを解析して、MAPファイルに出力された変数を1つ抽出する(ステップS201)。
次に、MAP解析部203は、上記のステップS201で抽出した変数の配置セクションが指定セクションであるか否かを判定する(ステップS202)。ここで、指定セクションとは、測定対象のデータを表す変数が配置されるセクションとして予め指定されたセクションのことである。指定セクションは、ユーザにより指定されてもよいし、ファイル作成プログラム200の設定値として指定されていてもよい。
ステップS202で当該変数の配置セクションが指定セクションであると判定された場合、MAP解析部203は、データ型定義情報を解析して、当該変数のデータ型を特定する(ステップS203)。すなわち、MAP解析部203は、当該変数の変数名に対応するデータ型をデータ型定義情報から特定する。
次に、MAP解析部203は、上記のステップS203で特定したデータ型が構造体型又は共用体型であるか否かを判定する(ステップS204)。なお、MAP解析部203は、例えば、上記のステップS203でデータ型がタグ名として構造体定義情報又は共用体定義情報に含まれているか否かを判定することで、当該データ型が構造体型又は共用体型であるか否かを判定すればよい。
ステップS204で当該変数のデータ型が構造体型及び共用体型のいずれでもないと判定された場合、MAP解析部203は、当該変数の変数名に対応するデータ型をデータ型定義情報と、MAPファイルとを用いて、測定データ定義情報を作成する(ステップS205)。すなわち、MAP解析部203は、当該データ型定義情報に含まれる変数名をデータ名として、このデータ名と、当該データ型定義情報に含まれる説明、データ型、変換方法、分解能、精度、最小リミット値及び最大リミット値と、MAPファイルに出力された当該変数のアドレスとを対応付けることで、測定データ定義情報を作成する。これにより、例えば、上記のステップS201で抽出された変数の変数名が「RunningTime」である場合、図10に示す測定データ定義情報のうちの1行目の測定データ定義情報が作成される。
一方で、ステップS204で当該変数のデータ型が構造体型又は共用体型のいずれかであると判定された場合、MAP解析部203は、構造体定義情報又は共用体定義情報を解析して、測定データ定義情報を作成する(ステップS206)。これにより、当該変数の各メンバ(つまり、各構造体メンバ又は各共用体メンバ)に対して、これら各メンバそれぞれの測定データ定義情報が作成される。このステップS206の処理の詳細については後述する。
ステップS202で当該変数の配置セクションが指定セクションでないと判定された場合、又はステップS205若しくはステップS206に続いて、MAP解析部203は、MAPファイルから未抽出の変数があるか否かを判定する(ステップS207)。
そして、ステップS207で未抽出の変数があると判定された場合、MAP解析部203は、上記のステップS201に戻る。これにより、MAPファイルに出力された全ての変数に対して、上記のステップS202~ステップS206が繰り返し実行される。一方で、ステップS207で未抽出の変数がないと判定された場合、MAP解析部203は、測定データ定義情報の作成処理を終了する。
ここで、上記のステップS206の処理(構造体メンバ又は共用体メンバの測定データ定義情報の作成処理)の詳細について、図11を参照しながら説明する。図11は、構造体メンバ又は共用体メンバの測定データ定義情報の作成処理の一例を示すフローチャートである。
まず、MAP解析部203は、当該変数のデータ型に応じて、構造体定義情報又は共用体定義情報を解析して、メンバを1つ抽出する(ステップS301)。このとき、MAP解析部203は、当該変数のデータ型が構造体型である場合は構造体定義情報を解析して、当該変数の構造体メンバを1つ抽出し、当該変数のデータ型が共用体型である場合は共用体定義情報を解析して、当該変数の共用体メンバを1つ抽出する。ここで、MAP解析部203は、当該変数のデータ型がタグ名に設定されている構造体定義情報又は共用体定義情報を1つ特定することで、メンバを1つ抽出すればよい。
次に、MAP解析部203は、上記のステップS302で抽出したメンバのデータ型が構造体型又は共用体型であるか否かを判定する(ステップS302)。
ステップS302で当該メンバのデータ型が構造体型及び共用体型のいずれでもないと判定された場合、MAP解析部203は、当該メンバのタグ名が変数名に設定されているデータ型定義情報と、当該メンバの構造体定義情報又は共用体定義情報と、MAPファイルとを用いて、測定データ定義情報を作成する(ステップS303)。すなわち、MAP解析部203は、当該データ型定義情報に含まれる変数名とメンバ名とを「.」(ピリオド)で連結した文字列をデータ名、当該データ型定義情報に含まれる説明と当該メンバの構造体定義情報又は共用体定義情報に含まれる説明とを「.」で連結した文字列を説明として、このデータ名及び説明と、当該メンバの構造体定義情報又は共用体定義情報に含まれるデータ型、変換方法、分解能、精度、最小リミット値及び最大リミット値と、MAPファイルに出力された当該変数のアドレス(つまり、構造体又は共用体の先頭アドレス)から計算されるアドレス(つまり、メンバの先頭アドレス)とを対応付けることで、測定データ定義情報を作成する。
このとき、メンバの先頭アドレスは、構造体又は共用体の先頭アドレスと、メンバのサイズ(構造体の場合は各メンバのサイズ(より正確には、当該メンバよりも前に定義されているメンバのサイズ)、共用体の場合は当該メンバのサイズ)とを用いて計算することができる。
これにより、例えば、図9のステップS201で抽出された変数の変数名が「StartTime」で、かつ、上記のステップS301で抽出されたメンバのメンバ名が「year」である場合、図10に示す測定データ定義情報のうちの2行目の測定データ定義情報が作成される。この測定データ定義では、変数名「StartTime」とメンバ名「year」とを「.」で連結した文字列「StartTime.year」がデータ名となっており、当該変数の説明「運転開始時刻」と当該メンバの説明「年」とを「.」で連結した文字列「運転開始時刻.年」が説明となっている。
同様に、例えば、図9のステップS201で抽出された変数の変数名が「StartTime」で、かつ、上記のステップS301で抽出されたメンバのメンバ名が「month」である場合、図10に示す測定データ定義情報のうちの3行目の測定データ定義情報が作成される。同様に、例えば、図9のステップS201で抽出された変数の変数名が「StartTime」で、かつ、上記のステップS301で抽出されたメンバのメンバ名が「day」である場合、図10に示す測定データ定義情報のうちの4行目の測定データ定義情報が作成される。
一方で、ステップS302で当該メンバのデータ型が構造体型又は共用体型のいずれかであると判定された場合、MAP解析部203は、再帰的に、図11の処理(構造体メンバ又は共用体メンバの測定データ定義情報の作成処理)を実行して、測定データ定義情報を作成する(ステップS304)。例えば、図9のステップS201で抽出された変数の変数名が「StartTime」で、かつ、上記のステップS301で抽出されたメンバのメンバ名が「time」である場合、メンバ名「time」のデータ型「T_TIME」は構造体型である。したがって、この場合、再帰的に、構造体メンバ又は共用体メンバの測定データ定義情報の作成処理が実行される。
これにより、例えば、図9のステップS201で抽出された変数の変数名が「StartTime」で、かつ、上記のステップS301で抽出されたメンバのメンバ名が「time」である場合、図10に示す測定データ定義情報のうちの5~7行目の測定データ定義情報が作成される。
5行目の測定データ定義情報では、変数名「StartTime」とメンバ名「time」とメンバ名「hour」とを「.」で連結した文字列「StartTime.time.hour」がデータ名となっており、当該変数の説明「運転開始時刻」と1つ目のメンバの説明「時刻」と2つ目のメンバの説明「時」とを「.」で連結した文字列「運転開始時刻.時刻.時」が説明となっている。
同様に、6行目の測定データ定義情報では、変数名「StartTime」とメンバ名「time」とメンバ名「min」とを「.」で連結した文字列「StartTime.time.min」がデータ名となっており、当該変数の説明「運転開始時刻」と1つ目のメンバの説明「時刻」と2つ目のメンバの説明「分」とを「.」で連結した文字列「運転開始時刻.時刻.分」が説明となっている。また、同様に、7行目の測定データ定義情報では、変数名「StartTime」とメンバ名「time」とメンバ名「sec」とを「.」で連結した文字列「StartTime.time.sec」がデータ名となっており、当該変数の説明「運転開始時刻」と1つ目のメンバの説明「時刻」と2つ目のメンバの説明「秒」とを「.」で連結した文字列「運転開始時刻.時刻.秒」が説明となっている。
このように、構造体メンバ又は共用体メンバのデータ型が構造体型又は共用体型である場合(つまり、構造体や共用体が入れ子になっている場合)には、図11の処理(構造体メンバ又は共用体メンバの測定データ定義情報の作成処理)が再帰的に実行される。これにより、データ型が構造体型及び共用体型でない全ての構造体メンバ及び共用体メンバに対して、これら各メンバの測定データ定義情報が作成される。
ステップS303又はステップS304に続いて、MAP解析部203は、該当の構造体又は共用体から未抽出のメンバがあるか否かを判定する(ステップS305)。すなわち、MAP解析部203は、上記のステップS301における構造体定義情報又は共用体定義情報の解析の結果、未抽出のメンバがあるか否かを判定する。
そして、ステップS305で未抽出のメンバがあると判定された場合、MAP解析部203は、上記のステップS301に戻る。これにより、該当の構造体又は共用体の全てのメンバに対して、上記のステップS302~ステップS304が繰り返し実行される。一方で、ステップS305で未抽出のメンバがないと判定された場合、MAP解析部203は、構造体メンバ又は共用体メンバの測定データ定義情報の作成処理を終了する。なお、構造体メンバ又は共用体メンバの測定データ定義情報の作成処理を終了した場合は、この処理の呼び出し元(図5の測定データ定義情報の作成処理、又は上記のステップS304で再帰的に呼び出された場合は呼び出し元となる図11の構造体メンバ又は共用体メンバの測定データ定義情報の作成処理)に処理が戻る。以降では、図5の測定データ定義情報の作成処理に処理が戻ったものとして説明を続ける。
図5のステップS103に続いて、ファイル作成部204は、測定データ定義情報と、A2Lテンプレートとを入力として、A2Lファイルを作成する(ステップS104)。すなわち、ファイル作成部204は、測定データ定義情報から測定データ定義を作成した上で、A2Lテンプレートの測定データ定義部分の雛形を、当該測定データ定義で更新することで、A2Lファイルを作成する。
ここで、一例として、図10の測定データ定義情報のうちの1行目の測定データ定義情報と2行目の測定データ定義情報とから作成された測定データ定義を図12に示す。図12は、測定データ定義の一例を示す図である。
図12に示すように、測定データ定義は、測定データ定義情報に含まれる各情報(データ名、説明、データ型、変換方式、分解能、精度、最小リミット値、最大リミット値、及びアドレス)を、図4に示す測定データ定義の記述形式に従って記述したものである。
<まとめ>
以上のように、本実施形態に係る試験システム1では、測定対象データを表す変数としてデータ型が構造体型や共用体型の変数が含まれる場合であっても、CソースコードとCヘッダファイルとMAPファイルとから、A2Lファイルを容易かつ短時間に作成することができる。また、例えば、A2Lファイルを手動で編集することがないため、誤った定義が行われてしまう事態も防止することができる。
なお、上記のステップS104で作成されたA2Lファイルは測定/適合ツール300に入力される。これにより、試験装置10のユーザは、測定/適合ツール300を用いて、車載ECU20のデータ測定及びキャリブレーション試験を行うことができる。
なお、本実施形態では、上記のステップS103で作成された測定データ定義情報を用いてA2Lファイルを作成したが、これに限られず、例えば、上記のステップS103で作成された測定データ定義情報をユーザが編集したものを用いてA2Lファイルが作成されてもよい。例えば、上記のステップS103で作成された測定データ定義情報を編集可能なようにユーザに提示した上で、ユーザにより編集された測定データ定義情報を用いて、上記のステップS104でA2Lファイルが作成されてもよい。また、例えば、説明、変換方式、分解能、精度、最小リミット値、及び最大リミット値のうちの少なくとも1つの情報にデフォルト値が設定されている場合に、このデフォルト値が設定されている情報を編集可能なようにユーザに提示してもよい。これにより、例えば、個別的な用途に応じてA2Lファイルを作成する等、より柔軟にA2Lファイルを作成することができる。
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
1 試験システム
10 試験装置
20 車載ECU
100 ビルドツール
200 ファイル作成プログラム
201 構造体解析部
202 データ型解析部
203 MAP解析部
204 ファイル作成部
300 測定/適合ツール
400 記憶部
500 制御プログラム

Claims (7)

  1. 車載ECUの各種データを測定するための定義ファイルを作成する情報処理装置であって、
    所定のプログラミング言語で記述された電子ファイルを入力として、前記電子ファイルの記述を解析して、構造体型のデータ型定義の宣言に関する情報を示す構造体定義情報を作成する構造体解析手段と、
    前記電子ファイルを入力として、前記電子ファイルの記述を解析して、変数と該変数のデータ型の宣言に関する情報を示すデータ型定義情報を作成するデータ型解析手段と、
    前記電子ファイルのビルドにより作成されたMAPファイルと、前記構造体定義情報と、前記データ型定義情報とを入力として、前記MAPファイルを解析して、該解析結果と前記構造体定義情報と前記データ型定義情報とから、測定対象のデータをそれぞれ表す変数の定義と構造体メンバの定義に関する情報を示す測定データ定義情報を作成するMAP解析手段と、
    前記測定データ定義情報と、前記定義ファイルの雛形とを入力として、前記測定データ定義情報を用いて前記雛形を更新することで、前記定義ファイルを作成するファイル作成手段と、
    を有する情報処理装置。
  2. 前記構造体型には、共用体型が含まれ、
    前記構造体解析手段は、
    前記構造体定義情報と、前記共用体型のデータ型定義の宣言に関する情報を示す共用体定義情報を作成し、
    前記MAP解析手段は、
    前記解析結果と前記構造体定義情報と前記共用体定義情報と前記データ型定義情報とから、前記測定対象のデータをそれぞれ表す前記変数の定義と構造体メンバ又は/及び共用体メンバの定義に関する情報を示す測定データ定義情報を作成する、請求項1に記載の情報処理装置。
  3. 前記ファイル作成手段は、
    ユーザにより編集された測定データ定義情報と、前記定義ファイルの雛形とを入力として、前記編集された測定データ定義情報を用いて前記雛形を更新することで、前記定義ファイルを作成する、請求項1又は2に記載の情報処理装置。
  4. 前記電子ファイルは、C言語で記述されたソースコード及びヘッダファイルであり、
    前記構造体解析手段は、前記電子ファイルとして前記ソースコードと前記ヘッダファイルとを入力する、請求項1乃至の何れか一項に記載の情報処理装置。
  5. 前記定義ファイルは、ASAMによって規格化されたA2Lファイルである、請求項1乃至の何れか一項に記載の情報処理装置。
  6. 車載ECUの各種データを測定するための定義ファイルを作成するコンピュータが、
    所定のプログラミング言語で記述された電子ファイルを入力として、前記電子ファイルの記述を解析して、構造体型のデータ型定義の宣言に関する情報を示す構造体定義情報を作成する構造体解析手順と、
    前記電子ファイルを入力として、前記電子ファイルの記述を解析して、変数と該変数のデータ型の宣言に関する情報を示すデータ型定義情報を作成するデータ型解析手順と、
    前記電子ファイルのビルドにより作成されたMAPファイルと、前記構造体定義情報と、前記データ型定義情報とを入力として、前記MAPファイルを解析して、該解析結果と前記構造体定義情報と前記データ型定義情報とから、測定対象のデータをそれぞれ表す変数の定義と構造体メンバの定義に関する情報を示す測定データ定義情報を作成するMAP解析手順と、
    前記測定データ定義情報と、前記定義ファイルの雛形とを入力として、前記測定データ定義情報を用いて前記雛形を更新することで、前記定義ファイルを作成するファイル作成手順と、
    を実行する情報処理方法。
  7. 車載ECUと、該車載ECUの各種データを測定するための定義ファイルを作成する情報処理装置とが含まれる情報処理システムであって、
    所定のプログラミング言語で記述された電子ファイルを入力として、前記電子ファイルの記述を解析して、構造体型のデータ型定義の宣言に関する情報を示す構造体定義情報を作成する構造体解析手段と、
    前記電子ファイルを入力として、前記電子ファイルの記述を解析して、変数と該変数のデータ型の宣言に関する情報を示すデータ型定義情報を作成するデータ型解析手段と、
    前記電子ファイルのビルドにより作成されたMAPファイルと、前記構造体定義情報と、前記データ型定義情報とを入力として、前記MAPファイルを解析して、該解析結果と前記構造体定義情報と前記データ型定義情報とから、測定対象のデータをそれぞれ表す変数の定義と構造体メンバの定義に関する情報を示す測定データ定義情報を作成するMAP解析手段と、
    前記測定データ定義情報と、前記定義ファイルの雛形とを入力として、前記測定データ定義情報を用いて前記雛形を更新することで、前記定義ファイルを作成するファイル作成手段と、
    前記定義ファイルを入力として、前記車載ECUの各種データを測定する測定手段と、
    を有する情報処理システム。
JP2019023033A 2019-02-12 2019-02-12 情報処理装置、情報処理方法及び情報処理システム Active JP7211135B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019023033A JP7211135B2 (ja) 2019-02-12 2019-02-12 情報処理装置、情報処理方法及び情報処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019023033A JP7211135B2 (ja) 2019-02-12 2019-02-12 情報処理装置、情報処理方法及び情報処理システム

Publications (2)

Publication Number Publication Date
JP2020134982A JP2020134982A (ja) 2020-08-31
JP7211135B2 true JP7211135B2 (ja) 2023-01-24

Family

ID=72263038

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019023033A Active JP7211135B2 (ja) 2019-02-12 2019-02-12 情報処理装置、情報処理方法及び情報処理システム

Country Status (1)

Country Link
JP (1) JP7211135B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7410004B2 (ja) * 2020-09-30 2024-01-09 株式会社日立ソリューションズ シミュレーション方法およびシミュレーションプログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014178255A1 (ja) 2013-04-30 2014-11-06 富士電機株式会社 制御装置、およびマップファイル変換装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014178255A1 (ja) 2013-04-30 2014-11-06 富士電機株式会社 制御装置、およびマップファイル変換装置

Also Published As

Publication number Publication date
JP2020134982A (ja) 2020-08-31

Similar Documents

Publication Publication Date Title
US11074049B2 (en) Method and system for generating program code modified by rule sets
JP4148527B2 (ja) 機能テスト・スクリプト生成装置
US7849440B1 (en) Real-time code preview for a model based development process
US6807631B2 (en) System and method for deploying a hardware configuration with a computer program
US20190258460A1 (en) Method and system for generating a software component
US8341594B1 (en) Version control in modeling environments
US5862382A (en) Program analysis system and program analysis method
CN103064403A (zh) 一种ecu硬件在环仿真自动化测试方法和系统
CN112328305B (zh) 一种眼图测试方法、装置、电子设备及可读存储介质
US8239850B2 (en) Computer-implemented method of releasing battery state estimation software
CN112560372B (zh) 一种芯片原型验证方法、装置、设备及介质
US20180088914A1 (en) Method for supporting program creation and apparatus for supporting program creation
US20090187892A1 (en) Apparatus and program for test case generation
Butting et al. On the need for artifact models in model-driven systems engineering projects
JP7211135B2 (ja) 情報処理装置、情報処理方法及び情報処理システム
JP6877215B2 (ja) コンピュータ上のシミュレーション環境において制御装置の制御プログラムをテストする方法
JP2016224579A (ja) 情報処理装置及び情報処理方法
US20110218654A1 (en) Method For Optimizing A Control Program For Actuators
US10488835B2 (en) Method for configuring a tester equipped for testing an electronic control unit
CN114356783A (zh) 单元测试代码自动生成方法、装置、存储介质及设备
Kirchner et al. Using sysml for modelling and code generation for smart sensor asics
US20100287415A1 (en) Method of making an enduring universal tool for developing equipment tests and tool for the implementation thereof
EP4404067A1 (en) System and method to measure and verify data and control coupling between software components without code instrumentation
JP2007018313A (ja) 回路設計プログラム、回路設計装置、回路設計方法
US20240241810A1 (en) System and method to measure and verify data and control coupling between software components without code instrumentation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220913

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221012

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221213

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221226

R150 Certificate of patent or registration of utility model

Ref document number: 7211135

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150