JP2018081400A - 演算装置及び仮想開発環境装置 - Google Patents

演算装置及び仮想開発環境装置 Download PDF

Info

Publication number
JP2018081400A
JP2018081400A JP2016222119A JP2016222119A JP2018081400A JP 2018081400 A JP2018081400 A JP 2018081400A JP 2016222119 A JP2016222119 A JP 2016222119A JP 2016222119 A JP2016222119 A JP 2016222119A JP 2018081400 A JP2018081400 A JP 2018081400A
Authority
JP
Japan
Prior art keywords
virtual
control
virtual device
device model
test 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.)
Granted
Application number
JP2016222119A
Other languages
English (en)
Other versions
JP2018081400A5 (ja
JP6692278B2 (ja
Inventor
豊 船橋
Yutaka Funabashi
豊 船橋
昌弘 小久保
Masahiro Kokubo
昌弘 小久保
大西 康史
Yasushi Onishi
康史 大西
卓也 滝澤
Takuya Takizawa
卓也 滝澤
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2016222119A priority Critical patent/JP6692278B2/ja
Priority to US15/786,350 priority patent/US20180137022A1/en
Publication of JP2018081400A publication Critical patent/JP2018081400A/ja
Publication of JP2018081400A5 publication Critical patent/JP2018081400A5/ja
Application granted granted Critical
Publication of JP6692278B2 publication Critical patent/JP6692278B2/ja
Active 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/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Software Systems (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)

Abstract

【課題】所望の故障注入を含む所望の制御を、テストプログラムから、所望のタイミングで、仮想デバイスモデルへ与えることが可能な演算装置及び仮想開発環境装置を提供する。
【解決手段】仮想開発環境装置VM1は、ソフトウェア検証環境(システムテストプログラムSTP1,システム制御アプリケーションSCA1,デバイス制御IF(API)DCI1)と仮想モデル環境(デバイス制御SW DCS1,仮想デバイスモデルVDM1)とインターフェース部IFP1とを含む。インターフェース部は、システムテストプログラムから仮想デバイスモデルを制御するための指示を中継する役割を果たし、システムテストプログラムは、仮想デバイスモデルに対し、意図的な故障注入や意図的な応答の遅延など、所望の制御を行う。
【選択図】図1

Description

本開示は、演算装置及び仮想開発環境装置に関し、特に、仮想デバイスモデルを用いた演算装置及び仮想開発環境装置に適用可能である。
自動車業界では、電気/電子部品と、これらに搭載されるマイクロコンピュータのソフトウェア開発において、機能安全規格ISO26262の適用と規格準拠が必須となりつつある。自動車メーカ、および例えば、マイクロコンピュータ等の車載向け半導体装置のサプライヤにおいては、この要件を満たすため、モデルベース開発環境、すなわち、仮想デバイスモデルを用いた仮想開発環境の整備や構築が行われている。車載電子制御装置(ECU)の仮想開発環境では、例えば、開発対象であるECU(以降では、「開発対象ECU」と呼称する)の仮想デバイスモデル(仮想ECUモデル)と、ECUのシステムテストプログラムとを用いて、ECUのシステム制御アプリケーションプログラムの開発およびその検証が行われる。開発対象ECUの仮想デバイスモデル(以降では、「仮想ECUモデル」と呼称する。)には、開発対象ECUに用いられるマイクロコンピュータの仮想デバイスモデル(仮想マイクロコンピュータモデル)が含まれる。ECUのシステム制御アプリケーションプログラムの開発およびその検証の際、例えば、仮想マイクロコンピュータモデルに対して所望の故障注入が行われ、開発対象のシステム制御アプリケーションプログラムの開発や検証およびその品質向上が図られている。なお、仮想デバイスモデルとは、対象とされるハードウェアの動作を、例えば、仮想的に代替し、模擬動作(シミュレーション)を行うことが可能なソフトウェアモデルである。
特開2014−64239号公報(特許文献1)には、「移動体通信端末試験システムは、移動体通信端末を制御するための操作指示を受けて端末制御コマンドを生成するとともに、測定制御のための操作指示を受けて測定制御コマンドを生成するコマンド生成部12と、コマンド生成部により生成されたコマンドをコマンドシーケンスとして順次記憶する記憶部13と、コマンドシーケンスを受け、当該コマンドシーケンスに記憶されたコマンドを出力するコマンド実行部15と、コマンド実行部からのコマンドに基づいて測定制御を行う試験制御部160からの制御に基づいて、移動体通信端末に対する測定を行う測定部163と、を備えた試験装置と、移動体通信端末に記憶され、端末制御指示を受け該移動体通信端末を制御するための試験アプリケーション20とを含む。」ことが開示されている。
特開2014−64239号公報
特許文献1によれば、試験装置から、自由なタイミングで各種コマンドにより、顧客システムテストプログラム内のユーザIF処理を制御する事ができる。しかし、特許文献1の技術を適用した場合でも、仮想ECUモデルの内部に存在する仮想マイコンモデルを制御する事ができないという課題があることが分かった。
本発明者らは仮想開発環境の整備や構築に関し検討し、以下の要求があることを見出した。
ECUのシステム制御アプリケーション開発は、ECUに利用される半導体デバイスの完成前、すなわち、実際のハードウェアとしてのECUが無い状態で、先行して開発を行い、開発期間を短縮したいとの要求がある。また、運転支援・自動運転への適用に際しては、増大・複雑化するシステム制御アプリケーションの検証を、より効率的に実施したいとの要求もある。また、実際にECUが作成された状態でも、システム制御アプリケーションの検証を行い、システム制御アプリケーションに対する検証の効率化およびその品質向上を図りたいとの要求もある。
また、運転支援・自動運転への適用により、膨大な数のテストパターンを作成し、それらのテストパターンを用いたシステム制御アプリケーションの検証を行うことが求められている。また、実際に故障を発生させることが困難なテストパターンも少なくなく、そのような場合、仮想デバイスモデルに対して故障を注入し、異常状態を疑似的に引き起こすことが可能である。そのため、仮想デバイスモデルに対する故障注入は、テストパターンを網羅することによる品質向上はもとより、容易にテストパターンに対応する異常状態を構築するという意味において、システム制御アプリケーションの開発の効率化にとっても、重要な技術であると考えられている。さらに、仮想デバイスモデルに対する故障注入を、任意のタイミングで行いたいとの要求や、膨大な数のテストパターンを網羅すべく、如何にして故障注入を効率的に行うかという要求も強く求められている。
本開示の課題は、所望の故障注入を含む所望の制御を、テストプログラムから、所望のタイミングで、仮想デバイスモデルへ与えることが可能な演算装置及び仮想開発環境装置を提供することにある。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
本開示のうち代表的なものの概要を簡単に説明すれば下記の通りである。
すなわち、演算装置及び仮想開発環境装置は、テストプログラムと仮想デバイスモデルとを連結させるための、インターフェース部を、含む。
本開示の演算装置及び仮想開発環境装置によれば、テストプログラムから仮想デバイスモデルへ、所望の制御を、所望のタイミングで、与えることが可能となる。
実施例1に係る仮想開発環境装置の図である。 図1の仮想開発環境装置VM1のハードウェア構成を示す概念図である。 図1のデバイス制御ソフトウェア部DCS1の構成を示す。 比較例B1と実施例1に係る仮想開発環境B2とを示す説明図である。 実施例2に係る仮想開発環境装置の他の構成例を示す概念図である。 実施例1の仮想開発環境装置の応用例を示す。
以下、実施例、比較例および応用例について、図面を用いて説明する。ただし、以下の説明において、同一構成要素には同一符号を付し繰り返しの説明を省略することがある。なお、図面は説明をより明確にするため、実際の態様に比べ、模式的に表される場合があるが、あくまで一例であって、本発明の解釈を限定するものではない。
図1は、実施例1に係る仮想開発環境装置を説明する概念図である。
仮想開発環境装置VM1は、ソフトウェア検証環境(システムテストプログラムSTP1,システム制御アプリケーションSCA1,デバイス制御IF(API)DCI1)と仮想モデル環境(デバイス制御SW DCS1,仮想デバイスモデルVDM1)とを含む仮想開発環境を構築する。仮想開発環境装置VM1は、開発および検証の対象であるシステム制御アプリケーションSCA1を、検証プログラムであるシステムテストプログラムSTP1により検証する開発支援装置またはシミュレーション装置と見做すことが出来る。
仮想開発環境装置VM1は、さらに、インターフェース部IFP1と、仮想デバイスモデルVDM1とを含む。インターフェース部IFP1は、システムテストプログラムSTP1から仮想デバイスモデルVDM1を制御するための指示を中継する役割を果たすものである。インターフェース部IFP1は、デバイス制御インターフェース部(デバイス制御IF(API))DCI1とデバイス制御ソフトウェア部(デバイス制御SW)DCS1とを含む。
デバイス制御インターフェース部DCI1は、システムテストプログラムSTP1のシナリオ設定部SSPからの指令や信号をデバイス制御ソフトウェア部DCS1へ出力し、また、デバイス制御ソフトウェア部DCS1からの入力信号を、システムテストプログラムSTP1へ出力する。デバイス制御ソフトウェア部DCS1は、デバイス制御インターフェース部DCI1からの指令や信号に従い、仮想デバイスモデルVDM1へ指示や信号を出力し、また、仮想デバイスモデルVDM1からの出力信号を、デバイス制御インターフェース部DCI1へ供給する。なお、デバイス制御インターフェース部DCI1は、システムテストプログラムSTP1の一部として、システムテストプログラムSTP1内に組み込まれても良い。
すなわち、システムテストプログラムSTP1は、デバイス制御インターフェース部DCI1またはデバイス制御ソフトウェア部DCS1を経由して、仮想デバイスモデルVDM1に対し、意図的な故障注入や意図的な応答の遅延など、所望の制御を行うことが可能とされる。例えば、システム制御アプリケーションSCA1は車載電子制御装置(ECU)のシステム制御アプリケーションであり、仮想デバイスモデルVDM1は、前記ECUに利用されるマイクロプロセッサやマイクロコンピュータの仮想デバイスモデルである。
システムテストプログラムSTP1は、システム制御アプリケーションSCA1に対し様々な信号を与えることが可能である。システム制御アプリケーションSCA1は与えられた信号に従って、その処理を実行し、仮想デバイスモデルVDM1に命令を与える。仮想デバイスモデルVDM1は受け取った命令を実行し、その実行結果をシステム制御アプリケーションSCA1へ出力する。これにより、システムテストプログラムSTP1によるシステム制御アプリケーションSCA1の動作検証が実施される。
システムテストプログラムSTP1は、前述のように、デバイス制御インターフェース部DCI1およびデバイス制御ソフトウェア部DCS1を経由し、仮想デバイスモデルVDM1を制御する。これにより、システムテストプログラムSTP1は、仮想デバイスモデルVDM1に対し、例えば、故障注入として、意図的に故障を発生させる制御、あるいは、意図的に応答の遅延を発生させる制御を行うことができる。任意のタイミングで、仮想デバイスモデルVDM1に、故障注入や応答の遅延などの所望の制御を行うため、システムテストプログラムSTP1には、シナリオ設定部SSPが設けられる。シナリオ設定部SSPには、複数のシナリオが設定可能である。このシナリオとは、仮想デバイスモデルVDM1に対する故障注入や応答の遅延などのテストや検証を行いたい制御に関するテストパターンのスケジューリングを意味し、テストパターン毎にシナリオが作成される。
したがって、システムテストプログラムSTP1は、図1において矢印Aで示されるように、シナリオ設定部SSPに設定された複数のシナリオから選択された1つシナリオに従って、任意のタイミングで、仮想デバイスモデルVDM1に故障注入や応答の遅延などを行うことが可能である。さらに、システムテストプログラムSTP1は、その故障注入や所望の制御の注入がされた場合の仮想デバイスモデルVDM1の動作や応答に対するシステム制御アプリケーションSCA1の動作を検証することが可能である。
開発・検証後のシステム制御アプリケーションSCA1が、例えば、車載電子制御装置(ECU)などの製品に搭載される際、仮想デバイスモデルVDM1は実際の半導体デバイス(例えば、半導体集積回路としてのマイクロプロセッサやマイクロコンピュータ)に置き換わる仮想デバイスモデルであり、バーチャル空間で動作するものである。システムテストプログラムSTP1のシナリオ設定部SSP、インターフェース部IFP1は、システム制御アプリケーションSCA1の開発・検証のための機能であり、製品に搭載される際には取り除かれる。システム制御アプリケーションSCA1と、シナリオ設定部SSPを除くシステムテストプログラムSTP1は、製品に搭載された後も残される部分であり、リアル空間で動作する。インターフェース部IFP1は、リアル空間とバーチャル空間の橋渡しを行い、相互の連携や連結を可能にするものである。
図2は、図1に示す仮想開発環境装置VM1のハードウェア構成を示す概念図である。
仮想開発環境装置VM1は、演算装置としての複数のCPU(Central Processing Unit)200、所要のプログラムを記憶するROM(Read Only Memory)201、実行するプログラムや各種データ等を保持するRAM(Random Access Memory)202を備える。仮想開発環境装置VM1は、さらに、例えば、ハードディスクドライブ等の外部記憶装置203、インターフェース回路204、例えば、キーボードなどの入力装置205、入力および出力などを表示する表示装置206、これらを互いに接続するバス207、を備える。
インターフェース回路204は、多数の接続端子を備えており、後述するように、開発済みのECU210の入出力端子とそれぞれ電気的に接続可能とされている。ECU210は、例えば、車両のエンジン制御用等のECUであり、図示しないプロセッサ(CPU)、メモリ(ROM,RAM)、複数の周辺回路,入出力回路等を備えている。ECU210は、インターフェース回路204を通じて仮想開発環境装置VM1との間で、各種の入力/出力信号(I/O信号)をやり取りすることが出来るようにされる。CPU200は、仮想開発環境装置VM1内のソフトウェア処理を分散するために複数設けられる。
ROM201や外部記憶装置203の記憶装置には、図1に示されるシステム制御アプリケーションSCA1、システムテストプログラムSTP1、デバイス制御インターフェース部DCI1、デバイス制御ソフトウェア部DCS1および仮想デバイスモデルVDM1等のソフトウェアが格納される。これらのソフトウェアは、必要に応じて、RAM202にロードされ、複数のCPU200により実行されて、図1に示されるような、ソフトウェア検証環境および仮想モデル環境を含む仮想開発環境が構築される。
入力装置205および表示装置206は、次のように利用することが出来る。例えば、シナリオ設定部SSPに設定された複数のシナリオは、入力装置205から入力することができ、その入力結果が表示装置206に表示される。また、入力装置205からの入力に応じて複数のシナリオから所望の1つのシナリオが選択され、選択されたシナリオに対応する故障注入や所望の制御を仮想デバイスモデルVDM1に対して与えることが出来る。その選択されたシナリオに基づく仮想デバイスモデルVDM1の動作に対するシステム制御アプリケーションSCA1の動作の結果は、システムテストプログラムSTP1を介して、表示装置206に表示することが出来る。
図3は、図1のデバイス制御ソフトウェア部DCS1の構成例を示す。
デバイス制御ソフトウェア部DCS1は、仮想デバイスモデルVDM1のシナリオ設定部SSPに設定された複数のシナリオから選択された一のシナリオに基づいて、イベントドリブンで動作させる構成とされる。そのため、デバイス制御ソフトウェア部DCS1には、複数の汎用機能GF1−GFnが設けられる。各々の汎用機能GF1−GFnは、仮想モデルデバイスVDM1の状態を変化させる、あるいは、故障状態を発生させるなど、仮想モデルデバイスVDM1の動作を制御するための汎用的な制御機能の集合体と見做される。
汎用機能GF1−GFnは、選択されたシナリオに定義された時間および汎用機能の実行順番に従って、イベントドリブンに呼び出され、呼び出された汎用機能GF1−GFnのうちの一または複数のシナリオが、順次実行される。たとえば、選択されたシナリオに、「汎用機能GF1の呼び出し実行、10ms後に汎用機能GF2の呼び出し実行、10ms後に汎用機能GF3の呼び出し実行」というようなスケジューリングが定義された場合、それに従って、3つの汎用機能GF1、GF2,GF3が、実行時間も考慮されて、順次呼び出され実行されることになる。すなわち、シナリオとして、実行されるべき汎用機能の実行順序およびその実行されるべき汎用機能の実行時間を定義することで、多種多様な汎用機能の組み合わせとその実行順序および実行時間をスケジューリングとして定義できる。その結果、多種多様な仮想デバイスモデルVDM1の動作を示すスケジューリングが可能になる。シナリオ設定部SSPに設定する複数のシナリオ(テストパターン)毎に、仮想デバイスモデルVDM1の動作を制御するスケジュールが比較的容易に策定することが可能となる。呼び出しプログラム側とされるシステムテストプログラムSTP1のシナリオ設定部SSPで、時間軸を考慮した呼び出しを行う様にすることで、様々なシナリオを実現する事が可能にされている。
汎用機能GF1−GFnのそれぞれは、例えば、1)GF1:xの例外を発生させる機能、2)GF2:レジスタをyの値を固着させる機能、3)GF3:レジスタをzの値に書き換える機能、・・・・、N)GFn:クロックを停止させる機能など、時間軸に関わらない汎用的な単一の制御機能を有する。すなわち、一般的によく知られているように、仮想デバイスモデルVDM1により模擬動作されるマイクロコンピュータは複数の制御レジスタや制御ビットを含む。汎用機能GF1−GFnの各々は、これらの複数の制御レジスタや制御ビットから選択された制御レジスタや制御ビットの値を任意に変化させるような汎用的な単一の制御機能とされる。
汎用機能GF1−GFnの他の例としては、以下の構成も採用することが出来る。
仮想デバイスモデルVDM1がマイクロコンピュータのモデルとされる場合、そのマイクロコンピュータに含まれる内蔵回路モジュールは、次の構成とすることが出来る。その内蔵回路モジュールは、例えば、CPU,RAM、割り込み制御回路、アナログデジタル変換回路(ADC)、ダイナミックメモリアクセス回路(DMAC)、タイマ回路(TM)、CAN(Controller Area Network)インターフェース回路、LIN(Local Interconnect Network)インターフェース回路、シリアル通信インターフェース回路(SCI)、クロック発生回路、電源制御回路などとすることが出来る。この場合、汎用機能GF1−GFnとして、上記される内蔵回路モジュールの各モジュール毎に作成する。そして、各モジュールに割り当てられるアドレス、例えば、制御レジスタや制御ビットのアドレス、に対して所望の制御を行う機能をその汎用機能として定義すればよい。所望の制御とは、制御レジスタや制御ビットのアドレスに対して、所望のデータを書き込む動作とされる。所望の制御は、また、マイクロコンピュータの割り込みタイミングなどの挙動や動作を制御するための、所望のデータの書き込む動作も含む。割り込みタイミングなどの挙動の制御は、内蔵回路モジュール内に設けられた割り込み制御ビットや割り込み制御回路内に設けられた割り込み制御ビットに対する値の変更タイミングの制御と見做すことが出来る。
図4は、比較例とされる仮想開発環境B1と図1を簡易的に示した実施例1に係る仮想開発環境B2とを示す。なお、図1の説明と重複する部分は、その説明が省略される。
仮想開発環境B1において、システムテストプログラムSTP2、システム制御アプリケーションSCA2および仮想デバイスモデルVDM2は、図1で説明された、システムテストプログラムSTP1、システム制御アプリケーションSCA1、システム制御アプリケーションSCA1および仮想デバイスモデルVDM1と等価なものである。一方、デバイス制御ソフトウェア部DCS21,DCS22,DCS23は、図1および図3で説明されたデバイス制御ソフトウェア部DCS1とは異なる。
仮想開発環境B1には、例示的に示される3つデバイス制御ソフトウェア部DCS21,DCS22,DCS23のそれぞれは異なるシナリオとされる。ここでは、図面の複雑さを避けるため、例示的にシナリオを3つ示したが、実際には、膨大な数のシナリオが準備および作成されることとなるため、その準備や作成には膨大な時間を必要とする課題がある。シナリオの例としては、例えば、「Xms(ミリ秒)後にAの値をaに変更、Yms(ミリ秒)後にAの値を初期値に戻し、Zms(ミリ秒)後にシステムエラーをRR番地で発生させ、・・・・」、「A()を呼び出し、Lms(ミリ秒)後にBの値を変更し、Mms(ミリ秒)後にBの値を戻し、システムエラーをNN番地で発生させ、・・・・・」などとされる。すなわち、各シナリオは、時間的要素とその時点での期待する動作との組み合わせがスクリプト言語により記述される。スクリプト言語により記述するため、C言語に比べ、そのエンジニアが少なく、膨大な数のシナリオ作成および準備に、長時間を必要とする課題もある。また、例えば、デバイス制御ソフトウェア部DCS21のシナリオが実行されるときには、デバイス制御ソフトウェア部DCS21のシナリオのみがRAM202へロードされて実行される。このシナリオの実行方式は、シナリオ駆動と見做される。そのため、システムテストプログラムSTP2とデバイス制御ソフトウェア部DCS21,DCS22,DCS23とが独立している構成とされるため、システムテストプログラムSTP2とデバイス制御ソフトウェア部とを連携させた検証が困難であるという課題もある。
一方、実施例1に係る仮想開発環境B2は、図1および図3において説明されたように、システムテストプログラムSTP1は、インターフェース部IFP1、すなわち、デバイス制御インターフェース部DCI1およびデバイス制御ソフトウェア部DCS1を経由して、仮想デバイスモデルVDM1に、所望の制御(故障注入を含む)を与えることが可能とされている。そのため、システムテストプログラムSTP1とデバイス制御ソフトウェア部DCS1とが連携して動作し、システムテストプログラムSTP1のシナリオ設定部SSPに定義された複数のシナリオを実行できるので、多種多様なシナリオにより、システム制御アプリケーションSCA1の検証が可能となる。デバイス制御ソフトウェア部DCS1は複数の汎用機能GF1−GFnが定義されており、仮想開発環境B2のデバイス制御ソフトウェア部DCS21−23のようなシナリオそれ自体が定義されたものではない。デバイス制御ソフトウェア部DCS1の複数の汎用機能GF1−GFnは、システムテストプログラムSTP1のシナリオ設定部SSPに定義されたシナリオにより、イベントドリブンで、汎用機能の選択およびその実行がスケジューリングされる。複数のシナリオおよび複数の汎用機能GF1−GFnの作成は、例えば、C言語により作成することが出来る。C言語は、スクリプト言語に比較して、エンジニアが豊富である。そのため、仮想デバイスモデルVDM1の動作を自由に制御するための複数のシナリオおよび複数の汎用機能GF1−GFnは、比較的短時間で作成することが出来る。C言語による汎用機能GF1−GFnの定義としては、例えば、FuncA(a)(Aの値をaに変更)、FuncSysError(b)(b番地でシステムエラーを発生)などである。
実施例1によれば、ソフトウェア検証環境のプログラム(システムテストプログラムSTP1)、と仮想モデル環境の仮想デバイスモデルVDM1とを連結させるためのインターフェース部IFP1(デバイス制御インターフェース部DCI1、デバイス制御ソフトウェア部DCS1)が設けられる。そのため、システムテストプログラムSTP1から、自由なタイミングで、様々な動作を仮想デバイスモデルVDM1に与えることができる。これにより、統合的な検証システムを構築する事が可能になる。したがって、検証ターゲットとされるシステム制御アプリケーションSCA1に対し、インターフェース部IFP1(デバイス制御インターフェース部DCI1、デバイス制御ソフトウェア部DCS1)から、仮想デバイスモデルVDM1への多種多様な故障等の発生と連携して、システム制御アプリケーションSCA1に直接信号を与えることが可能になる。よって、システム制御アプリケーションSCA1に対する検証の自由度が向上するとともに、検証効率の向上と検証品質の向上を図ることが出来る。
様々なシナリオに対応した仮想デバイスモデルVDM1の制御が可能になる事で、仮想モデルデバイスVDM1上で動作するシステム制御アプリケーションSCA1についての検証網羅率を向上する事が出来る。検証網羅率の向上により、システム制御アプリケーションSCA1の品質向上が図れる。したがって、機能安全規格ISO26262の適用と規格準拠への対応が可能になる。
図5は、実施例に係る仮想開発環境装置の他の構成例を示す概念図である。
実施例1の図1および図3に示される仮想開発環境装置VM1では、仮想デバイスモデルVDM1を1つのみ記載した。図5においては、複数の仮想デバイスモデルVDM51、52,53から所望の1つの仮想デバイスモデルを選択可能とする仮想開発環境装置VM2の構成が示される。なお、図5において、図1に記載のシステム制御アプリケーションSCA1、システムテストプログラムSTP1、デバイス制御インターフェース部DCI1は同一の構成が採用可能であり、図面の簡略化のため、それらの構成の図示は省略されている。
図5は、3つの仮想デバイスモデルVDM51、52,53が例示的に示している。これらの仮想デバイスモデルVDM51、52,53は、模擬動作される1つのマイクロプロセッサやマイクロコンピュータについて、それぞれ異なる言語によって作成された仮想デバイスモデルとされる。仮想デバイスモデルVDM51は言語1により、仮想デバイスモデルVDM52は言語2により、仮想デバイスモデルVDM53は言語3によりそれぞれ作成される。
デバイス制御ソフトウェア部DCS1により、3つの仮想デバイスモデルVDM51、52,53の内の選択された1つの仮想デバイスモデルを制御するため、第2インターフェース部とされる共通インターフェース部(仮想デバイスモデル共通I/F)VDMCIFが設けられる。共通インターフェース部VDMCIFは、所望の仮想デバイスモデルを選択するための選択機能を有する。また、共通インターフェース部VDMCIFは、異なる言語によって記述された仮想デバイスモデルVDM51、52,53の差分を吸収する機能も有する。
これにより、利用される仮想デバイスモデルが変更されたとしても、共通インターフェース部VDMCIFにより、共通の仮想開発環境および仮想開発環境装置を提供することが出来る。そのため、仮想開発環境の変更(仮想デバイスモデルの変更)が発生した場合であっても、仮想開発環境装置の他の構成部分(システム制御アプリケーションSCA1、システムテストプログラムSTP1、デバイス制御インターフェース部DCI1、デバイス制御ソフトウェア部DCS1)の変更は不要となる。これにより、仮想開発環境の変更のため必要とされる工数を大幅に軽減することが出来る。
<応用例>
図6は、実施例1の仮想開発環境装置の応用例を示す。なお、下記では、エンジン制御モジュール検証システムに関して説明されるが、それに限定されるものではなく、車載制御用モジュール検証システムに広く応用可能であることは、言うまでもない。
図6には、エンジン制御モジュール検証システム608に用いた場合の応用例である。検証ターゲットとなるエンジン制御用ECU609は、エンジン制御用アプリケーションプログラム601及びエンジン制御用アプリケーションプログラム601を動作させるためのマイクロプロセッサや周辺回路IP等のデバイス郡(デバイスWS)606で構成される。車載電子制御装置であるエンジン制御用ECU609は、外界の各種センサ、アクチュエータ、他のECUなどの他デバイス607とLIN/CANなどの通信バスや通信経路611を介して、図示されない車両のエンジンを制御するものである。各種センサ、アクチュエータ、他のECUは、例えば、車載周辺監視用のレーダーモジュール、温度センサモジュール、圧力センサモジュール、ブレーキモーターモジュール、ステアリング制御用モーターモジュール、ボディ制御用ECU,シャーシ制御用ECUなどとすることが出来る。
エンジン制御モジュール検証システム608は、エンジン制御用ECU609を検証するためのテストベンチである。エンジン制御モジュール検証システム608は、シナリオ設定部SSPを含むエンジン制御モジュール用テストプログラム602と、デバイス制御インターフェース部(デバイス制御IF(API))603と、デバイス制御ソフトウェア部(デバイス制御SW)604と、仮想デバイスモデル605と、で構成される。デバイス制御インターフェース部603とデバイス制御ソフトウェア部604とが、図1に示されるインターフェース部IFP1に含まれるデバイス制御インターフェース部DCI1とデバイス制御ソフトウェア部DCS1とに、それぞれ対応する。仮想デバイスモデル605は、車載電子制御装置に採用されるマイクロコンピュータなどの半導体デバイスをソフトウェア的に模擬動作可能なソフトウェアモデルとされる。
エンジン制御モジュール用テストプログラム602は、エンジン制御用アプリケーション601に各種信号を送信し、実行状態にする。また、エンジン制御モジュール用テストプログラム602は、デバイス制御インターフェース部603およびデバイス制御ソフトウェア部604を経由して、デバイス群606を模擬動作する仮想デバイスモデル605に対し、各種信号を送信および受信する事で、仮想デバイスモデル605に所望の故障を発生させるなど、状態を変化させる。
デバイス制御インターフェース部603には、仮想デバイスモデル605を制御するための、図3で説明された様に、多数の汎用的な機能(GF1−GFn)が備わる。エンジン制御モジュール用テストプログラム602は、必要なタイミングで、デバイス制御インターフェース部603を用い、デバイス制御ソフトウェア部604を経由し、仮想デバイスモデル605を制御する事が出来る。
仮想デバイスモデル605とデバイス群606は等価な機能を持っており、例えば、図2に示されたインターフェース回路204などを用い、相互に入れ替えてエンジン制御ECU609を動作させる事が可能である。これにより、デバイス群606が入手できない時期において、エンジン制御用ECU609の検証を行う事が出来る。また、デバイス群606が入手された後においても、デバイス群606の内部を破壊しなければ発生しえない様な故障を模擬するために、仮想デバイスモデル605は利用される。さらに、エンジンモジュール検証システム608から必要なタイミングで仮想モデルデバイス605を制御する事で、その他デバイス607を含め、タイミングに依存するような、総合的な検査が実施可能となる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
VM1、VM2・・・仮想開発環境装置
SCA1、SCA2・・・システム制御アプリケーション
STP1、STP2・・・システムテストプログラム
IFP1・・・インターフェース部
VDM1、VDM2、VDM51、VDM52,VDM53・・・仮想デバイスモデル
DCI1・・・デバイス制御インターフェース部
DCS1、DCS21,DCS22,DCS23・・・デバイス制御ソフトウェア部
SSP・・・シナリオ設定部
200・・・CPU
201・・・ROM
202・・・RAM
203・・・外部記憶装置
204・・・インターフェース回路
205・・・入力装置
206・・・表示装置
207・・・バス
210・・・ECU
GF1−GFn・・・汎用機能
VDMCIF・・・共通インターフェース
601・・・エンジン制御用アプリケーションプログラム
602・・・エンジン制御モジュール用テストプログラム
603・・・デバイス制御インターフェース部
604・・・デバイス制御ソフトウェア部
605・・・仮想デバイスモデル
606・・・デバイス郡
607・・・他デバイス
608・・・エンジン制御モジュール検証システム
609・・・エンジン制御用ECU

