特許第6972442号(P6972442)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 三菱電機株式会社の特許一覧

特許6972442検証装置、検証方法、及び、検証プログラム
<>
  • 特許6972442-検証装置、検証方法、及び、検証プログラム 図000002
  • 特許6972442-検証装置、検証方法、及び、検証プログラム 図000003
  • 特許6972442-検証装置、検証方法、及び、検証プログラム 図000004
  • 特許6972442-検証装置、検証方法、及び、検証プログラム 図000005
  • 特許6972442-検証装置、検証方法、及び、検証プログラム 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6972442
(24)【登録日】2021年11月5日
(45)【発行日】2021年11月24日
(54)【発明の名称】検証装置、検証方法、及び、検証プログラム
(51)【国際特許分類】
   G06F 30/20 20200101AFI20211111BHJP
   G06F 30/10 20200101ALI20211111BHJP
   G06F 111/10 20200101ALN20211111BHJP
【FI】
   G06F30/20
   G06F30/10 200
   G06F111:10
【請求項の数】9
【全頁数】17
(21)【出願番号】特願2021-540013(P2021-540013)
(86)(22)【出願日】2019年8月23日
(86)【国際出願番号】JP2019033108
(87)【国際公開番号】WO2021038636
(87)【国際公開日】20210304
【審査請求日】2021年7月8日
【早期審査対象出願】
(73)【特許権者】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】110002491
【氏名又は名称】溝井国際特許業務法人
(72)【発明者】
【氏名】折本 拓真
(72)【発明者】
【氏名】平松 宙祥
(72)【発明者】
【氏名】伊藤 弘毅
【審査官】 堀井 啓明
(56)【参考文献】
【文献】 国際公開第2013/114570(WO,A1)
【文献】 特開2012−48615(JP,A)
【文献】 特開2010−277328(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/00−30/398
G06F 111/10
(57)【特許請求の範囲】
【請求項1】
シミュレーションを実施するシミュレーション実施部と、
前記シミュレーション実施部が実施しているシミュレーションであって、実時間応答性がないシミュレーションを遅延シミュレーションとして検出する遅延検出部と、
前記シミュレーション実施部が過去に実施したシミュレーションに関連する過去データを蓄積している過去データ蓄積部と、
前記遅延検出部が前記遅延シミュレーションを検出した場合に、前記遅延シミュレーションに対応する前記過去データを検索する過去データ検索部を備える検証装置。
【請求項2】
前記遅延検出部は、要求応答時間内に完了する見込みがないシミュレーションを前記遅延シミュレーションとして検出する請求項1に記載の検証装置。
【請求項3】
前記過去データは、前記シミュレーション実施部が過去に実施したシミュレーションに対応する入力データを含み、
前記過去データ検索部は、前記シミュレーション実施部が実施しているシミュレーションに対応する入力データに一致又は類似する入力データを含む過去データを検索する請求項1又は2に記載の検証装置。
【請求項4】
前記過去データは、前記シミュレーション実施部が過去に実施したシミュレーションの内部状態を表す内部状態データを含み、
前記過去データ検索部は、前記シミュレーション実施部が実施しているシミュレーションの前記内部状態データに一致又は類似する前記内部状態データを含む前記過去データを検索する請求項1から3のいずれか1項に記載の検証装置。
【請求項5】
前記内部状態データを用いて前記シミュレーション実施部のシミュレーションの内部状態を設定する条件設定部を備え、
前記条件設定部は、前記遅延検出部が前記遅延シミュレーションを検出した場合に、前記過去データ検索部が検索した前記過去データが含む前記内部状態データを用いて前記シミュレーション実施部のシミュレーションの内部状態を設定する請求項4に記載の検証装置。
【請求項6】
前記シミュレーション実施部は、前記検証装置に接続された電子制御機器の制御対象のシミュレーションを実施する請求項1から5のいずれか1項に記載の検証装置。
【請求項7】
前記電子制御機器と通信する入出力部を備え、
前記過去データは、前記シミュレーション実施部が過去に実施したシミュレーションに対応する入力データと、前記入力データに基づいて実施されたシミュレーション結果に対応する出力データであって、前記電子制御機器に出力する出力データとを含み、
前記過去データ検索部は、前記シミュレーション実施部が実施しているシミュレーションに対応する入力データに一致又は類似する入力データを含む前記過去データを検索し、
前記入出力部は、前記遅延検出部が前記遅延シミュレーションを検出した場合に、前記過去データ検索部が検索した前記過去データが含む出力データを前記電子制御機器に出力する請求項6に記載の検証装置。
【請求項8】
シミュレーション実施部が、シミュレーションを実施し、
遅延検出部が、前記シミュレーション実施部が実施しているシミュレーションであって、実時間応答性がないシミュレーションを遅延シミュレーションとして検出し、
過去データ蓄積部が、前記シミュレーション実施部が過去に実施したシミュレーションに関連する過去データを蓄積しており、
過去データ検索部が、前記遅延検出部が前記遅延シミュレーションを検出した場合に、前記遅延シミュレーションに対応する前記過去データを検索する検証方法。
【請求項9】
過去に実施したシミュレーションに関連する過去データを蓄積しているコンピュータに、
シミュレーションを実施させ、
前記コンピュータが実施しているシミュレーションであって、実時間応答性がないシミュレーションを遅延シミュレーションとして検出させ、
前記コンピュータが前記遅延シミュレーションを検出した場合に、前記遅延シミュレーションに対応する前記過去データを検索させる検証プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、検証装置、検証方法、及び、検証プログラムに関する。
【背景技術】
【0002】
自動車、空気調和機器等の電子制御機器の開発において、電子制御機器を搭載する装置が正しく動作するかを検証する必要がある。しかし、電子制御機器の制御対象であるモーター等の機器の準備、及び/又は、電子制御機器を動作させる環境条件の設定等が困難な場合がある。そして、その解決策として、シミュレーションとの連接による検証がある。
【0003】
検証の対象である電子制御機器の対向装置と、検証の対象である電子制御機器を動作させる環境との代替としてシミュレーションを用いる場合、シミュレーションの実時間応答性が課題となる。
【0004】
特許文献1では、HILS(Hardware in the loop simulator)と呼ばれる専用HW(Hardware)を用い、計算量が少ないために実時間応答性があるシミュレーションと、計算量が多いために実時間応答性がない場合のあるシミュレーションとを同時に実行することにより、実時間応答性を確保しながらシミュレーション結果を出力するシステムが示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−165544号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1の技術において、
計算量が多いために実時間応答性がない場合のあるシミュレーションは、本来のシミュレーションモデルを使用したシミュレーションであり、
本来のシミュレーションモデルを使用して実時間応答性を確保できなかった場合に、本来のシミュレーションモデルを簡略化したシミュレーションモデルを使用したシミュレーションによる結果を返すため、本来のシミュレーションモデルを使用した場合には起こり得ないシミュレーション結果を出力することがあるという課題があった。
【0007】
本発明は、計算量が多いために実時間応答性がない場合のあるシミュレーションが実時間応答性を確保できなかった場合であっても、検証の対象である電子制御機器に対する実時間応答性を確保しつつ、本来のシミュレーションモデルを使用した場合に起こり得るシミュレーション結果を出力することを目的とする。
【課題を解決するための手段】
【0008】
この発明の検証装置は、
シミュレーションを実施するシミュレーション実施部と、
前記シミュレーション実施部が実施しているシミュレーションであって、実時間応答性がないシミュレーションを遅延シミュレーションとして検出する遅延検出部と、
前記シミュレーション実施部が過去に実施したシミュレーションに関連する過去データを蓄積している過去データ蓄積部と、
前記遅延検出部が前記遅延シミュレーションを検出した場合に、前記遅延シミュレーションに対応する前記過去データを検索する過去データ検索部を備える。
【発明の効果】
【0009】
本発明によれば、本来のシミュレーションモデルによって実時間応答性が確保できない場合であっても、過去データ蓄積部が蓄積している過去データに含まれるシミュレーション結果であって、本来のシミュレーションモデルによるシミュレーション結果を用いることによって、シミュレーションの実時間応答性を確保しつつ、本来のシミュレーションモデルを使用した場合に起こり得るシミュレーション結果を出力することができる。
【図面の簡単な説明】
【0010】
図1】実施の形態1に係る検証装置2の構成図。
図2】実施の形態1に係る検証装置2のハードウェア構成図。
図3】実施の形態1に係るシミュレーション実施部4のシミュレーションに対応するタイムチャート。
図4】実施の形態1に係るシミュレーション実施部4のシミュレーションに対応するタイムチャート。
図5】実施の形態1に係る検証装置2の動作を示すフローチャート。
【発明を実施するための形態】
【0011】
実施の形態1.
以下、本実施の形態について、図面を参照しながら詳細に説明する。
【0012】
***構成の説明***
図1は、本実施の形態に係る検証装置2の基本的な構成を示した図である。
【0013】
電子制御機器1は、検証装置2の検証対象である電子制御機器である。電子制御機器1は、制御対象であるモーター等の機械を制御するための信号入出力を行う。
【0014】
本図に示すように、検証装置2は、入出力部3と、シミュレーション実施部4と、遅延検出部5と、過去データ検索部6と、過去データ蓄積部7と、条件設定部8とを備える。
検証装置2は、
電子制御機器1と接続されており、
電子制御機器1の機能及び/又は性能等の検証を行う装置であり、
電子制御機器1の制御対象であるモーター等の状態と、振る舞いと等を模擬することができる。
電子制御機器1と、検証装置2との接続方法は、任意であって良い。
【0015】
入出力部3は、電子制御機器1が出力する信号を取り込むことができ、電子制御機器1の動作に必要なアナログセンサー信号、デジタル接点信号等の信号を電子制御機器1に出力することができる。
入出力部3は、シミュレーション実施部4から受け取った物理状態等を、電子制御機器1に信号として出力することができる。
入出力部3は、電子制御機器1と通信する。
【0016】
シミュレーション実施部4は、
入出力部3から受け取った信号と、あらかじめ設定されている計算式及び/又はモデルと等に基づいて、電子制御機器1の制御対象である装置と、電子制御機器1の動作環境と等のシミュレーションを行うことにより、電子制御機器1に出力する出力データを求め、
出力データを入出力部3に送る。
出力データには、具体例として、物理状態が含まれる。
シミュレーション実施部4は、
複数のシミュレーションモデルに基づくシミュレーションを実行できても良く、
入出力部3から受け取った入力データに基づいて、いずれのシミュレーションモデルを使用するか判断しても良い。
シミュレーション実施部4が採用しているシミュレーションモデルを、本来のシミュレーションモデルと呼ぶ。
【0017】
遅延検出部5は、
シミュレーション実施部4が実施しているシミュレーションの進捗状況を監視し、
シミュレーションの開始から所定の限界時間内にシミュレーションが完了するか否かを判断する。
以下、この所定の限界時間を「要求応答時間」と呼ぶ。
ユーザーが要求応答時間を設定することができても良い。遅延検出部5は、シミュレーション実施部4がシミュレーションの実施中に要求応答時間を任意の方法により変更しても良い。
遅延検出部5は、
要求応答時間内にシミュレーション実施部4が実施しているシミュレーションが完了する見込みがない場合に、前記シミュレーションに実時間応答性がないと判断し、
それ以外の場合に、前記シミュレーションに実時間応答性があると判断する。
要求応答時間内にシミュレーションが完了する見込みがない場合は、要求応答時間内にシミュレーションが実際に完了しない場合と、要求応答時間内にシミュレーションが実際に完了しない可能性がある場合とを含む。
【0018】
過去データ検索部6は、過去データ蓄積部7に蓄積されている過去データであって、シミュレーション実施部4が実施しているシミュレーションに対応する過去データを検索する。
過去データは、過去データ検索部6に蓄積されているデータのことである。
【0019】
過去データ蓄積部7は、
シミュレーション実施部4が過去に実施したシミュレーションに関連する過去データを蓄積しており、
具体例として、シミュレーション実施部4が過去に実施したシミュレーションにおける入力データと入力データに対応するシミュレーション結果との組み合わせ、電子制御機器1の制御対象であるセンサー等のデータのシミュレーション結果、シミュレーション実施部4のシミュレーションによらずに実環境において電子制御機器1を動作させた際の入力データに相当するデータを蓄積している。
過去データ蓄積部7が記憶している過去データは、典型的には、シミュレーション実施部4が用いる入力データ(電子制御機器1が出力する信号、検証装置2の周辺環境のデータ等)と、シミュレーション実施部4の出力データ(電子制御機器1へ入力する信号、検証装置2の周辺環境のデータ)と、シミュレーション実施部4の内部状態データとである。
内部状態は、具体例としては、シミュレーションが用いる変数により定まる状態のことであり、シミュレーションの計算条件を含む。内部状態を表すデータを内部状態データと呼ぶ。
過去データ蓄積部7は、過去データを、実時間応答性があるシミュレーションに対応する過去データであるか否かが分かるような形式において蓄積している。
【0020】
過去データ蓄積部7が蓄積している過去データの例を、以下に示す。
データA:シミュレーション実施部4が電子制御機器1から受信したデータを用いて実施したシミュレーションの結果。
データB:検証装置2に電子制御機器1の動作を模擬するシミュレータを接続し、シミュレータが操作系列の入力データを与えることによりリアルタイム又は非リアルタイムにシミュレーション実施部4が実施したシミュレーションの結果。
データC:電子制御機器1を本来の動作環境において動作させた際の電子制御機器1の動作ログ、及び/又は、電子制御機器1に接続したモニタリング装置のデータ。
データD:シミュレーション実施部4のシミュレーションとは独立した入力データと出力データとの組み合わせであって、ユーザーが準備した入力データと出力データとの組み合わせ。
【0021】
データAと、データBとは、典型的には、シミュレーション実施部4が実際にシミュレーションを実施した際の計算量と、シミュレーション時間とを含む。
【0022】
データCは、
ユーザーが想定する計算量と、シミュレーション時間とを含んでも良いし、
データCに類似するデータA又はデータBの計算量と、シミュレーション時間とから類推した計算量と、シミュレーション時間とを含んでも良い。
データDは、データCと同様である。
【0023】
条件設定部8は、遅延検出部5が要求応答時間内に計算が完了しないと判断した場合に、典型的には、過去データ検索部6が検索した過去データに基づいて、シミュレーション実施部4のシミュレーションの内部状態の再設定と、入出力部3が出力する出力データの設定とを実施する。
【0024】
図2は、本実施の形態に係る検証装置2のHW(ハードウェア)・SW(ソフトウェア)構成例である。
検証装置2は、本図に示すHW15から構成される。
検証装置2は、典型的には、汎用PC(Personal Computer)から構成される。
【0025】
入出力部3と、シミュレーション実施部4と、遅延検出部5と、過去データ検索部6と、条件設定部8との処理は、メモリ12に格納されたプログラムをプロセッサ11が読み出し実行する。
【0026】
HW15は、実施の形態1のハードウェア構成を示し、プロセッサ11と、メモリ12と、補助記憶装置13とから構成される。
【0027】
プロセッサ11は、検証プログラムと、OS(Operating System)と等を実行するプロセッシング装置である。プロセッシング装置は、IC(Integrated Circuit)と呼ぶこともあり、プロセッサ11は、具体例としては、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。
プロセッサ11は、メモリ12と接続されており、演算に必要なデータの一時記憶、及び/又は、データの保存を行い、メモリ12に格納されたプログラムを読み出して実行する。
【0028】
本図の検証装置2は、プロセッサ11を1つだけ備えているが、検証装置2は、プロセッサ11を代替する複数のプロセッサを備えていても良い。これら複数のプロセッサは、プログラムの実行等を分担する。
【0029】
メモリ12は、データを一時的に記憶する記憶装置であり、プロセッサ11の作業領域として使用されるメインメモリとして機能する。メモリ12は、具体例としては、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)等のRAM(Random Access Memory)である。メモリ12は、プロセッサ11の演算結果を保持する。
【0030】
補助記憶装置13は、検証プログラムと、プロセッサ11によって実行される各種プログラムと、SW16と、各プログラムの実行時に使用されるデータと等を記憶する。過去データ蓄積部7は、補助記憶装置13から構成される。補助記憶装置13は、具体例としては、HDD(Hard Disk Drive)又は、SSD(Solid State Drive)である。また、補助記憶装置13は、メモリカード、SD(Secure Digital、登録商標)メモリカード、CF(Compact Flash)、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、又は、DVD(Digital Versatile Disk)等の可搬記録媒体であってもよい。
【0031】
通信IF(インタフェース)14は、ネットワークを介して他の機器と通信を行うためのインタフェースであり、入出力部3の処理の一部を実行する。
通信IF14は、具体例としては、Ethernet(登録商標)、又は、USB(Universal Serial Bus)のポートである。なお、通信IF14は、複数のポートであっても良い。
【0032】
SW16は、実施の形態1のソフトウェア構成を示し、入出力部3と、シミュレーション実施部4と、遅延検出部5と、過去データ検索部6と、条件設定部8との処理は、メモリ12と、OS19とから構成される。
【0033】
OS19は、プロセッサ11によって補助記憶装置13からロードされ、メモリ12に展開され、プロセッサ11上で実行される。OS19は、具体例としては、Linux(登録商標)又はWindows(登録商標)等、プロセッサ11に適合する任意のもので良い。
OS19と、SW16とは、メモリ12に記憶されていても良い。過去データ蓄積部7は、メモリ12から構成されても良い。
【0034】
***動作の説明***
検証装置2の動作手順は、検証方法に相当する。また、検証装置2の動作を実現するプログラムは、検証プログラムに相当する。
【0035】
検証装置2は、電子制御機器1が適切に動作することができるよう、電子制御機器1の出力信号の変化を検出した時点から要求応答時間内に、電子制御機器1に対して信号変化に対応するデータを出力することを決定する。
検証装置2は、要求応答時間を電子制御機器1の機能及び/又は特性等によって異なるものとしても良い。検証装置2は、具体例として、電子制御機器1がインバーター制御機器である場合に要求応答時間を短くし、電子制御機器1が温度制御機器である場合に要求応答時間を長くする。
【0036】
図3は、シミュレーション実施部4のシミュレーションに対応するタイムチャートの例であり、シミュレーション実施部4の全てのシミュレーションが要求応答時間以内に完了した場合を表す。
本図において、
(nは0以上の整数、以下同じ)は、シミュレーション実施部4が電子制御機器1の出力信号の変化を検出した変化検出時点であり、
変化検出時点から次の変化検出時点までの各間隔は一定でなくても良く、
tの添え字が小さいほど過去の時点であることを表しており、
の直下の縦棒は、各tに対応しており、
は、直前のtから要求応答時間が経過した時点を表しており、
の直下の破線による縦棒は、各dに対応しており、
各tから右に延びる矩形は、シミュレーション実施部4がシミュレーションを実施している期間を表しており、
矩形の長さは、シミュレーションの条件等によって変動する。
入出力部3は、シミュレーション実施部4の全てのシミュレーションが要求応答時間内に完了した場合に、各シミュレーション結果に対応する出力データを電子制御機器1に出力することができる。
各tを、入力タイミングとも呼ぶ。tに対してtn+1を“次の入力タイミング”、tn+1に対してtを“前の入力タイミング”と呼ぶこともある。
【0037】
図4は、シミュレーション実施部4のシミュレーションに対応するタイムチャートの例であり、シミュレーション実施部4の一部のシミュレーションが要求応答時間内に完了しない場合を表す。本図の見方は、図3と同様である。
【0038】
検証装置2は、シミュレーション実施部4のシミュレーションが要求応答時間内に完了しない場合、電子制御機器1に不適切な結果を出力することを防ぐため、要求応答時間内に完了しないシミュレーションに対応する入力タイミングから要求応答時間が経過した時点において、過去のシミュレーション結果に対応する出力データを出力する。検証装置2は、出力データを出力する代わりに、出力データを出力する準備をしても良い。過去のシミュレーション結果は、シミュレーション実施部4が過去に実施したシミュレーションのシミュレーション結果のことである。
従って、電子制御機器1は、検証装置2から適切なデータを受信することができる。
なお、検証装置2は、要求応答時間が経過する前に過去のシミュレーション結果に対応する出力データを出力しても良い。
【0039】
図5は、本実施の形態に係る検証装置2の動作を示すフローチャートの例である。
本フローチャートに示す順序は、適宜変更しても良い。
本図に従って、検証装置2の動作を説明する。
検証装置2は、ユーザーによる検証装置2の停止動作等があるまで本フローチャートの処理を続ける。
【0040】
(ステップS01:信号取得処理)
入出力部3は、
電子制御機器1からの信号を取得し、
シミュレーション実施部4に、取得した信号に含まれる入力データを送る。
本ステップの処理開始の契機は任意であって良く、具体例としては、ユーザーの操作であっても良い。
入出力部3は、典型的には、周期的に下記の処理と並行して本ステップの処理を続ける。
【0041】
(ステップS02:検索開始処理)
過去データ検索部6は、過去データの検索を開始する。
過去データ検索部6は、入力タイミングから要求応答時間が経過する前に検索を終えるために、本ステップの処理を、遅延検出部5が遅延と判断するか否かに関わらず実施する。
本ステップにおいて開始する処理は、ステップS05の説明の内、過去データ検索部6が過去データ蓄積部7から検索する処理である。
検証装置2は、過去データ検索部6が過去データの検索を完了していなくても次のステップに進み、
過去データ検索部6は、次以降のステップの処理と並行して、過去データの検索を完了するまで検索処理を実行する。
【0042】
(ステップS03:シミュレーション開始処理)
シミュレーション実施部4は、入出力部3から受け取った入力データを用いて、シミュレーションを実施する。
【0043】
(ステップS04:監視処理)
遅延検出部5は、
シミュレーション実施部4のシミュレーションが要求応答時間内に完了するか否かを監視する処理を開始し、
所定の条件を満たす場合に、遅延、即ち、シミュレーションが要求応答時間内に終わらないと判断する。
遅延検出部5は、典型的には、本ステップ以後のステップの処理の実行中であっても、シミュレーション実施部4がシミュレーションを実施している場合、シミュレーション実施部4のシミュレーションを監視する。
遅延検出部5は、シミュレーション時間が要求応答時間を実際に超過する場合のみならず、シミュレーション時間が要求応答時間を超過する可能性がある場合にも遅延と判断する。
遅延検出部5が遅延と判断した場合を“シミュレーションが遅延した”と表現することもあり、遅延検出部5が遅延と判断したシミュレーションを“遅延シミュレーション”と表現することもある。
遅延検出部5は、
シミュレーション実施部4が実施しているシミュレーションであって、実時間応答性がないシミュレーションを遅延シミュレーションとして検出する、
即ち、要求応答時間内に完了する見込みがないシミュレーションを遅延シミュレーションとして検出する。
【0044】
遅延検出部5が遅延と判断する条件、即ち、遅延検出部5がシミュレーション実施部4のシミュレーションを遅延シミュレーションとして検出する条件の例として、以下の4つが挙げられる。遅延検出部5が遅延と判断する条件は、複数の条件を組み合わせたものであっても良い。
【0045】
条件A:要求応答時間が経過した時点において、シミュレーションが完了していないこと。
本条件は、シミュレーションの開始から要求応答時間が経過した時点においてシミュレーションが完了していない場合、遅延検出部5が遅延と判断するものである。
【0046】
条件B:要求応答時間内の任意のタイミングにおいて、タイミングに応じた進捗率に達していないこと。
本条件は、具体例として、シミュレーションの開始から要求応答時間の50%が経過した時点において全処理中の50%の処理を終えていないとき、遅延検出部5が遅延と判断するものである。
【0047】
条件C:入力データ及び/又は内部状態が、過去に要求応答時間を超過した場合における入力データ及び/又は内部状態と一致又は類似すること。
本条件は、入力データ及び/又は内部状態が過去にシミュレーション時間を超過した場合における入力データ及び/又は内部状態と一致又は類似する場合、遅延検出部5が遅延と判断するものである。
本条件に係る入力データ及び/又は内部状態は、入力データ及び/又は内部状態全体の一部であって良い。
遅延検出部5は、シミュレーション時間が要求応答時間を超過するか否かを判定するために、過去データ検索部6の検索結果を利用しても良い。
【0048】
条件D:入力データ及び/又は内部状態が所定のルールに合致すること。
本条件は、具体例として、入力データに含まれているある変数がONからOFFに変化した場合等、入力データ及び/又は内部状態が所定のルールに合致する場合、遅延検出部5が遅延と判断するものである。
【0049】
条件の組み合わせと、条件に関するパラメータと等は、検証装置2のユーザーが指定したものであっても良く、遅延検出部5が任意の学習方法を用いて導出したものであっても良い。
【0050】
検証装置2は、
遅延検出部5が遅延と判断した場合、ステップS05に進み、
それ以外の場合、ステップS09に進む。
【0051】
(ステップS05:過去データ取得処理)
過去データ検索部6は、過去データ蓄積部7が蓄積しているシミュレーションに対応する入力データ及び/又は内部状態が、現在の入力データ及び/又は内部状態に一致又は類似するか否かを判断する。
現在の入力データ及び/又は内部状態は、シミュレーション実施部4が実施しているシミュレーションに対応する入力データ及び/又は内部状態のことである。
過去データ検索部6が、入力データ及び/又は内部状態の一致又は類似を判断する方法の具体例としては、
現在の入力データ及び/又は内部状態データと、過去の入力データ及び/又は内部状態データとの一致の度合いにより判断する方法、
入力データ及び/又は内部状態データの項目ごとに値の差分に重みをつけた値を算出し、算出した値を合算した類似度を算出し、算出した類似度に基づいて判断する方法、
任意のアルゴリズムにより過去のデータを用いて学習した特徴量を用いて判断する方法が挙げられる。
過去データ検索部6が使用するアルゴリズムは、対象とする電子制御機器1の特徴に合わせてユーザーが選択したものであっても良く、過去データ検索部6が学習によって求めた最適なアルゴリズムであっても良い。
過去データ検索部6は、現在の入力データ及び/又は内部状態データと一致又は類似する入力データ及び/又は内部状態データを発見した場合、発見した入力データ及び/又は内部状態データを条件設定部8に送る。
【0052】
なお、条件設定部8がシミュレーション実施部4に設定する入力データ及び/又は内部状態データがない場合の具体例として、過去データがデータC又はデータDである場合であって、過去データがシミュレーション実施部4の内部状態データを含まない場合と十分に含まない場合とが挙げられる。
【0053】
検証装置2は、
現在の入力データ及び/又は内部状態データと一致又は類似する入力データ及び/又は内部状態データに基づく過去データを発見した場合、ステップS06に進み、
それ以外の場合、ステップS08に進む。
【0054】
(ステップS06:出力処理)
条件設定部8は、
過去データ検索部6が送られた入力データ及び/又は内部状態データに基づく出力データであって、過去データ蓄積部7が蓄積している出力データを抽出し、
入出力部3に対して、抽出した出力データを出力するよう指示する。
【0055】
(ステップS07:中断判断処理)
シミュレーション実施部4は、実施中のシミュレーションを中断するか否かを判断する。シミュレーション実施部4が中断するか否かを判断する条件は、任意であって良い。
シミュレーション実施部4が実施中のシミュレーションを中断すると判断した場合、
シミュレーション実施部4は、典型的には、中断するシミュレーションに対応する入力タイミングから要求応答時間内のいずれかのタイミングにおいて、前の入力タイミングに対応する出力データを出力するよう入出力部3に指示し、
条件設定部8は、過去データ検索部6から送られた入力データ及び/又は内部状態データを用いてシミュレーション実施部4のシミュレーションの内部状態を設定する。
【0056】
検証装置2は、
シミュレーション実施部4が実施中のシミュレーションを中断する場合、ステップS03に進み、
それ以外の場合、ステップS08に進む。
【0057】
(ステップS08:シミュレーション継続処理)
シミュレーション実施部4は、
実施中のシミュレーションが完了したら、完了したシミュレーションに対応する入力タイミングの次の入力タイミングにおける入力データを参照してシミュレーションを実施し、
入力タイミングに対応するシミュレーションが前記入力タイミングから要求応答時間内に完了するようになるまで本ステップの処理を続け、
入力タイミングに対応するシミュレーションが前記入力タイミングから要求応答時間内に完了しない場合、前記入力タイミングから要求応答時間内のいずれかのタイミングにおいて、典型的には、最新の完了したシミュレーションに対応する出力データを出力するよう入出力部3に指示し、
シミュレーションの実施中に入出力部3から受け取った入力データを記憶する。
【0058】
具体例として、シミュレーション実施部4が、図4に示すようにシミュレーションを実施した場合における本ステップの処理を説明する。
入出力部3は、要求応答時間内にシミュレーションが完了していない場合、要求応答時間内に電子制御機器1に対して出力データを出力することができない。
【0059】
本図において、
,t,tに対応するシミュレーションが要求応答時間内に終わっておらず、
シミュレーション実施部4は、dにおいて、tの1つ前の入力タイミングに対応する出力データを出力するよう入出力部3に指示し、
シミュレーション実施部4は、dにおいて、tに対応する出力データを出力するよう入出力部3に指示し、
シミュレーション実施部4は、tに対応するシミュレーションが要求応答時間内に終わったため、dにおいてtに対応する出力データを出力するよう入出力部3に指示する。
シミュレーション実施部4は、tに対応するシミュレーションの完了後dより前に、出力データを出力するよう入出力部3に指示しても良い。
【0060】
本図に示す例の場合、tからtまでにおけるシミュレーションは入力タイミングから要求応答時間内に完了していないが、tにおけるシミュレーションは入力タイミングから要求応答時間内にシミュレーションが完了している。そのため、本例において、シミュレーション実施部4は、tにおけるシミュレーションが完了するまで本ステップの処理を継続する。
【0061】
シミュレーション実施部4は、シミュレーションを中断してシミュレーションの内部状態データ等を過去データ蓄積部7が保存していた内部状態データ等に更新した場合、
中断したシミュレーションに対応する入力タイミングにおけるシミュレーションに遅延が発生していないものとみなし、
次の入力タイミング以降において、遅延が無い場合と同様に動作する。
【0062】
シミュレーション実施部4が過去データを用いてシミュレーションを実施しているとき、電子制御機器1からの入力データが条件設定部8に設定されている入力データと乖離した場合、
過去データ検索部6は過去データを検索し、
条件設定部8は、以後、過去データ検索部6が検出した過去データを用いて出力データとシミュレーション実施部4のシミュレーションの内部状態とを設定しても良い。
電子制御機器1からの入力データが条件設定部8に設定されている入力データと乖離することは、ユーザー操作等によって電子制御機器1の状態が変化すること等によって生じる。
【0063】
シミュレーション実施部4は、過去データ蓄積部7に、完了したシミュレーションの入力データと、そのシミュレーションの内部状態と、その出力データとを蓄積しても良い。
【0064】
(ステップS09:出力処理)
シミュレーション実施部4は、実施中のシミュレーションが完了したら、シミュレーション結果から出力データを求め、出力データを入出力部3に送る。
シミュレーション実施部4は、過去データ蓄積部7に、完了したシミュレーションの入力データと、そのシミュレーションの内部状態と、その出力データとを蓄積しても良い。
入出力部3は、シミュレーション実施部4から受け取った出力データを電子制御機器1に送る。
【0065】
***実施の形態1の特徴***
本実施の形態に係る検証装置2は、
シミュレーションを実施するシミュレーション実施部4と、
シミュレーション実施部4が実施しているシミュレーションであって、実時間応答性がないシミュレーションを遅延シミュレーションとして検出する遅延検出部5と、
シミュレーション実施部4が過去に実施したシミュレーションに関連する過去データを蓄積している過去データ蓄積部7と、
遅延検出部5が遅延シミュレーションを検出した場合に、遅延シミュレーションに対応する過去データを検索する過去データ検索部6を備える。
【0066】
本実施の形態に係る検証装置2において、遅延検出部5は、要求応答時間内に完了する見込みがないシミュレーションを遅延シミュレーションとして検出する。
【0067】
本実施の形態に係る検証装置2において、
過去データは、シミュレーション実施部4が過去に実施したシミュレーションに対応する入力データを含み、
過去データ検索部6は、シミュレーション実施部4が実施しているシミュレーションに対応する入力データに一致又は類似する入力データを含む過去データを検索する。
【0068】
本実施の形態に係る検証装置2において、
過去データは、シミュレーション実施部4が過去に実施したシミュレーションの内部状態を表す内部状態データを含み、
過去データ検索部6は、シミュレーション実施部4が実施しているシミュレーションの内部状態データに一致又は類似する内部状態データを含む過去データを検索する。
【0069】
本実施の形態に係る検証装置2は、
内部状態データを用いてシミュレーション実施部4のシミュレーションの内部状態を設定する条件設定部8を備え、
条件設定部8は、遅延検出部5が遅延シミュレーションを検出した場合に、過去データ検索部6が検索した過去データが含む内部状態データを用いてシミュレーション実施部4のシミュレーションの内部状態を設定する。
【0070】
本実施の形態に係る検証装置2において、シミュレーション実施部4は、検証装置2に接続された電子制御機器1の制御対象のシミュレーションを実施する。
【0071】
電子制御機器1と通信する入出力部3を備え、
過去データは、シミュレーション実施部4が過去に実施したシミュレーションに対応する入力データと、入力データに基づいて実施されたシミュレーション結果に対応する出力データであって、電子制御機器1に出力する出力データとを含み、
過去データ検索部6は、シミュレーション実施部4が実施しているシミュレーションに対応する入力データに一致又は類似する入力データを含む過去データを検索し、
入出力部3は、遅延検出部5が遅延シミュレーションを検出した場合に、過去データ検索部6が検索した過去データが含む出力データを電子制御機器1に出力する。
【0072】
***実施の形態1の効果の説明***
以上のように、本実施の形態によれば、本来のシミュレーションモデルによって実時間応答性が確保できない場合であっても、過去データ蓄積部7が蓄積している過去データに含まれるシミュレーション結果であって、本来のシミュレーションモデルによるシミュレーション結果を用いることによって、シミュレーションの実時間応答性を確保しつつ、本来のシミュレーションモデルを使用した場合に起こり得るシミュレーション結果を出力することができる。
【0073】
<変形例1>
検証装置2は、複数の装置から構成されていても良い。
本変形例において、検証装置2は、具体例として、過去データ蓄積部7を有する装置と、本実施の形態に係る検証装置2の過去データ蓄積部7以外の部を有する装置から構成されていても良い。
【0074】
<変形例2>
検証装置2は、電子制御機器1と通信することができるコンピュータにおいて実行することができるソフトウェアであっても良い。
【0075】
<変形例3>
ステップS03において、シミュレーション実施部4は、複数のシミュレーションを開始しても良い。
本変形例において、
遅延検出部5は、シミュレーション実施部4が実施している全てのシミュレーションを監視し、
検証装置2は、シミュレーション実施部4が実施しているシミュレーション毎にステップS04より後の処理を実行する。
【0076】
<変形例4>
ステップS05において、過去データ検索部6が一致又は類似する過去データを発見しなかった場合、検証装置2は、シミュレーションの遅延が発生していることを画面に表示すること等により、ユーザーに通知しても良い。
本変形例において、検証装置2は、ユーザーがその通知を確認して検証装置2による検証を継続するか、中断するかを決定できるようなものであっても良い。
【0077】
<変形例5>
ステップS05において、過去データ検索部6は、入力データ及び/又は内部状態データを条件設定部8に送らなくても良い。
本変形例において、
過去データ検索部6が、条件設定部8の代わりにステップS06の処理を実行しても良く、
条件設定部8は、ステップS07において、シミュレーション実施部4のシミュレーションの入力データ及び/又は内部状態データを設定しない。
【0078】
<変形例6>
ステップS05において、過去データ検索部6は、発見した入力データ及び/又は内部状態に対応する過去データを条件設定部8に送っても良い。
本変形例において、条件設定部8は、
過去データ蓄積部7が蓄積している出力データを抽出せず、
入出力部3に対して、過去データ検索部6から受け取った過去データに含まれる出力データを出力するよう指示する。
【0079】
<変形例7>
ステップS08において、シミュレーション実施部4は、任意の条件によって実施中のシミュレーションを中断しても良い。
【0080】
<変形例8>
ステップS09において、シミュレーション実施部4がシミュレーションを実施している最中に遅延検出部5が遅延を検出した場合、検証装置2はステップS05に進んでも良い。
【0081】
<変形例9>
本実施の形態では、各機能構成要素をソフトウェアで実現する場合を説明した。しかし、変形例として、各機能構成要素はハードウェアで実現されても良い。
【0082】
各機能構成要素がハードウェアで実現される場合には、検証装置2は、プロセッサ11に代えて、電子回路17を備える。あるいは、図示しないが、検証装置2は、プロセッサ11、メモリ12、及び補助記憶装置13に代えて、電子回路17を備える。電子回路17は、各機能構成要素(及びメモリ12と補助記憶装置13)の機能を実現する専用の電子回路である。電子回路を、処理回路と呼ぶこともある。
【0083】
電子回路17は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field−Programmable Gate Array)が想定される。
【0084】
各機能構成要素を1つの電子回路17で実現してもよいし、各機能構成要素を複数の電子回路17に分散させて実現してもよい。
【0085】
あるいは、一部の各機能構成要素がハードウェアで実現され、他の各機能構成要素がソフトウェアで実現されてもよい。
【0086】
前述したプロセッサ11とメモリ12と補助記憶装置13と電子回路17とを、総称して「プロセッシングサーキットリー」という。つまり、各機能構成要素の機能は、プロセッシングサーキットリーにより実現される。
【0087】
***他の実施の形態***
前述した実施の形態の任意の構成要素の変形、もしくは実施の形態において任意の構成要素の省略が可能である。
【0088】
また、実施の形態は、実施の形態1で示したものに限定されるものではなく、必要に応じて種々の変更が可能である。
【符号の説明】
【0089】
1 電子制御機器、2 検証装置、3 入出力部、4 シミュレーション実施部、5 遅延検出部、6 過去データ検索部、7 過去データ蓄積部、8 条件設定部、11 プロセッサ、12 メモリ、13 補助記憶装置、14 通信IF、15 HW、16 SW、17 電子回路、19 OS。
図1
図2
図3
図4
図5