JP3904485B2 - Vehicle control program development system, vehicle control device, and storage medium - Google Patents
Vehicle control program development system, vehicle control device, and storage medium Download PDFInfo
- Publication number
- JP3904485B2 JP3904485B2 JP2002188148A JP2002188148A JP3904485B2 JP 3904485 B2 JP3904485 B2 JP 3904485B2 JP 2002188148 A JP2002188148 A JP 2002188148A JP 2002188148 A JP2002188148 A JP 2002188148A JP 3904485 B2 JP3904485 B2 JP 3904485B2
- Authority
- JP
- Japan
- Prior art keywords
- module
- vehicle control
- vehicle
- control program
- information
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Combined Controls Of Internal Combustion Engines (AREA)
- Stored Programmes (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、車輌制御プログラムを開発するためのシステムに関する。より詳細には、本発明は、車輌制御を目的とするプログラムを、効率良く正確に開発するためのシステムに関する。
【0002】
【従来の技術】
当該技術分野において周知の如く、昨今の車輌、特に自動車には、一般に、「ECU」と称される車輌制御装置が装着されており、この車輌制御装置上で稼働する車輌制御プログラムにより、エンジン、変速装置、駆動装置、制動装置、操舵装置等の各種装着部品及び/又はこれらの装着部品に取り付けられたセンサー等から車輌制御装置に与えられる入力信号に応じた出力信号を、それぞれの装着部品及び/又はアクチュエーター等に返すことによって、エンジン、変速装置、駆動装置、制動装置、操舵装置等の各種装着部品を適切に制御して、エンジンにおける燃料の点火や噴射のタイミング、アイドリング、リミッター、燃料消費率、排気ガス中の有害物質の濃度等を所望のレベルとすることが一般的に行われている。
【0003】
また、上記出力信号を車輌のインパネ等に装着される警告装置、又は車輌診断用のテスター若しくはコンピューター等に返すことによって、車輌の各種装着部品の作動状況を診断することも一般的に行われている。
【0004】
一方、車輌には、たとえ同一車種であっても、車輌が販売される国や地域(仕向け先)や車輌駆動部品の種類等によって、多種多様な異なるバリエーションが存在するのが一般的であり、それぞれのバリエーションに装着される装着部品の種類は必ずしも共通ではなく、車輌が満たすべき規制等が仕向け先によって異なる場合には、たとえ同一の装着部品であっても、当該装着部品の制御プログラムを車輌の仕向け先に応じて変更しなければならない場合がある。
【0005】
更に、車輌制御装置上で稼働する車輌制御プログラムにおいては、上記の如く車輌の仕向け先や装着部品の種類によって一義的に定まる情報以外に、各車輌の試験結果によって定まる適合値や、外部装置(例えば、車輌のインパネ等に装着される警告装置、又は車輌診断用のテスター若しくはコンピューター等)によって各装着部品やセンサーの動作状況をモニターする機能を車輌制御装置に導入するか否かの指定等に関する所謂「定数値」等の補足情報を設定する必要もある。
【0006】
更にまた、当該技術分野においては、車輌制御装置上で稼働する車輌制御プログラムのソースコードを記述する場合には、各々のバリエーション毎に別個のソースコードを記述するのではなく、車種に共通の汎用性のあるソースコードを記述するのが一般的である。この場合、当該ソースコードのコンパイル時に、適当なスイッチを設定して条件付きコンパイルを行うことによって、それぞれのバリエーションの仕向け先における規制及び装着部品等に応じた制御を行うことができるオブジェクトコードが得られるように、当該ソースコード中に所謂コンパイルスイッチを適切に設定する必要がある。
【0007】
上記の如く、車輌制御プログラムの開発においては、各々の車輌バリエーションの仕向け先における規制及び装着部品に応じた制御を行い得るソースコードを、各々のバリエーションに応じた適切なコンパイルスイッチを設定しながら、正確に記述することが不可欠であるが、消費者ニーズの多様化を反映して車輌バリエーションが多種多様であること、各々のバリエーションにおいて車輌制御装置が制御すべき装着部品の数及び種類が膨大であること、並びに各仕向け先における規制の内容も多種多様であることから、これらの情報を漏れなく正確に集約し、これらの情報に正確に対応した車輌制御プログラムを開発することは極めて困難であり、従来から多大な労力及び時間が費やされてきた。
【0008】
かかる状況を受け、当該技術分野においては、車輌制御プログラムの設計ノウハウのチェックシート化及び仕様書の標準化並びに車輌制御プログラムにおける各装着部品のための制御関数のモジュール化等の工夫がなされてきたが、車輌制御装置による車輌制御の益々の高度化に伴い、プログラム設計者が集約すべき情報量は増大の一途を辿っており、また、プログラム設計者の個人的技量に依るところが大きいために、プログラム設計者の熟練度によって、プログラム設計に必要な工数及び作成されるプログラムの品質にばらつきが生じ易く、人的なミス(ヒューマンエラー)の削減にも限界があった。
【0009】
【発明が解決しようとする課題】
従って、当該技術分野においては、車輌制御プログラムを開発しようとする車輌の仕向け情報、装着部品情報、及び補足情報に基づいて、当該車輌制御プログラムの開発に必要とされるソフトウェア部品モジュール(以降、「モジュール」と称する)を適切に集約して、当該車輌制御プログラムのソースコードを効率的に作成することができる車輌制御プログラム開発システムに対する要求が存在する。
【0010】
本発明の目的は、車輌制御プログラムを開発しようとする車輌の仕向け先、装着部品、及び補足情報に基づいて、当該車輌制御プログラムの開発に必要とされるモジュールを適切に集約し、当該車輌制御プログラムのソースコードを効率的に作成することができる車輌制御プログラム開発システムを提供することである。
【0011】
【課題を解決するための手段】
上記目的は、
(1)車輌に装着される種々の装着部品から車輌制御装置に与えられる入力信号に対応して当該車輌制御装置から当該装着部品又は外部装置に返されるべき出力信号を定義する関数が、ソースコードとして記述されているモジュールが、車輌駆動部品の種類と車輌の仕向け先との組み合わせに対応してそれぞれ記録される、モジュールライブラリー、
【0012】
(2)前記モジュールライブラリーに記録されている、各モジュールを特定するための情報、当該モジュールによって制御されるべき装着部品を特定するための情報、及び当該装着部品が装着されるべき車輌の仕向け先及び車輌駆動部品の種類を特定するための情報を含んでなる、モジュール情報、当該装着部品が装着されるべき車輌の仕向け先及び車輌駆動部品の種類に基づいて設定される、コンパイルスイッチ情報、並びにプログラム生成パターン情報が関連付けられて記録される、モジュールデータベース、
【0013】
(3)入力された仕向け先及び車輌駆動部品の種類並びに装着部品に基づいて、当該車輌の装着部品の各々を制御するためのモジュール情報を前記モジュールデータベースから抽出する、モジュール抽出手段、
【0014】
(4)車輌制御プログラムにおいて使用される各種関数をコールするメイン関数のソースコードがテンプレートとして記録される、メイン関数記録手段、
【0015】
(5)前記モジュール抽出手段によって抽出されたモジュール情報に基づいて、前記モジュールライブラリーから取得した該当するモジュールのソースコードを、前記プログラム生成パターン情報に従って、前記コンパイルスイッチ情報に基づいて作成されるコンパイルスイッチと共に、前記メイン関数記録手段に記録されたテンプレートの所定の箇所に挿入することによって、車輌制御プログラムのソースコードを記述する、車輌制御プログラムソースコード記述手段、
を有することを特徴とする、車輌制御プログラム開発システム、
によって達成される。
【0016】
【発明の実施の形態】
以降に、図1を参照しながら、本発明に係る車輌制御プログラム開発システムについて、詳細に説明する。
【0017】
本発明に係る車輌制御プログラム開発システムは、
(1)車輌に装着される種々の装着部品から車輌制御装置に与えられる入力信号に対応して当該車輌制御装置から当該装着部品又は外部装置に返されるべき出力信号を定義する関数が、ソースコードとして記述されているモジュールが、車輌駆動部品の種類と車輌の仕向け先との組み合わせに対応してそれぞれ記録される、モジュールライブラリー2、
【0018】
(2)前記モジュールライブラリー2に記録されている、各モジュールを特定するための情報、当該モジュールによって制御されるべき装着部品を特定するための情報、及び当該装着部品が装着されるべき車輌の仕向け先及び車輌駆動部品の種類を特定するための情報を含んでなる、モジュール情報、当該装着部品が装着されるべき車輌の仕向け先及び車輌駆動部品の種類に基づいて設定される、コンパイルスイッチ情報、並びにプログラム生成パターン情報が関連付けられて記録される、モジュールデータベース1、
【0019】
(3)入力された仕向け先及び車輌駆動部品の種類並びに装着部品に基づいて、当該車輌の装着部品の各々を制御するためのモジュール情報を前記モジュールデータベースから抽出する、モジュール抽出手段4、
【0020】
(4)車輌制御プログラムにおいて使用される各種関数をコールするメイン関数のソースコードがテンプレートとして記録される、メイン関数記録手段3、
【0021】
(5)前記モジュール抽出手段4によって抽出されたモジュール情報に基づいて、前記モジュールライブラリー2から取得した該当するモジュールのソースコードを、前記プログラム生成パターン情報に従って、前記コンパイルスイッチ情報に基づいて作成されるコンパイルスイッチと共に、前記メイン関数記録手段3に記録されたテンプレートの所定の箇所に挿入することによって、車輌制御プログラムのソースコード6を記述する、車輌制御プログラムソースコード記述手段5、
を有することを特徴とする、車輌制御プログラム開発システムである。
【0022】
上記車輌に装着される種々の装着部品とは、例えば、エンジン、変速装置、駆動装置、制動装置、操舵装置、触媒、EGR、電動スロットル、クルーズコントロール、イモビライザー等の各種車輌駆動部品、又はこれらの装着部品に取り付けられている各種センサー(例えば、酸素センサー、サーモスタット等)を意味する。また、外部装置とは、例えば、車輌のインパネ等に装着される警告装置、又は車輌診断用のテスター若しくはコンピューター等を意味する。
【0023】
すなわち、本明細書においては、「車輌制御」という用語は、対象となる車輌に装着されている各種装着部品を適切に作動させることのみならず、上記外部装置を利用する車輌診断を行うことをも意味するものとする。
【0024】
従って、上記車輌制御装置から上記装着部品に返されるべき出力信号とは、上記車輌を適切に制御するための出力信号であり、上記車輌制御装置から上記外部装置に返されるべき出力信号とは、上記装着部品の作動状況を診断するための出力信号であり、上記モジュールライブラリー2においては、各々の装着部品について、車輌駆動部品の種類と車輌の仕向け先との組み合わせに対応して、所望の結果を得ることができる出力信号を与えるべく所定のソースコードで記述された関数がモジュールとして記録されている。尚、当該ソースコードを記述するのに使用されるプログラミング言語の例としては、例えば、Microsoft 社のVisual Basic、Visual C++等を挙げることができるが、これらに限定されるものではない。
【0025】
また、上記車輌制御プログラム開発システムは、各モジュールを特定するための情報、当該モジュールによって制御されるべき装着部品を特定するための情報、及び当該装着部品が装着されるべき車輌の仕向け先及び車輌駆動部品の種類を特定するための情報を含んでなる、モジュール情報、当該装着部品が装着されるべき車輌の仕向け先及び車輌駆動部品の種類に基づいて設定される、コンパイルスイッチ情報、並びにプログラム生成パターン情報が関連付けられて記録される、モジュールデータベース1を有する。尚、当該モジュールデータベース1を構築するためのデータベース管理アプリケーションソフトの例としては、例えば、Microsoft 社のAccess、Oracle社のOracle等を挙げることができるが、これらに限定されるものではない。
【0026】
尚、上記モジュールを特定するための情報とは、例えば、上記モジュールライブラリー2が保存されている場所を示すパス、モジュールのソースファイルの名称、モジュールの名称、略称、及びコード番号等を意味する。また、上記モジュールによって制御されるべき装着部品を特定するための情報とは、例えば、装着部品の名称、略称、及びコード番号等を意味する。同様に、装着部品が装着されるべき車輌の仕向け先及び車輌駆動部品の種類を特定するための情報とは、例えば、仕向け先の名称、略称、及びコード番号等、並びに車輌駆動部品の名称、略称、及びコード番号等を意味する。
【0027】
更に、上記車輌制御プログラム開発システムにおいては、ユーザーが、制御プログラムを開発しようとする車輌の仕向け先及び車輌駆動部品の種類並びに装着部品を入力するための車輌情報入力用ユーザーインターフェース(図示されていない)をも提供する。前述の如く、ここで言う「仕向け先」とは、当該車輌が販売される国や地域を意味し、この仕向け先が異なると、当該車輌が満たすべき各種規制(例えば、法規制等)が異なるため、同種の車輌駆動部品(例えば、マニュアルトランスミッション、オートマチックトランスミッション等)及び同一の装着部品であっても、仕向け先が異なれば、これらの装着部品を制御するためのプログラムを変更する必要がある場合がある。
【0028】
上記モジュールデータベース1において、各モジュールを特定するための情報、当該モジュールによって制御されるべき装着部品を特定するための情報、及び当該装着部品が装着されるべき車輌の仕向け先及び車輌駆動部品の種類を特定するための情報が関連付けられてモジュール情報として記録されることによって、上記モジュール抽出手段4が、上記車輌情報入力用ユーザーインターフェースを利用して入力される、車輌の仕向け先及び車輌駆動部品の種類、並びに装着部品に基づいて、上記モジュールライブラリー2から適切なモジュールを確実に抽出することができるのである。
【0029】
ところで、当該技術分野において周知の如く、車輌に装着される各種装着部品の中には、所定のタイミングで制御を行う必要があるものも少なくなく、車輌制御プログラムにおいては、各装着部品に好適なタイミングで、上記モジュールによって定義される関数をコールするようにプログラミングを行うことが肝要である。
【0030】
そこで、上記車輌制御プログラム開発システムにおいては、車輌制御プログラムにおけるプログラム生成パターン情報が各モジュールに関連付けられて記録されている。好ましくは、当該プログラム生成パターン情報は、各モジュールによって表される関数が車輌制御プログラムにおいて実行されるべき時間間隔、順序、及び優先度に関する情報である。
【0031】
更に、上記車輌制御プログラム開発システムは、開発しようとする車輌制御プログラムにおいて使用される各種関数をコールするメイン関数のソースコードがテンプレートとして記録される、メイン関数記録手段3を有している。好ましくは、メイン関数記録手段3には、車輌制御プログラムにおいて関数がコールされるべきタイミング毎に、各種関数を表すソースコードを記述すべき箇所が予め設定されているテンプレートとして、メイン関数が記録される。
【0032】
すなわち、上記車輌制御プログラム開発システムにおいては、上記車輌制御プログラムソースコード記述手段5により、上記モジュール抽出手段4によって抽出されたモジュール情報に基づいて、上記モジュールライブラリー2から取得した該当するモジュールのソースコードが、上記プログラム生成パターン情報に従って、上記メイン関数記録手段3に記録されたテンプレートの所定の箇所に挿入されることによって、車輌制御プログラムのソースコード6が記述される。
【0033】
一方、前述の如く、当該技術分野においては、各々の車輌バリエーション毎に別個のソースコードを記述するのではなく、車種に共通の汎用性のあるソースコードを記述し、当該ソースコードをコンパイル及びリンクする際に、各バリエーションに応じた適当なスイッチを設定して条件付きコンパイルを行うことによって、同一のソースコードから各車輌バリエーションに対応した実行形式のオブジェクトコードを得ることが一般的に行われている。
【0034】
そこで、上記モジュールデータベース1には、各モジュールの対応する装着部品が装着されるべき車輌の仕向け先及び車輌駆動部品の種類に基づいて設定される、コンパイルスイッチ情報が記録されており、上記車輌制御プログラムソースコード記述手段5により、各モジュールのソースコードが上記テンプレートの所定の箇所に挿入される際に、上記コンパイルスイッチ情報に従って、コンパイルスイッチが設定される。
【0035】
上記の如く設定されるコンパイルスイッチは、車輌制御プログラムのソースコードがコンパイルされる際に、コンパイラに与えられるスイッチに応じて、車輌制御プログラムのソースコードの条件付きコンパイルが行われるために必要な条件文であるのが望ましい。
【0036】
更に、本発明の好ましい態様においては、車輌に装着される種々の装着部品から車輌制御装置に与えられる入力信号又は当該車輌制御装置から当該装着部品若しくは外部装置に返されるべき出力信号に関する情報以外の補足情報もまた、上記モジュールデータベース1に記録される。当該補足情報は、例えば、車輌の試験結果によって定まる適合値や、外部装置(例えば、車輌のインパネ等に装着される警告装置、又は車輌診断用のテスター若しくはコンピューター等)によって各装着部品やセンサーの動作状況をモニターする機能を車輌制御装置に導入するか否かの指定等に関する定数値等を含んでなる、車輌の仕向け先や装着部品の種類によって一義的には定まらない情報であってもよい。
【0037】
上記の如き補足情報が存在する場合のみならず、上記モジュール抽出手段4によって抽出されたモジュール情報に基づいて上記モジュールライブラリー2及び上記モジュールデータベース1から得られない情報がある場合には、当該情報をユーザーが手動で入力するためのユーザーインターフェース(図示されていない)を提供する機能を、上記モジュール抽出手段4が更に有していてもよい。
【0038】
また、上記車輌制御プログラム開発システムにおける上記モジュール抽出手段4は、当該モジュール抽出手段4によって抽出されるべきモジュールが複数存在する場合に、当該複数のモジュールの中からユーザーが自由に特定のモジュールを選択するためのユーザーインターフェース(図示されていない)を提供する機能を更に有していてもよい。
【0039】
この場合、上記モジュールデータベース1が各モジュールの不具合に関する情報をも記録しており、上記ユーザーインターフェース(図示されていない)が、当該不具合に関する情報をユーザーに提示して、ユーザーによるモジュールの選択を助ける機能をも有しているのが望ましい。
【0040】
本発明のより好ましい態様においては、上記モジュールデータベース1に記録されるモジュール情報が、モジュールの履歴情報(例えば、モジュールのバージョン及びレベル版数等)をも含んでなり、上記モジュール抽出手段4によって抽出されるべきモジュールが複数存在する場合に、当該複数のモジュールの各々の履歴情報を上記モジュールデータベース1から参照して、当該複数のモジュールから最新のモジュールを自動的に特定する機能を、上記モジュール抽出手段4が更に有していてもよい。
【0041】
特に、例えば大企業等におけるように、モジュールの改良/新規開発が日々行われている組織においては、上記機能により、最新のモジュールが自動的に選択されるので、プログラム設計者の過誤によって、古いモジュールが選択され、せっかくの最新モジュールが使用されないという事態を避けることができるので望ましい。
【0042】
ところで、上記車輌制御プログラムソースコード記述手段5によって記述されたソースコード6においては、車輌制御プログラムの開発対象となる車輌の各バリエーションに装着される装着部品の組み合わせによっては、すべてのバリエーションを包含するコンパイルスイッチが設定される場合があるが、当業者にとって明らかな如く、すべてのバリエーションを包含するコンパイルスイッチは本来設定する必要が無い。
【0043】
従って、本発明の好ましい態様において、上記車輌制御プログラム開発システムは、上記車輌制御プログラムソースコード記述手段5によって記述されたソースコード6を解析し、車輌制御プログラムの開発対象となる車輌のすべてのバリエーションを包含するコンパイルスイッチが設定されている箇所については当該コンパイルスイッチの設定を解除する、コンパイルスイッチ整形手段(図示されていない)を更に有することが望ましい。
【0044】
例えば、上記コンパイルスイッチ整形手段(図示されていない)は、上記車輌情報入力用ユーザーインターフェース(図示されていない)を利用して入力されたすべての車輌バリエーションを包含するコンパイルスイッチを、上記モジュールデータベース1に記録されているコンパイルスイッチ情報に基づいて作成し、当該コンパイルスイッチに一致する条件文が宣言されている箇所を、上記車輌制御プログラムソースコード記述手段5によって記述されたソースコード6において検索することによって、すべてのバリエーションを包含するコンパイルスイッチが設定されている箇所を見出すことができる。
【0045】
また、上記の如く機械的に各種情報を組み合わせてソースコードを記述した場合、同じ時間間隔でコールされるべき関数を表すモジュールが記載されるべき範囲内においてさえ、同一のコンパイルスイッチが設定されている箇所が繰り返し出現する等、記述されるソースコードが冗長なものとなる傾向がある。このような冗長なソースコードにおいては、例えば、当該ソースコードを手動で修正しようとする場合等に、修正を施すべき箇所を見出すのが困難であり、結果として修正漏れ等、当該ソースコードのプログラム上の欠陥を誘発し易い傾向があるので、ソースコードは一般に簡潔であることが望ましい。
【0046】
そこで、上記車輌制御プログラム開発システムは、上記コンパイルスイッチ整形手段(図示されていない)と同様に、同じ時間間隔でコールされるべき関数を表すモジュールが記載されるべき範囲内において、同一のコンパイルスイッチが繰り返し設定されている箇所を見出し、上記モジュールデータベース1に記録されている順序及び優先度に反しない限り、1つのコンパイルスイッチにまとめるコンパイルスイッチ統合手段(図示されていない)を更に有しているのがより望ましい。
【0047】
また、本発明の更なる好ましい態様において、上記車輌制御プログラム開発システムは、当該車輌制御プログラムによって制御される各種装着部品の一覧表及び/又は当該装着部品に関する補足情報の一覧表を自動的に作成する、仕様書作成手段(図示されていない)を更に有していてもよい。
【0048】
従来は、上記の如き当該車輌制御プログラムによって制御される各種装着部品の一覧表及び/又は当該装着部品に関する補足情報の一覧表は、当該車輌制御プログラムの設計当初に作成され、その後、当該プログラムの開発過程において何等かの修正が生じた場合には、これらの修正を反映させて修正されるのが一般的であったが、このように人的作業によって作成されたこれらの一覧表は、修正漏れや誤記等のヒューマンエラーを多く含みがちであった。しかしながら、当該車輌制御プログラム開発システムにおいては、これらの一覧表が上記の如く自動的に作成されるので、従来のようにヒューマンエラーが入り込む余地が少なく、信頼性の高いものを作成することができる。
【0049】
更に、本発明の好ましい態様において、上記車輌制御プログラム開発システムは、上記車輌制御プログラムソースコード記述手段5によって記述されたソースコード6をコンパイル及びリンクして、当該車輌制御プログラムの実行形式のオブジェクトコードを作成する、車輌制御プログラムオブジェクトコード作成手段(図示されていない)を更に有していてもよい。
【0050】
上記車輌制御プログラムオブジェクトコード作成手段(図示されていない)は、上記車輌制御プログラムソースコード記述手段5においてソースコード6を記述するのに使用されるプログラミング言語のための所謂「コンパイラ」であり、その仕組みについては当該技術分野において周知であるので、本明細書においては詳細には説明しない。
【0051】
また、本発明の更なる好ましい態様において、上記車輌制御プログラム開発システムは、上記車輌制御プログラムオブジェクトコード作成手段(図示されていない)によって作成された実行形式のオブジェクトコードを、上記車輌制御装置に装着される記憶媒体に記憶させる、車輌制御プログラム記憶手段(図示されていない)を更に有していてもよい。当該車輌制御プログラム記憶手段(図示されていない)の例としては、上記オブジェクトコードを、車輌制御装置に装着されるロムに焼き付ける、車輌制御プログラム焼き付け手段が挙げられる。
【0052】
尚、上記車輌制御プログラム開発システムを構成する上記モジュールライブラリー2、モジュールデータベース1、モジュール抽出手段4、メイン関数記録手段3、車輌制御プログラムソースコード記述手段5、コンパイルスイッチ整形手段(図示されていない)、仕様書作成手段(図示されていない)、車輌制御プログラムオブジェクトコード作成手段(図示されていない)、及び車輌制御プログラム記憶手段(例えば、車輌制御プログラム焼き付け手段)(図示されていない)のすべてが特定のハードウェア内に格納されている必然性は無く、例えば、インターネットやイントラネット等のネットワークを介して、これらの構成要素が分散されて配置されていてもよい。
【0053】
また、本発明の更なる好ましい態様において、上記車輌制御プログラム開発システムは、上記仕様書作成手段(図示されていない)によって作成される、上記車輌制御プログラムによって制御される各種装着部品の一覧表及び/又は当該装着部品に関する補足情報の一覧表をネットワークを介して転送する機能をも有していてもよい。
【0054】
更に、本発明の更なる好ましい態様において、上記車輌制御プログラム開発システムは、上記モジュールデータベース1に記録される各モジュールを特定するための情報、当該モジュールによって制御されるべき装着部品を特定するための情報、当該装着部品が装着されるべき車輌の仕向け先及び車輌駆動部品の種類を特定するための情報を含んでなる、モジュール情報、当該装着部品が装着されるべき車輌の仕向け先及び車輌駆動部品の種類に基づいて設定される、コンパイルスイッチ情報、並びに前記プログラム生成パターン情報、並びに上記車輌情報入力用ユーザーインターフェース(図示されていない)を利用して入力される、制御プログラムを開発しようとする車輌の仕向け先及び車輌駆動部品の種類及び装着部品を特定するための情報として、他のアプリケーション及び/又はシステムによって作成されたデータをインポートする機能をも有しているのが望ましい。かかる機能を有することにより、既存のデータを、より有効に当該システムに取り入れることができる。
【0055】
更にまた、好ましい態様において、本発明は、上記車輌制御プログラム開発システムによって作成された実行形式のオブジェクトコードを記憶する、車輌制御装置に関する。かかる車輌制御装置は、本発明に係る車輌制御プログラム開発システムによって正確に記述されたソースコードに基づいて作成された実行形式のオブジェクトコードに従って作動するものであることから、上述の如く、プログラム上のヒューマンエラーが少なく、品質的にも信頼性の高いものである。
【0056】
更に、本発明は、好ましい態様において、上記車輌制御プログラム開発システムによって作成された車輌制御プログラムのソースコード又は実行形式のオブジェクトコードを記憶する、記憶媒体に関する。記憶媒体とは、上述のロムに限定されるものではなく、例えば、フレキシブルディスク、CD−ROM、CD−R、CD−RW、光磁気ディスク、磁気テープ等の、当該技術分野において既知のあらゆる記憶媒体を包含する。
【0057】
次に、図2を参照しながら、本発明に係る車輌制御プログラム開発方法について、詳細に説明する。
【0058】
本発明に係る車輌制御プログラム開発方法は、
(1)車輌に装着される種々の装着部品から車輌制御装置に与えられる入力信号に対応して当該車輌制御装置から当該装着部品又は外部装置に返されるべき出力信号を定義する関数が、ソースコードとして記述されているモジュールが、車輌駆動部品の種類と車輌の仕向け先との組み合わせに対応してモジュールライブラリー2にそれぞれ記録される、モジュールライブラリー蓄積ステップ10、
【0059】
(2)前記モジュールライブラリー2に記録されている、各モジュールを特定するための情報、当該モジュールによって制御されるべき装着部品を特定するための情報、当該装着部品が装着されるべき車輌の仕向け先及び車輌駆動部品の種類を特定するための情報を含んでなる、モジュール情報、当該装着部品が装着されるべき車輌の仕向け先及び車輌駆動部品の種類に基づいて設定される、コンパイルスイッチ情報、並びにプログラム生成パターン情報が関連付けられてモジュールデータベース1に記録される、モジュールデータベース蓄積ステップ20、
【0060】
(3)制御プログラムを開発しようとする車輌の仕向け先及び車輌駆動部品の種類、並びに装着部品が、車輌情報入力用ユーザーインターフェースを利用して入力される、車輌情報入力ステップ30、
【0061】
(4)モジュール抽出手段4が、入力された仕向け先及び車輌駆動部品の種類並びに装着部品に基づいて、当該車輌の装着部品の各々を制御するためのモジュール情報を前記モジュールデータベース1から抽出する、モジュール抽出ステップ40、
【0062】
(5)車輌制御プログラムにおいて使用される各種関数をコールするメイン関数のソースコードがテンプレートとしてメイン関数記録手段3に記録される、メイン関数記録ステップ(図示されていない)、
【0063】
(6)車輌制御プログラムソースコード記述手段5が、前記モジュール抽出手段によって抽出されたモジュール情報に基づいて、前記モジュールライブラリー2から取得した該当するモジュールのソースコードを、前記プログラム生成パターン情報に従って、前記コンパイルスイッチ情報に基づいて作成されるコンパイルスイッチと共に、前記メイン関数記録手段3に記録されたテンプレートの所定の箇所に挿入することによって、車輌制御プログラムのソースコード6を記述する、車輌制御プログラムソースコード記述ステップ50、
を有することを特徴とする、車輌制御プログラム開発方法である。
【0064】
好ましい態様において、モジュールデータベース蓄積ステップ20において、車輌に装着される種々の装着部品から車輌制御装置に与えられる入力信号又は当該車輌制御装置から当該装着部品若しくは外部装置に返されるべき出力信号に関する情報以外の補足情報が、前記モジュールデータベース1に更に記録されてもよい。
【0065】
尚、前記補足情報は、車輌の試験結果によって定まる適合値及び/又は外部装置による装着部品やセンサーの動作状況をモニターする機能を車輌制御装置に導入するか否かの指定に関する定数値を含んでなるのが望ましい。
【0066】
前記車輌制御プログラムソースコード記述ステップ50において前記コンパイルスイッチ情報に基づいて作成されるコンパイルスイッチは、前記車輌制御プログラムのソースコード6がコンパイルされる際に、コンパイラに与えられるスイッチに応じて、前記車輌制御プログラムのソースコード6の条件付きコンパイルが行われるために必要な条件文であるのが望ましい。
【0067】
また、前記プログラム生成パターン情報は、前記モジュールが車輌制御プログラムにおいて実行されるべき時間間隔、順序、及び優先度に関する情報であるのが望ましい。
【0068】
上記車輌制御プログラム開発方法は、前記モジュール抽出手段4によって抽出されたモジュール情報に基づいて前記モジュールライブラリー2及び前記モジュールデータベース1から得られない情報がある場合には、当該情報をユーザーが手動で入力するためのユーザーインターフェース(図示されていない)を提供して、ユーザーが手動で入力する当該情報を上記モジュール抽出手段4に格納する、情報手動入力ステップ(図示されていない)を更に有することができる。
【0069】
また、上記車輌制御プログラム開発方法は、前記モジュール抽出手段4によって抽出されるべきモジュールが複数存在する場合に、当該複数のモジュールの中からユーザーが自由に特定のモジュールを選択するためのユーザーインターフェース(図示されていない)を提供して、ユーザーが手動で選択する特定のモジュールを特定するための情報を上記モジュール抽出手段4に格納する、モジュール手動選択ステップ(図示されていない)を更に有することができる。
【0070】
更に、上記車輌制御プログラム開発方法は、前記モジュールデータベース1に記録されるモジュール情報が、モジュールの履歴情報を更に含んでなり、前記モジュール抽出手段4によって抽出されるべきモジュールが複数存在する場合に、当該複数のモジュールの各々の履歴情報を前記モジュールデータベース1から参照して、当該複数のモジュールから最新のモジュールを特定する、最新モジュール抽出ステップ(図示されていない)を更に有することができる。
【0071】
また、前述の如く、上記車輌制御プログラム開発方法は、前記車輌制御プログラムソースコード記述手段5によって記述されたソースコード6を解析し、車輌制御プログラムの開発対象となる車輌のすべてのバリエーションを包含するコンパイルスイッチが設定されている箇所については当該コンパイルスイッチの設定を解除する、コンパイルスイッチ整形ステップ(図示されていない)を更に有することができる。
【0072】
本発明の好ましい態様において、上記車輌制御プログラム開発方法は、当該車輌制御プログラムによって制御される各種装着部品の一覧表及び/又は当該装着部品の制御に関する補足情報の一覧表を自動的に作成する、仕様書作成ステップ(図示されていない)を更に有することができる。
【0073】
本発明の更なる好ましい態様において、上記車輌制御プログラム開発方法は、前記車輌制御プログラムソースコード記述手段5によって記述されたソースコード6をコンパイル及びリンクして、当該車輌制御プログラムの実行形式のオブジェクトコードを作成する、車輌制御プログラムオブジェクトコード作成ステップ(図示されていない)を更に有することができる。
【0074】
本発明の更なる好ましい態様において、上記車輌制御プログラム開発方法は、前記車輌制御プログラムオブジェクトコード作成ステップ(図示されていない)において作成された実行形式のオブジェクトコードを、前記車輌制御装置に装着されるロムに焼き付ける、車輌制御プログラム焼き付けステップ(図示されていない)を更に有することができる。
【0075】
【発明の効果】
本発明に係る車輌制御プログラム開発システム及び当該システムを使用する車輌制御プログラム開発方法により、車輌制御プログラムを開発しようとする車輌の仕向け先、装着部品、及び補足情報に基づいて、当該車輌制御プログラムの開発に必要とされるモジュールを適切に集約し、当該車輌制御プログラムのソースコードを効率的に作成することができる。
【図面の簡単な説明】
【図1】本発明に係る車輌制御プログラム開発システムの構成を示す略図である。
【図2】本発明に係る車輌制御プログラム開発方法を示すフローチャートである。
【符号の説明】
1…モジュールデータベース
2…モジュールライブラリー
3…メイン関数記録手段
4…モジュール抽出手段
5…車輌制御プログラムソースコード記述手段
6…車輌制御プログラムソースコード
10…モジュールライブラリー蓄積ステップ
20…モジュールデータベース蓄積ステップ
30…車輌情報登録ステップ
40…モジュール抽出ステップ
50…車輌制御プログラムソースコード記述ステップ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a system for developing a vehicle control program. More particularly, the present invention relates to a system for efficiently and accurately developing a program for vehicle control.
[0002]
[Prior art]
As is well known in the art, a vehicle control device called an “ECU” is generally mounted on recent vehicles, particularly automobiles, and an engine, a vehicle control program that runs on the vehicle control device, Various mounting parts such as a transmission device, a driving device, a braking device, a steering device, and / or an output signal corresponding to an input signal given to the vehicle control device from a sensor or the like attached to these mounting parts, By returning to the actuator, etc., the various components such as the engine, transmission, drive, braking device, steering device, etc. are properly controlled, and the timing of fuel ignition and injection, idling, limiter, fuel consumption in the engine It is generally performed to set the rate, the concentration of harmful substances in the exhaust gas, and the like to a desired level.
[0003]
It is also common practice to diagnose the operating status of various mounting parts of a vehicle by returning the output signal to a warning device mounted on the instrument panel of the vehicle or a tester or computer for vehicle diagnosis. Yes.
[0004]
On the other hand, even if the vehicle type is the same, there are generally many different variations depending on the country or region where the vehicle is sold (destination), the type of vehicle drive parts, etc. The types of mounting parts to be installed in each variation are not necessarily common, and if the regulations to be satisfied by the vehicle differ depending on the destination, even if the same mounting parts are used, the control program for the mounting parts should be It may be necessary to change according to the destination.
[0005]
Furthermore, in the vehicle control program that operates on the vehicle control device, in addition to the information that is uniquely determined by the destination of the vehicle and the type of the mounted part as described above, the conformity value determined by the test result of each vehicle, the external device ( For example, a warning device attached to a vehicle instrument panel or the like, a tester or a computer for vehicle diagnosis, etc.) regarding whether or not a function for monitoring the operation status of each attached component or sensor is to be introduced into the vehicle control device, etc. It is also necessary to set supplementary information such as a so-called “constant value”.
[0006]
Furthermore, in this technical field, when describing the source code of the vehicle control program that runs on the vehicle control device, it is not a separate source code for each variation. It is common to write a source code that has sex. In this case, when compiling the source code, by setting appropriate switches and performing conditional compilation, object code can be obtained that can be controlled according to the regulations at the destination of each variation and the mounted parts. It is necessary to appropriately set a so-called compile switch in the source code.
[0007]
As mentioned above, in the development of the vehicle control program, while setting the appropriate compile switch according to each variation, the source code that can be controlled according to the regulations and mounting parts at the destination of each vehicle variation, Although accurate description is essential, there are a wide variety of vehicle variations reflecting the diversification of consumer needs, and the number and types of mounting parts that the vehicle control device must control in each variation is enormous. In addition, since there are a wide variety of regulations at each destination, it is extremely difficult to develop a vehicle control program that accurately gathers this information without omission and accurately corresponds to this information. Conventionally, a great deal of labor and time has been spent.
[0008]
In response to this situation, the technical field has been devised such as a check sheet for design know-how of vehicle control programs, standardization of specifications, and modularization of control functions for each mounted part in the vehicle control program. With the increasing sophistication of vehicle control by vehicle control devices, the amount of information that program designers should gather has been steadily increasing, and because the amount of information that depends on the individual skills of program designers is large, The man-hours required for program design and the quality of the created program tend to vary depending on the level of skill of the designer, and there has been a limit to the reduction of human error (human error).
[0009]
[Problems to be solved by the invention]
Accordingly, in this technical field, software component modules (hereinafter referred to as “ There is a need for a vehicle control program development system that can properly aggregate modules (referred to as modules) and efficiently create source code for the vehicle control program.
[0010]
An object of the present invention is to appropriately aggregate modules required for development of the vehicle control program based on the destination of the vehicle for which the vehicle control program is to be developed, the mounted parts, and the supplementary information, and It is to provide a vehicle control program development system capable of efficiently creating a program source code.
[0011]
[Means for Solving the Problems]
The above purpose is
(1) A function for defining an output signal to be returned from the vehicle control device to the mounting component or an external device in response to an input signal given to the vehicle control device from various mounting components mounted on the vehicle is source code. A module library in which the modules described as are respectively recorded corresponding to the combination of the type of vehicle drive part and the destination of the vehicle,
[0012]
(2) Information for identifying each module recorded in the module library, information for identifying a mounting part to be controlled by the module, and the destination of the vehicle on which the mounting part is to be mounted Compile switch information, which is set based on the module information including the information for specifying the type of the destination and the vehicle driving part, the destination of the vehicle to which the mounting part is to be mounted, and the type of the vehicle driving part, A module database in which program generation pattern information is recorded in association with each other.
[0013]
(3) Module extraction means for extracting, from the module database, module information for controlling each of the mounting parts of the vehicle based on the input destination, the type of the vehicle driving part, and the mounting part.
[0014]
(4) Main function recording means in which source codes of main functions that call various functions used in the vehicle control program are recorded as templates.
[0015]
(5) Based on the module information extracted by the module extraction means, the source code of the corresponding module acquired from the module library is created based on the compile switch information according to the program generation pattern information A vehicle control program source code description means for describing a source code of a vehicle control program by being inserted into a predetermined location of a template recorded in the main function recording means together with a switch,
A vehicle control program development system, characterized by comprising:
Achieved by:
[0016]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, the vehicle control program development system according to the present invention will be described in detail with reference to FIG.
[0017]
The vehicle control program development system according to the present invention includes:
(1) A function for defining an output signal to be returned from the vehicle control device to the mounting component or an external device in response to an input signal given to the vehicle control device from various mounting components mounted on the vehicle is a source code.
[0018]
(2) Information for identifying each module, information for identifying a mounting part to be controlled by the module, and a vehicle to which the mounting part is to be mounted, recorded in the
[0019]
(3) module extraction means 4 for extracting module information for controlling each of the mounting parts of the vehicle from the module database based on the input destination, the type of the vehicle driving part and the mounting part;
[0020]
(4) Main function recording means 3 in which source codes of main functions that call various functions used in the vehicle control program are recorded as templates.
[0021]
(5) Based on the module information extracted by the module extracting means 4, the source code of the corresponding module acquired from the
It is a vehicle control program development system characterized by having.
[0022]
The various mounting parts mounted on the vehicle include, for example, various vehicle driving parts such as an engine, a transmission, a driving device, a braking device, a steering device, a catalyst, EGR, an electric throttle, a cruise control, an immobilizer, or the like. It means various sensors (for example, oxygen sensor, thermostat, etc.) attached to the mounting part. The external device means, for example, a warning device attached to a vehicle instrument panel or the like, a vehicle diagnostic tester, a computer, or the like.
[0023]
That is, in the present specification, the term “vehicle control” means not only to appropriately operate various mounting parts mounted on a target vehicle, but also to perform vehicle diagnosis using the external device. Also means.
[0024]
Therefore, the output signal to be returned from the vehicle control device to the mounting component is an output signal for appropriately controlling the vehicle, and the output signal to be returned from the vehicle control device to the external device is: This is an output signal for diagnosing the operating status of the mounted parts. In the
[0025]
The vehicle control program development system includes information for specifying each module, information for specifying a mounting part to be controlled by the module, a destination of the vehicle to which the mounting part is to be mounted, and a vehicle Module information including information for specifying the type of the driving component, compile switch information set based on the destination of the vehicle to which the mounting component is to be mounted and the type of the vehicle driving component, and program generation It has a
[0026]
The information for specifying the module means, for example, the path indicating the location where the
[0027]
Further, in the vehicle control program development system, a vehicle information input user interface (not shown) is used by the user to input the destination of the vehicle for which the control program is to be developed, the type of the vehicle drive component, and the mounted component. ). As described above, the “destination” here refers to the country or region where the vehicle is sold, and if this destination is different, various regulations (for example, legal regulations, etc.) that the vehicle should satisfy are different. Therefore, even if it is the same type of vehicle drive parts (for example, manual transmission, automatic transmission, etc.) and the same mounting parts, if the destination is different, it is necessary to change the program for controlling these mounting parts There is.
[0028]
In the
[0029]
By the way, as is well known in the technical field, there are not a few kinds of various mounting parts to be mounted on the vehicle that need to be controlled at a predetermined timing, and the vehicle control program is suitable for each mounting part. It is important to program to call the function defined by the module at the timing.
[0030]
Therefore, in the vehicle control program development system, program generation pattern information in the vehicle control program is recorded in association with each module. Preferably, the program generation pattern information is information on time intervals, order, and priority at which functions represented by the modules are to be executed in the vehicle control program.
[0031]
Further, the vehicle control program development system has main function recording means 3 in which source codes of main functions that call various functions used in the vehicle control program to be developed are recorded as templates. Preferably, the main function is recorded in the main function recording means 3 as a template in which a portion where a source code representing various functions is to be described is set in advance for each timing at which the function is to be called in the vehicle control program. The
[0032]
That is, in the vehicle control program development system, the source of the corresponding module acquired from the
[0033]
On the other hand, as described above, in this technical field, instead of writing a separate source code for each vehicle variation, a generic source code common to the vehicle type is described, and the source code is compiled and linked. In general, it is common practice to obtain an executable object code corresponding to each vehicle variation from the same source code by setting a suitable switch according to each variation and performing conditional compilation. Yes.
[0034]
Therefore, the
[0035]
The compile switch set as described above is a condition necessary for conditional compilation of the source code of the vehicle control program according to the switch given to the compiler when the source code of the vehicle control program is compiled. It is desirable to be a sentence.
[0036]
Furthermore, in a preferred aspect of the present invention, information other than information relating to an input signal given to the vehicle control device from various mounting components mounted on the vehicle or an output signal to be returned from the vehicle control device to the mounting component or an external device. Supplementary information is also recorded in the
[0037]
Not only when the supplementary information as described above exists, but also when there is information that cannot be obtained from the
[0038]
Further, the module extraction means 4 in the vehicle control program development system allows the user to freely select a specific module from the plurality of modules when there are a plurality of modules to be extracted by the module extraction means 4. It may further have a function of providing a user interface (not shown).
[0039]
In this case, the
[0040]
In a more preferred aspect of the present invention, the module information recorded in the
[0041]
In particular, in an organization where improvement / new development of modules is performed every day, such as in a large company, the latest module is automatically selected by the above function. This is desirable because it is possible to avoid a situation where a module is selected and the latest module is not used.
[0042]
By the way, the
[0043]
Therefore, in a preferred aspect of the present invention, the vehicle control program development system analyzes the
[0044]
For example, the compile switch shaping means (not shown in the figure) is provided with the compile switch including all the vehicle variations inputted using the vehicle information input user interface (not shown in the figure) as the
[0045]
Also, when source code is described by mechanically combining various information as described above, the same compile switch is set even within a range where modules representing functions to be called at the same time interval should be described. There is a tendency for the source code to be described to be redundant, for example, certain locations appear repeatedly. In such redundant source code, for example, when it is attempted to manually correct the source code, it is difficult to find a portion to be corrected, and as a result, the program of the source code, such as omission of correction, etc. Source code is generally desirable to be concise because it tends to induce the above defects.
[0046]
Therefore, the vehicle control program development system has the same compile switch as long as modules representing functions to be called at the same time interval are to be described, similarly to the compile switch shaping means (not shown). Is further provided with a compile switch integration means (not shown) that finds a place where is repeatedly set and compiles it into one compile switch as long as the order and priority recorded in the
[0047]
Further, in a further preferred aspect of the present invention, the vehicle control program development system automatically creates a list of various mounted parts and / or a list of supplementary information related to the mounted parts controlled by the vehicle control program. It may further have a specification creation means (not shown).
[0048]
Conventionally, a list of various mounting parts controlled by the vehicle control program as described above and / or a list of supplementary information related to the mounting parts is created at the beginning of the design of the vehicle control program. If any corrections occurred during the development process, it was generally corrected to reflect these corrections, but these lists created by human work in this way are corrected. There was a tendency to include many human errors such as leaks and errors. However, in the vehicle control program development system, since these lists are automatically created as described above, there is little room for human error to enter and a highly reliable one can be created. .
[0049]
Furthermore, in a preferred aspect of the present invention, the vehicle control program development system compiles and links the
[0050]
The vehicle control program object code creating means (not shown) is a so-called “compiler” for a programming language used to describe the
[0051]
Further, in a further preferred aspect of the present invention, the vehicle control program development system attaches an execution type object code created by the vehicle control program object code creation means (not shown) to the vehicle control device. Vehicle control program storage means (not shown) may be further stored in the storage medium. As an example of the vehicle control program storage means (not shown), there is a vehicle control program printing means for printing the object code on a ROM mounted on the vehicle control device.
[0052]
The
[0053]
Further, in a further preferred aspect of the present invention, the vehicle control program development system includes a list of various mounted parts controlled by the vehicle control program, created by the specification creation means (not shown), and It may also have a function of transferring a list of supplementary information related to the mounted part via a network.
[0054]
Furthermore, in a further preferred aspect of the present invention, the vehicle control program development system is configured to specify information for identifying each module recorded in the
[0055]
Furthermore, in a preferred aspect, the present invention relates to a vehicle control apparatus that stores an object code of an execution format created by the vehicle control program development system. Since such a vehicle control device operates according to the object code of the execution format created based on the source code accurately described by the vehicle control program development system according to the present invention, as described above, There are few human errors and it is highly reliable in terms of quality.
[0056]
Furthermore, the present invention, in a preferred embodiment, relates to a storage medium for storing a source code or an execution type object code of a vehicle control program created by the vehicle control program development system. The storage medium is not limited to the above-mentioned ROM, and for example, any storage known in the art such as a flexible disk, CD-ROM, CD-R, CD-RW, magneto-optical disk, magnetic tape, etc. Includes media.
[0057]
Next, the vehicle control program development method according to the present invention will be described in detail with reference to FIG.
[0058]
The vehicle control program development method according to the present invention includes:
(1) A function for defining an output signal to be returned from the vehicle control device to the mounting component or an external device in response to an input signal given to the vehicle control device from various mounting components mounted on the vehicle is a source code. Are stored in the
[0059]
(2) Information for identifying each module recorded in the
[0060]
(3) A vehicle
[0061]
(4) The module extracting means 4 extracts module information for controlling each of the mounting parts of the vehicle from the
[0062]
(5) A main function recording step (not shown) in which the source code of the main function that calls various functions used in the vehicle control program is recorded as a template in the main function recording means 3;
[0063]
(6) Based on the module information extracted by the module extraction means by the vehicle control program source code description means 5, the source code of the corresponding module acquired from the
A vehicle control program development method characterized by comprising:
[0064]
In a preferred embodiment, in the module
[0065]
The supplementary information includes a conforming value determined by a test result of the vehicle and / or a constant value related to whether or not a function for monitoring the operating state of a mounted part or sensor by an external device is to be introduced into the vehicle control device. It is desirable to become.
[0066]
The compile switch created on the basis of the compile switch information in the vehicle control program source
[0067]
The program generation pattern information is preferably information regarding time intervals, order, and priority at which the module should be executed in the vehicle control program.
[0068]
When there is information that cannot be obtained from the
[0069]
Further, the vehicle control program development method includes a user interface for allowing a user to freely select a specific module from the plurality of modules when there are a plurality of modules to be extracted by the module extracting unit 4 ( A module manual selection step (not shown) that stores information in the module extraction means 4 to identify a specific module to be manually selected by the user. it can.
[0070]
Furthermore, in the vehicle control program development method, the module information recorded in the
[0071]
Further, as described above, the vehicle control program development method analyzes the
[0072]
In a preferred aspect of the present invention, the vehicle control program development method automatically creates a list of various mounted parts controlled by the vehicle control program and / or a list of supplementary information related to control of the mounted parts. It may further comprise a specification creation step (not shown).
[0073]
In a further preferred aspect of the present invention, the vehicle control program development method compiles and links the
[0074]
In a further preferred aspect of the present invention, in the vehicle control program development method, the execution type object code created in the vehicle control program object code creation step (not shown) is attached to the vehicle control device. It may further comprise a vehicle control program burning step (not shown) for burning to ROM.
[0075]
【The invention's effect】
According to the vehicle control program development system according to the present invention and the vehicle control program development method using the system, based on the destination of the vehicle to which the vehicle control program is to be developed, the mounted parts, and the supplementary information, the vehicle control program Modules required for development can be appropriately integrated, and the source code of the vehicle control program can be efficiently created.
[Brief description of the drawings]
FIG. 1 is a schematic diagram showing the configuration of a vehicle control program development system according to the present invention.
FIG. 2 is a flowchart showing a vehicle control program development method according to the present invention.
[Explanation of symbols]
1 ... Module database
2 ... Module library
3 ... Main function recording means
4 ... Module extraction means
5 ... Vehicle control program source code description means
6 ... Vehicle control program source code
10 ... Module library accumulation step
20 ... Module database accumulation step
30 ... Vehicle information registration step
40 ... Module extraction step
50 ... Vehicle control program source code description step
Claims (15)
(2)前記モジュールライブラリーに記録されている、各モジュールを特定するための情報、当該モジュールによって制御されるべき装着部品を特定するための情報、及び当該装着部品が装着されるべき車輌の仕向け先及び車輌駆動部品の種類を特定するための情報を含んでなる、モジュール情報、当該装着部品が装着されるべき車輌の仕向け先及び車輌駆動部品の種類に基づいて設定される、コンパイルスイッチ情報、並びにプログラム生成パターン情報が関連付けられて記録される、モジュールデータベース、
(3)入力された仕向け先及び車輌駆動部品の種類並びに装着部品に基づいて、当該車輌の装着部品の各々を制御するためのモジュール情報を前記モジュールデータベースから抽出する、モジュール抽出手段、
(4)車輌制御プログラムにおいて使用される各種関数をコールするメイン関数のソースコードがテンプレートとして記録される、メイン関数記録手段、
(5)前記モジュール抽出手段によって抽出されたモジュール情報に基づいて、前記モジュールライブラリーから取得した該当するモジュールのソースコードを、前記プログラム生成パターン情報に従って、前記コンパイルスイッチ情報に基づいて作成されるコンパイルスイッチと共に、前記メイン関数記録手段に記録されたテンプレートの所定の箇所に挿入することによって、車輌制御プログラムのソースコードを記述する、車輌制御プログラムソースコード記述手段、
を有することを特徴とする、車輌制御プログラム開発システム。(1) A function for defining an output signal to be returned from the vehicle control device to the mounting component or an external device in response to an input signal given to the vehicle control device from various mounting components mounted on the vehicle is source code. A module library in which the modules described as are respectively recorded corresponding to the combination of the type of vehicle drive part and the destination of the vehicle,
(2) Information for identifying each module recorded in the module library, information for identifying a mounting part to be controlled by the module, and the destination of the vehicle on which the mounting part is to be mounted Compile switch information, which is set based on the module information including the information for specifying the type of the destination and the vehicle driving part, the destination of the vehicle to which the mounting part is to be mounted, and the type of the vehicle driving part, A module database in which program generation pattern information is recorded in association with each other.
(3) Module extraction means for extracting, from the module database, module information for controlling each of the mounting parts of the vehicle based on the input destination, the type of the vehicle driving part, and the mounting part.
(4) Main function recording means in which source codes of main functions that call various functions used in the vehicle control program are recorded as templates.
(5) Based on the module information extracted by the module extraction means, the source code of the corresponding module acquired from the module library is created based on the compile switch information according to the program generation pattern information A vehicle control program source code description means for describing a source code of a vehicle control program by being inserted into a predetermined location of a template recorded in the main function recording means together with a switch,
A vehicle control program development system comprising:
前記モジュール抽出手段によって抽出されるべきモジュールが複数存在する場合に、当該複数のモジュールの各々の履歴情報を前記モジュールデータベースから参照して、当該複数のモジュールから最新のモジュールを特定する機能を、前記モジュール抽出手段が更に有することを特徴とする、請求項1〜7のいずれか1項に記載の車輌制御プログラム開発システム。Module information recorded in the module database further includes module history information,
When there are a plurality of modules to be extracted by the module extracting means, the function of referring to the history information of each of the plurality of modules from the module database and identifying the latest module from the plurality of modules, The vehicle control program development system according to any one of claims 1 to 7, further comprising a module extraction unit.
(2)前記モジュールライブラリーに記録されている、各モジュールを特定するための情報、当該モジュールによって制御されるべき装着部品を特定するための情報、当該装着部品が装着されるべき車輌の仕向け先及び車輌駆動部品の種類を特定するための情報を含んでなる、モジュール情報、当該装着部品が装着されるべき車輌の仕向け先及び車輌駆動部品の種類に基づいて設定される、コンパイルスイッチ情報、並びにプログラム生成パターン情報が関連付けられてモジュールデータベースに記録される、モジュールデータベース蓄積ステップ、(2) Information for identifying each module recorded in the module library, information for identifying a mounting part to be controlled by the module, and a destination of a vehicle to which the mounting part is to be mounted And module information including information for specifying the type of the vehicle drive part, compile switch information set based on the destination of the vehicle to which the mounting part is to be mounted and the type of the vehicle driving part, and A module database accumulation step in which program generation pattern information is associated and recorded in the module database;
(3)制御プログラムを開発しようとする車輌の仕向け先及び車輌駆動部品の種類、並びに装着部品が、車輌情報入力用ユーザーインターフェースを利用して入力される、車輌情報入力ステップ、(3) A vehicle information input step in which a destination of a vehicle to be developed for a control program, a type of a vehicle drive part, and a mounted part are input using a vehicle information input user interface;
(4)モジュール抽出手段が、入力された仕向け先及び車輌駆動部品の種類並びに装着部品に基づいて、当該車輌の装着部品の各々を制御するためのモジュール情報を前記モジュールデータベースから抽出する、モジュール抽出ステップ、(4) Module extraction means that module extraction means extracts module information for controlling each of the mounting parts of the vehicle from the module database based on the input destination, the type of the vehicle driving part and the mounting part. Step,
(5)車輌制御プログラムにおいて使用される各種関数をコールするメイン関数のソー(5) The main function source that calls various functions used in the vehicle control program スコードがテンプレートとしてメイン関数記録手段に記録される、メイン関数記録ステップ、A main function recording step in which a code is recorded in the main function recording means as a template;
(6)前記モジュール抽出ステップによって抽出されたモジュール情報に基づいて、前記モジュールライブラリーから取得した該当するモジュールのソースコードを、前記プログラム生成パターン情報に従って、前記コンパイルスイッチ情報に基づいて作成されるコンパイルスイッチと共に、前記メイン関数記録手段に記録されたテンプレートの所定の箇所に挿入することによって、車輌制御プログラムのソースコードを記述する、車輌制御プログラムソースコード記述ステップ、(6) Based on the module information extracted by the module extracting step, the source code of the corresponding module acquired from the module library is created based on the compile switch information according to the program generation pattern information A vehicle control program source code description step for describing a source code of a vehicle control program by inserting it into a predetermined location of a template recorded in the main function recording means together with a switch,
を有することを特徴とする、車輌制御装置作成方法。A vehicle control device creation method characterized by comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002188148A JP3904485B2 (en) | 2002-06-27 | 2002-06-27 | Vehicle control program development system, vehicle control device, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002188148A JP3904485B2 (en) | 2002-06-27 | 2002-06-27 | Vehicle control program development system, vehicle control device, and storage medium |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004026083A JP2004026083A (en) | 2004-01-29 |
JP2004026083A5 JP2004026083A5 (en) | 2005-04-07 |
JP3904485B2 true JP3904485B2 (en) | 2007-04-11 |
Family
ID=31182980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002188148A Expired - Fee Related JP3904485B2 (en) | 2002-06-27 | 2002-06-27 | Vehicle control program development system, vehicle control device, and storage medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3904485B2 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1835366A4 (en) * | 2004-12-07 | 2014-08-13 | Hitachi Ltd | Automobile controller, and its software creating method and system |
JP4828271B2 (en) * | 2006-03-20 | 2011-11-30 | 富士通株式会社 | Software generation apparatus for multiple OS versions and software generation support program for multiple OS versions |
JP2008059312A (en) * | 2006-08-31 | 2008-03-13 | Hitachi Ltd | Controller and development system therefor |
JP4618240B2 (en) * | 2006-12-12 | 2011-01-26 | 株式会社デンソー | Object-oriented vehicle control system and program loading support system |
JP2008242873A (en) * | 2007-03-28 | 2008-10-09 | Hitachi Ltd | Software automatic configuring device and method |
JP5111262B2 (en) * | 2008-06-27 | 2013-01-09 | 株式会社日立製作所 | Embedded control device |
-
2002
- 2002-06-27 JP JP2002188148A patent/JP3904485B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004026083A (en) | 2004-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6071317A (en) | Object code logic analysis and automated modification system and method | |
CN101739339B (en) | Program dynamic dependency relation-based software fault positioning method | |
WO2006071709A1 (en) | Test procedures using pictures | |
US20060059423A1 (en) | Apparatus, system, and method for creating customized workflow documentation | |
Boot et al. | Automated test of ECUs in a hardware-in-the-loop simulation environment | |
US20060107121A1 (en) | Method of speeding up regression testing using prior known failures to filter current new failures when compared to known good results | |
RU2601141C2 (en) | System and method for providing diagnostic information on faults | |
JP3904485B2 (en) | Vehicle control program development system, vehicle control device, and storage medium | |
US20050049736A1 (en) | Microcomputer resource utilization estimation program, microcomputer resource utilization estimation apparaus, and program development method | |
Laird et al. | The Soar User’s Manual Version 8.6. 3 | |
WO2006071710A1 (en) | Test procedures using pictures | |
JPH0748182B2 (en) | Program error detection method | |
US20070245327A1 (en) | Method and System for Producing Process Flow Models from Source Code | |
JP2009104252A (en) | Debugging support device and debugging support method | |
Grossmann et al. | Testml-a test exchange language for model-based testing of embedded software | |
JP6822928B2 (en) | Automatic method of generating test group identification information, programs, electronic controls, and vehicles | |
JPH10133914A (en) | Computer system and device input/output simulator | |
Morozov et al. | Llvm-based stochastic error propagation analysis of manually developed software components | |
US20100287415A1 (en) | Method of making an enduring universal tool for developing equipment tests and tool for the implementation thereof | |
Gruber et al. | Automotive requirements validation and traceability analysis with AQL queries | |
Desel et al. | Model validation in controller design | |
JP3368795B2 (en) | Compilation control method, compilation device, and recording medium | |
de Souza Santos | Assessing and improving code transformations to support software evolution | |
JPH0981371A (en) | Automatic version-up method and device for source code | |
Santen | Debugging Frame Conditions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040527 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040527 |
|
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: 20061212 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070109 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100119 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110119 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120119 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130119 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140119 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150119 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |