(57)【特許請求の範囲】
【請求項１】
入力された状態遷移モデルから状態遷移情報を生成し、保持する状態遷移情報生成部と、
前記状態遷移情報から各状態の遷移リストである第１の遷移リストを生成する遷移リスト生成部と、
前記第１の遷移リストに対して、抜けが発生するイベントとして定義されたイベントであるクリティカルイベントに対する遷移先状態を抽出し、前記遷移先状態に対応する遷移先リストである第２の遷移リストを抽出する遷移先状態遷移リスト生成部と、
入力されたイベントモデルから、各イベントに対して発生し得る次のイベントの情報であるイベント遷移情報を生成するイベント遷移情報生成部と、
前記イベント遷移情報から、前記クリティカルイベントの次のイベントである次イベントを抽出する次イベント抽出部と、
前記第１の遷移リスト上の次イベントによる遷移先の状態と、前記第２の遷移リストの次イベントによる遷移先の状態を比較し、比較の結果に基づいて、前記第１の遷移リストに対して、対策レベルを決定し、決定した前記対策レベル、補正対策情報から検査結果一覧を生成し、この検査結果一覧を使用者に表示して使用者に対策の選択を促す検査結果一覧生成部と、
検査結果一覧中に示された対策情報から選択された対策を入力として受け付け、入力された対策に応じて状態遷移表を書き換える状態遷移情報書換部と
を有するロバスト性向上支援装置。
【請求項２】
入力された状態遷移モデルから状態遷移情報を生成し、保持させるステップと、
入力されたイベントモデルから、各イベントに対して発生し得る次のイベントの情報であるイベント遷移情報を生成し、このイベント遷移情報から、クリティカルイベントの次のイベントである次イベントを抽出するステップと、
前記状態遷移情報から各状態の遷移リストである第１の遷移リストを生成するステップと、
前記第１の遷移リストに対して、抜けが発生するイベントとして定義されたイベントであるクリティカルイベントに対する遷移先状態を抽出し、抽出された前記遷移先状態に対応する遷移先リストである第２の遷移リストを抽出するステップと、
前記第１の遷移リスト上の前記次イベントによる遷移先の状態と、前記第２の遷移リストの前記次イベントによる遷移先の状態を比較するステップと、
前記第１の遷移リスト上の次イベントに対する遷移先がないか否か判定するステップと、
前記第１の遷移リスト上の次イベントに対する遷移先がないと判定した場合、第３の対策を指定するステップと、
前記第１の遷移リスト上の次イベントに対する遷移先があると判定した場合、前記第1の遷移リスト上の前記次イベントによる遷移先の状態と、前記第２の遷移リストの前記次イベントによる遷移先の状態が同じか否かを判定するステップと、
前記次イベントによる遷移先の状態が同じでないと判定した場合、前記第１の遷移リストの遷移先が遷移元と同状態であるか否かを判定するステップと、
前記第１の遷移リストの遷移先が遷移元と同状態であると判定した場合、第２の対策レベルを指定するステップと、
前記第１の遷移リストの遷移先が遷移元と同状態でないと判定した場合、第１の対策レベルを指定するステップと、
指定された前記対策レベル、補正対策情報から検査結果一覧を生成し、この検査結果一覧を使用者に表示して使用者に対策の選択を促すステップと
入力された対策に応じて前記状態遷移モデルを書き換えるステップと、
を有することを特徴とするロバスト性向上支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はロバスト性向上支援装置、並びにロバスト性向上支援方法に関する。
【背景技術】
【０００２】
今日、家庭用電気機械器具、輸送機器、産業用機械、医療機器などの組み込み機器においては、ハードの技術革新により、複雑な制御やアプリケーション機能を機器に組み込むためのニーズが高くなっている。
【０００３】
組み込み機器においては、任意のタイミングで発生するイベントに対して、各機器がどのような処理を実現すればよいかの制御仕様を状態遷移系列で実現することが多い。制御仕様を状態遷移系列で表現する場合、制御機器に対して発生するイベントを想定し、イベントを受けた時の機器の状態に合わせてどのような動作をすべきかを検討し、制御仕様を記述する。この時対象となるイベントは、ある正常な系列をもって発生するイベントと、エラー等のような任意のタイミングに発生するイベントがある。
【０００４】
状態遷移モデルを作成する際に、エラー系のイベントはランダムに発生することを想定するが、正常な系列をもって発生するイベントは、それにそった状態遷移モデルを記述する。
【０００５】
全てのイベントがランダムに発生することを想定すると、あり得ないイベント系列に対する制御仕様を網羅的に考える必要があり、人間系では検討できない。
【０００６】
制御仕様を網羅的に検討する従来の技術として以下のものが存在している。
一つとして、機能検証前に、状態遷移図モデルの各状態に着目した遷移仕様の確認を行い、状態遷移図におけるイベント及び状態の記述の抜け、誤り、矛盾等を防止する装置及び方法が提案されている（例えば、特許文献１）。
また、複数プロセス間にわたる状態遷移規則を、変数を含む書換え型のプロダクションルールとして与え、特定の状態がある仕様によって与えられたシステムに出現するか否かを検証することができるようなソフトウェア仕様の検証方法も提案されている（例えば、特許文献２）。
また、ユースケースに記述された仕様書をベースに、仕様書の曖昧、矛盾、漏れを取り除くための仕様書確認装置も提案されている（例えば、特許文献３）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００１−１１７６８７号公開公報
【特許文献２】特開平０８−６７７８号公開公報
【特許文献３】特開２００６−３２３６９４号公開公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
人間は、実機動作（ハード）上のイベント発生系列を想定して制御仕様を検討しがちである。しかし、ハード上は必ず発生するイベント系列であっても、ソフトウェアの制約上イベントとして認識できない場合がある。図１６は、取得タイミングのずれによるソフトウエア側のイベントの抜けの例を示した図である。図中上段は、ハードウエア側のイベント発生状態を示している。イベントＥ１，Ｅ２，Ｅ３，Ｅ４が図示のような長さで発生している。図中、下段はソフトウエアが一定間隔に起動し、発生イベントを取得している状況を示した。この場合取得タイミングのずれによってイベントＥ３の発生はソフトウエア側で取得できないことが分かる。
【０００９】
また、実機上正常系のイベント系列を想定して記述された状態遷移による制御仕様は、イベントの抜けに対する想定が検討されていないことが多い。イベントを抜けて発生したイベントは、発生し得ないイベントとして制御仕様が記述されない。抜けたイベントが発生していない想定で、発生したイベントに対する制御仕様が記述される。
【００１０】
上記のような実機動作との誤差により、発生したイベント系列については、設計上の制御仕様抜けや制御仕様の誤りが発生し、従来の技術ではこの問題を解決することが困難であった。
【００１１】
なお、前記特許文献１、２の開示の技術は、状態遷移仕様の正しさを検証するものであるが、いずれもある特定の状態から、ユーザが想定する状態へ到達可能であるかを検証しており、発生するイベント系列については考慮していない。また特許文献３に開示の技術については、ユースケースで記述された仕様において、イベントフローとそれに対する処理の正しさを検証するものであり、状態遷移情報に関する仕様の正しさを考慮した技術ではなく上記課題の解決は難しい。
【００１２】
すなわち、前掲の従来技術はいずれも、あくまでも記述された仕様範囲で想定されるイベント系列が発生した場合の仕様の正しさを保証するものであり、ソフトウェア上認識できないイベントが発生した場合に、仕様としてどのようにあるべきかを保証するものではなかった。
【００１３】
本発明の目的は、実機上で発生するイベントが、ソフトウェア上において取得ミスする可能性を鑑みて、状態遷移設計の制御仕様の抜けもれを評価し、ロバスト性を向上させるための技術を提供することにある。
【課題を解決するための手段】
【００１４】
上記課題を解決するための手段として、以下に説明する実施の形態は以下の特徴を有する。
本実施形態は、ロバスト性向上支援装置として提案される。このロバスト性向上支援装置は、入力された状態遷移モデルから状態遷移情報を生成し、保持する状態遷移情報生成部と、前記状態遷移情報から各状態の遷移リストである第1の遷移リストを生成する遷移リスト生成部と、前記第1の遷移リストに対して、クリティカルイベントに対する遷移先状態を抽出し、遷移先状態の遷移リストである第2の遷移リストを抽出する遷移先状態遷移リスト生成部と、入力されたイベントモデルからイベント遷移情報を生成するイベント遷移情報生成部と、前記イベント遷移情報から次イベントを抽出する次イベント抽出部と、前記第1の遷移リスト上の前記次イベントの状態と、前記第2の遷移リストの前記次イベントの状態を比較し、比較の結果に基づいて、前記第１の遷移リストに対して、対策レベルを決定し、決定した前記対策レベル、補正対策情報から検査結果一覧を生成し、この検査結果一覧を使用者に表示して使用者に対策の選択を促す検査結果一覧生成部と、検査結果一覧中に示された対策情報から選択された対策を入力として受け付け、入力された対策に応じて状態遷移表を書き換える状態遷移情報書換部とを有することを特徴としている。
【００１５】
また、本実施形態はロバスト性向上支援方法としても提案される。このロバスト性向上支援方法は、入力された状態遷移モデルから状態遷移情報を生成し、保持させるステップと、入力されたイベントモデルからイベント遷移情報を生成し、このイベント遷移情報から次イベントを抽出するステップと、前記状態遷移情報から各状態の遷移リストである第1の遷移リストを生成するステップと、前記第1の遷移リストに対して、クリティカルイベントに対する遷移先状態を抽出し、抽出された遷移先状態の遷移リストである第2の遷移リストを抽出するステップと、前記第1の遷移リスト上の前記次イベントの状態と、前記第2の遷移リストの前記次イベントの状態を比較するステップと、前記第１の遷移リスト上の次イベントに対する遷移先がないか否か判定するステップと、前記第１の遷移リスト上の次イベントに対する遷移先がないと判定した場合、第３の対策を指定するステップと、前記第１の遷移リスト上の次イベントに対する遷移先があると判定した場合、前記第1の遷移リスト上の前記次イベントの状態と、前記第2の遷移リストの前記次イベントの状態が同じか否かを判定するステップと、前記次イベントの状態が同じでないと判定した場合、前記第１の遷移リストの遷移先が遷移元と同状態であるか否かを判定するステップと、前記第１の遷移リストの遷移先が遷移元と同状態であると判定した場合、第２の対策を指定するステップと、前記第１の遷移リストの遷移先が遷移元と同状態でないと判定した場合、第１の対策を指定するステップと、指定された前記対策レベル、補正対策情報から検査結果一覧を生成し、この検査結果一覧を使用者に表示して使用者に対策の選択を促すステップと、入力された対策に応じて前記状態遷移表を書き換えるステップと、を有することを特徴としている。
【００１６】
本実施形態によれば、実機上で発生するイベントが、ソフトウェア上において取得ミスする可能性を鑑みて、状態遷移設計の制御仕様の抜けもれを評価し、ロバスト性を向上させることが可能となる。
【図面の簡単な説明】
【００１７】
【図１】制御仕様モデルの例を示した図
【図２】前記制御仕様モデルの実機上のイベントモデルであって、観測する実機上のイベントモデルを示した図
【図３】図１の制御仕様モデルを状態遷移表として表した表を示した図
【図４】図２のイベントモデルを状態遷移表として記述した表を示した図
【図５】イベントＥ１をクリティカルイベントとした場合のＳ１状態におけるイベントＥ１，Ｅ２発生系列における正状態、仮状態が状態遷移表において定められた例を示す図
【図６】イベントＥ１をクリティカルイベントとした場合のＳ１状態におけるイベントＥ１，Ｅ４発生系列における正状態、仮状態が状態遷移表において定められた例を示す図
【図７】支援装置の構成例を示した機能ブロック図
【図８】表形式で表現された状態遷移情報の例を示した図
【図９】イベント遷移情報の例を示した図
【図１０】補正対策情報のデータ構成例を示す図
【図１１】検査結果一覧の例を示す図
【図１２】書き換え後の状態遷移表の例を示す図
【図１３】書き換え後の状態遷移表の例を示す図
【図１４】本支援装置の動作例を示すフローチャート
【図１５】本支援装置の動作例を示すフローチャート
【図１６】取得タイミングのずれによるソフトウエア側のイベントの抜けの例を示した図
【発明を実施するための形態】
【００１８】
[用語の定義]
まず、本明細書中で使用される用語の定義を述べる。
１．ロバスト性  
「ロバスト性」とは、発生し得る外乱に対して、目的を達成できるように考慮されているか否かをいう。
２．状態遷移モデル
「状態遷移モデル」とは、状態、イベント、遷移、アクションによって記述されるモデルをいう。状態遷移モデルの表現形式としては状態遷移図や状態遷移表がある。
【００１９】
[本実施形態の要点]
本実施形態は、検査対象である機器（実機）上で発生するイベントが、ソフトウェア上において取得ミスする可能性を鑑みて、状態遷移設計の制御仕様の抜けもれを評価し、ロバスト性を向上させるための方式を与える技術である。実際に発生しているイベントの取得ミスが起きても、制御仕様が問題なく実行できるようになっているか、イベントの取得ミスが許されない場合は、それを明示した制御仕様になっているかをユーザが調べることを支援するものである。実際に発生したイベント系列の遷移先と、イベントの取得ミスが生じた場合の遷移先を比較し、ロバスト性を向上されるための情報をユーザ(装置の使用者）与えるものである。
【００２０】
図１は、本実施形態を説明するための制御仕様モデルの例を示した図である。３つの状態Ｓ１，Ｓ２，Ｓ３は４種のイベントＥ１，Ｅ２、Ｅ３，Ｅ４の発生によって図に示すように状態遷移が発生する。図２は、前記制御仕様モデルの実機上のイベントモデルであって、観測する実機上のイベントモデルを示した図である。イベントＥ１の次イベントはイベントＥ２，Ｅ４であり、イベントＥ２の次イベントはイベントＥ１，Ｅ３であり、イベントＥ３の次イベントはイベントＥ２のみであり、イベントＥ４の次イベントはＥ１のみであることが示されている。
【００２１】
本実施形態のユーザは、イベントモデルから抜けが発生するイベントを定義する。このイベントをクリティカルイベントとする。
【００２２】
次に、各状態毎にクリティカルイベントから次イベントへの遷移先を正状態とし、クリティカルイベントが抜けた場合に発生する、次イベントの遷移先を仮状態とし、正状態、仮状態を抽出する。
【００２３】
図１，２に示した例を用いて上記を説明する。ユーザがイベントＥ１をクリティカルイベントと定義(指定)したとする。この場合イベントＥ２，Ｅ４がそれぞれクリティカルイベントの次イベントとして定まる。
【００２４】
正状態、仮状態の例として、Ｓ１状態からの遷移を検討するものとする。
クリティカルイベントから次イベントには、  
（１）イベントＥ１からイベントＥ２
（２）イベントＥ１からイベントＥ４
の２通りが存在していた（図２参照）。
【００２５】
上記（１）のイベントＥ１からイベントＥ２の場合、イベントＥ１が抜けていない場合では、Ｓ１→Ｓ２→Ｓ２という遷移先となり、これが正状態となる。一方、イベントＥ１が抜けた場合、イベントＥ２が直ちに発生することになり、この場合の状態遷移はＳ１→Ｓ３となる。これが仮状態となる。
【００２６】
また、上記（２）のイベントＥ１からイベントＥ４の場合、イベントＥ１が抜けていない場合では、状態Ｓ１→Ｓ２→Ｓ２という遷移先となり、これが正状態となる。一方、イベントＥ１が抜けた場合、イベントＥ４が直ちに発生することになり、この場合の状態遷移は存在せず（φ）となる。これが仮状態となる。
【００２７】
正状態と仮状態が異なる場合、本実施形態はユーザに仮状態に対する補正情報を与える。補正の仕方は次の３つである。
（１）仮状態を正状態への遷移とする  
但し、遷移上クリティカルイベントの取得が必須ではないことをこの補正を行うための前提条件とする。
（２）遷移元の状態を保持し続け、クリティカルイベントが取得できるまで待つ  
但し、クリティカルイベントは必須であるが、即座に取得できる必要はないことをこの補正を行うための前提条件とする。
（３）必ず、クリティカルイベントが取得できるようにする  
但し、クリティカルイベントは必ず取得できる必要があることをこの補正を行うための前提条件とする。
【００２８】
上記（１）乃至（３）に示した補正の仕方は、仮状態によって選択可否が決まる。具体的には、以下のようになる。  
Ａ．仮状態が遷移元と同一状態である場合は、上記補正（１）,（２）,（３）のいずれもを選択可能である。  
Ｂ．仮状態が未検討（φ）の場合は、上記（１）,（２）,（３）のいずれもを選択可能である。
Ｃ．仮状態が異なる遷移先状態の場合は、上記（３）のみ選択可能  
上記Ａ．、Ｂ．のように選択肢が複数となる場合には、ユーザが前述したそれぞれの前提条件に照らし合わせて、補正手段を選択する。
【００２９】
なお、本実施形態は図１，２に示した制御仕様モデル、イベントモデルを使用することに限定されず、制御仕様モデル、イベントモデルに代えて状態遷移表を用いても成立する。図３は、図１の制御仕様モデルを状態遷移表として表した表を示した図であり、図４は図２のイベントモデルを状態遷移表として記述した表を示した図である。
【００３０】
本実施形態では、図３、図４の表をもとに正状態、仮状態を定めることもできる。図５は、イベントＥ１をクリティカルイベントとした場合のＳ１状態におけるイベントＥ１，Ｅ２発生系列における正状態、仮状態が状態遷移表において定められた例を示す図であり、図６は、イベントＥ１をクリティカルイベントとした場合のＳ１状態におけるイベントＥ１，Ｅ４発生系列における正状態、仮状態が状態遷移表において定められた例を示す図であり、これらは図１，２に示した制御仕様モデル、イベントモデルに基づいて抽出された正状態、仮状態の内容と一致する。
【００３１】
[実施例]
以下、本実施形態の一実施例を説明する。本実施例は、状態遷移設計に対するロバスト性向上支援装置（以下、「支援装置」と略す）として提案される。
【００３２】
[装置の構成例]
本実施例である支援装置は、例えばコンピュータ、ワークステーションなどの情報処理装置によって実現される装置である。この情報処理装置は、演算処理装置（ＣＰＵ）、主メモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）、入出力装置（Ｉ／Ｏ）、及び必要な場合にはハードディスク装置等の外部記憶装置を具備している装置である。
【００３３】
図７に、支援装置の構成例を示した機能ブロック図を掲げる。支援装置１は、状態遷移情報生成部１０と、遷移リスト生成部２０と、遷移先状態遷移リスト生成部３０と、イベント遷移情報生成部４０と、次イベント抽出部５０と、検査結果一覧生成部６０と、状態遷移情報書換部７０とを有している。
【００３４】
状態遷移情報生成部１０は遷移リスト生成部２０に接続されている。遷移リスト生成部２０は遷移先状態遷移リスト生成部３０に接続されている。遷移リスト生成部２０と、遷移先状態遷移リスト生成部３０とは検査結果一覧生成部６０に接続されている。
【００３５】
イベント遷移情報生成部４０は次イベント抽出部５０に接続されており、次イベント抽出部５０は遷移先状態遷移リスト生成部３０に接続されている。
【００３６】
状態遷移情報生成部１０は、入力された状態遷移モデルから状態遷移情報を生成し、保持する機能を有する。図８は表形式で表現された状態遷移情報の例を示した図である（この例では、図１に示した制御仕様モデルに対応する内容を有する）。状態遷移情報は、検査対象である機器の状態遷移情報であって、初期状態を除いた各状態に対して、全ての遷移条件と遷移先の情報である遷移リストを持つ。図８では、図示の都合上、「状態１」についてのみ遷移リストの表示を付したが、各行に相当する部分もまた遷移リストとなる。また、遷移条件は、イベント[ガード条件]で記述されたものとする。状態遷移情報生成部１０は、配列やリスト形式などで状態遷移情報を保持する。
【００３７】
遷移リスト生成部２０は、前記状態遷移情報から各状態の遷移リスト（本発明の第1の遷移リストに相当する）を生成する機能を有する。  
【００３８】
遷移先状態遷移リスト生成部３０は、遷移リストに対して、クリティカルイベントに対する遷移先状態を抽出し、遷移先状態の遷移リスト（本発明の第2の遷移リストに相当する）を抽出する機能を有する。
【００３９】
イベント遷移情報生成部４０は、入力されたイベントモデルからイベント遷移情報を生成する機能を有する。図９は、イベント遷移情報の例を示した図である（この例では、図２に示したイベントモデルに対応する内容を有している）。イベント遷移情報は、各イベントに対して発生し得る次イベントを情報として有する情報である。イベント遷移情報生成部４０は、配列やリスト形式などでイベントモデルを保持することとなる。
【００４０】
次イベント抽出部５０は、イベント遷移情報から次イベント情報を抽出する機能を有する。
【００４１】
検査結果一覧生成部６０は、遷移リスト上の次イベントの状態と、クリティカルイベント遷移先状態の遷移リストの次イベントの状態を比較し、比較の結果に基づいて、その遷移リストに対して、対策レベルを決定し、決定した対策レベル、補正対策情報から検査結果一覧を生成し、この検査結果一覧を使用者に表示して使用者に対策の選択を促す機能を有する。
【００４２】
図１０に、補正対策情報のデータ構成例を示す。補正対策情報はクリティカルイベントに対する設計仕様上の対策情報であって、あらかじめ作成され支援装置１に記憶されている情報である。なお、図１０の表中、[クリティカルイベント]、[次イベント]、[遷移先状態]と表記されている部分は、検索結果として得られる情報である。
【００４３】
図１１は、検査結果一覧生成部６０によって出力される検査結果一覧の例を示す図である。使用者は表示された検査結果一覧を参照しながら、表示された対策からいずれかを入力することができる。
【００４４】
状態遷移情報書換部７０は、検査結果一覧中に示された対策情報から選択された対策を入力として受け付け、入力された対策に応じてマーキングをして状態遷移表を書き換える機能を有する。ここで、「マーキング」とは、検査結果一覧に表示される正規の遷移情報から、正規の遷移が行われた場合の状態遷移表の最終的な状態を表すマスを検索し、マスに対して赤枠等でマーキング表示すること、若しくはマーキング表示に相当する情報、データを追加或いは作成する（例えば、当該マスがマーキング表示されたマスであることを示す情報を作成或いは追加する）ことをいう。
【００４５】
状態遷移情報書換部７０は、以下の状態遷移情報書き換えルール（アルゴリズム）に従って、状態遷移表を書き換える。  
【００４６】
（１）対策「[クリティカルイベント]が必ず取得できることを保証します」が選択として入力された場合、状態遷移情報書換部７０は、[[クリティカルイベント]発生済み]とガード条件に記入する。  
【００４７】
（２）対策「[クリティカルイベント]の取得に時間がかかる可能性があるが、待ちます’が選択として入力された場合、状態遷移情報書換部７０は、状態に「―」を記し、ガード条件に[ディレイ有り]と記入する。  
【００４８】
（３）対策「[クリティカルイベント]の遷移先である[遷移先状態]に遷移します」が選択として入力された場合、状態遷移情報書換部７０は、状態に遷移先状態を記入する。  
【００４９】
なお、上記（１）、（２）の情報により、書き換えが実施されたことがわかるため、この情報に対する検査結果は、次からは対象からはずす。
【００５０】
図１２、図１３に書き換え後の状態遷移表の例を示す。図１２には、図５に示した状態遷移表を、上記対策（１）が選択された場合に書き換えられた後の状態遷移表の例を示した。また、図１３には、図６に示した状態遷移表を、上記対策（３）が選択された場合に書き換えられた後の状態遷移表の例を示した。
【００５１】
[支援装置の動作例]  
次に、ロバスト性向上支援方法を実行する装置である支援装置１の動作例について説明する。図１４、図１５は本支援装置１の動作例（ロバスト性向上支援方法の実行）を示すフローチャートであって、図１５は図１４に続くフローチャートである。以下、図１４、図１５を参照しながら支援装置の動作例を説明する。
【００５２】
本支援装置１を動作させる準備として、支援装置１の操作者(使用者）は、動作検証対象である機器の状態遷移モデル（状態遷移表の形態でもよい）、及びイベントモデル（状態遷移表の形態でもよい）を作成しておく。
【００５３】
まず、支援装置１の操作者は、動作検証対象である機器の状態遷移モデルを支援装置１、より詳しくは状態遷移情報生成部１０に入力し、支援装置１、より詳しくは状態遷移情報生成部１０は入力された状態遷移モデルから状態遷移情報を生成し、保持する（Ｓ１０）。
【００５４】
次に、支援装置の操作者(使用者）は、イベントモデルを支援装置１、より詳しくはイベント遷移情報生成部４０に入力し、支援装置１、より詳しくはイベント遷移情報生成部４０はイベントモデルからイベント遷移情報を生成し、このイベント遷移情報から次イベントを抽出する（Ｓ２０）。
【００５５】
支援装置１、より詳しくは遷移リスト生成部２０は、前記状態遷移情報から各状態の遷移リスト（本発明の第1の遷移リストに相当する）を生成する（Ｓ３０）。支援装置１、より詳しくは遷移先状態遷移リスト生成部３０は続いて、遷移リストに対して、クリティカルイベントに対する遷移先状態を抽出し、遷移先状態の遷移リスト（本発明の第2の遷移リストに相当する）を抽出する（Ｓ４０）。
【００５６】
次に支援装置１、より詳しくは検査結果一覧生成部６０は、遷移リスト上の次イベントの状態と、クリティカルイベント遷移先状態の遷移リストの次イベントの状態を比較する（Ｓ５０）。
【００５７】
ここで、支援装置１、より詳しくは検査結果一覧生成部６０は、第２の遷移リスト上の次イベントに対する遷移先がないか否か判定する（Ｓ６０）。第２の遷移リスト上の次イベントに対する遷移先がないと判定した場合（Ｓ６０、Ｙｅｓ）、支援装置１、より詳しくは検査結果一覧生成部６０はその第２の遷移リストに対して、対策レベル３（前述の「補正の仕方（３）に相当する」）を指定する（Ｓ７０）。続いて支援装置１、より詳しくは検査結果一覧生成部６０は、抽出した対策レベル、補正対策情報から検査結果一覧を生成し、この検査結果一覧を使用者に表示して使用者に対策の選択を促す（図１５、Ｓ１２０）。使用者は示された検査結果一覧中の対策情報から対策を選択して、支援装置１に選択した対策を入力する。支援装置１、より詳しくは状態遷移情報書換部７０は、入力された対策に応じてマーキングをして状態遷移表を書き換える（Ｓ１３０）。
【００５８】
次に支援装置１は全ての状態に対する遷移リストの処理が終了したか否かを判定する（Ｓ１４０）。上記処理が終了していないと判定した場合（Ｓ１４０、Ｎｏ）、支援装置１は前述のステップＳ３０（図１４参照）に戻り、未処理の遷移リストについてステップＳ３０以降の処理を実行する。
【００５９】
一方、上記処理が終了していると判定した場合（Ｓ１４０、Ｙｅｓ）、支援装置１は検査結果一覧表による対策情報が出力されたか否かを判定する（Ｓ１５０）。対策情報が出力されていないと判定した場合（Ｓ１５０、Ｎｏ）、支援装置１は前述のステップＳ３０（図１４参照）に戻り、遷移リストについてステップＳ３０以降の処理を実行する。一方、対策情報が出力されたと判定した場合（Ｓ１５０、Ｙｅｓ）、支援装置１は処理を終了する。
【００６０】
図１４，ステップＳ６０に戻り、遷移リスト上の次イベントに対する遷移先があると判定した場合（Ｓ６０、Ｎｏ）の処理について説明する。遷移リスト上の次イベントに対する遷移先があると判定した場合（Ｓ６０、Ｎｏ）、支援装置１、より詳しくは検査結果一覧生成部６０は遷移リスト上の次イベントの状態と、クリティカルイベント遷移先状態の遷移リストの次イベントの状態が同じか否かを判定する（Ｓ８０）。
【００６１】
次イベントの状態が同じであると判定した場合（Ｓ８０、Ｙｅｓ）、支援装置１、より詳しくは検査結果一覧生成部６０は前述したステップＳ１５０に進む。一方、次イベントの状態が同じでないと判定した場合（Ｓ８０、Ｎｏ）、支援装置１、より詳しくは検査結果一覧生成部６０は、遷移リストの遷移先が遷移元と同状態であるか否かを判定する（Ｓ９０）。遷移リストの遷移先が遷移元と同状態であると判定した場合（Ｓ９０、Ｙｅｓ）、支援装置１、より詳しくは検査結果一覧生成部６０は、対策レベル２（前述の「補正の仕方（２）」に相当する）を指定する（Ｓ１１０）。一方、遷移リストの遷移先が遷移元と同状態でないと判定した場合（Ｓ９０、Ｎｏ）、支援装置１、より詳しくは検査結果一覧生成部６０は、は対策レベル１（前述の「補正の仕方（１）」を指定する（Ｓ１００）。
対策レベル１或いは対策レベル２を指定した後、支援装置１は前述したステップＳ１２０に進み、以降同様にステップＳ１３０以降の処理を実行する。
以上で、支援装置の動作の説明を終了する。
【００６２】
［まとめ］
本実施形態によれば、実機上で発生するイベントが、ソフトウェア上において取得ミスする可能性を鑑みて、状態遷移設計の制御仕様の抜けもれを評価し、ロバスト性を向上させるための方式を与えることができる。
【００６３】
本実施形態によれば、（１）実際に発生しているイベントの取得ミスが起きても、制御仕様が問題なく実行できるようになっているか、（２）イベントの取得ミスが許されない場合は、それを明示した制御仕様になっているか、を確認することが可能となる。
本実施形態は、実際に発生したイベント系列の遷移先と、イベントの取得ミスが生じた場合の遷移先を比較し、ロバスト性を向上されるための情報を与えるものである。
【００６４】
［変形例］  
本実施形態は、以下の変形を行っても成立する。  
１．実機上のイベントモデルに対する外乱として、イベントの抜けを対象としたが、以下の外乱に対しても拡張できる
ノイズイベントの除去（チャタリング、雑音等）
２．イベントモデルの記述方法は以下に拡張できる
イベントを発生する外部機器を状態遷移モデルとして記述する。これにより、クリティカルイベントを時間制約や、状態遷移制約を用いた情報として拡張できる。
以上、本発明の実施の形態を説明したが、本発明はこれらに限定されるものではなく、発明の趣旨を逸脱しない範囲内において、種々の変更、追加、組み合わせ等が可能である。
【符号の説明】
【００６５】
１…支援装置；  １０…状態遷移情報生成部；  ２０…遷移リスト生成部；  ３０…遷移先状態遷移リスト生成部；  ４０…イベント遷移情報生成部；  ５０…次イベント抽出部；  ６０…検査結果一覧生成部；  ７０…状態遷移情報書換部
【図１】
0005611679.tif 000002
【図２】
0005611679.tif 000003
【図３】
0005611679.tif 000004
【図４】
0005611679.tif 000005
【図５】
0005611679.tif 000006
【図６】
0005611679.tif 000007
【図７】
0005611679.tif 000008
【図８】
0005611679.tif 000009
【図９】
0005611679.tif 000010
【図１０】
0005611679.tif 000011
【図１１】
0005611679.tif 000012
【図１２】
0005611679.tif 000013
【図１３】
0005611679.tif 000014
【図１４】
0005611679.tif 000015
【図１５】
0005611679.tif 000016
【図１６】
0005611679.tif 000017