Claims (11)

  1. 演算装置は、
    テストプログラムと、
    仮想デバイスモデルと、
    前記テストプログラムと前記仮想デバイスモデルとを対応付けるための、インターフェース部と、を備え、
    前記テストプログラムから、前記インターフェース部を介して、前記仮想デバイスモデルへ所望の制御を与える。
  2. 請求項1の演算装置において、
    前記インターフェース部は、デバイス制御インターフェース部とデバイス制御ソフトウェア部とを含む。
  3. 請求項2の演算装置において、
    前記テストプログラムは、シナリオ設定部を含み、
    前記デバイス制御ソフトウェア部は、複数の汎用機能を含み、
    前記シナリオ設定部の定義に基づいて、前記複数の汎用機能の所望の汎用機能を選択して、前記仮想デバイスモデルへ、前記所望の制御を与える。
  4. 請求項3の演算装置において、
    前記所望の制御は、前記仮想デバイスモデルに故障状態を発生させ、または、応答の遅延を発生させる。
  5. 請求項4の演算装置において、
    前記仮想デバイスモデルは、マイクロコンピュータを模擬動作するものであり、
    前記複数の汎用機能の各々は、前記マイクロコンピュータの複数の制御レジスタないし制御ビットから選択された制御レジスタないし制御ビットの値を変化させる、または、マイクロコンピュータの割り込みタイミングなどの挙動を制御する、汎用的な単一の制御機能である。
  6. 請求項5の演算装置において、
    前記シナリオ設定部は、複数のシナリオを定義可能であり、
    前記複数のシナリオのそれぞれは、実行されるべき汎用機能の実行順序およびその実行されるべき汎用機能の実行時間の記述を含み、
    前記複数のシナリオから1つのシナリオが選択された場合、前記選択されたシナリオの前記記述に従って、イベントドリブンで、選択された汎用機能が実行される。
  7. 請求項6の演算装置において、
    入力装置を、さらに、含み、
    前記複数のシナリオは、前記入力装置からの入力により定義可能である。
  8. 請求項2の演算装置において、
    さらに、デバイス制御ソフトウェア部と前記仮想デバイスモデルとの間に設けられた共通インターフェースを含み、
    前記仮想デバイスモデルは、マイクロコンピュータを模擬動作するものであり、
    前記仮想デバイスモデルは、前記模擬動作されるマイクロプロセッサについて、それぞれ異なる言語によって作成された複数の仮想デバイスモデルから、前記共通インターフェースにより、選択された仮想デバイスモデルである。
  9. 演算装置を含む仮想開発環境装置であって、
    前記演算装置は、
    テストプログラムと、
    システムアプリケーションと、
    仮想デバイスモデルと、
    前記テストプログラムと前記仮想デバイスモデルとを連結させるための、デバイス制御インターフェース部とデバイス制御ソフトウェア部とを含む第1インターフェース部と、
    前記デバイス制御ソフトウェア部と前記仮想デバイスモデルとの間に設けられた第2インターフェース部と、を実行可能であり、
    前記仮想デバイスモデルは、マイクロコンピュータを模擬動作するものであり、
    前記仮想デバイスモデルは、前記模擬動作されるマイクロプロセッサについて、それぞれ異なる言語によって作成された複数の仮想デバイスモデルから、前記第2インターフェース部により選択された仮想デバイスモデルである。
  10. 演算装置を含む仮想開発環境装置であって、
    前記仮想開発環境装置は、エンジン制御モジュールの開発に利用されるものあり、
    前記演算装置は、
    エンジン制御用の車載電子制御装置に搭載されるべきエンジン制御用システムアプリケーションプログラムと、
    前記エンジン制御用システムアプリケーションプログラムを検証するためのエンジン制御モジュール用テストプログラムと、
    前記車載電子制御装置に採用されるべきマイクロコンピュータの動作を模擬可能な仮想デバイスモデルと、
    前記エンジン制御モジュール用テストプログラムと前記仮想デバイスモデルとを連結させるためのインターフェース部と、
    を実行することにより、仮想開発環境を構築し、
    前記エンジン制御モジュール用テストプログラムから、前記インターフェース部を介して、前記仮想デバイスモデルへ所望の制御を与えることにより、前記仮想デバイスモデルの動作を変化させ、
    前記仮想デバイスモデルの動作の変化を、前記エンジン制御用システムアプリケーションプログラムに与えることで、前記エンジン制御モジュール用テストプログラムにより、前記エンジン制御用システムアプリケーションプログラムを検証する。
  11. 請求項10の仮想開発環境装置において、
    前記所望の制御は、前記仮想デバイスモデルに故障状態を発生させ、または、応答の遅延を発生させる。
