JP2005504377A - 制御ユニットのためのソフトウェア検証方法及び検証システム - Google Patents

制御ユニットのためのソフトウェア検証方法及び検証システム Download PDF

Info

Publication number
JP2005504377A
JP2005504377A JP2003531322A JP2003531322A JP2005504377A JP 2005504377 A JP2005504377 A JP 2005504377A JP 2003531322 A JP2003531322 A JP 2003531322A JP 2003531322 A JP2003531322 A JP 2003531322A JP 2005504377 A JP2005504377 A JP 2005504377A
Authority
JP
Japan
Prior art keywords
software
control unit
experimental
code
case
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003531322A
Other languages
English (en)
Other versions
JP4236104B2 (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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of JP2005504377A publication Critical patent/JP2005504377A/ja
Application granted granted Critical
Publication of JP4236104B2 publication Critical patent/JP4236104B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0428Safety, monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • 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
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • 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
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23188Software independent and dependent of hardware
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24006Code coverage memory:contains data about addressed addresses during program run
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24034Model checker, to verify and debug control software
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24038Several test signals stored in memory and used as input signals
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24061Simulator, generates input signals, shows output signals of logic

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Automation & Control Theory (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

ソフトウェア機能をシミュレートするためのシミュレーションモデルと制御ユニットの使用を有する,制御ユニットのためのソフトウェア機能を検証する方法とシステムであって,その場合に同一のシミュレーションモデルから,第1に,第1のエクスペリメンタル制御ユニットのために,そして第2に,第2のシリーズ制御ユニットのために,ソフトウェア機能のためのソフトウェアコードが自動的に生成され,その場合に2つの制御装置上でソフトウェアの機能のために同一の入力量が使用され,それから得られる,2つの制御ユニットの出力量が時間同期で,従って同時に検出され,その場合に2つの制御ユニットの出力量の比較によって,ソフトウェア機能が検証される。

Description

【技術分野】
【0001】
本発明は,独立請求項に記載の制御ユニットのためのソフトウェア機能を検証する方法及びシステムに関する。本発明は,さらに,請求項10に記載のソフトウェア検証方法を実施するためのプログラムコードエレメントからなるコンピュータプログラムに関する。
【背景技術】
【0002】
制御装置機能あるいは個々の車両制御装置又は制御ユニット(Electronic Control Units ECU)の複雑さの増大,そして,車両複合体内の制御ユニットと制御装置機能のネットワーク化と相互作用の増加並びに品質及び安全要請の増大が,ソフトウェア機能の検証を困難かつ複雑にしている。これは,例えば工作機械製作,自動化などのような他の技術的分野における制御ユニットとモジュールのネットワーク化についても該当する。今日においては,個別システムのためのソフトウェア承認は,複合エレクトロニクス内の系統的なテストによって実行される。まさに車両領域内では,これは通常車両内でのみ可能であるため,コストがかかる。その場合に,ソフトウェアテストの際にできるだけ高いカバレッジを得るために,定められた環境条件の元で決定された走行状況カタログが運用される。コストの理由からシリーズ制御装置においては極めて制限されたメモリと実施時間のリソースしか提供されないので,確立されたテストテクノロジーを,例えばソフトウェア承認の際のコードカバレッジ(Code Coverage)−分析のために使用することは,通常,不可能であり,あるいはコストの増大と結びついている。
【0003】
このようなことは,コードカバレッジを検出するために付加的なコードカバレッジメモリが必要であるという限りにおいて,DE19959247A1に開示されている。即ち,上記公報における発明は,車両内のプロセスを制御するための開ループ制御あるいは閉ループ制御制御装置において使用するためのマイクロコンピュータを示している。車両走行中もマイクロコンピュータの開ループ制御あるいは閉ループ制御プログラムのコードカバレッジを定めることを可能とするために,マイクロコンピュータはプログラムメモリとデータメモリに対して付加的かつ並列にコードカバレッジメモリを有しており,それがアドレスバスとデータバスを介してマイクロコンピュータに接続されていることが,提案される。その場合に,コードカバレッジメモリ内には,車両走行の間に書込みあるいは読取りアクセスの範囲内でマイクロコンピュータによって,プログラムメモリから制御プログラムを実施する間にプログラムメモリあるいはデータメモリのどのアドレスがアドレスされるかについてのデータを格納することができる。その場合に,従来技術に基づくプログラムのための可能な検査及びテスト方法として,コードカバレッジを定めるための,いわゆるコードカバレッジ方法が,いわゆるシステム実行アナライザによって実行される。その場合に,外部のアドレスバス内に存在するマイクロプロセッサの全てのアドレスは,メモリ一覧における識別をもたらす。従って,テストの最後に特徴付けられていないアドレス領域は,プログラムの実施の範囲内ではアドレスされておらず,従ってそれに応じたプログラム部分は通過されていない。かかるテストギャップの分析によって,例えばテストされない機能と機能要請のエラーのある変換が認識されて,除去される。
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら,シリーズ制御ユニットの場合には,通常定められているように,付加的なコードカバレッジメモリとそれに応じた計算時間が提供されない場合には,DE19959247A1に示す方法は実施できない。その場合には,制御装置内部の変量測定の他に,制御装置ソフトウェアあるいは対応するソフトウェア機能へのアクセスは不可能であって,その場合に,ソフトウェア機能はブラックボックスとしてしかテストすることができない。この状況は,同時にシステムの高い実時間性と信頼性が必要とされる場合には,目標相克をもたらす。
【0005】
近い将来において,例えばX−バイ−ワイヤ−システムにおけるように,制御装置ソフトウェアは安全上重要な走行機能も制御しかつ監視するので,埋込みコントロールシステムにおけるソフトウェア開発と検証のための品質要請が増大する。
【0006】
本発明の目的は,正確に定められた,一貫した機能開発プロセスを用いて,ソフトウェア機能あるいはソフトウェアコードを検証する方法を提供することであって,このことにより,従来技術から得られる状況を最適化するために,ソフトウェアの品質をさらに向上させることができる。そのために,方法の他に,検証するシステムとそれに対応するコンピュータプログラムも,本発明の対象となる。
【課題を解決するための手段】
【0007】
そのために,本発明は,ソフトウェア機能をシミュレートするためのシミュレーションモデルと制御ユニットの使用を有する,制御ユニットのためのソフトウェア機能を検証する方法とシステム及び対応するコンピュータプログラムに関するものであって,その場合に好ましくは同一のシミュレーションモデルから,第1に,第1のエクスペリメンタル制御ユニットのために,そして第2に,第2のシリーズ制御ユニットのために,ソフトウェア機能のためにソフトウェアコードが自動的に生成され,その場合に2つの制御装置上でソフトウェア機能のために同一の入力量が使用され,それによって得られる2つの制御ユニットの出力量が時間同期で(即ち同時に)検出され,その場合に2つの制御ユニットの出力量の比較によってソフトウェア機能が検証される。
【0008】
従って,エクスペリメンタル制御ユニット(即ち,エクスペリメンタルターゲット)のため,及びシリーズ制御ユニット(即ち,ECUターゲット)のために,統一的なシミュレーションモデルが基礎とされる。これに基づいて,その後,上記のように,シミュレーションモデル,例えばASCET−SD内でモデリングされた機能の,エクスペリメンタルターゲット上でのいわゆるターゲット−アイデンティカル−プロトタイピング並びに制御装置入力量による機能の刺激が行われる。他方で,同様に自動的にシミュレーションモデルから,ターゲット−コード生成を用いて,シリーズ制御ユニット,即ちECUターゲットのために同一のモデルからソフトウェア機能のための変換が行われる。その場合に,検証は,エクスペリメンタルターゲットとECUターゲット上で並列の機能テストによって行われる。
【0009】
その場合に,好ましくは,シリーズ制御ユニット,即ちECUターゲットの出力量及び/又は出力量をもたらす中間量と,エクスペリメンタルターゲット又はエクスペリメンタル制御ユニットのそれらの検出と比較は,エクスペリメンタル制御ユニットによって自動的に実施される。
【0010】
その場合に,好ましくは,各々エクスペリメンタル制御ユニットとシリーズ制御ユニットについて,ソフトウェア機能のためのソフトウェアコードは,異なる生成手段によって生成され,従って,特に同一のプロセッサのためあるいは異なるプロセッサのために,異なるコンパイラによって変換される。
【0011】
好ましい実施形態においては,ソフトウェア機能を検証する際に付加的に,エクスペリメンタル制御ユニット,エクスペリメンタルターゲット上あるいはシリーズ制御ユニット上でソフトウェアコードカバレッジを定めるために,コードカバレッジ,即ちソフトウェアコード内及び/又はソフトウェア機能内で通過するパスが検出され,それはECUターゲットにおいては,ハードウェアに依存するソフトウェア又はプラットフォームソフトウェアが含まれている,という利点を有している。
【0012】
その場合に,好ましい実施形態においては,ソフトウェア機能は,車両における駆動シーケンスを制御するために用いられ,かつそれに応じて方法,システム及び対応するコンピュータプログラムによって検証される。
【0013】
効果的かつ安価な実施形態においては,ソフトウェア機能の全検証は,実際の車両の使用なしで,車両及び/又は車両コンポーネント及び/又は車両機能をシミュレートするシミュレーション手段,例えばLabCarによって実施される。
【0014】
好ましくは,ソフトウェア機能のソフトウェアコードは,ハードウェアに依存するソフトウェアコードとハードウェアに依存しないソフトウェアコードに分割される。その場合にハードウェアに依存する部分は,例えば駆動システム及び,種々の選択可能なハードウェアに依存しないソフトウェアコード部分について,これらハードウェアに依存するソフトウェアコード部分へ結合するための,一般的な標準化されたインタフェースを定義する,いわゆるハードウェアアブストラクションレイヤを含んでおり,その場合にハードウェアに依存しないソフトウェアコード部分は,車両における駆動シーケンスを制御するためのソフトウェア機能を有している。
【0015】
即ち,さらに,ソフトウェア検証の他に,多段の機能開発プロセスが生じ,その機能開発プロセスによって各段階においてソフトウェア品質を向上させ,かつ開発リスクを最小限に抑えることができ,それがコストを節約するための高い潜在可能性をもたらす。
【発明の効果】
【0016】
好ましい実施形態においては,ソフトウェア機能を検証する際に付加的に,エクスペリメンタル制御ユニット,エクスペリメンタルターゲット上あるいはシリーズ制御ユニット上でソフトウェアコードカバレッジを定めるために,コードカバレッジ,即ちソフトウェアコード内及び/又はソフトウェア機能内で通過するパスが検出され,それはECUターゲットにおいては,ハードウェアに依存するソフトウェア又はプラットフォームソフトウェアが含まれている,という利点を有している。
【0017】
他の利点と好ましい形態は,明細書と請求項の特徴から明らかにされる。
【発明を実施するための最良の形態】
【0018】
以下,図面に示す図を用いて,本発明を詳細に説明する。
【0019】
そのために図1は,シリーズ制御ユニット100,いわゆるECUターゲットとエクスペリメンタル制御ユニット101,いわゆるエクスペリメンタルターゲットを示している。両制御ユニット100と101は,通信接続103を介して接続されている。各々使用場合に応じて,この通信接続は1方向,双方向,シリアル又はパラレルなどとすることができる。さらに,エクスペリメンタルターゲット101には,視覚化及び/又は評価手段102が接続されており,それは以下ではGUI又はGraffical User Interfaceとも称される。同様に,パラレル又はシリアルかつ1方向又は双方向である接続自体は,ここでは符号104で示されている。この視覚化手段102は,すでに説明したように,評価能力,即ち計算ユニット及び/又はメモリユニットを有することができ,その場合にこのGUIは,同様にエクスペリメンタルターゲット101内に統合することができる。
【0020】
ブロック105と106によって,ECU−ソフトウェアアーキテクチャとエクスペリメンタルターゲットのソフトウェアアーキテクチャが象徴的に示されている。シリーズ制御ユニットのソフトウェアあるいはソフトウェア機能のアーキテクチャ,従ってECUアーソフトウェアは,例えばコンポーネント形成とバリアント形成,再使用とポート可能性並びに開発ツールのためのシリーズ制御ユニットのインタフェースの支援のために,中心的な重要性を有している。従って,開発プロセスとソフトウェアアーキテクチャは,共通に考えられなければならない。その場合に,層アーキテクチャが効果的であって,その層アーキテクチャにおいては本来の制御装置機能性,即ちアプリケーションソフトウェアのようなハードウェアに依存しないソフトウェア機能は,プラットフォームソフトウェアのハードウェアに依存するソフトウェア層から分離されている。このことにより,第1に,プラットフォームソフトウェアをプロジェクト全体を覆うように再利用することができ,第2には好ましい方法で制御ユニットへのアクセスのためのインタフェースが簡略化される。従って,標準化された方法あるいはこの標準インタフェースに合わせられた工具を,開発,検証の間,そして製造とサービスにおいても,例えばラピッドプロトタイピング,デバッギング,測定及び校正のために使用することが可能である。さらに,特に車両における駆動シーケンスを制御するために,アプリケーションソフトウェアの機能あるいはソフトウェア機能をハードウェアに関係なく特殊化することができるので,様々な制御装置プラットフォームへポートすることができる。
【0021】
その場合に,ブロック105内には,データブロック107が含まれており,そのデータブロックはデータの全体,即ち入力量と出力量,測定データ,内部の中間量などを有している。これらの機能のデータは,ソフトウェア機能の範囲内でブロック107とブロック109内でほぼ等しい。しかしながら,ソフトウェアブロック105内では,他のソフトウェアコードあるいは他のソフトウェア機能はもはや直接にはアクセスできないので,ブロック108はブラックボックス行動を示し,かつECUターゲット上では大体において,データブロック107に関して,測定と校正のみが可能である。
【0022】
その他,後の検証のために,エクスペリメンタルターゲット101が使用され,そのエクスペリメンタルターゲットにおいては,ハードウェアに依存しないソフトウェアの範囲内で,データブロック109に加えてデータブロック110内の機能あるいはソフトウェア機能の行動へのアクセスも可能である。従って,エクスペリメンタルターゲットにおいては,ブロック111内でだけ,従ってプラットフォームソフトウェアに関して,ブラックボックス行動が示されている。その中には,駆動システム,例えばOSEK−OS又はERCOS及びオートモーティブサービスとアクセスされるアブストラクションレイヤ,ハードウェアアブストラクションレイヤHALが埋め込まれている。これらアブストラクション層によって,その上に存在するソフトウェア機能の行動とデータを記述しあるいは有しているソフトウェア層,特にアプリケーションソフトウェアの独立性が可能とされる。
【0023】
以下の図2と3においても説明されるように,ソフトウェア機能あるいはソフトウェアコードの検証を可能にするために,ソフトウェア構造は,シリーズ制御ユニット(即ちECUターゲット)とエクスペリメンタルターゲット(即ちクスペリメンタル制御ユニット)との間でほぼ同一である。さらに後に説明するために,検証の範囲内で時間同期性を示すことも重要であって,その場合に,基礎となる1つの駆動システムあるいは各々基礎となる複数の駆動システムは同一の時間行動を有しており,その場合に好ましくは同じ又は同様な駆動システム,特にOSEKのような標準駆動システムとASAMのような他の基準が考慮され,かつ使用される。
【0024】
ソフトウェア機能のデータと行動へのアクセスが可能であることによって,ブロック109と110においてはシリーズ制御ユニットとは異なり,これに関してラピッドプロトタイピングが可能であり,あるいは同じシミュレーションモデルASCET−SDを使用することによって,エクスペリメンタルターゲット上での,ASCET−SD内でモデリングされた機能のターゲット−アイデンティカル−プロトタイピングと,シリーズ制御ユニットの入力量による機能のシミュレーションが可能である。
【0025】
そのために,シミュレーションモデルあるいは付属の開発ツール,例えばASCET−SDは,ハードウェアに依存しないソフトウェア,特にアプリケーションソフトウェアの機能のグラフィックの,物理的な,コンポーネントベースのモデリング,エクスペリメンタルターゲットによるシミュレーションとラピッドプロトタイピング,従ってシリーズ制御ユニット,目標システム上に実装するためのターゲット−アイデンティカル−プロトタイピングと自動化されたターゲットコード生成を支援する。付加的に,シミュレーションモデルあるいは対応する開発ツールによって,制御ユニットの全ての測定及び調節変量のための,標準化フォーマット,例えばASAM−MCD2の,完全な記述データファイルが生成され,それによって標準化された測定及び校正ツールインタフェースが可能である。
【0026】
図2には,ブロック200におけるシミュレーションモデルの形成から始まって,方法シーケンスが示されている。その場合に,特にハードウェアに依存しないソフトウェア機能のためのシミュレーションモデル,特にASCET−SDは,シリーズ制御ユニット,即ちECUターゲットとエクスペリメンタル制御ユニットにとって同様に「信号ソース」,即ちベースである。ブロック201において,ブロック200で形成された,シリーズ制御ユニットのためのシミュレーションモデルから,ソフトウェア機能のためのECUターゲットに関するターゲットコード生成が行われる。
【0027】
ブロック202においては,同様に,エクスペリメンタルターゲット上で,シミュレーションモデルにおいてモデリングされた機能のターゲット−アイデンティカル−プロトタイピングが自動的に行われる。その場合に,ターゲット−アイデンティカル−プロトタイピングは,全算術的及び時間的行動が特殊化され,かつシミュレートされること(エクスペリメンタルターゲット上で)を意味し,かつシリーズ制御ユニットのシステム行動とバーチャルに正確に一致する。
【0028】
その後,ブロック203において,ECUターゲットのために,特にCでコンパイルすることによって,ソフトウェアコードの生成が行われる。その場合に,ソフトウェアコードは,例えばC又はC++あるいはジャバなどのような任意のプログラム言語で存在するが,本発明の対象に関して制限的に理解すべきではない。同様に,ブロック204において,エクスペリメンタル制御ユニットのために,いわゆるソフトウェアコードへの変換が行われる。
【0029】
そして,ブロック208と209において,本来のソフトウェア検証が行われる。そのために,ブロック208においては,シリーズ制御ユニット205とエクスペリメンタル制御ユニット206上で時間的に並列の機能テストが行われ,その場合に接続207を介して示されるように,データ交換を行うことができる。その場合に,シリーズ制御ユニットとエクスペリメンタル制御ユニットについて,テストケースは同一である。即ち,特に,例えばエクスペリメンタルターゲットの浮動小数点演算(例えば固定小数点演算も可能)と,例えばシリーズ制御ユニット上の固定小数点演算において,浮動小数点演算と固定小数点演算との間で比較が可能である。従って,実装に関して不十分であることの表示を可能にして,必要に応じて,特に自動的に補正するために,数量化とオーバーフロー効果がシリーズ制御ユニット,従ってECUターゲットに及ぼす影響を調査することが,早期に可能である。
【0030】
その後,ブロック209において,好ましくはエクスペリメンタル制御ユニット上で,ソフトウェア機能に関する出力量の測定と比較が行われる。その場合に,シリーズ制御ユニットとエクスペリメンタル制御ユニット上の測定あるいは値の検出とその比較は,同時かつ時間同期で行われる。即ち,要約すると,ターゲット−アイデンティカル−プロトタイピングとターゲット−コード−生成によるソフトウェア検証が可能である。ターゲット−アイデンティカル−プロトタイピングとターゲット−コード生成のために同一のコードジェネレータオプションを提供することができ,このことにより,その後2つのターゲットあるいは制御ユニット上で固定小数点演算が使用される。既に示したように,好ましくはエクスペリメンタルターゲット上では,シリーズ制御ユニットにおけるのと同じ駆動システム,特に,例えばERCOSのような,OSEK駆動システム及び同一のサービスルーチンが使用される。
【0031】
選択的かつ付加的に,ブロック210によって,コードカバレッジ分析,いわゆるコードカバレッジ分析が,接続212を介してエクスペリメンタルターゲット上で,あるいは選択的に接続213を介してシリーズ制御ユニット上で可能である。そのために,特にシミュレーションモデルによって自動的に生成されるソフトウェアコード,特にC−コードが計測される。そのために,高いカバレッジ(パス及び/又はブランチカバレッジ)を得るという目的を達成するために,コード計測あるいはカバレッジ分析のための商用のカバレッジ工具をシミュレーションモデル内に埋め込むことができる。
【0032】
即ち,例えば,ハードウェアに依存しないソフトウェア機能のための100%のターゲット−アイデンティカル−プロトタイピングを前提にして,100%のブランチカバレッジから,ECUターゲット上の100%のブランチカバレッジを推定することができる。
【0033】
代替的に,コードカバレッジ分析は,接続213を介して示すように,ECUターゲット上で実施することもでき,この場合においては,コードカバレッジ分析が直接シリーズ制御ユニットのソフトウェアコード上で実施され,従ってハードウェアに依存するソフトウェア成分,プラットフォームソフトウェアもカバレッジされると,効果的であろう。
【0034】
同一のシミュレーションモデル,例えばASCED−SDから,後の検証のために,2つのパスについて,ターゲットコード生成を有するECUターゲットのためと,ターゲット−アイデンティカル−プロトタイピングを有するエクスペリメンタルターゲットのために,ソフトウェアコードとして,特にCコードが生成される。エクスペリメンタル制御ユニット上の浮動小数点演算とシリーズ制御ユニット上の固定小数点演算との間で比較するために,同一のテスト刺激,従って特に同一の入力量及び同時かつ同期化された測定値検出,即ち2つの制御ユニット上で出力量の検出が実施される。
【0035】
その場合に,好ましくは,測定及びシミュレーション環境はエクスペリメンタル制御ユニット内へ統合されており,ラボ内,試験台,かつ車両内で同様に使用することができる。好ましくは測定量比較,従って出力量の比較は,エクスペリメンタル制御ユニット上で計算される。さらに,コンパイラとコードジェネレータセットを含む,使用されるプラットフォームの多様性によって,特にシリーズ制御ユニットのためのコードジェネレータ最適化の調査と検査,コードジェネレータ,コンパイラ及びプロセッサの問題あるいはエラーの識別並びにシリーズ制御ユニットのタイミング問題の認識が可能である。これについて,図3のデータ及びコントロールの流れを用いて再度詳細に説明する。
【0036】
図3において,ここでもブロック101によってエクスペリメンタル制御ユニットが示され,ブロック100によってシリーズ制御ユニットが示されている。シリーズ制御ユニット100は,接続303を介して固有の入力量を得て,接続302を介してソフトウェア機能に応じて出力量又は測定量を出力する。制御区間である,ブロック300は,一方では,既に説明したように,車両とすることができる。他方では,例えばLabCarとしてのラボ内での種々の車両機能又は車両全体の表示のような,シミュレーション環境とすることができ,このことにより検査シーケンス全体をこの種のLabCarと共にラボ内へ移動させて,自動化することができる。その場合に,実際のシリーズ制御ユニットの入力量は,例えば双方向の接続103を介して,あるいは代替的に接続304によって,エクスペリメンタル制御ユニットへ伝達することができる。同様に,シリーズ制御ユニットの測定量又は出力量は,比較がエクスペリメンタル制御ユニット上で実施される限りにおいて,比較のために接続103を介してこのエクスペリメンタル制御ユニットへ伝達することができる。導線301あるいは象徴的な信号の流れは,例えばECUターゲットからエクスペリメンタルターゲットへのトリガーを示している。同様にシリーズ制御ユニットの出力量は,パス306を介して視覚化及び(場合によっては)評価システム102GUIへ伝達され,同システムは接続104を介して,特に双方向で,エクスペリメンタル制御ユニットと接続されている。ここでも,原理的にGUIをエクスペリメンタル制御ユニット内へ統合することが可能である。
【0037】
同様に,選択的に,エクスペリメンタルターゲットの出力量又は比較結果も,パス305を介して他の評価手段又は表示手段へ伝達することができる。特にエクスペリメンタル制御ユニット内で,あるいは選択的に視覚化又は評価ユニット,例えば102内で,あるいはパス305との組合わせにおいて,エクスペリメンタル制御ユニットとシリーズ制御ユニットの出力量の比較が行われる。出力量が等しい場合には,独立したソフトウェア機能に関するターゲット−アイデンティカル−プロトタイピングが達成されている。出力量が異なる場合には,コードジェネレータ,コンパイラ,プロセッサ,サービスルーチン又はシリーズ制御ユニットのタイミング,ECUタイミングによる問題が存在しており,エラーとして表示し,かつそれに応じたエラーリアクションを付随させることができる。このエラー解明は,別々のパスが使用される限りにおいて,保証されている。即ち,2台のプロセッサ−エクスペリメンタルターゲット内の1台とECUユニット内の1台−が使用されることによってだけでなく,2つのパス内のエラーの繰返しを阻止して,エラーあるいは問題を発見するために,これらが選択的に同タイプでなく,異なるコンパイラである場合にも可能である。
【0038】
以上説明してきた方法は,図示されている検証システム上でプログラムコードエレメントを有するコンピュータプログラムの範囲内で自動化されて実行される。その場合に,個々のプログラムコードエレメントは,請求項に記載の本発明に基づく処理ステップを得るために,処理される。従って,コンピュータ,計算機あるいは検証システム上で行われる場合に実行され,あるいは実施されるプログラムコードエレメントは,本発明に基づくシステムに記載の処理ステップを有する。その場合に,プログラムコードエレメントは,実施前あるいは実施するために,任意のデータ担体(システム内部又は外部),従ってRAM,ROM,EPROM,CD−ROM,ディスケットなどの上に格納されている。
【図面の簡単な説明】
【0039】
【図1】シリーズ制御ユニット,従ってECUターゲットとエクスペリメンタルターゲットを各々のソフトウェアアーキテクチャと共に示している。
【図2】ソフトウェア検証方法の実行を説明するフローチャートである。
【図3】本発明に基づくソフトウェア検証方法に関するデータとコントロールの流れを再度示している。

Claims (10)

  1. ソフトウェア機能をシミュレートするためのシミュレーションモデルと制御ユニットの使用を有する制御ユニットのためのソフトウェア機能を検証する方法において,
    同一のシミュレーションモデルから,第1に,第1のエクスペリメンタル制御ユニットのために,そして第2に,第2のシリーズ制御ユニットのために,ソフトウェア機能のためのソフトウェアコードが自動的に生成され,
    その場合に,前記2つの制御装置上でソフトウェア機能のために同一の入力量が使用され,それから得られる,2つの制御ユニットの出力量が時間同期で検出され,
    その場合に,前記2つの制御ユニットの出力量の比較によってソフトウェア機能が検証される,
    ことを特徴とする制御ユニットのためのソフトウェア機能を検証する方法。
  2. 前記出力量及び/又は前記出力量をもたらす中間量の検出と比較は,前記第1のエクスペリメンタル制御ユニットによって自動的に実行される,ことを特徴とする請求項1に記載の方法。
  3. 前記各々のエクスペリメンタル制御ユニット又はシリーズ制御ユニットのためのソフトウェア機能のためのソフトウェアコードは,異なる生成手段によって生成される,ことを特徴とする請求項1に記載の方法。
  4. 前記検証の際に,付加的に,ソフトウェアコードカバレッジを定めるために,前記ソフトウェアコード内及び/又は前記ソフトウェア機能内で通過するパスが,前記エクスペリメンタル制御ユニット上で検出される,ことを特徴とする請求項1に記載の方法。
  5. 前記ソフトウェア機能は,車両における駆動シーケンスを制御するために使用される,ことを特徴とする請求項1に記載の方法。
  6. 前記ソフトウェア機能の全ての検証は,実際の車両を使用することなく,車両をシミュレートするシミュレーションモデルによって実行される,ことを特徴とする請求項5に記載の方法。
  7. 前記ソフトウェアコードは,ハードウェアに依存するソフトウェアコードとハードウェアに依存しないソフトウェアコードに分割されており,その場合に前記ハードウェアに依存しないソフトウェアコードのみが車両における駆動シーケンスを制御するためのソフトウェア機能に使用される,ことを特徴とする請求項1及び5に記載の方法。
  8. 前記検証の際に,付加的に,ソフトウェアコードカバレッジを定めるために,前記ソフトウェアコード内及び/又は前記ソフトウェア機能内で通過するパスが,前記シリーズ制御ユニット上で検出される,ことを特徴とする請求項1に記載の方法。
  9. ソフトウェア機能をシミュレートするためのシミュレーションモデル及び制御ユニットの使用と,互いに通信接続されている第1のエクスペリメンタル制御ユニット及び第2のシリーズ制御ユニットとを有する制御ユニットのためのソフトウェア機能を検証するシステムにおいて,
    同一のシミュレーションモデルから,第1に,第1のエクスペリメンタル制御ユニットのために,そして第2に,第2のシリーズ制御ユニットのために,ソフトウェア機能のためのソフトウェアコードを自動的に生成する第1の手段が設けられており,
    その場合に,前記双方の制御装置上でソフトウェア機能のために同一の制御量が使用され,かつそれから得られた,2つの制御ユニットの出力量を時間同期で検出する,第2の手段が設けられており,その場合に,2つの制御ユニットの出力量の比較によってソフトウェア機能を検証する,第3の手段が,特にエクスペリメンタル制御ユニット上に,設けられていることを特徴とする,制御ユニットのためのソフトウェア機能を検証するシステム。
  10. プログラムコードエレメントからなるコンピュータプログラムであって,前記コンピュータプログラムによって,プログラムコードエレメントがコンピュータ上,あるいはコンピュータシステム上,特に制御ユニット上又は請求項9に記載のシステム上で実行される場合に,請求項1から8のいずれか1項に記載の方法が自動的に実施される,コンピュータプログラム。
JP2003531322A 2001-09-07 2002-07-24 制御ユニットのためのソフトウェア検証方法及び検証システム Expired - Fee Related JP4236104B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10144050A DE10144050A1 (de) 2001-09-07 2001-09-07 Verfahren zur Softwareverifikation für Steuereinheiten und Verifikationssystem
PCT/DE2002/002725 WO2003027850A2 (de) 2001-09-07 2002-07-24 Verfahren zur softwareverifikation für steuereinheiten und verifikationssystem

Publications (2)

Publication Number Publication Date
JP2005504377A true JP2005504377A (ja) 2005-02-10
JP4236104B2 JP4236104B2 (ja) 2009-03-11

Family

ID=7698161

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003531322A Expired - Fee Related JP4236104B2 (ja) 2001-09-07 2002-07-24 制御ユニットのためのソフトウェア検証方法及び検証システム

Country Status (6)

Country Link
US (1) US7275184B2 (ja)
EP (1) EP1428126A2 (ja)
JP (1) JP4236104B2 (ja)
AU (1) AU2002325798A1 (ja)
DE (1) DE10144050A1 (ja)
WO (1) WO2003027850A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011522334A (ja) * 2008-06-05 2011-07-28 インターナショナル・ビジネス・マシーンズ・コーポレーション ソフトウェア問題を識別するための方法、システム、およびコンピュータ・プログラム
JP2011257889A (ja) * 2010-06-07 2011-12-22 Fuji Electric Co Ltd 安全制御システム

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7502728B1 (en) * 2002-04-30 2009-03-10 Unisys Corporation Code coverage testing in hardware emulation
GB0213688D0 (en) * 2002-06-14 2002-07-24 Ibm Automated test generation
US7596778B2 (en) * 2003-07-03 2009-09-29 Parasoft Corporation Method and system for automatic error prevention for computer software
US20050033457A1 (en) * 2003-07-25 2005-02-10 Hitoshi Yamane Simulation aid tools and ladder program verification systems
EP1530138A1 (en) * 2003-11-10 2005-05-11 Robert Bosch Gmbh Generic measurement and calibration interface for development of control software
US7162389B2 (en) * 2003-12-01 2007-01-09 Fujitsu-Ten Limited Evaluation device for control unit, simulator, and evaluation system
US7793269B2 (en) * 2005-02-15 2010-09-07 Ebay Inc. Parallel software testing based on a normalized configuration
US7383460B2 (en) * 2005-03-25 2008-06-03 Microsoft Corporation Method and system for configuring a timer
SE529676C2 (sv) 2006-03-02 2007-10-23 Abb Ab En metod för att utvärdera en applikation, ett automationssystem och en styrenhet
SE0600449L (sv) 2006-03-02 2007-10-09 Abb Ab En metod för att jämföra variabelvärden erhållna från olika versioner av ett applikationsprogram samt ett automationssystem och en styrenhet
US8087007B2 (en) * 2006-05-08 2011-12-27 Assima Ltd. System and method for software prototype-development and validation and for automatic software simulation re-grabbing
GB0614067D0 (en) * 2006-07-17 2006-08-23 Ineos Fluor Holdings Ltd Heat transfer compositions
US8161457B2 (en) * 2007-03-06 2012-04-17 International Business Machines Corporation Detection of errors caused by interactions of independent software vendor code with host code
DE102007028721A1 (de) 2007-06-21 2008-12-24 Iav Gmbh Ingenieurgesellschaft Auto Und Verkehr Verfahren und Vorrichtung zur Verifizierung von Funktionsabläufen in einem Steuergerät
US9442701B1 (en) * 2007-06-21 2016-09-13 The Mathworks, Inc. Verifying models for exceptional behavior
EP2503459B1 (en) * 2011-03-23 2021-01-20 Volvo Car Corporation Complete and compatible function
US8694978B1 (en) * 2011-03-25 2014-04-08 Google Inc. Function side-effect modeling by prototyping
CN106874055B (zh) * 2017-03-07 2020-01-31 上海怿星电子科技有限公司 一种用于汽车ecu程序自动刷写测试的方法和装置
DE102018212560A1 (de) * 2017-08-08 2019-02-14 Robert Bosch Gmbh Rechnergestütztes System zum Testen einer servergestützten Fahrzeugfunktion
CN109409022B (zh) * 2018-12-21 2023-07-14 核动力运行研究所 一种用于核电堆芯物理仿真可视化建模调试测试方法
US11237802B1 (en) 2020-07-20 2022-02-01 Bank Of America Corporation Architecture diagram analysis tool for software development
DE102021201837A1 (de) * 2021-02-26 2022-09-01 Siemens Mobility GmbH Verfahren zur Konfiguration einer Steuerungssoftware bei einem Schienenfahrzeug

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56500945A (ja) 1979-07-27 1981-07-09
US5551050A (en) * 1989-12-20 1996-08-27 Texas Instruments Incorporated System and method using synchronized processors to perform real time internal monitoring of a data processing device
FR2685838B1 (fr) * 1991-12-27 1994-02-25 Sgs Thomson Microelectronics Sa Procede pour verifier la conformite a une norme d'une cellule representative d'un circuit dedie a la gestion d'un protocole de communication, et systeme pour sa mise en óoeuvre.
US5313618A (en) * 1992-09-03 1994-05-17 Metalink Corp. Shared bus in-circuit emulator system and method
US5946472A (en) * 1996-10-31 1999-08-31 International Business Machines Corporation Apparatus and method for performing behavioral modeling in hardware emulation and simulation environments
US5960188A (en) * 1997-03-13 1999-09-28 Delco Electronics Corporation Method for modeling electrical interconnections in a cycle based simulator
US6332201B1 (en) * 1999-03-23 2001-12-18 Hewlett-Packard Company Test results checking via predictive-reactive emulation
US6973417B1 (en) * 1999-11-05 2005-12-06 Metrowerks Corporation Method and system for simulating execution of a target program in a simulated target system
DE19959247A1 (de) 1999-12-08 2001-06-13 Bosch Gmbh Robert Mikrocomputer zum Einsatz in einem Steuerungs-/Regelungsgerät eines Kraftfahrzeugs und Verfahren zum Bestimmen der Codeabdeckung eines Steuerungs-/Regelungsprogramms des Mikrocomputers
US7035784B1 (en) * 2000-09-22 2006-04-25 Lucent Technologies Inc. Data-driven method simulator and simulation process
US20030088710A1 (en) * 2001-07-05 2003-05-08 Sukhwinder Sandhu Simulation environment software

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011522334A (ja) * 2008-06-05 2011-07-28 インターナショナル・ビジネス・マシーンズ・コーポレーション ソフトウェア問題を識別するための方法、システム、およびコンピュータ・プログラム
JP2011257889A (ja) * 2010-06-07 2011-12-22 Fuji Electric Co Ltd 安全制御システム

Also Published As

Publication number Publication date
WO2003027850A2 (de) 2003-04-03
AU2002325798A1 (en) 2003-04-07
US7275184B2 (en) 2007-09-25
US20050022166A1 (en) 2005-01-27
EP1428126A2 (de) 2004-06-16
DE10144050A1 (de) 2003-03-27
JP4236104B2 (ja) 2009-03-11
WO2003027850A3 (de) 2004-02-05

Similar Documents

Publication Publication Date Title
JP4236104B2 (ja) 制御ユニットのためのソフトウェア検証方法及び検証システム
CN103543999B (zh) 用于创建和测试控制器程序的方法和装置
JP5160589B2 (ja) 自動化システムを検証するための方法及び装置
US9766607B2 (en) Test device for testing a virtual electronic control unit
US20090055804A1 (en) Method and device for automatically evaluating the quality of a software source code
US9342441B2 (en) Methodology and tool support for test organization and migration for embedded software
US20100333061A1 (en) Explicit state model checking of sl/sf models using the auto-generated code
KR20200007133A (ko) 차량 ecu 소프트웨어 검증을 위한 동적 결함 주입 방법 및 장치
Chrisofakis et al. Simulation-based development of automotive control software with Modelica
US11801823B2 (en) Computer-based system for testing a server-based vehicle function
CN111506509A (zh) 汽车软件单元自动测试方法、装置、设备及存储介质
US10394704B2 (en) Method and device for testing a software program
CN117234926A (zh) 基于autosar架构的软件组件接口检查方法及装置
Lang et al. Virtual powertrain calibration at GM becomes a reality
Sundharam et al. Model interpretation for an AUTOSAR compliant engine control function
Beringer et al. Consistency Analysis of AUTOSAR Timing Requirements.
Drenth et al. Consistent simulation environment with FMI based tool chain
Grossmann et al. Testml-a test exchange language for model-based testing of embedded software
Mauss et al. Chip simulation of automotive ECUs
Muttenthaler et al. Lean automated hardware/software integration test strategy for embedded systems
Mouzakitis et al. Advanced automated onboard vehicle diagnostics testing
CN111752823A (zh) 一种车载电源应用软件的测试方法、装置及设备
Junghanns Virtual integration of Automotive Hard-and Software with Silver
Kum et al. Model-based automated validation techniques for automotive embedded systems
Gebhardt et al. Tools and Methods for Validation and Verification as Requested by ISO26262

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070814

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080115

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080415

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080515

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080610

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080908

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20081014

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

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

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121226

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees