(57)【特許請求の範囲】
【請求項１】
予め定められた複数の計算モジュールおよび前記計算モジュールを動作させるための複数のパラメータを備え、入力情報に応じて前記計算モジュールおよび前記パラメータの組み合わせを変更してシミュレーションを実行することが可能なシミュレータに対して、
与えられた制御情報を変換した計算用入力データを前記入力情報とした場合の前記シミュレータによるシミュレーション結果と、前記制御情報に従ってハードウェアを実環境で動作させた結果となる環境情報との誤差が許容範囲以下となるように前記計算モジュールおよび前記パラメータの組み合わせを選択することにより、前記計算用入力データに依存した組み合わせを決定し、
前記計算用入力データを変化させてシミュレーションを実行し、選択された前記計算モジュールおよび前記パラメータの組み合わせが切り替わる前記計算用入力データの値を特異点として前記シミュレータに記憶させ、前記組み合わせの切り替え前後の前記計算モジュールの情報と共に前記入力情報を時間の関数としてみた場合の傾きの変化又は符号の変化を前記シミュレータに記憶させ、
前記計算用入力データが前記特異点となったとき、あるいは前記傾きの変化又は符号の変化に基づいて前記計算用入力データが前記特異点になることが予測されるときに前記計算モジュールおよび前記パラメータの組み合わせを切り替える
ことを特徴とするシミュレータ自動生成装置。
【請求項２】
前記誤差が前記許容範囲以下となる前記計算モジュールおよび前記パラメータの組み合わせの中から計算時間が最も短くなるものを選択する
ことを特徴とする請求項１に記載のシミュレータ自動生成装置。
【請求項３】
前記計算用入力データを変化させてシミュレーションを実行する前記シミュレータにおいてそれまで使用していた前記計算モジュールおよび前記パラメータの組み合わせでは誤差が前記許容範囲を超える場合の前記計算用入力データを前記特異点とする
ことを特徴とする請求項１または２に記載のシミュレータ自動生成装置。
【請求項４】
前記計算用入力データが前記特異点となったときに前記計算モジュールおよび前記パラメータの組み合わせを変化させず、前記誤差に基づいてシミュレーション結果を補正する
ことを特徴とする請求項３に記載のシミュレータ自動生成装置。
【請求項５】
請求項１から４のいずれか１項に記載のシミュレータ自動生成装置と、
共通インターフェースと、
前記ハードウェアと、
前記実環境と、
を備え、
前記共通インターフェースを介して与えられた前記制御情報と、前記共通インターフェースを介して与えられた前記制御情報に従って前記ハードウェアを前記実環境で動作させ前記共通インターフェースを介して出力させた結果である前記環境情報と、に基づいて前記シミュレータ自動生成装置を動作させる
ことを特徴とするシミュレータ検証システム。
【請求項６】
前記実環境での前記ハードウェアの動作と
前記シミュレータ自動生成装置の動作と、
を同時に実行することを特徴とする請求項５に記載のシミュレータ検証システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、組込みシステム開発における環境シミュレータの開発に関する。
【背景技術】
【０００２】
組み込みシステムの開発においては、製品の品質向上や開発効率化のために、製品が実際に動作する環境を模擬するシミュレータを使用して製品の制御内容やソフトウェアの機能の確認を行う。
【０００３】
その一例として、特許文献１に記載された評価環境がある。この環境では、データのやり取りの方法を共通のインターフェースを使って定義することで、制御ソフトウェアと実機実行環境、シミュレーション環境を組み合わせた評価装置を構築することができる。このようなシステムの共通の課題として、そのシミュレータの有用性については、シミュレータの精度および計算速度に依存することがあげられる。
【０００４】
この課題に対する解決策として、たとえば特許文献２に開示された技術においては、模擬する要素ごとに複数のモジュールを用意し、全体として最適なモジュールの組合せを選択することで、有用なシミュレーション装置を製作している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−１５７１０３号公報
【特許文献２】特開２００６−９２３４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、使用するシミュレータの精度が高く、また計算速度が速いほど、シミュレータのもたらす効果は高くなるが、その一方で高精度かつ高速なシミュレータを製作することは非常に困難であり、一般的に試行錯誤を繰り返すことでしかより良いシミュレータを得ることができない。
【０００７】
さらに、そのようにして作成したシミュレータであっても、入力の条件が異なると最高の性能を発揮できないなどの問題を含む場合がある。
【０００８】
本発明は、上記に鑑みてなされたものであって、十分な精度を備えながらも高速に計算が可能なシミュレータを作成するシミュレータ自動生成装置およびシミュレータ検証システムを得ることを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明は、予め定められた複数の計算モジュールおよび計算モジュールを動作させるためのパラメータを備え、入力情報に応じて前記計算モジュールおよび前記パラメータの組み合わせを変更してシミュレーションを実行することが可能なシミュレータに対して、与えられた制御情報を変換した計算用入力データを前記入力情報とした場合の前記シミュレータによるシミュレーション結果と、前記制御情報に従ってハードウェアを実環境で動作させた結果となる環境情報との誤差が所定の基準以下となるように前記計算モジュールおよび前記パラメータの組み合わせを選択することにより、前記計算用入力データに依存した組み合わせを決定することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、実験結果に対して許容できる精度を持ちながら、より高速に計算することが可能なシミュレータを作成することができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、本発明の実施の形態１にかかるシミュレータ自動生成装置の動作環境の例を示す図である。
【図２】図２は、本発明の実施の形態１にかかるシミュレータ生成手順の一例を示すフローチャートである。
【図３】図３は、入力特異点と計算モジュールの関連を模式した図である。
【図４】図４は、本発明の実施の形態２にかかるシミュレータ検証システムの構成を示す図である。
【発明を実施するための形態】
【００１２】
以下に、本発明にかかるシミュレータ作成・調整装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態により発明が限定されるものではない。
【００１３】
実施の形態１．
本実施の形態は、例えば、空調機器の開発において使用される冷媒系シミュレータの生成および最適化に適用することができる。ここでの冷媒系シミュレータとは、空調機を構成する圧縮機や弁、熱交換器等、各種アクチュエータの状態を与えることで、配管内部の冷媒状況や室内温度等の計算を行うものであり、これから製造しようとする空調装置について、想定している制御内容にしたがってアクチュエータを動作させた際の室温の変化や冷暖房の効率を求めるために使用するものである。
【００１４】
空調機開発の初期段階においては、アクチュエータ等のハードウェア構成と、それらをどのように制御するかを設計・検討し、その結果を試作機やシミュレータを用いて確認しながら製品の仕様を決定する。
【００１５】
多くの場合、試作機を使用するためには環境の準備にかかるコストが大きく、環境を想定状態に保つための設備の制限で十分な数を準備することが難しい。そこで、不足分をシミュレーションで補うことになるが、ここでシミュレーションの誤差や性能が問題となる。本発明の実施の形態においては、試作機などの実験環境とそれを制御する装置を用意し、それにシミュレータ生成装置を組み合わせることでシミュレータの生成を行う。
【００１６】
図１は、実施の形態１にかかるシミュレータ自動生成装置６の動作環境の一例となるシステムの構成例を示す図である。シミュレータの自動生成は典型的には以下の手順で実施される。
【００１７】
製品の制御方法に基づく制御内容に関する情報、即ち、ユーザーが製品によって実現したい制御情報１を、製品の動作を実環境で確認するための実験環境２に備えられた製品としてのハードウェア３への入力として与える。ハードウェア３は、実験環境２で動作する。これにより、実験環境２で得られる情報である環境情報４が制御情報１によって変化する。環境情報４は、例えば、想定している制御内容にしたがってアクチュエータを動作させた際の室温の変化や冷暖房の効率である。
【００１８】
この一方、制御情報１をシミュレータを動作させるための計算用入力データ５に変換し、シミュレータ自動生成装置６に与える。変換後の計算用入力データ５は、シミュレータの入力となる情報になっている。計算用入力データ５を受け取ったシミュレータ自動生成装置６は、装置内部のシミュレータ生成部７において、計算用入力データ５とあらかじめ準備された複数の計算モジュールＡ８、Ｂ９、Ｃ１０、およびそれらで使用するパラメータ群であるパラメータ１１、１２、１３を使用してシミュレーションの計算を行う。計算モジュールＡ８、Ｂ９、Ｃ１０はシミュレータの部品となるモジュールである。パラメータ１１〜１３は、計算モジュールＡ８、Ｂ９、Ｃ１０を動作させるためのパラメータになっている。
【００１９】
シミュレータ生成部７では、計算モジュールＡ８〜計算モジュールＣ１０の計算結果と実験環境２の環境情報４との間の誤差や計算にかかった時間などに基づいて後述する手順にてシミュレータの構成を行う。そして、シミュレータ自動生成装置６の出力としてシミュレータ１４とシミュレータ１４による計算結果であるシミュレーション結果１５を出力する。
【００２０】
続いて、シミュレータ生成部７による上記したシミュレータの生成手順について説明する。図２は、図１に示したシミュレータ自動生成装置６を想定した本実施の形態によるシミュレータの生成手順の一例を示すフローチャートである。
【００２１】
まず、何らかの手段によって制御情報１が決定される（ステップＳ１）。決定した制御情報１に従って、ハードウェア３を動作させる（ステップＳ２)。その結果、実験環境２の環境情報４が変化する。シミュレータ自動生成装置６は、実験環境２における変化した環境情報４を取得する（ステップＳ３)。
【００２２】
次に、ハードウェア３を動作させたのと同じ制御情報１でシミュレーションの計算を行う（ステップＳ４)。実際の計算は、制御情報１を変換した計算用入力データ５に基づいて計算モジュールＡ８〜計算モジュールＣ１０が実行する。計算モジュールＡ８〜計算モジュールＣ１０は、シミュレータ自動生成装置６にあらかじめ組み込まれている複数の計算方法を実現するモジュールである。ここでは、計算モジュールＡ８〜計算モジュールＣ１０とパラメータ１１〜１３の任意の組み合わせが試行される。典型的な試行方法としては、計算モジュールＡ８〜計算モジュールＣ１０とパラメータ１１〜１３のすべての組み合わせを実施するのではなく、まず代表的な組み合わせを用いて計算を行う（ステップＳ４)。
【００２３】
そして、ステップＳ４における計算結果と実験環境２から取得した環境情報４との誤差を求め、その誤差が許容範囲か否かを判定する（ステップＳ５）。その誤差が許容範囲外であれば（ステップＳ５：Ｎｏ）、誤差を小さくするべく、計算モジュールおよびパラメータを変更し（ステップＳ７）、再度、計算モジュールによるシミュレーションの計算（ステップＳ４)、誤差が許容範囲か否かの判定（ステップＳ５）を繰り返す。
【００２４】
誤差が許容範囲内になったら（ステップＳ５：Ｙｅｓ）、計算時間を短くする計算モジュールおよびパラメータの組み合わせを選択するために、計算時間について何らかの判定基準を設けてそれを満たしているかどうかを判定する（ステップＳ６）。この基準は計算時間が最短となっているかどうかが判定できるものが望ましいが、以前あるいは前回した計算モジュールおよびパラメータの組み合わせより新たに選択した計算モジュールおよびパラメータの組み合わせによって、所定量以上計算時間が短縮しているなどを基準としてもよい。基準を満たさない場合は（ステップＳ６：Ｎｏ）、計算時間を短くするべく、計算モジュールおよびパラメータを変更し（ステップＳ７）、再度、計算モジュールによるシミュレーションの計算（ステップＳ４)、誤差が許容範囲か否かの判定（ステップＳ５）、およびステップＳ６を繰り返す。
【００２５】
ステップＳ４からステップＳ７の操作を繰り返し、所定の基準が満たされることにより（ステップＳ６：Ｙｅｓ）、もっとも成績の良い計算モジュールとパラメータの組み合わせを求める。ここで、前回の計算で使用した組み合わせと、今回選択した組み合わせが異なる場合は、そのときの計算用入力データ５と変更後の組み合わせを特異点情報として保存する（ステップＳ８）。
【００２６】
ステップＳ１からステップＳ８の操作を繰り返し（ステップ９：Ｎｏ）、ユーザーが十分な時間実施したと判断した時点（ステップ９：Ｙｅｓ）で、計算モジュールとパラメータの組み合わせの切り替え条件（特異点情報）の整理を行う（ステップＳ１０）。そして、整理した特異点情報をシミュレータに記憶させることによってシミュレータの生成を完了する。
【００２７】
ステップＳ１０における計算モジュールとパラメータの組み合わせの切り替え条件の整理の例を、特異点を例として示した図３を用いて説明する。ここでは説明の簡単のために、シミュレーションの計算は計算用入力データ５を一つの入力とみなした入力情報２１に基づいて行われるものとし、計算モジュールとパラメータの組み合わせを考えずに、計算モジュールの切り替えのみで実施する例（パラメータが変動しない）を説明する。
【００２８】
上で述べた特異点とは、シミュレータの入力となる時間によって変化する入力情報２１に対して、最も成績の良い計算モジュールとパラメータの組み合わせが変化する点である。即ち、特異点とは、入力情報２１がある値の範囲の領域では所定の組み合わせが最良であったが、別の値の範囲の領域では別の組み合わせが最良となる場合に組み合わせの切り替えが生じる入力情報２１の値である。図３は、上述したように計算モジュールの切り替えのみで最適化する例を示しており、最良の計算モジュールが計算モジュールＡから計算モジュールＢへと切り替わった際の「特異点ＡｔｏＢ」２２と、計算モジュールＢから計算モジュールＣへと切り替わった際の「特異点ＢｔｏＣ」２３とが図示されている。
【００２９】
例えば、それまで使用していた計算モジュールとパラメータの組合せでは誤差が許容範囲を超える場合の入力情報２１を基にして特異点を割り出し、特異点で境界付けられる入力情報２１の値の範囲ごとに最も成績の良い（誤差が許容範囲内で計算時間が短い）計算モジュールとパラメータの組合せを選択すれば、図３に示したような関係を求めることが可能である。
【００３０】
殆どの場合、特異点情報はそのままでは使いにくいため、何らかの処理によって特徴情報が抽出される。たとえば、入力情報２１を時間の関数としてみた場合の傾き（勾配）の変化や、方向（符号）の変化などが特徴情報として考えられる。特徴情報は切り替え前後の計算モジュールの情報とセットでテーブル等に保存され、シミュレータは計算時に入力の特徴情報を随時確認し、現在の計算モジュールから切り替えるべきであるとの特徴情報を検出した場合は、計算モジュールの切り替えを行う。この切り替えは予測的に実行してもよい。
【００３１】
シミュレーションにおいては、ノイズ（外乱）の度合いが重要になる場合があるが、誤差が規定値を超えてしまう特異点において意図的に計算モジュールの切り替えを行わずに済ますことも可能である。具体的には、計算誤差をノイズとして記録しておき、シミュレーションによる計算の際にそのノイズ情報を計算結果（シミュレーション結果）に足し込むなどして、計算結果をノイズ情報に基づいて補正することにより、ノイズを考慮したシミュレーションが可能となる。
【００３２】
以上説明したように、本実施の形態にかかるシミュレータ自動生成装置により、実験結果に対して許容できる精度を持ちながら、可能な限り高速に計算することができるシミュレータの作成が実現可能となる。さらに、入力条件が変化した際に現在の計算モジュールやパラメータが最適でなくなる場合についても、適宜最適な計算モジュールとパラメータを使用することができるようになるため、全体としてのシミュレータの精度を向上させることができる。
【００３３】
実施の形態２．
本実施の形態においては、実施の形態１にて説明したシミュレータ自動生成装置６を既知の検証装置、例えば、特許文献１に記載の検証装置を用いることで、実環境での実験とシミュレーションの調整を同時に行うことが可能なシミュレータ検証システム３０について説明する。
【００３４】
検証装置を用いてシミュレータの調整を行う場合は、ひとつ以上のハードウェアの入出力はシミュレータの入出力に包含されている。たとえば、室外装置が制御する圧縮機や弁などの要素はシミュレータ内にも存在し、理想的な状態であればそれらに同じ入力を与えることで得られる結果は一致する。したがって、検証装置に実施の形態１にかかるシミュレータ自動生成装置６を組み込めば、簡単に実環境と同期したシミュレーションの計算を実施することが可能である。
【００３５】
具体的には、図４に示すようにシミュレータ検証システム３０を構築する。動作検証装置３１上で動作する制御モジュール３３の計算結果である制御情報１は共通インターフェース３２を介してハードウェア３４とシミュレータ自動生成装置３５に同時に入力される。シミュレータ検証システム３０はハードウェア３４が動作する実環境も備えており、制御モジュール３３に対するフィードバックはハードウェア３４の動作結果によって得られる実環境の計測データである環境情報４を共通インターフェース３２を介して取得することで行う。環境情報４は共通インターフェース３２を介してシミュレータ自動生成装置３５にも同時に伝えられる。
【００３６】
これにより、シミュレータ自動生成装置３５は自身の計算結果と実計測データである環境情報４との誤差に基づいて、例えば実施の形態１にて説明した手法によってシミュレータの生成を行う。即ち、シミュレータ検証システム３０においては実環境と同期したシミュレーションの計算を実施することが可能となる。
【００３７】
更に、本願発明は上記実施の形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上記実施の形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。
【００３８】
例えば、上記実施の形態１又は２それぞれに示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。更に、上記実施の形態１又は２にわたる構成要件を適宜組み合わせてもよい。
【産業上の利用可能性】
【００３９】
以上のように、本発明にかかるシミュレータ自動生成装置およびシミュレータ検証システムは、制御ソフトウェアの開発に関する検証に有用であり、特に状況によって全体で最適な計算方法が一意に定まりにくい状況のシミュレーションを行うシミュレータの生成および最適化に適している。
【符号の説明】
【００４０】
１  制御情報
２  実験環境
３、３４  ハードウェア
４  環境情報
５  計算用入力データ
６、３５  シミュレータ自動生成装置
７  シミュレータ生成部
８、９、１０  計算モジュール
１１、１２、１３  パラメータ
１４  シミュレータ
１５  シミュレーション結果
２１  入力情報
２２、２３  特異点
３０  シミュレータ検証システム
３１  動作検証装置
３２  共通インターフェース
３３  制御モジュール
Ｓ１〜Ｓ１０  ステップ
【図１】
0005687105.tif 000002
【図２】
0005687105.tif 000003
【図３】
0005687105.tif 000004
【図４】
0005687105.tif 000005