JP7336775B2 - 検証システム、検証方法及びプログラム - Google Patents

検証システム、検証方法及びプログラム Download PDF

Info

Publication number
JP7336775B2
JP7336775B2 JP2021045994A JP2021045994A JP7336775B2 JP 7336775 B2 JP7336775 B2 JP 7336775B2 JP 2021045994 A JP2021045994 A JP 2021045994A JP 2021045994 A JP2021045994 A JP 2021045994A JP 7336775 B2 JP7336775 B2 JP 7336775B2
Authority
JP
Japan
Prior art keywords
responsiveness
virtual
verification
unit
environment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021045994A
Other languages
English (en)
Other versions
JP2022144820A (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.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Priority to JP2021045994A priority Critical patent/JP7336775B2/ja
Priority to US17/582,698 priority patent/US20220300316A1/en
Publication of JP2022144820A publication Critical patent/JP2022144820A/ja
Application granted granted Critical
Publication of JP7336775B2 publication Critical patent/JP7336775B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Description

本開示は、制御対象の制御を行う制御装置を検証対象として検証を行う検証システム、検証方法及びプログラムに関する。
従来、制御対象を制御する制御装置のソフトウェア開発において、まずは制御対象が仮想的に構成されている仮想環境で制御装置の検証を行った後、制御対象がハードウェアで構成されている実環境で制御装置の検証を行うことが一般的である。例えば、特許文献1には、仮想環境(ソフトウェア・シミュレーション装置)での検証で使用したデータをそのまま実環境(ハードウェア・シミュレーション装置)での検証に使用できるようにしたことを特徴とするシミュレーション装置が開示されている。
特開2008-269022号公報
しかしながら、上記特許文献1では、どのようにして、仮想環境での検証で使用したデータをそのまま実環境での検証に使用できるようにしたのかが開示されていない。実環境のように制御対象が実際のハードウェアである場合と、仮想環境のように制御対象がソフトウェアによるエミュレーションである場合とでは、それぞれ応答性が異なっており、仮想環境での検証で使用したデータをそのまま実環境での検証に使用することは難しい。このため、仮想環境と実環境とで同じ動作シナリオを用いた検証を精度良く行うことが難しくなっている。
そこで、本開示は、仮想環境と実環境とで同じ動作シナリオを用いた検証を精度良く行うことができる検証システムなどを提供する。
本開示の一態様に係る検証システムは、制御対象の制御を行う制御装置を検証対象として検証を行う検証システムであって、前記制御対象がハードウェアで構成されている実環境において、前記検証対象の検証を行ったときの応答性である実応答性を取得する実応答性取得部と、前記制御対象が仮想的に構成されている仮想環境において、前記検証対象の検証を行ったときの応答性である仮想応答性を取得する仮想応答性取得部と、前記仮想応答性が前記実応答性に近づくように、前記仮想環境の設定を変更する変更部と、を備える。
また、本開示の一態様に係る検証方法は、制御対象の制御を行う制御装置を検証対象として検証を行う検証方法であって、前記制御対象がハードウェアで構成されている実環境において、前記検証対象の検証を行ったときの応答性である実応答性を取得する実応答性取得ステップと、前記制御対象が仮想的に構成されている仮想環境において、前記検証対象の検証を行ったときの応答性である仮想応答性を取得する仮想応答性取得ステップと、前記仮想応答性が前記実応答性に近づくように、前記仮想環境の設定を変更する変更ステップと、を含む。
また、本開示の一態様に係るプログラムは、上記の検証方法をコンピュータに実行させるためのプログラムである。
本開示の一態様に係る検証システムなどによれば、仮想環境と実環境とで同じ動作シナリオを用いた検証を精度良く行うことができる。
実施の形態における実環境の一例を示す構成図である。 実施の形態における実環境において、検証対象の検証を行ったときの実応答性が作成される際のシーケンス図である。 実施の形態における仮想環境の一例を示す構成図である。 実施の形態における仮想環境において、検証対象の検証を行ったときの実応答性が作成され、仮想環境の設定が変更される際のシーケンス図である。 その他の実施の形態における検証方法の一例を示すフローチャートである。
(実施の形態)
制御対象を制御する制御装置のソフトウェア開発において、制御装置の検証が行われる。以下、検証が行われる制御装置を検証対象とも呼ぶ。検証対象の検証は、制御対象がハードウェアで構成されている実環境、及び、制御対象が仮想的に構成されている仮想環境(例えば、制御対象のエミュレーションが行われている環境)において行われる。実施の形態における検証システムは、制御対象の制御を行う制御装置を検証対象として検証を行うシステムである。検証システムでは、実環境において検証対象の検証を行ったときの応答性である実応答性と、仮想環境において検証対象の検証を行ったときの応答性である仮想応答性とが用いられる。まず、実環境について図1を用いて説明する。
図1は、実施の形態における実環境の一例を示す構成図である。
実環境は、検証対象によって制御される制御対象がハードウェアで構成されている環境であり、図1では、制御対象として実デバイス200が示されている。例えば、検証対象が車載装置である場合、実デバイス200は、CAN(Controller Area Network)又はイーサネット(登録商標)などを介して、車載装置によって制御されるECU(Electronic Control Unit)や、IVI(In Vehicle Infotainment)用のタッチスクリーンディスプレイなどである。実デバイス200は、後述する検証対象VM130からの操作要求に応じた動作を行い、操作要求に対する応答である操作応答を出力する。
例えば、検証対象などは、仮想化システムによって構築される。仮想化システムは、仮想化されたシステムであり、ハイパーバイザ(HV)などの仮想化基盤によって管理される複数の仮想マシン(VM)を有するシステムである。HVは、仮想化モニタ又は仮想化OSとも呼ばれる。図1では、仮想化システムとして、HV110a、及び、HV110aによって管理される複数のVMである実デバイスVM120a及び検証対象VM130が示されている。なお、実デバイスVM120a及び検証対象VM130以外の図示しないVMもHV110aによって管理されてもよい。
HV110aは、VMを実現するための機能構成要素であり、実デバイスVM120a及び検証対象VM130を管理する。HV110aは、要求情報取得部111a及び応答情報取得部112aを備える。
要求情報取得部111aは、検証対象VM130から実デバイス200への要求情報を、検証対象VM130から取得する。要求情報は、実デバイス200への操作要求を示す情報を含む。要求情報取得部111aは、取得した要求情報を、実デバイス200へ出力する。ここでは、要求情報取得部111aは、実デバイスVM120aを介して要求情報を実デバイス200へ出力する。また、要求情報取得部111aは、要求情報を取得した時刻である要求時刻を実デバイスVM120aへ出力する。
応答情報取得部112aは、実デバイス200から検証対象VM130への応答情報を、実デバイス200から取得する(具体的には、実デバイスVM120aを介して取得する)。応答情報は、操作要求に対する応答である操作応答を含む。応答情報取得部112aは、取得した応答情報を、検証対象VM130へ出力する。また、応答情報取得部112aは、応答情報を取得した時刻である応答時刻を実デバイスVM120aへ出力する。
なお、HV110aは、要求情報取得部111a及び応答情報取得部112aを備えていなくてもよく、実デバイスVM120aが要求情報取得部111a及び応答情報取得部112aを備えていてもよい。
実デバイスVM120aは、実環境において検証対象VM130の検証を行うためのVMである。実デバイスVM120aは、動作シナリオ実行部121a、入出力部122a及び実応答性作成部124aを備える。
動作シナリオ実行部121aは、検証対象VM130に動作シナリオに応じた動作を行わせるための処理部である。動作シナリオは、検証対象VM130の検証のためのテストパターンである。例えば、実デバイス200がIVI用のタッチスクリーンディスプレイであり、検証対象VM130がIVIアプリである場合、動作シナリオは、検証対象VM130に対して、音楽一覧画面を表示させ、テスト用の音楽データを選択させ、選択させた音楽データの再生を行わせるためのテストパターンである。動作シナリオ実行部121aは、動作シナリオに応じた動作を検証対象VM130に行わせた後、検証の結果を検証対象VM130から取得する。
入出力部122aは、HV110a及び実デバイス200と情報のやり取りを行う。具体的には、入出力部122aは、HV110aから要求情報を取得し、取得した要求情報を実デバイス200へ出力し、また、実デバイス200から応答情報を取得し、取得した応答情報をHV110aへ出力する。
実応答性作成部124aは、実環境において、検証対象VM130の検証を行ったときの応答性である実応答性を作成する。実応答性とは、制御対象である実デバイス200への操作要求に対して実デバイス200から操作応答が得られるまでの早さである。具体的には、実応答性作成部124aは、応答情報取得部112aが応答情報を取得した時刻と、要求情報取得部111aが要求情報を取得した時刻との差分を実応答性として作成する。つまり、実応答性は、動作シナリオが実行されてから実デバイス200が応答するまでにかかった時間となる。
なお、要求情報取得部111aは要求時刻に加えて、要求情報に含まれる実デバイス200への操作要求を示す情報も実応答性作成部124aへ出力してもよく、実応答性作成部124aは、要求時刻と実デバイス200への操作要求を示す情報とを紐付けて、実応答性として作成してもよい。
また、応答情報取得部112aは応答時刻に加えて、応答情報に含まれる、実デバイス200への操作要求に対する応答である操作応答も実応答性作成部124aへ出力してもよく、実応答性作成部124aは、応答時刻と実デバイス200からの操作応答を示す情報とを紐付けて、実応答性として作成してもよい。
検証対象VM130は、制御対象である実デバイス200の制御を行う制御装置であり、例えば、VMによって実現される。検証対象VM130は、検証対象アプリ131及び入出力部132を備える。
検証対象アプリ131は、検証対象VM130のソフトウェア開発において、検証が行われるアプリである。検証対象アプリ131は、動作シナリオに応じた動作を行う。検証対象アプリ131は、動作シナリオに応じた動作を行うことで、実デバイス200への操作要求を含む要求情報を出力する。具体的には、検証対象アプリ131は、入出力部132へ要求情報を通知する。
入出力部132は、HV110aと情報のやり取りを行う。具体的には、入出力部132は、検証対象アプリ131から取得した要求情報をHV110aへ出力し、HV110aから応答情報を取得する。入出力部132が取得した応答情報は、検証対象アプリ131へ通知され、検証対象アプリ131は、動作シナリオに応じた動作が完了したことを実デバイスVM120aへ通知する。
次に、実環境において実応答性が作成される際の各構成要素の動作について図2を用いて説明する。
図2は、実施の形態における実環境において、検証対象(検証対象VM130)の検証を行ったときの実応答性が作成される際のシーケンス図である。
まず、動作シナリオ実行部121aは、動作シナリオを取得する(ステップS101)。例えば、検証対象VM130に対応した動作シナリオが任意のメモリなどに記憶されており、動作シナリオ実行部121aは、当該メモリから検証対象VM130に対応した動作シナリオを取得する。
動作シナリオ実行部121aは、実応答性の作成開始を実応答性作成部124aに通知する(ステップS102)。これにより、実応答性作成部124aは、実応答性の作成を開始することができる。
また、動作シナリオ実行部121aは、動作シナリオに応じた動作指示を検証対象アプリ131に通知する(ステップS103)。動作シナリオがシナリオに沿って複数の部分に分かれている場合には、動作シナリオ実行部121aは、部分ごとに動作指示を検証対象アプリ131へ通知する。
検証対象アプリ131は、実デバイス200への操作要求を含む要求情報を出力する(ステップS104)。要求情報取得部111aは、検証対象アプリ131から出力された要求情報を取得する。
要求情報取得部111aは、要求情報を取得した時刻である要求時刻を出力する(ステップS105)。実応答性作成部124aは、要求情報取得部111aから出力された要求時刻を取得する。
また、要求情報取得部111aは、実デバイス200への操作要求を含む要求情報を出力する(ステップS106)。実デバイス200は、要求情報取得部111aから出力された要求情報を取得し、操作要求に応じた動作を行う。
実デバイス200は、操作要求に応じた動作を完了し、操作要求に対する操作応答を含む応答情報を出力する(ステップS107)。応答情報取得部112aは、実デバイス200から出力された応答情報を取得する。
応答情報取得部112aは、応答情報を取得した時刻である応答時刻を出力する(ステップS108)。実応答性作成部124aは、応答情報取得部112aから出力された応答時刻を取得する。実応答性作成部124aは、取得した応答時刻及び要求時刻に基づいて、実応答性を作成する。動作シナリオがシナリオに沿って複数の部分に分かれている場合には、実応答性作成部124aは、部分ごとの実応答性を作成する。
また、応答情報取得部112aは、実デバイス200からの操作応答を含む応答情報を出力する(ステップS109)。検証対象アプリ131は、応答情報取得部112aから出力された応答情報を取得する。これにより、検証対象アプリ131は、要求した操作が実行されたことを認識することができる。
検証対象アプリ131は、操作要求に対する応答があったことを動作シナリオ実行部121aへ通知する(ステップS110)。
動作シナリオがシナリオに沿って複数の部分に分かれている場合には、ステップS103からステップS110までの処理が部分ごとに繰り返し行われる。動作シナリオ実行部121aは、動作シナリオの全ての部分について、操作要求に対する応答があったことの通知を受けた場合、実応答性の作成終了を実応答性作成部124aへ通知する(ステップS111)。これにより、実応答性作成部124aは、実応答性の作成を終了することができる。
実応答性作成部124aは、作成した実応答性を任意のメモリに記憶する(ステップS112)。実応答性が動作シナリオの部分ごとに作成されている場合には、実応答性作成部124aは、部分ごとに作成された実応答性をメモリに記憶する。
このようにして、実環境において検証対象VM130の検証を行ったときの実応答性が作成される。
次に、仮想環境について図3を用いて説明する。
図3は、実施の形態における仮想環境の一例を示す構成図である。例えば、仮想環境はクラウドプラットフォーム(クラウドPF)100に設けられる。なお、図3には、クラウドPF100の他にパーソナルコンピュータ(PC)10も示している。
仮想環境は、検証対象によって制御される制御対象が仮想的に構成されている環境であり、クラウドPF100において、図1に示される実デバイス200のエミュレーションが行われる。仮想環境では、ECUなどの実際のハードウェアを準備しなくてもよく、ソフトウェアによってECUなどの実際のハードウェアを模倣している。
上述したように、例えば、検証対象などは、仮想化システムによって構築される。図3では、仮想化システムがクラウドPF100に設けられており、仮想化システムとして、HV110、及び、HV110によって管理される複数のVMである仮想デバイスVM120及び検証対象VM130が示されている。例えば、仮想環境において検証される検証対象VM130(具体的には検証対象アプリ131)は、実環境において検証される検証対象VM130(具体的には検証対象アプリ131)と同じものである。実環境はHV110aを含んでおり、仮想環境はHV110を含んでおり、HV上のVMであれば実環境と仮想環境とで検証対象VM130を変更することなく動作可能となっている。なお、仮想デバイスVM120及び検証対象VM130以外の図示しないVMもHV110によって管理されてもよい。
HV110は、VMを実現するための機能構成要素であり、仮想デバイスVM120及び検証対象VM130を管理する。HV110は、要求情報取得部111、応答情報取得部112及びHV設定部113を備える。
要求情報取得部111は、検証対象VM130から実デバイス200への要求情報を、検証対象VM130から取得する。要求情報は、実デバイス200への操作要求を含む。仮想環境では、実デバイス200は存在しないため、要求情報取得部111は、取得した要求情報を、実デバイス200のエミュレーションを実行する仮想デバイスVM120へ出力する。また、要求情報取得部111は、要求情報を取得した時刻である要求時刻を仮想デバイスVM120へ出力する。
応答情報取得部112は、仮想デバイスVM120から検証対象VM130への応答情報を、仮想デバイスVM120から取得する。応答情報は、操作要求に対する操作応答を含む。応答情報取得部112は、取得した応答情報を、検証対象VM130へ出力する。また、応答情報取得部112は、応答情報を取得した時刻である応答時刻を仮想デバイスVM120へ出力する。
HV設定部113は、仮想環境を構成するHV110の設定を行う処理部である。HV110の設定は、後述する変更部14によって変更することができる。HV110の設定の詳細については後述する。
なお、HV110は、要求情報取得部111及び応答情報取得部112を備えていなくてもよく、仮想デバイスVM120が要求情報取得部111及び応答情報取得部112を備えていてもよい。
仮想デバイスVM120は、仮想環境において検証対象VM130の検証を行うためのVMである。仮想デバイスVM120は、動作シナリオ実行部121、入出力部122、内部処理部123、仮想応答性作成部124及び内部処理設定部125を備える。
動作シナリオ実行部121は、検証対象VM130に動作シナリオに応じた動作を行わせるための処理部である。動作シナリオ実行部121は、実環境において実行される動作シナリオと同じ動作シナリオを実行する。動作シナリオ実行部121は、動作シナリオに応じた動作を検証対象VM130に行わせた後、検証の結果を検証対象VM130から取得する。
入出力部122は、HV110と情報のやり取りを行う。具体的には、入出力部122は、HV110から要求情報を取得し、取得した要求情報を内部処理部123へ通知し、また、内部処理部123から応答情報を取得し、取得した応答情報をHV110へ出力する。
内部処理部123は、実デバイス200のエミュレーションを実行する処理部である。内部処理部123は、検証対象VM130からの操作要求に応じた動作を実デバイス200が行ったかのように内部処理を行い、操作要求に対する応答である操作応答を出力する。
仮想応答性作成部124は、仮想環境において、検証対象VM130の検証を行ったときの応答性である仮想応答性を作成する。仮想応答性とは、制御対象である実デバイス200への操作要求に対して、仮想的に構成された制御対象である内部処理部123から操作応答が得られるまでの早さである。具体的には、仮想応答性作成部124は、応答情報取得部112が応答情報を取得した時刻と、要求情報取得部111が要求情報を取得した時刻との差分を仮想応答性として作成する。つまり、仮想応答性は、動作シナリオが実行されてから内部処理部123が応答するまでにかかった時間となる。仮想応答性作成部124は、作成した仮想応答性をPC10へ出力する。
なお、要求情報取得部111は要求時刻に加えて、要求情報に含まれる実デバイス200への操作要求を示す情報も仮想応答性作成部124へ出力してもよく、仮想応答性作成部124は、要求時刻と実デバイス200への操作要求を示す情報とを紐付けて、仮想応答性として作成してもよい。
また、応答情報取得部112は応答時刻に加えて、応答情報に含まれる、実デバイス200への操作要求に対する応答である操作応答も仮想応答性作成部124へ出力してもよく、仮想応答性作成部124は、応答時刻と実デバイス200(内部処理部123)からの操作応答を示す情報とを紐付けて、仮想応答性として作成してもよい。
内部処理設定部125は、仮想環境において制御対象のエミュレーションを実行するデバイス(すなわち仮想デバイスVM120の内部処理部123)の設定を行う処理部である。内部処理部123の設定は、後述する変更部14によって変更することができる。内部処理部123の設定の詳細については後述する。
計算リソース割当設定部140は、仮想環境が設けられるプラットフォーム(クラウドPF100)における計算リソースの割当の設定を行う処理部である。クラウドPF100における計算リソースの割当の設定は、後述する変更部14によって変更することができる。クラウドPF100における計算リソースの割当の設定の詳細については後述する。
なお、実環境では制御対象がハードウェアで構成されており、仮想環境では制御対象が仮想的に構成されており、それぞれ異なる環境であるため、実応答性と仮想応答性とが異なってくる。仮想応答性が実応答性と異なっている仮想環境において、実環境で用いた動作シナリオと同じ動作シナリオを用いて検証対象VM130の検証を行った場合、正しい検証結果を得ることが難しい。このため、仮想応答性を実応答性に近づける必要がある。本開示では、検証システムは、仮想応答性を実応答性に近づけるための機能を有するPC10を備える。
PC10は、仮想応答性を実応答性に近づけるための機能を有するコンピュータであり、実応答性取得部11、仮想応答性取得部12、設定変更要否判定部13、変更部14及び動作シナリオ再実行指示部15を備える。PC10は、プロセッサ及びメモリなどを含む。メモリは、ROM(Read Only Memory)及びRAM(Random Access Memory)などであり、プロセッサにより実行されるプログラムを記憶することができる。実応答性取得部11、仮想応答性取得部12、設定変更要否判定部13、変更部14及び動作シナリオ再実行指示部15は、メモリに格納されたプログラムを実行するプロセッサなどによって実現される。
実応答性取得部11は、制御対象がハードウェアで構成されている実環境において、検証対象VM130の検証を行ったときの応答性である実応答性を取得する。具体的には、実応答性取得部11は、実デバイスVM120aの実応答性作成部124aが作成した実応答性を取得する。
仮想応答性取得部12は、制御対象が仮想的に構成されている仮想環境において、検証対象VM130の検証を行ったときの応答性である仮想応答性を取得する。具体的には、仮想応答性取得部12は、仮想デバイスVM120の仮想応答性作成部124が作成した仮想応答性を取得する。
設定変更要否判定部13は、仮想環境の設定を変更する必要があるか否かを判定する。例えば、設定変更要否判定部13は、仮想応答性と実応答性との差分に基づいて、仮想環境の設定を変更する必要があるか否かを判定する。仮想応答性と実応答性との差分が所定値以上の場合、設定変更要否判定部13は、仮想環境の設定を変更する必要があると判定し、変更部14の処理が行われる。仮想応答性と実応答性との差分が所定値未満の場合、設定変更要否判定部13は、仮想環境の設定を変更する必要がないと判定する。この場合、仮想環境と実環境とで応答性がほぼ同じとなっているため、仮想環境と実環境とで同じ動作シナリオを用いた検証を精度良く行うことができる。なお、所定値は特に限定されないが、仮想応答性と実応答性との差分が所定値未満となった場合に、仮想応答性と実応答性とがほぼ同じとみなすことができる程度の値に設定される。
変更部14は、仮想応答性取得部12が取得した仮想応答性が、実応答性取得部11が取得した実応答性に近づくように、仮想環境の設定を変更する。
例えば、仮想環境の設定は、仮想環境が設けられるクラウドPF100における計算リソースの割当の設定を含んでいてもよい。クラウドPF100における計算リソースの割当の設定は、クラウドPF100に設けられる仮想化システムなどの各機能に対して割り当てられる計算リソースの設定(例えば、CPUコア数、使用メモリ容量、ストレージアクセス速度などの設定)などである。
例えば、仮想環境の設定は、仮想環境を構成するHV110の設定を含んでいてもよい。HV110の設定は、HV110上で動作する複数のVM(例えば、仮想デバイスVM120及び検証対象VM130並びに図示しないその他のVMなど)のそれぞれに対して割り当てられる計算リソースの設定(例えば、CPUコア数、使用メモリ容量などの設定)及びCPU割当て優先度の設定などである。例えば、検証対象VM130の仮想応答性が実応答性に対して早い場合には検証対象VM130のCPU割当て優先度を下げ、検証対象VM130の仮想応答性が実応答性に対して遅い場合には検証対象VM130のCPU割当て優先度を上げることで、仮想応答性を実応答性に近づけることができる。
例えば、仮想環境の設定は、仮想デバイスVM120の内部処理部123の設定を含んでいてもよい。仮想デバイスVM120の内部処理部123の設定は、デバイスアクセス処理の優先度の設定、OS内で動作するプロセスごとの処理優先度の設定、及び、内部処理部123が使用するメモリ容量の設定などである。デバイスアクセス処理の優先度の設定は、例えば、内部処理部123が複数のVMからアクセス処理要求を受けている場合に、どのVMのアクセス処理要求を優先して処理するかの設定である。
変更部14は、このような仮想環境の設定のうちの1以上の設定を、計算リソース割当設定部140、HV設定部113及び内部処理設定部125を介して変更することで、仮想応答性を調整することができる。
動作シナリオ再実行指示部15は、動作シナリオ実行部121に対して、動作シナリオの再実行を指示する。これにより、設定が変更された仮想環境において改めて仮想応答性が作成され、仮想応答性取得部12は、変更された仮想環境に応じた仮想応答性を取得する。そして、変更部14は、仮想環境の設定を変更する必要があると判定された場合には、再度仮想環境の設定を変更する。例えば、仮想応答性が実応答性に近づいているか否かを確認しながら仮想環境の設定の変更が試行錯誤的に繰り返し行われることで、仮想応答性を実応答性に近づけることができる。このように、検証システム(例えばPC10)は、仮想応答性取得部12による仮想応答性の取得と、変更部14による仮想環境の設定の変更とを繰り返し行う。
なお、検証システムは、少なくとも実応答性取得部11、仮想応答性取得部12及び変更部14を備えていればよい。図3に示されるように、実応答性取得部11、仮想応答性取得部12及び変更部14がPC10に備えられている場合には、検証システムはPC10を備える。或いは、検証システムは、PC10であってもよい。実応答性取得部11、仮想応答性取得部12及び変更部14が仮想デバイスVM120又はHV110に備えられていてもよく、この場合には、検証システムは、クラウドPF100を備える。或いは、検証システムは、クラウドPF100であってもよい。
次に、仮想環境において仮想応答性が作成される際の各構成要素の動作、及び、仮想環境の設定が変更される際の動作について図4を用いて説明する。
図4は、実施の形態における仮想環境において、検証対象VM130の検証を行ったときの仮想応答性が作成され、仮想環境の設定が変更される際のシーケンス図である。
まず、動作シナリオ実行部121は、動作シナリオを取得し、仮想応答性の作成開始を仮想応答性作成部124に通知する(ステップS201)。これにより、仮想応答性作成部124は、仮想応答性の作成を開始することができる。
また、動作シナリオ実行部121は、動作シナリオに応じた動作指示を検証対象アプリ131に通知する(ステップS202)。動作シナリオがシナリオに沿って複数の部分に分かれている場合には、動作シナリオ実行部121は、部分ごとに動作指示を検証対象アプリ131へ通知する。
検証対象アプリ131は、実デバイス200への操作要求を含む要求情報を出力する(ステップS203)。要求情報取得部111は、検証対象アプリ131から出力された要求情報を取得する。
要求情報取得部111は、要求情報を取得した時刻である要求時刻を出力する(ステップS204)。仮想応答性作成部124は、要求情報取得部111から出力された要求時刻を取得する。
また、要求情報取得部111は、実デバイス200への操作要求を含む要求情報を出力する(ステップS205)。実デバイス200のエミュレーションを実行する内部処理部123は、要求情報取得部111から出力された要求情報を取得し、操作要求に応じた処理を行う。
内部処理部123は、操作要求に応じた処理を完了し、操作要求に対する操作応答を含む応答情報を出力する(ステップS206)。応答情報取得部112は、内部処理部123から出力された応答情報を取得する。
応答情報取得部112は、応答情報を取得した時刻である応答時刻を出力する(ステップS207)。仮想応答性作成部124は、応答情報取得部112から出力された応答時刻を取得する。仮想応答性作成部124は、取得した応答時刻及び要求時刻に基づいて、仮想応答性を作成する。動作シナリオがシナリオに沿って複数の部分に分かれている場合には、仮想応答性作成部124は、部分ごとの仮想応答性を作成する。
また、応答情報取得部112は、内部処理部123からの操作応答を含む応答情報を出力する(ステップS208)。検証対象アプリ131は、応答情報取得部112から出力された応答情報を取得する。これにより、検証対象アプリ131は、要求した操作が実行されたことを認識することができる。
検証対象アプリ131は、操作要求に対する応答があったことを動作シナリオ実行部121へ通知する(ステップS209)。
動作シナリオがシナリオに沿って複数の部分に分かれている場合には、ステップS202からステップS209までの処理が部分ごとに繰り返し行われる。動作シナリオ実行部121は、動作シナリオの全ての部分について、操作要求に対する応答があったことの通知を受けた場合、仮想応答性の作成終了を仮想応答性作成部124へ通知する(ステップS210)。これにより、仮想応答性作成部124は、仮想応答性の作成を終了することができる。
仮想応答性作成部124は、作成した仮想応答性をPC10へ出力する(ステップS211)。仮想応答性が動作シナリオの部分ごとに作成されている場合には、仮想応答性作成部124は、部分ごとに作成された仮想応答性をPC10へ出力する。
PC10は、実環境において作成された実応答性と仮想環境において作成された仮想応答性とを比較する(ステップS212)。動作シナリオがシナリオに沿って複数の部分に分かれている場合には、PC10は、部分ごとに対応する実応答性と仮想応答性とを比較する。例えば、PC10は、実応答性と仮想応答性との差分を算出する。
次に、PC10は、仮想環境の設定の変更の要否を判定する(ステップS213)。例えば、PC10は、実応答性と仮想応答性との差分が所定値以上の場合に、仮想環境の設定を変更する必要があると判定し、実応答性と仮想応答性との差分が所定値未満の場合に、仮想環境の設定を変更する必要がないと判定する。
PC10は、仮想環境の設定を変更する必要がある場合には、仮想環境の設定を変更する(ステップS214)。例えば、PC10は、仮想応答性が実応答性よりも早いか遅いか、仮想応答性と実応答性との差分の大きさなどに応じて、仮想環境の設定を変更する。
そして、PC10は、設定が変更された仮想環境において、再度同じ動作シナリオを実行するように動作シナリオ実行部121に指示する(ステップS215)。これにより、設定が変更された仮想環境において、再度ステップS201からステップS211までの処理が行われる。また、設定が変更された仮想環境において作成された仮想応答性を用いてステップS212及びステップS213での処理が行われる。このような処理が、仮想環境の設定の変更が不要となるまで(つまり、実応答性と仮想応答性との差分が所定未満となるまで)繰り返し行われる。このようにして、徐々に仮想応答性を実応答性に近づけることができる。
(まとめ)
検証システム(例えばPC10)は、制御対象の制御を行う制御装置を検証対象として検証を行う検証システムであって、制御対象がハードウェアで構成されている実環境において、検証対象の検証を行ったときの応答性である実応答性を取得する実応答性取得部11と、制御対象が仮想的に構成されている仮想環境において、検証対象の検証を行ったときの応答性である仮想応答性を取得する仮想応答性取得部12と、仮想応答性が実応答性に近づくように、仮想環境の設定を変更する変更部14と、を備える。
例えば、仮想環境の設定には、仮想環境が設けられるプラットフォームにおける計算リソースの割当の設定、仮想環境を構成するHVの設定、仮想環境において制御対象のエミュレーションを実行するデバイスの設定などがあり、これらの設定を変更することで、仮想環境において検証対象の検証を行ったときの仮想応答性を調整することができる。したがって、仮想環境の設定を変更することで、仮想環境において検証対象の検証を行ったときの仮想応答性を、実環境において検証対象の検証を行ったときの実応答性に近づけることができる。すなわち、仮想応答性が実応答性に近づくように仮想環境の設定が変更されることで、仮想環境と実環境とで同じ動作シナリオを用いた検証を精度良く行うことができる。
例えば、検証システムは、仮想応答性取得部12による仮想応答性の取得と、変更部14による仮想環境の設定の変更とを繰り返し行ってもよい。
例えば、仮想環境の設定の一度の変更で、仮想応答性を実応答性に近づけることは難しいため、仮想応答性の取得と、仮想環境の設定の変更とが繰り返し行われることで、徐々に仮想応答性を実応答性に近づけることができる。
例えば、実環境及び仮想環境は、それぞれHVを含んでいてもよい。
HV上のVMであれば、実環境と仮想環境とで検証対象を変更することなく動作させることができるため、仮想環境と実環境とで検証対象の変更を不要とすることができる。
例えば、実環境において検証が行われる検証対象と、仮想環境において検証が行われる検証対象とは、同じ制御装置であってもよい。
このように、実環境と仮想環境とで同じ制御装置が検証対象として検証されてもよい。
例えば、仮想環境の設定は、仮想環境が設けられるプラットフォームにおける計算リソースの割当の設定を含んでいてもよい。
このように、仮想環境が設けられるプラットフォームにおける計算リソースの割当の設定を変更することで、仮想応答性を実応答性に近づけることができる。
例えば、仮想環境の設定は、仮想環境を構成するHVの設定を含んでいてもよい。
このように、仮想環境を構成するHVの設定を変更することで、仮想応答性を実応答性に近づけることができる。
例えば、仮想環境の設定は、制御対象のエミュレーションを実行するデバイスの設定を含んでいてもよい。
このように、制御対象のエミュレーションを実行するデバイスの設定を変更することで、仮想応答性を実応答性に近づけることができる。
(その他の実施の形態)
以上のように、本開示に係る技術の例示として実施の形態を説明した。しかしながら、本開示に係る技術は、これに限定されず、適宜、変更、置き換え、付加、省略等を行った実施の形態にも適用可能である。例えば、以下のような変形例も本開示の一実施の形態に含まれる。
例えば、上記実施の形態では、検証システムは、仮想応答性取得部12による仮想応答性の取得と、変更部14による仮想環境の設定の変更とを繰り返し行う例について説明したが、仮想応答性取得部12による仮想応答性の取得と、変更部14による仮想環境の設定の変更とを繰り返し行わなくてもよい。
例えば、上記実施の形態では、動作シナリオがシナリオに沿って複数の部分に分かれている例について説明したが、これに限らない。例えば、動作シナリオによってはシナリオに沿って複数の部分に分かれていないものがあり、この場合には、図2のステップS103からステップS110までの処理、及び、図4のステップS202からステップS209までの処理が繰り返し行われなくてもよい。
例えば、上記実施の形態では、1つの動作シナリオが実行されたときの実応答性及び仮想応答性に基づいて、仮想環境の設定が変更される例について説明したが、これに限らない。例えば、複数の動作シナリオが連続して実行されたときの実応答性及び仮想応答性に基づいて、仮想環境の設定が変更されてもよい。この場合、複数の動作シナリオのそれぞれについての仮想応答性の平均値が、複数の動作シナリオのそれぞれについての実応答性の平均値に近づくように、仮想環境の設定が変更される。
なお、本開示は、検証システムとして実現できるだけでなく、検証システムを構成する各構成要素が行うステップ(処理)を含む検証方法として実現できる。
図5は、その他の実施の形態における検証方法の一例を示すフローチャートである。
検証方法は、制御対象の制御を行う制御装置を検証対象として検証を行う方法であって、図5に示されるように、制御対象がハードウェアで構成されている実環境において、検証対象の検証を行ったときの応答性である実応答性を取得する実応答性取得ステップ(ステップS11)と、制御対象が仮想的に構成されている仮想環境において、検証対象の検証を行ったときの応答性である仮想応答性を取得する仮想応答性取得ステップ(ステップS12)と、仮想応答性が実応答性に近づくように、仮想環境の設定を変更する変更ステップ(ステップS13)と、を含む。
例えば、検証方法におけるステップは、コンピュータ(コンピュータシステム)によって実行されてもよい。そして、本開示は、検証方法に含まれるステップを、コンピュータに実行させるためのプログラムとして実現できる。
さらに、本開示は、そのプログラムを記録したCD-ROM等である非一時的なコンピュータ読み取り可能な記録媒体として実現できる。
例えば、本開示が、プログラム(ソフトウェア)で実現される場合には、コンピュータのCPU、メモリ及び入出力回路等のハードウェア資源を利用してプログラムが実行されることによって、各ステップが実行される。つまり、CPUがデータをメモリ又は入出力回路等から取得して演算したり、演算結果をメモリ又は入出力回路等に出力したりすることによって、各ステップが実行される。
また、上記実施の形態の検証システムに含まれる各構成要素は、専用又は汎用の回路として実現されてもよい。
また、上記実施の形態の検証システムに含まれる各構成要素は、集積回路(IC:Integrated Circuit)であるLSI(Large Scale Integration)として実現されてもよい。
また、集積回路はLSIに限られず、専用回路又は汎用プロセッサで実現されてもよい。プログラム可能なFPGA(Field Programmable Gate Array)、又は、LSI内部の回路セルの接続及び設定が再構成可能なリコンフィギュラブル・プロセッサが、利用されてもよい。
さらに、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて、検証システムに含まれる各構成要素の集積回路化が行われてもよい。
その他、実施の形態に対して当業者が思いつく各種変形を施して得られる形態、本開示の趣旨を逸脱しない範囲で各実施の形態における構成要素及び機能を任意に組み合わせることで実現される形態も本開示に含まれる。
本開示は、例えば、車両に搭載される車載装置などを検証する検証システムに適用できる。
10 PC
11 実応答性取得部
12 仮想応答性取得部
13 設定変更要否判定部
14 変更部
15 動作シナリオ再実行指示部
100 クラウドPF
110、110a HV
111、111a 要求情報取得部
112、112a 応答情報取得部
113 HV設定部
120 仮想デバイスVM
120a 実デバイスVM
121、121a 動作シナリオ実行部
122、122a、132 入出力部
123 内部処理部
124 仮想応答性作成部
124a 実応答性作成部
125 内部処理設定部
130 検証対象VM
131 検証対象アプリ
140 計算リソース割当設定部
200 実デバイス

Claims (6)

  1. 制御対象の制御を行う制御装置を検証対象として検証を行う検証システムであって、
    前記制御対象がハードウェアで構成されている実環境において、前記検証対象の検証を行ったときの応答性である実応答性を取得する実応答性取得部と、
    前記制御対象が仮想的に構成されている仮想環境において、前記検証対象の検証を行ったときの応答性である仮想応答性を取得する仮想応答性取得部と、
    前記仮想応答性が前記実応答性に近づくように、前記仮想環境の設定を変更する変更部と、を備え、
    前記仮想環境の設定は、前記仮想環境が設けられるプラットフォームにおける計算リソースの割当の設定、前記仮想環境を構成するハイパーバイザの設定、及び、前記制御対象のエミュレーションを実行するデバイスの設定のうちの少なくとも1つを含む、
    検証システム。
  2. 前記検証システムは、前記仮想応答性取得部による前記仮想応答性の取得と、前記変更部による前記仮想環境の設定の変更とを繰り返し行う、
    請求項1に記載の検証システム。
  3. 前記実環境及び前記仮想環境は、それぞれハイパーバイザを含む、
    請求項1又は2に記載の検証システム。
  4. 前記実環境において検証が行われる前記検証対象と、前記仮想環境において検証が行われる前記検証対象とは、同じ制御装置である、
    請求項1~3のいずれか1項に記載の検証システム。
  5. 制御対象の制御を行う制御装置を検証対象として検証を行う検証方法であって、
    前記制御対象がハードウェアで構成されている実環境において、前記検証対象の検証を行ったときの応答性である実応答性を取得する実応答性取得ステップと、
    前記制御対象が仮想的に構成されている仮想環境において、前記検証対象の検証を行ったときの応答性である仮想応答性を取得する仮想応答性取得ステップと、
    前記仮想応答性が前記実応答性に近づくように、前記仮想環境の設定を変更する変更ステップと、を含
    前記仮想環境の設定は、前記仮想環境が設けられるプラットフォームにおける計算リソースの割当の設定、前記仮想環境を構成するハイパーバイザの設定、及び、前記制御対象のエミュレーションを実行するデバイスの設定のうちの少なくとも1つを含む、
    検証方法。
  6. 請求項に記載の検証方法をコンピュータに実行させるためのプログラム。
JP2021045994A 2021-03-19 2021-03-19 検証システム、検証方法及びプログラム Active JP7336775B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021045994A JP7336775B2 (ja) 2021-03-19 2021-03-19 検証システム、検証方法及びプログラム
US17/582,698 US20220300316A1 (en) 2021-03-19 2022-01-24 Verification system, verification method, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021045994A JP7336775B2 (ja) 2021-03-19 2021-03-19 検証システム、検証方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2022144820A JP2022144820A (ja) 2022-10-03
JP7336775B2 true JP7336775B2 (ja) 2023-09-01

Family

ID=83284790

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021045994A Active JP7336775B2 (ja) 2021-03-19 2021-03-19 検証システム、検証方法及びプログラム

Country Status (2)

Country Link
US (1) US20220300316A1 (ja)
JP (1) JP7336775B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023012395A (ja) * 2021-07-13 2023-01-25 ルネサスエレクトロニクス株式会社 仮想開発環境装置、方法および記録媒体

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003022296A (ja) 2001-07-06 2003-01-24 Matsushita Electric Ind Co Ltd 協調シミュレーション方法および協調シミュレーション装置
US20090292514A1 (en) 2008-02-15 2009-11-26 Invensys Systems, Inc. System And Method For Autogenerating Simulations For Process Control System Checkout And Operator Training
JP2018081400A (ja) 2016-11-15 2018-05-24 ルネサスエレクトロニクス株式会社 演算装置及び仮想開発環境装置
WO2018142612A1 (ja) 2017-02-06 2018-08-09 三菱電機株式会社 仮想検証システムおよび駆動制御器
WO2020017264A1 (ja) 2018-07-19 2020-01-23 日立オートモティブシステムズ株式会社 シミュレーション装置、及びその方法、並びにecu装置
WO2021038636A1 (ja) 2019-08-23 2021-03-04 三菱電機株式会社 検証装置、検証方法、及び、検証プログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007122396A (ja) * 2005-10-27 2007-05-17 Hitachi Ltd ディスクアレイ装置及びその障害対応検証方法
US8150674B2 (en) * 2009-06-02 2012-04-03 At&T Intellectual Property I, Lp Automated testing platform for event driven systems
EP3125114A4 (en) * 2014-03-27 2017-12-27 Nec Corporation Virtual machine system, control method therfor, and control program recording medium therefor
GB2529204A (en) * 2014-08-13 2016-02-17 Ibm Suspending and resuming virtual machines
US11860768B1 (en) * 2018-05-02 2024-01-02 Blue Yonder Group, Inc. System and method of automated quality assurance and performance testing framework
US11012566B1 (en) * 2019-11-14 2021-05-18 T-Mobile Usa, Inc. Simulated customer application experiences for customer support via emulators

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003022296A (ja) 2001-07-06 2003-01-24 Matsushita Electric Ind Co Ltd 協調シミュレーション方法および協調シミュレーション装置
US20090292514A1 (en) 2008-02-15 2009-11-26 Invensys Systems, Inc. System And Method For Autogenerating Simulations For Process Control System Checkout And Operator Training
JP2018081400A (ja) 2016-11-15 2018-05-24 ルネサスエレクトロニクス株式会社 演算装置及び仮想開発環境装置
WO2018142612A1 (ja) 2017-02-06 2018-08-09 三菱電機株式会社 仮想検証システムおよび駆動制御器
WO2020017264A1 (ja) 2018-07-19 2020-01-23 日立オートモティブシステムズ株式会社 シミュレーション装置、及びその方法、並びにecu装置
WO2021038636A1 (ja) 2019-08-23 2021-03-04 三菱電機株式会社 検証装置、検証方法、及び、検証プログラム

Also Published As

Publication number Publication date
US20220300316A1 (en) 2022-09-22
JP2022144820A (ja) 2022-10-03

Similar Documents

Publication Publication Date Title
US11159392B2 (en) Managing service deployment
US10031993B1 (en) Application store model for dynamic reconfiguration of a field-programmable gate array (FPGA)
US9996331B1 (en) Customized application state transition
US11144693B1 (en) Method and system for generating verification tests at runtime
US10430222B2 (en) Cloud based platform simulation for management controller development
US10042666B2 (en) Platform simulation for management controller development on virtual machines
CN113495732A (zh) 服务器部署方法、装置、设备及可读存储介质
JP7336775B2 (ja) 検証システム、検証方法及びプログラム
CN111353263A (zh) 软硬件设计与验证平台系统
JP6771413B2 (ja) ソフトウェア検証装置およびソフトウェア検証プログラム
WO2021042597A1 (zh) Fpga动态重配置方法、装置、设备及可读存储介质
CN117330935A (zh) 一种集成电路测试方法、装置、介质
US10929584B1 (en) Environmental modification testing for design correctness with formal verification
US11501046B2 (en) Pre-silicon chip model of extracted workload inner loop instruction traces
JP2019179284A (ja) シミュレーションシステム、及びシミュレーションプログラム
JP6934044B2 (ja) ハイブリッド命令アーキテクチャのテスト
US11194624B2 (en) Partial order procedure planning device, partial order procedure planning method and partial order procedure planning program
JP7554022B2 (ja) 開発環境構築システムおよび開発環境構築方法
JP2023541510A (ja) コンテナ化されたアプリケーションの展開を最適化するためのシステム、方法、及びサーバ
CN116700897A (zh) 计算环境模板的创建方法、装置、计算设备及存储介质
US11151294B1 (en) Emulated register access in hybrid emulation
JP7084505B2 (ja) 検証装置および検証方法
EP4131011A1 (en) Methods and apparatus to generate a surrogate model based on traces from a computing unit
US20220114083A1 (en) Methods and apparatus to generate a surrogate model based on traces from a computing unit
JP6664158B2 (ja) シミュレーション装置及びシミュレーション方法及びシミュレーションプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230419

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230809

R151 Written notification of patent or utility model registration

Ref document number: 7336775

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

SZ03 Written request for cancellation of trust registration

Free format text: JAPANESE INTERMEDIATE CODE: R313Z03

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350