JP4403945B2 - 制御プログラムの検査方法及び検査装置及び検査プログラム - Google Patents

制御プログラムの検査方法及び検査装置及び検査プログラム Download PDF

Info

Publication number
JP4403945B2
JP4403945B2 JP2004302268A JP2004302268A JP4403945B2 JP 4403945 B2 JP4403945 B2 JP 4403945B2 JP 2004302268 A JP2004302268 A JP 2004302268A JP 2004302268 A JP2004302268 A JP 2004302268A JP 4403945 B2 JP4403945 B2 JP 4403945B2
Authority
JP
Japan
Prior art keywords
control program
inspection
execution
control
program
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
Application number
JP2004302268A
Other languages
English (en)
Other versions
JP2005202925A (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.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Priority to JP2004302268A priority Critical patent/JP4403945B2/ja
Priority to DE102004060865A priority patent/DE102004060865A1/de
Priority to US11/015,676 priority patent/US7681183B2/en
Publication of JP2005202925A publication Critical patent/JP2005202925A/ja
Application granted granted Critical
Publication of JP4403945B2 publication Critical patent/JP4403945B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging

Description

この発明は、制御モデルをもとに作成されるとともに電子制御装置に実装された制御プログラムの検査方法及び該制御プログラムの検査に用いられる検査装置及び検査プログラムに関する。
例えば車載エンジン等を制御する制御プログラムの開発には通常、
(ア)設計(制御)仕様(制御モデル)に基づいて制御プログラムを作成(コーディング)する工程。
(イ)該作成した制御プログラムの異常の有無を検査、修正(デバッグ)する工程。
(ウ)該デバッグした制御プログラムを用いて実際の車両にてデバッグ、適合(実車チェック)する工程。
(エ)この実車チェックの結果に基づいて更に制御プログラムを修正する工程。
等々が含まれる。
また近年は、こうした制御プログラムの開発において、その要求仕様を記述する制御モデルからプログラム言語にて記述された制御プログラムを自動的に生成する工程を有するモデルベース開発も行われている。このモデルベース開発では、制御モデルをコンピュータ上でシミュレーションすることで、その制御モデルの動作等の妥当性が検証される。また、制御モデルの構築自体は、制御プログラムの作成よりも簡易に行うことができるため、こうしたモデルベース開発を採用することで、制御プログラム開発の効率化を図ることも可能となる。
ところで、上記制御プログラムを自動生成または人間によってプログラミング(ハンドコーディング)する場合、制御プログラムと制御モデルをデバッグする方法として、例えばパーソナルコンピュータによるシミュレーション上での動作のみでなく、電子制御装置上でも確実に動作することを確認することが重要である。このため、上記自動生成もしくは人間によってプログラミング(ハンドコーディング)された制御プログラムを電子制御装置に実装した状態でもデバッグが行われる。そしてこの際、上記制御プログラムは、例えば既存のRTOS(Real Time Operating System)等に組み込まれて上記電子制御装置が有する巨大な制御プログラムの一部として実装されることも多い。そのため、制御モデル及び制御プログラムのいずれか一方のデバッグ作業で何らかの問題が発見されたときには、その問題の箇所と対応する箇所を他方において特定することが極めて困難となる。
この発明は、こうした実情に鑑みてなされたものであり、モデルベース開発を行うにあたって、制御モデルや電子制御装置に実装された制御プログラムの異常の有無を簡易に検査することのできる制御プログラムの検査方法、及び該制御プログラムの検査に用いる検査装置及び検査プログラムを提供することを目的とする。
こうした目的を達成すべく、請求項1に記載の制御プログラムの検査方法あるいは請求項21に記載の制御プログラムの検査装置では、制御モデルのシミュレーションを実行するシミュレーション手段の実行範囲と前記実装された制御プログラムの実行をモニタするプログラム実行管理手段の実行範囲とを関連付けする同期手段を用い、それら関連付けされた実行範囲毎の実行結果に基づいて前記制御モデル及び前記実装された制御プログラムの少なくとも一方の異常の有無を検査するようにした。
ここで、上記プログラム実行管理手段は、同期手段と電子制御装置との間で行われるデータの授受、例えば上記電子制御装置に実装された制御プログラムの実行によって演算される変数値や同制御プログラムの実行位置等のデータの授受を通じてその動作を管理するものである。したがって、このプログラム実行管理手段は、例えば上記電子制御装置に対して制御プログラムの実行や停止等の指示を出したり、あるいは同電子制御装置による制御プログラムの実行をモニタ(監視)したりすることも可能である。このため、上記構成のように、このプログラム実行管理手段と上記同期手段とを用いて、電子制御装置に実装された制御プログラムの実行範囲と制御モデルのシミュレーションの実行範囲とをそれぞれ関連付けることで、それら実行範囲での実行結果に基づきこれら制御プログラムや制御モデルの異常の有無の検査を簡易に行うことができるようになる。
また、請求項2に記載の制御プログラムの検査方法あるいは請求項22に記載の制御プログラムの検査装置では、前記同期手段による実行範囲の関連付けが、前記制御プログラムの作成に際して取得される前記制御モデルと該制御モデルから作成される制御プログラムとの対応関係を表す対応情報に基づいて行われるようにした。
制御モデルから制御プログラムを作成する際、それら制御モデルと制御プログラムとの対応関係を表す対応情報の取得が可能となる。この対応情報を用いることで、上記制御モデルのシミュレーションの実行結果と制御プログラムの実行結果とをより適切に関連付けることができるようになる。
また、請求項3に記載の制御プログラムの検査方法あるいは請求項23に記載の制御プログラムの検査装置では、前記対応情報は、前記制御モデルと前記実装された制御プログラムとの互いに対応する位置の関係を表す情報である実行位置対応情報を含み、前記同期手段による実行範囲の関連付けは、前記制御モデル及び前記実装された制御プログラムのいずれか一方に対して検査開始箇所及び検査終了箇所が設定されることに基づき、他方に対しても前記実行位置対応情報に基づきその対応する検査開始箇所及び検査終了箇所が設定されることによって行われるようにした。
制御モデルから制御プログラムを作成する際、上記対応情報の一つとして、それら制御モデルと制御プログラムとの互いに対応する位置の関係を表す情報である実行位置対応情報の取得が可能となる。そして、その実行位置対応情報に基づき、制御モデルや制御プログラムの異常の有無の検査を行う区間、すなわち検査開始箇所及び検査終了箇所を、それら制御モデルと制御プログラムとにそれぞれ対応するかたちで設定することで、たとえ検査対象となる制御プログラムが電子制御装置の有する巨大な制御プログラムの一部として実装される場合であれ、その検査対象領域(検査区間)を容易に検出することができるようになる。これにより、上記検査対象となる制御プログラムの検査についてもこれをより容易に行うことができるようになる。また、上記方法あるいは装置によれば、例えばユーザ自身が外部から制御モデル及び電子制御装置に実装された制御プログラムのうちのいずれか一方を任意に選択し、その一方に検査区間を設定することで、他方にもその検査区間に対応する検査区間が自動的に設定されるため、従来困難とされていたそれら制御モデル及び制御プログラム間の対応箇所の特定も容易且つ的確になされるようになる。
また、請求項4に記載の制御プログラムの検査方法あるいは請求項24に記載の制御プログラムの検査装置では、前記対応情報は、前記制御モデルと前記実装された制御プログラムとの互いに対応する位置の関係を表す情報である実行位置対応情報を含み、前記同期手段による実行範囲の関連付けは、前記制御モデル及び前記実装された制御プログラムのいずれか一方に対して検査開始箇所及び検査終了箇所、並びにそれら制御モデルのシミュレーションあるいは制御プログラムの実行にかかる処理の中間監視ポイントである1乃至複数の中間監視箇所が設定されることに基づき、他方に対しても前記実行位置対応情報に基づきその対応する検査開始箇所及び検査終了箇所、並びに中間監視箇所が設定されることによって行われるようにした。
この場合も、制御モデルから制御プログラムを作成する際、上記対応情報の一つとして、それら制御モデルと制御プログラムとの互いに対応する位置の関係を表す情報である実行位置対応情報の取得が可能となる。そしてここでは、その実行位置対応情報に基づき、上記検査開始箇所及び検査終了箇所に加えて、上記中間監視箇所を併せて設定可能としたことにより、制御プログラムの検査箇所の選定にかかる自由度も大きく向上されるようになる。すなわち、制御プログラムの検査を所望する任意の中間監視ポイントに対応して該中間監視箇所を設定することで、より木目の細かい検査が可能になるとともに、上記請求項3に記載の制御プログラムの検査方法あるいは請求項23に記載の制御プログラムの検査装置に比べてその利便性もさらに向上されるようになる。
また、請求項5に記載の制御プログラムの検査方法あるいは請求項25に記載の制御プログラムの検査装置では、特に前記検査開始箇所及び前記検査終了箇所についてこれを、それぞれ前記制御モデルを構成する各機能ブロック毎に設定可能とした。
このように、前記検査開始箇所及び検査終了箇所を前記制御モデルを構成する機能ブロック毎に設定可能とすることで、特に品質条件が厳しい機能のみの検査や、従来の機能ブロックに新たに追加した機能ブロックのみの検査を行うことができるようになる。なお、制御モデルの全体を検査したい場合には、前記検査開始箇所及び検査終了箇所を当該制御モデルの全体に設定するようにしてもよい。
また、請求項6に記載の制御プログラムの検査方法あるいは請求項26に記載の制御プログラムの検査装置では、前記制御モデル及び前記実装された制御プログラムにそれぞれ設定される前記検査開始箇所及び前記検査終了箇所を、前記制御モデルのシミュレーションの実行及び前記制御プログラムの実行のそれぞれの停止箇所として設定可能とした。
このように、上記実行位置対応情報に基づき、制御モデルと電子制御装置に実装された制御プログラムとの互いに対応する位置に停止箇所(ブレークポイント)を設定することで、制御モデルのシミュレーションの実行及び制御プログラムの実行をその停止箇所で簡易に同期(関連付け)させることができるようになる。なお、この同期は、例えばシミュレーション実行中の制御モデル及び処理実行中の制御プログラムのうちの上記停止箇所に先に到達した一方が、他方がその停止箇所に到達するまで待機することによって実現される。
また、請求項7に記載の制御プログラムの検査方法あるいは請求項27に記載の制御プログラムの検査装置では、前記制御モデル及び前記実装された制御プログラムのそれぞれに設定された各検査開始箇所において入力される変数値、及び同各検査開始箇所において保持されている前記制御モデルのシミュレーションによって演算される変数値、及び前記制御プログラムの実行によって演算される変数値の少なくとも一つを変更可能とした。
このように、それぞれの検査開始箇所において入力される変数値、及び同各検査開始箇所において保持されている前記制御モデルのシミュレーションによって演算される変数値、及び前記制御プログラムの実行によって演算される変数値の少なくとも一つを変更可能とすることで、制御モデルのシミュレーションの実行と制御プログラムの実行との双方についての当該検査の開始条件を揃えることができ、ひいては制御プログラムや制御モデルの異常の有無の検査をより適切に行うことができるようになる。
またこの際、請求項8に記載の制御プログラムの検査方法あるいは請求項28に記載の制御プログラムの検査装置のように、前記制御モデルのシミュレーションの実行及び前記制御プログラムの実行がそれぞれ前記設定された検査開始箇所に到達する都度、前記対応情報に基づき該検査開始箇所において入力される変数値、及び同検査開始箇所において保持されている前記制御モデルのシミュレーションによって演算される変数値、及び前記制御プログラムの実行によって演算される変数値の少なくとも一つを前記同期手段を通じて変更して双方の実行条件を揃えるようにすることで、当該検査の開始条件を自動的に揃えることができ、ひいては制御プログラムや制御モデルの異常の有無の検査をより簡易に行うことができるようになる。また例えば、上記対応情報に基づき制御モデル及び電子制御装置に実装された制御プログラムのうちのいずれか一方の変数値を変更したり、入力データファイル等から取り込んだデータ(変数値)で双方の変数値を変更したりして、それら双方の変数値を合わせることも可能となる。
また、請求項9に記載の制御プログラムの検査方法あるいは請求項29に記載の制御プログラムの検査装置では、前記検査終了箇所において保持されている前記制御モデルのシミュレーションによって演算される変数値と前記検査終了箇所において保持されている前記制御プログラムの実行によって演算される変数値とをそれぞれ出力可能とした。
このように、検査終了箇所において制御モデルのシミュレーションの実行と制御プログラムの実行とによってそれぞれ演算された変数値(実行結果)を出力可能とすることで、上記制御プログラムや制御モデルの異常の有無の検査をより簡易に行うことができるようになる。例えば、記憶装置にデータ(それぞれの変数値)を蓄積したり、表示装置にそれぞれの変数値を可視表示させたりすることで、ユーザ自身が双方の変数値を比較して制御プログラムや制御モデルの異常の有無の検査を行うことが可能となる。また、上記請求項6〜8のいずれか一項に記載の方法や請求項26〜28のいずれか一項に記載の装置と併用することで、上記検査開始箇所において制御モデルと制御プログラムとの双方の実行位置や変数値をより容易に揃えることができるようになり、これにより上記検査終了箇所において出力される双方の変数値の関連付けをより適切なものとすることが可能となる。
またこの際、請求項10に記載の制御プログラムの検査方法あるいは請求項30に記載の制御プログラムの検査装置のように、前記制御モデルのシミュレーションの実行及び前記制御プログラムの実行がそれぞれ前記設定された検査終了箇所に到達する都度、前記検査終了箇所において保持されている前記制御モデルのシミュレーションによって演算される変数値と前記検査終了箇所において保持されている前記制御プログラムの実行によって演算される変数値とを前記同期手段を通じてそれぞれ出力することで、上記検査終了箇所において制御モデルのシミュレーションの実行と制御プログラムの実行とによってそれぞれ演算された変数値(実行結果)を自動的に出力することができ、ひいては制御プログラムや制御モデルの異常の有無の検査をより効率的に行うことができるようになる。また、例えばユーザ自身が外部から制御モデル及び電子制御装置に実装された制御プログラムのうちのいずれか一方の変数(値)を任意に選択することで、上記対応情報に基づき、それに対応する他方の変数(値)を自動的に出力データファイル等に出力することも可能となる。
一方、上記請求項2に記載の制御プログラムの検査方法あるいは請求項22に記載の制御プログラムの検査装置において、請求項11に記載の制御プログラムの検査方法あるいは請求項31に記載の制御プログラムの検査装置のように、前記対応情報は、前記制御モデルと前記実装された制御プログラムとの互いに対応する位置の関係を表す情報である実行位置対応情報を含み、前記同期手段による実行範囲の関連付けは、前記制御モデル及び前記実装された制御プログラムのいずれか一方に対してそれら制御モデルのシミュレーションあるいは制御プログラムの実行にかかる処理の中間監視ポイントである1乃至複数の中間監視箇所が設定されることに基づき、他方に対しても前記実行位置対応情報に基づきその対応する1乃至複数の中間監視箇所が設定されることによって行われるようにすることもできる。
この場合も上記請求項3または4に記載の制御プログラムの検査方法、あるいは請求項23または24に記載の制御プログラムの検査装置と同様、制御モデルから制御プログラムを作成する際、上記対応情報の一つとして、それら制御モデルと制御プログラムとの互いに対応する位置の関係を表す情報である実行位置対応情報の取得が可能となる。そして、その実行位置対応情報に基づき、制御モデルや制御プログラムの異常の有無の検査を行うポイント、すなわち上記1乃至複数の中間監視箇所を、それら制御モデルと制御プログラムとにそれぞれ対応するかたちで設定することで、たとえ検査対象となる制御プログラムが電子制御装置の有する巨大な制御プログラムの一部として実装される場合であれ、その検査対象ポイントを容易に検出することができるようになる。これにより、上記検査対象となる制御プログラムの検査についてもこれをより容易且つ簡便に行うことができるようになる。また、上記方法あるいは装置によっても、例えばユーザ自身が外部から制御モデル及び電子制御装置に実装された制御プログラムのうちのいずれか一方を任意に選択し、その一方に中間監視箇所を設定することで、他方にもその中間監視箇所に対応する中間監視箇所が自動的に設定されるため、従来困難とされていたそれら制御モデル及び制御プログラム間の対応箇所の特定も容易且つ的確になされるようになる。
また、先の請求項4〜10に記載の制御プログラムの検査方法、あるいは請求項24〜30に記載の制御プログラムの検査装置も含めて、これら請求項11に記載の制御プログラムの検査方法あるいは請求項31に記載の制御プログラムの検査装置のように1乃至複数の中間監視箇所の設定が可能となる場合には、請求項12に記載の制御プログラムの検査方法あるいは請求項32に記載の制御プログラムの検査装置のように、前記1乃至複数の中間監視箇所において保持されている前記制御モデルのシミュレーションによって演算される変数値と前記1乃至複数の中間監視箇所において保持されている前記制御プログラムの実行によって演算される変数値とについてもこれらをそれぞれ出力可能とすることが望ましい。
このように、中間監視箇所において制御モデルのシミュレーションの実行と制御プログラムの実行とによってそれぞれ演算された変数値(実行結果)を出力可能とすることで、上記制御プログラムや制御モデルの異常の有無の検査をより簡易に行うことができるようになる。すなわちこの場合も、例えば記憶装置にデータ(それぞれの変数値)を蓄積したり、表示装置にそれぞれの変数値を可視表示させたりすることで、ユーザ自身が双方の変数値を比較して制御プログラムや制御モデルの異常の有無の検査を行うことが可能となる。なお、上記制御プログラムが電子制御装置に実装されている場合、前述したRTOS(Real Time Operating System)の特性上、制御プログラムの方が制御モデルよりも先に検査区間に到達して待機状態となるなど、該制御プログラムの実行が一旦停止されると、これに伴い演算処理も停止されて、初期化等の復帰処理が実行されてしまう懸念もある。この点、中間監視箇所において制御モデルのシミュレーションの実行と制御プログラムの実行とによってそれぞれ演算された変数値(実行結果)、特に制御プログラムの実行によって演算された変数値(実行結果)を、例えば記憶装置にその都度出力して蓄積することのできる同方法あるいは装置によれば、たとえ制御プログラムの方が制御モデルよりも先に検査区間、すなわち中間監視箇所に到達したとしても、該中間監視箇所において制御プログラムの実行を停止(待機)させる必要がなくなることから、こうした懸念も解消され、より円滑な検査の実行が可能となる。
また、同じく請求項4〜11のいずれかに記載の制御プログラムの検査方法、あるいは請求項24〜31に記載の制御プログラムの検査装置において、請求項13に記載の制御プログラムの検査方法、あるいは請求項33に記載の制御プログラムの検査装置のように、前記制御モデルのシミュレーションの実行及び前記制御プログラムの実行がそれぞれ前記設定された1乃至複数の中間監視箇所に到達する都度、前記1乃至複数の中間監視箇所において保持されている前記制御モデルのシミュレーションによって演算される変数値と前記1乃至複数の中間監視箇所において保持されている前記制御プログラムの実行によって演算される変数値とを前記同期手段を通じてそれぞれ出力するようにすれば、上記中間監視箇所において制御モデルのシミュレーションの実行と制御プログラムの実行とによってそれぞれ演算された変数値(実行結果)を自動的に出力することができ、ひいては制御プログラムや制御モデルの異常の有無の検査をより効率的に行うことができるようになる。また、例えばユーザ自身が外部から制御モデル及び電子制御装置に実装された制御プログラムのうちのいずれか一方の変数(値)を任意に選択することで、上記対応情報に基づき、それに対応する他方の変数(値)を自動的に出力データファイル等に出力することも可能となる。そしてこの場合も、たとえ制御プログラムの方が制御モデルよりも先に中間監視箇所に到達したとしても、該中間監視箇所において制御プログラムの実行を停止(待機)させる必要はない。
また、上記請求項3〜10のいずれかに記載の制御プログラムの検査方法、あるいは請求項23〜30に記載の制御プログラムの検査装置において、請求項14に記載の制御プログラムの検査方法、あるいは請求項34に記載の制御プログラムの検査装置では、前記異常の有無の検査が、前記同期手段により関連付けされた前記各実行範囲毎の実行結果を比較する比較手段によって行われるようにした。
上記比較手段を用いて制御モデルのシミュレーションの上記実行結果と電子制御装置に実装された制御プログラムの上記実行結果とを比較することで、それら実行結果の適否が自動的に判断されるようになる。したがって、ユーザ自身がそれら実行結果の比較を行う必要がなくなり、ひいては制御プログラムや制御モデルの異常の有無の検査をより効率的に行うことができるようになる。
また、これら請求項14に記載の制御プログラムの検査方法あるいは請求項34に記載の制御プログラムの検査装置において、請求項15に記載の制御プログラムの検査方法あるいは請求項35に記載の制御プログラムの検査装置では、前記対応情報は、前記制御モデルの処理にかかる変数値と前記実装された制御プログラムの処理にかかる変数値との対応関係を表す変数対応情報を含み、前記比較手段による比較が、前記制御モデル及び前記実装された制御プログラムのそれぞれに設定された各検査終了箇所において保持されている前記制御モデルのシミュレーションによって演算される変数値と前記制御プログラムの実行によって演算される変数値との前記変数対応情報に基づく比較として行われるようにした。
制御モデルはコンピュータ上でのシミュレーションであるため変数値は理論値となるが、電子制御装置に実装された制御プログラムは、複数の処理が重なることや、制御プログラムと組み込みあわせるOS(RTOS)の処理機能上の問題により、制御モデルの対応する処理によって演算される変数値と異なるものとなることがある。この点、上記方法あるいは装置によれば、それぞれの検査終了箇所において保持されている制御モデルのシミュレーションによって演算される変数値と制御プログラムによって演算される変数値とを、制御モデルから制御プログラムを作成する際に取得される変数対応情報に基づき上記比較手段に比較させることによって、そのような変数値の不一致にかかる異常を的確に検出することができるようになる。
一方、上記請求項4〜13のいずれかに記載の制御プログラムの検査方法、あるいは請求項24〜33に記載の制御プログラムの検査装置、すなわち実行位置対応情報に基づく前記同期手段による実行範囲の関連付けが1乃至複数の中間監視箇所を含めて行われるものにおいても、請求項16に記載の制御プログラムの検査方法、あるいは請求項36に記載の制御プログラムの検査装置では、前記異常の有無の検査が、前記同期手段により関連付けされた前記各実行範囲毎の実行結果を比較する比較手段によって行われるようにしている。
すなわちこの場合も、上記比較手段を用いて制御モデルのシミュレーションの上記実行結果と電子制御装置に実装された制御プログラムの上記実行結果とを比較することで、それら実行結果の適否が自動的に判断されるようになる。したがって、ユーザ自身がそれら実行結果の比較を行う必要がなくなり、ひいては制御プログラムや制御モデルの異常の有無の検査をより効率的に行うことができるようになる。
また、これら請求項16に記載の制御プログラムの検査方法あるいは請求項36に記載の制御プログラムの検査装置において、請求項17に記載の制御プログラムの検査方法あるいは請求項37に記載の制御プログラムの検査装置では、前記対応情報は、前記制御モデルの処理にかかる変数値と前記実装された制御プログラムの処理にかかる変数値との対応関係を表す変数対応情報を含み、前記比較手段による比較が、前記制御モデル及び前記実装された制御プログラムのそれぞれに設定された各中間監視箇所において保持されている前記制御モデルのシミュレーションによって演算される変数値と前記制御プログラムの実行によって演算される変数値との前記変数対応情報に基づく比較として行われるようにした。
上述のように、制御モデルはコンピュータ上でのシミュレーションであるため変数値は理論値となるが、電子制御装置に実装された制御プログラムは、複数の処理が重なることや、制御プログラムと組み込みあわせるOS(RTOS)の処理機能上の問題により、制御モデルの対応する処理によって演算される変数値と異なるものとなることがある。この点、上記方法あるいは装置によれば、1乃至複数の中間監視箇所において保持されている制御モデルのシミュレーションによって演算される変数値と制御プログラムによって演算される変数値とを、制御モデルから制御プログラムを作成する際に取得される変数対応情報に基づき上記比較手段に比較させることによって、そのような変数値の不一致にかかる異常を的確に検出することができるようになる。
なお、上記請求項15または17に記載の制御プログラムの検査方法、あるいは請求項35または37に記載の制御プログラムの検査装置のようなこうした変数値の比較による異常の有無の検査は、請求項18に記載の制御プログラムの検査方法あるいは請求項38に記載の制御プログラムの検査装置のように、前記制御モデルのシミュレーションによって演算される変数値と前記制御プログラムの実行によって演算される変数値との差が許容範囲内にないか否かに基づいて行うようにしてもよい。
すなわち、制御モデルの実行にかかるシミュレーション手段の演算精度と制御プログラムの実行にかかる電子制御装置の演算精度とが双方で異なること等に起因して、演算された変数値がわずかながら一致しない場合がある。このような場合、制御モデル及び制御プログラムは共に正常であり、変数値が不一致でも正常と判定されることが望ましい。この点、上記方法あるいは装置のように、双方の変数値の差が許容範囲内にないか否かに基いて検査を行うこととすれば、制御プログラムや制御モデルの異常の有無の検査をより適切に行うことができるようになる。
また、上記請求項14〜18のいずれかに記載の制御プログラムの検査方法、あるいは請求項34〜38に記載の制御プログラムの検査装置において、請求項19に記載の制御プログラムの検査方法あるいは請求項39に記載の制御プログラムの検査装置では、前記比較手段により異常がある旨の判断がなされたとき、前記制御モデルのシミュレーションの実行位置と前記制御プログラムの実行位置とを前記検査の結果として出力するようにした。
こうした方法あるいは装置によれば、制御プログラムや制御モデルにおいて異常が検出された箇所を、ユーザ自身が容易に把握することができるようになる。
そして、上記請求項14〜19のいずれかに記載の制御プログラムの検査方法、あるいは請求項34〜39に記載の制御プログラムの検査装置において、請求項20に記載の制御プログラムの検査方法あるいは請求項40に記載の制御プログラムの検査装置では、前記比較手段による異常の有無の検査の結果をデータの蓄積に用いられる記憶手段及びデータの可視表示に用いられる表示手段の少なくとも一方に出力するようにした。
このように、上記検査の結果を記憶手段に蓄積することとすれば、それら検査結果(データ)の管理が容易となり、ひいてはデータ管理の効率化が図られるようになる。すなわち、例えばそれら蓄積されたデータに対してグラフ化等の処理を施すことで、その全体的な傾向を把握することも容易となり、制御モデルや制御プログラム開発の短縮化にも貢献できるようになる。また、上記検査の結果を表示手段に可視表示させることとすれば、当該検査の結果をユーザ自身が簡易に把握することができるようになる。
他方、請求項41に記載の制御プログラムの検査プログラムでは、コンピュータを通じて実行されて制御モデル及び制御プログラムの少なくとも一方の異常の有無を検査する手段として、a.前記制御モデルのシミュレーションを実行するシミュレーション手段の実行範囲と前記実装された制御プログラムの実行をモニタするプログラム実行管理手段の実行範囲とを関連付けする手段、b.前記シミュレーション手段及び前記プログラム実行管理手段に対してそれぞれシミュレーションの実行及び制御プログラムのモニタを指示する手段、c.前記関連付けされる制御モデルのシミュレーションの実行範囲と前記制御プログラムの実行範囲との各実行結果とを比較することで前記異常の有無を検査する手段、を含むようにした。
このような検査プログラムによれば、制御モデルのシミュレーションの上記実行結果と電子制御装置に実装された制御プログラムの上記実行結果とをそれぞれ対応する実行範囲毎に関連付けてそれらを比較することができ、制御プログラムや制御モデルの異常の有無の検査を簡易に行うことができるようになる。
また、請求項42に記載の制御プログラムの検査プログラムでは、前記関連付けする手段は、前記制御プログラムの作成に際して取得される前記制御モデルと該制御モデルから作成される制御プログラムとの対応関係を表す対応情報に基づいて前記関連付けを行い、前記異常の有無を検査する手段は、同対応情報に基づいて前記比較を行うようにした。
制御モデルから制御プログラムを作成する際、それら制御モデルと制御プログラムとの対応関係を表す対応情報の取得が可能となる。この対応情報を用いることで、上記制御モデルのシミュレーションの実行結果と制御プログラムの実行結果とをより適切に関連付けることができるようになる。
一方、請求項43に記載の制御プログラムの検査プログラムでは、コンピュータを通じて実行されて制御モデル及び制御プログラムの少なくとも一方の異常の有無を検査する手段として、a.前記制御モデルのシミュレーションを実行するシミュレーション手段の実行範囲と前記実装された制御プログラムの実行をモニタするプログラム実行管理手段の実行範囲とを関連付けする手段、b.前記シミュレーション手段及び前記プログラム実行管理手段に対してそれぞれシミュレーションの実行及び制御プログラムのモニタを指示する手段、c.前記関連付けされる制御モデルのシミュレーションの実行範囲と前記制御プログラムの実行範囲との各実行結果とをそれぞれ出力する手段、を含むようにした。
このような検査プログラムによれば、制御モデルのシミュレーションの上記実行結果と電子制御装置に実装された制御プログラムの上記実行結果とをそれぞれ対応する実行範囲毎に関連付けてそれらを出力することができ、これによっても制御プログラムや制御モデルの異常の有無の検査を簡易に行うことができるようになる。すなわち、上記請求項41に記載の検査プログラムのように、必ずしもプログラム上で「比較」を行わずとも、上記各実行結果をそれぞれ対応する実行範囲毎に関連付けてそれらを「出力」することで、同制御プログラムや制御モデルの異常の有無を検査することはできる。
また、この請求項43に記載の制御プログラムの検査プログラムにおいて、請求項44に記載の検査プログラムでは、前記関連付けする手段は、前記制御プログラムの作成に際して取得される前記制御モデルと該制御モデルから作成される制御プログラムとの対応関係を表す対応情報に基づいて前記関連付けを行い、前記各実行結果を出力する手段は、同対応情報に基づいて前記実行結果の出力を行うようにした。
上述のように、制御モデルから制御プログラムを作成する際、それら制御モデルと制御プログラムとの対応関係を表す対応情報の取得が可能となる。そしてこの場合も、この取得される対応情報を用いることで、上記制御モデルのシミュレーションの実行結果と制御プログラムの実行結果とをより適切に関連付けることができるようになる。
また、上記請求項42または44に記載の制御プログラムの検査プログラムにおいて、請求項45に記載の検査プログラムでは、前記対応情報は、前記制御モデルと前記制御プログラムとの互いに対応する位置の関係を表す情報である実行位置対応情報を含み、前記関連付けする手段は、前記制御モデル及び前記実装された制御プログラムのいずれか一方に対して検査開始箇所及び検査終了箇所が設定されることに基づき、他方に対しても前記実行位置対応情報に基づきその対応する検査開始箇所及び検査終了箇所を設定することによって前記関連付けを行うものであって、且つ、前記制御モデル及び前記制御プログラムの少なくとも一方の異常の有無の検査を行う手段として、d.前記制御モデルのシミュレーションの実行と前記制御プログラムの実行とのそれぞれについての前記設定された検査開始箇所及び検査終了箇所への到達を検出する手段、をさらに含むようにした。
上記検査プログラムによれば、制御モデルから制御プログラムを作成する際に取得される実行位置対応情報に基づき、制御モデルや制御プログラムの異常の有無の検査を行う区間、すなわち検査開始箇所及び検査終了箇所を、それら制御モデルと制御プログラムとにそれぞれ対応するかたちで設定することで、たとえ検査対象となる制御プログラムが電子制御装置の有する巨大な制御プログラムの一部として実装される場合であれ、その制御プログラムの検査をより容易に行うことができるようになる。また、上記検査プログラムによれば、例えばユーザ自身が外部から制御モデル及び電子制御装置に実装された制御プログラムのうちのいずれか一方を任意に選択し、その一方に検査区間を設定することで、他方にもその検査区間に対応する検査区間を自動的に設定することが可能となる。
また、この請求項45に記載の制御プログラムの検査プログラムにおいて、請求項46に記載の検査プログラムでは、前記対応情報は、前記制御モデルの処理にかかる変数値と前記実装された制御プログラムの処理にかかる変数値との対応関係を表す変数対応情報を含み、前記制御モデル及び前記制御プログラムの少なくとも一方の異常の有無を検査する手段は、少なくとも前記制御モデル及び前記実装された制御プログラムのそれぞれに設定された各検査終了箇所において保持されている前記制御モデルのシミュレーションによって演算される変数値と前記制御プログラムの実行によって演算される変数値とを前記変数対応情報に基づき比較することによって前記異常の有無の検査を行うものとした。
上述のように、制御モデルはコンピュータ上でのシミュレーションであるため変数値は理論値となるが、電子制御装置に実装された制御プログラムは、複数の処理が重なることや、制御プログラムと組み込みあわせるOS(RTOS)の処理機能上の問題により、制御モデルの対応する処理によって演算される変数値と異なるものとなることがある。この点、上記検査プログラムのよれば、それぞれの検査終了箇所において保持されている制御モデルのシミュレーションによって演算される変数値と制御プログラムによって演算される変数値とを、制御モデルから制御プログラムを作成する際に取得される変数対応情報に基づき比較させることによって、そのような変数値の不一致にかかる異常を好適に検出することができるようになる。
一方、上記請求項42または44に記載の制御プログラムの検査プログラムにおいて、請求項47に記載の検査プログラムでは、前記対応情報は、前記制御モデルと前記制御プログラムとの互いに対応する位置の関係を表す情報である実行位置対応情報を含み、前記関連付けする手段は、前記制御モデル及び前記実装された制御プログラムのいずれか一方に対してそれら制御モデルのシミュレーションあるいは制御プログラムの実行にかかる処理の中間監視ポイントである1乃至複数の中間監視箇所が設定されることに基づき、他方に対しても前記実行位置対応情報に基づきその対応する1乃至複数の中間監視箇所を設定することによって前記関連付けを行うものであって、且つ、前記制御モデル及び前記制御プログラムの少なくとも一方の異常の有無の検査を行う手段として、d.前記制御モデルのシミュレーションの実行と前記制御プログラムの実行とのそれぞれについての前記設定された1乃至複数の中間監視箇所への到達を検出する手段、をさらに含むようにした。
上記検査プログラムによれば、制御モデルから制御プログラムを作成する際に取得される実行位置対応情報に基づき、制御モデルや制御プログラムの異常の有無の検査を行うポイント、すなわち中間監視箇所を、それら制御モデルと制御プログラムとにそれぞれ対応するかたちで設定することで、たとえ検査対象となる制御プログラムが電子制御装置の有する巨大な制御プログラムの一部として実装される場合であれ、その制御プログラムの検査をより容易に行うことができるようになる。また、上記検査プログラムによれば、例えばユーザ自身が外部から制御モデル及び電子制御装置に実装された制御プログラムのうちのいずれか一方を任意に選択し、その一方に中間監視箇所を設定することで、他方にもその中間監視箇所に対応する中間監視箇所を自動的に設定することが可能となる。
また、この請求項47に記載の制御プログラムの検査プログラムにおいて、請求項48に記載の検査プログラムでは、前記対応情報は、前記制御モデルの処理にかかる変数値と前記実装された制御プログラムの処理にかかる変数値との対応関係を表す変数対応情報を含み、前記制御モデル及び前記制御プログラムの少なくとも一方の異常の有無を検査する手段は、少なくとも前記制御モデル及び前記実装された制御プログラムのそれぞれに設定された各中間監視箇所において保持されている前記制御モデルのシミュレーションによって演算される変数値と前記制御プログラムの実行によって演算される変数値とを前記変数対応情報に基づき比較することによって前記異常の有無の検査を行うものとした。
これも上述のように、制御モデルはコンピュータ上でのシミュレーションであるため変数値は理論値となるが、電子制御装置に実装された制御プログラムは、複数の処理が重なることや、制御プログラムと組み込みあわせるOS(RTOS)の処理機能上の問題により、制御モデルの対応する処理によって演算される変数値と異なるものとなることがある。この点、上記検査プログラムのよれば、それぞれの中間監視箇所において保持されている制御モデルのシミュレーションによって演算される変数値と制御プログラムによって演算される変数値とを、制御モデルから制御プログラムを作成する際に取得される変数対応情報に基づき比較させることによって、そのような変数値の不一致にかかる異常を好適に検出することができるようになる。
なお、こうした検査プログラムとしては、例えば請求項49に記載のように、
(イ)コンピュータを通じて実行されて制御モデル及び制御プログラムの少なくとも一方の異常の有無を検査する手段として、前記制御モデルのシミュレーションを実行するシミュレーション手段との間で、そのシミュレーションの実行範囲と同制御モデルから作成される制御プログラムの実行範囲とを関連付けする手段を備えるもの。
あるいは請求項50に記載のように、
(ロ)コンピュータを通じて実行されて制御モデル及び制御プログラムの少なくとも一方の異常の有無の検査を行う手段として、電子制御装置とのデータ授受を通じて同電子制御装置に実装された制御プログラムの動作を管理するプログラム実行管理手段との間で、前記実装された制御プログラムを実行する電子制御装置の実行範囲と前記制御モデルのシミュレーション実行範囲とを関連付けする手段を備えるもの。
とすることでも、必要十分な検査の簡易化を図ることはできる。
そして、これらいずれの場合であれ、請求項51に記載のように、
(ハ)前記関連付けする手段は、前記制御モデルから前記制御プログラムを作成する際に取得されるそれら制御モデルと制御プログラムとの対応関係を表す対応情報に基づいて前記関連付けを行うもの。
とすることで、上記制御プログラムの実行範囲と上記制御モデルのシミュレーション実行範囲とをより適切に関連付けることができるようになる。
(第1の実施の形態)
以下、この発明にかかる制御プログラムの検査方法及び検査装置及び検査プログラムについてその第1の実施の形態を示す。なお、この実施の形態では、電子制御装置(ECU)に搭載(実装)されて車載エンジンの制御を行う制御プログラムの検査にこの発明を適用している。
図1は、この実施の形態にかかる制御プログラムの作成、並びに検査手順の概要を示すフローチャートである。
同図1に示されるように、ここではまず、ステップS1の処理として、制御仕様開発者が、車両に搭載する電子制御装置の性能や開発のコンセプト等に基づいて実現したい仕様(要求仕様)を定義し、適宜の要求仕様記述言語を用いてその要求仕様が記述された制御モデルを構築する。次に、こうして構築された制御モデルのシミュレーションを実行することで、同制御モデルが正当な機能と妥当な性能を有するものであるか否かを検証する。そして、この検証結果に基づき、適宜、制御モデルを修正する。
次に、ステップS2の処理として、上記制御モデルから例えばC言語にて記述された制御プログラムを自動生成する。
ステップS3では、上記制御モデルのシミュレーションを実行するとともに、制御プログラムを実行することで、互いの対応関係を維持しつつ制御モデルや制御プログラムの異常の有無の検査を行う。そして、制御プログラムに異常がある旨の判断がなされると、制御プログラムが修正される。またこの際、制御プログラムを例えばROM(Read Only Memory)等のメモリ(記憶装置)に焼き付けて(記憶させて)、これを電子制御装置に搭載(実装)した状態でもデバッグを行う。この際、同制御プログラムは、例えば既存のRTOS(Real Time Operating System)等に組込み実装される。また、制御プログラムを検証した結果、制御モデルが妥当でないと判断される場合には、上記ステップS1に戻り、制御モデルを修正するようにしてもよい。もしくは制御プログラムが妥当でないと判断される場合には、上記ステップS2に戻り、制御プログラムを修正するようにしてもよい。(図1の破線参照)。
こうして制御プログラムのデバッグが終了すると、ステップS4の処理として、同制御プログラムを実装した電子制御装置を車両に搭載して実際の車両でデバッグ、適合を行う。そして、このデバッグ、適合の結果に基づき制御プログラムに妥当でない箇所がある場合には、ステップS1あるいはステップS2に戻って制御モデルを修正し、上記ステップS1〜S4の処理を繰り返す。この一連の処理は、制御プログラムが妥当であると判断されるまで行われる。
以下、上記ステップS3での処理、すなわち電子制御装置に実装された制御プログラムのデバッグ処理について詳細に説明する。
まず、図2を参照して、制御プログラムの生成及びデバッグに用いるシステム(検査装置)の概略構成について説明する。なお、図2は同システムの概略構成を模式的に示すブロック図である。
図2に示すように、この検査システムにはまず、モデル格納部10が設けられている。このモデル格納部10には、先の図1のステップS1にて構築され検証のなされた制御モデルが格納されている。そして、この制御モデルに基づいて、自動コード生成部12により、制御プログラムとして例えばC言語にて記述されたソースコードが自動生成され、この生成された制御プログラム(ソースコード)がプログラム格納部14に格納される。そして、このプログラム格納部14に格納されているソースコードが適宜にコンパイルされて生成された制御プログラムが既存のRTOS及び前記制御プログラムとは別に作成された既存の制御プログラムと結合されて上記ROM等に焼き付けられ、この実施の形態での検査対象として電子制御装置(ECU)21に実装されている。ちなみに、上記制御プログラムとは別に作成された既存の制御プログラムとは、例えば従来の手法(コードベース開発)により、仕様書をもとにハンドコーディングされた制御プログラムのことである。なお、新規に制御プログラムを起こす場合には、その全てを上記制御モデルとして構築しておき、制御プログラム(ソースコード)の全てをこの制御モデルから自動生成するようにしてもよい。また一方、対応情報作成部16は、上記自動コード生成部12による制御プログラム(ソースコード)の自動生成に際して、上記制御モデルとこの制御プログラムとの各実行位置や変数値等に関する対応関係を表す対応情報を作成する部分である。この作成された対応情報は、対応情報格納部18に格納される。
図3〜図5に、上記モデル格納部10に格納されている制御モデル、並びに該制御モデルから自動生成される制御プログラム、そしてそれらの対応関係を表すべく作成される対応情報についてその一例を示す。
まず図3は、上記モデル格納部10に格納されている制御モデルを模式的に示したものである。なおここでは、制御モデルの一例として、車載エンジンの燃料噴射量の演算及び噴射タイミングの演算を行うモデルを示している。
同図3に示されるように、この制御モデルは、ブロックB1〜B7からなる機能要素を有して構成されている。このうち、ブロックB1は、図示しないエンジンのクランク角度が所定のクランク角と一致したときに、ブロックB2及びブロックB6にトリガを与えるブロックである。ブロックB2は、上記所定のクランク角をトリガとして基本噴射量を演算するブロックである。ブロックB3は、上記ブロックB2によって演算された基本噴射量をブロックB4に書き込むブロックである。ブロックB4は、基本噴射量を記憶するブロック(ストレージ)である。ブロックB5は、記憶されている基本噴射量を読み出すブロックである。ブロックB6は、上記所定のクランク角をトリガとして上記基本燃料噴射量を補正するための補正量を演算するブロックである。ブロックB7は、その補正量と上記読み出した基本噴射量とに基づき噴射タイミングを演算するブロックである。
なお、同図3中に示す矢印は、処理の順序を規定するとともに、各処理の施されたデータの流れを示すものである。例えば、ブロックB7の処理は、ブロックB5及びブロックB6の処理の後に行われるようにその処理順序が規定されている。
また、図4は、上記制御モデルから自動生成される制御プログラムの一例を示したものである。この制御プログラムにより、上記制御モデルにおける上記各ブロックの処理順序が規定されるようになる。
同図4に示されるように、この制御プログラムでは、先の図3に示した制御モデルが、ブロックB2、B3、B6、B5、B7の順で処理される。より詳しくは、まず、ブロックB1からトリガを受け取ったブロックB2が基本噴射量を計算する。そして、ブロックB3は、ブロックB2が計算した基本噴射量を入力し、それをブロックB4に書き込む。その後、ブロックB1からトリガを受け取ったブロックB6は、上記ブロックB2が計算した基本燃料噴射量を補正するための補正量を計算する。次いで、ブロックB5は、ブロックB4に記憶されている基本噴射量を読み出す。そして、ブロックB7は、ブロックB5及びB6から基本噴射量及びその補正量を入力し、それらに基づいて噴射タイミングを計算する。
すなわち、この制御プログラムによれば、基本噴射量が算出された後、その補正量が算出され、それらに基づいて噴射タイミングが計算される。
また、図5は、上記対応情報作成部16によって作成される対応情報の一例を示したものである。
同図5に示されるように、この対応情報は、先にもふれた2種の対応情報を有している。
その1つは、制御モデルの位置(ブロック)と制御プログラムの実行ポイント(実行位置)との対応関係を表す実行位置対応情報である。この実行位置対応情報は、制御モデルのブロックB2、B3、B5〜B7と制御プログラムの有するラベルL1〜L5とを対応付けることで、制御プログラムの実行位置からそれに対応する制御モデルのブロックを、あるいは逆に制御モデルのブロックからそれに対応する制御プログラムの実行位置を検索(特定)することを可能としている。
他の1つは、制御モデルのブロック結線(ブロック間の結線が表す変数)やストレージ(ブロックB4等、記憶にかかるブロック)と、制御プログラムの変数との対応関係を表す変数対応情報である。この変数対応情報は、制御モデルのブロック結線/ストレージ(変数)と制御プログラムの変数とを対応付けることで、制御モデルのブロック結線/ストレージからそれに対応する制御プログラムの変数を、あるいは逆に制御プログラムの変数からそれに対応する制御モデルのブロック結線/ストレージを検索(特定)することを可能としている。
一方、図2に示すシステムにおいて、シミュレーション部(シミュレーション手段)20は、上記モデル格納部10に格納されている制御モデルのシミュレーションを実行する部分である。また、プログラム実行管理部(プログラム実行管理手段)22は、上記電子制御装置(ECU)21と例えばバス接続されて、上記ROM等に格納されている制御プログラムとの間での各種データの授受を通じてその動作を管理する部分である。
また、同じく図2に示すシステムにおいて、検査区間設定部24は、上記シミュレーション部20及びプログラム実行管理部22のいずれか一方に対して検査区間の設定を指示する部分である。また、同期部(同期手段)26は、この検査区間設定部24を通じて検査区間の設定が指示された側の他方に対して、上記対応情報格納部18に格納されている対応情報に基づきその対応する(関連する)検査区間の設定を指示する部分である。同期部26のこのような機能によって、シミュレーション部20を通じてシミュレーションされる制御モデルとプログラム実行管理部22を通じてその動作が管理されつつ電子制御装置21により実行される制御プログラムとの関連付けが行われるようになる。また、信号生成部23は、エンジン制御において用いられる各種センサ信号を擬似的に生成して、これを上記電子制御装置21に与える部分である。なお、該信号生成部23では、上記各種センサ信号を擬似的に生成して電子制御装置21に与えた後、その制御プログラムによる実行結果を取り込みつつ、次に電子制御装置21に与えるべき擬似信号を生成するといった処理を繰り返し実行することとなる。また、この信号生成部23は、例えばエンジンやこれが搭載される車両そのものであってもよい。
また一方、この図2に示すシステムは、上記シミュレーション部20による制御モデルのシミュレーションの実行結果と上記プログラム実行管理部22を介した電子制御装置21による制御プログラムの実行結果とを逐次比較する比較部(比較手段)27を備えている。この比較部27による比較結果は、表示部(表示手段)28によって可視表示されるとともに、結果格納部(記憶手段)29に対して逐次格納(蓄積)される。なお、上記各要素は、シミュレーションプログラムや電子制御装置21とのインターフェースプログラム、さらには同期部26による同期化等の処理を行う検査プログラムが搭載された1乃至複数台のマイクロコンピュータ等によって構成されている。また、信号生成部23及び比較部27は、例えば電子制御装置21のテストベンチ上に設けられる。
以下、図6〜図9を併せ参照して、上記電子制御装置21に実装された制御プログラムに対し、上記構成を有するシステム(検査装置)を通じて実行される検査(デバッグ)手順について詳細に説明する。
このデバッグに際し、上記モデル格納部10には、図3に例示した制御モデルが予め格納されており、また上記対応情報格納部18には、図5に例示した対応情報が予め格納されている。そして、これら制御モデル及び対応情報に対応するかたちで、すなわち図4に例示した態様で電子制御装置21のROM等には制御プログラム、RTOS及び既存の制御プログラム等が予め実装されている。
そして、この検査(デバッグ)が開始されると、上記シミュレーション部20は、モデル格納部10から制御モデルを取り込み、その取り込んだ制御モデルのシミュレーションを実行する。一方、電子制御装置21は、上記プログラム実行管理部22からの指令に基づき、自身に実装された制御プログラムを実行する。この制御プログラムの実行に際しては、上記信号生成部23によって生成された擬似的な各種センサ信号、例えば水温信号、ノック信号、吸気温信号、スロットル信号、カム角信号、クランク角信号、車速信号、等々の擬似信号が、上記電子制御装置21に与えられる。またこの際、上記プログラム実行管理部22は、上記制御プログラムによる演算結果を適宜取り込むなどして、同制御プログラムの実行にかかる挙動をモニタ(監視)する。
また、上記制御モデルのシミュレーションの実行及び上記制御プログラムの実行に先立って、それら制御モデル及び制御プログラムに対し、検査を行う区間(検査区間)が予め設定される。詳しくは、外部からの入力に基づき上記検査区間設定部24が上記シミュレーション部20及びプログラム実行管理部22のいずれか一方に検査区間の設定を指示し、その指示を受けた上記シミュレーション部20もしくはプログラム実行管理部22が制御モデルもしくは電子制御装置21に実装されている制御プログラムに検査区間を設定する。そしてこのとき、上記同期部26は、上記シミュレーション部20及びプログラム実行管理部22のいずれから検査区間が設定されたかを検出し、上記実行位置対応情報(図5参照)に基づき他方に検査区間の設定を指示する。なお、この実施の形態においては、上記検査区間、すなわち検査開始箇所及び検査終了箇所をそれぞれ示す検査開始ポイント及び検査終了ポイントが停止箇所(ブレークポイント)として設定される。
図6に、この同期部26による検査区間の設定にかかる処理をフローチャートとして示す。なお、この処理は、シミュレーション部20に制御モデルが取り込まれたこと、及びプログラム実行管理部22による制御プログラムのモニタ(監視)が可能となったことをトリガとして実行することがより望ましいが、所定周期で繰り返し実行するようにしてもよい。
図6に示すように、この一連の処理においては、まず、ステップS301及びS302において、シミュレーション部20及びプログラム実行管理部22のいずれから検査区間が設定されたかを検出する。すなわち、ステップS301において、シミュレーション部20によって検査区間の設定がなされたか否かを判断し、このステップS301において検査区間の設定がなされていないと判断されると、次に、ステップS302において、プログラム実行管理部22によって検査区間の設定がなされたか否かを判断する。これらの処理は、上記同期部26がシミュレーション部20やプログラム実行管理部22にアクセスすることで行われる。
また、ステップS301において検査区間の設定がなされたと判断されると、ステップS303の処理に移行する。そしてこのステップS303において、上記同期部26は、上記対応情報格納部18に格納された実行位置対応情報(図5参照)に基づき制御モデル上に設定された検査区間に対応する区間を特定し、これを検査区間として電子制御装置21に実装された制御プログラム上に設定するようにプログラム実行管理部22に指示する。
また一方、ステップS302において検査区間の設定がなされたと判断されると、ステップS304の処理に移行する。そしてこのステップS304において、同期部26は、同じく実行位置対応情報(図5参照)に基づき電子制御装置21に実装されている制御プログラム上に設定された検査区間に対応する区間を特定し、これを検査区間として制御モデル上に設定するようにシミュレーション部20に指示する。
他方、ステップS303、S304の処理が終了した場合や、ステップS302にて検査区間の設定がなされていないと判断された場合には、この一連の処理を終了する。
なお、上記検査区間(検査開始箇所及び検査終了箇所)は、例えば制御モデルの機能ブロック毎やラベルL1〜L5を用いて指定される制御プログラムの実行ポイント(実行位置)毎に設定可能とされる(図5参照)。
次に、図7及び図8を併せ参照して、上記制御モデルのシミュレーションの実行態様及び上記制御プログラムの実行態様について詳述する。
まず、図7を併せ参照して、シミュレーション部20による上記制御モデルのシミュレーションの実行にかかる処理について詳述する。なお、図7は、同処理の処理手順を示すフローチャートである。
この一連の処理においては、まず、ステップS311で、シミュレーション部20が、モデル格納部10に格納されている制御モデルを取り込む。次いで、ステップS312において、制御モデル上の所定の箇所に検査区間、すなわち検査開始ポイント(検査開始位置)及び検査終了ポイント(検査終了位置)が設定される(図6参照)。
そして、続くステップS313において検査区間の設定が完了したと判断されると、同期部26からの新たな実行指示(ステップS314)や、同期部26からの異常通知(ステップS319)に備えて待機する。そして、ステップS314にて実行の指示があったと判断されると、当該シミュレーション部20は、ステップS315において制御モデルのシミュレーションを実行する。なお、このシミュレーションは、上記信号生成部23から電子制御装置21に与えられる上記センサ信号等に相当する擬似的なデータをプログラム実行管理部22及び同期部26を介してシミュレーション部20にも与え、同シミュレーション部20に上記制御モデルを通じてそれらのデータを処理させるようにして行われる。
また、このシミュレーションの実行は、外部からの停止指示もしくはシミュレーションの完了が確認されるまで(ステップS316)、あるいは検査開始ポイントが検出されるまで(ステップS317)、あるいは検査終了ポイントが検出されるまで(ステップS321)行われる。
ここで、ステップS317もしくはS321において検査開始ポイントもしくは検査終了ポイントが検出されると、当該シミュレーションを停止させるとともに、ステップS318もしくはS322にて、例えばシミュレーション部20が自ら備える表示器等を通じて外部に検査開始ポイントもしくは検査終了ポイントを検出した旨を通知する。
また、上記待機中(ステップS314及びS319)に、比較部27により「変数値」や「実行位置」に異常がある旨の判断がなされると、同期部26からの異常通知に従ってこの一連の処理を終了することとなる。この際、シミュレーション部20は異常通知があった時の実行位置(停止位置)の情報を保持しており、この場合も、同シミュレーション部20が備える表示器等を通じてその情報を外部に通知する。また一方、上記待機中に新たな実行指示があったときには、制御モデルのシミュレーションを再開してステップS315以降の処理を行う。
他方、ステップS316において、外部からの停止指示があった、もしくはシミュレーションが完了したと判断されると、ステップS320において例えばシミュレーション部20が備える表示器等を通じて外部にシミュレーションが完了した旨を通知し、この一連の処理を終了することとなる。
次に、図8を併せ参照して、プログラム実行管理部22を通じた上記電子制御装置21に実装されている制御プログラムの実行にかかる処理について詳述する。なお、図8は、同処理の処理手順を示すフローチャートである。
この一連の処理においては、まず、ステップS331で、プログラム実行管理部22が、電子制御装置21に実装されている制御プログラムを取り込む。次いで、ステップS332において、制御プログラム上の所定の箇所に検査区間、すなわち検査開始ポイント及び検査終了ポイントが設定される(図6参照)。
そして、続くステップS333において検査区間の設定が完了したと判断されると、次に、同期部26からの新たな実行指示(ステップS334)や、同期部26からの異常通知(ステップS339)に備えて待機するようになる。そして、ステップS334にて実行の指示があったと判断されると、当該プログラム実行管理部22は、制御プログラムを実行するように上記電子制御装置21に指示する。そして同電子制御装置21は、この指示に従って、自身に実装されている制御プログラムを実行する(ステップS335)。なお、この制御プログラムの実行も、上記信号生成部23によって生成されたセンサ信号等に相当する擬似的データを上記電子制御装置21に与えるようにして行われる。
またこの際、同プログラム実行管理部22を通じて、上記電子制御装置21による制御プログラムの実行の挙動がモニタ(監視)される。
この制御プログラムの実行は、外部からの停止指示もしくは制御プログラムの実行の完了が確認されるまで(ステップS336)、あるいは検査開始ポイントが検出されるまで(ステップS337)、あるいは検査終了ポイントが検出されるまで(ステップS341)行われる。
ここで、ステップS337もしくはS341において検査開始ポイントもしくは検査終了ポイントが検出されると、当該制御プログラムの実行を停止させるとともに、ステップS338もしくはS342にて、例えばプログラム実行管理部22が自ら備える表示器等を通じて外部に検査開始ポイントもしくは検査終了ポイントを検出した旨を通知する。
また、上記待機中(ステップS334及びS339)に、比較部27により「変数値」や「実行位置」に異常がある旨の判断がなされると、同期部26からの異常通知に従ってこの一連の処理を終了することとなる。この際、プログラム実行管理部22は異常通知のあった時の実行位置(停止位置)の情報を保持しており、この場合も、同プログラム実行管理部22が備える表示器等を通じてその情報を外部に通知する。また一方、上記待機中に新たな実行指示があったときには、制御プログラムの実行を再開してステップS335以降の処理を行う。
他方、ステップS336において、外部からの停止指示があった、もしくは制御プログラムの実行が完了したと判断されると、ステップS340において例えばプログラム実行管理部22が備える表示器等を通じて外部に制御プログラムの実行が完了した旨を通知し、この一連の処理を終了することとなる。
また、これら図7及び図8に示した制御モデルのシミュレーションの実行及び制御プログラムの実行についてのそれぞれ同一の実行範囲での実行結果は、上記シミュレーション部20及びプログラム実行管理部22から上記比較部27へ出力される。なお、これまでの説明からも明らかなように、これら制御モデルのシミュレーションの実行と制御プログラムの実行とは、上記同期部26によってそれら各実行範囲が関連付けされている。
比較部27では、これら実行結果を入力し、それらを逐次比較することで、制御モデルや制御プログラムの異常の有無を検査する。また、同比較部27は、その比較結果を上記表示部28及び上記結果格納部29へ併せて出力する。
次に、図9を併せ参照して、上記同期部26及び比較部27によって行われる制御モデル及び制御プログラムの異常の有無の検査にかかる処理について説明する。なお、図9は、同処理の処理手順を示すフローチャートである。また、この処理は、制御モデル及び制御プログラムの双方に検査区間が設定されたことを前提として行われる。換言すれば、上記シミュレーション部20及びプログラム実行管理部22が、図7のステップS314及び図8のステップS334にて待機している時に行われる。
この一連の処理においては、まず、ステップS351において、同期部26が、制御モデルのシミュレーションを実行するように上記シミュレーション部20に指示するとともに、電子制御装置21に制御プログラムを実行させるように上記プログラム実行管理部22に指示する。そして、それらの実行は、制御モデルのシミュレーションの実行と制御プログラムの実行との双方が共に検査開始ポイントに到達するまで行われる(ステップS352及びS353)。すなわち、それら制御モデルのシミュレーションの実行及び制御プログラムの実行のいずれか一方が先に検査開始ポイントに到達すると、その一方は、同期部26にその実行位置(停止位置)を出力するとともに、他方が検査開始ポイントに到達するまで待機することとなる。
そして、ステップS352において制御モデルと制御プログラムとが共に検査開始位置にあると判断されると、ステップS354以降の処理で、制御モデルや制御プログラムの異常の有無が検査されることとなる。
すなわちまず、ステップS354において、同期部26が、上記実行位置対応情報(図5参照)に基づき、上記制御モデル及び制御プログラムの位置(実行位置)を確認する。次いで、ステップS355において、比較部27が、それら制御モデルの位置と制御プログラムの位置とが互いに対応する位置となっているか否かを判断することにより、上記制御モデルや制御プログラムの異常の有無の検査を行う。
そして、ステップS355において双方の位置が対応していると判断されると、すなわち正常であると判断されると、次にステップS356において、同期部26が、制御モデル及び制御プログラムに入力データ(変数の初期値)を与えるように上記シミュレーション部20及びプログラム実行管理部22のそれぞれに指示する。この際、制御モデルのシミュレーションの実行と制御プログラムの実行とを同一の条件で行うべく、上記変数対応情報(図5参照)に基づいて制御モデル及び制御プログラムへの入力データを揃えるようにする。なお、当該データの入力は、例えば制御モデルのブロック結線/ストレージの値(変数値)をそれに対応する制御プログラムの変数値に変更することで、あるいは逆に制御プログラムの変数値をそれに対応する制御モデルのブロック結線/ストレージの値に変更することで行われる。この際、いずれの変数値を変更するか(変更対象)は外部から指定可能となっている。また、制御モデルのブロック結線/ストレージの値と制御プログラムの変数値との双方を、予め用意した入力データファイル等から読み込んだ値に変更することも可能であり、検査開始ポイントに到達する度にその入力データファイル等から値を読み出し、上記変数対応情報(図5参照)に基づいて双方の値を変更する構成としてもよい。
次に、ステップS357において、同期部26は、制御モデルのシミュレーションを実行するように上記シミュレーション部20に指示するとともに、電子制御装置21に制御プログラムを実行させるように上記プログラム実行管理部22に指示する。これにより、制御モデルのシミュレーションと制御プログラムとが略同時に実行されることとなる。これら制御モデルのシミュレーションの実行及び制御プログラムの実行は、それら双方が共に検査終了ポイントに到達するまで行われる(ステップS358)。
そして、それら双方が共に検査終了ポイントで停止すると、次にステップS359で、同期部26が、上記変数対応情報(図5参照)に基づいて上記制御モデル及び制御プログラムの変数を確認する。次いで、ステップS360において、比較部27が、制御モデルの当該検査終了ポイントにおいて保持されているブロック結線/ストレージの値(変数値)と制御プログラムの当該検査終了ポイントにおいて保持されている変数値とが互いに対応するものであるか否かを判断することで、上記制御モデルや制御プログラムの異常の有無の検査を行う。なお、上記制御モデルのブロック結線/ストレージの値と制御プログラムの変数値とが互いに対応するものであるか否かは、これら2つの値の差が予め定めておいた許容範囲にあるか否かで判断するようにする。例えば、制御モデルのブロック結線/ストレージの値と制御プログラムの変数値とが互いに整数演算された値である場合には、両者の一致のみを許容範囲とする。また例えば、制御モデルのブロック結線/ストレージの値と制御プログラムの変数値とが互いに浮動小数点型の値である場合には、両者の差の絶対値が所定値以下であることを許容範囲とする。なお、この許容値は、上述のようにシステム定数として予め定めておくようにしてもよいし、例えば検査区間の設定時、すなわち図7のステップS312や図8のステップS332において可変設定できるようにしてもよい。
またこの際、上記制御モデルの当該検査終了ポイントにおいて保持されているブロック結線/ストレージの値(変数値)や上記制御プログラムの当該検査終了ポイントにおいて保持されている変数値を、予め用意した出力データファイル等に出力するようにしてもよい。そしてこの場合、いずれの変数値を出力するか(出力対象)は外部から指定可能とする。例えば、ユーザ自身が外部からそれら制御モデル及び制御プログラムのうちのいずれか一方の変数(値)を任意に選択することで、上記変数対応情報に基づき、それに対応する他方の変数(値)を自動的に上記出力データファイル等に出力する構成としてもよい。
そして、ステップS360において変数値が許容範囲にあると判断されると、すなわち正常であると判断されると、ステップS351に戻り、制御モデルのシミュレーションの実行と制御プログラムの実行とが再開されることとなる。
これら一連の処理は、制御モデルと制御プログラムとが全て実行されるまで(ステップS353)、あるいは上記比較部27により異常がある旨の判断がなされるまで(ステップS355及びS360)行われる。
ここで、ステップS355において双方の位置が対応していないと判断されると、同期部26は、上記シミュレーション部20及びプログラム実行管理部22に異常を通知し(図7及び図8のステップS319及びS339参照)、ステップS362において、表示部28がその旨(「実行位置異常」)を可視表示する。また、ステップS360において変数値が許容範囲にないと判断されると、同期部26は、上記シミュレーション部20及びプログラム実行管理部22に異常を通知し(図7及び図8のステップS319及びS339参照)、ステップS363において、表示部28がその旨(「変数値異常」)を可視表示する。なお、上記ステップS355において比較部27により異常がある旨の判断がなされたときは、その時点での制御モデルのシミュレーションの実行位置と制御プログラムの実行位置とを検査の結果として出力し、これを表示器等により可視表示する。また、上記ステップS360において比較部27により異常がある旨の判断がなされたときは、その時点での制御モデルのシミュレーションの実行位置と制御プログラムの実行位置、並びに異常となった変数名と変数値とを検査の結果として出力し、これを表示器等により可視表示する。これにより、当該検査の結果をユーザ自身が簡易に把握することができるようになる。
また、ステップS355及びS360における比較部27による検査の結果は、上記結果格納部29に格納されて蓄積される。そして、この蓄積された検査の結果(データ)は、例えばグラフ化等の処理が施されて、その全体的な傾向の把握等に供される。これにより、データ管理の効率化が図られるとともに、制御モデルや制御プログラムの開発の短縮化にも貢献できるようになる。
他方、ステップS353において、制御モデルと制御プログラムとが全て実行されたと判断されると、ステップS361において、シミュレーション部20やプログラム実行管理部22が備える表示器等を通じてその旨(「全て実行完了」)を可視表示する。
このような図9に示した処理を通じて、制御プログラムの処理順序に誤りがある場合や生成された制御プログラムの内容自体に誤りがある場合には、実行位置や変数値の違いとしてこれを検出することができるようになる。
そして、以上説明した作業(処理)、すなわち先の図1に示したステップS3の処理にあたる電子制御装置に実装された制御プログラムのデバッグを行った結果、同制御プログラムが妥当であると判断されれば、次に、その制御プログラムを実装した電子制御装置を実際の車両に搭載することとなる。その後、ステップS4(図1)の処理、すなわち実際の車両でのデバッグ、適合(実車チェック)を行い、この時点で制御プログラムに異常がある旨判断されるときには、前述したように制御プログラムや制御モデルの修正を検討することになる。
以上詳述したように、この実施の形態にかかる制御プログラムの検査方法及び検査装置及び検査プログラムによれば、以下に列記するような多くの優れた効果が得られるようになる。
(1)同期部26とプログラム実行管理部22とを用いて、電子制御装置(ECU)21に実装されている制御プログラムの実行結果と制御モデルのシミュレーションの実行結果とをそれぞれ対応する実行範囲毎に関連付けるようにした。これにより、双方の関連付けを自動的に行うことが可能となり、これら制御プログラムや制御モデルの異常の有無の検査を簡易に行うことができるようになる。
(2)対応情報作成部16の作成する対応情報を用いることで、シミュレーション部20による制御モデルのシミュレーションの実行位置と電子制御装置21による制御プログラムの実行位置とを適切に対応付けることができる。
(3)実行位置対応情報(図5参照)に基づき制御モデルと制御プログラムとにそれぞれ対応するかたちで検査区間を設定することで、たとえ検査対象となる制御プログラムが電子制御装置21の有する巨大な制御プログラムの一部として実装される場合であれ、それら検査対象領域を容易に関連付けすることができるようになる。
(4)検査開始ポイント及び検査終了ポイントを、制御モデルの機能ブロック毎やラベルL1〜L5を用いて指定される制御プログラムの実行ポイント(実行位置)毎に設定可能とした。これにより、制御モデルの指定する複数の処理について、自動コード生成部12によって生成された制御プログラムに新たに実行順序が規定される場合であれ、制御モデルと制御プログラムとの関連付けを容易に行うことができるようになる。
(5)同期部26を用いて、制御モデルのシミュレーションの実行と制御プログラムの実行とがそれぞれ検査開始ポイントに到達する都度、変数対応情報(図5参照)に基づいて変数値を変更し、制御モデル及び制御プログラムへの入力データを揃えるようにした。これにより、制御モデルのシミュレーションと制御プログラムとの双方についての当該検査の開始条件を揃えることができる。また、この変数値の変更は自動的に行われるため、制御プログラムや制御モデルの異常の有無の検査をより簡易に行うことができるようにもなる。
(6)同期部26を用いて、制御モデルのシミュレーションの実行及び制御プログラムの実行がそれぞれ検査終了ポイントに到達する都度、検査終了ポイントにおいてそれぞれの変数値(実行結果)を出力するようにした。これにより、上記制御プログラムや制御モデルの異常の有無の検査をより簡易に行うことができるようになる。例えば、適宜の記憶装置にデータ(それぞれの変数値)を蓄積したり、表示装置にそれぞれの変数値を可視表示させたりすることで、ユーザ自身が双方の変数値を比較して制御プログラムや制御モデルの異常の有無の検査を行うことが可能となる。また、この変数値(実行結果)の出力は自動的に行われるため、制御プログラムや制御モデルの異常の有無の検査をより効率的に行うことができるようにもなる。
(7)また、変数対応情報(図5参照)に基づき検査終了ポイントにおいて保持されている制御モデルのシミュレーションによって演算される変数値と制御プログラムの実行によって演算される変数値とを比較するようにした。これにより、双方の変数値の不一致にかかる異常を好適に検出することができるようになる。
(8)またこの際、変数値の比較を、双方の変数値の差が許容範囲内にないか否かに基づいて行うようにした。これにより、制御モデルの実行にかかるシミュレーション手段の演算精度と制御プログラムの実行にかかる電子制御装置の演算精度とが双方で異なり、演算された変数値がわずかながら一致しない場合であれ、適切な検査を行うことができるようになる。すなわち、このような許容範囲を設定することで、双方の変数値の自動判定についてもこれをより適切に行うことができるようになる。
(9)比較部27による検査の結果を結果格納部29に蓄積するようにした。これにより、検査結果(データ)の管理が容易となり、ひいてはデータ管理やプログラム開発の効率化が図られることとなる。
(10)比較部27による検査の結果を表示部28に可視表示させるようにした(図9のステップS362及びS363参照)。これにより、当該検査の結果をユーザ自身が簡易に把握することができるようになる。
(第2の実施の形態)
次に、この発明にかかる制御プログラムの検査方法及び検査装置及び検査プログラムについてその第2の実施の形態を示す。なお、この実施の形態も、電子制御装置に実装されて車載エンジンの制御を行う制御プログラムの検査にこの発明を適用している。したがって、この実施の形態にかかる制御プログラムの検査方法も先の図1に示されるステップS1〜S4の処理のうちステップS3での処理に用いられ、同ステップS3における処理、すなわち電子制御装置に実装された制御プログラムのデバック処理に用いられるシステムの概略構成(図2参照)は先の第1の実施の形態に準じたものとなっている。
すなわち、この実施の形態にあっても、図2に示されるシステム(検査装置)において、上記モデル格納部10には、先の図3に例示した制御モデルが予め格納されており、また上記対応情報格納部18には、先の図5に例示した対応情報が予め格納されている。そして、これら制御モデル及び対応情報に対応するかたちで、すなわち先の図4に例示した態様で、上記制御モデルから自動生成された制御プログラムがRTOSや既存の制御プログラム共々、電子制御装置21に予め実装されている。
そして、上記ステップS3の処理(図1参照)として上記実装された制御プログラムの検査(デバッグ)が開始されると、上記シミュレーション部20は、モデル格納部10から制御モデルを取り込み、その取り込んだ制御モデルのシミュレーションを実行する。一方、電子制御装置21は、上記プログラム実行管理部22からの指令に基づき、自身に実装された制御プログラムを実行する。この制御プログラムの実行に際しては、上記信号生成部23によって生成された擬似的な各種センサ信号、例えば水温信号、ノック信号、吸気温信号、スロットル信号、カム角信号、クランク角信号、車速信号、等々の擬似信号が、上記電子制御装置21に与えられる。またこの際、上記プログラム実行管理部22は、上記制御プログラムによる演算結果を適宜取り込むなどして、同制御プログラムの実行にかかる挙動をモニタ(監視)する。
また、上記制御モデルのシミュレーションの実行及び上記制御プログラムの実行に先立って、それら制御モデル及び制御プログラムに対し、検査を行う区間(検査区間)が予め設定される。詳しくは、先の第1の実施の形態にて図6を参照しつつ前述した通りであり、この実施の形態においても、上記検査区間、すなわち検査開始箇所及び検査終了箇所をそれぞれ示す検査開始ポイント及び検査終了ポイントが停止箇所(ブレークポイント)として設定される。
ところで、こうした検査区間(検査開始箇所及び検査終了箇所)は、前述のように、例えば制御モデルの機能ブロック毎等、比較的広い範囲で設定されることが多い。このため、検査の自由度という面においては、なお改善の余地を残すものとなっている。すなわち、ユーザ側からすれば、例えば電子回路において所望とする任意の箇所にオシロスコープのプローブをあてるがの如く、上記制御モデルや制御プログラムの検査箇所の設定に関するより自由度の高いインターフェースの提供が望まれている。
そこで、この実施の形態では、上記対応情報作成部16にて作成される実行位置対応情報(図5参照)に基づき、上記検査開始箇所及び検査終了箇所に加えて、制御モデルのシミュレーションあるいは制御プログラムの実行にかかる処理の中間監視ポイントである1乃至複数の中間監視箇所を併せて設定可能としている。詳しくは、上記シミュレーション部20及びプログラム実行管理部22に上記検査区間が設定された後、同じく外部からの入力に基づき上記検査区間設定部24が上記シミュレーション部20及びプログラム実行管理部22のいずれか一方に上記中間監視箇所の設定を指示可能とする。そして、その指示があった場合、上記シミュレーション部20もしくはプログラム実行管理部22では、制御モデルもしくは電子制御装置21に実装されている制御プログラムに対して中間監視箇所を設定する。そしてこのとき、上記同期部26は、上記シミュレーション部20及びプログラム実行管理部22のいずれから中間監視箇所が設定されたかを検出し、上記実行位置対応情報(図5参照)に基づいて他方にも中間監視箇所の設定を指示する。
なお、この実施の形態では、後述するように、上記制御モデルのシミュレーションの実行や上記制御プログラムの実行が中間監視箇所に到達しても、それらの実行は継続されるとともに、該中間監視箇所においてそれぞれ採取された変数値が予め用意されたデータファイルに出力される。そして、こうしてデータファイルに蓄積された各変数値が、後に例えば比較部27を通じて変数対応情報(図5参照)をもとに比較され、制御モデルや制御プログラムの異常の有無の判断に供されることとなる。すなわち、この中間監視箇所においては、制御モデルや制御プログラムの異常の有無の検査のために制御プログラムの実行を停止(待機)させる必要がなくなる。このため、制御プログラムの検査を所望する任意の中間監視ポイントに対応してこのような中間監視箇所を設定することで、より木目の細かい検査が可能になるとともに、先の第1の実施の形態に比べてその利便性や検査の円滑性もさらに向上されるようになる。
図10に、この同期部26による中間監視箇所の設定にかかる処理をフローチャートとして示す。なお、この処理も、例えば上記シミュレーション部20及びプログラム実行管理部22に上記検査区間が設定されたことをトリガとして実行することがより望ましいが、所定周期で繰り返し実行するようにしてもよい。
図10に示すように、この一連の処理においては、まず、ステップS401及びS402において、同期部26が、シミュレーション部20及びプログラム実行管理部22のいずれから中間監視箇所が設定されたかを検出する。すなわち、ステップS401において、シミュレーション部20によって中間監視箇所の設定がなされたか否かを判断し、このステップS401において中間監視箇所の設定がなされていないと判断されると、次に、ステップS402において、プログラム実行管理部22によって中間監視箇所の設定がなされたか否かを判断する。これらの処理は、上記同期部26がシミュレーション部20やプログラム実行管理部22にアクセスすることで行われる。
また、ステップS401において中間監視箇所の設定がなされたと判断されると、ステップS403の処理に移行する。そしてこのステップS403において、上記同期部26は、上記対応情報格納部18に格納された実行位置対応情報(図5参照)に基づき制御モデル上に設定された中間監視箇所に対応するポイントを特定し、これを中間監視箇所として電子制御装置21に実装された制御プログラム上に設定するようにプログラム実行管理部22に指示する。
また一方、ステップS402において中間監視箇所の設定がなされたと判断されると、ステップS404の処理に移行する。そしてこのステップS404において、同期部26は、同じく実行位置対応情報(図5参照)に基づき電子制御装置21に実装されている制御プログラム上に設定された中間監視箇所に対応するポイントを特定し、これを中間監視箇所として制御モデル上に設定するようにシミュレーション部20に指示する。
そして、ステップS403の処理もしくはステップS404の処理を通じて、上記シミュレーション部20及びプログラム実行管理部22にそれぞれ対応するかたちで中間監視ポイントが設定されると、次にステップS405の処理に移行する。そして、このステップS405の処理において別の中間監視箇所の設定があるか否かが判断され、別の中間監視箇所の設定があると判断される場合には、上記ステップS401の処理に戻り、該ステップS401からの処理が繰り返し実行されることとなる。
他方、上記ステップS402において中間監視箇所の設定がなされていないと判断される場合や、上記ステップS405において別の中間監視箇所の設定がなされていないと判断される場合には、この一連の処理を終了する。
なお、上記中間監視箇所は、例えば上記検査開始箇所または検査終了箇所が設定されていない上記制御モデルの機能ブロックやラベルL1〜L5を用いて指定される制御プログラムの実行ポイント(実行位置)等も含めて、任意のポイントに設定可能とされる。
次に、図11及び図12を併せ参照して、先の第1の実施の形態との相違点を中心に、この実施の形態にかかる上記制御モデルのシミュレーションの実行態様及び上記制御プログラムの実行態様について詳述する。
まず、図11を併せ参照して、シミュレーション部20による上記制御モデルのシミュレーションの実行にかかる処理について詳述する。なお、図11は、同処理の処理手順を示すフローチャートである。この実施の形態にかかる制御モデルのシミュレーションの実行手順では、先の第1の実施の形態にかかる同シミュレーションの実行手順(図7)に対して、シミュレーション部20に上記中間監視箇所が設定されたことに伴う処理(ステップS411及びS412)が新たに追加されている。
すなわち、先のステップS321において検査終了ポイントが検出されない場合には、次にステップS411の処理に移行する。そして、このステップS411の処理においてシミュレーション部20が中間監視ポイントの検出を試みる。このステップS411において中間監視ポイントが検出される場合、次にステップS412の処理に移行する。そして、このステップS412において中間監視ポイントを検出した旨を上記同期部26に通知(出力)して、上記ステップS315の処理に戻り、該ステップS315からの処理を再度実行して当該シミュレーションの実行を継続する。一方、ステップS411において中間監視ポイントが検出されない場合はそのままステップS315の処理に戻り、該ステップS315からの処理を繰り返し実行する。
なお、この実施の形態にかかる制御モデルのシミュレーションの実行に際しては、ステップS312において検査区間とともに上記中間監視箇所の設定も併せて行われる。また、次のステップS313の処理でも、上記検査開始箇所及び検査終了箇所(検査区間)の設定確認に加えて、上記中間監視箇所の設定確認が併せて行われる。
次に、プログラム実行管理部22を通じた上記電子制御装置21に実装されている制御プログラムの実行にかかる処理について詳述する。なお、図12は、同処理の処理手順を示すフローチャートである。また、この実施の形態にかかる制御プログラムの実行手順でも、先の第1の実施の形態にかかる同制御プログラムの実行手順(図8)に対して、プログラム実行管理部22に上記中間監視箇所が設定されたことに伴う処理(ステップS421及びS422)が新たに追加されている。
すなわち、先のステップS341において検査終了ポイントが検出されない場合には、次にステップS421の処理に移行する。そして、このステップS421の処理においてプログラム実行管理部22が中間監視ポイントの検出を試みる。このステップS421において中間監視ポイントが検出される場合、次にステップS422の処理に移行する。そして、このステップS422において中間監視ポイントを検出した旨を上記同期部26に通知(出力)して上記ステップS335の処理に戻り、該ステップS335からの処理を再度実行して当該制御プログラムの実行を継続する。一方、ステップS421において中間監視ポイントが検出されない場合はそのままステップS335の処理に戻り、該ステップS335からの処理を繰り返し実行する。
なお、この実施の形態にかかる制御プログラムの実行に際しても、ステップS332において検査区間とともに上記中間監視箇所の設定が併せて行われる。また、次のステップS333の処理でも、上記検査開始箇所及び検査終了箇所(検査区間)の設定確認に加えて、上記中間監視箇所の設定確認が併せて行われる。
また、これら図11及び図12に示した制御モデルのシミュレーションの実行及び制御プログラムの実行についてのそれぞれ同一の実行範囲での実行結果も、先の第1の実施の形態と同様、上記シミュレーション部20及びプログラム実行管理部22から上記比較部27へ出力される。
比較部27では、これら実行結果を入力し、それらを逐次比較することで、制御モデルや制御プログラムの異常の有無を検査する。また、同比較部27は、その比較結果を上記表示部28及び上記結果格納部29へ併せて出力する。
次に、図13を併せ参照して、ここでも先の第1の実施の形態との相違点を中心に、上記同期部26及び比較部27によって行われる制御モデル及び制御プログラムの異常の有無の検査にかかる処理について説明する。なお、図13は、同処理の処理手順を示すフローチャートである。この処理も、制御モデル及び制御プログラムの双方に検査区間及び中間監視箇所が全て設定されたことを前提として行われる。
ここで、この実施の形態にかかる制御モデル及び制御プログラムの異常の有無の検査にかかる処理でも、先の第1の実施の形態にかかる同処理(図9)に対して、同期部26に上記中間監視箇所が通知されることに伴う処理(ステップS431及びS432)が新たに追加されている。
すなわち、先のステップS357において制御モデルと制御プログラムとにそれぞれ実行指示を出した後は、ステップS431の処理に移行する。そして、このステップS431において、これら制御モデルのシミュレーションの実行及び制御プログラムが上記中間監視ポイントに到達したか否かが判断される。なお、この判断は、上記シミュレーション部20及びプログラム実行管理部22から上記中間監視箇所を検出した旨の通知があったか否かによって行われる。そしてこのステップS431において上記中間監視箇所の検出の旨の通知がそれぞれあったと判断されると、ステップS432の処理として、同期部26が、制御モデル及び制御プログラムの各対応する中間監視箇所においてそれぞれ採取された変数値を予め用意したデータファイルに出力し、次にステップS358の処理に移行する。なおこの際、表示装置にそれぞれの変数値を併せて出力してそれらを可視表示するようにしてもよい。一方、ステップS431の処理において上記中間監視箇所を検出した旨の通知がないと判断される場合はそのままステップS358の処理に移行する。そして、このステップS358の処理において制御モデルのシミュレーションの実行及び制御プログラムの実行が共に検査終了ポイントに到達したと判断されるまで、それらの実行が継続して行われる。
なお、上記各変数値のデータファイルへの出力は、制御モデルのシミュレーションの実行及び制御プログラムの実行が中間監視ポイントに到達する都度、同期部26が、該中間監視ポイントにおける各変数値をデータファイルに出力するようにシミュレーション部20及びプログラム実行管理部22にそれぞれ指示することで行われる。そして、データファイルに出力された各変数値は、それぞれ対応する中間監視箇所毎に関連付けられて蓄積され、後に制御モデル及び制御プログラムの異常の有無の検査に供されることとなる。すなわち、例えば比較部27を通じて変数対応情報(図5参照)に基づくこれら各変数値の比較が行われ、該比較によって制御モデル及び制御プログラムの異常の有無の検査が行われる。なおこの際、上記各変数値が互いに対応するものであるか否かは、これら2つの値の差が予め定めておいた許容範囲にあるか否かで判断するようにすることがより望ましい。また、比較部27によるこうした検査の結果が結果格納部29に蓄積されるとともに表示部28に可視表示される点は先の第1の実施の形態と同様である。
このような図13に示した処理によっても、制御プログラムの処理順序に誤りがある場合や生成された制御プログラムの内容自体に誤りがある場合には、実行位置や変数値の違いとしてこれを検出することができるようになる。
そして、以上説明した作業(処理)、すなわち先の図1に示したステップS3の処理にあたる電子制御装置に実装された制御プログラムのデバッグを行った結果、同制御プログラムが妥当であると判断されれば、次に
・その制御プログラムを実装した電子制御装置を実際の車両に搭載すること。
・その後、ステップS4(図1)の処理、すなわち実際の車両でのデバッグ、適合(実車チェック)を行い、この時点で制御プログラムに異常がある旨判断されるときには、制御プログラムや制御モデルの修正を検討すること。
等々が行われることは先の第1の実施の形態と同様である。
以上説明したように、この第2の実施の形態にかかる制御プログラムの検査方法及び検査装置及び検査プログラムによっても、基本的には先の実施の形態の前記(1)〜(10)の効果と同等、あるいはそれに準じた効果を得ることができるとともに、次の効果を新たに得ることができるようになる。
(11)実行位置対応情報(図5参照)に基づき、検査開始箇所及び検査終了箇所に加えて制御モデルや制御プログラムの異常の有無の検査を行うポイント、すなわち上記1乃至複数の中間監視箇所を、それら制御モデルと制御プログラムとにそれぞれ対応するかたちで設定することとした。このため、制御プログラムの検査箇所の選定にかかる自由度も大きく向上されるようになる。また、たとえ検査対象となる制御プログラムが電子制御装置21の有する巨大な制御プログラムの一部として実装される場合であれ、それら検査対象ポイントをより容易に関連付けすることができるようになる。
(12)同期部26を用いて、制御モデルのシミュレーションの実行及び制御プログラムの実行がそれぞれ中間監視ポイントに到達する都度、中間監視ポイントにおいてそれぞれの変数値を出力するようにした。これにより、上記制御プログラムや制御モデルの異常の有無のきめ細かい検査をより簡易に行うことができるようになる。また、この変数値の出力は自動的に行われるため、中間監視ポイントに保持されている変数値に基づく制御プログラムや制御モデルの異常の有無の検査をより効率的に行うことができるようにもなる。
(13)中間監視ポイントを、制御モデルの機能ブロックやラベルL1〜L5を用いて指定される制御プログラムの実行ポイント(実行位置)等も含めて、任意のポイントに設定可能とした。これにより、制御モデルの指定する複数の処理について、自動コード生成部12によって生成された制御プログラムに新たに実行順序が規定される場合であれ、制御モデルと制御プログラムとの関連付けを容易に行うことができるようになる。
(14)また、中間監視ポイントにおいて採取された制御モデルのシミュレーションによって演算された変数値と制御プログラムの実行によって演算された変数値とを変数対応情報(図5参照)に基づき比較するようにした。これにより、双方の変数値の不一致にかかる異常を的確に検出することができるようになる。
(15)またこの際、中間監視ポイントにおける各変数値の比較を、双方の変数値の差が許容範囲内にあるか否かに基づいて行うようにすれば、双方の変数値の自動判定をより適切に行うことができるようになる。
(16)中間監視ポイントにおける各変数値の比較に基づく検査の結果を結果格納部29に蓄積するようにした。これにより、検査結果(データ)の管理が容易となり、ひいてはデータ管理やプログラム開発の効率化が図られることとなる。
(17)中間監視ポイントにおける各変数値の比較に基づく検査の結果を表示部28に併せて可視表示させるようにすれば、当該検査の結果をユーザ自身が簡易に把握することができるようになる。
(第3の実施の形態)
次に、この発明にかかる制御プログラムの検査方法及び検査装置及び検査プログラムについてその第3の実施の形態を示す。なお、この実施の形態も、電子制御装置に実装されて車載エンジンの制御を行う制御プログラムの検査にこの発明を適用している。したがって、この実施の形態にかかる制御プログラムの検査方法も先の図1に示されるステップS1〜S4の処理のうちステップS3での処理に用いられ、同ステップS3における処理、すなわち電子制御装置に実装された制御プログラムのデバック処理に用いられるシステムの概略構成(図2参照)は先の各実施の形態に準じたものとなっている。
すなわち、この実施の形態にあっても、図2に示されるシステム(検査装置)において、上記モデル格納部10には、先の図3に例示した制御モデルが予め格納されており、また上記対応情報格納部18には、先の図5に例示した対応情報が予め格納されている。そして、これら制御モデル及び対応情報に対応するかたちで、すなわち先の図4に例示した態様で、上記制御モデルから自動生成された制御プログラムがRTOSや既存の制御プログラムと共々、電子制御装置21に予め実装されている。
そして、上記ステップS3の処理(図1)として上記実装された制御プログラムの検査(デバッグ)が開始されると、上記シミュレーション部20は、モデル格納部10から制御モデルを取り込み、その取り込んだ制御モデルのシミュレーションを実行する。一方、電子制御装置21は、上記プログラム実行管理部22からの指令に基づき、自身に実装された制御プログラムを実行する。なお、この制御プログラムの実行に際し、上記信号生成部23によって生成された擬似的な各種センサ信号が与えられる点、及び上記プログラム実行管理部22が上記制御プログラムによる演算結果を適宜取り込むなどして同制御プログラムの実行にかかる挙動をモニタ(監視)する点、等々は先の各実施の形態と同様である。
ところで、上記制御プログラムが電子制御装置21に実装されている場合、RTOSの特性上、制御プログラムの方が制御モデルよりも先に検査区間に到達して待機状態となるなど、該制御プログラムの実行が一旦停止されると、これに伴い演算処理も停止されて、初期化等の復帰処理が実行されてしまう懸念がある。
そこで、この実施の形態では、制御モデル及び制御プログラムへの検査区間の設定に際し、前述した検査終了ポイント(ブレイクポイント)を設定することなく、最初の検査開始ポイントも含めて、この検査区間を全て上述した1乃至複数の中間監視箇所として設定するようにしている。すなわち、シミュレーション部20及びプログラム実行管理部22に対し、制御モデルのシミュレーションあるいは制御プログラムの実行にかかる処理の中間監視ポイントである1乃至複数の中間監視箇所を設定することで、検査区間を設定することとしている。
そして、この実施の形態では、特に上記制御プログラムの実行が中間監視箇所に到達してもその実行は継続され、同中間監視箇所において採取された変数値等が予め用意されたデータファイルに出力されるようにしている。このデータファイルに蓄積された変数値は、制御モデルのシミュレーションの対応する中間監視箇所において採取された変数値と例えば比較部27を通じて変数対応情報(図5参照)をもとに比較され、該比較によって制御モデル及び制御プログラムの異常の有無が判断される。
これにより、制御プログラムの方が制御モデルよりも先に検査区間(中間監視箇所)に到達したとしても、該検査区間において制御プログラムの実行が停止されることはなくなり、初期化等の復帰処理が実行されてしまう等、上述の懸念も解消されるようになる。
なお、制御モデルは、そのシミュレーションにかかる処理が一旦停止されても、引き続き演算処理は実行可能であるため、制御モデルの方が上記制御プログラムよりも先に検査区間(中間監視箇所)に到達した場合には、この制御モデルのシミュレーションにかかる処理を待機させることとする。もっとも、シミュレーション部20やプログラム実行管理部22等を構成するコンピュータの処理速度は、電子制御装置21に搭載されているマイクロコンピュータの処理速度よりも十分に速いことから、通常は、制御モデルの方が制御プログラムよりも先に検査区間(中間監視箇所)に到達すると考えられる。
いずれにせよ、このような態様で検査区間が設定されることにより、たとえ制御プログラムの方が制御モデルよりも先に検査区間、すなわち中間監視箇所に到達したとしても、該中間監視箇所において制御プログラムの実行を停止(待機)させる必要がなくなることから、上記懸念も解消されて、より円滑な検査の実行が可能となる。
以下、図14〜図16を参照して、この実施の形態にかかる制御モデルのシミュレーションの実行態様及び制御プログラムの実行態様、並びに制御モデル及び制御プログラムの異常の有無の検査にかかる処理について詳細に説明する。
なお、この実施の形態にあってはまず、これら制御モデルのシミュレーションの実行や制御プログラムの実行に先立ち、先の図10に例示した態様、手順をもって上記検査区間(中間監視箇所)の設定が行われるが、その詳細については先の第2の実施の形態において説明した通りであり、ここでの重複する説明は割愛する。ただしこの実施の形態において、先の図6に例示した態様での検査区間(検査開始箇所及び検査終了箇所)の設定が行われることはない。
はじめに、図14を併せ参照して、シミュレーション部20による上記制御モデルのシミュレーションの実行にかかる処理について詳述する。なお、図14は、同処理の処理手順を示すフローチャートである。
この一連の処理においては、まず、ステップS511で、シミュレーション部20が、モデル格納部10に格納されている制御モデルを取り込む。次いで、ステップS512において、制御モデル上の任意の箇所に検査区間、すなわち中間監視ポイントが設定される(図10参照)。
そして、続くステップS513において検査区間の設定が完了したと判断されると、同期部26からの新たな実行指示(ステップS514)や、同期部26からの異常通知(ステップS519)に備えて待機する。そして、ステップS514にて実行の指示があったと判断されると、当該シミュレーション部20は、ステップS515において制御モデルのシミュレーションを実行する。なお、このシミュレーションは、上記信号生成部23から電子制御装置21に与えられる上記センサ信号等に相当する擬似的なデータをプログラム実行管理部22及び同期部26を介してシミュレーション部20にも与え、同シミュレーション部20に上記制御モデルを通じてそれらのデータを処理させるようにして行われる。
また、この実施の形態にかかるシミュレーションの実行は、外部からの停止指示もしくはシミュレーションの完了が確認されるまで(ステップS516)、あるいは中間監視ポイント(中間監視箇所)が検出されるまで(ステップS517)行われる。
ここで、ステップS517において中間監視ポイントが検出されると、当該シミュレーションは一旦停止され、ステップS518にて、シミュレーション部20は、同期部26に対して中間監視ポイントを検出した旨を通知する。なおこの際、該中間監視ポイントにおいて保持されている変数値及び次の検査区間の入力値をデータファイルに出力したり、シミュレーション部20が自ら備える表示器等に中間監視ポイントを検出した旨や、該中間監視ポイントにおいて保持されている変数値、次の検査区間の入力値等をそれぞれ表示するようにしてもよい。
また、上記待機中(ステップS514及びS519)に、比較部27により「変数値」や「実行位置」に異常がある旨の判断がなされると、同期部26からの異常通知に従ってこの一連の処理を終了することとなる。この際、シミュレーション部20は異常通知があった時の実行位置(停止位置)の情報を保持しており、同シミュレーション部20が備える表示器等を通じてその情報を外部に通知する。また一方、上記待機中に新たな実行指示があったときには、制御モデルのシミュレーションを再開してステップS515以降の処理を行う。
他方、ステップS516において、外部からの停止指示があった、もしくはシミュレーションが完了したと判断されると、ステップS520において例えばシミュレーション部20が備える表示器等を通じて外部にシミュレーションが完了した旨を通知し、この一連の処理を終了することとなる。
次に、図15を参照して、プログラム実行管理部22を通じた上記電子制御装置21に実装されている制御プログラムの実行にかかる処理について詳述する。なお、図15は、同処理の処理手順を示すフローチャートである。
この一連の処理においては、まず、ステップS531で、プログラム実行管理部22が、電子制御装置21に実装されている制御プログラムを取り込む。次いで、ステップS532において、制御プログラム上の任意の箇所に検査区間、すなわち中間監視ポイントが設定される(図10参照)。
そして、続くステップS533において検査区間の設定が完了したと判断されると、次に、同期部26からの実行指示(ステップS534)に備えて待機するようになる。そして、ステップS534にて実行の指示があったと判断されると、当該プログラム実行管理部22は、制御プログラムを実行するように上記電子制御装置21に指示する。そして同電子制御装置21は、この指示に従って、自身に実装されている制御プログラムを実行する(ステップS535)。なお、この制御プログラムの実行も、上記信号生成部23によって生成されたセンサ信号等に相当する擬似的データを上記電子制御装置21に与えるようにして行われる。
またこの際、同プログラム実行管理部22を通じて、上記電子制御装置21による制御プログラムの実行の挙動がモニタ(監視)される。そして上述のように、この実施の形態にあっては、上記実行の指示(ステップS534)により、一旦制御プログラムの実行が開始されると、基本的に停止することなく、同制御プログラムの実行が継続される。
こうした制御プログラムの継続した実行に際し、プログラム実行管理部22は、上記中間監視ポイントが検出されると(ステップS537)、その都度、同期部26に対して該中間監視ポイントを検出した旨を通知するとともに、同中間監視ポイントにおいて採取された変数値及び次の検査区間に入力される入力値をデータファイルに出力する(ステップS538)。なおこの際、例えばプログラム実行管理部22が自ら備える表示器等に中間監視ポイントを検出した旨や、該中間監視ポイントにおいて保持されている変数値、次の検査区間の入力値等を可視表示するようにしてもよい。そして、ステップS539においては、同期部26から「変数値」や「実行位置」に異常がある旨の異常通知があったか否かが判断され、該異常通知があったと判断される場合、プログラム実行管理部22は、当該制御プログラムの実行を停止してその一連の処理を終了する。この際、プログラム実行管理部22は異常通知があった時の実行位置(停止位置)の情報を保持しており、同プログラム実行管理部22が備える表示器等を通じてその情報を外部に通知する。
また、ステップS536において、外部からの停止指示があった、もしくは制御プログラムの実行が完了したと判断される場合も、ステップS540において例えばプログラム実行管理部22が備える表示器等を通じて外部に制御プログラムの実行が完了した旨を通知し、この一連の処理を終了することとなる。
また、これら図14及び図15に示した制御モデルのシミュレーションの実行及び制御プログラムの実行についてのそれぞれ同一の検査区間での実行結果は、上記シミュレーション部20及びプログラム実行管理部22から上記比較部27へ出力される。
比較部27では、これら実行結果を入力し、それらを逐次比較することで、制御モデルや制御プログラムの異常の有無を検査する。また、同比較部27は、その比較結果を上記表示部28及び上記結果格納部29へ併せて出力する。
次に、図16を参照して、上記同期部26及び比較部27によって行われる制御モデル及び制御プログラムの異常の有無の検査にかかる処理について説明する。なお、図16は、同処理の処理手順を示すフローチャートである。また、この処理は、制御モデル及び制御プログラムの双方に検査区間が設定されたことを前提として行われる。
この一連の処理においては、まず、ステップS551において、同期部26が、制御モデルのシミュレーションを実行するように上記シミュレーション部20に指示するとともに、電子制御装置21に制御プログラムを実行させるように上記プログラム実行管理部22に指示する。
そして、これらの指示を受けて制御モデルのシミュレーション及び制御プログラムがそれぞれ実行され(ステップS514(図14)及びS534(図15)参照)、それら制御モデル及び制御プログラムが共に各対応する中間監視ポイントに到達したか否かがステップS552において監視される。なお、この実施の形態においては上述のように、制御モデルのシミュレーションの実行が制御プログラムの実行よりも先に中間監視ポイントに到達した場合、同制御モデルのシミュレーションの実行は制御プログラムの実行が中間監視ポイントに到達するまで待機するのに対し、制御プログラムの実行は基本的に停止することなく継続して行われる。すなわち、上記ステップS552での監視、判断処理において、特に制御プログラムに関しては、上記中間監視ポイントを通過したことも含めて、同中間監視ポイントへの到達の有無が判断されることとなる。
そして、このステップS552において、制御モデルのシミュレーションの実行と制御プログラムの実行とが共に中間監視ポイントに到達したと判断されると、まず、ステップS554において、同期部26が、上記データファイルに蓄積されている制御プログラムの中間監視箇所において採取された変数値や、次の検査区間の入力値を読み込む。次いで、ステップS555において、上記実行位置対応情報(図5参照)に基づき、上記制御モデル及び制御プログラムの位置(実行位置)を確認する。そして、ステップS556において、比較部27が、それら制御モデルの位置と制御プログラムの位置とが互いに対応する位置となっているか否かを判断することにより、上記制御モデルや制御プログラムの異常の有無の検査を行う。
このステップS556において、双方の位置が対応していると判断されると、すなわち正常であると判断されると、次にステップS557において、同期部26が、上記変数対応情報(図5参照)に基づいて上記制御モデル及び制御プログラムの変数を確認する。次いで、ステップS558において、比較部27が、制御モデルの当該中間監視ポイントにおいて保持されているブロック結線/ストレージの値(変数値)と上記読み込んだ制御プログラムの当該中間監視ポイントにおける変数値とが互いに対応するものであるか否かを判断することで、上記制御モデルや制御プログラムの異常の有無の検査を行う。なお、上記制御モデルのブロック結線/ストレージの値と制御プログラムの変数値とが互いに対応するものであるか否かは、先の各実施の形態と同様、これら2つの値の差が予め定めておいた許容範囲にあるか否かで判断するようにする。
そして、ステップS558において変数値が許容範囲にあると判断されると、すなわち正常であると判断されると、ステップS559の処理に移行する。そしてこのステップS559において、同期部26が、上記データファイルから読み込んだ上記制御プログラムの次の検査区間に入力される入力値(変数の初期値)を制御モデルに与えるように上記シミュレーション部20に指示する。これにより、制御モデルのシミュレーションの実行と制御プログラムの実行とがそれらの対応する検査区間毎に同一の条件にて行われるようになる。そして、次のステップS560において、同期部26が、シミュレーション部20に対して制御モデルのシミュレーションの実行(再開)を指示することにより、上記ステップS514(図14)にて待機している上記制御モデルのシミュレーションの実行が再開される。その後は、上記ステップS552の処理に戻り、上述と同様、制御モデルのシミュレーションの実行と制御プログラムの実行とが共に中間監視ポイントに到達したか否か(制御プログラムは中間監視ポイントの通過も含む)が監視、判断される。
これら一連の処理は、制御モデルと制御プログラムとが全て実行されるまで(ステップS553)、あるいは上記比較部27により異常がある旨の判断がなされるまで(ステップS556及びS558)行われる。
ちなみに、ステップS556において双方の位置が対応していないと判断される場合、同期部26は、上記シミュレーション部20及びプログラム実行管理部22に異常を通知し(図14のステップS519及び図15のステップS539参照)、ステップS562において、表示部28がその旨(「実行位置異常」)を可視表示する。また、ステップS558において変数値が許容範囲にないと判断されると、同期部26は、上記シミュレーション部20及びプログラム実行管理部22に異常を通知し(図14のステップS519及び図15のステップS539参照)、ステップS563において、表示部28がその旨(「変数値異常」)を可視表示する。なお、上記ステップS556において比較部27により異常がある旨の判断がなされたときは、その時点での制御モデルのシミュレーションの実行位置と制御プログラムの実行位置とを検査の結果として出力し、これを表示器等により可視表示する。また、上記ステップS558において比較部27により異常がある旨の判断がなされたときは、その時点での制御モデルのシミュレーションの実行位置と制御プログラムの実行位置、並びに異常となった変数名と変数値とを検査の結果として出力し、これを表示器等により可視表示する。これにより、当該検査の結果をユーザ自身が簡易に把握することができるようになる。
また、ステップS556及びS558における比較部27による検査の結果も、先の各実施の形態と同様、上記結果格納部29に格納されて蓄積される。そして、この蓄積された検査の結果(データ)は、例えばグラフ化等の処理が施されて、その全体的な傾向の把握等に供される。これにより、データ管理の効率化が図られるとともに、制御モデルや制御プログラムの開発の短縮化にも貢献できるようになる。
他方、ステップS553において、制御モデルと制御プログラムとが全て実行されたと判断されると、ステップS561において、シミュレーション部20やプログラム実行管理部22が備える表示器等を通じてその旨(「全て実行完了」)が可視表示される。
このように、この図16に示した処理によっても、制御プログラムの処理順序に誤りがある場合や生成された制御プログラムの内容自体に誤りがある場合には、実行位置や変数値の違いとしてこれを検出することができるようになる。
そして、この実施の形態にあっても、以上説明した作業(処理)、すなわち先の図1に示したステップS3の処理にあたる電子制御装置に実装された制御プログラムのデバッグを行った結果、同制御プログラムが妥当であると判断されれば、次に、
・その制御プログラムを実装した電子制御装置を実際の車両に搭載すること。
・その後、ステップS4(図1)の処理、すなわち実際の車両でのデバッグ、適合(実車チェック)を行い、この時点で制御プログラムに異常がある旨判断されるときには、制御プログラムや制御モデルの修正を検討すること。
等々が行われることも、先の各実施の形態と同様である。
以上説明したように、この第3の実施の形態にかかる制御プログラムの検査方法及び検査装置及び検査プログラムによっても、基本的には先の各実施の形態の前記(1)〜(3)、(8)、(10)、(13)〜(17)の効果と同等、あるいはそれに準じた効果を得ることができるとともに、次の効果を新たに得ることができるようになる。
(18)実行位置対応情報(図5参照)に基づき、制御モデルや制御プログラムの異常の有無の検査を行うポイント、すなわち上記1乃至複数の中間監視箇所を制御モデルと制御プログラムとにそれぞれ対応するかたちで設定するとともに、それらの設定区間を検査区間として設定することとした。このため、制御プログラムの検査箇所の選定にかかる自由度も大きく向上されるようになる。また、たとえ検査対象となる制御プログラムが電子制御装置21の有する巨大な制御プログラムの一部として実装される場合であれ、それら検査対象ポイントをより容易に関連付けすることができるようになる。また、このように中間監視箇所の設定区間を検査区間として設定することで、制御プログラムにブレイクポイントを設定する必要がなくなり、RTOSの特性上、電子制御装置21において初期化等の復帰処理が実行されてしまう等の懸念も解消されるようになる。
(19)同期部26を用いて、制御プログラムの実行が中間監視ポイントに到達する都度、該中間監視ポイントにおける変数値及び同制御プログラムの次の検査区間に入力される入力値(変数の初期値)をデータファイルに出力するようにした。これにより、上述のように必ずしも制御プログラムの実行を停止させなくとも、制御モデルや制御プログラムの異常を検出し、また制御モデルのシミュレーションと制御プログラムの実行との双方についての検査開始条件を揃えることが可能となる。また、これら変数値の変更や比較は自動的に行われるため、制御プログラムや制御モデルの異常の有無の検査をより簡易に行うことができるようにもなる。
(他の実施の形態)
なお、上記各実施の形態は、以下のように変更して実施することもできる。
・上記各実施の形態では、図17にその検査イメージの概要を示すように、電子制御装置(ECU)に実装された制御プログラムCPがその実行結果を信号生成部23にフィードバックしつつ、該信号生成部23に設定されたテストシナリオに基づいて、電子制御装置に実装された制御プログラムCPの実行と制御モデルCMのシミュレーションの実行が行われる。そして、その結果が逐次比較等されて検査結果として出力される。ただし、上記電子制御装置21に実装された制御プログラム等の検査については、電子制御装置(ECU)に実装された制御プログラムCPと制御モデルCMとの実行範囲を関連付けてこれらを実行し、該実行結果に基づいて同期部26が上記電子制御装置21に実装された制御プログラム等の検査を行うものであればよい。したがってこの意味では、図18に示すように、電子制御装置21に実装された制御プログラム等の検査のために上記電子制御装置(ECU)に実装された制御プログラムCPや制御モデルCMが実行すべき実行条件の全てをテストシナリオとして信号生成部23に予め登録しておくようにしてもよい。すなわちこの場合には、制御モデルCMと電子制御装置(ECU)に実装された制御プログラムCPとは、上記信号生成部23から与えられるテストシナリオに基づきいわばオープンループにてそのシミュレーションやプログラムの実行が行われ、その結果が逐次比較等されて検査結果として出力される。
・上記各実施の形態では、自動コード生成部12による制御プログラムの自動生成に際して得られる情報をもとに対応情報作成部16が対応情報を作成することとした。しかし、この対応情報は、自動生成された制御プログラムをもとに人間が作成してもよい。また、制御モデルから制御プログラムを自動生成しない(制御モデルからハンドコーディングする)場合でも、ハンドコーディングされた制御プログラムをもとに人間がこの対応情報を作成してもよい。要は、何らかのかたちで対応情報さえ得られれば、同期部26による上述した関連付けを行うことはできる。
・上記シミュレーション部20やプログラム実行管理部22は、必ずしも制御モデルや制御プログラムに入力データを与えることでそれらの実行を行わせるものに限らない。例えば、制御プログラムの制御対象及び同対象を取り巻く環境をコンピュータ上で擬似的に生成しつつ上記制御モデルや制御プログラムの検査を行うものであってもよい。
・上記検査区間設定部24の機能についてはこれを上記シミュレーション部20自身に持たせるようにしてもよい。また、同機能を上記プログラム実行管理部22自身に持たせるようにしてもよい。またあるいは、それら検査区間の目印となる情報を予め制御モデルや制御プログラム側に持たせておくようにしてもよい。
・上記各実施の形態では、比較部27により異常がある旨の判断がなされたとき、その時点での制御モデルのシミュレーションの実行位置と制御プログラムの実行位置とを検査の結果として出力し、これを表示器等により可視表示するようにした。しかし、こうした構成に限らず、例えば上記出力した検査の結果を可視表示せずに、記憶装置等に格納する構成としてもよい。また、上記各実行位置の出力自体を割愛した構成とすることも可能である。
・上記各実施の形態では、比較部27による検査の結果を表示部28に可視表示させるとともに、該検査の結果を結果格納部29に蓄積するようにした。しかし、こうした構成に限らず、例えば可視表示のみ、あるいは蓄積のみを行う構成とすることも可能である。また、これら検査結果の可視表示及び蓄積自体を割愛した構成としてもよい。
・上記各実施の形態では、比較部27による検査の結果、変数値が許容範囲にないと判断されるとき、表示部28を通じて「変数値異常」を表示させるようにした。しかしこの表示部28には、「変数値異常」の表示のほかに、制御モデルのシミュレーションの実行位置と制御プログラムの実行位置とを表示させるようにしてもよい。また、同表示部28には、変数値異常に該当する制御モデルのシミュレーションの実行位置と制御プログラムの実行位置のみを表示させるようにしてもよい。さらにこの表示部28には、上記のほか、比較部27による比較演算結果(値)を表示させるようにしてもよい。
・上記第1及び第2の実施の形態では、比較部27による検査の結果、変数値が許容範囲にある(正常)と判断されると、ステップS351(図9、図13)に戻り、制御モデルのシミュレーションの実行と制御プログラムの実行とが再開されるようにした。しかし、こうした構成に限らず、正常と判断された場合、ステップS352(図9、図13)に戻り、検査を継続する構成としてもよい。
・上記各実施の形態では、検査開始ポイント(検査開始箇所)において実行位置の比較を行い、検査終了ポイント(検査終了箇所)や中間監視ポイント(中間監視箇所)において変数値の比較を行うようにした。しかし、こうした構成に限らず、例えば検査開始ポイントにて変数値の比較を、あるいは検査終了ポイントにて実行位置の比較を行う構成としてもよい。また例えば、検査開始ポイント及び検査終了ポイントのいずれか一方にて上記比較を行う構成としてもよい。また、制御モデルのシミュレーションの実行位置と制御プログラムの実行位置とが揃っている前提で検査を開始する場合には、実行位置の検査自体を割愛した構成としてもよい。
・上記各実施の形態では、異常の有無の検査に際して用いられる許容範囲を変数値のデータ型に応じて変更するようにしたが、許容範囲の設定の仕方は任意である。また、必ずしも許容範囲を設定する必要はなく、両者の一致のみを異常の有無の判断基準としてもよい。
・上記各実施の形態では、制御モデルのシミュレーションの実行と制御プログラムの実行とがそれぞれ検査開始ポイントに到達する都度、変数対応情報(図5参照)に基づいて変数値を変更し、制御モデル及び制御プログラムへの入力データを揃えるようにした。しかし、必ずしも上記各実行が検査開始ポイントに到達する度にそれら変数値の変更を行う必要はない。例えばキーボード等の入力装置を通じた外部からの入力に基づく割込み処理としてそれら変数値の変更を可能とする構成としてもよい。また、必ずしも入力データを揃える必要もなく、例えば正常時に上記変数値としてあえて異常データを入力して制御プログラムの検査を行うような構成とすることも可能である。さらに、それら変数値の変更が不可能な構成にもこの発明は適用可能である。
・上記各実施の形態では、制御モデルのシミュレーションの実行及び制御プログラムの実行がそれぞれ検査終了ポイントや中間監視ポイントに到達する都度、検査終了ポイントや中間監視ポイントにおいてそれぞれの変数値(実行結果)を出力するようにした。しかし、必ずしも上記各実行が検査終了ポイントや中間監視ポイントに到達する度にそれら変数値(実行結果)の出力を行う必要はない。例えばキーボード等の入力装置を通じた外部からの入力に基づく割込み処理としてそれら変数値の出力を行うようにしてもよい。さらに、それら変数値の出力を行わない構成にもこの発明は適用可能である。
・上記第1及び第2の実施の形態では、検査開始ポイント及び検査終了ポイントを停止箇所(ブレークポイント)として設定したが、必ずしも制御モデルのシミュレーションの実行や制御プログラムの実行を検査開始ポイント及び検査終了ポイントにて停止させる必要はない。すなわち、上記各ポイントを停止箇所として設定せずとも、これら各ポイントにおける実行位置や変数値の取得さえできれば、それらを比較部27によって比較させることは可能である。そしてその一例として、上記第2及び第3の実施の形態において採用した中間監視ポイント(中間監視箇所)がある。
・上記各実施の形態では、同期部26が、制御モデルのシミュレーション結果と制御プログラムの実行結果とを比較部27に与え、該比較部27を通じてそれら結果を比較させるようにした。しかし、この比較部27を割愛した構成とすることも可能である。例えば、同期部26自身が制御モデルのシミュレーション結果と制御プログラムの実行結果とを受信して、これを比較部27に送ることなくそのまま表示器等に出力させる構成としてもよい。この際、同期部26にて表示器等への出力を行う構成はいうまでもなく、他に例えば、同期部26を経由せず、直接シミュレーション部20やプログラム実行管理部22にて表示器等への出力を行う構成とすることも可能である。
・制御モデルから自動生成される制御プログラムとしては、C言語にて記述されるものに限らず、適宜のプログラム言語にて記述される制御プログラムであればよい。この場合においても、その制御プログラムが制御モデルの規定する処理について同制御モデルにおいて規定されない実行順序が新たに規定されることがあるものであるならば、この発明の適用は有効である。
・上記対応情報作成部16や同期部26等をコンピュータとソフトウェアにて構成する代わりに、カスタムLSIなどの専用のハードウェアにて構成するようにしてもよい。
・上記各実施の形態では、対応情報として「実行位置対応情報」と「変数対応情報」との2種の情報を用いることとしたが、これら情報のいずれか一方、あるいはこれら情報に相当する他の情報なども適宜採用することができる。
・その他、制御モデルのシミュレーションの実行範囲と電子制御装置に実装された制御プログラムの実行範囲とのそれぞれ対応する実行範囲毎にこれらを関連付けするとともに、それら関連付けされた実行範囲毎の実行結果に基づいてそれらの少なくとも一方の異常の有無を検査するものであれば、その範囲で上記各実施の形態は適宜変更可能である。
・また、車載エンジンの制御プログラムに限らず、モデルベース開発を採用して作成される制御プログラムについては、この発明にかかる検査方法、検査装置、並びに検査プログラムを同様に適用することができる。
この発明の第1の実施の形態にかかる制御プログラムの作成並びに検査の手順を示すフローチャート。 同実施の形態において制御プログラムの生成及び検査を行うシステムの概略構成を示すブロック図。 制御モデルを例示するブロック図。 自動生成される制御プログラムを例示する図。 制御モデルと制御プログラムとの対応関係を表す対応情報を例示する図。 同実施の形態における検査区間(検査開始箇所及び検査終了箇所)の設定にかかる処理についてその処理手順を示すフローチャート。 同実施の形態における制御モデルのシミュレーション実行手順を示すフローチャート。 同実施の形態における制御プログラムの実行手順を示すフローチャート。 同実施の形態における制御プログラムの検査手順を示すフローチャート。 この発明の第2の実施の形態、あるいは第3の実施の形態において採用する検査区間(中間監視箇所)の設定にかかる処理についてその処理手順を示すフローチャート。 この発明の第2の実施の形態における制御モデルのシミュレーション実行手順を示すフローチャート。 同第2の実施の形態における制御プログラムの実行手順を示すフローチャート。 同第2の実施の形態における制御プログラムの検査手順を示すフローチャート。 この発明の第3の実施の形態における制御モデルのシミュレーション実行手順を示すフローチャート。 同第3の実施の形態における制御プログラムの実行手順を示すフローチャート。 同第3の実施の形態における制御プログラムの検査手順を示すフローチャート。 上記第1〜第3の実施の形態での検査イメージの概要を模試的に示すブロック図。 この発明が適用可能な他の検査イメージについてその概要を模式的に示すブロック図。
符号の説明
10…モデル格納部、12…自動コード生成部、14…プログラム格納部、16…対応情報作成部、18…対応情報格納部、20…シミュレーション部、21…電子制御装置(ECU)、22…プログラム実行管理部、23…信号生成部、24…検査区間設定部、26…同期部、27…比較部、28…表示部、29…結果格納部。

Claims (51)

  1. 制御仕様が記述された制御モデルから作成されるとともに電子制御装置に実装された制御プログラムを検査する制御プログラムの検査方法において、
    前記制御モデルのシミュレーションを実行するシミュレーション手段の実行範囲と前記実装された制御プログラムの実行をモニタするプログラム実行管理手段の実行範囲とを関連付けする同期手段を用い、それら関連付けされた実行範囲の実行結果に基づいて前記制御モデル及び前記実装された制御プログラムの少なくとも一方の異常の有無を検査する
    ことを特徴とする制御プログラムの検査方法。
  2. 前記同期手段による実行範囲の関連付けが、前記制御プログラムの作成に際して取得される前記制御モデルと該制御モデルから作成される制御プログラムとの対応関係を表す対応情報に基づいて行われる
    請求項1に記載の制御プログラムの検査方法。
  3. 前記対応情報は、前記制御モデルと前記実装された制御プログラムとの互いに対応する位置の関係を表す情報である実行位置対応情報を含み、
    前記同期手段による実行範囲の関連付けは、前記制御モデル及び前記実装された制御プログラムのいずれか一方に対して検査開始箇所及び検査終了箇所が設定されることに基づき、他方に対しても前記実行位置対応情報に基づきその対応する検査開始箇所及び検査終了箇所が設定されることによって行われる
    請求項2に記載の制御プログラムの検査方法。
  4. 前記対応情報は、前記制御モデルと前記実装された制御プログラムとの互いに対応する位置の関係を表す情報である実行位置対応情報を含み、
    前記同期手段による実行範囲の関連付けは、前記制御モデル及び前記実装された制御プログラムのいずれか一方に対して検査開始箇所及び検査終了箇所、並びにそれら制御モデルのシミュレーションあるいは制御プログラムの実行にかかる処理の中間監視ポイントである1乃至複数の中間監視箇所が設定されることに基づき、他方に対しても前記実行位置対応情報に基づきその対応する検査開始箇所及び検査終了箇所、並びに中間監視箇所が設定されることによって行われる
    請求項2に記載の制御プログラムの検査方法。
  5. 前記検査開始箇所及び前記検査終了箇所が、それぞれ前記制御モデルを構成する各機能ブロック毎に設定可能とされる
    請求項3または4に記載の制御プログラムの検査方法。
  6. 前記制御モデル及び前記実装された制御プログラムにそれぞれ設定される前記検査開始箇所及び前記検査終了箇所が、前記制御モデルのシミュレーションの実行及び前記制御プログラムの実行のそれぞれの停止箇所として設定可能とされる
    請求項3〜5のいずれか一項に記載の制御プログラムの検査方法。
  7. 請求項3〜6のいずれか一項に記載の制御プログラムの検査方法において、
    前記制御モデル及び前記実装された制御プログラムのそれぞれに設定された各検査開始箇所において入力される変数値、及び同各検査開始箇所において保持されている前記制御モデルのシミュレーションによって演算される変数値、及び前記制御プログラムの実行によって演算される変数値の少なくとも一つが変更可能とされる
    ことを特徴とする制御プログラムの検査方法。
  8. 請求項3〜6のいずれか一項に記載の制御プログラムの検査方法において、
    前記制御モデルのシミュレーションの実行及び前記制御プログラムの実行がそれぞれ前記設定された検査開始箇所に到達する都度、前記対応情報に基づき該検査開始箇所において入力される変数値、及び同検査開始箇所において保持されている前記制御モデルのシミュレーションによって演算される変数値、及び前記制御プログラムの実行によって演算される変数値の少なくとも一つを前記同期手段を通じて変更して双方の実行条件を揃える
    ことを特徴とする制御プログラムの検査方法。
  9. 請求項3〜8のいずれか一項に記載の制御プログラムの検査方法において、
    前記検査終了箇所において保持されている前記制御モデルのシミュレーションによって演算される変数値と前記検査終了箇所において保持されている前記制御プログラムの実行によって演算される変数値とがそれぞれ出力可能とされる
    ことを特徴とする制御プログラムの検査方法。
  10. 請求項3〜8のいずれか一項に記載の制御プログラムの検査方法において、
    前記制御モデルのシミュレーションの実行及び前記制御プログラムの実行がそれぞれ前記設定された検査終了箇所に到達する都度、前記検査終了箇所において保持されている前記制御モデルのシミュレーションによって演算される変数値と前記検査終了箇所において保持されている前記制御プログラムの実行によって演算される変数値とが前記同期手段を通じてそれぞれ出力される
    ことを特徴とする制御プログラムの検査方法。
  11. 前記対応情報は、前記制御モデルと前記実装された制御プログラムとの互いに対応する位置の関係を表す情報である実行位置対応情報を含み、
    前記同期手段による実行範囲の関連付けは、前記制御モデル及び前記実装された制御プログラムのいずれか一方に対してそれら制御モデルのシミュレーションあるいは制御プログラムの実行にかかる処理の中間監視ポイントである1乃至複数の中間監視箇所が設定されることに基づき、他方に対しても前記実行位置対応情報に基づきその対応する1乃至複数の中間監視箇所が設定されることによって行われる
    請求項2に記載の制御プログラムの検査方法。
  12. 請求項4または11に記載の制御プログラムの検査方法において、
    前記1乃至複数の中間監視箇所において保持されている前記制御モデルのシミュレーションによって演算される変数値と前記1乃至複数の中間監視箇所において保持されている前記制御プログラムの実行によって演算される変数値とがそれぞれ出力可能とされる
    ことを特徴とする制御プログラムの検査方法。
  13. 請求項4または11に記載の制御プログラムの検査方法において、
    前記制御モデルのシミュレーションの実行及び前記制御プログラムの実行がそれぞれ前記設定された1乃至複数の中間監視箇所に到達する都度、前記1乃至複数の中間監視箇所において保持されている前記制御モデルのシミュレーションによって演算される変数値と前記1乃至複数の中間監視箇所において保持されている前記制御プログラムの実行によって演算される変数値とが前記同期手段を通じてそれぞれ出力される
    ことを特徴とする制御プログラムの検査方法。
  14. 請求項3〜10のいずれか一項に記載の制御プログラムの検査方法において、
    前記異常の有無の検査が、前記同期手段により関連付けされた実行範囲の実行結果を比較する比較手段によって行われる
    ことを特徴とする制御プログラムの検査方法。
  15. 前記対応情報は、前記制御モデルの処理にかかる変数値と前記実装された制御プログラムの処理にかかる変数値との対応関係を表す変数対応情報を含み、
    前記比較手段による比較が、前記制御モデル及び前記実装された制御プログラムのそれぞれに設定された各検査終了箇所において保持されている前記制御モデルのシミュレーションによって演算される変数値と前記制御プログラムの実行によって演算される変数値との前記変数対応情報に基づく比較として行われる
    請求項14に記載の制御プログラムの検査方法。
  16. 請求項4または請求項11〜13のいずれか一項に記載の制御プログラムの検査方法において、
    前記異常の有無の検査が、前記同期手段により関連付けされた実行範囲の実行結果を比較する比較手段によって行われる
    ことを特徴とする制御プログラムの検査方法。
  17. 前記対応情報は、前記制御モデルの処理にかかる変数値と前記実装された制御プログラムの処理にかかる変数値との対応関係を表す変数対応情報を含み、
    前記比較手段による比較が、前記制御モデル及び前記実装された制御プログラムのそれぞれに設定された各中間監視箇所において保持されている前記制御モデルのシミュレーションによって演算される変数値と前記制御プログラムの実行によって演算される変数値との前記変数対応情報に基づく比較として行われる
    請求項16に記載の制御プログラムの検査方法。
  18. 前記制御モデルのシミュレーションによって演算される変数値と前記制御プログラムの実行によって演算される変数値との比較による異常の有無の検査が、前記制御モデルのシミュレーションによって演算される変数値と前記制御プログラムの実行によって演算される変数値との差が許容範囲内にないか否かに基づいて行われる
    請求項15または17に記載の制御プログラムの検査方法。
  19. 請求項14〜18のいずれか一項に記載の制御プログラムの検査方法において、
    前記比較手段により異常がある旨の判断がなされたとき、前記制御モデルのシミュレーションの実行位置と前記制御プログラムの実行位置とを前記検査の結果として出力する
    ことを特徴とする制御プログラムの検査方法。
  20. 請求項14〜19のいずれか一項に記載の制御プログラムの検査方法において、
    前記比較手段による異常の有無の検査の結果をデータの蓄積に用いられる記憶手段及びデータの可視表示に用いられる表示手段の少なくとも一方に出力する
    ことを特徴とする制御プログラムの検査方法。
  21. 制御仕様が記述された制御モデルから作成されるとともに電子制御装置に実装された制御プログラムを検査する制御プログラムの検査装置において、
    前記制御モデルのシミュレーションを実行するシミュレーション手段の実行範囲と前記実装された制御プログラムの実行をモニタするプログラム実行管理手段の実行範囲とを関連付けする同期手段を備え、該同期手段により関連付けされる実行範囲の実行結果に基づいて前記制御モデル及び前記実装された制御プログラムの少なくとも一方の異常の有無を検査する
    ことを特徴とする制御プログラムの検査装置。
  22. 前記同期手段は、前記制御プログラムの作成に際して取得される前記制御モデルと該制御モデルから作成される制御プログラムとの対応関係を表す対応情報に基づいて前記実行範囲の関連付けを行う
    請求項21に記載の制御プログラムの検査装置。
  23. 前記対応情報は、前記制御モデルと前記実装された制御プログラムとの互いに対応する位置の関係を表す情報である実行位置対応情報を含み、
    前記同期手段は、前記制御モデル及び前記実装された制御プログラムのいずれか一方に対して検査開始箇所及び検査終了箇所が設定されることに基づき、他方に対しても前記実行位置対応情報に基づきその対応する検査開始箇所及び検査終了箇所を設定することによって前記関連付けを行う
    請求項22に記載の制御プログラムの検査装置。
  24. 前記対応情報は、前記制御モデルと前記実装された制御プログラムとの互いに対応する位置の関係を表す情報である実行位置対応情報を含み、
    前記同期手段は、前記制御モデル及び前記実装された制御プログラムのいずれか一方に対して検査開始箇所及び検査終了箇所、並びにそれら制御モデルのシミュレーションあるいは制御プログラムの実行にかかる処理の中間監視ポイントである1乃至複数の中間監視箇所が設定されることに基づき、他方に対しても前記実行位置対応情報に基づきその対応する検査開始箇所及び検査終了箇所、並びに中間監視箇所を設定することによって前記関連付けを行う
    請求項22に記載の制御プログラムの検査装置。
  25. 前記検査開始箇所及び前記検査終了箇所が、それぞれ前記制御モデルを構成する各機能ブロック毎に設定可能とされる
    請求項23または24に記載の制御プログラムの検査装置。
  26. 前記制御モデル及び前記実装された制御プログラムにそれぞれ設定される前記検査開始箇所及び前記検査終了箇所が、前記制御モデルのシミュレーションの実行及び前記制御プログラムの実行のそれぞれの停止箇所として設定可能とされる
    請求項23〜25のいずれか一項に記載の制御プログラムの検査装置。
  27. 請求項23〜26のいずれか一項に記載の制御プログラムの検査装置において、
    前記制御モデル及び前記実装された制御プログラムのそれぞれに設定される各検査開始箇所において入力される変数値、及び同各検査開始箇所において、保持されている前記制御モデルのシミュレーションによって演算される変数値、及び前記制御プログラムの実行によって演算される変数値の少なくとも一つが変更可能とされる
    ことを特徴とする制御プログラムの検査装置。
  28. 請求項23〜26のいずれか一項に記載の制御プログラムの検査装置において、
    前記同期手段は、前記制御モデルのシミュレーションの実行及び前記制御プログラムの実行がそれぞれ前記設定された検査開始箇所に到達する度に、その都度、前記対応情報に基づき該検査開始箇所において入力される変数値、及び同検査開始箇所において保持されている前記制御モデルのシミュレーションによって演算される変数値、及び前記制御プログラムの実行によって演算される変数値の少なくとも一つの変更を指示して双方の実行条件を揃える
    ことを特徴とする制御プログラムの検査装置。
  29. 請求項23〜28のいずれか一項に記載の制御プログラムの検査装置において、
    前記検査終了箇所において保持されている前記制御モデルのシミュレーションによって演算される変数値と前記検査終了箇所において保持されている前記制御プログラムの実行によって演算される変数値とをそれぞれ出力可能とする手段をさらに備える
    ことを特徴とする制御プログラムの検査装置。
  30. 請求項23〜28のいずれか一項に記載の制御プログラムの検査装置において、
    前記同期手段は、前記制御モデルのシミュレーションの実行及び前記制御プログラムの実行がそれぞれ前記設定された前記検査終了箇所に到達する都度、前記検査終了箇所において保持されている前記制御モデルのシミュレーションによって演算される変数値と前記検査終了箇所において保持されている前記制御プログラムの実行によって演算される変数値とをそれぞれ出力するように構成されてなる
    ことを特徴とする制御プログラムの検査装置。
  31. 前記対応情報は、前記制御モデルと前記実装された制御プログラムとの互いに対応する位置の関係を表す情報である実行位置対応情報を含み、
    前記同期手段は、前記制御モデル及び前記実装された制御プログラムのいずれか一方に対してそれら制御モデルのシミュレーションあるいは制御プログラムの実行にかかる処理の中間監視ポイントである1乃至複数の中間監視箇所が設定されることに基づき、他方に対しても前記実行位置対応情報に基づきその対応する中間監視箇所を設定することによって前記関連付けを行う
    請求項22に記載の制御プログラムの検査装置。
  32. 請求項24または31に記載の制御プログラムの検査装置において、
    前記1乃至複数の中間監視箇所において保持されている前記制御モデルのシミュレーションによって演算される変数値と前記1乃至複数の中間監視箇所において保持されている前記制御プログラムの実行によって演算される変数値とをそれぞれ出力可能とする手段をさらに備える
    ことを特徴とする制御プログラムの検査装置。
  33. 請求項24または31に記載の制御プログラムの検査装置において、
    前記同期手段は、前記制御モデルのシミュレーションの実行及び前記制御プログラムの実行がそれぞれ前記設定された1乃至複数の中間監視箇所に到達する都度、前記1乃至複数の中間監視箇所において保持されている前記制御モデルのシミュレーションによって演算される変数値と前記1乃至複数の中間監視箇所において保持されている前記制御プログラムの実行によって演算される変数値とをそれぞれ出力するように構成されてなる
    ことを特徴とする制御プログラムの検査装置。
  34. 請求項23〜30のいずれか一項に記載の制御プログラムの検査装置において、
    前記同期手段により関連付けされる実行範囲の実行結果を比較することで前記異常の有無の検査を行う比較手段をさらに備える
    ことを特徴とする制御プログラムの検査装置。
  35. 前記対応情報は、前記制御モデルの処理にかかる変数値と前記実装された制御プログラムの処理にかかる変数値との対応関係を表す変数対応情報を含み、
    前記比較手段による比較が、前記制御モデル及び前記実装された制御プログラムのそれぞれに設定された各検査終了箇所において保持されている前記制御モデルのシミュレーションによって演算される変数値と前記制御プログラムの実行によって演算される変数値との前記変数対応情報に基づく比較として行われる
    請求項34に記載の制御プログラムの検査装置。
  36. 請求項24または請求項31〜33のいずれか一項に記載の制御プログラムの検査装置において、
    前記同期手段により関連付けされる実行範囲の実行結果を比較することで前記異常の有無の検査を行う比較手段をさらに備える
    ことを特徴とする制御プログラムの検査装置。
  37. 前記対応情報は、前記制御モデルの処理にかかる変数値と前記実装された制御プログラムの処理にかかる変数値との対応関係を表す変数対応情報を含み、
    前記比較手段による比較が、前記制御モデル及び前記実装された制御プログラムのそれぞれに設定された各中間監視箇所において保持されている前記制御モデルのシミュレーションによって演算される変数値と前記制御プログラムの実行によって演算される変数値との前記変数対応情報に基づく比較として行われる
    請求項36に記載の制御プログラムの検査装置。
  38. 前記制御モデルのシミュレーションによって演算される変数値と前記制御プログラムの実行によって演算される変数値との比較による異常の有無の検査が、前記制御モデルのシミュレーションによって演算される変数値と前記制御プログラムの実行によって演算される変数値との差が許容範囲内にないか否かに基づいて行われる
    請求項35または37に記載の制御プログラムの検査装置。
  39. 請求項34〜38のいずれか一項に記載の制御プログラムの検査装置において、
    前記比較手段により異常がある旨の判断がなされたとき、前記制御モデルのシミュレーションの実行位置と前記制御プログラムの実行位置とを前記検査の結果として出力する手段をさらに備える
    ことを特徴とする制御プログラムの検査装置。
  40. 請求項34〜39のいずれか一項に記載の制御プログラムの検査装置において、
    前記比較手段による異常の有無の検査の結果を蓄積記憶する記憶手段及び同検査の結果を可視表示する表示手段の少なくとも一方をさらに備える
    ことを特徴とする制御プログラムの検査装置。
  41. 制御仕様が記述された制御モデルから作成されるとともに電子制御装置に実装された制御プログラムを検査する検査プログラムであって、
    コンピュータを通じて実行されて前記制御モデル及び前記制御プログラムの少なくとも一方の異常の有無を検査する手段として、
    a.前記制御モデルのシミュレーションを実行するシミュレーション手段の実行範囲と前記実装された制御プログラムの実行をモニタするプログラム実行管理手段の実行範囲とを関連付けする手段、
    b.前記シミュレーション手段及び前記プログラム実行管理手段に対してそれぞれシミュレーションの実行及び制御プログラムのモニタを指示する手段、
    c.前記関連付けされる制御モデルのシミュレーションの実行範囲と前記制御プログラムの実行範囲との各実行結果とを比較することで前記異常の有無を検査する手段、
    を含むことを特徴とする制御プログラムの検査プログラム。
  42. 前記関連付けする手段は、前記制御プログラムの作成に際して取得される前記制御モデルと該制御モデルから作成される制御プログラムとの対応関係を表す対応情報に基づいて前記関連付けを行い、前記異常の有無を検査する手段は、同対応情報に基づいて前記比較を行う
    請求項41に記載の制御プログラムの検査プログラム。
  43. 制御仕様が記述された制御モデルから作成されるとともに電子制御装置に実装された制御プログラムを検査する検査プログラムであって、
    コンピュータを通じて実行されて前記制御モデル及び前記制御プログラムの少なくとも一方の異常の有無を検査する手段として、
    a.前記制御モデルのシミュレーションを実行するシミュレーション手段の実行範囲と前記実装された制御プログラムの実行をモニタするプログラム実行管理手段の実行範囲とを関連付けする手段、
    b.前記シミュレーション手段及び前記プログラム実行管理手段に対してそれぞれシミュレーションの実行及び制御プログラムのモニタを指示する手段、
    c.前記関連付けされる制御モデルのシミュレーションの実行範囲と前記制御プログラムの実行範囲との各実行結果をそれぞれ出力する手段、
    を含むことを特徴とする制御プログラムの検査プログラム。
  44. 前記関連付けする手段は、前記制御プログラムの作成に際して取得される前記制御モデルと該制御モデルから作成される制御プログラムとの対応関係を表す対応情報に基づいて前記関連付けを行い、前記各実行結果を出力する手段は、同対応情報に基づいて前記実行結果の出力を行う
    請求項43に記載の制御プログラムの検査プログラム。
  45. 請求項42または44に記載の制御プログラムの検査プログラムにおいて、
    前記対応情報は、前記制御モデルと前記制御プログラムとの互いに対応する位置の関係を表す情報である実行位置対応情報を含み、
    前記関連付けする手段は、前記制御モデル及び前記実装された制御プログラムのいずれか一方に対して検査開始箇所及び検査終了箇所が設定されることに基づき、他方に対しても前記実行位置対応情報に基づきその対応する検査開始箇所及び検査終了箇所を設定することによって前記関連付けを行うものであって、且つ、前記制御モデル及び前記制御プログラムの少なくとも一方の異常の有無の検査を行う手段として、
    d.前記制御モデルのシミュレーションの実行と前記制御プログラムの実行とのそれぞれについての前記設定された検査開始箇所及び検査終了箇所への到達を検出する手段、
    をさらに含むことを特徴とする制御プログラムの検査プログラム。
  46. 前記対応情報は、前記制御モデルの処理にかかる変数値と前記実装された制御プログラムの処理にかかる変数値との対応関係を表す変数対応情報を含み、
    前記制御モデル及び前記制御プログラムの少なくとも一方の異常の有無を検査する手段は、少なくとも前記制御モデル及び前記実装された制御プログラムのそれぞれに設定された各検査終了箇所において保持されている前記制御モデルのシミュレーションによって演算される変数値と前記制御プログラムの実行によって演算される変数値とを前記変数対応情報に基づき比較することによって前記異常の有無の検査を行う
    請求項45に記載の制御プログラムの検査プログラム。
  47. 請求項42または44に記載の制御プログラムの検査プログラムにおいて、
    前記対応情報は、前記制御モデルと前記制御プログラムとの互いに対応する位置の関係を表す情報である実行位置対応情報を含み、
    前記関連付けする手段は、前記制御モデル及び前記実装された制御プログラムのいずれか一方に対してそれら制御モデルのシミュレーションあるいは制御プログラムの実行にかかる処理の中間監視ポイントである1乃至複数の中間監視箇所が設定されることに基づき、他方に対しても前記実行位置対応情報に基づきその対応する1乃至複数の中間監視箇所を設定することによって前記関連付けを行うものであって、且つ、前記制御モデル及び前記制御プログラムの少なくとも一方の異常の有無の検査を行う手段として、
    d.前記制御モデルのシミュレーションの実行と前記制御プログラムの実行とのそれぞれについての前記設定された1乃至複数の中間監視箇所への到達を検出する手段、
    をさらに含むことを特徴とする制御プログラムの検査プログラム。
  48. 前記対応情報は、前記制御モデルの処理にかかる変数値と前記実装された制御プログラムの処理にかかる変数値との対応関係を表す変数対応情報を含み、
    前記制御モデル及び前記制御プログラムの少なくとも一方の異常の有無を検査する手段は、少なくとも前記制御モデル及び前記実装された制御プログラムのそれぞれに設定された各中間監視箇所において保持されている前記制御モデルのシミュレーションによって演算される変数値と前記制御プログラムの実行によって演算される変数値とを前記変数対応情報に基づき比較することによって前記異常の有無の検査を行う
    請求項47に記載の制御プログラムの検査プログラム。
  49. 制御要求仕様が要求仕様記述言語にて記述された制御モデルから作成される制御プログラムを検査する検査プログラムであって、
    コンピュータを通じて実行されて前記制御モデル及び前記制御プログラムの少なくとも一方の異常の有無を検査する手段として、前記制御モデルのシミュレーションを実行するシミュレーション手段との間で、そのシミュレーションの実行範囲と同制御モデルから自動生成される制御プログラムの実行範囲とを関連付けする手段を備える
    ことを特徴とする制御プログラムの検査プログラム。
  50. 制御要求仕様が要求仕様記述言語にて記述された制御モデルから作成されて電子制御装置に実装された制御プログラムを検査する検査プログラムであって、
    コンピュータを通じて実行されて前記制御モデル及び前記制御プログラムの少なくとも一方の異常の有無の検査を行う手段として、前記電子制御装置とのデータ授受を通じて同電子制御装置に実装された制御プログラムの動作を管理するプログラム実行管理手段との間で、前記実装された制御プログラムを実行する電子制御装置の実行範囲と前記制御モデルのシミュレーション実行範囲とを関連付けする手段を備える
    ことを特徴とする制御プログラムの検査プログラム。
  51. 前記関連付けする手段は、前記制御モデルから前記制御プログラムを作成する際に取得されるそれら制御モデルと制御プログラムとの対応関係を表す対応情報に基づいて前記関連付けを行う
    請求項49または50に記載の制御プログラムの検査プログラム。
JP2004302268A 2003-12-19 2004-10-15 制御プログラムの検査方法及び検査装置及び検査プログラム Expired - Fee Related JP4403945B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004302268A JP4403945B2 (ja) 2003-12-19 2004-10-15 制御プログラムの検査方法及び検査装置及び検査プログラム
DE102004060865A DE102004060865A1 (de) 2003-12-19 2004-12-17 Verfahren, System und Programmprodukt zum Prüfen von Steuerungsmodell und/oder Steuerungsprogramm
US11/015,676 US7681183B2 (en) 2003-12-19 2004-12-20 Method, system, and program product for checking control model and/or control program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003423584 2003-12-19
JP2004302268A JP4403945B2 (ja) 2003-12-19 2004-10-15 制御プログラムの検査方法及び検査装置及び検査プログラム

Publications (2)

Publication Number Publication Date
JP2005202925A JP2005202925A (ja) 2005-07-28
JP4403945B2 true JP4403945B2 (ja) 2010-01-27

Family

ID=34680673

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004302268A Expired - Fee Related JP4403945B2 (ja) 2003-12-19 2004-10-15 制御プログラムの検査方法及び検査装置及び検査プログラム

Country Status (3)

Country Link
US (1) US7681183B2 (ja)
JP (1) JP4403945B2 (ja)
DE (1) DE102004060865A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111221327A (zh) * 2020-03-17 2020-06-02 北京北汽德奔汽车技术中心有限公司 车辆故障检测方法、装置、存储介质以及车辆

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060206873A1 (en) * 2005-03-11 2006-09-14 Argade Pramod V Environment for run control of computer programs
JP4657229B2 (ja) * 2007-03-01 2011-03-23 富士通テン株式会社 シミュレーション装置
US8627299B2 (en) * 2008-02-29 2014-01-07 International Business Machines Corporation Virtual machine and programming language for event processing
US8397216B2 (en) * 2008-02-29 2013-03-12 International Business Machines Corporation Compiler for a declarative event-driven programming model
US8365149B2 (en) * 2008-02-29 2013-01-29 International Business Machines Corporation Debugger for a declarative event-driven programming model
JP5374405B2 (ja) * 2010-02-12 2013-12-25 株式会社日立製作所 モデルデバッグ装置およびモデルデバッグ方法
JP5589919B2 (ja) * 2011-03-22 2014-09-17 株式会社デンソー 設計支援装置、設計支援プログラム
JP5964077B2 (ja) * 2012-02-27 2016-08-03 三菱重工業株式会社 制御プログラム管理システム、及び制御プログラムの変更方法
US10579497B2 (en) * 2013-02-26 2020-03-03 Red Hat, Inc. Providing context simulation
US10970183B1 (en) * 2013-08-16 2021-04-06 The Mathworks, Inc. System and method for improving model performance
RU2625051C1 (ru) * 2016-02-18 2017-07-11 Акционерное общество "Лаборатория Касперского" Система и способ обнаружений аномалий в технологической системе
US11057475B2 (en) * 2016-12-27 2021-07-06 Cloudminds (Shanghai) Robotics Co., Ltd. Methods, apparatus and systems for resuming transmission link
CN108337228B (zh) * 2017-01-13 2020-11-10 株式会社自动网络技术研究所 车载装置、中继装置以及介质
CN113638813B (zh) * 2021-08-10 2022-09-13 武汉理工大学 一种汽车ecu回用件检测装置及方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000020291A (ja) 1998-07-06 2000-01-21 Toyota Motor Corp 車両用プログラム開発支援方法および装置
US6571204B1 (en) * 1998-08-04 2003-05-27 Micron Technology, Inc. Bus modeling language generator
US6587995B1 (en) * 2000-04-19 2003-07-01 Koninklijke Philips Electronics N.V. Enhanced programmable core model with integrated graphical debugging functionality
US6708329B1 (en) * 2000-05-26 2004-03-16 Itt Manufacturing Enterprises, Inc. Method and apparatus for producing modules compatible with a target system platform from simulation system modules utilized to model target system behavior
US6610968B1 (en) * 2000-09-27 2003-08-26 Axcelis Technologies System and method for controlling movement of a workpiece in a thermal processing system
US20020087343A1 (en) * 2000-09-29 2002-07-04 Lee Reid Computer-implemented method and apparatus for providing an interface to shipping and tracking systems
JP2002215423A (ja) * 2001-01-22 2002-08-02 Hitachi Ltd ソフトウェアモデル作成方法
US6859892B2 (en) * 2001-04-25 2005-02-22 Hewlett-Packard Development Company, L.P. Synchronous breakpoint system and method
JP2003015910A (ja) 2001-06-27 2003-01-17 Matsushita Electric Ind Co Ltd プログラム開発支援装置
JP3863467B2 (ja) * 2002-07-22 2006-12-27 本田技研工業株式会社 排ガスセンサの温度制御装置
US7296054B2 (en) * 2003-01-24 2007-11-13 The Mathworks, Inc. Model simulation and calibration

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111221327A (zh) * 2020-03-17 2020-06-02 北京北汽德奔汽车技术中心有限公司 车辆故障检测方法、装置、存储介质以及车辆
CN111221327B (zh) * 2020-03-17 2021-04-20 北京汽车股份有限公司 车辆故障检测方法、装置、存储介质以及车辆

Also Published As

Publication number Publication date
US7681183B2 (en) 2010-03-16
US20050138605A1 (en) 2005-06-23
JP2005202925A (ja) 2005-07-28
DE102004060865A1 (de) 2005-08-04

Similar Documents

Publication Publication Date Title
JP4403794B2 (ja) 制御プログラムの検査方法及び検査装置及び検査プログラム
JP4403945B2 (ja) 制御プログラムの検査方法及び検査装置及び検査プログラム
US20030037225A1 (en) Apparatus and method for microcontroller debugging
JP2004361292A (ja) 電子制御ユニットの自動検査装置
JP2009014406A (ja) 電子制御ユニットの自動検査装置
JP2010146592A (ja) テストプログラムデバッグ装置、半導体試験装置、テストプログラムデバッグ方法、及び試験方法
JP2010256354A (ja) 自動化システムを検証するための方法及び装置
Svenningsson et al. Model-implemented fault injection for hardware fault simulation
JP4906286B2 (ja) ソフトウェア開発環境システム
JP4476228B2 (ja) シミュレーション装置
KR100329253B1 (ko) 스캔테스트장치
JP2004027930A (ja) 車両用制御装置の評価方法
JP2007304972A (ja) マイクロプロセッサシステム
JP2005010915A (ja) 並列型コントローラ及び並列型コントローラシステムのシミュレータ
JP2020165378A (ja) インジェクタ故障診断装置及びインジェクタ故障診断方法
RU124414U1 (ru) Стенд отладки программного обеспечения цифрового устройства управления энергетическим объектом
JP2004348596A (ja) Icテスタ用プログラムのデバッグ装置、方法、及びプログラム
JP2704117B2 (ja) シミュレータ
JP2907060B2 (ja) デバッグ装置
JP3638260B2 (ja) メモリ内蔵半導体集積回路
JP2761306B2 (ja) インタ−バルタイマのテスト方法
JPH10307609A (ja) プラント制御用ソフトウェア検証ツール
JP2004069545A (ja) 半導体試験装置及び試験方法
JP2005049947A (ja) 実機レスシミュレーション装置
Fakih et al. Simulink and virtual hardware platform co-simulation for accurate timing analysis of embedded control software

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070328

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091026

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121113

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121113

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131113

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees