(57)【特許請求の範囲】
【請求項１】
シーケンス図作成システムにおいて、
作業画面にイベント線が描画されるたび、描画されたイベント線に対応付けるイベント名の候補をデータベースから読み出して選択可能に表示する手段と、
イベント名の選択入力が検出されると、当該イベント名に必須の引数項目と引数型の入力欄で構成される登録ダイアログを表示する手段と、
引数項目と引数型に対する入力の確定が検出されると、確定された入力値をイベント名と関連付けてデータベースに登録する手段と、
作業画面にイベント線が描画されるたび、イベント線の描画位置の座標値を取得する手段と、
取得された座標値と起点となる座標値との時間軸方向の差分値に基づいて時間間隔を取得する手段と、
取得された時間間隔に、データベースから読み出した単位時間数を乗算し、イベント発生時間を算出する手段と、
算出されたイベント発生時間を、描画されたイベント線の近傍位置に表示する手段と
を有することを特徴とするシーケンス図作成システム。
【請求項２】
請求項１に記載のシーケンス図作成システムにおいて、
ソース・コードファイルからイベント定義情報を読み出す手段と、
読み出されたイベント定義情報に基づいて、シーケンスの作成のために用意されたイベント名と、各イベント名に必須の登録項目である引数項目と引数型で構成されるイベント定義データを生成する手段と
を有することを特徴とするシーケンス図作成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シーケンス図作成システムに関する。例えば外部システム又はハードウェアとの間でイベントを送受信するソフトウェアシステムの開発に使用するシーケンス図の作成に使用するシステムに関する。
【背景技術】
【０００２】
ハードウェアの高性能化、製品の高機能化等に伴い、該当システム又は仕様モデルとの間で実行されるイベントの送受信タイミングのテストが必要となっている。一般に、リアルタイムでイベントが発生するソフトウェアシステムのテストシナリオの作成には、ＵＭＬ（Unified Modeling Language）ツールのシーケンス図作成機能が使用される。この場合、シーケンス図の作成後に、イベントの引数データ（以下、「イベントデータ」ともいう。）を設定することにより、シナリオが作成される。
【０００３】
しかし、イベントデータの設定には、別に用意されたドキュメントやソースコードの参照が必要とされる。また、イベントの発生時間は、別途、シナリオに設定する必要がある。このため、現在、シナリオの作成に多大な時間を要している。また、テストの準備工数も過大になっている。
【０００４】
このため、テスト準備工数も含むテスト全体の工数削減が求められている。この種の技術に、テスト対象装置とのインタフェースコマンドの名称と属性、コマンドデータ、パラメータデータを事前に定義しておき、コマンド単体実行、複数コマンドの結合実行、複数コマンドを指定順（シーケンス）に実行するテスト支援システムがある（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平８−２２１２９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１は、データ処理装置における入出力装置のテストの実行と管理の支援を目的とする。特許文献１のシステムでは、テスト対象装置の機種依存部分をコマンド関数ライブラリとして別に持ち、テストに使用するコマンド関数の内容は定義画面上で定義を可能とする。また、コマンド実行時にコマンド定義を参照してパラメータ入力が必要な場合、コマンド入力画面を出力して、パラメータの入力を促す機能を持つ。さらに、コマンドに対するエラーメッセージの詳細表示、コマンド結果と期待値の自動検証機能などのテスト支援機能を提供することで、テスト工数の削減を実現している。
【０００７】
しかし、ハードウェアの高性能化、製品の高機能化等により、発生するイベントに対するリアルタイムでの動作確認が必要になっている。従来は、ＵＭＬツールのシーケンス図作成機能を使用してシーケンス図を作成し、その後、イベントの引数データを設定してシナリオを作成する手法が採用される。ところが、前述の通り、イベントデータの設定は、別に用意したドキュメント及びソースコードを参照しながらの作業であり、イベントの発生時間についてもシナリオに発生時間を設定することで実現する。このため、シナリオの作成に多大な時間を要している。
【０００８】
そこで、本発明は、イベントデータの入力を支援する機能を有するシーケンス図の作成システムを提供することにより、イベントデータの入力負担の軽減とテスト準備工数の削減とを実現することを目的とする。
【課題を解決するための手段】
【０００９】
この目的のため、本発明は、作業画面にイベント線が描画されるたび、描画されたイベント線に対応付けるイベント名の候補を作業画面上に選択可能に表示する機能と、イベント名が選択入力されると、選択入力されたイベント名に必須の引数項目と引数型の入力欄で構成される登録ダイアログを作業画面上に表示する機能と、引数項目と引数型に対する入力の確定が検出されると、確定された入力値をイベント名と関連付けてデータベースに登録する機能をシーケンス図作成システムに搭載する。
【発明の効果】
【００１０】
本発明によれば、全てのイベント線の描画が完了してシーケンス図が完成した時点において、シナリオの作成に必要なイベントデータの入力も完了させることができる。しかも、イベントデータの入力は、イベント線毎に対応するイベント名と、当該イベント名に必須の引数項目と引数型の入力欄で構成された登録ダイアログを用いるため、必要最小限の作業量でイベントデータの入力を完了できる。
【図面の簡単な説明】
【００１１】
【図１】シーケンス図作成システムの構成例を示す図。
【図２】シーケンス図の作成例と個々のイベント線に対応するイベント情報の登録例を示す図。
【図３】ソースコードにおける定義の作成例を示す図。
【図４】環境設定画面の表示例を示す図。
【図５】シーケンスの作図手順を示す図。
【図６】イベント名と詳細データの入力を補助するダイアログ画面の表示例を示す図。
【図７】イベントの入力確定からシーケンス図の作成完了までの画面推移を説明する図。
【図８】イベント定義データの構造と格納される定義データの一例を示す図。
【図９】シナリオデータを構成するテーブルの構造例とシーケンス関連データ例を示す図。
【図１０】全体制御部で実行される処理の概要を説明するフローチャート。
【図１１】環境設定部で実行される処理の概要を説明するフローチャート。
【図１２】入力補助データ変換部で実行される処理の概要を説明するフローチャート。
【図１３】シーケンス作図部で実行される処理の概要を説明するフローチャート。
【図１４】時間軸管理部で実行される処理の概要を説明するフローチャート。
【図１５】イベントデータ入力部で実行される処理の概要を説明するフローチャート（その１）。
【図１６】イベントデータ入力部で実行される処理の概要を説明するフローチャート（その２）。
【発明を実施するための形態】
【００１２】
以下、図面に基づいて、本発明の実施の形態を説明する。なお、後述する装置構成や処理動作の内容は発明を説明するための一例であり、本発明は、後述する装置構成や処理動作に既知の技術を組み合わせた発明や後述する装置構成や処理動作の一部を既知の技術と置換した発明も包含する。
【００１３】
（システム構成）
図１に、実施の形態で使用するシーケンス図作成システムの機能構成図を示す。シーケンス図作成システムは、操作入力を受け付けるＧＵＩ（入出力装置１と作業画面２）と、操作入力に対する処理を実行する処理装置３によって構成される。処理装置３は、コンピュータを基本構成とし、ハードウェア資源としてＣＰＵやメモリを有している。また、処理装置３は、シーケンス図の作成を支援するＧＵＩの表示機能やデータの処理機能を、コンピュータ上で実行されるプログラムの一部の機能として実現する。以下では、プログラムを通じて実現されるシーケンス図の作成支援機能を、イベントシーケンス図作成支援システム４という。
【００１４】
イベントシーケンス図作成支援システム４は、システム全体を制御する全体制御部５と、環境データ１５を入力する環境設定部６と、ソース・コードファイル１６に基づいて入力補助データを作成する入力補助データ変換部７と、シーケンス図の作成と並行してイベント情報（イベント名及び関連するパラメータ）を設定するシーケンス編集部８と、入力補助データ、シーケンス関連データを保持するデータベース１２とで構成されている。
【００１５】
シーケンス編集部８は、シーケンス作図部９と、イベント発生時間を管理する時間軸管理部１０と、イベント情報（イベント名及び関連する引数）の設定を制御するイベントデータ入力部１１とで構成される。
【００１６】
データベース１２は、入力補助データ変換部７で生成されるイベント定義データ１３と、シーケンス図の作成に関連する情報を保持するシナリオデータ１４とで構成される。
【００１７】
（シーケンス図とイベント情報）
図２に、シーケンス図作成システムによって作成されるイベントシーケンス図２０１と作成中に表示されるイベント情報２０７を示す。イベントシーケンス図２０１は、試験開始ターミナルである入室イベント生成２０２と、試験対象ターミナルである入室管理システム２０３との間で発生するイベントの手順を示す。図２の場合、イベント線２０４とイベント名２０５によって、試験開始ターミナル２０２から試験対象ターミナル２０３に「ＩＤ登録」イベントが送信されることを示す。また、試験開始ターミナル２０２の縦軸は時間経過２０６を表しており、経過時間１０００で「ＩＤ登録」イベントが発生していることを意味する。この経過時間を、特許請求の範囲では、「イベント発生時間」という。
【００１８】
イベント情報２０７は、「ＩＤ登録」イベントの詳細情報の入力状態を表示する画面である。図２の場合、送信イベントのイベント名２０８と、イベントの詳細引数２０９が表示されている。図２は、送信イベントに対応する名称（イベント名称）は、コンボボックス２１０に表示される候補の中から選択可能な場合を表している。選択されたイベント名に引数が登録されている場合、イベント情報２０７には、引数項目と引数型が追加的に表示される。なお、引数が選択型のデータの場合、コンボボックス２１１により設定データが選択的に入力可能な状態で表示される。これらの表示を通じて、ユーザによる詳細引数２０９のデータ設定を支援する。
【００１９】
（ソースコードの定義例）
図３に、イベントの入力とその詳細データの入力を支援するために、ユーザがソースコード上に記述する定義例を示す。図３に示すソースコード３０１では、イベントクラスの定義３０２と、インスタンス変数の発生時間３０３が定義され、イベント名３０５がサブクラス３０４として定義される。また、イベントが引数を有する場合、サブクラスのインスタンス変数として引数３０６を定義する。サブクラスは使用するイベントについて全て定義が必要である。
【００２０】
（シーケンス図の作成処理）
以下、シーケンス図の新規作成時に実行される操作手順を説明する。
【００２１】
(1) 環境設定
図４は、シーケンス図の作成、イベントとイベント詳細データの設定補助のために必要な環境設定画面の表示例を示す。環境設定画面４０１は、編集シーケンス名に対応する入力欄４０２と、ソースファイル名に対応する入力欄４０４と、時間間隔に対応する入力欄４０６を有する。各入力欄に情報が入力された段階で編集ボタン４０７がクリックされると、環境設定部６が作業画面２から環境データ１５が取り込まれる。入力補助データ変換部７は、取り込まれた環境データ１５に基づいて、イベント定義データ１３やシナリオデータ１４を作成する。これらのデータは、シーケンス図の作成、イベント及びその詳細データの入力補助に使用される。これらのデータが作成されると、シーケンス作図部９が起動され、シーケンスの作成が可能になる。
【００２２】
環境設定画面４０１には、既に作成しているシーケンスの変更時における入力を簡易化するために参照ボタン４０３が用意される。参照ボタン４０３がクリックされると、既に作成されているシーケンスを選択的に入力できる。同様に、既に作成しているソースファイルの変更時における入力を簡易化するために、環境設定画面４０１には参照ボタン４０５が用意される。参照ボタン４０５がクリックされると、設定対象であるシーケンスに対応するソースファイルを選択的に入力できる。なお、キャンセルボタン４０８がクリックされると、環境設定画面４０１の設定内容が消去される。
【００２３】
(2) シーケンス図の作成画面
図５に、シーケンス図の作成手順を示す。シーケンス作図部９が起動されると、初期画面として、図５（Ａ）に示すシーケンス画面５０１が表示される。シーケンス画面５０１は、シーケンス名表示部５０２、シーケンス作成完了ボタン５０３、デフォルト試験開始ターミナル５０４、デフォルト試験対象ターミナル５０５で構成される。シーケンス名表示部５０２には、環境設定画面４０１の編集シーケンス名で設定されたシーケンス名が表示される。この段階で、デフォルト試験開始ターミナル５０４とデフォルト試験対象ターミナル５０５のタイトル欄は空白である。
【００２４】
次に、ユーザは、図５（Ｂ）に示すシーケンス画面５０６のように、デフォルト試験開始ターミナルに「入室イベント生成」５０７を入力し、デフォルト試験対象ターミナルに「入室管理システム」５０８を入力する。これらの入力は、不図示のキーボードやマウスが使用される。
【００２５】
続いて、ユーザは、「入室イベント生成」５０７の時間軸から「入室管理システム」の時間軸に対して、マウス操作によりイベント線５０９を描画する。ただし、この時点においてシーケンスの入力は未確定である。従って、イベント線５０９は、青色の破線で表示され、未確定であることが画面上で確認できるようにしている。なお、イベント線５０９が描画されると、そのイベント発生時間５１０が自動的に算出され、イベント線５０９の左側に表示される。
【００２６】
イベント発生時間５１０は、試験開始ターミナルである「入室イベント生成」の時間軸の起点を０時間とし、当該起点から画面下方向への距離で定義される経過時間に基づいて算出される。経過時間は、表示画面上の 0.1cmを１単位時間として計算する。起点からイベント線５０９の開始位置までの単位時間数５１１が１０単位時間であり、図４で設定した時間間隔の設定が 100であった場合、イベント発生時間は、次式により計算される。
【００２７】
イベント発生時間＝単位時間数×時間間隔
＝１０×１００＝１０００
【００２８】
イベント発生時間を規定する単位時間は、テストの実施環境、テスト対象であるシステムの周期により異なる。このため、０時間からの絶対時間数で表現する。
【００２９】
図６に、イベント名と対応する詳細データの入力を支援するダイアログ画面の表示例を示す。図６に示すダイアログ画面は、図５（Ｂ）でイベント線５０９が描画されると直ちに表示される。
【００３０】
図６（Ａ）に示すイベント情報画面は、発生イベントを選択する画面である。コンボボックス６０１には、ソースコード３０１（図３）のサブクラスとして定義された全てのイベント名３０５が一覧形式により選択可能に表示される。イベント名３０５の入力は、コンボボックスの該当イベントを選択することでシステムに受け付けられる。また、イベントの内容の確定に使用される確定ボタン６０２が表示される。
【００３１】
図６（Ｂ）に示すイベント情報画面は、コンボボックス６０１におけるイベント名６０３の選択が完了後に表示される。図６（Ｂ）では、「ＩＤ登録」イベントが選択された様子を示している。イベント名６０３が選択されると、選択されたイベント名について定義されている引数情報（すなわち、クラス定義のインスタンス変数「発生時間」と、サブクラスに定義されている全インスタンス変数３０６）が引数項目６０８として追加的に表示される。「ＩＤ登録」イベントの場合、引数項目６０８として、カードＩＤ６０４、利用者６０５、有効表示６０６の引数、イベント共通引数である発生時間６０７が表示される。なお、各引数項目６０８は、引数名、型、入力欄が一組として表示される。
【００３２】
図６（Ｃ）に示すイベント情報画面は、個々の引数情報の入力画面である。なお、発生時間６０７だけは、図６（Ｂ）の段階で自動設定されている。他の引数情報については、ユーザがデータを入力する。例えばカードＩＤ６０９は、seq of char型であることが表示されているので、利用者は、文字列データを入力する。例えば有効表示６１１は、選択型であることが表示されているので、利用者は、コンボボックスに表示される入力値の中から入力値を選択する。全ての入力が終わると、確定ボタン６０２がクリックされ、イベント入力が確定される。
【００３３】
図７に、前述したイベントの入力開始からシーケンス図の作成完了までの作業画面に表示される画面内容の遷移の様子を示す。図７（Ａ）は、イベント名の選択とイベントの引数入力が全て完了し、描画したイベント線に対応付けるイベントの内容を確定する時点で表示されるイベント情報画面の例である。イベント情報の確定は、イベント情報画面７０１の確定ボタン７０２をクリックすることにより実行される。イベントの入力が確定されると、図７（Ｂ）に示すように、シーケンス図７０３上でのイベント線７０５の描画も確定する。すなわち、イベント線７０５の表示は、青色の破線から黒色の実線へと変化する。また、描画されたイベント線７０５の上方位置には、イベント名７０４を示す「ＩＤ登録」が表示さる。
【００３４】
この後、同様の手順により、「入室管理システム」から「入室イベント発生」に向けてイベント線が描画される。このイベント線は、ＩＤ登録完了イベントの入力に対応する。図７（Ｃ）は、イベント名として「ＩＤ登録完了」イベントが選択され、その後、「ＩＤ登録完了」イベントに関連する引数が設定入力された様子を表している。この表示画面において、確定ボタン７０７がクリックされることで、図７（Ｄ）に示すシーケンス画面７０８が表示される。図７（Ｄ）では、入力が確定した「ＩＤ登録完了」イベントを表すイベント線が実線で表示され、イベント線の上方位置にはイベント名が表示される。以上により、「カードＩＤ登録シーケンス」が作成される。シーケンス図の作成完了は、シーケンス画面７０８の完了ボタン７０９をクリックすることで確定する。シーケンス図の作成過程で入力されたデータは、データベース１２にシナリオデータ１４として格納される。この実施例では、シーケンス図の作成が完了した時点でテストシナリオのデータも完成する。
【００３５】
（データベースのデータ構造）
以下、データベース１２に保持するデータの構造を説明する。
【００３６】
(1) イベント定義データ
図８に、イベント定義データ１３の構造と格納される定義データの一例を示す。図８に示すイベント定義データ１３は、「イベント名」８０１、「引数名１」８０２、「引数型１」８０３、「引数名２」８０４、「引数型２」８０５、「引数名３」８０６、「引数型３」８０７、「引数型ｎ」８０８の各定義データから構成される。「ｎ」は、ソースコードに定義されたサブクラスの最大のインスタンス変数の定義数で決まる。イベント毎にイベントの引数名と、定義されたインスタンス変数を引数としてその引数名と引数型とを登録する。引数が無い場合や引数が最大定義数に満たない場合は、未使用の引数名、引数型カラムに「null」を設定する。
【００３７】
ここでは、図３で説明したソースコード３０１のサブクラス３０４を例に説明する。この場合、「イベント名」８０１に「ＩＤ登録」が、「引数名１」８０２に「カードＩＤ」が、「引数型１」８０３に「seq of char」が、「引数名２」８０４に「利用者」が、「引数型２」８０５に「seq of char」が、「引数名３」８０６に「有効表示」が、「引数型３」８０７に「<有効>|<無効>」が、以降最大引数型のカラムまで「null」が設定される。
【００３８】
イベント定義データ１３は、イベント情報画面でのイベント項目、引数項目、型の表示、引数項目に対するデータ入力のチェックなど、イベント情報の入力支援に使用される。
【００３９】
(2) シナリオデータ
図９に、シナリオデータの各テーブルとその構造、格納されるシーケンス関連データの一例を示す。シナリオデータは、図９（Ａ）に示すシーケンス管理テーブル９０１と、図９（Ｂ）に示すシーケンステーブル９０７と、図９（Ｃ）に示すイベント別引数テーブル９１１で構成される。
【００４０】
図９（Ａ）に示すシーケンス管理テーブル９０１は、シーケンスＩＤ９０２、シーケンス名９０３、時間間隔９０４、試験開始ターミナル名９０５、試験対象ターミナル名９０６で構成される。各シーケンスにはシーケンスＩＤ９０２が付与される。また、環境設定画面の編集シーケンス名の入力情報がシーケンス名９０２の対応カラムに設定される。また、環境設定画面の時間間隔４０６が、時間間隔９０４に設定される。また、ユーザが指定した試験開始ターミナルの名「入室イベント生成」が、試験開始ターミナル名９０５に設定される。また、ユーザが設定した試験対象ターミナルの名「入室管理システム」５０８が、試験対象ターミナル名９０６に設定される。
【００４１】
図９（Ｂ）に示すシーケンステーブル９０７は、シーケンス上のイベント発生順、送受信方向を管理するテーブルである。シーケンステーブル９０７は、シーケンスＩＤ毎に作成される。シーケンステーブル９０７は、イベント番号９０８、イベント名９０９、送受信種別９１０で構成される。イベント番号９０８には、シーケンス図の最上位イベントから順番に番号が付与される。イベント番号に対応するイベント名は、イベント名９０９のカラムに設定される。また、イベント番号に対応する送受信種別９１０のカラムには、試験開始ターミナルの側から見たイベントの送受信方向が設定される。
【００４２】
図９（Ｃ）に示すイベント別引数テーブル９１１は、イベント毎に作成されるテーブルである。イベント別引数テーブル９１１は、シーケンスＩＤとイベントＩＤ毎にイベントの引数データを格納するテーブルである。イベント別引数テーブル９１１の構成は、イベントによって異なる。図３に示すソースコード３０１のサブクラス定義３０４の場合、シーケンスＩＤ９１２、イベント番号９１３、カードＩＤ９１４、利用者９１５、有効表示９１６、発生時間９１７で構成される。このテーブルには、イベント情報画面で入力された引数項目の全てのデータが設定される。
【００４３】
（各部で実行される処理動作）
以下、イベントシーケンス図作成支援システム４で実行される処理動作の概要を説明する。
【００４４】
(1) 全体制御部の処理動作
図１０に、全体制御部５で実行される処理動作の概要を示す。まず、全体制御部５は、環境設定画面を表示し（ステップ１００１）、ユーザ操作の待ち受け状態になる（ステップ１００２）。この後、全体制御部５は、キャンセルボタンがクリックされたか否かを判定する（ステップ１００３）。キャンセルボタンのクリックが検出された場合（肯定結果が得られた場合）、処理を終了する。
【００４５】
これに対し、ステップ１００３で否定結果が得られた場合、全体制御部５は、編集ボタンがクリックされたか否かを判定する（ステップ１００４）。編集ボタンがクリックされていない場合（否定結果の場合）、ステップ１００２に戻る。一方、編集ボタンのクリックが検出された場合、全体制御部５は、未入力項目の有無を確認する（ステップ１００５）。
【００４６】
未入力項目がある場合（肯定結果の場合）、全体制御部５は、未入力ダイアログログ画面を表示する（ステップ１００９）。一方、全項目が入力されている場合（ステップ１００５で否定結果の場合）、全体制御部５は、環境設定部６の設定処理（ステップ１００６）、入力補助データ変換部７の変換処理（ステップ１００７）、シーケンス作図部９の作図処理（ステップ１００８）を順番に起動する。
【００４７】
(2) 環境設定部の処理動作
図１１に、環境設定部６で実行される処理動作の概要を示す。環境設定部６は、編集シーケンス名を環境データ１５に取り込み（ステップ１１０１）、ソース・コードファイル名を環境データ１５に取り込み（ステップ１１０２）、時間間隔を環境データ１５に取り込む（ステップ１１０３）。
【００４８】
(3) 入力補助データ変換部の処理動作
図１２に、入力補助データ変換部７で実行される処理動作の概要を示す。入力補助データ変換部７は、イベント定義データが既に作成済みか否かを判定する（ステップ１２０１）。作成済みの場合（肯定結果の場合）、入力補助データ変換部７は、処理を終了する。一方、未作成の場合（否定結果の場合）、入力補助データ変換部７は、ソース・コードファイルを取り込む（ステップ１２０２）。
【００４９】
この後、入力補助データ変換部７は、サブクラスの定義有無を判定する（ステップ１２０３）。ここで、サブクラス定義が無い場合（肯定結果の場合）、入力補助データ変換部７は処理を終了する。これに対し、サブクラス定義がある場合（否定結果の場合）、入力補助データ変換部７は、イベント定義データ１３を生成する（ステップ１２０４）。その際、イベント名とイベント型のカラムは、ソース・コードファイルで定義されている全てのサブクラスのうち最大のインスタンス変数が定義されているサブクラスのインスタンス変数定義数とする。
【００５０】
イベント定義データ１３の生成後、入力補助データ変換部７は、イベントクラスの最初のサブクラス名をイベント名として変数Ｘに設定し（ステップ１２０５）、イベント定義テーブル９０１のイベント名カラム９０９にＸを設定する（ステップ１２０６）。その後、入力補助データ変換部７は、Ｘの引数テーブル９１１を生成する（ステップ１２０７）。
【００５１】
なお、ステップ１２０８の判定においてサブクラスにインスタンス変数が無かった場合（肯定結果の場合）、入力補助データ変換部７は、次のサブクラス定義の有無を確認し（ステップ１２１５）、無い場合には処理を終了する。これに対して、ステップ１２０８の判定において次のサブクラスにインスタンス変数がある場合、引数カウンタ変数ｉに１を設定し（ステップ１２０９）、イベント定義データ１３の引数名ｉカラム及び引数型ｉカラムにｉ番目のインスタンス変数名、型を設定し（ステップ１２１０、１２１１）、Ｘの引数テーブル９１１にｉ番目のインスタンス変数名及び型でカラムを追加する（ステップ１２１２）。
【００５２】
その後、入力補助データ変換部７は、引数カウンタ変数ｉをインクリメントしてサブクラスにｉ番目のインスタンス変数定義があるか判定し（ステップ１２１３、１２１４）、ある場合には全てのインスタンスについて処理を繰り返す。これに対し、ステップ１２１４の判定処理において否定結果が得られた場合（すなわち、ｉ番目のインスタンス変数定義が無い場合）、入力補助データ変換部７は、次のサブクラス定義有無を判定する（ステップ１２１５）。
【００５３】
次のサブクラス定義がある場合、入力補助データ変換部７は、イベントクラスの次のサブクラス名をイベント名として変数Ｘに設定し（ステップ１２１６）、イベント定義データ１３のイベント名カラム８０１にＸを設定する処理（ステップ１２０６）から定義データの作成を繰り返し、イベント定義データ１３とイベント別引数テーブル９１１を生成する。
【００５４】
(4) シーケンス作図部の処理動作
図１３に、シーケンス作図部９で実行される処理動作の概要を示す。シーケンス作図部９は、シーケンス名が既にシーケンス管理テーブル９０１に登録済であるか否か（既に作成されているシーケンスであるか否か）を判定する（ステップ１３０１）。登録済みの場合、シーケンス作図部９は、シーケンス管理テーブル９０１に基づいて、既に作成されているシーケンスをシーケンス画面に再描画し（ステップ１３１７）、試験開始ターミナルの基線開始位置を時間軸管理部１０に通知する（ステップ１３１８）。
【００５５】
未登録の場合、シーケンス作図部９は初期化処理を実行し、シーケンス管理テーブル９０１にシーケンス名９０３、時間間隔９０４を設定する（ステップ１３０２）。次に、シーケンス作図部９は、試験開始ターミナル５０４及び試験対象ターミナル５０５を描画したシーケンス画面５０１を表示し（ステップ１３０３）、試験開始ターミナルの基線開始位置を時間軸管理部１０に通知する（ステップ１３０４）。
【００５６】
この後、シーケンス作図部９は、ユーザのアクションを待機する状態になる（ステップ１３０５）。ユーザのアクション結果が試験開始ターミナル名の入力である場合（ステップ１３０６）、シーケンス作図部９は、シーケンス管理テーブル９０１の試験開始ターミナル名にユーザが入力したターミナル名を設定する（ステップ１３１９）。一方、ユーザのアクション結果が試験対象ターミナル名の入力である場合（ステップ１３０７）、シーケンス作図部９は、シーケンス管理テーブル９０１の試験対象ターミナル名にユーザが入力したターミナル名を設定する（ステップ１３２０）。また、ユーザのアクション結果がシーケンス画面５０１の完了ボタンのクリックである場合、シーケンス作図部９は処理を終了する（ステップ１３０８）。
【００５７】
これに対し、ユーザのアクション結果がイベント線の描画である場合（ステップ１３０８で否定結果の場合）、シーケンス作図部９は、ユーザのマウス操作により描画されたイベント線５０９を青色の破線で表示し（ステップ１３０９）、イベント線の開始位置を時間軸管理部１０に通知する（ステップ１３１０）。この後、シーケンス作図部９は、時間軸管理部１０を起動する（ステップ１３１１）。時間軸管理部１０より戻ると、シーケンス作図部９は、シーケンス画面５０６にイベント発生時間５１０を表示し（ステップ１３１２）、イベントデータ入力部１１を起動する（ステップ１３１３）。起動されたイベントデータ入力部１１では、イベント情報が入力される。イベントデータ入力部１１より戻ると、シーケンス作図部９は、イベント名７０４の表示及びイベント線７０５を黒の実線に変更してイベントを確定する（ステップ１３１４）。
【００５８】
この後、シーケンス作図部９は、ユーザのアクションを待ち受ける状態になる（ステップ１３１５）。ユーザのアクション結果がイベント線の描画である場合（ステップ１３１６で否定結果の場合）、シーケンス作図部９は、シーケンス作成処理を継続する。一方、ユーザのアクション結果がシーケンス画面７０８の完了ボタンのクリックの場合、シーケンス作図部９はシーケンス作図処理を終了する。
【００５９】
(5) 時間軸管理部の処理動作
図１４に、時間軸管理部１０で実行される処理動作の概要を示す。時間軸管理部１０は、試験開始ターミナルの基線開始位置を時間軸の０位置とし（ステップ１４０１）、０位置からイベント送信開始位置までの単位時間数を求める（ステップ１４０２）。次に、時間軸管理部１０は、イベント発生時間を以下の式で求めて処理を終了する（ステップ１４０３）。
【００６０】
イベント発生時間＝単位時間数×時間間隔
【００６１】
(6) イベントデータ入力部の処理動作
図１５及び図１６に、イベントデータ入力部１１で実行される処理動作の概要を示す。まず、イベントデータ入力部１１は、イベント定義データ１３のイベント名カラム８０１の全項目１５１１を参照し（ステップ１５０１）、イベントが選択されると全イベントボックスを対象としたコンボボックス６０１を持つイベント情報画面を表示する（ステップ１５０２）。次に、イベントデータ入力部１１は、引数インデックスｉを「１」で初期化する（ステップ１５０３）。
【００６２】
この後、イベントデータ入力部１１は、イベント定義データのイベント引数ｉを参照する（ステップ１５０４）。参照範囲を破線１５１２で囲んで示す。参照した引数が「null」の場合（ステップ１５０５で肯定結果の場合）、イベントデータ入力部１１は、以降の引数項目と入力欄の作成をスキップする。一方、引数が実装されていた場合、イベントデータ入力部１１は、引数が選択型か否かを判定し(ステップ１５０６)、選択型の場合、定義された型の引数名と型定義を選択型として引数項目と入力欄選択候補のコンボボックスとして作成する(ステップ１５０９)。
【００６３】
これに対し、引数が選択型以外の場合、イベントデータ入力部１１は、定義された型の引数名と型定義からなる引数項目と入力欄を作成する(ステップ１５０７)。次に、イベントデータ入力部１１は、引数分の引数項目と入力欄の作成が完了したか否かを判定し（ステップ１５０８）、未完了の場合は引数インデックスｉをインクリメントして引数項目と入力欄を作成する(ステップ１５１０)。完了していた場合、イベントデータ入力部１１は、発生時間項目欄を作成し、時間軸管理部処理部１０で算出したイベント送信時間を設定する（ステップ１５１３）。
【００６４】
次に、イベントデータ入力部１１は、全ての引数項目６０８と入力欄をイベント情報画面に追加表示し(ステップ１５１４)、ユーザのアクションを待ち受ける状態になる（ステップ１５１５）。ユーザのアクション結果が、引数項目に対応する入力欄へのコンボボックスを用いたデータ入力の場合(ステップ１５１７)、イベントデータ入力部１１は、ユーザアクションを待ち受ける状態になる（ステップ１５１５）。
【００６５】
一方、ユーザのアクション結果が、引数項目に対応する入力欄へのデータの直接入力の場合、イベントデータ入力部１１は、入力データとイベント定義データ１３の該当引数の引数型を確認し（ステップ１５１８）、型が一致するか否かを判定する（ステップ１５１９）。型が一致する場合、イベントデータ入力部１１は、ユーザのアクションを待ち受ける状態になる（ステップ１５１５）。型が不一致する場合、イベントデータ入力部１１は、引数項目に対応する入力欄にエラーを表示し（ステップ１５２３）、ユーザのアクションを待ち受ける状態になる（ステップ１５１５）。
【００６６】
ユーザのアクション結果がイベント情報画面の確定ボタンクリックの場合（ステップ１５１６で肯定結果の場合）、イベントデータ入力部１１は、選択した編集中シーケンスのシーケンステーブル９０７の全項目を設定し（ステップ１５２０）、該当するイベント引数テーブル９１１の全てのカラムデータの設定（ステップ１５２１）後、シーケンス作図部９にイベントの確定を通知して処理終了する（ステップ１５２２）。
【００６７】
（まとめ）
以上の処理動作により、シーケンス図の作成と同時に、シーケンスデータと各イベントの引数データがシナリオデータとして完成する。この結果、ユーザは、従来方式のように、シーケンス図の作成後に改めてシナリオデータを作成する作業負担から解放される。しかも、イベントデータの入力時には、設定すべき項目だけがダイアログ画面に表示されるため、入力漏れのおそれも無く、シーケンス図の作成からシナリオ完成までトータル時間を大幅に短縮できる。また、イベント線が描画されると、そのイベント発生時間が自動的に計算され、描画されたイベント線の近傍やイベント情報画面に自動的に表示されるため、ユーザの感覚に頼らない数値に基づいた設定作業が可能になる。
【符号の説明】
【００６８】
１…入出力装置、２…作業画面、３…処理装置、４…イベントシーケンス図作成支援システム、５…全体制御部、６…環境設定部、７…入力補助データ変換部、８…シーケンス編集部、９…シーケンス作図部、１０…時間軸管理部、１１…イベントデータ入力、１２…データベース、１３…イベント定義データ、１４…シナリオデータ、１５…環境データ、１６…ソース・コードファイル、９０１…シーケンス管理デーブル、９０７…シーケンステーブル、９１１…イベント引数テーブル。
【図１】
0005395590.tif 000002
【図２】
0005395590.tif 000003
【図３】
0005395590.tif 000004
【図４】
0005395590.tif 000005
【図５】
0005395590.tif 000006
【図６】
0005395590.tif 000007
【図７】
0005395590.tif 000008
【図８】
0005395590.tif 000009
【図９】
0005395590.tif 000010
【図１０】
0005395590.tif 000011
【図１１】
0005395590.tif 000012
【図１２】
0005395590.tif 000013
【図１３】
0005395590.tif 000014
【図１４】
0005395590.tif 000015
【図１５】
0005395590.tif 000016
【図１６】
0005395590.tif 000017