JP2016222119A 2016-11-15 2016-11-15 演算装置及び仮想開発環境装置 Active JP6692278B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016222119A JP6692278B2 (ja) 2016-11-15 2016-11-15 演算装置及び仮想開発環境装置
US15/786,350 US20180137022A1 (en) 2016-11-15 2017-10-17 Arithmetic operation device and virtual development environment apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016222119A JP6692278B2 (ja) 2016-11-15 2016-11-15 演算装置及び仮想開発環境装置

Publications (3)

Publication Number Publication Date
JP2018081400A true JP2018081400A (ja) 2018-05-24
JP2018081400A5 JP2018081400A5 (ja) 2019-05-09
JP6692278B2 JP6692278B2 (ja) 2020-05-13

Family

ID=62108525

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016222119A Active JP6692278B2 (ja) 2016-11-15 2016-11-15 演算装置及び仮想開発環境装置

Country Status (2)

Country Link
US (1) US20180137022A1 (ja)
JP (1) JP6692278B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102269546B1 (ko) * 2020-02-26 2021-06-28 슈어소프트테크주식회사 결함 주입 장치
US11294647B1 (en) 2020-11-13 2022-04-05 Renesas Electronics Corporation Support apparatus and design support method
JP2022065121A (ja) * 2021-04-30 2022-04-26 阿波▲羅▼智▲聯▼(北京)科技有限公司 シャーシシミュレーション方法、装置、サーバ、記憶媒体及びプログラム
JP2022144820A (ja) * 2021-03-19 2022-10-03 パナソニックIpマネジメント株式会社 検証システム、検証方法及びプログラム
EP4134861A2 (en) 2021-07-13 2023-02-15 Renesas Electronics Corporation Virtual developmental environment apparatus, method, and recording medium

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109684148B (zh) * 2018-11-08 2022-03-15 中国航空工业集团公司洛阳电光设备研究所 一种基于arinc653的机载嵌入式软件虚拟总线通信构建方法
DE102020215387A1 (de) 2020-12-02 2022-06-02 Volkswagen Aktiengesellschaft Verfahren zum Optimieren eines Testsatzes zur automatischen Qualifizierung eines virtuellen Modells für eine Kraftfahrzeugkomponente
JP2023145128A (ja) 2022-03-28 2023-10-11 パナソニックIpマネジメント株式会社 開発環境構築システム、開発環境構築方法およびプログラム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000267881A (ja) * 1999-03-15 2000-09-29 Advantest Corp 半導体デバイスシミュレート装置及びそれを用いた半導体試験用プログラムデバッグ装置
JP2009163423A (ja) * 2007-12-28 2009-07-23 Canon Inc プログラム連携システム及びそのシミュレーション制御方法
JP2009295126A (ja) * 2008-06-09 2009-12-17 Internatl Business Mach Corp <Ibm> シミュレーション方法、システム及びプログラム
JP2011113272A (ja) * 2009-11-26 2011-06-09 Mitsubishi Electric Corp ソフトウェア自動試験方式
JP2013252732A (ja) * 2012-06-05 2013-12-19 Suzuki Motor Corp 電子制御装置の自動検査装置
JP2014203314A (ja) * 2013-04-08 2014-10-27 日立オートモティブシステムズ株式会社 Ecuシミュレーション装置
JP2015123748A (ja) * 2013-12-25 2015-07-06 スズキ株式会社 検査システム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000267881A (ja) * 1999-03-15 2000-09-29 Advantest Corp 半導体デバイスシミュレート装置及びそれを用いた半導体試験用プログラムデバッグ装置
JP2009163423A (ja) * 2007-12-28 2009-07-23 Canon Inc プログラム連携システム及びそのシミュレーション制御方法
JP2009295126A (ja) * 2008-06-09 2009-12-17 Internatl Business Mach Corp <Ibm> シミュレーション方法、システム及びプログラム
JP2011113272A (ja) * 2009-11-26 2011-06-09 Mitsubishi Electric Corp ソフトウェア自動試験方式
JP2013252732A (ja) * 2012-06-05 2013-12-19 Suzuki Motor Corp 電子制御装置の自動検査装置
JP2014203314A (ja) * 2013-04-08 2014-10-27 日立オートモティブシステムズ株式会社 Ecuシミュレーション装置
JP2015123748A (ja) * 2013-12-25 2015-07-06 スズキ株式会社 検査システム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102269546B1 (ko) * 2020-02-26 2021-06-28 슈어소프트테크주식회사 결함 주입 장치
US11294647B1 (en) 2020-11-13 2022-04-05 Renesas Electronics Corporation Support apparatus and design support method
EP4002096A1 (en) 2020-11-13 2022-05-25 Renesas Electronics Corporation Design support apparatus and design support method
JP2022144820A (ja) * 2021-03-19 2022-10-03 パナソニックIpマネジメント株式会社 検証システム、検証方法及びプログラム
JP7336775B2 (ja) 2021-03-19 2023-09-01 パナソニックIpマネジメント株式会社 検証システム、検証方法及びプログラム
JP2022065121A (ja) * 2021-04-30 2022-04-26 阿波▲羅▼智▲聯▼(北京)科技有限公司 シャーシシミュレーション方法、装置、サーバ、記憶媒体及びプログラム
JP7331178B2 (ja) 2021-04-30 2023-08-22 阿波▲羅▼智▲聯▼(北京)科技有限公司 シャーシシミュレーション方法、装置、サーバ、記憶媒体及びプログラム
EP4134861A2 (en) 2021-07-13 2023-02-15 Renesas Electronics Corporation Virtual developmental environment apparatus, method, and recording medium
US11966718B2 (en) 2021-07-13 2024-04-23 Renesas Electronics Corporation Virtual developmental environment apparatus, method, and recording medium

