(57)【要約】  【課題】  プログラム作成時の手戻りを防止し、プログラムを効率的に生成すると共に、試験工程の支援を可能にする。  【解決手段】  仕様入力手段１１０は、入力された通信サービスの動作仕様１０を、入力要素提供データ１４０を基に、予め通信サービスの動作仕様として定義された送受信信号等の情報と共に内部データ１５０として保存し、更に、ユーザが入力したサービスの動作仕様の全ルートに対してルート番号を付与する。仕様変換手段１２０は、内部データ１５０を基に、必要なら定義不足部分等の自動補充を行い、通信サービスソフトウェア２０を生成し、更に、全ルート番号に対応した入出力信号のパターンを記述した全ルートパターンファイル３０を出力する。自動試験制御手段１６０は、自動試験パターン定義ファイル４０とサービスソフトウェア２０を読み込み、試験を実行しログを収集する。【選択図】        図１
2005038244.tif 000002
【特許請求の範囲】
【請求項１】
図表現を用いて視覚的に入力された通信サービスの動作仕様を通信サービスソフトウェアに変換するプログラム自動生成装置において、
入力された通信サービスの動作仕様を、入力要素を表示するための入力要素提供データを基に、あらかじめ通信サービスの動作仕様として定義された送受信信号等の情報と共に内部データとして保存する手段と、
前記保存された内部データを基に、変換に必要な情報を抽出し、あらかじめ用意されたサービスに依存しない複数の変換形式に基づいて通信サービスソフトウェアを生成する手段と、
前記図表現を用いて視覚的に入力したサービスの動作仕様から、全ての処理ルートを抽出し、全ての処理ルートにルート番号を付与する手段と、
全ルート番号に対応した入出力信号のパターンを記述した試験用データを出力する手段と、
を具備することを特徴とするプログラム自動生成装置。
【請求項２】
図表現を用いて視覚的に入力することが可能な仕様入力手段と、入力された通信サービスの動作仕様を通信サービスソフトウェアに変換するプログラム自動生成装置において、
入力された通信サービスの動作仕様を、入力要素を表示するための入力要素提供データを基に、あらかじめ通信サービスの動作仕様として定義された送受信信号等の情報と共に内部データとして保存する手段と、
前記保存された内部データを基に、変換に必要な情報を抽出し、あらかじめ用意されたサービスに依存しない複数の変換形式に基づいて通信サービスソフトウェアを生成し、通信サービスの動作仕様として、定義不足部分あるいはサービスに依存しないプログラムコードの自動補完を行うことが選択された場合には必要な仕様入力要素の自動補完を行う手段と、
前記図表現を用いて視覚的に入力したサービスの動作仕様から、全ての処理ルートを抽出し、全ての処理ルートにルート番号を付与する手段と、
全ルート番号に対応した入出力信号のパターンを記述した試験用データを出力する手段と、
を具備することを特徴とするプログラム自動生成装置。
【請求項３】
図表現を用いて視覚的に入力することが可能な仕様入力手段と、入力された通信サービスの動作仕様を通信サービスソフトウェアに変換するプログラム自動生成装置において、
入力された通信サービスの動作仕様を、入力要素を表示するための入力要素提供データを基に、あらかじめ通信サービスの動作仕様として定義された送受信信号等の情報と共に内部データとして保存する手段と、
前記保存された内部データを基に、変換に必要な情報を抽出し、あらかじめ用意されたサービスに依存しない複数の変換形式に基づいて通信サービスソフトウェアを生成し、通信サービスの動作仕様として、定義不足部分あるいはサービスに依存しないプログラムコードの自動補完を行うことが選択された場合には必要な仕様入力要素の自動補完を行う手段と、
入力された通信サービスの動作仕様を検証する仕様検証手段と、
前記図表現を用いて視覚的に入力したサービスの動作仕様から、全ての処理ルートを抽出し、全ての処理ルートにルート番号を付与する手段と、
全ルート番号に対応した入出力信号のパターンを記述した試験用データを出力する手段と、
を具備することを特徴とするプログラム自動生成装置。
【請求項４】
請求項１乃至３のいずれか１項に記載のプログラム自動生成装置において、試験用データおよび生成した通信サービスソフトウェアを読み込み、自動試験の実行を制御する手段と、自動試験結果を出力する手段とを更に具備することを特徴とするプログラム自動生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信サービス動作仕様を入力し、通信サービスソフトウェアのプログラムを生成するプログラム自動生成装置に関し、詳しくは、フローチャートを用いて通信サービス動作仕様を記述し、その記述内容をプログラム言語に変換し、必要時には不足部分の補完を行い、仕様誤り等を検証し、プログラム作成時の手戻りを防止することに加え、生成された通信サービスソフトウェアの効率的な試験を可能とするプログラム自動生成装置に関する。
【背景技術】
【０００２】
従来のこの種のプログラム自動生成装置では、ＰＳＴＮ網（Ｐｕｂｌｉｃ Ｓｗｉｔｃｈｅｄ Ｔｅｌｅｐｈｏｎｅ Ｎｅｔｗｏｒｋ：公衆電話交換網）を前提とした通信サービス動作仕様に基づき、メッセージシーケンス図を用いて定義し、現在の呼状態に基づき、前後の呼状態を抽出するための呼状態遷移図を規定し、それに基づく、準正常手順の自動補完を行っていた（例えば、特許文献１参照）。
【０００３】
しかし、準正常はサービス仕様に依存する部分が存在するため、新しく開発するサービスの状態遷移が従来サービスのサブセットではない場合、サービスの開発毎に、変換知識の追加を要していた。また、変換を行いながら、自動補完を行っていたため、入力した仕様のレベルでは自動補完部分の確認を行う手段がなく、試験時の効率低下を招いていた。準正常手順の部分について、自動補完の後に、サービス仕様の手直しをする場合は自動補完された仕様をエディタ上で修正することが不可能であり、再度準正常に関する変換知識を修正してから生成し直すため、大幅に工数を要していた。変換知識の修正はプログラム自動生成装置の開発者しか行うことができなかった。
【０００４】
一方、当今は、ＰＳＴＮ網だけでなく、ＩＰ網やモバイル網上での通信サービスを定義できるプログラム自動生成を実現するために、呼状態遷移に基づく準正常の自動補完に関わらず、呼状態に関係ない複数のプロトコルや分散環境に対応したプログラムも自動生成する必要がでてきた。また、ユーザの入力した部分とプログラム自動生成装置において自動補完した部分を、入力したアイコンレベルで明確に表示し、自動補完後にユーザが修正することを可能にし、修正した場合は、自動で検証を行う必要がある。
【０００５】
このため、先に発明者らは、通信サービスの仕様を視覚的に入力し、その記述内容を複数の変換パターンをもって、プログラム言語に変換し、必要時には不足部分の補完を行い、補完部分を識別可能し、仕様誤り等を検証し、プログラム作成時の手戻りを防止することを可能とするプログラム自動生成装置を提案した（特願２００３−６６７２１号；プログラム自動生成装置）。
【０００６】
特願２００３−６６７２１号のプログラム自動生成装置では、サービス動作仕様に基づき、アイコンを貼り付け、記述したフローチャートにおいて、入力された信号送受信アイコンに対し、信号送受信アイコンの情報は入力要素提供データに基づいて作成した内部データを利用するため、サービスの開発ごとまたはＡＰＩの追加ごとに変換知識の追加を必要とせず、自動的に補完を行い、サービス動作仕様を入力したレベルで、自動的に補完した箇所を明示し、あらかじめ用意された複数の形式の変換情報データに対応した変換パターンに基づいて、サービスソフトウェアを生成し、複数の形式の変換情報データの中にユーザが容易に変更可能な変換情報データを含むことにより、プログラム作成時の手戻りを防止し、プログラムを効率的に生成することができる。しかし、試験工程の支援は考慮されていない。一般的に、通信サービスの開発において、試験工程は最も作業量の多い工程であることから、通信サービス開発においてより高い生産性を実現するためには、生成したサービスソフトウェアの試験工程の支援を行うことも必要となる。
【０００７】
【特許文献１】特開平９−８１３８０号公報「通信サービスソフトウェア仕様生成システム」
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、上記のような課題を解決するものであり、プログラムを自動生成するために入力するサービス動作仕様を有効活用して、特願２００３−６６７２１号のプログラム自動生成装置の機能に加え自動試験を行うことができるプログラム自動生成装置を提供することにある。
【課題を解決するための手段】
【０００９】
本発明は、通信サービスの動作仕様を図表現を用いて視覚的に入力することが可能で、選択される信号送受信アイコンの情報は入力要素提供データに基づく内部データとして、仕様変換手段に提供することができる仕様入力手段と、入力されたサービス仕様を検証する仕様検証手段と、入力されたサービス仕様を基にサービスソフトウェアに変換する仕様変換手段を有するプログラム自動生成装置において、通信サービスの動作仕様として、入力された送受信信号に対し、各々のもつ状態遷移情報に基づき、自動的に補完を行う手段と、自動的に補完を行うかどうか選択する手段、自動的に補完された部分を仕様入力手段において表示する手段、自動的に補完された部分に修正があった場合に検証する手段、あらかじめ用意された複数の形式の変換情報データに対応した変換パターンに基づいて、プログラムのテンプレートを用いて、サービスソフトウェアを変換する手段など、特願２００３−６６７２１号に記載の一部あるいは全部の手段に加えて、入力した仕様に基づいて、全てのルートをアイコン単位で抽出し、全てのアイコンの処理を記述した試験パターン（試験用データ）を出力する手段と、試験用データおよび試験対象の通信サービスソフトウェアを読み込み、一処理ずつ実行を行いつつログを収集する手段とを備える。
【発明の効果】
【００１０】
特願２００３−６６７２１号のプログラム自動生成装置によって、サービス動作仕様に基づき、アイコンを貼り付け、記述したフローチャートにおいて、入力された信号送受信アイコンに対し、信号送受信アイコンの情報は入力要素提供データとして分離し、サービスの開発ごとまたはＡＰＩの追加ごとに変換知識の追加を必要とせず、自動的に補完を行い、サービス動作仕様を入力したレベルで、自動的に補完した箇所を明示し、修正可能とし、あらかじめ用意された複数の形式の変換情報データに対応した変換パターンに基づいて、サービスソフトウェアを生成し、複数の形式の変換情報データの中にユーザが容易に変更可能な変換情報データを含むことにより、プログラム作成時の手戻りを防止し、プログラムを効率的に生成することができる。本発明によれば、これに加えて、生成したプログラムを自動試験することが可能となり、生成したサービスソフトウェアの試験が容易になる。
【発明を実施するための最良の形態】
【００１１】
以下、発明の実施の形態について図面により詳細に説明する。
【実施例１】
【００１２】
図１は、本発明のプログラム自動生成装置の一実施例を示す機能ブロック図である。図１において、プログラム自動生成装置１００は、ユーザが通信サービスの動作仕様１０を図表現を用いて視覚的に入力することが可能な仕様入力手段１１０、入力された通信サービス動作仕様１０を通信サービスソフトウェア２０に変換するとともに、全ルートパターンファイル３０を生成する仕様変換手段１２０、仕様の検証を行う仕様検証手段１３０、、自動試験パターン定義ファイル４０および試験対象の通信サービスソフトウェア２０を読み込んで自動試験を実行・制御する自動試験制御手段１６０、入力要素提供データ１４０及び内部データ１５０を備える。なお、入力要素提供データ１４０及び内部データ１５０は、実際にはメモリ装置内に保持される。
【００１３】
仕様入力手段１１０は、ユーザからの通信サービス動作仕様１０の入力を受け付け、選択された信号送受信アイコンの情報は入力要素提供データ１４０に基づく内部データ１５０として、仕様変換手段１２０、仕様検証手段１３０から利用可能な独自の形式にて保存する。また、仕様入力手段１１０では、ユーザが入力した通信サービスの動作使用のすべての処理ルートをアイコン単位（入出力信号）で抽出し、すべての処理ルートに対してルート番号を付与する。仕様変換手段１２０は、入力された通信サービス動作仕様１０について、内部データ１５０を基に、必要なら定義不足部分やサービスに依存しないプログラムコード等の自動補完処理を行い、あらかじめ用意されたサービスに依存しない複数の変換パターン形式に基づいて通信サービスソフトウェア２０を生成し、加えて、全処理（全ルート番号）ルートに対応した入出力信号のパターンを記述した全ルートパターンファイル３０を生成する。仕様検証手段１３０は、入力及び変換時、パラメータチェックや状態遷移情報に基づき、状態遷移検証等、仕様の検証を行う。自動試験制御手段１６０は、試験対象となる通信サービスソフトウェア２０、及び全ルートパターンファイル３０をもとに、ユーザにより作成された自動試験パターン定義ファイル４０を読み込み、一処理ずつ実行してログを収集する。
【００１４】
図２は、通信サービスソフトウェアの一例を示す。この例は、ＯｐｅｎＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ Ｐｒｏｇｒａｍｍｉｎｇ
Ｉｎｔｅｒｆａｃｅ）の一つであるＰａｒｌａｙＡＰＩ（ｈｔｔｐ：／／ｗｗｗ.ｐａｒｌａｙ.ｏｒｇ）に基づく、送受信信号（メソッド）を選択した場合を示したもので、各々の状態遷移情報はメッセージシーケンスを用いて示している。２１１は制御ロジックであり、通信サービスの動作仕様に基づき、通信サービスを実現するためのクラス群である。２１２はＰａｒｌａｙ
ＡＰＩで規定されているＰａｒｌａｙサービスクラスであり、制御ロジック２１１はこれらのクラスのもつ送受信メソッドを選択し、利用する。２１３は制御ロジック２１１の状態遷移を示す。この例の場合、４つの状態を保有している。２１４は仕様書に規定されているＰａｒｌａｙサービスクラス２１２の状態遷移である。２１５は仕様書に規定されているＰａｒｌａｙサービスクラス２１２の送受信メソッドであり、Ｐａｒｌａｙ
ＡＰＩと呼ばれている。本実施例では、図２のような通信サービスソフトウェアを想定する。
【００１５】
図３は、ＧＵＩ（Ｇｒａｐｈｉｃａｌ Ｕｓｅｒ Ｉｎｔｅｒｆａｃｅ）により、通信サービスの動作仕様を図表現を用いて視覚的にシステムへ入力することを可能とする仕様入力手段１１０の実現例である入力画面等を示した図である。ユーザは、入力要素選択画面１１２により、入力要素としてのアイコンを選択し、入力画面１１１へ貼り付けて、サービス動作仕様を入力する。例では、アイコンが１〜５の順に選択されたことを示している。入力要素選択画面１１１のアイコン情報は、あらかじめ保持されている入力要素提供データ１４０に基づき表示される。入力要素提供データ１４０は、例えば、ＯＭＧ（Ｏｂｊｅｃｔ
Ｍａｎａｇｅｍｅｎｔ Ｇｒｏｕｐ：分散オブジェクト技術の標準化団体）で標準化され、提供されるすべてのＣＯＲＢＡ（Ｃｏｍｍｏｎ Ｏｂｊｅｃｔ Ｒｅｑｕｅｓｔ Ｂｒｏｋｅｒ
Ａｒｃｈｉｔｅｃｔｕｒｅ：分散システム環境でオブジェクト同士がメッセージを交換するための共通仕様）オブジェクトのインタフェースを定義する言語であるＩＤＬ（Ｉｎｔｅｒｆａｃｅ
Ｄｅｆｉｎｉｔｉｏｎ Ｌａｎｇｕａｇｅ）ファイルから、自動的に生成されるデータである。図４に入力要素提供データ１４０の一例を示す。なお、ＩＤＬファイルから入力要素提供データを生成する処理は、本発明者らが先に提案しており（特願２００２−１２２３９９号）、また、本発明の主旨ではないので、その詳細は省略する。
【００１６】
仕様入力手段１１０は、入力要素提供データ１４０に基づき、ユーザからのサービス仕様入力を、あらかじめ通信サービスの動作仕様として定義された送受信号等の情報と共に内部データ１５０として保存する。また、仕様入力手段１１０では、ユーザが入力したサービスの動作仕様の全ての処理ルートに対して、ルート番号を付与する。
【００１７】
図５に内部データ１５０の一例を示す。内部データ１５０は、一般に複数のテーブルから構成されるが、図５では簡単にテーブルＡとテーブルＢのみを示す。テーブルＡにおいて、１〜５は図３の入力画面１１１に示したアイコン（入力要素）１〜５に対応する。テーブルＡとテーブルＢとは、例えばＢ−２、Ｂ−８のように、必要に応じてポインタにより関連づけられる。図５に示すように、テーブルＢには、主として入力要素提供データ４０に定義された送受信信号（メソッド）等の情報が保持される。
【００１８】
図６は、仕様変換手段１２０の構成例を示している。仕様変換手段１２０は、内部データ１５０を基にサービス仕様をプログラムコードに変換するロジックである変換制御部１２１、サービス仕様をプログラムコードに変換するためにロジックが利用する変換情報データ１２２、サービスに依存しないプログラムコードをテンプレート化したテンプレートファイル１２３、ＣＯＲＢＡ等の分散処理を前提としたプログラムの生成時に必要なスケルトンコード１２４、全ルートパターンファイル３０のフォーマットを記述した全ルートパターンフォーマットファイル２５、および、内部データ１５０に基づき、定義不足部分やサービスに依存しないプログラムコードを補完するための自動補完制御部１２６、アイコンごと自動補完制御部１２５が補完処理を行うために用いられる補完判定フラグが定義された自動補完定義データ１２７からなる。実際には、変換情報データ１２２、テンプレートファイル１２３、スケルトンコード１２４、全ルートパターンフォーマットファイル１２５、自動補完定義データ１２７は、入力要素提供データ１４０や内部データ１５０と同様にメモリ装置に保存されている。
【００１９】
図７は変換情報データ１２２の一例、図８はテンプレートファイル１２３の一例、図９はスケルトンコード１２４の一例である。ここでは、スケルトンコード１２４は、ＩＤＬファイルをコンパイルした際に生成されるクライアント側のメソッドを記述してあるプログラムコードを示す。図１０は自動補完定義データ１２７の一例である。後述するように、自動補完制御部１２５は、アイコンごとに自動補完定義データ１２７のフラグを参照し、該当フラグのＯＮ／ＯＦＦに応じて補完処理を場合分けする。なお、図１０では、極く一部の補完判定フラグのみを示したものである。
【００２０】
図１１に、図６の仕様変換手段１２０における一連の処理動作例を示す。図１１において、ステップ１１００、１１１０〜１１１４、１１２０〜１１２４、１１３０〜１１３３が変換制御部１２１での処理、ステップ１２００が自動補完制御部１２６での処理を示している。
【００２１】
仕様変換手段１２０の変換制御部１２１は、キーボードや入力画面上等の変換ボタンが押下されると、自動補完を行うかをユーザに問い合わせる（ステップ１１００）。自動補完を行わない場合、変換制御部１２１は、直ちにステップ１１１０、１１２０、１１３０に進み、それぞれの変換パターンに従い、変換を開始する。自動補完を行う場合には、変換制御部１２１は、自動補完制御部１２６に制御を渡し、自動補完制御部１２６が自動補完処理を行った後（ステップ１２００）、ステップ１１１０、１１２０、１１３０に進む。ステップ１２００の自動補完処理については後述する。以下では、それぞれの変換パターンの処理を説明する。
【００２２】
変換パターン１では、まず、プログラムに出力するコメント文等を管理している変換情報データ１２２（図７）を読み込む（ステップ１１１１）。次に、プログラム言語ごとのテンプレートファイル１２３（図８）を読み込む（ステップ１１１２）。次に、自動補完済みあるいは元々の内部データ４０（図５）に基づき、変換情報データ１２２、テンプレートファイル１２３を利用して、プログラムソースに置き換え、通信サービスソフトウェア２０として生成する。次に、ステップ１１１３で得られる情報と全ルートパターンフォーマット１２５に基づき、入力されたサービス仕様の全てのルートの処理を記述した、自動試験で使用するための全ルートパターンファイルを生成する（ステップ１１１４）。
【００２３】
変換パターン２では、まず、スケルトンコード１２４（図９）を読み込む（ステップ１１２１）。次に、自動補完済みあるいは元々の内部データ４０（図５）に基づき、利用しているメソッドを検索し、抽出する（ステップ１１２２）。次に、スケルトンコードの利用メソッドに対し、内部データに基づくソースコードを挿入し、通信サービスソフトウェア２０として生成する（ステップ１１２３）。次に、ステップ１１２３で得られる情報と全ルートパターンフォーマット１２５に基づき、自動試験で使用するための全ルートパターンファイルを生成する（ステップ１１１４）。
【００２４】
変換パターン３では、まず、テンプレートファイル１２３（図８）を読み込む（ステップ１１３１）。次に、テンプレートファイル１２３を、自動補完済みあるいは元々の内部データ４０（図５）に基づき、必要情報を挿入し、通信サービスソフトウェア２０として生成する（ステップ１１３２）。次に、ステップ１１３２で得られる情報と全ルートパターンフォーマット１２５に基づき、自動試験で使用するための全ルートパターンファイルを生成する（ステップ１１３３）。
【００２５】
図１２は、図１１におけるステップ１２００の自動補完処理の詳細動作例を示す。ユーザは、入力したサービス仕様について定義不足部分やサービスに依存しないプログラムコードの自動補完を行うかどうか選択することができる。ユーザが自動補完を選択すると、変換制御部１２１は自動補完制御部１２６に制御を渡し、自動補完制御部１２６が自動補完処理を開始する。
【００２６】
自動補完制御部１２６は、変換制御部１２１から制御が渡されると、内部データ４０（図５）を読み込む（ステップ１２０１）。以下、内部データ４０の入力されたアイコン数分、ステップ１２０２以降の処理を繰り返す。
【００２７】
まず、入力されたアイコンが、ユーザが選択した自動補完対象かどうかをチェックし（ステップ１２０２）、自動補完対象でない場合はステップ１２１１に進む。自動補完対象である場合は、自動補完済みかどうかをチェックし（ステップ１２０３）、自動補完済みである場合は同様にステップ１２１１に進む。なお、自動補完対象か自動補完済みかどうかはアイコン属性（図５参照）で判別する。
【００２８】
入力されたアイコンが自動補完対象で、自動補完済みでない場合には、当該入力されたアイコンに対し、自動補完定義データ１２７（図１０）を取得し（ステップ１２０４）、該自動補完定義データ内に定義された補完判定フラグがＯＮかＯＦＦかチエックする（ステップ１２０５）。フラグがＯＮである場合は、テンプレートファイル１２３（図８）を読み込み（ステップ１２０６）、該テンプレートファイル１２３内の処理を記述したアイコンを自動補完する（ステップ１２０７）。また、フラグがＯＦＦである場合は、入力されたアイコンの内部データ内のアイコン例外情報（図５参照）を取得し（ステップ１２０８）、例外処理アイコンを自動補完する（ステップ１２０９）。その後、アイコン属性として自動補完済みフラグをＯＮにする（ステップ１２１０）。
【００２９】
ステップ１２１１では、最終アイコンであるかどうかをチェックし、最終アイコンでない場合はステップ１２０２に戻って処理を繰り返し、最終アイコンである場合は自動補完処理を終了とする。自動補完処理が終了すると、自動補完制御部１２６は変換制御部１２１に制御を戻す。
【００３０】
図１３に自動補完後の入力画面例を示す。網掛けのアイコンが自動補完したアイコンである。自動補完される処理は、例えば、ログ出力である。図１３中、ログ（送信〔前〕）、ログ（送信〔後〕）などのアイコンが自動補完フラグＯＮのケースで自動補完されたものであり、例外（ログ出力）、例外（処理呼出）、例外（ｔｈｒｏｗ）などのアイコンが自動補完フラグＯＦＦのケースで自動補完されたものである。仕様入力手段１１０は、自動補完済み内部データを取り込み、自動補完フラグがオンであれば、例えば、当該アイコンの色を変えて表示し、自動補完された部分が識別可能な表示にする。これにより、ユーザは必要なら修正や変更を行う。ユーザが修正・変更を行ったか否かはアイコン属性（図５参照）に反映される。
【００３１】
図１４は、生成される全ルートパターンファイル３０のフォーマット例を示す。ユーザは、この全ルートパターンファイル３０をもとに、一つ一つの処理の際に必要となる処理（例えば、信号送信の際の戻り値の定義など）を記述した試験パターン定義ファイル４０を作成する。図１５は試験パターン定義ファイル４０の一例を示す。
【００３２】
図１６は、図１の仕様検証手段１３０における一連の検証処理動作例を示したものである。仕様検証手段１３０は、内部データを読み込む（ステップ１３０１）。以下、各アイコンごとにステップ１３０２以降の処理を繰り返す。まず、当該アイコンが自動補完済みであるどうかをチェックし（ステップ１３０２）、自動補完済みでない場合には、そのまま仕様検証処理に進む（ステップ１３０４）。自動補完済みである場合は、ユーザが修正・変更を行っているかどうかをチェックし（ステップ１３０３）、ユーザが修正・変更を行っている場合、仕様検証処理に進み（ステップ１３０４）、ユーザが修正・変更を行っていない場合はステップ１３０５に行く。ステップ１３０４の仕様検証処理では、パラメータチエックや、検証情報知識ベース等の状態遷移情報に基づき、状態遷移検証等、仕様の検証を行う。ステップ１３０５は、最終アイコンであるかどうかをチェックし、最終アイコンでない場合は、ステップ１３０１に戻って処理を繰り返し、最終アイコンである場合は、検証を終了とする。
【００３３】
図１７は、図１に示す自動試験制御手段１６０の構成例である。該自動試験制御手段１６０は、自動試験パターン定義ファイル４０（図１５）をもとに、生成された通信サービスソフトウェア２０の自動試験を１ステップずつ実行・制御する自動試験実行制御部１６１と、自動試験パターン定義ファイル４０および試験対象となる通信サービスソフトウェア２０を読み込むとともに、そのファイル４０が正しいかどうかをチェックするファイル読込み部１６２と、試験の実行結果ログを出力する自動試験ログ出力部１６３から構成される。
【００３４】
図１８に自動試験制御手段１６０の処理フロー例を示す。以下に、図１８を参照しながら自動試験制御手段１６０における一連の処理動作例を説明する。
【００３５】
ファイル読込み部１６２が、自動試験パターン定義ファイル４０と試験対象の通信サービスソフトウェア２０を読み込み（ステップ１４０１）、その自動試験パターン定義ファイル４０が正しいかどうかチエックする（ステップ１４０２）。自動試験パターン定義ファイル４０が正しくない場合、ユーザにエラー通知を行い（ステップ１４０３）、自動試験処理を終了とする。自動試験パターン定義ファイル４０が正しい場合、ファイル読込み部１６２は自動試験実行制御部１６２に制御を渡す。
【００３６】
自動試験実行制御部１６１は、自動試験パターン定義ファイル４０をもとに、以下のように通信サービスソフトウェア２０の自動試験を１ステップずつ実行制御する。まず、未実施の試験ルート（処理ルート）があるかどうかチエックし（ステップ１４０４）、未実施の試験ルートがなければ、自動試験を終了する。未実施の試験ルートがあれば、次のルート（最初の場合は１つ目）の試験を開始する（ステップ１４０５）。そして、そのルートにおいて、次の実行処理があるかどうかチエックし（ステップ１４０６）、次の実行処理がなけれな、ログを出力し（ステップ１４０７）、ステップ１４０４に戻る。次の実行処理がある場合は、当該処理を一つ実行する（ステップ１４０８）。そして、当該処理においてエラーが検出されたかどうかチエックする（ステップ１４０９）。当該処理でエラーが検出された場合は、エラーを含めてログを出力し（ステップ１４１０）、ステップ１４０６に戻り、エラーが検出されない場合は、ログを出力し（ステップ１４１１）、ステップ１４０６に戻る。以下、同様の処理を繰り返し、自動試験が実行される。該試験の実行ログは、自動試験ログ出力部１６３から出力される。
【００３７】
なお、図１に示したプログラム自動生成装置における各部の一部もしくは全部の処理機能をコンピュータのプログラムで構成し、そのプログラムをコンピュータを用いて実行して本発明を実現することができること、あるいは、図１１、図１２、図１６、図１８などに示した処理手順をコンピュータのプログラムで構成し、そのプログラムをコンピュータに実行させることができることは言うまでもない。また、コンピュータでその処理機能を実現するためのプログラム、あるいは、コンピュータにその処理手順を実行させるためのプログラムを、そのコンピュータが読み取り可能な記録媒体、例えば、ＦＤ、ＭＯ、ＲＯＭ、メモリカード、ＣＤ、ＤＶＤ、リムーバブルディスクなどに記録して、保存したり、提供したりすることができるとともに、インターネット等のネットワークを通してそのプログラムを配布したりすることが可能である。
【図面の簡単な説明】
【００３８】
【図１】本発明のプログラム自動生成装置の一実施例を示す機能ブロック図である。
【図２】通信サービスソフトウェアの構成例を示す図である。
【図３】仕様入力手段の画面例である。
【図４】入力要素提供データの一例である。
【図５】内部データの一例である。
【図６】仕様変換手段の構成例を示す図である。
【図７】変換情報データの一例である。
【図８】テンプレートファイルの一例である。
【図９】スケルトンコードの一例である。
【図１０】自動補完定義データの一例である。
【図１１】仕様変換手段の処理動作例である。
【図１２】図１１中の自動補完処理の詳細フロー例である。
【図１３】自動補完後の入力画面例である。
【図１４】全ルートパターンファイルの一例である。
【図１５】自動試験パターン定義ファイルの一例である。
【図１６】仕様検証手段の処理動作例である。
【図１７】自動試験制御手段の構成例を示す図である。
【図１８】自動試験制御手段の処理動作例である。
【符号の説明】
【００３９】
１０    通信サービス動作仕様
２０    通信サービスソフトウェア
３０    全ルートパターンファイル
４０    自動試験パターン定義ファイル
１００    プログラム自動生成装置
１１０    仕様入力手段
１２０    仕様変換手段
１２１    変換制御部
１２２    変換情報データ
１２３    テンプレートファイル
１２４    スケルトンコード
１２５    全ルートパターンフォーマット
１２６    自動補完制御部
１２７    自動補完定義データ
１３０    仕様検証手段
１４０    入力要素提供データ
１５０    内部データ
１６０    自動試験制御手段
１６１    自動試験実行制御部
１６２    ファイル読込み部
１６３    自動試験ログ出力部
【図１】
2005038244.tif 000003
【図２】
2005038244.tif 000004
【図３】
2005038244.tif 000005
【図４】
2005038244.tif 000006
【図５】
2005038244.tif 000007
【図６】
2005038244.tif 000008
【図７】
2005038244.tif 000009
【図８】
2005038244.tif 000010
【図９】
2005038244.tif 000011
【図１０】
2005038244.tif 000012
【図１１】
2005038244.tif 000013
【図１２】
2005038244.tif 000014
【図１３】
2005038244.tif 000015
【図１４】
2005038244.tif 000016
【図１５】
2005038244.tif 000017
【図１６】
2005038244.tif 000018
【図１７】
2005038244.tif 000019
【図１８】
2005038244.tif 000020