(57)【要約】【課題】複数の装置に跨る一連の動作の状況確認を容易にする。【解決手段】ログファイル収集部１０は、各ノードのログファイルＬ−１〜Ｌー３を収集する。重複信号削除部１１は、収集されたログファイルに含まれるメッセージ信号から、重複する２つのメッセージ信号を特定し、その一方に関する情報をログファイルから削除する。シーケンス図作成部１２は、収集されたログファイルに含まれるメッセージ信号のうち、残るメッセージ信号に関する情報に基づいて、複数のノードに跨る全体のシーケンス図を作成する。【選択図】図２
2010231275.tif 000002
【特許請求の範囲】
【請求項１】
複数のノード各々の動作履歴としてのログファイルを、前記複数のノード各々から収集する収集部と、
収集されたログファイルに含まれるメッセージ信号の中から、重複する２つのメッセージ信号を特定し、その一方に関する情報を前記ログファイルから削除する重複信号削除部と、
収集されたログファイルに含まれるメッセージ信号に関する情報のうち、残るメッセージ信号に関する情報に基づいて、前記複数のノードに跨る全体のシーケンス図を作成する作成部と、
を備えるシーケンス図作成装置。
【請求項２】
前記重複信号削除部は、
メッセージ信号に関する情報を、収集されたログファイルから抽出して時系列順に並べたテーブルを作成するテーブル作成部と、
順番に並ぶ２つのメッセージ信号に関する情報を比較することにより、両メッセージ信号が同一のメッセージ信号であるか否かを判定する判定部と、
同一のメッセージ信号であると判定された両メッセージ信号に関する情報の一方を前記ログファイルから削除する削除部と、
を備える、
ことを特徴とする請求項１に記載のシーケンス図作成装置。
【請求項３】
前記削除部は、
受信側のノードのログファイルに含まれるメッセージ信号に関する情報を削除する、
ことを特徴とする請求項２に記載のシーケンス図作成装置。
【請求項４】
複数のノード各々の動作履歴としてのログファイルを、前記複数のノード各々から収集する収集工程と、
収集されたログファイルに含まれるメッセージ信号の中から、重複する２つのメッセージ信号を特定し、その一方に関する情報を前記ログファイルから削除する重複信号削除工程と、
収集されたログファイルに含まれるメッセージ信号に関する情報のうち、残るメッセージ信号に関する情報に基づいて、前記複数のノードに跨る全体のシーケンス図を作成する作成工程と、
を含むシーケンス図作成方法。
【請求項５】
前記重複信号削除工程は、
メッセージ信号に関する情報を、収集されたログファイルから抽出して時系列順に並べたテーブルを作成するテーブル作成工程と、
順番に並ぶ２つのメッセージ信号に関する情報を比較することにより、両メッセージ信号が同一のメッセージ信号であるか否かを判定する判定工程と、
同一のメッセージ信号であると判定された両メッセージ信号に関する情報の一方を前記ログファイルから削除する削除工程と、
を含む、
ことを特徴とする請求項４に記載のシーケンス図作成方法。
【請求項６】
前記削除工程では、
受信側のノードのログファイルに含まれるメッセージ信号に関する情報を削除する、
ことを特徴とする請求項５に記載のシーケンス図作成方法。
【請求項７】
複数のノード各々の動作履歴としてのログファイルを、前記複数のノード各々から収集する収集手順と、
収集されたログファイルに含まれるメッセージ信号の中から、重複する２つのメッセージ信号を特定し、その一方に関する情報を前記ログファイルから削除する重複信号削除手順と、
収集されたログファイルに含まれるメッセージ信号に関する情報のうち、残るメッセージ信号に関する情報に基づいて、前記複数のノードに跨る全体のシーケンス図を作成する作成手順と、
をコンピュータに実行させるプログラム。
【請求項８】
前記重複信号削除手順では、
メッセージ信号に関する情報を、収集されたログファイルから抽出して時系列順に並べたテーブルを作成するテーブル作成手順と、
順番に並ぶ２つのメッセージ信号に関する情報を比較することにより、両メッセージ信号が同一のメッセージ信号であるか否かを判定する判定手順と、
同一のメッセージ信号であると判定された両メッセージ信号に関する情報の一方を前記ログファイルから削除する削除手順と、
をコンピュータに実行させる、
ことを特徴とする請求項７に記載のプログラム。
【請求項９】
前記削除手順では、
受信側のノードのログファイルに含まれるメッセージ信号に関する情報を削除する手順をコンピュータに実行させる、
ことを特徴とする請求項８に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムの実行結果に対応するシーケンス図を作成するシーケンス図作成装置、シーケンス図作成方法及びプログラムに関する。
【背景技術】
【０００２】
業務用システムの規模は、年々大きくなる一方であり、それらが複数の装置に跨って実行されることが多くなっている。例えば、図７に示すように、発信電話端末Ｔｅｌ−１から、着信電話端末Ｔｅｌ−２へ通話するには、ノードＮ−１、ノードＮ−２、ノードＮ−３が協調動作して、両者の回線を接続する。
【０００３】
システムの開発、保守において、ソースコードの構造を把握するために、そのソースコードの実行結果のログ情報に基づいて作成されたシーケンス図が利用されることがある（例えば、特許文献１〜５参照）。シーケンス図とは、実行される手順やその手順による信号のやり取りを、時系列にまとめたものである。
【０００４】
ノードＮ−１〜Ｎ−３では、回線接続動作の際に、その動作の履歴を含むログファイルＬ−１〜Ｌ−３が生成される。ログファイルＬ−１〜Ｌ−３は、ノードＮ−１〜Ｎ−３の開発、保守に用いられる。
【０００５】
これらのログファイルＬ−１、Ｌ−２、Ｌ−３はそれぞれ、ノードＮ−１、Ｎ−２、Ｎ−３に接続されたコンピュータＰ−１、Ｐ−２、Ｐ−３に送信される。コンピュータＰ−１、Ｐ−２、Ｐ−３では、受信したログファイルＬ−１、Ｌ−２、Ｌ−３に基づくメッセージ信号のシーケンス図Ｓ−１、Ｓ−２、Ｓ−３が作成され、表示される。開発者は、表示されたシーケンス図Ｓ−１、Ｓ−２、Ｓ−３をそれぞれ参照し、ノードＮ−１〜Ｎ−３の開発、保守を行う。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−０９２６０９号公報
【特許文献２】特開２００６−０１８４７７号公報
【特許文献３】特開２００８−０５９２７５号公報
【特許文献４】特開平０５−２１６６４０号公報
【特許文献５】特開平０７−１６０５４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記特許文献１〜５に記載のシステムでは、ログファイルが装置毎に収集されるため、シーケンス図を装置毎に作成することはできるが、１つのシーケンス図にまとめることができない。したがって、複数の装置に跨った一連の動作の流れを、開発者が把握するのが困難であった。
【０００８】
本発明は、上記事情に鑑みてなされたものであり、複数の装置に跨った一連の動作の流れを容易に確認することができるシーケンス図作成装置、シーケンス図作成方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明の第１の観点に係るシーケンス図作成装置は、
複数のノード各々の動作履歴としてのログファイルを、前記複数のノード各々から収集する収集部と、
収集されたログファイルに含まれるメッセージ信号の中から、重複する２つのメッセージ信号を特定し、その一方に関する情報を前記ログファイルから削除する重複信号削除部と、
収集されたログファイルに含まれるメッセージ信号に関する情報のうち、残るメッセージ信号に関する情報に基づいて、前記複数のノードに跨る全体のシーケンス図を作成する作成部と、
を備える。
【００１０】
本発明の第２の観点に係るシーケンス図作成方法は、
複数のノード各々の動作履歴としてのログファイルを、前記複数のノード各々から収集する収集工程と、
収集されたログファイルに含まれるメッセージ信号の中から、重複する２つのメッセージ信号を特定し、その一方に関する情報を前記ログファイルから削除する重複信号削除工程と、
収集されたログファイルに含まれるメッセージ信号に関する情報のうち、残るメッセージ信号に関する情報に基づいて、前記複数のノードに跨る全体のシーケンス図を作成する作成工程と、
を含む。
【００１１】
本発明の第３の観点に係るプログラムは、
複数のノード各々の動作履歴としてのログファイルを、前記複数のノード各々から収集する収集手順と、
収集されたログファイルに含まれるメッセージ信号の中から、重複する２つのメッセージ信号を特定し、その一方に関する情報を前記ログファイルから削除する重複信号削除手順と、
収集されたログファイルに含まれるメッセージ信号に関する情報のうち、残るメッセージ信号に関する情報に基づいて、前記複数のノードに跨る全体のシーケンス図を作成する作成手順と、
をコンピュータに実行させる。
【発明の効果】
【００１２】
本発明によれば、複数の装置に跨った一連の動作を行う大規模なシステムの開発及び保守が容易となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態に係るシーケンス図作成装置を用いたソフトウエア開発、保守の流れの一例を示す模式図である。
【図２】図１のシーケンス図作成装置の構成を示すブロック図である。
【図３】テーブル作成の様子を示す図である。
【図４】図１のシーケンス図作成装置の動作を示すフローチャートである。
【図５】信号線連結前のシーケンス図の一例である。
【図６】信号線連結後のシーケンス図の一例である。
【図７】従来の開発・保守システムの構成を示す模式図である。
【発明を実施するための形態】
【００１４】
次に、本発明の一実施形態について、図面を参照して詳細に説明する。
【００１５】
図１に示すように、ノードＮ−１、ノードＮ−２、ノードＮ−３は、互いに協調動作して、発信電話端末Ｔｅｌ−１から、着信電話端末Ｔｅｌ−２へ通話する際に、両者の回線を接続する。ノードＮ−１、Ｎ−２、Ｎ−３は、それぞれのプログラムを実行することにより、互いに連携動作を行う。連携動作は、装置間のメッセージ信号の送受信によって実現される。
【００１６】
より具体的には、ノードＮ−１、Ｎ−２、Ｎ−３には、実行されるプログラムとして、装置間のメッセージの送信プログラム、受信プログラムが組み込まれている。あるノードで、送信プログラムが実行されると、メッセージの送信が行われる。そのメッセージの受信先の装置では、受信プログラムが実行されて、そのメッセージが受信される。メッセージを受信した装置は、そのメッセージの内容に従って、プログラムを実行する。このような一連の動作により、装置間の協調動作が実現される。ノードＮ−１、Ｎ−２、Ｎ−３で実行されるプログラムは、マルチタスクで動作するプログラムであり、プログラム間でもメッセージの送受信が行われる。
【００１７】
ノードＮ−１、Ｎ−２、Ｎ−３は、それぞれのプログラムの実行結果の履歴として、ログファイルＬ−１、Ｌ−２、Ｌ−３を作成する。
【００１８】
本実施形態に係るシーケンス図作成装置１は、ＣＰＵ、メモリ、ＲＯＭ、ＲＡＭ（いずれも不図示）等を含むコンピュータである。ＲＯＭ等に格納されたプログラムがメモリに読み込まれ、ＣＰＵがそのプログラムを実行することにより、シーケンス図作成装置１の機能が実現される。
【００１９】
シーケンス図作成装置１は、ログファイルＬ−１、Ｌ−２、Ｌ−３を収集する。シーケンス図作成装置１は、これらのログファイルＬ−１〜Ｌ−３に基づいて、複数のノードＮ−１〜Ｎ−３に跨って実行されるソフトウエアプログラムによる一連の動作を示す全体シーケンス図２の作成、表示を行う。全体シーケンス図２では、装置内の各部や装置間で信号がやり取りされる様子が示されている。信号は、送信元と受信先とを結ぶ矢印で表現されており、その矢印は、縦方向に、時系列で並んでいる。
【００２０】
図２に示すように、シーケンス図作成装置１は、ログファイル収集部１０と、重複信号削除部１１と、シーケンス図作成部１２と、制御部１３と、記憶部１４とを備える。
【００２１】
ログファイル収集部１０は、ログファイルＬ−１をノードＮ−１から取得し、ログファイルＬ−２をノードＮ−２から取得し、ログファイルＬ−３をノードＮ−３から取得する。ログファイル収集部１０は、ログファイルＬ−１、Ｌ−２、Ｌ−３を、記憶部１４に格納する。
【００２２】
重複信号削除部１１は、収集されたログファイルＬ−１〜Ｌ−３に含まれるメッセージ信号の中から、重複する２つのメッセージ信号（送受信で対になっている信号）を特定し、その一方に関する情報をログファイルＬ−１〜Ｌ−３から削除する。重複信号削除部１１は、テーブル作成部２０と、判定部２１と、削除部２２とを備える。
【００２３】
テーブル作成部２０は、送信者が同じであるメッセージ信号に関する情報を、収集されたログファイルＬ−１〜Ｌ−３から抽出し、抽出された情報を時系列順にソートしたテーブルＴー１を作成する。この場合、送信者は、発信電話端末Ｔｅｌ−１であるため、発信電話端末Ｔｅｌ−１についてのテーブルＴ−１が作成される。
【００２４】
例えば、図３に示すように、テーブル作成部２０は、送信元がノードＮ−１であるメッセージ信号に関する情報を、ログファイルＬ−１、Ｌ−２、Ｌ−３から抽出し、抽出された情報を時系列順に並べたテーブルＴ−１を作成する。このテーブルＴ−１に含まれる情報としては、時刻（送信時刻又は受信時刻）、プロトコル種別、メッセージ種別、送信側情報、受信側情報などがある。また、図３では図示されていないが、メッセージの内容も、この情報に含まれる。
【００２５】
判定部２１は、順番に並ぶ２つのメッセージ信号に関する情報を比較することにより、両メッセージ信号が同一のメッセージ信号であるか否かを判定する。例えば、プロトコル種別、メッセージ種別、送信側情報、受信側情報及びメッセージの内容などが同じである情報は、同一のメッセージ信号であると判定される。
【００２６】
削除部２２は、同一のメッセージ信号であると判定された両メッセージ信号の一方に関する情報を、ログファイルＬ−１〜Ｌ−３から削除する。ここでは、メッセージ信号のうち、一方のメッセージ信号に関する情報を削除すればよいが、本実施形態では、受信側のログファイルに含まれているメッセージ信号に関する情報を削除する。
【００２７】
シーケンス図作成部１２は、収集されたログファイルＬ−１、Ｌ−２、Ｌ−３に含まれるメッセージ信号のうち、残るメッセージ信号に基づいて、例えば、ＵＭＬ（Unified Modeling Language）と呼ばれる手法を用いて、ノードＮ−１、Ｎ−２、Ｎ−３に跨る全体シーケンス図２（図１参照）を作成する。
【００２８】
制御部１３は、装置全体を統括制御する。記憶部１４には、各種データが格納される。
【００２９】
次に、シーケンス図作成装置１の動作について説明する。
【００３０】
図４に示すように、最初に、ログファイル収集部１０は、ログファイルＬ−１、Ｌ−２、Ｌ−３を収集する（ステップＳ２０１）。続いて、重複信号削除部１１のテーブル作成部２０は、テーブルＴ−１を作成する（ステップＳ２０２）。
【００３１】
続いて、制御部１３は、カウンタ値ＣＮを０に初期化する（ステップＳ２０３）。続いて、制御部１３は、テーブルＴ−１におけるメッセージの読み込みの終了判断を行う（ステップＳ２０４）。
【００３２】
ここで、メッセージの読み込みが終了しておらず、読み込み継続と判定されれば（ステップＳ２０４；Ｎｏ）、重複信号削除部１１の判定部２１は、カウンタ値ＣＮに基づいて、テーブルＴ−１内のＣＮ番目のメッセージ信号に関する情報と、ＣＮ＋１番目のメッセージ信号に関する情報とを抽出する（ステップＳ２０５）。
【００３３】
続いて、判定部２１は、比較するメッセージ信号に関する情報が、送受信の違いのみであるか否かにより、同じ信号であるか否かを判定する（ステップＳ２０６）。同じ信号でないと判定されれば（ステップＳ２０６；Ｎｏ）、シーケンス図作成装置１は、ステップＳ２０４に戻る。
【００３４】
同じ信号であると判定されれば（ステップＳ２０６；Ｙｅｓ）、削除部２２は、受信側のログファイルに含まれるメッセージ信号に関する情報を削除する（ステップＳ２０７）。続いて、制御部１３は、カウンタ値ＣＮを、１だけインクリメントする（ステップＳ２０８）。ステップＳ２０８実行後、シーケンス図作成装置１は、ステップＳ２０４に戻る。
【００３５】
このようにして、ステップＳ２０４→Ｓ２０５→Ｓ２０６→Ｓ２０７→Ｓ２０８が繰り返され、重複するメッセージ信号が削除される。例えば、図５に示すように、ノードＮ−１のシーケンス図Ｓ−１では、メッセージＭ−１、Ｍ−２、Ｍ−７、Ｍ−８が送受信されており、ノードＮ−２のシーケンス図Ｓ−２では、メッセージＭ−３、Ｍ−４、Ｍ−５、Ｍ−６が送受信されているものとする。また、実際には、ノードＮ−１から送信されるメッセージ信号Ｍ−２と、ノードＮ−２で受信されるメッセージ信号Ｍ−３とが重複しており、装置Ｎ−２から送信されるメッセージ信号Ｍ−６と、装置Ｎ−２で受信されるメッセージ信号Ｍ−７とが重複している。この場合、削除部２２により、受信側のメッセージ信号Ｍ−３に関する情報が、ログファイルＬ−２から削除され、受信側のメッセージ信号Ｍ−７に関する情報が、ログファイルＬ−１から削除される。
【００３６】
メッセージの読み込み終了と判定されると（ステップＳ２０４；Ｙｅｓ）、シーケンス図作成部１２は、ログファイルＬ−１、Ｌ−２、Ｌ−３に基づいて、全体シーケンス図２（図１参照）を作成する（ステップＳ２０９）。ここで、ノード間で送受信されるメッセージ信号を用いて、各シーケンス図Ｓ−１、Ｓ−２、Ｓ−３が連結されることにより、全体シーケンス図２が作成される。送信側のノードは、メッセージ信号を送信した段階で、次の段階へ移行し、受信側のノードは、メッセージ信号を受信してから、次の段階へ移行するように、個々のシーケンス図が連結される。
【００３７】
例えば、図６に示すように、メッセージ信号Ｍ−２、Ｍ−６によって、ノードＮ−１のシーケンス図Ｓ−１と、ノードＮ−２のシーケンス図Ｓ−２とが連結される。このようにして、シーケンス図Ｓ−１、Ｓ−２、Ｓ−３が連結され、図１の全体シーケンス図２が作成される。
【００３８】
ステップＳ２０９終了後、シーケンス図作成装置１は、処理を終了する。
【００３９】
以上詳細に説明したように、本実施形態によれば、収集されたログファイルＬ−１〜Ｌ−３に含まれるメッセージ信号の中から、重複する２つのメッセージ信号を特定し、その一方に関する情報を削除する。これにより、余分なメッセージを削除して、個々のノードＮ−１〜Ｎ−３のシーケンス図を連結することができるので、複数のノードＮ−１〜Ｎ−３に跨って行われる一連の動作を示す全体シーケンス図２を作成し、表示することができる。
【００４０】
この全体シーケンス図２を見れば、ノードＮ−１〜Ｎ−３に跨るソフトウエアの開発及び保守を容易に行うことができるようになる。この結果、複数のノードＮ−１〜Ｎ−３に跨った大規模なシステムの開発及び保守が容易となる。
【００４１】
また、本実施形態では、送信元のノードが同じであるメッセージ信号に関する情報を、収集されたログファイルＬ−１〜Ｌ−３から抽出し、抽出された情報を時系列順にソートしたテーブルＴ−１を作成し、そのテーブルＴ−１を参照して、重複したメッセージ信号を特定する。このような簡単なアルゴリズムで、重複したメッセージ信号を特定することができるので、コンピュータの負荷を軽減し、その処理時間を短縮することができる。
【００４２】
また、本実施形態では、重複したメッセージ信号に関する情報のうち、受信側のログファイルに格納された情報を削除する。このように決めておけば、重複したメッセージ信号を両方削除してしまうのを防ぐことができる。
【００４３】
なお、ログファイルＬ−１〜Ｌ−３の形式は、本実施形態のものには、限られない。ログファイルＬ−１〜Ｌ−３には、それぞれのメッセージ信号について、送信側情報、対地情報（送信元アドレスや宛先アドレス）、時間情報、信号情報などが含まれていればよい。
【００４４】
なお、本実施形態では、ノードの数を３台としたが、本発明は、これらの数に制限されないのは勿論である。
【００４５】
また、本実施形態では、シーケンス図作成装置１によって実行されるプログラムが、ＲＯＭに予め記憶されているものとして説明した。このプログラムは、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory）、ＤＶＤ（Digital Versatile Disc）、ＭＯ（Magneto Optical disc）などのコンピュータ読み取り可能な記録媒体に格納して配布され、インストールされるようになっていてもよい。また、インターネット等を介して、プログラムをダウンロードし、インストールされるようになっていてもよい。
【符号の説明】
【００４６】
１  シーケンス図作成装置
２  全体シーケンス図
１０  ログファイル収集部
１１  重複信号削除部
１２  シーケンス図作成部
１３  制御部
１４  記憶部
２０  テーブル作成部
２１  判定部
２２  削除部
Ｎ−１、Ｎ−２、Ｎ−３  ノード
Ｌ−１、Ｌ−２、Ｌ−３  ログファイル
Ｐ−１、Ｐ−２、Ｐ−３  コンピュータ
Ｓ−１、Ｓ−２、Ｓ−３  シーケンス図
Ｔ−１  テーブル
Ｔｅｌ−１  発信電話端末
Ｔｅｌー２  着信電話端末
【図１】
2010231275.tif 000003
【図２】
2010231275.tif 000004
【図３】
2010231275.tif 000005
【図４】
2010231275.tif 000006
【図５】
2010231275.tif 000007
【図６】
2010231275.tif 000008
【図７】
2010231275.tif 000009