Also Published As

Publication number Publication date
US20180137022A1 (en) 2018-05-17
JP6692278B2 (ja) 2020-05-13

Similar Documents

Publication Publication Date Title
JP6692278B2 (ja) 演算装置及び仮想開発環境装置
US7895025B2 (en) Validation method for embedded systems
US9201764B2 (en) Method and device for creating and testing a control unit program
KR101136408B1 (ko) 신뢰성 있는 cps 개발을 위한 cps 시뮬레이터, 이를 이용한 cps 시뮬레이션 시스템 및 방법
US20190138671A1 (en) Simulation device and program
JP2014203314A (ja) Ecuシミュレーション装置
JP6030237B2 (ja) マイコン故障注入方法及びシステム
US20130103379A1 (en) Apparatus and method for verifying interoperability between application software and autosar service
JP6540473B2 (ja) デバッグサポートシステム
CN109753415B (zh) 处理器验证系统及基于处理器验证系统的处理器验证方法
Himmler et al. Hardware-in-the-Loop Testing in the Context of ISO 26262
Sundharam et al. Model interpretation for an AUTOSAR compliant engine control function
US10488835B2 (en) Method for configuring a tester equipped for testing an electronic control unit
US20170220712A1 (en) Computer-implemented method for simulating a restbus control unit network
KR101283026B1 (ko) 통합 제어시스템의 실시간 제어장치 및 방법
Lauber et al. Virtual test method for complex and variant-rich automotive systems
JP2008077176A (ja) エミュレーションシステム、エミュレーション方法
JPH0877035A (ja) 中央処理装置及びマイクロコンピュータ
Brewerton et al. Practical use of autosar in safety critical automotive systems
Balashov et al. A hardware-in-the-loop simulation environment for real-time systems development and architecture evaluation
Subero Embedded systems overview
Junior et al. Model and software in the loop with automatic code generation for indicator lights warnings
JP2004310568A (ja) シミュレータ装置、シミュレーション方法および性能解析方法
Herpel et al. Enhanced Simulation-Based Verification and Validation of Automotive Electronic Control Units
Chaaban et al. A HiL test bench for verification and validation purposes of model-based developed applications using Simulink® and OPC DA technology

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190322

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190322

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200326

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200414

R150 Certificate of patent or registration of utility model

Ref document number: 6692278

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150