(57)【要約】  ソースコード解析器（３）は、ソースコードから各ソフトウェア構成要素を抽出し、各ソフトウェア構成要素の間における呼び出し及び戻りの関係を示す呼び出し関係を抽出する。ツリー図生成器（８）は、抽出された各ソフトウェア構成要素及び呼び出し関係に基づいて、ソースコードのツリー図を生成する。シーケンス図生成器（１０）は、抽出された各ソフトウェア構成要素及び呼び出し関係に基づいて、ソースコードのシーケンス図を生成する。ツリー図生成器（８）は、指定されたソフトウェア構成要素を含み、指定されたソフトウェア構成要素を除外するツリー図を生成し、シーケンス図生成器（１０）は、ツリー図生成器（８）によって生成されたツリー図に含まれたソフトウェア構成要素を含み、ツリー図生成器（８）によって生成されたツリー図において除外されたソフトウェア構成要素を除外するシーケンス図を生成する。
2020174578.tif 000002
【特許請求の範囲】
【請求項１】
複数のソフトウェア構成要素を含むソースコードからシーケンス図を生成するシーケンス図生成装置であって、
前記ソースコードから前記各ソフトウェア構成要素を抽出し、前記各ソフトウェア構成要素の間における呼び出し及び戻りの関係を示す呼び出し関係を抽出するソースコード解析器と、
前記ソースコード解析器によって抽出された前記各ソフトウェア構成要素及び前記呼び出し関係に基づいて、前記ソースコードのツリー図を生成するツリー図生成器と、
前記ソースコード解析器によって抽出された前記各ソフトウェア構成要素及び前記呼び出し関係に基づいて、前記ソースコードのシーケンス図を生成するシーケンス図生成器とを備え、
前記ツリー図生成器は、指定された前記ソフトウェア構成要素を含み、指定された前記ソフトウェア構成要素を除外するツリー図を生成し、
前記シーケンス図生成器は、前記ツリー図生成器によって生成された前記ツリー図に含まれた前記ソフトウェア構成要素を含み、前記ツリー図生成器によって生成された前記ツリー図において除外された前記ソフトウェア構成要素を除外するシーケンス図を生成する、
シーケンス図生成装置。
【請求項２】
前記シーケンス図生成装置は、
前記ツリー図及び前記シーケンス図を表示する表示装置と、
前記ツリー図に含まれる前記ソフトウェア構成要素及び前記ツリー図において除外される前記ソフトウェア構成要素を個別に指定するユーザ入力を取得するユーザ入力装置とをさらに備えた、
請求項１記載のシーケンス図生成装置。
【請求項３】
前記複数のソフトウェア構成要素は、複数の第１のソフトウェア構成要素と、少なくとも１つの前記第１のソフトウェア構成要素を含む少なくとも１つの第２のソフトウェア構成要素とを含み、
前記ツリー図生成器は、前記第１のソフトウェア構成要素、前記第２のソフトウェア構成要素、又は、前記第１及び第２のソフトウェア構成要素の組み合わせを含むツリー図を生成し、
前記シーケンス図生成器は、前記第１のソフトウェア構成要素、前記第２のソフトウェア構成要素、又は、前記第１及び第２のソフトウェア構成要素の組み合わせを含むシーケンス図を生成する、
請求項２記載のシーケンス図生成装置。
【請求項４】
前記ツリー図生成器は、前記ツリー図に含まれる前記各第２のソフトウェア構成要素に関連付けて、前記各第２のソフトウェア構成要素に含まれる前記第１のソフトウェア構成要素の個数を前記表示装置に表示する、
請求項３記載のシーケンス図生成装置。
【請求項５】
前記ツリー図生成器は、前記ツリー図に含まれる前記ソフトウェア構成要素に関連付けて、前記ソフトウェア構成要素の呼び出しの深さを前記表示装置に表示する、
請求項２〜４のうちの１つに記載のシーケンス図生成装置。
【請求項６】
前記ツリー図生成器は、前記複数のソフトウェア構成要素のうちの一部を他のソフトウェア構成要素から識別可能に強調表示するように前記ツリー図を生成する、
請求項２〜５のうちの１つに記載のシーケンス図生成装置。
【請求項７】
前記ツリー図生成器は、前記ツリー図の全体における前記ソフトウェア構成要素の呼び出しの深さを示す予め指定されたパラメータに基づいて、前記ツリー図に含まれる前記ソフトウェア構成要素及び前記ツリー図において除外される前記ソフトウェア構成要素を決定する、
請求項１〜６のうちの１つに記載のシーケンス図生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のソフトウェア構成要素を含むソースコードからシーケンス図を生成するシーケンス図生成装置に関する。
【背景技術】
【０００２】
コンピュータプログラムのソースコードは、関数、プロセス、モジュール、パッケージ、クラス、機能ブロック（関数群）など、さまざまなソフトウェア構成要素から構成される。ソースコードを解析するために、ソースコードに含まれる各ソフトウェア構成要素の間における呼び出し及び戻りの関係に基づいてシーケンス図（「呼び出しシーケンス図」ともいう）を作成することが知られている。【０００３】
シーケンス図を作成するとき、ユーザは、例えば、シーケンス図の起点、範囲、及び粒度を指定する。シーケンス図の起点は、ソースコードにおいて、シーケンス図に係る処理が開始又は終了する位置を示す。シーケンス図の範囲は、例えば、シーケンス図に含まれる各ソフトウェア構成要素の間における呼び出し及び戻りの深さを示す。シーケンス図の粒度は、例えば、関数、プロセス、モジュール、パッケージ、クラス、機能ブロック（関数群）のうち、どのレベルのソフトウェア構成要素に基づいてシーケンス図を作成するかを示す。【０００４】
シーケンス図を理解しやすくするために、シーケンス図の起点又は範囲を変更してもよい。シーケンス図の範囲を限定することにより不要なデータが削除され、処理の概要が理解しやすくなる。また、シーケンス図を理解しやすくするために、シーケンス図の粒度を変更してもよい。複数の関数を１つの機能ブロックにまとめることによりシーケンス図が簡素化され、処理の概要が理解しやすくなる。【０００５】
例えば、特許文献１及び２は、例示的なシーケンス図作成装置を開示している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−９４４９６号公報
【特許文献２】特開２００７−４１６３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
大規模なソースコードを解析する場合、ソースコードは多数のソフトウェア構成要素を含み、また、ソースコードは、起点となる複数のソフトウェア構成要素を含むことがある。また、この場合、起点となるソフトウェア構成要素が、ソースコードの階層構造における非常に深い位置にあることがある。このような場合、シーケンス図の起点、範囲、及び粒度の指定に手間がかかり、また、それらの変更にも手間がかかるという課題がある。【０００８】
本発明の目的は、以上の課題を解決し、シーケンス図の起点、範囲、及び粒度を従来よりも手間なく容易に指定してシーケンス図を生成することができるシーケンス図生成装置を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の一態様に係るシーケンス図生成装置は、
複数のソフトウェア構成要素を含むソースコードからシーケンス図を生成するシーケンス図生成装置であって、
前記ソースコードから前記各ソフトウェア構成要素を抽出し、前記各ソフトウェア構成要素の間における呼び出し及び戻りの関係を示す呼び出し関係を抽出するソースコード解析器と、
前記ソースコード解析器によって抽出された前記各ソフトウェア構成要素及び前記呼び出し関係に基づいて、前記ソースコードのツリー図を生成するツリー図生成器と、
前記ソースコード解析器によって抽出された前記各ソフトウェア構成要素及び前記呼び出し関係に基づいて、前記ソースコードのシーケンス図を生成するシーケンス図生成器とを備え、
前記ツリー図生成器は、指定された範囲の内部における前記ソフトウェア構成要素を含み、前記指定された範囲の外部における前記ソフトウェア構成要素を除外するツリー図を生成し、
前記シーケンス図生成器は、前記ツリー図生成器によって生成された前記ツリー図に含まれた前記ソフトウェア構成要素を含み、前記ツリー図生成器によって生成された前記ツリー図において除外された前記ソフトウェア構成要素を除外するシーケンス図を生成する。
【発明の効果】
【００１０】
本発明の一態様によれば、シーケンス図の起点、範囲、及び粒度を従来よりも手間なく
容易に指定してシーケンス図を生成することができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態に係るシーケンス図生成装置１００の構成要素を示すブロック図である。
【図２】実施の形態に係るシーケンス図生成装置１００の動作を示すフローチャートである。
【図３】実施の形態に係るシーケンス図生成装置１００によって使用される生成パラメータの第１の例を示す表である。
【図４】図３の生成パラメータに対応する第１の例示的なツリー図である。
【図５】図３の生成パラメータに対応する第１の例示的なシーケンス図である。
【図６】実施の形態に係るシーケンス図生成装置１００によって使用される生成パラメータの第２の例を示す表である。
【図７】図６の生成パラメータに対応する第２の例示的なツリー図である。
【図８】図６の生成パラメータに対応する第２の例示的なシーケンス図である。
【図９】実施の形態に係るシーケンス図生成装置１００によって使用される生成パラメータの第３の例を示す表である。
【図１０】図９の生成パラメータに対応する第３の例示的なツリー図である。
【図１１】図９の生成パラメータに対応する第３の例示的なシーケンス図である。
【図１２】実施の形態に係るシーケンス図生成装置１００によって使用される生成パラメータの第４の例を示す表である。
【図１３】図１２の生成パラメータに対応する第４の例示的なツリー図である。
【図１４】図１２の生成パラメータに対応する第４の例示的なシーケンス図である。
【図１５】実施の形態に係るシーケンス図生成装置１００によって表示される第５の例示的なツリー図である。
【図１６】実施の形態に係るシーケンス図生成装置１００によって表示される第６の例示的なツリー図である。
【図１７】実施の形態に係るシーケンス図生成装置１００によって表示される第７の例示的なツリー図である。
【図１８】実施の形態に係るシーケンス図生成装置１００によって表示される第８の例示的なツリー図である。
【発明を実施するための形態】
【００１２】
実施の形態．
以下、図面を参照して、本発明の実施形態について説明する。各図面において、同じ符号は同様の構成要素を示す。
【００１３】
［全体構成］
図１は、実施の形態に係るシーケンス図生成装置１００の構成を示すブロック図である。図１を参照して、シーケンス図生成装置１００の構成の概要を説明する。
【００１４】
シーケンス図生成装置１００は、記憶装置１，４，７，９，１１，１４、データ入力装置２、ソースコード解析器３、ユーザ入力装置５、制御装置６、ツリー図生成器８、シーケンス図生成器１０、表示装置１２、及びデータ出力装置１３を備える。シーケンス図生成装置１００は、複数のソフトウェア構成要素を含むソースコードからシーケンス図を生成する。
【００１５】
記憶装置１は少なくとも１つのソースコードを予め格納する。各ソースコードは、複数のソフトウェア構成要素を含む。ソフトウェア構成要素は、例えば、プロセス、モジュール、パッケージ、クラス、機能ブロック（関数群）を含む。以下、本明細書の例では、ソフトウェア構成要素は、複数の関数と、少なくとも１つの関数をそれぞれ含む複数の機能ブロックとを含む。言い換えると、ソフトウェア構成要素は、関数及び機能ブロックからなる２段階の粒度を有する。記憶装置１に格納されたソースコードは、データ入力装置２を介して、ソースコード解析器３によって読み出される。
【００１６】
ソースコード解析器３は、ソースコードを解析し、これにより、ソースコードから複数のソフトウェア（ＳＷ）構成要素を抽出し、各ソフトウェア構成要素の間における呼び出し及び戻りの関係を示す呼び出し関係を抽出する。ソースコード解析器３は、抽出した各ソフトウェア構成要素及び呼び出し関係を記憶装置４に格納する。
【００１７】
ユーザ入力装置５は、シーケンス図の起点、範囲、及び粒度を指定するためのユーザ入力を取得する。本明細書の例では、シーケンス図の起点、範囲、及び粒度を指定するために、ユーザ入力装置５は、後述のツリー図生成器８によって生成されるツリー図の起点、範囲、及び粒度を指定するユーザ入力（「ツリー図の生成パラメータ」ともいう）を取得する。ツリー図の生成パラメータは、ツリー図に含まれるソフトウェア構成要素及びツリー図において除外されるソフトウェア構成要素を個別に指定する。ユーザ入力装置５は、キーボード及びポインティングデバイスなどを含む。
【００１８】
制御装置６は、シーケンス図生成装置１００の各構成要素の動作を制御する。
【００１９】
記憶装置７は、制御装置６の制御下で、ユーザ入力装置５によって取得されたツリー図の生成パラメータを格納する。
【００２０】
ツリー図生成器８は、ソースコード解析器３によって抽出された各ソフトウェア構成要素及び呼び出し関係に基づいて、ソースコードのツリー図（「呼び出しツリー図」ともいう）を生成する。ここで、ツリー図は、図４などを参照して後述するように、ソースコードの各ソフトウェア構成要素の呼び出し関係をツリー状に示す。ツリー図生成器８は、ユーザ入力において指定されたソフトウェア構成要素を含み、ユーザ入力において指定された他のソフトウェア構成要素を除外するツリー図を生成する。ツリー図生成器８は、生成したツリー図を記憶装置９に格納し、また、生成したツリー図を表示装置１２に表示する。
【００２１】
シーケンス図生成器１０は、ソースコード解析器３によって抽出された各ソフトウェア構成要素及び呼び出し関係に基づいて、ソースコードのシーケンス図を生成する。シーケンス図生成器１０は、ツリー図生成器８によって生成されたツリー図に含まれたソフトウェア構成要素を含み、ツリー図生成器８によって生成されたツリー図において除外されたソフトウェア構成要素を除外するシーケンス図を生成する。シーケンス図生成器１０は、生成したシーケンス図を記憶装置１１に格納し、また、生成したシーケンス図を表示装置１２に表示する。また、シーケンス図生成器１０は、ユーザによって最終的に承諾されたシーケンス図を、データ出力装置１３を介して出力し、記憶装置１４に格納する。
【００２２】
図１では、記憶装置１，４，７，９，１１，１４を別個の構成要素として示しているが、これらは単一の構成要素として提供されてもよい。また、図１の各構成要素を備えるシーケンス図生成装置１００は、パーソナルコンピュータなど、一体の装置として提供されてもよく、複数の装置の組み合わせとして提供されてもよい。例えば、データ入力装置２及びデータ出力装置１３の少なくとも一方はＵＳＢ（universal serial bus）などのインターフェースであってもよく、この場合、記憶装置１又は１４は着脱可能な記憶媒体である。また、データ入力装置２及びデータ出力装置１３の少なくとも一方はネットワークインターフェースであってもよく、この場合、記憶装置１又は１４はネットワークを介して接続された遠隔の記憶媒体である。
【００２３】
［動作の概要］
図２は、実施の形態に係るシーケンス図生成装置１００の動作を示すフローチャートである。図２を参照して、シーケンス図生成装置１００がソースコードからシーケンス図を生成する動作の概要を説明する。
【００２４】
シーケンス図生成装置１００が起動すると、ステップＳ１０１において、制御装置６は、シーケンス図生成処理の初期設定を行う。制御装置６は、シーケンス図を生成するためのメニュー及び／又はガイダンス表示を表示装置１２に表示する。ユーザは、メニュー及び／又はガイダンス表示に従って、ユーザ入力装置５を用いて、記憶装置１に予め格納されたソースコードのうちの１つを指定する。また、制御装置６は、ツリー図の生成パラメータの初期値を設定し、設定された初期値を記憶装置７に格納する。例えば、制御装置６は、ソースコードのすべての関数を含み、機能ブロックを含まないソースコード全体のツリー図を生成するように、ツリー図の生成パラメータの初期値を設定してもよい。
【００２５】
ステップＳ１０２において、制御装置６は、ソースコード解析器３によりソースコードを解析させる。ソースコード解析器３は、ステップＳ１０１においてユーザによって指定されたソースコードを記憶装置１から読み出し、読み出したソースコードから、各ソフトウェア構成要素及び呼び出し関係を抽出する。本明細書の例では、ソースコード解析器３は、ソースコードから、ソフトウェア構成要素として複数の関数を抽出し、各関数の間の呼び出し関係を抽出する。ソースコード解析器３は、抽出した各ソフトウェア構成要素及び呼び出し関係を記憶装置４に格納する。また、制御装置６は、ツリー図の生成パラメータの設定に使用するために、記憶装置４から各ソフトウェア構成要素を読み出し、読み出したソフトウェア構成要素を記憶装置７に格納する。
【００２６】
ソースコード解析器３によるソースコードの解析が終了すると、ステップＳ１０３において、制御装置６は、ツリー図生成器８によりソースコードのツリー図を生成させる。ツリー図生成器８は、記憶装置７に格納されたツリー図の生成パラメータを読み出し、記憶装置４に格納された各ソフトウェア構成要素及び呼び出し関係を読み出す。ツリー図生成器８は、ツリー図の生成パラメータに基づいて、各ソフトウェア構成要素及び呼び出し関係からツリー図を生成する。ツリー図生成器８は、ツリー図の生成パラメータの初期値に基づいて、例えば、ソースコードのすべての関数を含み、機能ブロックを含まないソースコード全体のツリー図を生成する。ツリー図生成器８は、生成したツリー図を記憶装置９に格納し、また、生成したツリー図を表示装置１２に表示する。
【００２７】
ツリー図生成器８によりツリー図が生成されて表示装置１２に表示されると、ステップＳ１０４において、制御装置６は、ユーザ入力に応じて、ツリー図の生成パラメータ（すなわち、ツリー図の起点、範囲、及び粒度）を指定又は変更する。制御装置６は、ツリー図の生成パラメータを指定又は変更するためのメニュー及び／又はガイダンス表示を表示装置１２に表示する。ユーザは、ユーザ入力装置５を介して、ツリー図に含まれるソフトウェア構成要素及びツリー図において除外されるソフトウェア構成要素を個別に指定する。例えば、ユーザは、ユーザ入力装置５を介して、いくつかの関数をグループ化して機能ブロックとして設定する。また、制御装置６は、共通の文字列を含む関数名又は引数を有する複数の関数を、同じ機能ブロックに属する関数として自動的にグループ化してもよい。また、ユーザは、ユーザ入力装置５を介して、ツリー図に含まれる関数及びツリー図において除外される関数を個別に指定し、ツリー図に含まれる機能ブロック及びツリー図において除外される機能ブロックを個別に指定する。これにより、ツリー図の起点、範囲、及び粒度が指定又は変更される。制御装置６は、指定又は変更されたツリー図の生成パラメータを記憶装置７に格納する。次いで、制御装置６は、指定又は変更されたツリー図の生成パラメータに基づいて、ツリー図生成器８により、ステップＳ１０３と同様に、更新されたツリー図を生成させる。ツリー図生成器８は、更新されたツリー図を記憶装置９に格納し、また、更新されたツリー図を表示装置１２に表示する。
【００２８】
ステップＳ１０５において、ユーザは、表示装置１２に表示されたツリー図を確認し、生成されたツリー図を承諾するか否か（すなわち、ツリー図の起点、範囲、及び粒度のさらなる変更が不要であるか否か）を判断する。制御装置６は、ユーザ入力装置５を介して、ユーザが生成されたツリー図を承諾するか否かを示すユーザ入力を取得する。ステップＳ１０５がＹＥＳである場合、処理はステップＳ１０６に進み、ステップＳ１０５がＮＯである場合、処理はステップＳ１０４に戻る。
【００２９】
ステップＳ１０６において、制御装置６は、シーケンス図生成器１０により、ソースコードのシーケンス図を生成させる。シーケンス図生成器１０は、記憶装置７に格納されたツリー図の生成パラメータを読み出し、記憶装置４に格納された各ソフトウェア構成要素及び呼び出し関係を読み出す。シーケンス図生成器１０は、ツリー図の生成パラメータに基づいて、各ソフトウェア構成要素及び呼び出し関係からシーケンス図を生成する。シーケンス図生成器１０は、生成したツリー図を記憶装置１１に格納し、また、生成したツリー図を表示装置１２に表示する。
【００３０】
ステップＳ１０７において、ユーザは、表示装置１２に表示されたシーケンス図を確認し、生成されたシーケンス図を承諾するか否か（すなわち、シーケンス図の起点、範囲、及び粒度のさらなる変更が不要であるか否か）を判断する。制御装置６は、ユーザ入力装置５を介して、ユーザが生成されたシーケンス図を承諾するか否かを示すユーザ入力を取得する。ステップＳ１０７がＹＥＳである場合、制御装置６は、シーケンス図生成器１０からデータ出力装置１３を介して記憶装置１４にシーケンス図を出力させ、処理を終了する。一方、ステップＳ１０５がＮＯである場合、処理はステップＳ１０３に戻る。次いで、ステップＳ１０４においてツリー図の生成パラメータを変更することにより、その後、ステップＳ１０６において、変更された生成パラメータに基づいて更新されたシーケンス図が生成される。再びステップＳ１０７において、ユーザは、表示装置１２に表示されたシーケンス図を確認し、生成されたシーケンス図を承諾するか否かを判断する。
【００３１】
［動作例］
次に、図３〜図８を参照して、シーケンス図生成装置１００の動作例を説明する。
【００３２】
図３は、実施の形態に係るシーケンス図生成装置１００によって使用される生成パラメータの第１の例を示す表である。図３の生成パラメータは、ソースコード解析器３によって抽出された関数の識別情報、例えば関数名Ｆ（１），Ｆ（２，１）等を含む。関数名は、ソースコードから抽出されてもよく、ユーザからユーザ入力装置５を介して取得されてもよい。また、図３の生成パラメータは、いくつかの関数をグループ化した機能ブロックの識別情報、例えば機能ブロック名Ｂ（１），Ｂ（２）等を含む。機能ブロック名は、機能ブロックに含まれる関数のうちのいずれかの関数名（例えば、最初に呼び出される関数の関数名）に設定されてもよく、ユーザからユーザ入力装置５を介して取得されてもよい。また、図３の生成パラメータは、ツリー図に含まれる関数（表示される関数）及びツリー図において除外される関数（非表示の関数）を個別に指定するフラグを含む。また、図３の生成パラメータは、ツリー図に含まれる機能ブロック（表示される機能ブロック）及びツリー図において除外される機能ブロック（非表示の機能ブロック）を個別に指定するフラグを含む。また、図３の生成パラメータは、ある関数及び／又は機能ブロックをツリー図及びシーケンス図の起点として強調表示するか否かを指定するフラグを含む。
【００３３】
図３の例では、生成パラメータは、ソースコードのすべての関数を含み、機能ブロックを含まないソースコード全体のツリー図を生成するように設定されている。また、図３の例では、複数の関数は、関数Ｆ（１）を処理が開始する起点とし、関数Ｆ（１）からの呼び出しの深さが増大する順に配列され、かつ、同じ深さでは呼び出される順に配列されている。また、図３の例では、関数Ｆ（１）が、ツリー図及びシーケンス図の起点として強調表示されるように指定されている。
【００３４】
図４は、図３の生成パラメータに対応する第１の例示的なツリー図である。図４の例では、ツリー図は、ソースコードのすべての関数を含み、一方、「非表示」の各機能ブロックも破線により示す。また、図４の例では、関数Ｆ（１）がツリー図の起点として強調表示される。
【００３５】
本実施の形態において、ツリー図及びその生成パラメータを使用する目的は、最終的には、シーケンス図を生成することにある。従って、本明細書では、ソフトウェア構成要素がツリー図に「含まれる」とは、実質的には、そのソフトウェア構成要素がシーケンス図に含まれることを意味する。同様に、ソフトウェア構成要素がツリー図において「除外される」とは、実質的には、そのソフトウェア構成要素がシーケンス図において除外されることを意味する。このため、ツリー図において除外されるソフトウェア構成要素（すなわち、「非表示」のソフトウェア構成要素）は、図４に示すように破線によって、又は、変化した色（グレーもしくは半透明など）によって表示されてもよく、それに代わって、完全に不可視にされてもよい。
【００３６】
表示装置１２にツリー図が表示されているとき、ユーザは、ユーザ入力装置５を介して、ツリー図に含まれるソフトウェア構成要素及びツリー図において除外されるソフトウェア構成要素を個別に指定してもよい。また、制御装置６は、図３の生成パラメータの内容を表示装置１２に表示してもよい。表示装置１２に図３の生成パラメータの内容が表示されているとき、ユーザは、ユーザ入力装置５を介して、ツリー図に含まれるソフトウェア構成要素及びツリー図において除外されるソフトウェア構成要素を個別に指定してもよい。制御装置６及びツリー図生成器８は、図３の生成パラメータ及び図４のツリー図を同時に表示装置１２に表示してもよく、これらを交互に表示装置１２に表示してもよい。
【００３７】
図５は、図３の生成パラメータに対応する第１の例示的なシーケンス図である。各関数の間において、呼び出しメッセージＣＭ０１〜ＣＭ１１及び戻りメッセージＲＭ０１〜ＲＭ１１が発行される。例えば、呼び出しメッセージＣＭ０１は、関数Ｆ（１）から関数Ｆ（２，１）への呼び出し（コール）を示し、戻りメッセージＲＭ０１は、呼び出しメッセージＣＭ０１に対応する関数Ｆ（２，１）から関数Ｆ（１）への戻り（リターン）を示す。シーケンス図がソースコードのすべての関数を含む場合、シーケンス図生成器１０は、すべての呼び出しメッセージＣＭ０１〜ＣＭ１１及びすべての戻りメッセージＲＭ０１〜ＲＭ１１を含むシーケンス図を生成する。また、図５の例では、関数Ｆ（１）がシーケンス図の起点として強調表示される。
【００３８】
図６は、実施の形態に係るシーケンス図生成装置１００によって使用される生成パラメータの第２の例を示す表である。図６は、図３の場合と同じソースコードについて、図３の場合とは異なる粒度を指定する生成パラメータを示す。例えば、関数Ｆ（１），Ｆ（２，１）をグループ化した機能ブロックＢ（１）が指定される。図６の例では、生成パラメータは、すべての機能ブロックを含み、関数を含まないソースコード全体のツリー図を生成するように設定されている。また、図６の例では、複数の機能ブロックは、機能ブロックＢ（１）を処理が開始する起点とし、機能ブロックＢ（１）からの呼び出しの深さが増大する順に配列され、かつ、同じ深さでは呼び出される順に配列されている。また、図６の例では、機能ブロックＢ（１）が、ツリー図及びシーケンス図の起点として強調表示されるように指定されている。
【００３９】
図７は、図６の生成パラメータに対応する第２の例示的なツリー図である。図７の例では、ツリー図は、すべての機能ブロックを含み、一方、関数を含んでいない。また、図７の例では、機能ブロックＢ（１）がツリー図の起点として強調表示される。
【００４０】
図８は、図６の生成パラメータに対応する第２の例示的なシーケンス図である。各機能ブロックの間において、呼び出しメッセージＣＭ０２〜ＣＭ０９及び戻りメッセージＲＭ０２〜ＲＭ０９が発行される。例えば、呼び出しメッセージＣＭ０２は、機能ブロックＢ（１）に含まれる関数Ｆ（２，１）から機能ブロックＢ（３）に含まれる関数Ｆ（３，１，１）への関数の呼び出し（コール）を示し、戻りメッセージＲＭ０２は、呼び出しメッセージＣＭ０２に対応する関数Ｆ（３，１，１）から関数Ｆ（２，１）への戻り（リターン）を示す。シーケンス図が機能ブロックを含むが関数を含まない場合、シーケンス図生成器１０は、同じ機能ブロックに含まれる複数の関数の間において発行される呼び出しメッセージ及び戻りメッセージ（ＣＭ０１、ＲＭ０１など）を含まず、異なる機能ブロックに含まれる関数の間において発行される呼び出しメッセージ及び戻りメッセージ（ＣＭ０２、ＲＭ０２など）を含むシーケンス図を生成する。また、図８の例では、機能ブロックＢ（１）がシーケンス図の起点として強調表示される。
【００４１】
表示される機能ブロックが１つの非表示の関数のみを含む場合、ツリー図及びシーケンス図は機能ブロックに代えて関数を含んでもよい。
【００４２】
図６〜図８を図３〜図５と比較すると、ソフトウェア構成要素の粒度を関数から機能ブロックへ変更したことにより、ツリー図及びシーケンス図のいずれにおいても、ソフトウェア構成要素の個数が減少し、呼び出しメッセージ及び戻りメッセージの個数もまた減少している。これにより、ツリー図及びシーケンス図の両方が簡単化され、理解しやすくなっている。
【００４３】
実施の形態に係るシーケンス図生成装置１００は以下のように動作する。
【００４４】
シーケンス図生成装置１００が起動されたとき、ステップＳ１０１において、初期状態では、記憶装置７にはツリー図の生成パラメータとして何も格納されていない。
【００４５】
ステップＳ１０２において、ソースコード解析器３は、ソースコードから各関数及び呼び出し関係を抽出して記憶装置４に格納する。
【００４６】
ステップS１０３において、ツリー図生成器８は、ツリー図の生成パラメータに基づいて、各関数及び呼び出し関係からツリー図を生成する。ここで、前述のように、初期状態では、記憶装置７にはツリー図の生成パラメータとして何も格納されていないので、ツリー図生成器８は、例えば図４に示すように、ソースコードのすべての関数を含み、機能ブロックを含まないソースコード全体のツリー図を生成する。
【００４７】
ステップＳ１０４において、ツリー図の生成パラメータ（すなわち、ツリー図の起点、範囲、及び粒度）を変更しない場合、制御装置６は、ソースコードから抽出された各関数の関数名をツリー図の生成パラメータとして記憶装置７に格納する。また、制御装置６は、これらの関数をツリー図に含まれるものとして個別に指定するフラグを、ツリー図の生成パラメータとして記憶装置７に格納する。
【００４８】
ステップＳ１０５において、ユーザが生成されたツリー図を承諾しないと判断した場合、ステップＳ１０４を繰り返し、ツリー図の生成パラメータを変更する。この場合、制御装置６は、例えば図６に示すように、各関数をツリー図において除外されるものとして指定し、各機能ブロックをツリー図に含まれるものとして個別に指定するフラグを、ツリー図の生成パラメータとして記憶装置７に格納する。ツリー図生成器８は、例えば図７に示すように、機能ブロックを含み、関数を含まないソースコード全体のツリー図を生成する。
【００４９】
ステップＳ１０５において、ユーザが生成されたツリー図を承諾すると判断した場合、ステップＳ１０６において、シーケンス図生成器１０は、例えば、図４のツリー図の生成パラメータに基づく図５のシーケンス図、又は、図７のツリー図の生成パラメータに基づく図８のシーケンス図を生成する。
【００５０】
ステップＳ１０７において、ユーザが生成されたシーケンス図を承諾しないと判断した場合、ステップＳ１０３〜Ｓ０６を繰り返し、ステップＳ１０４において、ツリー図の生成パラメータを変更する。一方、ステップＳ１０７において、ユーザが生成されたシーケンス図を承諾すると判断した場合、処理を終了する。
【００５１】
実施の形態に係るシーケンス図生成装置１００は、以下のような特有の効果を有する。
【００５２】
実施の形態に係るシーケンス図生成装置１００は、ツリー図の起点、範囲、及び粒度を容易に変更して生成することができ、従って、このようなツリー図に対応するシーケンス図の起点、範囲、及び粒度を容易に変更して生成することができる。ユーザは、ソースコードの構造を確認しながらツリー図に含まれるソフトウェア構成要素を選択する。これに応じて、シーケンス図生成装置１００は、シーケンス図の起点及び範囲を容易に変更し、また、ソースコード全体を把握するための大きな粒度から、例えば単一の機能ブロックのみを含む小さな粒度まで、シーケンス図の粒度を容易に変更することができる。これにより、実施の形態に係るシーケンス図生成装置１００によれば、ソースコードの構造を適切な粒度で確認しながら、所望のシーケンス図を生成して表示することができる。従って、ソースコードの解析作業を効率化し、また、ソースコードの品質を向上することができる。
【００５３】
選択されたソフトウェア構成要素（機能ブロック又は関数）のみを含むツリー図を表示することによって、ソースコード全体からシーケンス図を出力する範囲を確認しながら変更することができる。
【００５４】
［変形例］
図９は、実施の形態に係るシーケンス図生成装置１００によって使用される生成パラメータの第３の例を示す表である。図１０は、図９の生成パラメータに対応する第３の例示的なツリー図である。図１１は、図９の生成パラメータに対応する第３の例示的なシーケンス図である。図３の例では、生成パラメータが関数を含み機能ブロックを含まない場合を示し、図６の例では、生成パラメータが機能ブロックを含み関数を含まない場合を示した。それに代わって、図９に示すように、生成パラメータは、関数及び機能ブロックの両方を含んでいてもよい。図９の例では、生成パラメータは、機能ブロックＢ（１）、Ｂ（２）、及びＢ（３）を含み、機能ブロックＢ（４）、Ｂ（５）を含まず、各機能ブロックＢ（１）、Ｂ（２）、及びＢ（３）の関数Ｆ（１）、Ｆ（２，１）等を含まず、機能ブロックＢ（４）、Ｂ（５）の関数Ｆ（４，１）等を含むツリー図を生成するように設定されている。また、図１０に示すように、各機能ブロックＢ（１）、Ｂ（２）、及びＢ（３）において部分的に簡単化され、機能ブロックＢ（４）において部分的に詳細なツリー図を生成することができる。また、図１１に示すように、各機能ブロックＢ（１）、Ｂ（２）、及びＢ（３）において部分的に簡単化され、機能ブロックＢ（４）及びＢ（５）において部分的に詳細なシーケンス図を生成することができる。
【００５５】
図１２は、実施の形態に係るシーケンス図生成装置１００によって使用される生成パラメータの第４の例を示す表である。図１３は、図１２の生成パラメータに対応する第４の例示的なツリー図である。図１４は、図１２の生成パラメータに対応する第４の例示的なシーケンス図である。図１２の例では、生成パラメータは、関数Ｆ（１）、Ｆ（２，１）及び機能ブロックＢ（１）を含まないツリー図を生成するように設定されている。図１３の例では、関数Ｇ（２，ｍ１）及びＦ（３，１，１）を処理が開始する起点とするツリー図が生成される。また、図１３の例では、関数Ｆ（３，ｍ１，１）から関数Ｆ（４，ｍ４）が呼び出される。図１４の例では、関数Ｆ（３，ｍ１，１）及び関数Ｆ（４，ｍ４）の間において呼び出しメッセージＣＭ２１及び戻りメッセージＲＭ２１が発行され、関数Ｆ（３，ｍ１，１）及びＦ（２，ｍ１）の間において呼び出しメッセージＣＭ２２及び戻りメッセージＲＭ２２が発行される。
【００５６】
実施の形態に係るシーケンス図生成装置１００によれば、図３〜図７に示すようにシーケンス図の粒度を指定及び変更するだけでなく、図８〜図１４に示すようにシーケンス図の起点及び範囲を指定及び変更することもできる。従って、シーケンス図又はツリー図において、任意のソフトウェア構成要素の粒度を、任意の時点で変更することができる。
【００５７】
生成パラメータは、関数及び機能ブロックに限らず、他の粒度のソフトウェア構成要素（例えば、プロセス、モジュール、パッケージ、クラスなど）を含んでもよい。複数のソフトウェア構成要素は、より小さな粒度を有する複数の第１のソフトウェア構成要素と、より大きな粒度を有し、少なくとも１つの第１のソフトウェア構成要素を含む少なくとも１つの第２のソフトウェア構成要素とを含む。ツリー図生成器８は、第１のソフトウェア構成要素、第２のソフトウェア構成要素、又は、第１及び第２のソフトウェア構成要素の組み合わせを含むツリー図を生成してもよい。シーケンス図生成器１０は、第１のソフトウェア構成要素、第２のソフトウェア構成要素、又は、第１及び第２のソフトウェア構成要素の組み合わせを含むシーケンス図を生成してもよい。
【００５８】
また、ソースコード解析器３は、関数に限らず、ソースコードから他の粒度のソフトウェア構成要素を抽出してもよい。
【００５９】
また、ツリー図生成器８は、生成したツリー図を表示装置１２に表示するとき、図１５〜図１８を参照して説明するように、ツリー図に含まれるソフトウェア構成要素に関連付けて、追加の情報を表示してもよい。
【００６０】
図１５は、実施の形態に係るシーケンス図生成装置１００によって表示される第５の例示的なツリー図である。ツリー図生成器８は、ツリー図に含まれるソフトウェア構成要素に関連付けて、ソフトウェア構成要素の呼び出しの深さを表示装置１２に表示してもよい。図１５の例では、ツリー図生成器８は、関数Ｆ（１）を処理が開始する起点とし、各関数に関連付けて、各関数の呼び出しの深さを表示装置１２に表示する。
【００６１】
図１６は、実施の形態に係るシーケンス図生成装置１００によって表示される第６の例示的なツリー図である。ソフトウェア構成要素が複数のサブ構成要素を含む場合、ツリー図生成器８は、ツリー図に含まれる各ソフトウェア構成要素に関連付けて、各ソフトウェア構成要素に含まれるサブ構成要素の個数（すなわち、各ソフトウェア構成要素のサイズ）を表示装置１２に表示してもよい。図１６の例では、ツリー図生成器８は、機能ブロックＢ（１）を処理が開始する起点とし、各機能ブロックに関連付けて、各機能ブロックの呼び出しの深さと、各機能ブロックに含まれる関数の個数とを、表示装置１２に表示する。
【００６２】
図１５及び図１６の例によれば、各ソフトウェア構成要素の呼び出しの深さと、各ソフトウェア構成要素に含まれるサブ構成要素の個数とを表示することにより、ソースコードにおける各ソフトウェア構成要素の位置及びサイズを容易に確認することができる。これにより、シーケンス図の起点、範囲、及び粒度を容易に指定及び変更することができる。ソースコードの解析作業を効率化し、また、ソースコードの品質を向上することができる。
【００６３】
図１７は、実施の形態に係るシーケンス図生成装置１００によって表示される第７の例示的なツリー図である。制御装置６は、ソースコード解析器３によってソースコードから抽出された複数のソフトウェア構成要素を自動的にグループ化してもよい。図１７の例では、ツリー図の全体における関数の呼び出しの深さが「６」である場合、ツリー図の全体における機能ブロックの呼び出しの深さが「３」になるように、言い換えると、各機能ブロックにおける関数の呼び出しの深さが「２」になるように、複数の関数をグループ化して機能ブロックとして設定する。また、図１７の例では、共通の呼び出す関数に対応する複数の呼び出される関数は、同じ機能ブロックに含まれる。例えば、機能ブロックＢ（１１）は、関数Ｆ（１）、Ｆ（２，１）、及びＦ（２，ｍ１）を含む。
【００６４】
図１８は、実施の形態に係るシーケンス図生成装置１００によって表示される第８の例示的なツリー図である。シーケンス図生成装置１００は、初期状態において、ソースコードのすべての関数を含むソースコード全体のツリー図を生成する場合に限定されず、ソースコードの一部のソフトウェア構成要素を含むツリー図を生成するように構成されてもよい。ツリー図生成器８は、ツリー図の全体におけるソフトウェア構成要素の呼び出しの深さを示す予め指定されたパラメータに基づいて、ツリー図に含まれるソフトウェア構成要素及びツリー図において除外されるソフトウェア構成要素を決定してもよい。図１８の例では、ツリー図生成器８は、ツリー図の全体におけるソフトウェア構成要素の呼び出しの深さが「３」になるように、機能ブロックＢ（１１）〜Ｂ（１４）を含み、関数を含まないツリー図を生成する。
【００６５】
このように、ソースコード全体におけるソフトウェア構成要素の呼び出しの深さが、予め決められたしきい値より大きい場合、複数のソフトウェア構成要素をグループ化し、ソースコード全体を、しきい値以下の呼び出しの深さを有するいくつかのグループにより表示してもよい。これにより、多数のソフトウェア構成要素を含む大規模なソースコードの場合であっても、ソースコードの全体を示すツリー図及びシーケンス図を生成することができる。ソースコードの解析作業を効率化し、また、ソースコードの品質を向上することができる。
【００６６】
しきい値に基づいてグループ化されたソフトウェア構成要素のグループのうちの１つのグループのみを選択して表示する場合を考える。選択されたグループに含まれるソフトウェア構成要素の呼び出しの深さがしきい値よりもなお大きい場合、このグループに含まれるソフトウェア構成要素をいくつかのグループに再びグループ化して表示してもよい。例えば、ソースコード全体におけるソフトウェア構成要素の呼び出しの深さが「３０」であり、しきい値が「３」である場合、まず、ソースコードのソフトウェア構成要素は、深さ「１０」をそれぞれ有する３つのグループにグループ化される。次いで、３つのグループのうちの１つを選択して表示する場合、選択されたグループのソフトウェア構成要素は、例えば深さ「３」＋「３」＋「４」の３つのグループに再びグループ化される。さらに、これら３つのグループのうちの１つを選択して表示する場合、選択されたグループのソフトウェア構成要素は、例えば深さ「１」＋「１」＋「２」又は深さ「１」＋「１」＋「１」の３つのグループに再びグループ化される。
【００６７】
［他の変形例］
例示したツリー図及びシーケンス図では、それらの起点を強調表示したが、ツリー図及びシーケンス図における他のソフトウェア構成要素を識別可能に強調表示してもよい。例えば、特定の文字列を条件式として予め設定し、一般的な文字列検索の機能を用いて、当該文字列を含む関数名又は機能ブロック名を有する関数又は機能ブロックを抽出し、当該関数又は機能ブロックを識別可能に強調表示してもよい。ツリー図生成器８は、複数のソフトウェア構成要素のうちの一部を他のソフトウェア構成要素から識別可能に強調表示するようにツリー図を生成する。ツリー図生成器８は、例えば、マーク、色彩、枠線の修飾（太線など）、呼び出しの深さ及び順序の表示などを用いて、あるソフトウェア構成要素を強調表示してもよい。ツリー図においてあるソフトウェア構成要素を識別可能に強調表示することによって、ソフトウェア構成要素のサイズに関わらず、当該ソフトウェア構成要素を指定してシーケンス図の範囲を確認しながら絞り込むことができる。また、ツリー図において複数のソフトウェア構成要素が存在する場合、それらのソフトウェア構成要素が識別可能に強調表示され、各ソフトウェア構成要素を指定してシーケンス図を出力する範囲を確認しながら絞り込むことができる。また、ツリー図において複数のソフトウェア構成要素が存在する場合、サブ構成要素の個数を表示し、また、呼び出しの深さ及び順序を表示することによって、注目すべき関数及び／又は機能ブロックをもれなく含むシーケンス図を容易に生成することができる。
【００６８】
また、制御装置６は、複数の関数を機能ブロックにグループ化する場合、又は、処理を開始する起点を決定する場合に参照する補足情報を、生成パラメータとともに格納してもよい。補足情報は、例えば、ファイル名、関数の機能名、機能説明、処理の概要、使用又は更新する変数名、依存関係、などを含む。制御装置６は、ソースコードから補足情報を抽出してもよく、ユーザからユーザ入力装置５を介して取得してもよい。
【００６９】
実施の形態では、ソースコード解析器３によって抽出されたソフトウェア構成要素及び呼び出し関係に基づいてツリー図及びシーケンス図が生成された。それに代わって、コンピュータプログラムの実行時に出力される動作ログの解析結果からソフトウェア構成要素及び呼び出し関係を抽出し、それらに基づいてツリー図及びシーケンス図が生成されてもよい。
【００７０】
また、シーケンス図に含まれるソフトウェア構成要素（関数及び／又は機能ブロック）が予めわかっている場合、そのソフトウェア構成要素をユーザ入力装置５から直接に入力することにより、シーケンス図の起点、範囲、及び粒度を指定してもよい。
【産業上の利用可能性】
【００７１】
本発明の一態様に係るシーケンス図生成装置は、ソースコードの解析作業を効率化し、また、ソースコードの品質を向上するために有用である。【００７２】
１  記憶装置（ソースコード）、  ２  データ入力装置、  ３  ソースコード解析器、  ４  記憶装置（ソフトウェア構成要素及び呼び出し関係）、  ５  ユーザ入力装置、  ６  制御装置、  ７  記憶装置（生成パラメータ）、  ８  ツリー図生成器、  ９  記憶装置（ツリー図）、  １０  シーケンス図生成器、  １１  記憶装置（シーケンス図）、  １２  表示装置、  １３  データ出力装置、  １４  記憶装置（シーケンス図）、  １００  シーケンス図生成装置。
【図１】
2020174578.tif 000003
【図２】
2020174578.tif 000004
【図３】
2020174578.tif 000005
【図４】
2020174578.tif 000006
【図５】
2020174578.tif 000007
【図６】
2020174578.tif 000008
【図７】
2020174578.tif 000009
【図８】
2020174578.tif 000010
【図９】
2020174578.tif 000011
【図１０】
2020174578.tif 000012
【図１１】
2020174578.tif 000013
【図１２】
2020174578.tif 000014
【図１３】
2020174578.tif 000015
【図１４】
2020174578.tif 000016
【図１５】
2020174578.tif 000017
【図１６】
2020174578.tif 000018
【図１７】
2020174578.tif 000019
【図１８】
2020174578.tif 000020
【手続補正書】
【提出日】令和3年4月21日(2021.4.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のソフトウェア構成要素を含むソースコードからシーケンス図を生成するシーケンス図生成装置であって、
前記ソースコードから前記各ソフトウェア構成要素を抽出し、前記各ソフトウェア構成要素の間における呼び出し及び戻りの関係を示す呼び出し関係を抽出するソースコード解析器と、
前記ソースコード解析器によって抽出された前記各ソフトウェア構成要素及び前記呼び出し関係に基づいて、前記ソースコードのツリー図を生成するツリー図生成器と、
前記ソースコード解析器によって抽出された前記各ソフトウェア構成要素及び前記呼び出し関係に基づいて、前記ソースコードのシーケンス図を生成するシーケンス図生成器とを備え、
前記ツリー図生成器は、指定された前記ソフトウェア構成要素を含み、指定された前記ソフトウェア構成要素を除外するツリー図を生成し、
前記シーケンス図生成器は、前記ツリー図生成器によって生成された前記ツリー図に含まれた前記ソフトウェア構成要素を含み、前記ツリー図生成器によって生成された前記ツリー図において除外された前記ソフトウェア構成要素を除外するシーケンス図を生成する、
シーケンス図生成装置。
【請求項２】
複数のソフトウェア構成要素を含むソースコードからシーケンス図を生成するシーケンス図生成装置であって、
前記ソースコードから前記各ソフトウェア構成要素を抽出し、前記各ソフトウェア構成要素の間における呼び出し関係を抽出するソースコード解析器と、
前記ソースコード解析器によって抽出された前記各ソフトウェア構成要素及び前記呼び出し関係に基づいて、前記ソースコードのツリー図を生成するツリー図生成器と、
前記ソースコード解析器によって抽出された前記各ソフトウェア構成要素及び前記呼び出し関係に基づいて、前記ソースコードのシーケンス図を生成するシーケンス図生成器とを備え、
前記ツリー図生成器は、前記ツリー図に含まれる前記ソフトウェア構成要素及び前記ツリー図において除外される前記ソフトウェア構成要素が指定されることにより、起点、範囲、及び粒度が定まるツリー図を生成し、
前記シーケンス図生成器は、前記ツリー図生成器によって生成された前記ツリー図の起点、範囲、及び粒度に基づいて前記シーケンス図を生成する、
シーケンス図生成装置。
【請求項３】
前記シーケンス図生成装置は、
前記ツリー図及び前記シーケンス図を表示する表示装置と、
前記ツリー図に含まれる前記ソフトウェア構成要素及び前記ツリー図において除外される前記ソフトウェア構成要素を個別に指定するユーザ入力を取得するユーザ入力装置とをさらに備えた、
請求項１又は２記載のシーケンス図生成装置。
【請求項４】
前記複数のソフトウェア構成要素は、複数の第１のソフトウェア構成要素と、少なくとも１つの前記第１のソフトウェア構成要素を含む少なくとも１つの第２のソフトウェア構成要素とを含み、
前記ツリー図生成器は、前記第１のソフトウェア構成要素、前記第２のソフトウェア構成要素、又は、前記第１及び第２のソフトウェア構成要素の組み合わせを含むツリー図を生成し、
前記シーケンス図生成器は、前記第１のソフトウェア構成要素、前記第２のソフトウェア構成要素、又は、前記第１及び第２のソフトウェア構成要素の組み合わせを含むシーケンス図を生成する、
請求項３記載のシーケンス図生成装置。
【請求項５】
前記ツリー図生成器は、前記ツリー図に含まれる前記各第２のソフトウェア構成要素に関連付けて、前記各第２のソフトウェア構成要素に含まれる前記第１のソフトウェア構成要素の個数を前記表示装置に表示する、
請求項４記載のシーケンス図生成装置。
【請求項６】
前記ツリー図生成器は、前記ツリー図に含まれる前記ソフトウェア構成要素に関連付けて、前記ソフトウェア構成要素の呼び出しの深さを前記表示装置に表示する、
請求項３〜５のうちの１つに記載のシーケンス図生成装置。
【請求項７】
前記ツリー図生成器は、前記複数のソフトウェア構成要素のうちの一部を他のソフトウェア構成要素から識別可能に強調表示するように前記ツリー図を生成する、
請求項３〜６のうちの１つに記載のシーケンス図生成装置。
【請求項８】
前記ツリー図生成器は、前記ツリー図の全体における前記ソフトウェア構成要素の呼び出しの深さを示す予め指定されたパラメータに基づいて、前記ツリー図に含まれる前記ソフトウェア構成要素及び前記ツリー図において除外される前記ソフトウェア構成要素を決定する、
請求項１〜７のうちの１つに記載のシーケンス図生成装置。
【手続補正書】
【提出日】令和3年6月10日(2021.6.10)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００５５
【補正方法】変更
【補正の内容】
【００５５】
図１２は、実施の形態に係るシーケンス図生成装置１００によって使用される生成パラメータの第４の例を示す表である。図１３は、図１２の生成パラメータに対応する第４の例示的なツリー図である。図１４は、図１２の生成パラメータに対応する第４の例示的なシーケンス図である。図１２の例では、生成パラメータは、関数Ｆ（１）、Ｆ（２，１）及び機能ブロックＢ（１）を含まないツリー図を生成するように設定されている。図１３の例では、関数Ｆ（２，ｍ１）及びＦ（３，１，１）を処理が開始する起点とするツリー図が生成される。また、図１３の例では、関数Ｆ（３，ｍ１，１）から関数Ｆ（４，ｍ４）が呼び出される。図１４の例では、関数Ｆ（３，ｍ１，１）及び関数Ｆ（４，ｍ４）の間において呼び出しメッセージＣＭ２１及び戻りメッセージＲＭ２１が発行され、関数Ｆ（３，ｍ１，１）及びＦ（２，ｍ１）の間において呼び出しメッセージＣＭ２２及び戻りメッセージＲＭ２２が発行される。
【国際調査報告】
2020174578.tif 000021
2020174578.tif 000022
2020174578.tif 000023
2020174578.tif 000024