"入出力順序系列仕様を表すデータにおける条件分岐と処理に、イベント及びアクションを特定する情報を付し、分岐の無い一本のパスにアクション実行パス状態を特定する情報を付し、一つのアクション実行パス状態について一つのレコードを有し、各レコードはイベント、前イベント、アクション系列を有する情報である状態定義レコード表を生成する第1の生成手段と、前記状態定義レコード表に基づいて、前記状態定義レコード表に含まれるアクション実行パス状態ごとに一つのレコードを有し、各レコードは、前記状態定義レコード表に含まれる各イベントに対応するフィールドを有する情報である状態遷移表を生成する第2の生成手段とを有する状態遷移表生成装置。入出力順序系列仕様を表すデータにおける条件分岐と処理に、イベント及びアクションを特定する情報を付し、条件分岐にアクション実行パス状態を特定する情報を付し、一つのアクション実行パス状態について一つ以上のレコードを有し、各レコードはイベント、前イベント、アクション系列を有する情報である状態定義レコード表を生成する第1の生成手段と、前記状態定義レコード表に基づいて、前記状態定義レコード表に含まれるアクション実行パス状態ごとに一つのレコードを有し、各レコードは、前記状態定義レコード表に含まれる各イベントに対応するフィールドを有する情報である状態遷移表を生成する第2の生成手段とを有する状態遷移表生成装置。前記第2の生成手段は、前記状態定義レコード表の処理対象レコードにおける前イベントに対するアクション実行パス状態を有する状態定義レコード群を抽出し、処理対象レコードにおける前イベントに記述されたイベントをイベント欄に有する状態定義レコードのアクション実行パス状態欄に記載されたアクション実行パス状態に一致するインデックスを有する行と、処理対象レコードのイベント欄に記載されたイベントに一致するインデックスを有する列との交点となるセルである処理対象セルの状態欄に、処理対象レコードのアクション実行パス状態欄に記載されているアクション実行パス状態を書き込み、処理対象レコードのアクション系列欄にアクションの記述があれば、そのアクションを上記処理対象セルのアクション欄に書き込むことにより、状態遷移表を生成する請求項1又は2に記載の状態遷移表生成装置。従来の支援ツールでは、入力情報として特定の表現図又は仕様情報のみをサポートしている。従って利用する支援ツールがどのような形式の入力仕様をサポートしているかによって、利用制限がかかってしまう。例えば、仕様を主にフローチャートで記述している場合は、状態遷移図状態遷移表ベースの支援ソフトは利用できないという問題点があった。本発明の目的は、フローチャートのような時系列の順序形式で記述された仕様書に対応する状態遷移表を作成するが、当該状態遷移表を用いたモデル検査を行った結果がフローチャートとの対応関係を維持し、仕様の誤りを容易に発見することを可能とする点にある。一の実施の形態によれば、状態遷移表生成装置が提案される。この状態遷移表生成装置は、第1の生成手段と、第2の生成手段とを有する。第1の生成手段は、入出力順序系列仕様を表すデータにおける条件分岐と処理に、イベント及びアクションを特定する情報を付し、分岐の無い一本のパスにアクション実行パス状態を特定する情報を付し、一つのアクション実行パス状態について一つのレコードを有し、各レコードはイベント、前イベント、アクション系列を有する情報である状態定義レコード表を生成する。第2の生成手段は、前記状態定義レコード表に基づいて、前記状態定義レコード表に含まれるアクション実行パス状態ごとに一つのレコードを有し、各レコードは、前記状態定義レコード表に含まれる各イベントに対応するフィールドを有する情報である状態遷移表を生成する。以下、図面を参照して本発明の実施の形態に係る状態遷移表生成装置を説明する。第1の実施の形態図1は、第1の実施の形態にかかる状態遷移表生成装置及び、この状態遷移表生成装置によって出力される状態遷移表を用いたモデル検査の流れを示した図である。モデル検査の実施を行うユーザ或いはオペレータなど、以下同じは、まず入出力順序系列仕様を用意する。ここで、入出力順序系列仕様とは、時系列の順序形式で記述された仕様書をいい、例えばフローチャートなどである。ユーザは入出力順序系列仕様10を状態遷移表生成装置11に入力する。状態遷移表生成装置11は、入出力順序系列仕様10のデータを状態遷移表生成処理方法によって処理し、その処理結果として状態遷移表12を生成し、出力する。ユーザは状態遷移表12に基づいて検査用コード13を作成するとともに、検査式14を作成する。ユーザは検査用コード13及び検査式14をモデル検査器15に入力する。モデル検査器15はモデル検査処理を実行し、反例16を出力する。ユーザは反例を解析することにより、問題点を発見し、検査用コード13を修正し、この修正済みの検査用コード13をモデル検査器15によってさらに検査し、問題点をつぶすように、検査用コード13の改善を行う。図2は、状態遷移表生成装置11の構成例を示す機能ブロック図である。なお、図2に示した各構成要素は、状態遷移表生成装置11を機能ごとのまとまりとしてとらえた要素であって、実際の状態遷移表生成装置11が各構成様相に相当するハードウエア回路、モジュール、ユニットなどを備えていることを必要とすることを示すものではない。状態遷移表生成装置11は、例えばコンピュータ、ワークステーションなどの情報処理装置によって実現される装置である。この情報処理装置は、演算処理装置CPU、主メモリRAM、読出し専用メモリROM、入出力装置I/O、及び必要な場合にはハードディスク装置等の外部記憶装置を具備している装置である。状態遷移表生成装置11は、入出力順序系列仕様記憶部21と、本実施の形態のだ第の生成手段に相当する状態定義レコード表生成部22と、本実施の形態の第1の生成手段に相当する状態遷移表生成部23と、イベント/アクション定義レコード表生成部24とを有する。入出力順序系列仕様記憶部21は状態定義レコード表生成部22に接続されており、状態定義レコード表生成部22は状態遷移表生成部23に接続されており、イベント/アクション定義レコード表生成部24は状態遷移表生成部23に接続されている。ここで接続されているとは、データ、情報、命令などの授受が可能な状態になっていることをいい、配線で連結されているような物理的な接続に限られる意味ではない。入出力順序系列仕様記憶部21は、ユーザによって入力された入出力順序系列仕様を記憶する機能を有する。入出力順序系列仕様は状態定義レコード表生成部22が読み取り可能な形式、フォーマットなどであればどのようなデータとして保存されていてもよい。状態定義レコード表生成部22は、入出力順序系列仕様を表すデータを入出力順序系列仕様記憶部21から受信し、後述する状態定義レコード表生成処理を実行することにより状態定義レコード表を表すデータを生成し、出力する機能を有する。状態遷移表生成部23は、状態定義レコード表生成部22から状態定義レコード生成部22から状態定義レコード表を表すデータを受信し、後述する状態遷移表生成処理を実行することにより、状態遷移表を表すデータを生成し、出力する機能を有する。イベント/アクション定義レコード表生成部24は、入出力順序系列仕様に含まれるイベント、アクションに付したラベル符号と、当該ラベルの内容を示す文や単語とを対応付けしたデータであるイベント/アクション定義レコード表を生成し、記憶する機能を有する。状態定義レコード表生成処理以下に、図3A,図3Bを参照しながら状態定義レコード表生成処理の例を説明する。図3Aは、状態定義レコード表生成処理の例を示したフローチャート、図3Bは図3Aに続くフローチャートである。なお、本説明においては、入出力順序系列仕様10はフローチャートであるものとして説明する。まず、状態定義レコード表生成部22は、フローチャートの条件分岐、処理の各要素にそれぞれイベントとアクションの番号付けをするS10。すなわち、条件分岐処理にはイベントの番号付けをし、アクション通常処理にはアクションの番号付けを行う。次に、状態定義レコード表生成部22は、状態定義レコード表を生成する。状態定義レコード表は、一つのアクション実行パス状態について一つのレコードを有し、各レコードはイベント、前イベント、アクション系列という3つのフィールドを有する情報である。状態定義レコード表生成部22は、フローチャートの最初の要素であるStartを読み取ると、アクション実行パス状態欄にState0を格納し、且つそのイベント欄にイベント名Startと格納したレコードを状態定義レコード表に加えるS20。次に、状態定義レコード表生成部22は、終了End以外の全ての要素を読み込み済みで且つ状態定義済みか否かを判定するS30。終了End以外の全ての要素を読み込み済みである場合には、状態定義レコード表生成部22は現在の状態数を含む状態名をアクション実行パス状態欄に格納し、且つイベント欄にEndを格納した新たな状態定義レコードを生成し、状態定義レコード表に追加するS110。次に、状態定義レコード表生成部22は、登録した或いは登録済みイベントの前イベントに、前記2つのレコードの直前に状態を定義したレコードのイベントを登録するS120。一方、終了End以外の全ての要素を読み込み済みでない場合S30、No、状態定義レコード表生成部22は、フローチャートの連結部分から一要素を読み取るS40。次に、状態定義レコード表生成部22は、読み取った要素が条件分岐か否かを判定するS50。その要素が条件分岐ではないと判定した場合S50,No、状態定義レコード表生成部22は、その要素処理を当該条件のイベントに対するアクションとして、読み取った要素の要素番号ラベルともいうを状態定義レコード表に登録するS60。その後、先に述べたステップS30に戻り、処理を続行する。一方、ステップS50においてその要素が条件分岐であると判定した場合S50,Yes、状態定義レコード表生成部22は、当該条件分岐によって生じる状態を定義する状態名を状態定義レコード表に登録するS70。ここで状態とは、アクション実行パスであって、ある条件分岐から次の条件分岐に至るまでのフローチャート上の経路パスに相当する。本例では状態名はState状態レコード数というフォーマットで記述するものとする。なお、本例では、上記経路を状態として扱っているが、条件分岐ごと状態として扱っても実施可能である。この場合経路は状態の区別に関係しない。次に、状態定義レコード表生成部22は、その条件分岐がイベントとして状態定義レコード表に登録済みであるか否かを判定するS80。その条件分岐がイベントとして状態定義レコード表に登録済みではないと判定した場合S80、No、状態定義レコード表生成部22は、状態定義レコード表に新たに状態定義レコードを2つ作成し、その条件分岐のTRUEに対応するイベントを一方のレコードのイベント欄に登録し、他方のレコードにその条件分岐のFALSEに対応するイベントを登録するS90。次に、状態定義レコード表生成部22は、登録した或いは登録済みイベントの前イベントに、前記2つのレコードの直前に状態を定義したレコードのイベントを登録するS100。その後ステップS30に戻り、処理を続行する。一方、ステップS80においてその条件分岐がイベントとして状態定義レコード表に登録済みであると判定した場合S80,Yes、状態定義レコード表生成部22は、ステップS90を行うこと無く、ステップS100を実行する。以上で状態定義レコード表生成処理の説明を終了する。具体例上記状態定義レコード表生成処理の具体例を示す。図4は、本具体例において上記状態定義レコード表の元となる入出力順序系列仕様10であるフローチャート処理対象フローチャートと呼ぶである。図5は、図4の処理対象フローチャートから生成された状態定義レコード表の例を示した図である。以下、図3、図4、図5を参照しながら状態定義レコード表生成処理の具体例を説明する。処理対象フローチャートの内容は以下の通りである。まず、初めに第1の条件分岐であるステップS101がある。条件分岐ステップS101のTrueに対応するアクションであるステップS102があり、ステップS102に続く別のアクションであるステップS102がある。また、条件分岐ステップS101のFalseに対応するアクションはステップS103である。ステップS103に続いて第2の条件分岐であるステップS104がある。条件分岐ステップS104のTrueに対応するアクションとしてアクションであるステップS105があり、ステップS105の後この処理対象フローチャートの処理はEndに到達する。また、第2の条件分岐のステップS104のFalseに対応するのは、Endとなる。さて、この処理対象フローチャートに基づいて状態定義レコード表の作成処理を行う。まず、状態定義レコード表生成部22は、フローチャートの条件分岐、処理の各要素にそれぞれイベントとアクションの番号付けをする図3、S10。具体的には、第1の条件分岐S101にはイベント番号E1を付与し、第2の条件分岐S104にはイベント番号E2を付与する。また、アクションS102、S103、S104にはそれぞれアクション番号A1、A2、A3を付与する。次に、状態定義レコード表生成部22は、状態定義レコード表を生成し、当該状態定義レコード表の第1のレコードとして、アクション実行パス状態欄にState0が格納され、イベント欄にStartが格納されたレコードを加える図3、S20。次に、状態定義レコード表生成部22は、終了End以外の全ての要素を読み込み済みで且つ状態定義済みか否かを判定する図3、S30。この具体例では、まだいずれの要素も読み込んでいないので、判定はNoとしてステップS40に移行する。次に、状態定義レコード表生成部22は、処理対象フローチャートの連結部分から一要素を読み取る図3、S40。この例では処理対象フローチャートの要素Startを読み込む。次に、状態定義レコード表生成部22は、読み取った要素が条件分岐か否かを判定する図3、S50。この例では要素Startは条件分岐ではないと判定される図3、S50、No。次に、状態定義レコード表生成部22は、その要素処理を当該条件のイベントに対するアクションとして、読み取った要素の要素番号を状態定義レコード表に登録する図3、S60。具体的には、図5に示した状態定義レコード表の第1行のアクション実行パス状態欄にState0と記述し、同第1行のイベント欄に読み取った要素の要素番号であるStartを記述する。次に、状態定義レコード表生成部22は、ステップS30の判定後、処理対象フローチャートの連結部分から次の一要素を読み取る図3、S40。この例では処理対象フローチャートの要素E1を読み込む。次に、状態定義レコード表生成部22は、読み取った要素が条件分岐か否かを判定する。この例では要素E1は条件分岐であると判定される図3、S50、Yes。次に、状態定義レコード表生成部22は、当該条件分岐によって生じる状態を定義する状態名を決定する図3、S70。この例では、状態定義レコード表生成部22は、条件分岐E1のTrueにおける経路E1からA1,A2を経由してE2に至る経路を状態名State1と定め、また条件分岐E1のFalseにおける経路E1からA2を経由してE2に至る経路を状態名State2と定める。次に、状態定義レコード表生成部22は、その条件分岐がイベントとして状態定義レコード表に登録済みであるか否かを判定する図3、S80。この例では、条件分岐E1は未だ状態定義レコード表に登録済みではないと判定し図3、S80、No、ステップS90に移行する。ステップS90において、状態定義レコード表生成部22は、状態定義レコード表に新たに状態定義レコードを2つ作成し、その条件分岐のTrueに対応するイベントを一方のレコードのイベント欄に登録し、他方のレコードにその条件分岐のFalseに対応するイベントを登録する。この例では、状態定義レコード表生成部22は、図5の状態定義レコード表において、第2行と第3行を作成し、第2行のアクション実行パス状態欄にState1を記述するとともにイベント欄にE1Trueを記述する。またさらに状態定義レコード表生成部22は、第3行のアクション実行パス状態欄にState2と記述するとともにイベント欄にE1Falseを記述する。次に、状態定義レコード表生成部22は、登録した或いは登録済みイベントの前イベントに、前記2つのレコードの直前に状態を定義したレコードのイベントを登録する図3、S100。この例では、状態定義レコード表生成部22は、直前に登録したイベントであるE1True第2行、E1False第3行に対応する前イベント欄に、直前に状態を定義したレコード第1行のイベント欄に記述されたイベントStartを記述する。次に、状態定義レコード表生成部22は、ステップS30に戻りその後ステップS40において、要素E1の次の要素A1を読み取る図3、S40。次に、状態定義レコード表生成部22は、読み取った要素が条件分岐か否かを判定する。この例では要素A1は条件分岐ではないと判定される図3、S50、No。次に、状態定義レコード表生成部22は、その要素処理を当該条件のイベントに対するアクションとして、読み取った要素の要素番号を状態定義レコード表に登録する図3、S60。具体的には、図5に示した状態定義レコード表の第2行のアクション系列欄にA1と記述する。次に、状態定義レコード表生成部22は、ステップS30に戻りその後ステップS40において、要素A1の次の要素A2を読み取る図3、S40。次に、状態定義レコード表生成部22は、読み取った要素が条件分岐か否かを判定する図3、S50。この例では要素A2は条件分岐ではないと判定される図3、S50、No。次に、状態定義レコード表生成部22は、その要素処理を当該条件のイベントに対するアクションとして、読み取った要素の要素番号を状態定義レコード表に登録する図3、S60。具体的には、図5に示した状態定義レコード表の第2行のアクション系列欄にA2を追加するように記述する。次に、状態定義レコード表生成部22は、ステップS30に戻りその後ステップS40において、処理対象フローチャートにおける要素A2の次の要素E2を読み取る図3、S40。次に、状態定義レコード表生成部22は、読み取った要素が条件分岐か否かを判定する図3、S50。この例では要素E2は条件分岐であると判定される図3、S50、Yes。次に、状態定義レコード表生成部22は、当該条件分岐によって生じる状態を定義する状態名を決定するS70。この例では、状態定義レコード表生成部22は、条件分岐E2のTrueにおける経路E2からA3を経由してEndに至る経路を状態名State3と定め、また条件分岐E2のFalseにおける経路E2からEndに至る経路を状態名State4と定める。次に、状態定義レコード表生成部22は、その条件分岐がイベントとして状態定義レコード表に登録済みであるか否かを判定する図3、S80。この例では、条件分岐E2は未だ状態定義レコード表に登録済みではないと判定し図3、S80、No、ステップS90に移行する。ステップS90において、状態定義レコード表生成部22は、図5に示す状態定義レコード表に新たに状態定義レコードを2つ追加し、その条件分岐のTrueに対応するイベントを一方のレコードのイベント欄に登録し、他方のレコードにその条件分岐のFalseに対応するイベントを登録する。この例では、状態定義レコード表生成部22は、状態定義レコード表に第4行と第5行を作成し、第4行のアクション実行パス状態欄にState3を記述するとともにイベント欄にE2Trueを記述する。またさらに状態定義レコード表生成部22は、第5行のアクション実行パス状態欄にState4と記述するとともにイベント欄にE2Falseを記述する。次に、状態定義レコード表生成部22は、登録した或いは登録済みイベントの前イベントに、前記2つのレコードの直前に状態を定義したレコードのイベントを登録する図3、S100。この例では、状態定義レコード表生成部22は、第4行及び第5行の登録の直前に登録したレコード第2行、第3行に相当するレコードのイベント欄に記述されたE1True第2行及びE1False第3行を第4行、第5行の前イベント欄に記述する。次に、状態定義レコード表生成部22は、ステップS30に戻りその後ステップS40において、要素E2の次の要素A3を読み取る図3、S40。次に、状態定義レコード表生成部22は、読み取った要素が条件分岐か否かを判定する図3、S50。この例では要素A3は条件分岐ではないと判定されるS50、No。次に、状態定義レコード表生成部22は、その要素処理を当該条件のイベントに対するアクションとして、読み取った要素の要素番号を状態定義レコード表に登録する図3、S60。具体的には、図5に示した状態定義レコード表の第4行のアクション系列欄にA3を記述する。次に、状態定義レコード表生成部22は、ステップS30に戻り終了End以外の全ての要素を読み込み済みか否かを判定するS30。この例では、状態定義レコード表生成部22は、終了End以外の全ての要素を読み込み済みであると判定しS30、Yes、図3BのステップS110に進む。ステップS110において、状態定義レコード表生成部22は現在の状態数を含む状態名をアクション実行パス状態欄に格納し、且つイベント欄にEndを格納した新たな状態定義レコードを生成し、状態定義レコード表に追加するS110。この例では、第6行のレコードに相当する。次に、状態定義レコード表生成部22は、登録した或いは登録済みイベントの前イベントに、前記2つのレコードの直前に状態を定義したレコードのイベントを登録するS120。この例では、状態定義レコード表生成部22は、第6行の登録の直前に登録したレコード第4行、第5行に相当するレコードのイベント欄に記述されたE2True第4行及びE2False第5行を第6行の前イベント欄に記述する。図4に示したフローチャートに基づく状態定義レコード表が完成する。以上で、状態定義レコード表生成処理の説明を終了する。状態遷移表生成処理次に、状態定義レコード表から状態遷移表を生成する処理である、状態遷移表生成処理について説明する。図6は、状態遷移表生成処理の一例を示したフローチャートである。以下、このフローチャートを参照しながら状態遷移表生成処理について説明する。状態定義レコード表生成部22によって生成された状態定義レコード表を取得した状態遷移表生成部23は、状態定義レコード表のアクション実行パス状態欄に記述された内容を、状態遷移表の各行のインデックスとして状態遷移表に記述し、且つ状態定義レコード表のイベント欄に記述された内容を各列のインデックスとして状態遷移表に記述するS201。次に、状態遷移表生成部23は、状態定義レコード表の最初の状態定義レコードを書き込むステップS211。このステップS211終了後、状態遷移表生成部23は状態遷移表生成処理を終了する。一方、ステップS203において全ての状態定義レコードを読み終えていないと判定した場合S203、No、状態遷移表生成部23は、現在処理している状態定義レコード以下、処理対象レコードと呼ぶのアクション実行パス状態欄に記述されている情報がState0でないか否かを判定するS204。ステップS204において処理対象レコードのアクション実行パス状態欄の記述がState0であると判定した場合S204、No、状態遷移表生成部23は次の状態定義レコードを処理対象レコードとするS205。その後ステップS203に戻る。一方、ステップS204において処理対象レコードのアクション実行パス状態がState0でないと判定した場合S204、Yes、状態遷移表生成部23は処理対象レコードを読み取るS206。状態遷移表生成部23はS206において読み取った処理対象レコードの前イベント欄に何らかのイベントが記述されているか否かを判定するS207。ステップS207において、前イベント欄に何のイベントも記述されていないと判定した場合S207、No、状態遷移表生成部23は、前イベントに対するアクション実行パス状態をState0に決定するS208。このState0は後述する処理対象セルを決定するための情報として用いられる。ステップS208実行後、状態遷移表生成部23は、状態定義レコード表から、前イベントに対するアクション実行パス状態を有する状態定義レコード群を抽出するS209。より具体的には、状態遷移表生成部23は、状態定義レコード表の全ての状態定義レコードのうち、処理対象レコードの前イベント欄に記載されたイベントと同一のイベントをイベント欄に有する状態定義レコードを全て抽出する。この抽出された行を抽出レコードと呼ぶこととする。また、処理対象レコードにおいて前イベント欄に記載が無い場合は、状態遷移表におけるInit行を、処理対象セルを定めるための行とする。次に、状態遷移表生成部23は、前イベントに対するアクション実行パス状態群に対するイベントの状態遷移先として、イベントに対するアクション実行パス状態を定義するS210。より具体的には、状態遷移表生成部23は、状態遷移表において、処理対象レコードにおける前イベントに記述されたイベントをイベント欄に有する状態定義レコードのアクション実行パス状態欄に記載されたアクション実行パス状態に一致するインデックスを有する行と、処理対象レコードのイベント欄に記載されたイベントに一致するインデックスを有する列との交点となるセル処理対象セルと呼ぶの状態欄に、処理対象レコードのアクション実行パス状態欄に記載されているアクション実行パス状態を書き込む。また、処理対象レコードのアクション系列欄にアクションの記述があれば、そのアクションを上記処理対象セルのアクション欄に書き込む。ステップS210終了後、状態遷移表生成部23はステップS205に戻る。一方、前述のステップS207において、前イベント欄にイベントが記述されていると判定した場合S207、Yes、状態遷移表生成部23は直ちにステップS209に進む。以上で、状態遷移表作成処理の説明を終了する。状態遷移表作成処理の具体例次に、上述した状態遷移表作成処理について、具体例を挙げて説明する。図7は、本実施の形態の状態定義レコード表生成部22が生成した状態定義レコード表の一例を示す図であり、図17は図7に示した状態定義レコード表に基づいて、本実施の形態の状態遷移表生成部23が生成した状態遷移表の例を示す図である。また、図8から図16は図17に示した状態遷移表を完成させる過程を示した図である。以下、状態遷移表作成処理によりどのように図7に示した状態定義レコード表から図17に示した状態遷移表が生成されるかを図6から図17を参照しながら説明する。状態定義レコード表生成部22によって生成された状態定義レコード表を取得した状態遷移表生成部23は、図7の状態定義レコード表のアクション実行パス状態欄に記述された内容であるState0、State1、State2、State3、State4、State5及びこれらに加えてInitを、状態遷移表の最左列の各セルに記述し、また状態定義レコード表のイベント欄左端から2番目の列の各セルに記述された内容であるStart、E1true、E1false、E2true、E2false、Endを状態遷移表の最上行の各セルに各列のインデックスとして記述する図6、S201参照。次に、状態遷移表生成部23は、状態定義レコード表の第1行の状態定義レコードを読む図6、S202。第1行の状態定義レコードはこの時点での処理対象レコードとなる。図8は、状態とイベントがインデックスとして記述される前の状態遷移表の例を示した図、図9は図8の状態遷移表に状態とイベントがインデックスとして記述された状態を示した図である。次に、状態遷移表生成部23は、状態定義レコード表の全ての状態定義レコードを読み終えたか否かを判定する図6、S203。本具体例では、状態遷移表生成部23は全ての行を読み終えていないと判定する図6、S203、No。次に状態遷移表生成部23は処理対象レコードのアクション実行パス状態のセルに記述されている情報がState0でないか否かを判定する図6、S204。本具体例では、状態遷移表生成部23はステップS203において処理対象レコードにおけるアクション実行パス状態欄のセルに記述された情報はState0であると判定し、ステップS205に進むS204、No。ここで、状態遷移表生成部23はアクション実行パス状態にInitが記載された行と、処理対象レコードのイベント欄に記載されたイベントStartに一致するインデックスを有する列との交点となるセル処理対象セルと呼ぶの状態欄に、処理対象レコードのアクション実行パス状態欄に記載されているアクション実行パス状態State0を書き込む。図10に、図9の状態の後上記処理でState0が書き込まれた状態の状態遷移表の例を示す。状態定義レコード表、第2行の処理ステップS205では、状態遷移表生成部23は状態定義レコード表の次のレコードを処理対象レコードにする図6、S205。本具体例では、図7の状態定義レコード表の第2行、アクション実行パス状態欄のセルがState1である状態定義レコードが新たな処理対象レコードに決定される。次に、状態遷移表生成部23は、取得した状態定義レコード表の全ての行レコードを読み終えたか否かを判定する図6、S203。本具体例では、状態遷移表生成部23は全ての行を読み終えていないと判定する図6、S203、No。次に状態遷移表生成部23は状態定義レコード表の処理対象レコードのアクション実行パス状態のセルに記述されている情報がState0でないか否かを判定する図6、S203。本具体例では、処理対象レコードのアクション実行パス状態のセルはState1であるので、ステップS206に進む。ステップS206において、状態遷移表生成部23は処理対象レコードを読む。本具体例では、状態定義レコード表の第2行、アクション実行パス状態欄のセルがState1である状態定義レコードが読み取られる。次に、状態遷移表生成部23は、処理対象レコードにおける前イベント欄に記述されたイベントがあるか否かを判定する図6、S207。本具体例では、状態定義レコード表の第2行の前イベント欄には、イベントStartの記述があるので、ステップS209へと進む。状態遷移表生成部23は、状態定義レコード表から、前イベントに対するアクション実行パス状態を有する状態定義レコード群を抽出する図6、S209。抽出されたレコード群を抽出レコード群と呼ぶこととする。本具体例では、状態定義レコード表においてイベントStartがイベント欄に記述されている状態定義レコードが抽出され、抽出レコード群は第1行の状態定義レコードのみである。次に、状態遷移表生成部23は、状態遷移表において、抽出レコード群のアクション実行パス状態欄に記載されたアクション実行パス状態に一致するインデックスを有する行と、処理対象レコードのイベント欄に記載されたイベントに一致するインデックスを有する列との交点となるセル処理対象セルと呼ぶの状態欄に、処理対象レコードのアクション実行パス状態欄に記載されているアクション実行パス状態を書き込む図6、S210のであるが、抽出レコードである第1行のアクション実行パス状態欄に記載されているアクション実行パス状態はState0である。また、処理対象レコードのイベント欄に記載されたイベントはE1Trueである。よって、状態遷移表における処理対象セルは、State0をインデックスとする第2行と、E1Trueをインデックスとする左端から第2列との交点であるセルに決定される。状態遷移表生成部23はこの処理対象セルの状態欄セル内上側に、処理対象レコードのアクション実行パス状態欄に記載されているアクション実行パス状態State1を書き込む。さらに状態遷移表生成部23は処理対象セルのアクション欄セル内下側に、処理対象レコードのアクション系列欄に記述されているアクションA1A2を上記処理対象セルのアクション欄セル内下側に書き込む図6、S210参照。状態State1及びアクションA1A2が処理対象セルに書き込まれた状態の状態遷移表の例を図11に示す。状態定義レコード表、第3行の処理次に状態遷移表生成部23はステップS205に進み、状態定義レコード表の次のレコードを処理対象レコードにする図6、S205。本具体例では、図5の状態定義レコード表の第3行、アクション実行パス状態欄のセルがState2である状態定義レコードが新たな処理対象レコードに決定される。次に、状態遷移表生成部23は、取得した状態定義レコード表の全ての行レコードを読み終えたか否かを判定する図6、S203。本具体例では、状態遷移表生成部23は全ての行を読み終えていないと判定するS203、No。次に状態遷移表生成部23は状態定義レコード表の処理対象レコードアクション実行パス状態のセルに記述されている情報がState0でないか否かを判定する図6、S203。本具体例では、処理対象レコードのアクション実行パス状態欄の記述はState2であるので、ステップS206に進む。ステップS206において、状態遷移表生成部23は処理対象レコードを読む。本具体例では、状態定義レコード表の第3行、アクション実行パス状態欄のセルがState2である状態定義レコードが読み取られる。次に、状態遷移表生成部23は、処理対象レコードにおける前イベント欄に記述されたイベントがあるか否かを判定するS207。本具体例では、状態定義レコード表の第3行の前イベント欄には、イベントStartの記述があるので、ステップS209へと進む。状態遷移表生成部23は、状態定義レコード表から、前イベントに対するアクション実行パス状態を有する状態定義レコード群を抽出する図6、S209。本具体例では、状態定義レコード表においてイベントStartがイベント欄に記述されている状態定義レコードが抽出レコード群として抽出され、抽出レコード群は第1行の状態定義レコードのみである。次に、状態遷移表生成部23は、状態遷移表において、抽出レコード群のアクション実行パス状態欄に記載されたアクション実行パス状態に一致するインデックスを有する行と、処理対象レコードのイベント欄に記載されたイベントに一致するインデックスを有する列との交点となる処理対象セルの状態欄に、処理対象レコードのアクション実行パス状態欄に記載されているアクション実行パス状態を書き込み、同処理対象セルのアクション欄に、処理対象レコードのアクション系列欄に記載されたアクションを記述するS210参照。本具体例では、抽出レコード群は状態定義レコード表の第1行のみであり、その第1行のアクション実行パス状態欄に記載されているアクション実行パス状態はState0である。また、処理対象レコードのイベント欄に記載されたイベントはE1Falseである。よって、状態遷移表における処理対象セルは、State0をインデックスとする第2行と、E1Falseをインデックスとする左端から第3列との交点であるセルに決定される。状態遷移表生成部23はこの処理対象セルの状態欄セル内上側に、処理対象レコードのアクション実行パス状態欄に記載されているアクション実行パス状態State2を書き込む。状態遷移表生成部23は処理対象セルのアクション欄セル内下側に、処理対象レコードのアクション系列欄に記述されているアクションを上記処理対象セルのアクション欄セル内下側に書き込むのであるが、処理対象レコードアクション系列欄は空欄であるので、上記処理対象セルのアクション欄は空欄のままとなる。S210参照。処理対象セルに上記State2が記述され、アクション欄は空欄のままとされた状態の状態遷移表の例を図12に示す。状態定義レコード表、第4行の処理次に状態遷移表生成部23はステップS205に進み、状態定義レコード表の次のレコードを処理対象レコードにする図6、S205。本具体例では、図5の状態定義レコード表の第4行、アクション実行パス状態欄のセルがState3である状態定義レコードが新たな処理対象レコードに決定される。次に、状態遷移表生成部23は、取得した状態定義レコード表の全ての行レコードを読み終えたか否かを判定する図6、S203参照。本具体例では、状態遷移表生成部23は全ての行を読み終えていないと判定する図6、S203、No。次に状態遷移表生成部23は処理対象レコードアクション実行パス状態のセルに記述されている情報がState0でないか否かを判定する図6、S203。本具体例では、処理対象レコードのアクション実行パス状態欄の記述はState3であるので、ステップS206に進む。ステップS206において、状態遷移表生成部23は処理対象レコードを読む。本具体例では、状態定義レコード表の第4行、アクション実行パス状態欄のセルがState3である状態定義レコードが読み取られる。次に、状態遷移表生成部23は、処理対象レコードにおける前イベント欄に記述されたイベントがあるか否かを判定する図6、S207。本具体例では、状態定義レコード表の第4行の前イベント欄には、イベントE1True及びE1Falseの記述があるので、ステップS209へと進む。状態遷移表生成部23は、状態定義レコード表から、前イベントに対するアクション実行パス状態を有する状態定義レコード群を抽出するS209参照。本具体例では、状態定義レコード表においてイベントE1True及びE1Falseがイベント欄に記述されている状態定義レコードが抽出され、抽出レコードはE1Trueについて第2行の状態定義レコードのみ、E1Falseについて第3行の状態定義レコードのみである。次に、状態遷移表生成部23は、状態遷移表において、抽出レコード群のアクション実行パス状態欄に記載されたアクション実行パス状態に一致するインデックスを有する行と、処理対象レコードのイベント欄に記載されたイベントに一致するインデックスを有する列との交点となる処理対象セルの状態欄に、処理対象レコードのアクション実行パス状態欄に記載されているアクション実行パス状態を書き込み、同処理対象セルのアクション欄に、処理対象レコードのアクション系列欄に記載されたアクションを記述する図6、S210参照。状態定義レコード表においてE1Trueについての抽出レコード群は第2行のみであり、その第2行のアクション実行パス状態欄に記載されているアクション実行パス状態はState1である。また、処理対象レコードのイベント欄に記載されたイベントはE2Trueである。よって、状態遷移表における処理対象セルは、State1をインデックスとする第3行と、E2Trueをインデックスとする左端から第4列との交点であるセルに決定される。状態遷移表生成部23はこの処理対象セルの状態欄セル内上側に、処理対象レコードのアクション実行パス状態欄に記載されているアクション実行パス状態State3を書き込む。さらに状態遷移表生成部23は処理対象セルのアクション欄セル内下側に、処理対象レコードのアクション系列欄に記述されているアクションを上記処理対象セルのアクション欄セル内下側に書き込むのであるが、処理対象レコードアクション系列欄にはアクションA3が記述されているので、上記処理対象セルのアクション欄にA3を記述する。S210参照。次に、もう一つのイベントであるE1Falseについての抽出レコード群の処理に付いて述べる。状態定義レコード表においてE1Falseについての抽出レコードは第3行のみであり、その第3行のアクション実行パス状態欄に記載されているアクション実行パス状態はState2である。また、処理対象レコードのイベント欄に記載されたイベントはE2Trueである。よって、状態遷移表における処理対象セルは、State2をインデックスとする第4行と、E2Trueをインデックスとする左端から第4列との交点であるセルに決定される。状態遷移表生成部23はこの処理対象セルの状態欄セル内上側に、処理対象レコードのアクション実行パス状態欄に記載されているアクション実行パス状態State3を書き込む。さらに状態遷移表生成部23は処理対象セルのアクション欄セル内下側に、処理対象レコードのアクション系列欄に記述されているアクションを上記処理対象セルのアクション欄セル内下側に書き込むのであるが、処理対象レコードアクション系列欄にはアクションが記述されていないので、上記処理対象セルのアクション欄には何も書き込まれない。S210参照。上記状態定義レコード表、第4行の処理が終了した時点の状態遷移表の状態を図13に示す。状態定義レコード表、第5行の処理次に状態遷移表生成部23はステップS205に進み、状態定義レコード表の次のレコードを処理対象レコードにする図6、S205。本具体例では、図5の状態定義レコード表の第5行、アクション実行パス状態欄のセルがState4である状態定義レコードが新たな処理対象レコードに決定される。次に、状態遷移表生成部23は、状態定義レコード表の全ての行レコードを読み終えたか否かを判定する図6、S203参照。本具体例では、状態遷移表生成部23は全ての行を読み終えていないと判定する図6、S203、No。次に状態遷移表生成部23は状態定義レコード表の処理対象レコードアクション実行パス状態のセルに記述されている情報がState0でないか否かを判定する図6、S203。本具体例では、処理対象レコードのアクション実行パス状態欄の記述はState4であるので、ステップS2066に進む。ステップS206において、状態遷移表生成部23は処理対象レコードを読む。本具体例では、状態定義レコード表の第5行、アクション実行パス状態欄のセルがState4である状態定義レコードが読み取られる。次に、状態遷移表生成部23は、処理対象レコードにおける前イベント欄に記述されたイベントがあるか否かを判定するS207。本具体例では、状態定義レコード表の第5行の前イベント欄には、イベントE1True及びE1Falseの記述があるので、ステップS209へと進む図6、S207、Yes。状態遷移表生成部23は、状態定義レコード表から、前イベントに対するアクション実行パス状態を有する状態定義レコード群を抽出するS209参照。本具体例では、状態定義レコード表においてイベントE1True及びE1Falseがイベント欄に記述されている状態定義レコードが抽出され、E1Trueについての抽出レコード群は第2行の状態定義レコードのみ、E1Falseについての抽出レコード群は第3行の状態定義レコードのみである。次に、状態遷移表生成部23は、状態遷移表において、抽出レコードのアクション実行パス状態欄に記載されたアクション実行パス状態に一致するインデックスを有する行と、処理対象レコードのイベント欄に記載されたイベントに一致するインデックスを有する列との交点となる処理対象セルの状態欄に、処理対象レコードのアクション実行パス状態欄に記載されているアクション実行パス状態を書き込み、同処理対象セルのアクション欄に、処理対象レコードのアクション系列欄に記載されたアクションを記述する図6、S210。状態定義レコード表においてE1Trueについての抽出レコード群は第2行のみであり、その第2行のアクション実行パス状態欄に記載されているアクション実行パス状態はState1である。また、処理対象レコードのイベント欄に記載されたイベントはE2Falseである。よって、状態遷移表における処理対象セルは、State1をインデックスとする第3行と、E2Falseをインデックスとする左端から第5列との交点であるセルに決定される。状態遷移表生成部23はこの処理対象セルの状態欄セル内上側に、処理対象レコードのアクション実行パス状態欄に記載されているアクション実行パス状態State4を書き込む。さらに状態遷移表生成部23は処理対象セルのアクション欄セル内下側に、処理対象レコードのアクション系列欄に記述されているアクションを上記処理対象セルのアクション欄セル内下側に書き込むのであるが、処理対象レコードアクション系列欄には何も記述されていないので、上記処理対象セルのアクション欄は空欄のままとする。図6、S210。次に、もう一つのイベントであるE1Falseについての抽出レコードの処理について述べる。状態定義レコード表においてE1Falseについての抽出レコード群は第3行のみであり、その第3行のアクション実行パス状態欄に記載されているアクション実行パス状態はState2である。また、処理対象レコードのイベント欄に記載されたイベントはE2Falseである。よって、状態遷移表における処理対象セルは、State2をインデックスとする第4行と、E2Falseをインデックスとする左端から第5列との交点であるセルに決定される。状態遷移表生成部23はこの処理対象セルの状態欄セル内上側に、処理対象レコードのアクション実行パス状態欄に記載されているアクション実行パス状態State4を書き込む。さらに状態遷移表生成部23は処理対象セルのアクション欄セル内下側に、処理対象レコードのアクション系列欄に記述されているアクションを上記処理対象セルのアクション欄セル内下側に書き込むのであるが、処理対象レコードアクション系列欄にはアクションが記述されていないので、上記処理対象セルのアクション欄は空欄のままとする。図6、S210。上記状態定義レコード表、第5行の処理が終了した時点の状態遷移表の状態を図14に示す。状態定義レコード表、第6行の処理次に状態遷移表生成部23はステップS205に進み、状態定義レコード表の次のレコードを処理対象レコードにする図6、S205。本具体例では、図5の状態定義レコード表の最終行である第6行、アクション実行パス状態欄のセルがState5である状態定義レコードが新たな処理対象レコードに決定される。次に、状態遷移表生成部23は、状態定義レコード表の全ての行レコードを読み終えたか否かを判定する図6、S203参照。本具体例では、状態遷移表生成部23は全ての行を読み終えていないと判定する図6、S203、No。次に状態遷移表生成部23は状態定義レコード表の処理対象レコードアクション実行パス状態のセルに記述されている情報がState0でないか否かを判定する図6、S203参照。本具体例では、処理対象レコードのアクション実行パス状態欄の記述はState5であるので、ステップS206に進む。ステップS206において、状態遷移表生成部23は処理対象レコードを読む。本具体例では、状態定義レコード表の第3行、アクション実行パス状態欄のセルがState5である状態定義レコードが読み取られる。次に、状態遷移表生成部23は、処理対象レコードにおける前イベント欄に記述されたイベントがあるか否かを判定する図6、S207。本具体例では、状態定義レコード表の第6行の前イベント欄には、イベントE2True及びE2Falseの記述があるので、ステップS209へと進む図6、S207、Yes。状態遷移表生成部23は、状態定義レコード表から、前イベントに対するアクション実行パス状態を有する状態定義レコード群を抽出する図6、S209。本具体例では、状態定義レコード表においてイベントE2True及びE2Falseがイベント欄に記述されている状態定義レコードが抽出され、抽出レコード群はE2Trueについて第4行の状態定義レコードのみ、E2Falseについて第5行の状態定義レコードのみである。次に、状態遷移表生成部23は、状態遷移表において、抽出レコードのアクション実行パス状態欄に記載されたアクション実行パス状態に一致するインデックスを有する行と、処理対象レコードのイベント欄に記載されたイベントに一致するインデックスを有する列との交点となる処理対象セルの状態欄に、処理対象レコードのアクション実行パス状態欄に記載されているアクション実行パス状態を書き込み、同処理対象セルのアクション欄に、処理対象レコードのアクション系列欄に記載されたアクションを記述する図6、S210。状態定義レコード表においてE2Trueについての抽出レコード群は第4行のみであり、その第4行のアクション実行パス状態欄に記載されているアクション実行パス状態はState3である。また、処理対象レコードのイベント欄に記載されたイベントはEndである。よって、状態遷移表における処理対象セルは、State3をインデックスとする第5行と、Endをインデックスとする左端から第6列との交点であるセルに決定される。状態遷移表生成部23はこの処理対象セルの状態欄セル内上側に、処理対象レコードのアクション実行パス状態欄に記載されているアクション実行パス状態State5を書き込む。さらに状態遷移表生成部23は処理対象セルのアクション欄セル内下側に、処理対象レコードのアクション系列欄に記述されているアクションを上記処理対象セルのアクション欄セル内下側に書き込むのであるが、処理対象レコードアクション系列欄には何も記述されていないので、上記処理対象セルのアクション欄は空欄のままとする。図6、S210。次に、もう一つのイベントであるE2Falseについての抽出レコード群の処理について述べる。状態定義レコード表においてE2Falseについての抽出レコード群は第5行のみであり、その第5行のアクション実行パス状態欄に記載されているアクション実行パス状態はState4である。また、処理対象レコードのイベント欄に記載されたイベントはEndである。よって、状態遷移表における処理対象セルは、State4をインデックスとする第6行と、Endをインデックスとする左端から第6列との交点であるセルに決定される。状態遷移表生成部23はこの処理対象セルの状態欄セル内上側に、処理対象レコードのアクション実行パス状態欄に記載されているアクション実行パス状態State5を書き込む。さらに状態遷移表生成部23は処理対象セルのアクション欄セル内下側に、処理対象レコードのアクション系列欄に記述されているアクションを上記処理対象セルのアクション欄セル内下側に書き込むのであるが、処理対象レコードアクション系列欄にはアクションが記述されていないので、上記処理対象セルのアクション欄は空欄のままとする。図6、S210。上記状態定義レコード表、第6行の処理が終了した時点の状態遷移表の状態を図15に示す。[空欄処理]次に状態遷移表生成部23はステップS205に進み、処理対象レコードを次の状態定義レコードとするが、状態定義レコード表は第6行以降の行が無いので、最終行到達と判定する。次に状態遷移表生成部23はステップS203に進み、状態定義レコードが終了したか否かを判定する図6、S203。ここで、状態遷移表生成部23は状態定義レコードが終了したと判定し図6、S203、Yes、ステップS211に進む。ステップS211において、状態遷移表生成部23は状態遷移表の全ての空欄に、該当欄が空欄であることを示す情報としてを記述する。該当欄が空欄であることを示す情報が記述された状態の状態遷移表の例を図16に示す。図16に示す状態が完成した状態遷移表となる。以上で、状態遷移表生成処理が終了し、図16に示した状態遷移表が完成する。実施例1次に、本実施の態様の別の実施例について説明する。図17は、本実施の態様にかかる状態遷移表生成装置に入力される入出力順序系列仕様であるフローチャートを示した図である。このフローチャートは、従業員食堂における代金精算システムの処理内容を示したフローチャートである。状態遷移表生成装置は、図17のフローチャートを読み取ると、まず、状態定義レコード表生成処理図3参照を実行する。図17のフローチャートはステップS301からステップS312までの12ステップで構成され、そのうち条件分岐はステップS303,ステップS305,ステップS308である。状態遷移表生成装置、より詳しくは状態定義レコード表生成部は図17のフローチャートの各処理、S301、S302、S304、S306、S307、S309、S310、S311、S312にアクションとしてラベル付けを行い、A1,A2、A4,A5,A6,A8,A9,A3,A7とする。また、状態遷移表生成装置、より詳しくは状態定義レコード表生成部は、図17のフローチャートの各条件分岐S303、S305、S308のTrueYes側分岐に対応する、FalseNo側分岐に対応するをイベントとしてラベル付けを行い、それぞれをE1TrueS303、Yes及びE1FalseS303、No、E2TrueS305、Yes及びE2FalseS305、No、E3TrueS308、Yes及びE3FalseS308、Noとする。状態遷移表生成装置11、より詳しくは状態定義レコード表生成部22は状態定義レコード表生成処理図3参照を続行することにより、図18に示す状態定義レコード表を生成する。図18は、状態定義レコード表生成処理を実行することによって、図17のフローチャートから生成された状態定義レコード表の一例を示す図である。状態遷移表生成装置11、より詳しくは状態遷移表生成部23は図18に示す状態定義レコード表を受信すると、これに基づいて状態遷移表生成処理図6参照を実行し、状態遷移表を生成し出力する。図19は、状態遷移表生成処理によって図18の状態定義レコードから生成された状態遷移表の例を示す。[実施例1:追加機能]状態遷移表生成装置11、より詳しくはイベント/アクション定義レコード生成部24は、各イベント並びにアクションに付したラベルと、各イベント並びにアクションの内容を対応付けして示した表である、イベントアクション定義レコードを生成する。図20は、図18に示したフローチャートから状態遷移表を生成する際に、状態遷移表生成装置、より詳しくは状態定義レコード表生成部によって生成されるイベントアクション定義レコードの一例を示した図である。かかるイベントアクション定義レコードを生成し、利用することによりユーザは状態遷移表の内容検証、検討などをより容易に行えるようになる。例えば、生成された状態遷移表を画面上に表示させた状態で、状態遷移表内のラベルA1、などの上にカーソルやポインタを置くと、イベントアクション定義レコードが参照され、ポップアップウインドウが開いてその中に当該ラベルに対応する意味が表示されるような機能を実現することも可能となる。[実施例2]上述した例では、状態遷移表生成装置11の入力である入出力順序系列仕様としてフローチャートを利用する態様を説明したが、状態遷移表生成装置11が利用可能な入出力順序系列仕様は、フローチャートに限られず、例えば、プログラムのソースコードであってもかまわない。以下に、プログラムのソースコードを入出力順序系列仕様として扱う場合の状態遷移表生成装置11の動作例を説明する。まず、状態遷移表生成装置11はソースコードに基づいて状態定義レコード表を生成する。これは図3に示した状態定義レコード生成処理を実行することによって行われる。但し、if文、while文が条件分岐として扱われ、その他の命令文は処理として扱われる。状態遷移表生成装置11は、生成した状態定義レコード表に基づいて状態遷移表を生成する。この処理は図6に示す状態遷移表生成処理によって行われる。図21は、状態遷移表生成装置11の入力となるソースコードの一例を示す図である。図22は、図21のソースコードにイベント及びアクションのラベルが付された状態を示す図である。図22に示したようにイベント及びアクションのラベルを付し、状態定義レコード表生成処理図3参照を実行した結果得られる状態定義レコード表の例を図23に示す。図23に示した状態定義レコード表に基づいて、状態遷移表生成処理図6参照を実行した結果得られる状態遷移表の例を図24に示す。すなわち、状態遷移表生成装置11は、図21に示したソースコードから図24に示す状態遷移表を生成することが可能である。[まとめ]本実施の態様によれば、状態遷移表等の事象応答型の仕様を入力情報として検査コードを自動変換するモデル検査支援ツールに対して、フローチャート等の時系列の入力情報を扱うことができるようになる。本実施の態様によれば、時系列の仕様の条件と処理を、状態遷移のイベント、条件、アクションに適切に対応させることで、状態遷移系に変換させても、条件に応じた処理のパスを理解容易にすることができる。第2の実施の形態次に、第2の実施の形態について説明する。第2の実施の形態は、条件分岐と処理にイベントとアクションのラベル付けを行う処理が、第1の実施の形態と異なる。より具体的には、第1の実施の形態では、イベントとアクションの組み合わせをアクション実行パス状態として定義するのに対して、第2の実施の形態ではイベントをアクション実行パスとする点で異なっている。装置の構成例第2の実施の形態にかかる状態遷移表生成装置11Aの構成例を図25に示す。状態遷移表生成装置11Aは、第1の実施の形態にかかる状態遷移表生成装置11の構成と基本的に同様であるが、状態定義レコード生成部22に代えて、状態定義レコード生成部22Aを有する点で異なっている。他の構成要素については同一の構成要素には同一の参照番号を付し、これら構成要素の詳細な説明は省略する。動作例次に、状態遷移表生成装置11Aの動作例を説明する。入出力順序系列仕様記憶部21、状態遷移表生成部23、イベント/アクション定義レコード生成部24のそれぞれは、第1の実施の形態における動作と同様なので、これらの動作の説明は省略する。以下に、状態定義レコード生成部22Aの動作を述べる。図26と図27は、状態定義レコード生成部22Aの動作である状態定義レコード生成処理の一例を示すフローチャートであって、図27は、図26に続くフローチャートである。図26と図27に示す状態定義レコード生成部22Aの動作である状態定義レコード生成処理は、図3A,図3Bに示す状態定義レコード生成部22の動作と基本的に同じ処理内容であるが、ステップS90Aにおいて異なっている。ステップS90Aにおいて、状態定義レコード生成部22Aは同一の状態名アクション実行パス状態を特定する情報を有する状態定義レコードを2つ作成し、一方のレコードに当該条件分岐のTrueをそのイベント欄に登録し、他方のレコードのイベント欄にFalseを登録する。その他の各ステップについては、第1の実施の形態にかかる図3A、図3Bに示したステップと同様なので、同一の処理内容を有するステップには同一の参照番号を付し、これらの詳細な説明は省略する。第2の実施の形態における状態定義レコード生成処理によって状態定義レコードが生成される。この状態定義レコードから第1の実施の形態の状態遷移表生成処理図6参照と同様の処理によって、状態遷移表が生成されることになる。第2の実施の形態において生成される状態遷移表は、第2の実施の形態のそれに比べて、アクション実行パス状態状態定義レコードの数を少なくすることができ、その結果最終的生成される状態遷移表もより簡素化されたものを生成することができ、ユーザの状態遷移表の使用の際の負担を軽減できる。具体例その1第2の実施の形態にかかる状態遷移表生成装置11Aの動作例の具体例を述べる。図28は、本具体例において上記状態定義レコード表の元となる入出力順序系列仕様10であるフローチャート処理対象フローチャートと呼ぶである。図28は、前述した図4に示すフローチャートと同様であるので、このフローチャートの内容の説明は省略する。図29は、図28の処理対象フローチャートから生成された状態定義レコード表の例を示した図である。まず、状態定義レコード表生成部22Aは、図28に示したフローチャートの条件分岐、処理の各要素にそれぞれイベントとアクションの番号付けをする図26、S10。具体的には、第1の条件分岐S101にはイベント番号E1を付与し、第2の条件分岐S104にはイベント番号E2を付与する。また、アクションS102、S103、S104にはそれぞれアクション番号A1、A2、A3を付与する。次に、状態定義レコード表生成部22は、状態定義レコード表を生成し、フローチャートの最初の要素であるStartを読み取ると、アクション実行パス状態欄にState0を格納し、且つそのイベント欄にイベント名Startと格納したレコードを状態定義レコード表に加える図26、S20。次に、状態定義レコード表生成部22Aは、終了End以外の全ての要素を読み込み済みか否かを判定する図26、S30。この具体例では、全ての要素を読み込んでいないので、判定はNoとなりステップS40に移行する。次に、状態定義レコード表生成部22Aは、ステップS30の判定後、処理対象フローチャートの連結部分から次の一要素を読み取る図26、S40。この例では処理対象フローチャートの要素E1を読み込む。次に、状態定義レコード表生成部22は、読み取った要素が条件分岐か否かを判定する図26、S50。この例では要素E1は条件分岐であると判定される図26、S50、Yes。次に、状態定義レコード表生成部22Aは、当該条件分岐によって生じる状態を定義する状態名を決定する図26、S70。この例では、状態定義レコード表生成部22は、条件分岐E1を状態名State1と定める。次に、状態定義レコード表生成部22Aは、その条件分岐がイベントとして状態定義レコード表に登録済みであるか否かを判定する図26、S80。この例では、条件分岐E1は未だ状態定義レコード表に登録済みではないと判定し図26、S80、No、ステップS90Aに移行する。ステップS90Aにおいて、状態定義レコード表生成部22Aは、状態定義レコード表に新たに状態定義レコードを2つ作成し、一方のレコードのイベント欄にその条件分岐のTrueを登録し、他方のレコードのイベント欄にその条件分岐のFalseを登録する。この例では、状態定義レコード表生成部22Aは、図29の状態定義レコード表において、第2行と第3行を作成し、第2行のアクション実行パス状態欄に状態名State1を記述するとともにイベント欄にE1Trueを記述する。またさらに状態定義レコード表生成部22は、第3行のアクション実行パス状態欄に状態名State1と記述するとともにイベント欄にE1Falseを記述する。次に、状態定義レコード表生成部22Aは、登録した或いは登録済みイベントの前イベントに、前記2つのレコードの直前に状態を定義したレコードのイベントを登録する図26、S100。この例では、状態定義レコード表生成部22Aは、直前に登録したイベントであるE1True第2行、E1False第3行に対応する前イベント欄に、直前に状態を定義したレコード第1行のイベント欄に記述されたイベントStartを記述する。次に、状態定義レコード表生成部22Aは、ステップS30に戻りその後ステップS40において、要素E1の次の要素A1を読み取る図26、S40。次に、状態定義レコード表生成部22Aは、読み取った要素が条件分岐か否かを判定する。この例では要素A1は条件分岐ではないと判定される図26、S50、No。次に、状態定義レコード表生成部22Aは、その要素処理を当該条件のイベントに対するアクションとして、読み取った要素の要素番号を状態定義レコード表に登録する図26、S60。具体的には、図29に示した状態定義レコード表の第2行のアクション系列欄にA1と記述する。次に、状態定義レコード表生成部22Aは、ステップS30に戻り、続くステップS40において、要素A1の次の要素A2を読み取る図26、S40。次に、状態定義レコード表生成部22Aは、読み取った要素が条件分岐か否かを判定する図26、S50。この例では要素A2は条件分岐ではないと判定される図26、S50、No。次に、状態定義レコード表生成部22Aは、その要素処理を当該条件のイベントに対するアクションとして、読み取った要素の要素番号を状態定義レコード表に登録する図26、S60。具体的には、図29に示した状態定義レコード表の第2行のアクション系列欄にA2を追加して記述する。次に、状態定義レコード表生成部22Aは、ステップS30に戻りその後ステップS40において、処理対象フローチャートにおける要素A2の次の要素E2を読み取る図26、S40。次に、状態定義レコード表生成部22Aは、読み取った要素が条件分岐か否かを判定する図26、S50。この例では要素E2は条件分岐であると判定される図26、S50、Yes。次に、状態定義レコード表生成部22Aは、当該条件分岐によって生じる状態を定義する状態名を決定する図26、S70。この例では、状態定義レコード表生成部22Aは、条件分岐E2を状態名State2と定める。次に、状態定義レコード表生成部22Aは、その条件分岐がイベントとして状態定義レコード表に登録済みであるか否かを判定する図26、S80。この例では、条件分岐E2は未だ状態定義レコード表に登録済みではないと判定し図26、S80、No、ステップS90Aに移行する。ステップS90Aにおいて、状態定義レコード表生成部22Aは、状態定義レコード表に新たに状態定義レコードを2つ追加し、その条件分岐のTrueを一方のレコードのイベント欄に登録し、他方のレコードにその条件分岐のFalseを登録する。この例では、状態定義レコード表生成部22は、図29に示す状態定義レコード表に第4行と第5行を作成し、第4行のアクション実行パス状態欄にState2を記述するとともにそのイベント欄にE2Trueを記述する。またさらに状態定義レコード表生成部22Aは、第5行のアクション実行パス状態欄にState2と記述するとともにそのイベント欄にE2Falseを記述する。次に、状態定義レコード表生成部22Aは、登録した或いは登録済みイベントの前イベントに、前記2つのレコードの直前に状態を定義したレコードのイベントを登録する図26、S100。この例では、状態定義レコード表生成部22Aは、第4行及び第5行の登録の直前に登録したレコード第2行、第3行のレコードのイベント欄に記述されたE1True第2行及びE1False第3行を第4行、第5行の前イベント欄に記述する。次に、状態定義レコード表生成部22Aは、ステップS30に戻りその後ステップS40において、要素E2の次の要素A3を読み取る図26、S40。次に、状態定義レコード表生成部22Aは、読み取った要素が条件分岐か否かを判定する図26、S50。この例では要素A3は条件分岐ではないと判定される図26、S50、No。次に、状態定義レコード表生成部22Aは、その要素処理を当該条件のイベントに対するアクションとして、読み取った要素の要素番号を状態定義レコード表に登録する図26、S60。具体的には、図29に示した状態定義レコード表の第4行のアクション系列欄にA3を記述する。次に、状態定義レコード表生成部22Aは、ステップS30に戻り、終了End以外の全ての要素を読み込み済みか否かを判定する図26、S30。この例では、状態定義レコード表生成部22Aは、終了End以外の全ての要素を読み込み済みであると判定しS30、Yes、図27のステップS110に進む。ステップS110において、状態定義レコード表生成部22Aは現在の状態数を含む状態名をアクション実行パス状態欄に格納し、且つイベント欄にEndを格納した新たな状態定義レコードを生成し、状態定義レコード表に追加する図27、S110。図29の例では、第6行のレコードに相当する。次に、状態定義レコード表生成部22Aは、登録した或いは登録済みイベントの前イベントに、前記2つのレコードの直前に状態を定義したレコードのイベントを登録する図27、S120。この例では、状態定義レコード表生成部22Aは、第6行の登録の直前に登録したレコード第4行、第5行に相当するレコードのイベント欄に記述されたE2True第4行及びE2False第5行を第6行の前イベント欄に記述する。以上で、図26に示したフローチャートの処理に基づいて、図29に示した状態定義レコード表が完成する。状態遷移表の生成次に、状態遷移表生成装置11A、より詳しくは状態遷移表生成部23は、図29に示した状態定義レコード表のデータを受信して、このデータを用いて、状態遷移表生成処理を実行し状態遷移表を生成する。状態遷移表生成処理の内容は第1の実施の形態と同様である。図30に、図29に示した状態定義レコード表のデータから生成された状態遷移表の例を示す。実施例その2第2の実施の形態にかかる状態遷移表生成装置11Aの動作例の別の具体例を述べる。図31に示すIPアドレスの割り当て処理を状態遷移表生成装置11Aを用いて状態遷移表を生成する例を示す。図31は、PC-1、PC-2、PC-3、PC-4からなるネットワークにおいて、IPアドレスの割り当てを行う処理の例を示したシーケンス図である。PC-3、PC-4はともにDHCPサーバとして機能する。まず、PC-1が起動時にIPアドレスの有無を判定し、IPアドレスが割り当てられていない場合には、ネットワーク内の他の装置にDISCOVERメッセージをブロードキャストするS3101、S3102、S3103。DISCOVERメッセージを受信したDHCPサーバであるPC-3、PC-4は、割り当てる候補となるIPアドレスが含まれているOFFERメッセージを送信するS3104、S3105。この例では、PC-3はIP1というIPアドレスを提示し、PC-4はIP2というIPアドレスを提示したものとする。PC-3,PC-4のそれぞれからOFFERメッセージを受信したクライアントであるPC-1は、提示されたIPアドレスに問題がなければ、正式にサーバにIPを要求するREQUESTメッセージを送信するS3106、S3107。この例では、PC-1はIP1を選択して、REQUESTメッセージを送信した者とする。IP1についてのREQUESTメッセージを受信したPC-3は自分が選択されたことを同じユーザーIPアドレスが返送されたことで確認して、問題なければPACKパケットを返信し、問題あればPNAKパケットを返信するS3108。PACKを正常に受信したPC1は、OFFERで指定されたユーザIPアドレスを自分のIPアドレスとして保存し、以降はこのIPアドレスで通信を行うように内部設定する。一方、PNAKが返信された時は、再度DISCOVERの送信を実行するS3109。この実施の例では、上記のシーケンス図に示される処理のうち、クライアントであるPC-1の処理フローチャートと、DHCPサーバであるPC-3の処理フローチャートを、それぞれ入出力順序系列仕様10として用意し、それぞれの入出力順序系列仕様10から状態遷移表生成装置11Aに状態遷移表を生成させる。クライアント側図32は、クライアントであるPC-1の処理フローチャートの例を示す図である。このフローチャートに対応するデータ等を入出力順序系列仕様10から状態遷移表生成装置11Aに入力する。図33は、状態名アクション実行パス状態が付された図32のフローチャートを示す。図34は、図32のフローチャート入出力順序系列仕様10から状態遷移表生成装置11Aが生成した状態遷移表を状態遷移図に示した図である。DHCPサーバ側図35は、DHCPサーバであるPC-3の処理フローチャートの例を示す図である。このフローチャートに対応するデータ等を入出力順序系列仕様10から状態遷移表生成装置11Aに入力する。図36は、状態名アクション実行パス状態が付された図35のフローチャートを示す。分岐条件E1,E2,E3,E4について、それぞれ状態名アクション実行パス状態State1State2State3State4が付与され、これら状態名ごとに状態定義レコード表のレコードが生成されることとなる。図37は、図35のフローチャート入出力順序系列仕様10から状態遷移表生成装置11Aが生成した状態遷移表を状態遷移図に示した図である。なお、本実施の形態の変形として、条件分岐が連続している場合図36、E2~E3は、これを一つの条件分岐として扱い、一つの状態として状態遷移表の生成を行うようにしてもよい。この例に上記変形を適用すると、条件分岐であるE2~E4は、一つの状態State2として処理される。その他以上、本発明の実施の形態を説明したが、本発明はこれらに限定されるものではなく、発明の趣旨を逸脱しない範囲内において、種々の変更、追加、組み合わせ等が可能である。変形例として、状態遷移表生成装置11は、状態定義レコード生成部22と状態定義レコード生成部22Aとをともに有しており、ユーザの指定により一方を選択して、状態定義レコード表の生成、それに基づく状態遷移表の生成を行わせるように変形することもできる。"