(57)【要約】  本発明は、想定される様々な状況における制御システムの安全性を網羅的に検査することができる制御システム検査装置を提供することを目的とする。  本発明は、制御システムの安全性を検査する制御システム検査装置であって、検査対象を模擬したプラントを所定の条件に基づいてシミュレーションし、シミュレーション結果を外部に出力するシミュレータと、前記シミュレーション結果に基づいて次に前記プラントが採り得る状態に関連する情報を検証モデルによって生成し、シミュレータに出力するモデル検査ツールとを備え、前記情報に基づいて前記シミュレーションの所定の条件が設定されることを特徴とする。
2014174656.tif 000002
【特許請求の範囲】
【請求項１】
制御システムの安全性を検査する制御システム検査装置であって、
検査対象を模擬したプラントを所定の条件に基づいてシミュレーションし、シミュレーション結果を外部に出力するシミュレータと、
前記シミュレーション結果に基づいて次に前記プラントが採り得る状態に関連する情報を検証モデルによって生成し、シミュレータに出力するモデル検査ツールとを備え、
前記情報に基づいて前記シミュレーションの所定の条件が設定されることを特徴とする制御システム検査装置。
【請求項２】
前記シミュレータによるシミュレーション結果の出力と、前記モデル検査ツールによる情報の生成及び前記情報の出力と、出力された前記情報に基づく前記シミュレーションの所定の条件の設定とが、前記シミュレータで設定される所定の時間ステップ毎に行われることを特徴とする請求項１記載の制御システム検査装置。
【請求項３】
前記プラントの状態及び前記出力された情報の少なくとも一方に基づいて制御システムの安全性を判定する安全性確認部を有することを特徴とする請求項１記載の制御システム検査装置。
【請求項４】
前記検証モデルが記載されたファイル以外の外部ファイルから前記プラントの出力情報を入力値として読み込む検証モデルを有することを特徴とする請求項１記載の制御システム検査装置。
【請求項５】
前記検証モデルは、前記プラントの異常発生状態の有無が異なる複数の情報を生成することを特徴とする請求項１記載の制御システム検査装置。
【請求項６】
前記プラントは、アクチュエータと該アクチュエータを動作させるのに用いられるセンサとを備えるハードウェアであり、
前記シミュレータは、前記シミュレーション結果として前記センサの検出値を前記モデル検査ツールに出力することを特徴とする請求項１記載の制御システム検査装置。
【請求項７】
前記プラントは、アクチュエータと該アクチュエータを動作させるのに用いられるセンサとを備えるハードウェアであり、
前記検証モデルは、前記ハードウェアの故障状態の有無が異なる複数の情報を生成し、前記シミュレータに出力することを特徴とする請求項１記載の制御システム検査装置。
【請求項８】
前記モデル検査ツールから出力される情報には、前記シミュレータから入力される前記センサ値に基づいて決定されるアクチュエータ制御指令値が含まれることを特徴とする請求項７記載の制御システム検査装置。
【請求項９】
前記検証モデルは、状態遷移を示す記法で記載されることを特徴とする請求項１記載の制御システム検査装置。
【請求項１０】
前記モデル検査ツールから前記次に前記プラントが採り得る異なる状態に関連する情報として複数の情報が出力された場合、出力された複数の情報から次のシミュレーションに用いられる情報を選択する情報選択部を有することを特徴とする請求項１記載の制御システム検査装置。
【請求項１１】
前記プラントの出力を前記モデル検査ツールが識別可能な形式に変換し、前記モデル検査ツールを動作させるモデル検査ツール実行部と、
前記モデル検査ツールが出力した情報を前記プラントが識別可能な形式に変換し、シミュレーションを再開させるシミュレーション再開部とを有することを特徴とする請求項１記載の制御システム検査装置。
【請求項１２】
前記識別可能な形式に変換されたデータの少なくとも一方は外部ファイルに保存されることを特徴とする請求項１１記載の制御システム検査装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御システムの安全性を検査するための技術に関するものである。
【背景技術】
【０００２】
近年の多くの車両システムは、電子化された車両制御機器を操作するＥＣＵ、すなわち電子制御装置（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）によって制御されている。車両システムの複雑化、高安全化に伴い、ソフトウェア品質を維持するための開発工数の増大が問題になっている。【０００３】
ＥＣＵのソフトウェアは演算装置（ＣＰＵ）を搭載するマイクロコントローラ（マイコン）上で実行され、マイコン付属のアナログデジタル変換（ＡＤＣ）モジュールからＥＣＵに接続するセンサの値を周期的に取得している。センサの故障、ノイズ、センサの誤検知などの異常状態の発生に対する対策としてソフトウェアによる安全機能が搭載されている。安全機能の例として、現在取得したセンサ値（今回値）と前回の制御周期で取得したセンサ値（前回値）と比較し、この差分（変動量）が一定以上になるときは異常とみなし、異常時には変動量を設計時に決めた固定値にするといった処理などがある。またこの異常が一定時間続く場合にはシステムを停止させるといったシステムを安全な状態にするためのフェールセーフ処理が行われる。【０００４】
また、近年、このようなＥＣＵのソフトウェアが車両に依存する部分のテストを早い開発段階で行い、開発の手戻りを削減することによって開発効率を向上させることを目標としたＨａｒｄｗａｒｅ  Ｉｎ  ｔｈｅ  Ｌｏｏｐ  Ｓｉｍｕｌａｔｉｏｎ（ＨＩＬＳ）が行われている。ＨＩＬＳは、車両の物理特性をプラントモデルとして設計し、計算機上でシミュレーションすることによって実機の挙動を模擬し、その計算機とＥＣＵを並列に動かしてリアルタイムにデータ通信を行うことで、実際の車両を用意しないでもＥＣＵのソフトウェアの車両依存部分をテスト可能とする。【０００５】
下記特許文献１では、プラントモデルを検証者が設定したタイミングで故障させ、マイコン上で動作するソフトウェアの安全機能のテストを可能にしている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−１６１９４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記特許文献１では、故障を発生させる条件を検証者が個別に設定し、この条件を満たす場合に異常を発生させて制御システムの安全性を検査するものである。しかしながら、異常は予期せぬ様々なタイミングで発生するものであり、故障を発生させる条件を検証者が個別に設定するのでは、テストパターンの抜けが発生する可能性が高く、上記従来の方法は、制御システムの安全性を網羅的に検査するのには適していない。【０００８】
そこで、本発明は、想定される様々な状況における制御システムの安全性を網羅的に検査することができる制御システム検査装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、制御システムの安全性を検査する制御システム検査装置であって、検査対象を模擬したプラントを所定の条件に基づいてシミュレーションし、シミュレーション結果を外部に出力するシミュレータと、前記シミュレーション結果に基づいて次に前記プラントが採り得る状態に関連する情報を検証モデルによって生成し、シミュレータに出力するモデル検査ツールとを備え、前記情報に基づいて前記シミュレーションの所定の条件が設定されることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、想定される様々な状況における制御システムの安全性を網羅的に検査することができる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態に係る制御システム検査装置の構成図
【図２】制御システム検査装置の構造とデータの流れ
【図３】安全条件の例
【図４】実行パスの例
【図５】検査結果を表示装置に表示したときの例
【図６】検査結果を表示装置に表示したときの別の例
【図７】制御システム検査装置の動作フロー
【図８】制御システムの検証モデルの例
【図９】制御システムのプラントモデルの例
【図１０】制御システムが取りうる状態の例
【発明を実施するための形態】
【００１２】
本実施形態に係る制御システム検証装置は、シミュレーションにおける時間ステップ毎に、入力されるプラントモデルに基づいてプラントの状態を更新し、入力された安全条件に基づいてプラントの状態の安全性を判定し、安全であると判定した場合には、入力された検証モデルが識別可能な形式にプラントのセンサ値を変換し、変換したセンサ値を初期値とする検証モデルを検証するモデル検査ツールを実行し、モデル検査ツール終了後に検証モデルが出力した制御指令値や故障発生有無をシミュレータが識別可能な形式に変換し、シミュレーションを再開し、シミュレータ内の経過時間時間が検査条件を満たさなくなるまで検査を継続する。非安全であると判定した場合にはそれまでに実行したログを通知し、検査条件を満たして終了する場合には安全であることを通知する。
【００１３】
以下、図面を用いて本発明の実施形態について説明する。
【００１４】
図１は、本実施形態に係る制御システム検査装置１の構成図である。制御システム検査システム１は、コンピュータ２と、コンピュータ２に対して命令を与えるべく検査者が入力を行う入力装置９と、検査結果を表示する表示装置１０とからなる。コンピュータ２は、ＣＰＵ等の演算装置３と、外部記憶媒体４と、メモリ７と、入出力回路８とからなる。外部記憶媒体４は、シミュレータ５とモデル検査ツール６とを記憶している。入出力回路８は、入力装置９から入力される命令に関する情報を取得し、表示装置１０に出力される情報を提供する。
【００１５】
図２は、制御システム検査装置１の構成とデータの流れを示すブロック図である。制御システム検査装置１には、入力装置９から検査条件５０２、プラントモデル５０３、安全条件５０５、検証モデル６０１が検証者によって入力される。
【００１６】
検査条件５０２は、制御システム検査装置１の検査を終了する条件であり、シミュレーションの中で経過する仮想的な時間（例えば、１０分間）で指定される。但し、検査条件５０２は、これに限られず、例えば、シミュレーションの回数であってもよく、時間と回数とを組み合わせたものであってもよい。
【００１７】
プラントモデル５０３は、入力に応じて変化する制御対象の物理特性を示したモデルであり、Ｍａｔｌａｂ（登録商標）のＳｉｍｕｌｉｎｋ（登録商標）などのシミュレータを活用するモデルベース開発手法を行うために用いられ、一般的に多項式で記述される。
【００１８】
また、検証モデル６０１は、制御対象のハードウェアを制御するソフトやユーザの操作を模擬するモデルである。具体的には、検証モデル６０１は状態遷移の記法でで記述されるソフトウェアプログラムであり、ＳＰＩＮなどのモデル検査ツールで実行される。説明の都合上、実施の形態１では検証モデルが直接状態遷移で書かれているモデルを対象とするが、これに限らない。例えば、入力されたソースコードを状態遷移モデルに自動的に変換させた後に検証を行うＥｆｆｉｃｉｅｎｔ  ＳＭＴ−Ｂａｓｅｄ  Ｃｏｎｔｅｘｔ−Ｂｏｕｎｄｅｄ  Ｍｏｄｅｌ  Ｃｈｅｃｋｅｒ（ＥＳＢＭＣ）などのモデル検査ツールを用いても良い。
【００１９】
制御システム検査装置１は、シミュレータ５とモデル検査ツール６とから構成される。シミュレータ５は、検査対象を模擬したプラントを所定の条件に基づいてシミュレーションし、シミュレーション結果を外部に出力するものであり、反復実行部５０１、プラント実行部５０４、安全性確認部５０６、モデル検査ツール実行部５０８、シミュレーション再開部５０９から構成される。説明の都合上、本実施形態ではこのような構造としているがこれに限らない。
【００２０】
反復実行部５０１は、入力された検査条件とシミュレータ内の時間を比較し、終了条件を満たすか否かを判定する。プラント実行部５０４は、所定の条件に基づいてプラントをシミュレーションする。安全性確認部５０６は、シミュレーション後のプラントの状態が安全であるか否かを判定する。モデル検査ツール実行部５０８は、プラント実行部５０４から出力されたプラントの出力をモデル検査ツール６が識別可能な形式に変換し、モデル検査ツール６を動作させる。シミュレーション再開部５０９は、モデル検査ツール６が出力した検証モデルをプラントが識別可能な形式に変換し、シミュレーションを再開させる。
【００２１】
なお、プラントとは、検査対象を模擬したものであり、本実施形態では、アクチュエータと該アクチュエータを動作させるのに用いられるセンサとを備えるハードウェアとしての車両を模擬するものである。さらに、本実施形態のプラントには、車両だけでなく、車両が通行する道路の形状（直線・カーブ）も含まれる。シミュレータ５は、このようなプラントのシミュレーション結果は、具体的にはプラントのセンサの検出値である。本実施形態では、ハードウェアに異常が発生したプラントと、ハードウェアに異常が発生していないプラントを備え、検証モデルの出力によって切り替え可能となっている。
【００２２】
また、モデル検査ツール６は、シミュレーション結果（具体的には、シミュレーションを行った後のプラントの状態）に基づいて次にプラントが採り得る状態に関連する情報を検証モデルによって生成し、シミュレータ５に出力する。なお、以下では、上述した“次にプラントが採り得る状態に関連する情報”を“状態関連情報”と述べる場合がある。また、このような情報は信号の形式で出力されるものであり、“次にプラントが採り得る状態に関連する信号”や“状態関連信号”と特定することもできる。そして、本実施形態では、検証モデルは、プラントの異常発生状態の有無が異なる複数の状態関連情報（即ち、プラントに異常が発生している状態関連情報と、プラントに異常が発生していない状態関連情報）を生成する。また、本実施形態の検証モデルによって生成される状態関連情報には、シミュレータ５から入力されるセンサ値に基づいて決定されるアクチュエータ制御指令値が含まれる。
【００２３】
なお、モデル検査ツール６は検証モデルによって生成される状態関連情報を出力するものであるため、この状態関連情報のうちのどれを次の時間ステップでシミュレーションするかを選択する必要がある。この状態関連情報を選択する機能は、シミュレーション再開部５０９に備えられる。また、制御システム検査装置１では、複数の状態関連情報のうちどれが選択され（即ちシミュレーション済であり）、どれが未選択であるかを管理している。そして、一連のシミュレーションが終了すると、次に、制御システム検査装置１は、未だ選択されていない状態関連情報に基づくシミュレーションを行う。この状態関連情報の管理は、シミュレーション再開部５０９で行われるものであってもよく、シミュレータ５に別途設けられる管理ブロックで行われるものであってもよく、シミュレータ５の外部に設けられる管理部で行われるものであってもよい。
【００２４】
図３は、安全条件５０５の一例である。安全条件５０５には、検査対象の制御システムが安全であるかを判断するための閾値が記載されている。例えば、変数名ｖａｌｕｅ１は常に０になることはない、としているがこれに限らない。プラントや検証モデルに応じて安全条件５０５を変えても良い。また、変数名はプラントの出力信号に限らない。例えば、モデル検査ツールが出力する状態関連情報に安全に関する情報が含まれる場合には、この情報をシステムが安全であるか否かを判断するのに用いても良いし、モデル検査ツールの検証結果（ｖａｌｉｄかｉｎｖａｌｉｄか）をシステムが安全であるか否かを判断する条件としても良い。
【００２５】
図４は、実行パス５０７の例である。実行パス５０７は、検査中における検査対象の制御システムの実行の流れを把握可能な情報が記録されている。本実施形態では、検査番号と、検査すべき故障発生のタイミング毎に選択された検証モデル６０１が出力するアクチュエータ制御指令値と故障発生有無情報から選択した値を時系列に記憶している。説明の都合上、本実施形態ではこのような情報を記憶しているがこれに限らない。また、表記方法もこれに限らない。
【００２６】
図５は、安全条件５０５を満たすときの検査結果を表示装置１０に表示したときの例である。但し、表示方法は図５とは異なるものであってもよい。また、検証結果は、表示装置１０に表示されるものに限られず、表示装置１０に表示されずファイル形式で出力されるものであってもよい。
【００２７】
図６は、安全条件５０５を満たさないときの検査結果を表示装置１０に表示したときの例である。但し、表示方法は図６とは異なるものであってもよい。また、検証結果は、表示装置１０に表示されるものに限られず、表示装置１０に表示されずファイル形式で出力されるものであってもよい。さらに、図６の例では、表示装置１０に実行パス５０７の内容を表示しているが、これに限られず、実行パス５０７の内容を表示しないでファイル形式で出力されるものであってもよい。
【００２８】
このような制御システム検査装置１では、シミュレータ５によるシミュレーション結果の出力と、モデル検査ツール６による状態関連情報の生成及び出力と、状態関連情報に基づくシミュレーションの所定の条件の設定とが、シミュレータ５で設定される所定の時間ステップ毎に行われる。ここで、所定の時間ステップとは、シミュレーションにおける実行時間単位であり、例えば１ｍ秒以上の時間で検証者が設定することができる。即ち、制御システム検査装置１では、シミュレータ５がシミュレーションを所定の時間ステップ分行うと、そのシミュレーション結果を基にモデル検査ツール６が次のプラントの状態に関連する状態関連情報を決定し、シミュレータ５がその状態関連情報に基づいて次の時間ステップにおけるシミュレーションの条件を更新し、シミュレーションを再開する。このように、制御システム検査装置１では、シミュレータ５のプラントとモデル検査ツール６の検証モデルの時刻を同期させる機能を有する。そして、制御システム検査装置１は、時間ステップ毎にプラントの異常発生の有無が異なる状態関連情報を生成するため、検証すべき故障発生のタイミングを良好に網羅したシミュレーションを行うことができる。
【００２９】
図７は、検査者が制御システム検査装置１を利用するときの流れを示す。以下、図７の各ステップについて説明する。
【００３０】
ステップＳ０１では、検証者が制御システム検査装置１にプラントモデル５０３、検証モデル６０１、安全条件５０５、検査条件５０２を入力する。
【００３１】
ステップＳ０２では、検証者がシミュレータを実行する。
【００３２】
ステップＳ０３では、制御システム検査装置１の反復実行部５０１は、入力された検査条件とシミュレータ内の時間を比較し、終了条件を満たすか否かを判定する。終了条件を満たす場合にはＳ１０に移動する。終了条件を満たさない場合にはＳ０４に移動する。なお、シミュレータ内の時間は、反復実行部が実行されるたびに、単位時間ステップずつ（検証すべき故障発生のタイミング分だけ）進むこととする。説明の都合上、実施の形態１ではシミュレータ内の時間と比較しているが、これに限らない。例えばシミュレータ外部に新たなプログラムを作り、それと比較する終了条件としてもよい。
【００３３】
ステップＳ０４では、制御システム検査装置１のプラント実行部５０４は、検証モデルが出力する故障発生有無の情報に基づいて、故障しているプラントを模擬したプラントモデルと、故障していないプラントを模擬したプラントモデルを切り替え、入力されたプラントモデルに基づいてプラントの状態を更新する。
【００３４】
ステップＳ０５では、制御システム検査装置１の安全性確認部５０６は、安全条件５０５とそれに対応するプラントの出力情報、または検証モデルの出力情報を比較することによって非安全状態に到達したか否かを判定する。非安全状態に到達した場合には、Ｓ１０に移動する。非安全状態に到達していない場合には、Ｓ０６に移動する。
【００３５】
実行パスに検証対象の制御システムの動作を特定可能な情報をログとして保存する。このとき時系列に制御システムの変化がわかるように情報を追記する形で保存する。例えば、保存する情報には、保存するタイミングが識別可能な時間とそのときのプラントの出力、選択した検証モデルの出力値、シミュレーション回数などが挙げられる。説明の都合上、本実施形態ではこのような情報をログとして保存するが、非安全であることが判明したときに制御システムの変化が時系列にわかるようになっていれば、これに限らない。
【００３６】
ステップＳ０６では、制御システム検査装置１のモデル検査ツール実行部５０８は、プラントモデル５０３のセンサ値を検証モデル６０１が識別可能な形式に変換し、モデル検査ツールを実行する。このときシミュレータはモデル検査ツールの実行終了まで一時停止する。例えば、外部のテキストからセンサ値を読み出すように設計された検証モデルに合わせて、前記テキストにプラントモデル５０３のセンサ値を書き出す処理を行い、その後にモデル検査ツールを実行する。このとき、モデル検査ツールに検証モデルを検証するための条件（プロパティ）を付けてもよいし、付けなくてもよい。説明の都合上、実施の形態１ではこのような方法をとるが、これに限らない。
【００３７】
ステップＳ０７では、制御システム検査装置１の検証モデル実行部６０２は、モデル検査ツール６を用いて入力された検証モデル６０１を検証する。制御ソフトを模擬した検証モデル６０１はモデル検査ツール実行中の状態探索処理において、制御ソフトの出力であるアクチュエータ制御指令値と、故障発生有無の情報を外部に出力する。
【００３８】
検証モデル６０１は前記アクチュエータ制御指令値と故障発生有無の値に対して非決定性があるように設計される。非決定性とは、次の状態が一意に決定されない性質である。非決定性には、このほかに、ユーザの操作の有無または操作力の強弱や、センサのノイズの有無や、他の制御ソフトの割り込みの有無などを含んでもよいが、これに限らない。説明の都合上、実施の形態１はこのような方法をとるが、これに限らない。
【００３９】
ステップＳ０８では、制御システム検査装置１のシミュレーション再開部５０９は、前記モデル検査ツール６の実行終了後に実行され、前記モデル検査ツール６から出力された前記アクチュエータ制御指令値と前記故障発生有無の情報をシミュレータで受信する。例えば、検証モデルの出力値をコマンドプロンプト画面に出力するように検証モデルを予め設計し、シミュレータは画面出力用の出力信号を解析して、該当の情報を抽出する。前記アクチュエータ制御指令値はプラントモデルの入力信号とし、前記故障発生有無の情報は、Ｓ０４の終了条件を満たすか否かの判断で用いられる。説明の都合上、実施の形態１ではこのような方法をとっているが、これに限らない。検証モデルが非決定性を持たせて設計されている場合、前記アクチュエータ制御指令値や前記故障発生有無の情報が複数パターン出力される。このとき、複数のパターンから一つのアクチュエータ制御指令値と故障発生有無の情報を選択する。選択方法は問わない。
【００４０】
ステップＳ０９では、制御システム検査装置１の反復実行部５０１はシミュレーション内の時間を進める。
【００４１】
ステップＳ１０では、Ｓ０３から移動してきた場合、制御システム検査装置１の反復実行部５０１が図５に示すような安全条件を満たすことを示す情報を通知する。例えば、表示装置１０に安全条件を満たすことを示すｖａｌｉｄを表示する。Ｓ０５から移動してきた場合、制御システム検査装置１の安全性確認部５０６が図６に示すような安全条件を満たさないことを示す情報を通知する。このとき、実行パス５０７の内容も通知する。例えば、表示装置１０に安全条件を満たすことを示すｉｎｖａｌｉｄと実行パス５０６の内容を表示する。説明の都合上、実施の形態１はこのような方法をとっているがこれに限らない。
【００４２】
ステップＳ１１では、検査者は通知された検査結果を確認する。例えば、表示装置１０に表示された検査結果を確認する。
【００４３】
図８は検証モデル６０１の一例である。この例では、検証モデル６０１は、検証モデル要素Ａと検証モデル要素Ｂと検証モデル要素Ｃから成る。
【００４４】
検証モデル要素Ａはステアリングの状態を示す検証モデル要素である。“正常”状態は“正常”または“故障”に遷移する可能性がある。検証モデル要素Ａには各々の状態でステアリングの状態をモデル検査ツール６外に出力する機能を持つ。
【００４５】
検証モデル要素Ｂは制御ソフトのモードを示す検証モデル要素である。制御ソフトは現在のプラントの速度に応じて、“高速”状態、“低速”状態に遷移する。ステアリングが故障した場合には“フェールセーフ（ＦＳ）”状態に遷移する。例えば、“高速”状態ではステアリングのアシスト量が少なく、“低速”状態ではアシスト量が大きく、“ＦＳ”状態ではユーザにステアリングの故障を通知するアラームを点灯させ、ステアリングのアシスト量を０にする処理などが考えられるが、これに限らない。検証モデル要素Ｂは、ステアリングのアシスト量をモデル検査ツール外に出力する機能を持つ。
【００４６】
検証モデル要素Ｃはユーザが操作したときのアクセル量を示す検証モデル要素ある。“現在値”状態から“現在値”状態、“−１”状態、“＋１”状態、“＋２”状態に遷移する可能性がある。“現在値”状態は入力値のアクセル量を示し、“−１”状態はアクセル量の減少、“＋１”状態と“＋２”状態はアクセル量の増加を示す。検証モデル要素Ｃはアクセル量をモデル検査ツール６外に出力する機能を持つ。説明の都合上、本実施形態ではユーザのアクセルペダル操作と前記アクセルペダル操作に基づいて制御ソフトが算出するアクセル量を１つの検証モデル要素で表記しているが、これに限らない。
【００４７】
これらのモデルはモデル検証ツール６が実行されるたびに生成され、入力値に基づいて初期状態が決定される。説明の都合上、本実施形態ではこのようにしているがこれに限らない。また、説明の都合上、本実施形態ではこのように検証モデルを状態遷移の記法で記載しているがこれに限らない。例えば、テキストで状態遷移を表記してもよい。さらに検証モデルの内容もこれに限らない。また検証モデルは１つであってもよいし、複数であってもかまわない。
【００４８】
検証モデル６０１が生成する状態関連情報を図８の例で説明すると、仮にステアリングが正常状態の場合には、アクセル量の４つの状態と、制御ソフトの３つの状態を組み合わせた１２種類があり、そのうちの２種類を例示すると、「ステアリング：正常、アクセル量：現在値、制御ソフト：高速」、「ステアリング：正常、アクセル量：−１、制御ソフト：高速」などである。なお、仮にステアリングが故障状態の場合には、制御ソフトは通常はＦＳとなるように制御されるため、ステアリングが正常状態の場合に比べて組み合わせの数（即ち、状態関連情報）は少なくなる。
【００４９】
図９はプラントモデル５０３の例である。プラントモデル５０３は自動車の車体と道路を模擬したモデルから成る。自動車の車体はシミュレーション再開部５０９が選択したステアリングの状態によって正常時のステアリングと故障時のステアリングが選択され、ステアリングのアシスト量とアクセル量に基づいたアクチュエータ制御によって車体の状態が更新される。車体の進んだ距離に応じて、道路上の車体の位置が更新される。
【００５０】
図１０は制御システムが取りうる状態のイメージである。シミュレーション内の時間が進むにつれて、状態が遷移することを示している。例えば、時刻Ｎでプラントモデルにおける車両が“高速”且つ道路が“直線”の状態であった場合に、時刻Ｎ＋１では車両が“高速”且つ道路が“直線”の状態である場合もあり、車両が“低速”且つ道路が“直線”である場合もあり、図１０では省略しているがそれ以外に道路が“カーブ”である場合もある。このような制御システム検査システム１を利用すると、時刻Ｎ＋３にステアリングが“故障”状態になると危険な状態になる、といったことがわかるようになる。
【００５１】
以上のように、本実施形態にかかる制御システム検査装置１によれば、シミュレーションとモデル検査ツールを組み合わせて、制御システムの安全性の検査を行うことができるため、想定される様々な状況における制御システムの安全性を網羅的に検査することができる。従って、検証者が故障させるタイミングを設定した場合に発生し得るテストパターンの抜けを良好に防止することができる。また、制御システム検査装置１によれば、ハードウェアの故障が発生したときに、安全機能を備えたソフトウェアが対象のシステムを安全状態に保つことができるか否かを確認といった安全性を容易に確認することができる。
【００５２】
また、上記特許文献１では、マイコン上でソフトウェアを実行するために、現実と同じテスト時間を要するものであり、例えば、１回１秒かかるテストを１００００回行う場合には、完了するまでに少なくとも１００００秒かかるものであったが、制御システム検査装置１によれば、これを高速化することができる。また、上記特許文献１では、マイコンの入手が必須であり、開発段階の早い段階でマイコンを入手することができない場合には、適用できないものであったが、制御システム検査装置１によれば、実際にマイコンが存在しないでもその安全性を検査することができる。
【００５３】
なお、本実施形態では、検証モデルの非決定性をアクチュエータ制御指令値の算出に関連するユーザの操作とハードウェアの故障発生有無に適用したが、これに限らない。例えばセンサのノイズなどに適用してもよい。
【符号の説明】
【００５４】
１…制御システム検査システム、２…コンピュータ、３…演算装置、４…外部記憶媒体、５…シミュレータ、６…モデル検査ツール、７…メモリ、８…入出力回路、９…入力装置、１０…表示装置、５０１…反復実行部、５０２…検査条件、５０３…プラントモデル、５０４…プラント実行部、５０５…安全条件、５０６…安全性確認部、５０７…実行パス、５０８…モデル検査ツール実行部、５０９…シミュレーション再開部、６０１…検証モデル、６０２…検証モデル実行部
【図１】
2014174656.tif 000003
【図２】
2014174656.tif 000004
【図３】
2014174656.tif 000005
【図４】
2014174656.tif 000006
【図５】
2014174656.tif 000007
【図６】
2014174656.tif 000008
【図７】
2014174656.tif 000009
【図８】
2014174656.tif 000010
【図９】
2014174656.tif 000011
【図１０】
2014174656.tif 000012
【手続補正書】
【提出日】平成28年8月4日(2016.8.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
制御システムの安全性を検査する制御システム検査装置であって、
検査対象を模擬したプラントを所定の条件に基づいてシミュレーションし、シミュレーション結果を外部に出力するシミュレータと、
前記シミュレーション結果に基づいて次に前記プラントが採り得る状態に関連する情報を検証モデルによって生成し、シミュレータに出力するモデル検査ツールとを備え、
前記情報に基づいて前記シミュレーションの所定の条件が設定され、
前記検証モデルは、前記プラントの異常発生状態の有無が異なる複数の情報を生成する
ことを特徴とする制御システム検査装置。
【請求項２】
制御システムの安全性を検査する制御システム検査装置であって、
検査対象を模擬したプラントを所定の条件に基づいてシミュレーションし、シミュレーション結果を外部に出力するシミュレータと、
前記シミュレーション結果に基づいて次に前記プラントが採り得る状態に関連する情報を検証モデルによって生成し、シミュレータに出力するモデル検査ツールとを備え、
前記情報に基づいて前記シミュレーションの所定の条件が設定され、
前記プラントは、アクチュエータと該アクチュエータを動作させるのに用いられるセンサとを備えるハードウェアであり、
前記シミュレータは、前記シミュレーション結果として前記センサの検出値を前記モデル検査ツールに出力する
ことを特徴とする制御システム検査装置。
【請求項３】
制御システムの安全性を検査する制御システム検査装置であって、
検査対象を模擬したプラントを所定の条件に基づいてシミュレーションし、シミュレーション結果を外部に出力するシミュレータと、
前記シミュレーション結果に基づいて次に前記プラントが採り得る状態に関連する情報を検証モデルによって生成し、シミュレータに出力するモデル検査ツールとを備え、
前記情報に基づいて前記シミュレーションの所定の条件が設定され、
前記プラントは、アクチュエータと該アクチュエータを動作させるのに用いられるセンサとを備えるハードウェアであり、
前記検証モデルは、前記ハードウェアの故障状態の有無が異なる複数の情報を生成し、前記シミュレータに出力する
ことを特徴とする制御システム検査装置。
【請求項４】
制御システムの安全性を検査する制御システム検査装置であって、
検査対象を模擬したプラントを所定の条件に基づいてシミュレーションし、シミュレーション結果を外部に出力するシミュレータと、
前記シミュレーション結果に基づいて次に前記プラントが採り得る状態に関連する情報を検証モデルによって生成し、シミュレータに出力するモデル検査ツールと、
前記モデル検査ツールから前記次に前記プラントが採り得る異なる状態に関連する情報として複数の情報が出力された場合、出力された複数の情報から次のシミュレーションに用いられる情報を選択する情報選択部と、
を備え、
前記情報に基づいて前記シミュレーションの所定の条件が設定される
ことを特徴とする制御システム検査装置。
【請求項５】
制御システムの安全性を検査する制御システム検査装置であって、
検査対象を模擬したプラントを所定の条件に基づいてシミュレーションし、シミュレーション結果を外部に出力するシミュレータと、
前記シミュレーション結果に基づいて次に前記プラントが採り得る状態に関連する情報を検証モデルによって生成し、シミュレータに出力するモデル検査ツールと、
前記プラントの出力を前記モデル検査ツールが識別可能な形式に変換し、前記モデル検査ツールを動作させるモデル検査ツール実行部と、
前記モデル検査ツールが出力した情報を前記プラントが識別可能な形式に変換し、シミュレーションを再開させるシミュレーション再開部と、
を備え、
前記情報に基づいて前記シミュレーションの所定の条件が設定される
ことを特徴とする制御システム検査装置。
【請求項６】
前記シミュレータによるシミュレーション結果の出力と、前記モデル検査ツールによる情報の生成及び前記情報の出力と、出力された前記情報に基づく前記シミュレーションの所定の条件の設定とが、前記シミュレータで設定される所定の時間ステップ毎に行われることを特徴とする請求項１から５のいずれか１項記載の制御システム検査装置。
【請求項７】
前記プラントの状態及び前記出力された情報の少なくとも一方に基づいて制御システムの安全性を判定する安全性確認部を有することを特徴とする請求項１から５のいずれか１項記載の制御システム検査装置。
【請求項８】
前記検証モデルが記載されたファイル以外の外部ファイルから前記プラントの出力情報を入力値として読み込む検証モデルを有することを特徴とする請求項１から５のいずれか１項記載の制御システム検査装置。
【請求項９】
前記モデル検査ツールから出力される情報には、前記シミュレータから入力される前記センサの検出値に基づいて決定されるアクチュエータ制御指令値が含まれることを特徴とする請求項３記載の制御システム検査装置。
【請求項１０】
前記検証モデルは、状態遷移を示す記法で記載されることを特徴とする請求項１から５のいずれか１項記載の制御システム検査装置。
【請求項１１】
前記識別可能な形式に変換されたデータの少なくとも一方は外部ファイルに保存されることを特徴とする請求項５記載の制御システム検査装置。
【国際調査報告】
2014174656.tif 000013
2014174656.tif 000014
2014174656.tif 000015
2014174656.tif 000016