(57)【要約】【課題】システムの検証者が、シーケンス図に基づく観点によって、状態遷移仕様の簡略化を指定することができるようにし、その検証者が、正しく状態遷移仕様の簡略化をおこなえるようにする。【解決手段】状態遷移表仕様を表現する状態遷移表を編集する状態遷移表編集装置において、表示装置に、シーケンス図を表示し、入力装置から、状態遷移表の縮退の観点とシーケンス図における縮退対象部分とを入力させ、ＣＰＵは、入力された前記状態遷移表の縮退の観点と前記シーケンス図における縮退対象部分とに基づいて、状態遷移表の縮退内容を決定し、 前記オリジナル状態遷移表を表すデータから、縮退後の状態遷移表のデータを生成する。【選択図】図１
2010250422.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと、記憶装置と、表示装置と、入力装置とを備え、状態遷移表仕様を表現する状態遷移表を編集する状態遷移表編集装置において、
前記記憶装置は、状態遷移表仕様を表現する状態遷移表を表すデータと、前記状態遷移表に基づく、事象を時系列的に並べたシーケンス図を表すデータと、前記状態遷移表と前記シーケンス図との対応関係を表すデータとを保持し、
前記表示装置に、前記シーケンス図を表示し、
前記入力装置から、前記状態遷移表の縮退の観点と前記シーケンス図における縮退対象部分とを入力させ、
前記ＣＰＵは、前記入力された前記状態遷移表の縮退の観点と前記シーケンス図における縮退対象部分とに基づいて、状態遷移表の縮退内容を決定し、
前記ＣＰＵは、前記オリジナル状態遷移表を表すデータから、縮退後の状態遷移表のデータを生成し、前記縮退後の状態遷移表のデータを記憶装置に格納することを特徴とする状態遷移表編集装置。
【請求項２】
前記状態遷移表の縮退観点が、前記シーケンス図における時間軸上の部分に着目して縮退する第一の縮退観点と、前記シーケンス図における連続する事象列をより少ない事象列で置換して縮退する第二の縮退観点の二種類であり、
前記入力装置から、前記シーケンス図において縮退させる事象列および縮退後の事象列を入力させ、
前記ＣＰＵは、前記第一の縮退観点に対する縮退をおこなう第一の縮退処理と、前記第二の縮退観点に対する縮退をおこなう第二の縮退処理をおこなうことを特徴とする請求項１記載の状態遷移表編集装置。
【請求項３】
前記第一の縮退観点と、前記第二の縮退観点の内、いずれかが固定的に自動選択され、
前記ＣＰＵは、選択された前記第一の縮退観点または前記第二の縮退観点に基づいて、前記第一の縮退処理または前記第二の縮退処理のいずれかを実行することを特徴とする請求項２記載の状態遷移表編集装置。
【請求項４】
前記入力装置から、前記状態遷移表の特定の事象・状態に対して遷移する事象・状態を入力させ、
前記ＣＰＵは、前記オリジナル状態遷移表を表すデータから、縮退後の状態遷移表のデータを生成するにあたり、前記状態遷移表の特定の事象・状態に対して遷移する事象・状態を参照し、前記オリジナル状態遷移表を表すデータから、縮退後の状態遷移表のデータを生成することを特徴とする請求項１記載の状態遷移表編集装置。
【請求項５】
前記入力装置から、前記状態遷移表の特定の事象・状態に対して遷移する事象・状態が入力されず、
前記ＣＰＵは、前記オリジナル状態遷移表を表すデータから、縮退後の状態遷移表のデータを生成するにあたり、自動的に、前記オリジナル状態遷移表を表すデータから、縮退後の状態遷移表のデータを生成することを特徴とする請求項１記載の状態遷移表編集装置。
【請求項６】
前記ＣＰＵは、前記状態生成表を表すデータから、前記シーケンス図を表すデータと、前記状態遷移表と前記シーケンス図との対応関係を表すデータを生成することを特徴とする請求項１記載の状態遷移表編集装置。
【請求項７】
ＣＰＵと、記憶装置と、表示装置と、入力装置とを有するコンピュータにより、状態遷移表仕様を表現する状態遷移表を編集する状態遷移表編集方法において、
前記記憶装置が、状態遷移表仕様を表現する状態遷移表を表すデータと、前記状態遷移表に基づく、事象を時系列的に並べたシーケンス図を表すデータと、前記状態遷移表と前記シーケンス図との対応関係を表すデータとを保持するステップと、
前記表示装置に、前記シーケンス図を表示するステップと、
前記入力装置から、前記状態遷移表の縮退の観点と前記シーケンス図における縮退対象部分とを入力させるステップと、
前記入力装置から、前記状態遷移表の特定の事象・状態に対して遷移する事象・状態を入力させるステップと、
前記ＣＰＵは、前記入力された前記状態遷移表の縮退の観点と前記シーケンス図における縮退対象部分とに基づいて、状態遷移表の縮退内容を決定するステップと、
前記ＣＰＵは、前記入力された状態遷移表の特定の事象・状態に対して遷移する事象・状態を参照し、前記オリジナル状態遷移表を表すデータから、縮退後の状態遷移表のデータを生成するステップと、
前記縮退後の状態遷移表のデータを記憶装置に格納するステップとを有することを特徴とする状態遷移表編集方法。
【請求項８】
前記状態遷移表の縮退観点が、前記シーケンス図における時間軸上の部分に着目して縮退する第一の縮退観点と、前記シーケンス図における連続する事象列をより少ない事象列で置換して縮退する第二の縮退観点の二種類であり、
前記入力装置から、前記シーケンス図において縮退させる事象列および縮退後の事象列を入力させ、
前記ＣＰＵは、前記第一の縮退観点に対する縮退をおこなう第一の縮退処理と、前記第二の縮退観点に対する縮退をおこなう第二の縮退処理をおこなうことを特徴とする請求項７記載の状態遷移表編集方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、状態遷移表編集装置、および、状態遷移表編集方法に係り、特に、状態遷移表に対応したシーケンス図を用いて、状態遷移表を縮退して、状態遷移表に基づく機器のチェックをしやすくする用途に用いて好適な状態遷移表編集装置、および、状態遷移表編集方法に関する。
【背景技術】
【０００２】
状態遷移表は、状態遷移モデルに基づく設計手法と設計結果の仕様表現形式として表されている表であり、この状態遷移表は、複数の動作主体が並行して動作し、かつ、事象のやり取りを介して連携して動作するシステムの設計において、従来から広く用いられている。このような分野の典型的なシステムとしては、ネットワークを介した通信プロトコルシステム、並行動作するハードウェアをソフトウェアが制御する組込みシステム、オブジェクト指向設計手法に基づいて設計されるソフトウェアシステムなどがある。
【０００３】
状態遷移モデルに基づく設計では、設計対象システムの挙動の一事例であるシーケンス図を用いることが多い。特許文献１では、複数のメッセージシーケンス図を組み合わせることによって初期の状態遷移仕様を作成したうえで、その状態遷移仕様において同一と判定される状態を統合することによって最終的な状態遷移仕様を得る手法が提案されている。また、特許文献２では、状態遷移仕様情報からメッセージシーケンス図を作成し、さらに、制約条件を抽出して、作成されたメッセージシーケンス図を更新する手法が提案されている。
【０００４】
また、特許文献３では、状態遷移仕様に対して、同一のシステム挙動を表現し、かつ、状態数や遷移数を一つにまとめて、状態遷移表を縮約することにより、サイズの小さなプログラムを自動的に作成する手法が提案されている。
【０００５】
一般に状態遷移仕様は複雑なものとなるため、システムの挙動自体を簡略化した場合の状態遷移仕様を得たい場合もある。特許文献４では、状態遷移表上で、ユーザにある状態からある状態の経路を指定させて、途中の経路を縮退した状態遷移仕様を得るための手法が提案されている。
【０００６】
近年では、状態遷移仕様の検証のために、モデル検査技術が注目されている。モデル検査技術は、状態遷移仕様が満たすべき性質あるいは起こってはならない性質を与え、設計結果である状態遷移仕様においてその性質が成立するか否かを機械的に判定するものであり、代表的なモデル検査ツールとして“ＳＰＩＮ”などがある。ＳＰＩＮに関しては、例えば、非特許文献１に詳しい解説がある。
【０００７】
モデル検査ツールでは、状態空間を網羅的に探索することを基本とするので、状態数に対して指数関数的に探索空間が増加することになる。モデル検査ツールを動作させる計算機の計算量とメモリ量が多く必要となるため、設計結果である状態遷移仕様の規模によっては、実際上適用できない場合がある。このような場合において、モデル検査ツールのユーザであるシステム仕様検証者は、検証したい性質に鑑みて、設計結果である状態遷移仕様を簡略化した状態遷移仕様を作成し、モデル検査ツールを用いる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平１１−１３４１８０公報
【特許文献２】特開平０７−１６８７１２公報
【特許文献３】特開平０７−２７１５６８公報
【特許文献４】特開２００７−０７９９５５公報
【非特許文献】
【０００９】
【非特許文献１】吉岡信和他著「ＳＰＩＮによる設計モデル検証−モデル検査の実践ソフトウェア検証」近代科学社、２００８年
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上記のように、システム仕様検証者が、モデル検査ツールを用いるために、簡略化した状態遷移表を作成して、システムを検証する場合には、検証者の手作業による状態遷移表の簡略化は手作業であるため、検証したい性質に関連した仕様部分について、設計結果である状態遷移仕様とは食い違ってしまう危険性がある。
【００１１】
上記の特許文献１、特許文献３、特許文献４は、なんらかの形で、状態遷移仕様を簡略化して表現しようとするものであり、この状態遷移仕様を簡略化することに対して、特許文献１は、「遷移情報の縮小」、特許文献３は、「状態遷移情報の縮約」、特許文献４は、「状態遷移図の縮退」と表現している。
【００１２】
しかしながら、特許文献１および特許文献４で提案されている状態遷移仕様を簡略化する手法は、縮退前の状態遷移仕様が、統合可能な状態や状態遷移を有する場合しか適用することができない。また、特許文献４で提案されている状態遷移仕様を簡略化する手法にしいては、ある状態からある状態に至る状態遷移経路の簡略化に関する縮退しか考慮されていない。
【００１３】
したがって、システムの検証者は、シーケンス図に基づく観点によって、状態遷移仕様を簡略化をすることができないという問題点があった。
【００１４】
本発明は、上記問題点を解決するためになされたもので、その目的は、システムの検証者が、シーケンス図に基づく観点によって、状態遷移仕様の簡略化を指定することができるようにすることにより、その検証者が、正しく状態遷移仕様の簡略化をおこなうことのできる状態遷移表編集装置、および、状態遷移表編集方法を提供することにある。
【課題を解決するための手段】
【００１５】
本発明の状態遷移表編集装置は、状態遷移表仕様を表現する状態遷移表を編集する状態遷移表編集装置であって、記憶装置には、状態遷移表仕様を表現する状態遷移表を表すデータと、状態遷移表に基づく、事象を時系列的に並べたシーケンス図を表すデータと、状態遷移表とシーケンス図との対応関係を表すデータとが保持されている。
【００１６】
そして、表示装置に、編集する状態遷移表に基づくシーケンス図を表示する。ユーザは、入力装置から状態遷移表の縮退の観点とシーケンス図における縮退対象部分とを入力する。縮退の観点とは、例えば、シーケンス図における時間軸上の部分に着目して縮退する縮退観点と、シーケンス図における連続する事象列をより少ない事象列で置換して縮退する縮退観点がある。また、必要なら、ユーザは、入力装置から状態遷移表の特定の事象・状態に対して遷移する事象・状態を入力する。
【００１７】
次に、ＣＰＵは、入力された状態遷移表の縮退の観点と前記シーケンス図における縮退対象部分とに基づいて、状態遷移表の縮退内容を決定し、状態遷移表の特定の事象・状態に対して遷移する事象・状態を参照し、オリジナル状態遷移表を表すデータから、縮退後の状態遷移表のデータを生成する。
【００１８】
そして、縮退後の状態遷移表のデータを記憶装置に格納する。
【００１９】
本発明によれば、検証者は、状態遷移モデルに基づく設計でしばしば用いられるシーケンス図の上で検証項目に関わるシステム挙動範囲を指定することにより、モデル検査に用いるための縮退された状態遷移仕様を得ることができるので、状態遷移仕様の縮退に関わる誤りを防止することができる。
【００２０】
モデル検査技術を用いて状態遷移仕様を検証する場合のほか、状態遷移モデルに基づく設計を行なう上で状態遷移表を複数に分割する場合など、状態遷移表の縮退が必要となる他の場合においても利用可能である。
【発明の効果】
【００２１】
本発明によれば、システムの検証者が、シーケンス図に基づく観点によって、状態遷移仕様の簡略化を指定することができるようにすることにより、その検証者が、正しく状態遷移仕様の簡略化をおこなうことのできる状態遷移表編集装置、および、状態遷移表編集方法を提供することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の第一の実施形態に係る状態遷移表編集装置１００の構成図である。
【図２】オリジナル状態遷移表１１１の一例を示す図である。
【図３】シーケンス図とそれに係るシーケンス図仕様１１２の一例を示す図である。
【図４】シーケンス図−状態遷移表対応データ１１３の一例を示す図である。
【図５】全体実行制御処理を示すフローチャートである。
【図６】シーケンス図表示１２１と状態遷移表縮退内容獲得１３１の処理のときに、表示装置１２０に表示されるユーザインタフェースの例を示す図である。
【図７】選択部分シーケンス獲得１３２の処理のときに、表示装置１２０に表示されるユーザインタフェースの例を示す図である。
【図８】事象列置換獲得１３３の処理のときに、表示装置１２０に表示されるユーザインタフェースの例を示す図である。
【図９】部分シーケンス選択時縮退処理１４２を示すフローチャートである。
【図１０】シーケンス選択部分実現状態遷移表作成処理を示すフローチャートである。
【図１１】シーケンス選択部分実現状態遷移表８００の一例を示す図である。
【図１２】シーケンス選択部分実現状態遷移表補完処理を示すフローチャートである。
【図１３】事象列置換選択時縮退処理１４３を示すフローチャートである。
【図１４】置換対象事象列トレース処理を示すフローチャートである。
【図１５Ａ】図８（ａ）で示される事象列置換の操作によって置換事象列を入力したときは事象列置換処理用状態遷移表１３００を示す図である。
【図１５Ｂ】図８（ｂ）で示される事象列置換の操作によって置換事象列を入力したときは事象列置換処理用状態遷移表１３００を示す図である。
【図１６】事象列置換処理を示すフローチャートである。
【図１７Ａ】事象列置換処理が、図８（ａ）に例示した事象列置換内容に基づいて、新たな置換事象列に関する仕様を付加した事象列置換処理用状態遷移表１３００を示す図である。
【図１７Ｂ】事象列置換処理が、図８（ｂ）に例示した事象列置換内容に基づいて、新たな置換事象列に関する仕様を付加した事象列置換処理用状態遷移表１３００を示す図である。
【図１８】置換後状態遷移補正処理を示すフローチャートである。
【図１９】本発明の第二の実施形態に係る状態遷移表編集装置１９００の構成図である。
【図２０】第二の実施形態に係る部分シーケンス選択時縮退処理１９４２を示すフローチャートである。
【図２１】第二の実施形態に係る事象列置換選択時縮退処理１９４３を示すフローチャートである。
【図２２】シーケンス選択部分実現状態遷移表補完処理（２）のフローチャートである。
【図２３】置換後状態遷移表補正処理（２）を示すフローチャートである。
【図２４】本発明の第三の実施形態に係る状態遷移表編集装置２４００の構成図である。
【図２５】全体実行制御処理（２）２４４１を示すフローチャートである。
【発明を実施するための形態】
【００２３】
以下、本発明に係る各実施形態を、図１ないし図２５を用いて説明する。
【００２４】
〔実施形態１〕
以下、本発明に係る第一の実施形態を、図１ないし図１８を用いて説明する。
【００２５】
先ず、図１を用いて本発明の第一の実施形態に係る状態遷移表編集装置の構成について説明する。
図１は、本発明の第一の実施形態に係る状態遷移表編集装置１００の構成図である。
【００２６】
状態遷移表編集装置は、ユーザにシーケンス図を表示して、ユーザからある観点により、縮退に関する事象を指定させ、それに基づいて状態遷移表の縮退をおこなう装置であり、例えば、パーソナルコンピュータ（ＰＣ）などの情報処理装置に、専用のアプリケーションプログラムを実行することにより実現できる。なお、シーケンス図、ユーザインタフェース、状態遷移表の縮退については後に詳細に説明する。
【００２７】
状態遷移表編集装置１００は、記憶装置・記憶媒体１１０と、表示装置１２０と、入力装置１３０と、プログラム格納メモリ１４０と、記憶装置・記憶媒体１１０と、ＣＰＵ１５０とから成る。
【００２８】
記憶装置・記憶媒体１１０は、各種の入出力データを保持・格納するための装置と、媒体であり、半導体により構成される主記憶装置と、磁気ディスクを記憶媒体とするハードディスクドライブなどがある。
【００２９】
表示装置１２０は、ＬＣＤやＰＤＰなどにより、ユーザに画面を表示する装置であり、本実施形態では、シーケンス図を表示して操作を誘導する。
【００３０】
入力装置１３０は、キーボードやマウスなどのユーザが情報を入力するための装置であり、本実施形態では、シーケンス図に対する操作情報を入力する。
【００３１】
プログラム格納メモリ１４０は、本実施形態の状態遷移表の編集を実行するためのプログラムが格納される半導体により構成される主記憶装置である。各種のプログラムは、ハードディスクドライブに格納されているが、実行時に、主記憶装置にロードされて、ＣＰＵにより実行される。このプログラム格納メモリ１４０には、全体実行制御処理モジュール１４１ｍ、部分シーケンス選択時縮退処理モジュール１４２ｍ、事象列選択時縮退処理モジュール１４３ｍが格納されている。各モジュールの処理については後に説明する。
【００３２】
ＣＰＵ（Central Processing Unit）１５０は、プログラムの命令を実行し、各部を制御し、処理の指示を与える装置である。
【００３３】
次に、図２ないし図４を用いて本発明の第一の実施形態に係る状態遷移表としシーケンス図について説明する。
図２は、オリジナル状態遷移表１１１の一例を示す図である。
図３は、シーケンス図とそれに係るシーケンス図仕様１１２の一例を示す図である。
図４は、シーケンス図−状態遷移表対応データ１１３の一例を示す図である。
【００３４】
オリジナル状態遷移表１１１は、図２に示されるように、状態遷移仕様に関係する動作主体（プロセス）ごとに、プロセス名や初期状態、最初の送信事象などを表す付随情報と状態遷移を記述した状態遷移表とから成る。以下、本明細書で、「状態遷移表」といったときに、付随情報も含んだ状態の遷移を表すデータと、状態の遷移を表す表である狭義の状態遷移表を表すことがある。また、状態遷移表の縮退といったときには、状態遷移表の表としての要素を縮退させることを意味する。
【００３５】
一般に、状態遷移表は、ある主体の状態とそれに起こる事象を記述する表であり、様々な書き方があるが、本実施形態の状態遷移表では、図３に示されるように、表の行に事象、列に状態を列挙する。そして、対象となる主体が、交点にあたる場所に、その行にあたる状態において、その列にあたる事象がおこったときに、推移する状態と、発生する事象を記述するものとする。
【００３６】
図３に示される状態遷移表は、ＡとＢの二つのプロセスからなる仕様のものである。付随情報３００の欄３０１と付随情報３１０の欄３１１により、プロセスＡ側から動作を開始し、その際の送信事象がＥｖ１ａであることを示している。この起動側プロセスを示す欄は、状態遷移表を構成する複数のプロセスのうち、一つのプロセスについてのみ起動側プロセスであることを指定し、また、そのプロセスについての送信事象を明示する。また、付随情報３００の欄３０３と付随情報３１０の欄３１３は、それぞれのプロセスの初期状態を示している。
【００３７】
状態遷移表３０４と状態遷移表３１４が、それぞれのプロセスの状態遷移表である。表の交点には、当該状態において当該事象を受信した際に送信する事象と送信先（交点の一段目）、および自プロセスの次状態（交点の二段目）を示す。例えば交点３０５は、状態Ｓａ４において事象Ｅｖ４ｂを受信した場合、プロセスＢに対して事象Ｅｖ５ａを送信して状態Ｓａ５に遷移することを示している。また、表の交点において、“−”は当該事象の受信を無視して動作をおこなわないことを、“×”は当該事象の受信が仕様上ありえないことを示している。なお、“…”となっている交点については、本来は交点３０５と同様の送信動作と状態遷移の記述、“―”、“×”のいずれかが記載されているものであるが、図面での表記を省略している。
【００３８】
シーケンス図は、動作の主体ごとに、事象を時系列にそって並べた図である。本実施形態で説明する事象は、オブジェクト指向技術で言うところのメッセージの形式であり、送信元のプロセスと送信先のプロセスを持っているものとする。図４のシーケンス図４００の例では、プロセスＡから、プロセスＢに、Ｅｖ１ａという事象を送信し、その後に、プロセスＢから、プロセスＡに、Ｅｖ１ｂという事象を送信することを示している。プロセスを表すボックスから伸びている縦線は、時間的に上から下に、事象の記述が進行することを示している。
【００３９】
なお、本実施形態のシーケンス図では、記述するプロセスが二つの場合であったが、プロセスの数が一つであっても、三つ以上の場合であってもよい。
【００４０】
シーケンス図仕様１１２は、シーケンス図４００を表すデータ構造である。シーケンス図仕様１１２のデータ構造は、シーケンス図に現れるプロセスのリスト４０１と、事象のシーケンスを表す事象シーケンステーブルから成る。事象シーケンステーブルは、事象名を表す欄４０２と、当該事象の送信プロセスと受信プロセスとをそれぞれ表す欄４０３、欄４０４から成る。事象シーケンステーブルの事象は、出現する順序順に並べれており、時間的には、上に書かれた事象が前の事象であり、下に書かれた事象が後の事象である。
【００４１】
図４に示したシーケンス図−状態遷移表対応データ１１３は、図３に示したオリジナル状態遷移表１１１と、図３に示したシーケンス図仕様１１２との関係を示したものである。このシーケンス図−状態遷移表対応データ１１３は、オリジナル状態遷移表１１１においてシーケンス図仕様１１２が発生する遷移パスを表すデータである。したがって、状態遷移表５０４と状態遷移表５１４は、それぞれ状態遷移表３０４と状態遷移表３１４の交点の一部を抽出したものである。付随情報５００の欄５０１〜５０３および付随情報５１０の欄５１１〜５１３は、当該シーケンス図における開始側プロセスとそのときの送信事象名、およびそれぞれのプロセスの開始状態を示している。
【００４２】
次に、図５ないし図１８を用いて本発明の一実施形態に係る状態遷移表編集装置１００の処理について説明する。
先ず、図５を用いて全体実行制御処理について説明する。
図５は、全体実行制御処理を示すフローチャートである。
【００４３】
全体実行制御処理１４１は、図１に示した全体実行制御処理モジュール１４１ｍが実行する処理であり、状態遷移表縮退装置１００の動作全体を制御する処理である。
【００４４】
先ず、図５に示されるように、記憶装置・記憶媒体１１０から、縮退対象の状態遷移表であるオリジナル状態遷移表１１１と、縮退内容をユーザに指定させるために用いるシーケンス図仕様１１２と、オリジナル状態遷移表１１１においてシーケンス図仕様１１２が発生する遷移パスを表すデータであるシーケンス図−状態遷移表対応データ１１３を読み込む（ステップ２０１）。
【００４５】
次に、ステップ２０１で読み込んだシーケンス図仕様１１２に基づき、表示装置１２０に、シーケンス図４００を表示する（ステップ２０２）。
【００４６】
次に、ユーザから入力装置１３０より状態遷移表に対する縮退内容の指示を入力させて、ユーザから状態遷移表に対する縮退内容種別を獲得する（ステップ２０３）。ユーザは、表示されたシーケンス図の連続する事象列を指定して削除する（部分シーケンス選択）か、連続する事象列をより少ない事象列で置換する（事象列置換）かのいずれかから、所望の選択肢を指定する。この二つの選択肢の具体的な操作イメージについては、後に詳細に説明する。
【００４７】
次に、ステップ２０３で獲得した縮退内容種別を判定し（ステップ２０４）、以降の処理に分岐する。
【００４８】
縮退種別が部分シーケンス選択である場合には、入力装置１３０からユーザが指定したシーケンス図の選択部分を獲得し（ステップ２０５）、部分シーケンス選択時縮退処理１４２によって、縮退後状態遷移表１４１を求める（ステップ２０６）。
【００４９】
部分シーケンス選択時縮退処理１４２については、後に詳細に説明する。
【００５０】
一方、ステップ２０４で縮退種別が事象列置換の場合には、入力装置１３０からユーザが指定した事象列の置換内容を獲得し（ステップ２０７）、事象列置換選択時縮退処理１４３によって、縮退後状態遷移表１４１を求める（ステップ２０８）。
【００５１】
事象列置換選択時縮退処理１４３については、後に詳細に説明する。
【００５２】
最後に、ステップ２０４で、縮退種別が、部分シーケンス選択のときでも、事象列置換のときでも、求めた縮退後状態遷移表１４１を記憶装置・記憶媒体１１０に格納して、全体実行制御の処理を終える。
【００５３】
次に、図６ないし図８を用いて本発明の第一の実施形態に係る状態遷移表編集装置のユーザインタフェースについて説明する。
図６は、シーケンス図表示１２１と状態遷移表縮退内容獲得１３１の処理のときに、表示装置１２０に表示されるユーザインタフェースの例を示す図である。
図７は、選択部分シーケンス獲得１３２の処理のときに、表示装置１２０に表示されるユーザインタフェースの例を示す図である。
図８は、事象列置換獲得１３３の処理のときに、表示装置１２０に表示されるユーザインタフェースの例を示す図である。
【００５４】
シーケンス図表示１２１の処理では、図６に示されるように、表示装置１２０の画面にシーケンス図が表示され、ユーザは、表示された指定ダイアログ６０１に対して、入力装置１３０により、所望の状態遷移表縮退に関する指定内容を入力する。
【００５５】
この図６の例では、指定ダイアログ６０１に入力欄に、“１”を入れたときに、部分シーケンス選択が選択され、“２”を入れたときに、事象列置換が選択されることを示している。
【００５６】
部分シーケンス選択は、表示されたシーケンス図上で、削除したい事象を選択する処理である。この部分シーケンス選択は、複数の機能が連続しておこなわれているシーケンス図において特定の機能部分に着目する場合や、一連のシステム動作において、特定のフェーズ（起動フェーズ、通常動作フェーズなど）に着目する場合などに有効な指定である。
【００５７】
図７に示される例では、表示されたプロンプト７０１に従って、ユーザは、７０２で指し示した部分に含まれる事象を指定している。
【００５８】
一方、事象列置換は、シーケンス図上の事象を他のものに、置き換える指定である。このまた、事象列置換は、動作シーケンスを、プロセス間の事象の送受信プロトコルの階層の観点で着目する場合などに有効な指定である。
【００５９】
本実施形態では、事象を送信するプロセスが二つの場合の場合なので、置換する事象列の先頭と最後が逆方向の場合と、置換する事象列の先頭と最後が同方向の場合がある。
【００６０】
表示されたプロンプト１２０１に対してユーザは、図８（ａ）に示される例では、置換範囲の先頭と最後が逆方向の事象である事象列１２０２を指定している。すなわち、事象列１２０２の先頭の事象は、Ｅｖ３ａであり、事象列１２０２の最後の事象は、Ｅｖ４ｂである。置換範囲の先頭と最後が逆方向の事象である場合には、方向が異なる二つの事象に対してその名称をユーザから獲得する。この例では、表示されたプロンプト１２０３に対してユーザは事象名１２０４（ＥｖＸａ）および事象名１２０５（ＥｖＸｂ）を入力している。
【００６１】
一方、図８（ｂ）に示される例では、置換範囲の先頭と最後が同方向の事象である事象列１２１２を指定している。すなわち、事象列１２０２の先頭の事象は、Ｅｖ３ａであり、事象列１２０２の最後の事象は、Ｅｖ５ａである。置換範囲の先頭と最後が同方向の事象である場合には、一つの事象名をユーザから獲得する。この例では、表示されたプロンプト１２１３に対してユーザは事象名１２１４（ＥｖＹａ）を入力している。
【００６２】
次に、図９を用いて部分シーケンス選択時縮退処理１４２を説明する。
図９は、部分シーケンス選択時縮退処理１４２を示すフローチャートである。
【００６３】
部分シーケンス選択時縮退処理１４２は、図５のステップ２０６に示された処理であり、ユーザが選択した部分シーケンスに基づき、オリジナル状態遷移表１１１から、縮退後状態遷移表１１４を作成する処理である。
【００６４】
先ず、シーケンス選択部分実現状態遷移表作成処理をおこなう（ステップ８０１）。シーケンス選択部分実現状態遷移表作成処理は、指定されたシーケンス図の範囲を実現するシーケンス選択部分実現状態遷移表８００を作成する処理であり、後に、図１０を用いて詳細に説明する。シーケンス選択部分実現状態遷移表作成処理によって作成されるシーケンス選択部分実現状態遷移表８００は、シーケンス図−状態遷移表対応データ１１３に、指定された部分に印をつけたものである。具体的な例は、後に、図１１を用いて詳細に説明する。
【００６５】
次に、シーケンス選択部分実現状態遷移表補完処理をおこなう（ステップ８０２）。シーケンス選択部分実現状態遷移表補完処理は、ステップ８０１で作成した状態遷移表８００を、ユーザの意図に従って補完し、修正する処理であり、後に、図１２を用いて詳細に説明する。
【００６６】
次に、ステップ８０２によって修正された状態遷移表において、印がついた状態の集合と、印がついた事象の集合とで構成される空間を切り出し、部分シーケンス選択時縮退処理１４２が求める縮退後状態遷移表１４１とする（ステップ８０３）。
【００６７】
次に、図１０を用いてシーケンス選択部分実現状態遷移表作成処理について説明する。
図１０は、シーケンス選択部分実現状態遷移表作成処理を示すフローチャートである。
【００６８】
このシーケンス選択部分実現状態遷移表作成処理は、図９のステップ８０１の処理である。
【００６９】
先ず、シーケンス図−状態遷移表対応データ１１３の内容をそのままコピーし、初期のシーケンス選択部分実現状態遷移表８００とする（ステップ９０１）。
【００７０】
次に、以降のステップでシーケンス図に基づいた状態遷移をトレースするため、全プロセスの状態を各プロセスの「開始状態」欄に記載された状態とする（ステップ９０２）。
【００７１】
次に、シーケンス図仕様１１２に記載された最初の事象を選択する（ステップ９０３）。
【００７２】
次に、選択した事象が、選択部分シーケンス獲得１３２を用いてユーザが指定した範囲内か否かを判定する（ステップ９０４）。指定範囲内のものでないときには、すぐに、ステップ９１０に行く。
【００７３】
そして、指定範囲内の場合には、選択している事象の受信側プロセスのシーケンス選択部分実現状態遷移表８００で、その時点の状態と選択している事象とそれらの交点に印をつけ（ステップ９０５）。さらに、ステップ９０６とステップ９０７で選択中の事象が選択範囲の最初あるいは最後の事象であるかを判定し、最初の事象の場合には、状態遷移表８００の各プロセスの状態遷移表における「開始側」「送信事象」「開始状態」の各欄の値を設定し（ステップ９０８）、最後の事象の場合には選択中の事象の受信側プロセスの状態遷移表８００において、現時点での状態に印をつける（ステップ９０９）。
【００７４】
次に、選択中の事象の受信側プロセスの状態を、当該事象に基づいて遷移させる（ステップ９１０）。
【００７５】
そして、シーケンス図仕様１１２に、次の事象がないときには（ステップ９０１）、処理を終了し、次の事象があるときには（ステップ９０１）、その次の事象を選択し（ステップ９１２）、ステップ９０４に戻る。
【００７６】
次に、図１１を用いてシーケンス選択部分実現状態遷移表８００について説明する。
図１１は、シーケンス選択部分実現状態遷移表８００の一例を示す図である。
【００７７】
図１１に示されるシーケンス選択部分実現状態遷移表８００は、図４に例示したシーケンス図−状態遷移表対応データ１１３と図７の７０２でのシーケンス部分指定の内容を用いて、シーケンス選択部分実現状態遷移表作成処理が作成した場合の例を示したものてある。ここで、破線で囲んだ部分は、シーケンス選択部分実現状態遷移表作成処理によって印をつけた部分を表しており、指定されたシーケンス部分に直接的に関係する部分である。
【００７８】
次に、図１２を用いてシーケンス選択部分実現状態遷移表補完処理について説明する。
【００７９】
図１２は、シーケンス選択部分実現状態遷移表補完処理を示すフローチャートである。
【００８０】
このシーケンス選択部分実現状態遷移表補完処理は、図９のステップ８０２の処理である。
【００８１】
先ず、シーケンス選択部分実現状態遷移表８００において各プロセスの状態遷移表で印がついた状態と印がついた事象の交点の集合を全プロセスについてあわせたもの（印付き交点集合）を求める（ステップ１１０１）。
【００８２】
次に、印付き交点集合に未選択の交点があるか否かを判定し（ステップ１１０２）、ある場合には、未選択の交点を一つ選択し（ステップ１１０３）、それが印のついた交点であるか否かを判定する（ステップ１１０４）。
【００８３】
印のついた交点である場合には何もおこなわず、すなわち、その交点の動作は変更せずにステップ１１０２の判定に戻る。
【００８４】
一方、ステップ１１０４の判定で、印のついた交点でない場合には、出力装置１２０の状態遷移表表示１２２を用いてオリジナル状態遷移表１１１における選択中交点の動作内容を表示する（ステップ１１０５）。そして、入力装置１３０により、ユーザからシーケンス選択部分実現状態遷移表８００における選択中の交点の動作、すなわち、そこで発生させる事象と、状態の推移を入力させて、その交点における交点動作獲得１３５の処理をする（ステップ１１１１）。
【００８５】
このように、ユーザに選択中の交点の動作を入力させるのは、状態遷移表を縮退することにより、仕様の矛盾や不備が生じるのをユーザの意図によって補うためである。例えば、状態遷移表を縮退することにより、状態遷移表から削除される状態があり、その状態に、他の部分から推移する交点があるときには、推移する状態を他の状態に置き換える処理などがこれに該当する。
【００８６】
次に、状態遷移表８００の選択交点の動作を獲得した動作に置換する（ステップ１１０６）。ここで、交点動作獲得１３２がユーザから獲得する動作は、当該事象の受信を無視して動作を行なわないことを表す“−”か、当該事象の受信が仕様上ありえないことを示す“×”か、それ以外の動作（事象出力と状態遷移の指定）のいずれかである。
【００８７】
獲得した動作が、これらの３種のいずれであるかを判定し（ステップ１１０７）、“×”または“−”の場合には、ステップ１１０２の判定に戻る。
【００８８】
一方、ステップ１１０７の判定において、獲得した動作が事象出力と状態遷移の指定の場合には、事象出力先プロセスに関する状態遷移表８００においてユーザから獲得した事象に印をつけ（ステップ１１０８）、さらに、選択中交点のプロセスに対する状態遷移表８００においてユーザから獲得した遷移先の状態に印をつけ（ステップ１１０９）、印付き交点集合を更新し（ステップ１１１０）、ステップ１１０２の判定に戻る。
【００８９】
以上の処理を繰り返した上で、ステップ１１０２で未選択の交点がなくなったとき、シーケンス選択部分実現状態遷移表補完処理を終了する。
【００９０】
次に、図１３を用いて事象列置換選択時縮退処理１４３を説明する。
図１３は、事象列置換選択時縮退処理１４３を示すフローチャートである。
【００９１】
事象列置換選択時縮退処理１４３は、図２のステップ２０８に示す処理であり、ユーザが入力した事象列置換内容に基づき、状態遷移表の縮退をおこなう処理である。
【００９２】
先ず、置換対象事象列トレース処理をおこない、事象列置換処理用状態遷移表１３００に対してトレースしてトレース結果を求め、事象列置換処理用状態遷移表１３００に書き込む（ステップ１３０１）。
【００９３】
置換対象事象列トレース処理は、後に、図１４を用いて詳細に説明する。
【００９４】
次に、ステップ１３０１でトレース結果が書き込まれた作成した事象列置換処理用状態遷移表１３００を、事象列置換獲得１３３が獲得した内容に基づいて置換する（ステップ１３０２）。
【００９５】
この事象列置換処理は、後に、図１５を用いて詳細に説明する。
【００９６】
次に、ステップ１３０２で作成した事象列置換処理用状態遷移表１３００に基づき、事象列を置換した状態遷移表により、縮退後状態遷移表１１４を作成する（ステップ１３０３）。
【００９７】
この置換後状態遷移表補正処理は、後に、図１６を用いて詳細に説明する。
【００９８】
次に、図１４を用いて置換対象事象列トレース処理について説明する。
図１４は、置換対象事象列トレース処理を示すフローチャートである。
【００９９】
置換対象事象列トレース処理は、図１３のステップ１３０１で示した処理であり、選択された事象をトレースして事象列置換処理用状態遷移表１３００の関連する交点と、その事象、状態に対してカウンタ付きの番号をつける処理である。
【０１００】
先ず、シーケンス図−状態遷移表対応データ１１３の内容をそのままコピーし、初期の事象列置換処理用状態遷移表１３００とする（ステップ１４０１）。
【０１０１】
次に、以降のステップでシーケンス図に基づいた状態遷移をトレースするため、全プロセスの状態を各プロセスの「開始状態」欄に記載された状態とし（ステップ１４０２）、置換対象の事象をカウントするためのカウンタを初期化する（ステップ１４０３）。
【０１０２】
ステップ１４０４、１４１１、１４１２で構成される繰返し処理では、シーケンス図仕様１１２に記載された事象を順に選択し、選択した事象についてステップ１４０５〜１４１０をおこない、ステップ全ての事象が選択された段階で置換対象事象列トレース処理を終了する。
【０１０３】
先ず、シーケンス図仕様１１２に記載された最初の事象を選択する（ステップ１４０４）。
【０１０４】
次に、選択した事象が事象列置換内容獲得１３３で置換範囲として獲得した事象に含まれるか否かを判定する（ステップ１４０５）。
【０１０５】
範囲外の場合には、ステップ１４１０に行く。
【０１０６】
一方、範囲内の場合には、受信側プロセスの事象列置換処理用状態遷移表１３００で、その時点の状態と事象とそれらの交点にカウンタ番号付き印をつけ（ステップ１４０８）、カウンタをインクリメントする（ステップ１４０９）。特に、置換対象で最初の事象の場合（ステップ１４０６）には、送信側プロセスの状態遷移表で、直前に受信したときの交点に、カウンタ番号付き印をつける（ステップ１４０７）。
【０１０７】
そして、選択中の事象の受信側プロセスの状態を、当該事象に基づいて遷移させる（ステップ１４１０）。
【０１０８】
次に、シーケンス図仕様１１２に次の事象がないときには（ステップ１４１１）、処理を終了し、次の事象があるときには（ステップ１４１１）、そのシーケンス図仕様１１２に次の事象を選択し、ステップ１４０５に戻る（ステップ１４１２）。
【０１０９】
次に、図１５Ａおよび図１５Ｂを用いて事象列置換処理用状態遷移表１３００について説明する。
図１５Ａは、図８（ａ）で示される事象列置換の操作によって置換事象列を入力したときは事象列置換処理用状態遷移表１３００を示す図である。
図１５Ｂは、図８（ｂ）で示される事象列置換の操作によって置換事象列を入力したときは事象列置換処理用状態遷移表１３００を示す図である。
【０１１０】
ここで、丸番号は、カウンタ番号付き印であり、交点と、それに対応する事象と状態につけられる。
【０１１１】
次に、図１６を用いて事象列置換処理について説明する。
【０１１２】
図１６は、事象列置換処理を示すフローチャートである。
【０１１３】
事象列置換処理は、図１３のステップ１３０２の処理であり、事象列置換処理用状態遷移表１３００に対して、事象列置換獲得１３３が獲得した置換事象列に関する仕様を付加する処理である。
【０１１４】
先ず、事象列置換獲得１３３が獲得した置換事象列において、置換範囲の先頭と最後が逆方向の事象であるか同方向であるか、逆方向であるかを判定する（ステップ１６０１）。これは、図８において（ａ）と（ｂ）のいずれのタイプが指定されるかによって判定することができる。ステップ１６０１の判定において、逆方向である場合にはステップ１６０２〜１６０５の一連の処理を、同方向である場合にはステップ１６１１とステップ１６１２をおこなう。
【０１１５】
先ず、以降のステップで用いる交点を記憶している（ステップ１６０２）。
【０１１６】
次に、置換対象の最初の事象を出力するプロセスについて、その最初の事象の出力の代わりに第一の置換後事象を送信し、置換対象の最後の事象を受信するための状態に遷移するように動作を変更する（ステップ１６０３）。
【０１１７】
次に、第二の置換後事象を事象列置換処理用状態遷移表１３００に追加し、置換対象の最後の事象を受信した状態において第二の置換後事象を受信した場合に、置換対象の最後の事象を受信したときと同じ動作をするものとして動作を定める（ステップ１６０４）。
【０１１８】
次に、置換対象の最初の事象を受信するプロセスについて、第一の置換後事象を事象列置換処理用状態遷移表１３００に追加し、置換対象の最初の事象を受信する状態において第一の置換後事象を受信した場合に、置換対象の最初の事象を受信したときと同じ動作をするものとして動作を定める（ステップ１６０５）。
【０１１９】
ステップ１６０１の判定において、置換範囲の先頭と最後が逆方向の事象であるか同方向である場合の処理として、以下の処理をおこなう。
【０１２０】
先ず、置換対象の最初の事象を送信するプロセスについて、その最初の事象の出力の代わりに第一の置換後事象を送信し、置換対象の最後の事象を受信するための状態に遷移するように動作を変更する（ステップ１６１１）。
【０１２１】
次に、置換対象の最初の事象を受信するプロセスについて、置換後事象を象を事象列置換処理用状態遷移表１３００に追加し、置換対象の最初の事象を受信する状態において第一の置換後事象を受信した場合に、置換対象の最後の事象を受信したときと同じ動作をするものとして動作を定める（ステップ１６１２）。
【０１２２】
次に、図１７Ａおよび図１７Ｂを用いて事象列置換処理によって新たな置換事象列に関する仕様を付加した場合の事象列置換処理用状態遷移表１３００について説明する。
図１７Ａは、事象列置換処理が、図８（ａ）に例示した事象列置換内容に基づいて、新たな置換事象列に関する仕様を付加した事象列置換処理用状態遷移表１３００を示す図である。
図１７Ｂは、事象列置換処理が、図８（ｂ）に例示した事象列置換内容に基づいて、新たな置換事象列に関する仕様を付加した事象列置換処理用状態遷移表１３００を示す図である。
【０１２３】
図１７Ａにおいて、破線で囲んだ交点が、事象列置換処理によって動作を定められたものであり、ステップ１６０３が交点１７０１の、ステップ１６０４が交点１７０２の、ステップ１６０５が交点１７０３の動作を定めたものである。
【０１２４】
すなわち、プロセスＡに関する状態遷移表に、事象ＥｖＸｂを表す行が追加され、状態Ｓａ４の列との交点にあたる所に、交点１７０２の動作（Ｂ：Ｅｖ５ａ    →Ｓａ５）が記述され、プロセスＢに関する状態遷移表に、事象ＥｖＸａを表す行が追加され、状態Ｓｂ２の列との交点にあたる所に、交点１７０３の動作（Ｂ：ＥｖＸｂ    →Ｓｂ１）が記述されている。
【０１２５】
また、図１７Ｂにおいて、破線で囲んだ交点が、事象列置換処理によって動作を定められたものであり、ステップ１６１１が交点１７１０の、ステップ１６１２が交点１７１１の動作を定めたものである。
【０１２６】
すなわち、プロセスＢに関する状態遷移表に、事象ＥｖＹａを表す行が追加され、状態Ｓｂ１の列との交点にあたる所に、交点１７１１の動作（Ｂ：Ｅｖ５ｂ    →Ｓｂ２）が記述されている。
【０１２７】
次に、図１８を用いて置換後状態遷移補正処理について説明する。
図１８は、置換後状態遷移補正処理を示すフローチャートである。
【０１２８】
置換後状態遷移補正処理は、図１３のステップ１３０３に示す処理であり、事象列置換処理用状態遷移表１３００を補正して、最終的な縮退後状態遷移表１１４を作成する処理である。
【０１２９】
先ず、事象列置換処理用状態遷移表１３００の全プロセスの状態遷移表において置換で新設した事象欄で動作が未定の交点の状態を“−”とする（ステップ１８０１）。これは、新設した事象は特別なものであり、置換に関係した状態以外には必要とならないためである。
【０１３０】
次に、事象列置換処理用状態遷移表１３００の各プロセスの状態遷移表について、カウンタ付き印のついた状態のうち、最小・最大のもの以外を、状態ごと削除する（ステップ１８０２）。これは、置換によってスキップした中間状態を状態遷移仕様から削除するものであり、モデル検査ツールの適用時などでの状態探索空間の縮退に貢献する。ステップ１８０３〜１８０７は、事象列置換処理用状態遷移表１３００の全プロセスの状態遷移表においておこなわれる処理である。
【０１３１】
動作が定まっていない交点を一つ選択し（ステップ１８０４）、出力装置１２０の状態遷移表表示１２２を用いてオリジナル状態遷移表１１１における選択中交点の動作内容を表示する（ステップ１８０５）。
【０１３２】
そして、入力装置１３０からユーザに入力させて、事象列置換処理用状態遷移表１３００における選択中交点の動作を獲得し（ステップ１８０６）、状態遷移表１３００の選択交点の動作を獲得した動作に置換する（ステップ１８０７）。
【０１３３】
以上の処理を繰り返した上で、未選択の交点がなくなった時点で（ステップ１８０３）、事象列置換処理用状態遷移表１３００の内容を縮退後状態遷移表１１４ とし（ステップ１８０８）、置換後状態遷移表補正処理を終える。
【０１３４】
以上説明した本発明の第一の実施形態では、ユーザが指定した縮退観点と、シーケンス図を用いた詳細指定に基づいて、縮退後状態遷移表が必ず満たさなければならない部分については自動的に動作を決定し、複数の動作の可能性が考えられる部分については、ユーザに確認することによって動作を決定する。これによって、状態遷移表の縮退によって状態空間を狭めることができるという効果はもちろんのこと、状態遷移仕様の縮退時に人為的ミスによって誤りが起こる可能性を低減させることができる。
【０１３５】
また、二つの縮退観点は、固定的に自動選択されるようにして、ユーザを誘導するようにしてもよい。
【０１３６】
なお、本実施形態では、ユーザに二つの縮退観点から選択させるものであったが、縮退観点を一つに限定したものにすることも可能である。さらに、新たな縮退観点が必要になった場合には、その詳細内容を指定させる機能を入力装置１３０に持たせると共に、その観点に対応した縮退処理をプログラム格納メモリ１４０に搭載すればよい。
【０１３７】
〔実施形態２〕
以下、本発明に係る第二の実施形態を、図１９ないし図２３を用いて説明する。
【０１３８】
本発明の第二の実施形態は、状態遷移仕様の縮退時の人為的ミスによる誤りを防止するために、縮退後の動作を全て自動的に決定するものである。モデル検査ツールを用いる場合の検証には、大別すると、システム固有の性質を満たすか否かを検証するものと、デッドロックが存在しないことなどのように一般的に満たすべき性質を検証するものとがある。特に後者の場合には、その一般的な性質に対応した縮退内容が定まるので、本実施形態が適するものとなる。
【０１３９】
以下では、第一の実施形態と比較して、異なる所のみを重点的に採り上げて説明するものとする。
【０１４０】
先ず、図１９を用いて本発明の第一の実施形態に係る状態遷移表編集装置１９００の構成について説明する。
図１９は、本発明の第二の実施形態に係る状態遷移表編集装置１９００の構成図である。
【０１４１】
図１に示した第一の形態における状態遷移表縮退装置１００との違いは、プログラム格納メモリ１４０に格納された部分シーケンス選択時縮退処理モジュール１９４２ｍと事象列置換選択時縮退処理モジュール１９４３ｍの動作が、縮退後状態遷移表の動作を自動的に決定するものであるため、入力装置１９３０から交点動作を獲得する処理がないことである。
【０１４２】
次に、図２０を用いて本発明の第二の実施形態に係る部分シーケンス選択時縮退処理１９４２について説明する。
図２０は、第二の実施形態に係る部分シーケンス選択時縮退処理１９４２を示すフローチャートである。
【０１４３】
この部分シーケンス選択時縮退処理１９４２は、第一の実施形態の図５のステップ２０６、図９に該当する処理である。
【０１４４】
第一の実施形態の図９と比較して、シーケンス選択部分実現状態遷移表補完処理（２）（ステップ２００２）のみが異なっている。シーケンス選択部分実現状態遷移表補完処理（２）については、後に、図２２を用いて詳細に説明する。
【０１４５】
次に、図２１を用いて本発明の第二の実施形態に係る事象列置換選択時縮退処理１９４３について説明する。
【０１４６】
図２１は、第二の実施形態に係る事象列置換選択時縮退処理１９４３を示すフローチャートである。
【０１４７】
この事象列置換選択時縮退処理１９４３は、第一の実施形態の図５のステップ２０８、図１３に該当する処理である。
【０１４８】
第一の実施形態の図１３と比較して、置換後状態状態遷移表補正処理（２）（ステップ２１０３）のみが異なっている。置換後状態状態遷移表補正処理（２）については、後に、図２３を用いて詳細に説明する。
【０１４９】
次に、図２２を用いてシーケンス選択部分実現状態遷移表補完処理（２）を説明する。
図２２は、シーケンス選択部分実現状態遷移表補完処理（２）のフローチャートである。
【０１５０】
シーケンス選択部分実現状態遷移表補完処理（２）は、図２０の部分シーケンス選択時縮退処理１９４２のステップ２００２でおこなう処理であり、第一の実施形態の図１２に対応する。
【０１５１】
本実施形態では、図１２のステップ１１０５とステップ１１１１が、ステップ２２０５に置き換わっている。図１２においてステップ１１０５でオリジナル状態遷移表１１１における選択中交点の動作内容を表示して、ステップ１１１１において入力装置１３０の交点動作獲得１３５を用いて選択中交点の動作を獲得していたものを、本実施形態のステップ２２０５では自動的に、オリジナル状態遷移表１１１において選択中の交点と同一の事象・イベントである交点の動作を選択中の交点の動作とする。したがって、ユーザから動作を入力させることなく、部分シーケンス選択時縮退処理１９４２が実現可能である。
【０１５２】
次に、図２３を用いて置換後状態遷移表補正処理（２）を説明する。
図２３は、置換後状態遷移表補正処理（２）を示すフローチャートである。
【０１５３】
置換後状態遷移表補正処理（２）は、図２１の事象列置換選択時縮退処理１９４３のステップ２１０３でおこなう処理であり、第一の実施形態の図１８に対応する。本実施形態では、図１８のステップ１８０５とステップ１８０６が、ステップ２３０５に置き換わっている。図１８においてステップ１８０５でオリジナル状態遷移表１１１における選択中交点の動作内容を表示しながらステップ１８０６において入力装置１３０の交点動作獲得１３５を用いて選択中交点の動作を獲得していたものを、本実施形態のステップ２３０５では自動的に、オリジナル状態遷移表１１１において選択中の交点と同一の事象・イベントである交点の動作を選択中の交点の動作とするので、ユーザから動作を入力させることなく、事象列置換選択時縮退処理１９４３が実現可能である。
【０１５４】
〔実施形態３〕
以下、本発明に係る第三の実施形態を、図２４および図２５を用いて説明する。
【０１５５】
以上の二つの実施形態においては、オリジナル状態遷移表１１１とシーケンス図仕様１１２とシーケンス図−状態遷移表対応データ１１３が、整合性を持って記憶装置・記憶媒体１１０に格納されていることを前提としている。
【０１５６】
本実施形態では、本発明による状態遷移表編集装置を用いて、オリジナル状態遷移表１１１に対して、関心のあるシステム挙動を示すシーケンス図仕様１１２を作成する際に、同時にシーケンス図−状態遷移表対応データ１１３を作成することにより、シーケンス図仕様１１２とシーケンス図−状態遷移表対応データ１１３を予め用意することを不要とするものである。
【０１５７】
以下では、第一の実施形態と比較して、異なる所のみを重点的に採り上げて説明するものとする。
【０１５８】
先ず、図２４を用いて本発明の第三の実施形態に係る状態遷移表編集装置の構成について説明する。
図２４は、本発明の第三の実施形態に係る状態遷移表編集装置２４００の構成図である。
【０１５９】
図１に示した第一の形態における状態遷移表縮退装置１００との違いは、プログラム格納メモリ１４０に、シーケンス図生成処理モジュール２４４０ｍを格納しているとともに、格納されている全体実行制御処理（２）モジュール２４４１がシーケンス図生成処理モジュール２４４０ｍも制御することである。
【０１６０】
次に、図２５を用いて全体実行制御処理（２）２４４１について説明する。
【０１６１】
図２５は、全体実行制御処理（２）２４４１を示すフローチャートである。
【０１６２】
図５の全体実行制御処理１４１との違いは、ステップ２０１においてシーケンス図仕様１１２とシーケンス図−状態遷移表対応データ１１３を読み込んでいた代わりに、本実施形態においては、オリジナル状態遷移表を読み込み（ステップ２５０１）、その読み込んだオリジナル状態遷移表１１１に基づいて、シーケンス図生成処理２４４０によってシーケンス図仕様１１２とシーケンス図−状態遷移表対応データ１１３を生成し（ステップ２５０２）、記憶装置・記憶媒体１１０に格納する（ステップ２５０３）ことである。
【０１６３】
なお、シーケンス図生成処理２４４０は、上記の特許文献２や、特許文献２において従来技術として記載されている公知の技術を用いて実現可能である。これらの従来技術においては、シーケンス図を生成する際に、状態遷移表上の交点を辿るので、その際の履歴をシーケンス図−状態遷移表対応データの作成に用いる。
【０１６４】
これにより、ユーザは、オリジナル状態遷移表１１１を記憶装置・記憶媒体１１０に用意するだけで、所望の動作に対するシーケンス図仕様１１２を生成し、さらに前記所望の動作に対するシーケンス図１１１を用いて、状態遷移表の縮退観点を指定できるので、状態遷移表の縮退に関する一連の作業がシームレスになり、作業効率が格段に向上するという効果が得られる。
【符号の説明】
【０１６５】
１００…状態遷移表編集装置（第一の実施形態）
１９００…状態遷移表編集装置（第二の実施形態）
２４００…状態遷移表編集装置（第三の実施形態）。
【図１】
2010250422.tif 000003
【図２】
2010250422.tif 000004
【図３】
2010250422.tif 000005
【図４】
2010250422.tif 000006
【図５】
2010250422.tif 000007
【図６】
2010250422.tif 000008
【図７】
2010250422.tif 000009
【図８】
2010250422.tif 000010
【図９】
2010250422.tif 000011
【図１０】
2010250422.tif 000012
【図１１】
2010250422.tif 000013
【図１２】
2010250422.tif 000014
【図１３】
2010250422.tif 000015
【図１４】
2010250422.tif 000016
【図１５Ａ】
2010250422.tif 000017
【図１５Ｂ】
2010250422.tif 000018
【図１６】
2010250422.tif 000019
【図１７Ａ】
2010250422.tif 000020
【図１７Ｂ】
2010250422.tif 000021
【図１８】
2010250422.tif 000022
【図１９】
2010250422.tif 000023
【図２０】
2010250422.tif 000024
【図２１】
2010250422.tif 000025
【図２２】
2010250422.tif 000026
【図２３】
2010250422.tif 000027
【図２４】
2010250422.tif 000028
【図２５】
2010250422.tif 000029