(57)【要約】【課題】常駐プログラムの実行中の状態遷移を可視化することができる状態遷移可視化システムを提供する。【解決手段】状態遷移可視化システムにおいて、ログファイル３１、設計ファイル３３、および設定ファイル３７を記憶する記憶部３０と、状態遷移マトリックスを表示する表示部４０と、常駐プログラムの状態遷移の可視化のための情報を入力する入力部３９と、記憶部３０に記憶された複数の設計ファイル３３のうち、入力部３９からの指示により選択された設計ファイル３３に基づいて、表示部４０に、選択された状態遷移マトリックスを表示し、設定ファイル３７に基づいて、選択された設計ファイル３３に対応するログファイル３１を読込み、読み込んだログファイル３１の状態情報および事象情報の情報に基づいて、表示部４０に表示された状態遷移マトリックスに状態遷移の状態を表示する処理部２０とを備えた。【選択図】図１
2015170072.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ上で動作する常駐プログラムの状態遷移を可視化する状態遷移可視化システムであって、
前記コンピュータ上での前記常駐プログラムの実行時に出力される状態情報および事象情報を含むログが格納されたログファイル、前記常駐プログラムの状態遷移マトリックスによる設計情報が格納された設計ファイル、および前記設計ファイルと前記ログファイルとの対応関係の情報が格納された設定ファイルを記憶する記憶部と、
前記状態遷移マトリックスを表示する表示部と、
前記常駐プログラムの状態遷移の可視化のための情報を入力する入力部と、
前記記憶部に記憶された複数の前記設計ファイルのうち、前記入力部からの指示により選択された前記設計ファイルに基づいて、前記表示部に、選択された前記状態遷移マトリックスを表示し、前記設定ファイルに基づいて、選択された前記設計ファイルに対応する前記ログファイルを読込み、読み込んだ前記ログファイルの前記状態情報および前記事象情報の情報に基づいて、前記表示部に表示された前記状態遷移マトリックスに状態遷移の状態を表示する処理部と、
を備えた、状態遷移可視化システム。
【請求項２】
請求項１に記載の状態遷移可視化システムにおいて、
選択された前記状態遷移マトリックスのそれぞれに対応する前記設計ファイルに基づいた前記常駐プログラムは、相互に関係のある処理を行うものである、
状態遷移可視化システム。
【請求項３】
請求項２に記載の状態遷移可視化システムにおいて、
前記処理部は、選択された前記設計ファイルに対応する前記ログファイルを読込み、読み込んだ前記ログファイルの情報を時系列的に並び替えて、前記表示部に表示された前記状態遷移マトリックスに状態遷移の状態を表示する、
状態遷移可視化システム。
【請求項４】
請求項１に記載の状態遷移可視化システムにおいて、
前記処理部は、前記表示部に、再生、一時停止、巻戻し、および早送りの指示を受け付ける操作領域を表示させ、前記操作領域に対する操作入力により、前記表示部に表示された複数の前記状態遷移マトリックスの状態遷移の表示を制御する、
状態遷移可視化システム。
【請求項５】
コンピュータ上での常駐プログラムの実行時に出力される状態情報および事象情報を含むログが格納されたログファイル、前記常駐プログラムの状態遷移マトリックスによる設計情報が格納された設計ファイル、および前記設計ファイルと前記ログファイルとの対応関係の情報が格納された設定ファイルを記憶する記憶部と、前記状態遷移マトリックスを表示する表示部と、前記常駐プログラムの状態遷移の可視化のための情報を入力する入力部とを有する状態遷移可視化システム上で実行され、前記コンピュータ上で動作する前記常駐プログラムの状態遷移を可視化する状態遷移可視化プログラムであって、
前記状態遷移可視化プログラムは、前記記憶部に記憶された複数の前記設計ファイルのうち、前記入力部からの指示により選択された前記設計ファイルに基づいて、前記表示部に、選択された前記状態遷移マトリックスを表示し、前記設定ファイルに基づいて、選択された前記設計ファイルに対応する前記ログファイルを読込み、読み込んだ前記ログファイルの前記状態情報および前記事象情報の情報に基づいて、前記表示部に表示された前記状態遷移マトリックスに状態遷移の状態を表示する、
状態遷移可視化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、常駐プログラムの実行状況を把握する状態遷移可視化システムおよび状態遷移可視化プログラムに関し、状態遷移をマトリックスで可視化することで、視覚的に把握する技術に関するものである。
【背景技術】
【０００２】
従来、常駐プログラムはコンピュータ上で実行され、様々な処理を行っている。また、常駐プログラムは、ウインドウを持たないことが多く、その実行状況の把握、およびデバッグや障害発生条件の特定が困難であった。
【０００３】
また、制御系開発においては、個々の技術スキルに開発手法が委ねられており、標準化があまりなされていなかった。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来、常駐プログラムの設計は、状態遷移マトリックス（デシジョンテーブル）が用いられるのが一般的であり、状態遷移マトリックスからソースコードスケルトンを出力し、常駐プログラムの実行ファイルを作成しているが、常駐プログラムの実行中の状態遷移の可視化が望まれていた。
【０００５】
そこで、本発明の目的は、常駐プログラムの実行状況の把握、およびデバッグや障害発生条件の特定を行うために、常駐プログラムの実行中の状態遷移を可視化することができる状態遷移可視化システムおよび状態遷移可視化プログラムを提供することにある。
【０００６】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００７】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次の通りである。
【０００８】
すなわち、代表的なものの概要は、コンピュータ上で動作する常駐プログラムの状態遷移を可視化する状態遷移可視化システムであって、コンピュータ上での常駐プログラムの実行時に出力される状態情報および事象情報を含むログが格納されたログファイル、常駐プログラムの状態遷移マトリックスによる設計情報が格納された設計ファイル、および設計ファイルとログファイルとの対応関係の情報が格納された設定ファイルを記憶する記憶部と、状態遷移マトリックスを表示する表示部と、常駐プログラムの状態遷移の可視化のための情報を入力する入力部と、記憶部に記憶された複数の設計ファイルのうち、入力部からの指示により選択された設計ファイルに基づいて、表示部に、選択された状態遷移マトリックスを表示し、設定ファイルに基づいて、選択された設計ファイルに対応するログファイルを読込み、読み込んだログファイルの状態情報および事象情報の情報に基づいて、表示部に表示された状態遷移マトリックスに状態遷移の状態を表示する処理部とを備えたものである。
【０００９】
また、コンピュータ上での常駐プログラムの実行時に出力される状態情報および事象情報を含むログが格納されたログファイル、常駐プログラムの状態遷移マトリックスによる設計情報が格納された設計ファイル、および設計ファイルとログファイルとの対応関係の情報が格納された設定ファイルを記憶する記憶部と、状態遷移マトリックスを表示する表示部と、常駐プログラムの状態遷移の可視化のための情報を入力する入力部とを有する状態遷移可視化システム上で実行され、コンピュータ上で動作する常駐プログラムの状態遷移を可視化する状態遷移可視化プログラムであって、状態遷移可視化プログラムは、記憶部に記憶された複数の設計ファイルのうち、入力部からの指示により選択された設計ファイルに基づいて、表示部に、選択された状態遷移マトリックスを表示し、設定ファイルに基づいて、選択された設計ファイルに対応するログファイルを読込み、読み込んだログファイルの状態情報および事象情報の情報に基づいて、表示部に表示された状態遷移マトリックスに状態遷移の状態を表示するものである。
【発明の効果】
【００１０】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下の通りである。
【００１１】
すなわち、常駐プログラムの実行中の状態遷移を可視化することができ、常駐プログラムの実行状況の把握、およびデバッグや障害発生条件を特定する作業の効率を向上させることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施の形態に係る状態遷移可視化システムの構成を示す構成図である。
【図２】（ａ）、（ｂ）は本発明の一実施の形態に係る状態遷移可視化システムで使用されるログファイルの構造を示す図である。
【図３】（ａ）、（ｂ）は本発明の一実施の形態に係る状態遷移可視化システムで使用される設計ファイルの構造を示す図である。
【図４】（ａ）、（ｂ）は本発明の一実施の形態に係る状態遷移可視化システムで使用されるワークファイルの構造を示す図である。
【図５】（ａ）、（ｂ）は本発明の一実施の形態に係る状態遷移可視化システムで使用される設定ファイルの構造を示す図である。
【図６】本発明の一実施の形態に係る状態遷移可視化システムの初期処理部の動作を示すフローチャートである。
【図７】本発明の一実施の形態に係る状態遷移可視化システムに表示される状態遷移可視化システム画面の一例を示す図である。
【図８】本発明の一実施の形態に係る状態遷移可視化システムの設計ファイル入力処理部の動作を示すフローチャートである。
【図９】本発明の一実施の形態に係る状態遷移可視化システムに表示される設計ファイル入力画面の一例を示す図である。
【図１０】本発明の一実施の形態に係る状態遷移可視化システムの設計ファイル表示処理部の動作を示すフローチャートである。
【図１１】本発明の一実施の形態に係る状態遷移可視化システムに表示される状態遷移可視化システム画面の一例を示す図である。
【図１２】本発明の一実施の形態に係る状態遷移可視化システムの再生処理部の全体動作を示すフローチャートである。
【図１３】本発明の一実施の形態に係る状態遷移可視化システムの再生処理部のワークファイル書込み処理（１）の動作を示すフローチャートである。
【図１４】本発明の一実施の形態に係る状態遷移可視化システムの再生処理部のワークファイル書込み処理（２）の動作を示すフローチャートである。
【図１５】本発明の一実施の形態に係る状態遷移可視化システムの再生処理部のログファイル整合性チェック処理の動作を示すフローチャートである。
【図１６】本発明の一実施の形態に係る状態遷移可視化システムの再生処理部のワークファイルソート処理の動作を示すフローチャートである。
【図１７】本発明の一実施の形態に係る状態遷移可視化システムの再生処理部のセルマーク処理の動作を示すフローチャートである。
【図１８】本発明の一実施の形態に係る状態遷移可視化システムに表示される状態遷移可視化システム画面の一例を示す図である。
【図１９】本発明の一実施の形態に係る状態遷移可視化システムの終了処理部の動作を示すフローチャートである。
【図２０】本発明の一実施の形態に係る状態遷移可視化システムに表示される状態遷移可視化システム画面の他の例を示す図である。
【図２１】本発明の一実施の形態に係る状態遷移可視化システムに表示される状態遷移可視化システム画面の他の例を示す図である。
【図２２】本発明の一実施の形態に係る状態遷移可視化システムのログファイルが追加される場合のワークファイル書込み処理（２）の動作を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１４】
＜状態遷移可視化システムの構成＞
図１により、本発明の一実施の形態に係る状態遷移可視化システムの構成について説明する。図１は本発明の一実施の形態に係る状態遷移可視化システムの構成を示す構成図である。
【００１５】
図１において、状態遷移可視化システム１０は、処理部２０、記憶部３０、入力部３９、および表示部４０を備えている。処理部２０は、初期処理部２１、設計ファイル入力処理部２２、設計ファイル表示処理部２３、再生処理部２４、終了処理部２５を有し、状態遷移可視化の処理を行う。記憶部３０は、ログファイル３１が格納されるログエリア３２、設計ファイル３３が格納される設計エリア３４、ワークファイル３５が格納されるワークエリア３６、設定ファイル３７が格納される設定エリア３８を有している。
【００１６】
入力部３９は、状態遷移可視化システム１０の利用者などが、情報の入力、選択肢の選択、および状態遷移マトリックスの可視化の実行の指示などを行う。表示部４０は、状態遷移可視化システム１０の利用者などに、各種情報の入力画面や、状態遷移マトリックスの表示画面などを表示する。
【００１７】
状態遷移可視化システム１０は、ネットワーク４１を介して、状態遷移の可視化の対象となる常駐プログラムが実行されるコンピュータ４２が接続されており、コンピュータ４２では、常駐プログラムの実行時に出力されるログがログファイル４３として保存されている。
【００１８】
コンピュータ４２に保存されたログファイル４３は、定期的に状態遷移可視化システム１０に送信され、ログエリア３２にログファイル３１として格納されている。
【００１９】
また、処理部２０の各処理部は、例えば、表計算ソフト上に実装され、コンピュータ上で表計算ソフトを実行することにより、各処理部の処理を行うことも可能である。表示部４０には、処理部２０により処理された状態遷移マトリックスなどが表示される。
【００２０】
また、処理部２０の各処理部は、コンピュータ上で実行される状態遷移可視化プログラムとして実装され、コンピュータ上で状態遷移可視化プログラムを実行することにより、各処理部の処理を行うことも可能である。
【００２１】
＜各ファイルの構造＞
次に、図２〜図５により、本発明の一実施の形態に係る状態遷移可視化システムで使用される各ファイルの構造およびデータ例について説明する。図２〜図５は本発明の一実施の形態に係る状態遷移可視化システムで使用される各ファイルの構造を示す図であり、図２はログファイル３１、図３は設計ファイル３３、図４はワークファイル３５、図５は設定ファイル３７を示している。
【００２２】
ログファイル３１は、コンピュータ４２で常駐プログラムの実行時に保存されたログファイル４３が格納されたファイルであり、図２（ａ）に示すように、項目として、「ｙｙｙｙ／ＭＭ／ｄｄ」形式で記録した「年月日」、「ｈｈ：ｍｍ：ｓｓ．９９９」形式で記録した「時分秒ミリ秒」、常駐プログラムの状態を示す「Ｓ９９」形式のコード番号で記録した「状態番号」、常駐プログラムの状態が遷移するトリガーとなるイベントを示す「Ｅ９９」形式のコード番号で記録した「事象番号」、任意の文字列の「メッセージ」が格納される。また、ログファイル３１は、それぞれログファイルの名前を示すログファイル名を持っており、例えば、「ＳｅｒｖｅｒＰｒｏｃｅｓｓ．ｌｏｇ」、「ＣｌｉｅｎｔＰｒｏｃｅｓｓ．ｌｏｇ」などのログファイル名を持っている。
【００２３】
ログファイル３１のデータ例としては、図２（ｂ）に示すように、「年月日」が「２０１１／０７／０６」、「時分秒ミリ秒」が、「１３：１５：１５．１２３」、「１３：１５：１５．３２５」、「１３：１５：１６．８４５」、「状態番号」が「Ｓ０１」、「Ｓ０２」、「事象番号」が「Ｅ０１」、「Ｅ０３」、「メッセージ」が「Ｂｅｇａｎ  Ｐｒｏｃｅｓｓ」、「Ｅｎｄ  Ｒｅｔｕｒｎ＝０」などの情報である。この情報は、例えば、「ＳｅｒｖｅｒＰｒｏｃｅｓｓ．ｌｏｇ」のログファイル名を持つログファイル３１の情報である。
【００２４】
このログファイル３１のデータは、例えば、常駐プログラムの状態が「状態番号」としてコード番号化され、常駐プログラムの状態が遷移するトリガーとなるイベントが「事象番号」としてコード番号化されており、常駐プログラムが実行されている際に、その状態遷移のログとして、日時のデータや、「状態番号」、「事象番号」が出力され、その際に、常駐プログラムから出力されるプロセスを開始した「Ｂｅｇａｎ  Ｐｒｏｃｅｓｓ」や、処理が終了してリターンコードと共に処理を戻した「Ｅｎｄ  Ｒｅｔｕｒｎ＝０」などのメッセージが記録されるようになっている。
【００２５】
設計ファイル３３は、図３（ａ）、（ｂ）に示すように、例えば、表計算ソフトなどで作成された形式の状態遷移マトリックスであり、実際に状態遷移を可視化する際に表示する「事象」・「状態」と状態遷移の情報を組み合わせたマトリックスのデータが格納される。また、図３（ａ）はＣｌｉｅｎｔＰｒｏｃｅｓｓの状態遷移マトリックス、図３（ｂ）はＳｅｒｖｅｒＰｒｏｃｅｓｓの状態遷移マトリックスの例を示している。
【００２６】
この例では、ＣｌｉｅｎｔＰｒｏｃｅｓｓの常駐プログラムとＳｅｒｖｅｒＰｒｏｃｅｓｓの常駐プログラムとの間でデータのやり取りをする形態を示し、状態遷移マトリックスに基づいて作成された常駐プログラムが相互に関係のある処理を行うものである。
【００２７】
設計ファイル３３のデータ例としては、図３（ａ）に示すように、ＣｌｉｅｎｔＰｒｏｃｅｓｓでは、「事象」が、「Ｅ０１  起動」、「Ｅ０２  接続受信」、「Ｅ０３  電文受信」、「Ｅ０４  異常受信」、「状態」が、「Ｓ０１  初期状態」、「Ｓ０２  接続待ち」、「Ｓ０３  電文待ち」、「Ｓ０４  予備」、状態遷移の情報が「接続要求  Ｓ０２」、「電文送信  Ｓ０３」、「切断／接続  Ｓ０２」、遷移しない「ＮＯＰ」などの情報である。
【００２８】
また、図３（ｂ）に示すように、ＳｅｒｖｅｒＰｒｏｃｅｓｓでは、「事象」が、「Ｅ０１  起動」、「Ｅ０２  接続受信」、「Ｅ０３  電文受信」、「Ｅ０４  切断要求」、「状態」が、「Ｓ０１  初期状態」、「Ｓ０２  接続待ち」、「Ｓ０３  電文待ち」、「Ｓ０４  予備」、状態遷移の情報が「切断  Ｓ０１」、「初期化  Ｓ０２」、「接続処理  Ｓ０３」、「応答送信  Ｓ０３」、遷移しない「ＮＯＰ」などの情報である。
【００２９】
設計ファイル３３のデータは、常駐プログラムの状態が、コード番号とその内容として「状態」に格納され、常駐プログラムの状態が遷移するトリガーとなるイベントが、コード番号とその内容として「事象」に格納され、常駐プログラムが状態遷移する際の処理内容と状態遷移する状態のコード番号が格納される。
【００３０】
また、設計ファイル３３は、それぞれ設計ファイルの名前を示す設計ファイル名を持っており、例えば、「ＳｅｒｖｅｒＰｒｏｃｅｓｓ．ｃｓｖ」、「ＣｌｉｅｎｔＰｒｏｃｅｓｓ．ｃｓｖ」などのログファイル名を持っている。
【００３１】
ワークファイル３５は、処理中に作業領域としてデータが格納されるファイルであり、図４（ａ）に示すように、項目として、「ｙｙｙｙ／ＭＭ／ｄｄ」形式で記録した「年月日」、「ｈｈ：ｍｍ：ｓｓ．９９９」形式で記録した「時分秒ミリ秒」、ログファイルの名前を記録した「ログファイル名」、「Ｓ９９」形式で記録した「状態番号」、「Ｅ９９」形式で記録した「事象番号」、任意の文字列の「メッセージ」が格納される。
【００３２】
ワークファイル３５のデータ例としては、図４（ｂ）に示すように、「年月日」が「２０１１／０７／０６」、「時分秒ミリ秒」が、「１３：１５：１５．１２３」、「１３：１５：１５．２５５」、「１３：１５：１５．２９６」、「１３：１５：１５．３２５」、「１３：１５：１６．８４５」、「ログファイル名」が「ＳｅｒｖｅｒＰｒｏｃｅｓｓ．ｌｏｇ」、「ＣｌｉｅｎｔＰｒｏｃｅｓｓ．ｌｏｇ」、「状態番号」が「Ｓ０１」、「Ｓ０２」、「事象番号」が「Ｅ０１」、「Ｅ０２」、「Ｅ０３」、「メッセージ」が「Ｂｅｇａｎ  Ｐｒｏｃｅｓｓ」、「Ｅｎｄ  Ｒｅｔｕｒｎ＝０」などの情報である。
【００３３】
ワークファイル３５のデータは、状態遷移マトリックスを可視化する対象となる常駐プログラムのログファイル３１のデータが可視化のために格納されたものであり、状態遷移マトリックスを可視化する対象となる複数の常駐プログラムのログファイル３１の内容が、日時の昇順でソートされて格納されている。
【００３４】
設定ファイル３７は、設計ファイル３３とログファイル３１の対応関係の情報や、ログファイル３１から情報を取り出すための情報が格納されたファイルであり、図５（ａ）に示すように、項目として、ワークファイルの次行を読みに行く待ち時間である「再生スピード（ｍＳｅｃ）」、設計ファイルの名前である「設計ファイル名」、設計ファイルと対応するログファイルの名前である「ログファイル名」、ログファイル行内で日時が出力されているバイト位置である「日時位置」、ログファイル行内で状態番号が出力されているバイト位置である「状態番号位置」、ログファイル行内で事象番号が出力されているバイト位置である「事象番号位置」、ログファイル行内でメッセージが出力されているバイト位置である「メッセージ位置」が格納される。
【００３５】
設定ファイル３７のデータ例としては、図５（ｂ）に示すように、「再生スピード（ｍＳｅｃ）」が「５００」、「設計ファイル名」が「ＣｌｉｅｎｔＰｒｏｃｅｓｓ．ｃｓｖ」、「ＳｅｒｖｅｒＰｒｏｃｅｓｓ．ｃｓｖ」、「ログファイル名」が「ＣｌｉｅｎｔＰｒｏｃｅｓｓ．ｌｏｇ」、「ＳｅｒｖｅｒＰｒｏｃｅｓｓ．ｌｏｇ」、「日時位置」が「０」、「状態番号位置」が「２４」、「事象番号位置」が「２８」、「メッセージ位置」が「３１」などの情報である。「日時位置」、「状態番号位置」、「事象番号位置」、「メッセージ位置」の情報により、ログファイル３１のデータ構造が異なるデータであっても、データを取得することが可能である。
【００３６】
＜状態遷移可視化システムの動作＞
次に、図６〜図１９により、本発明の一実施の形態に係る状態遷移可視化システムの動作について説明する。図６は本発明の一実施の形態に係る状態遷移可視化システムの初期処理部の動作を示すフローチャート、図７は本発明の一実施の形態に係る状態遷移可視化システムに表示される状態遷移可視化システム画面の一例を示す図、図８は本発明の一実施の形態に係る状態遷移可視化システムの設計ファイル入力処理部の動作を示すフローチャート、図９は本発明の一実施の形態に係る状態遷移可視化システムに表示される設計ファイル入力画面の一例を示す図、図１０は本発明の一実施の形態に係る状態遷移可視化システムの設計ファイル表示処理部の動作を示すフローチャート、図１１は本発明の一実施の形態に係る状態遷移可視化システムに表示される状態遷移可視化システム画面の一例を示す図である。
【００３７】
また、図１２〜図１７は本発明の一実施の形態に係る状態遷移可視化システムの再生処理部の動作を示すフローチャートであり、図１２は全体動作、図１３はワークファイル書込み処理（１）の動作、図１４はワークファイル書込み処理（２）の動作、図１５はログファイル整合性チェック処理の動作、図１６はワークファイルソート処理の動作、図１７はセルマーク処理の動作を示している。
【００３８】
また、図１８は本発明の一実施の形態に係る状態遷移可視化システムに表示される状態遷移可視化システム画面の一例を示す図、図１９は本発明の一実施の形態に係る状態遷移可視化システムの終了処理部の動作を示すフローチャートである。
【００３９】
［初期処理部の動作］
初期処理部２１の動作は、図６に示すように、状態遷移可視化システム１０が起動すると、表示部４０に、図７に示す状態遷移可視化システム画面を表示する（ステップＳ１００）。
【００４０】
図７に示す状態遷移可視化システム画面は、メニューとして「ファイルの選択肢」５０が有り、状態遷移可視化システム１０の利用者の入力部３９からの入力により、「ファイルの選択肢」５０が選択されると「開くの選択肢」５１、「終了の選択肢」５２が表示される。「開くの選択肢」５１は、可視化する常駐プログラムに対応した設計ファイル３３を開く際に選択し、「終了の選択肢」５２は状態遷移可視化システムでの処理を終了する際に選択する。
【００４１】
また、状態遷移可視化システム画面は、設計ファイルの状態遷移マトリックスが表示される状態遷移マトリックス表示エリア５３を有し、設計ファイル３３を開くと設計ファイル３３の状態遷移マトリックスが表示される。
【００４２】
また、表示部４０に表示された状態遷移可視化システム画面は、「再生ボタン」５４、メッセージ表示エリア５５を有し、「再生ボタン」５４は、開いた設計ファイル３３に対応しているログファイル３１を読込み、常駐プログラムの実行状況を再生する際に押下され、その際にメッセージ表示エリア５５にログファイル３１に格納されたメッセージが表示される。また、「再生ボタン」５４は、リアルタイムの再生だけではなく、コマ送りの再生も行うことができる。
【００４３】
［設計ファイル入力処理部および設計ファイル表示処理部の処理］
設計ファイル入力処理部２２の動作は、図８に示すように、図７に示す状態遷移可視化システム画面の「開くの選択肢」５１が選択されると、表示部４０に、図９に示す設計ファイル入力画面を表示する（ステップＳ１０１）。
【００４４】
図９に示す設計ファイル入力画面は、設計ファイル３３のフルパスのファイル名を入力するファイル名入力エリア６０、設計ファイル３３を開くための「開くボタン」６１を有し、状態遷移可視化システム１０の利用者の入力部３９からの入力により、ファイル名入力エリア６０で設計ファイル３３が指定され、「開くボタン」６１が押下されると、設計ファイル表示処理部２３での処理が開始される。
【００４５】
そして、設計ファイル表示処理部２３の動作は、図１０に示すように、設計ファイル入力画面で指定された設計ファイル３３が存在するか否かを判断し（ステップＳ１１０）、ステップＳ１１０で設計ファイル３３が存在しないと判断された場合は終了し、ステップＳ１１０で設計ファイル３３が存在すると判断された場合は、その設計ファイル３３を読み込む（ステップＳ１１１）。
【００４６】
そして、ステップＳ１１１で読み込んだ設計ファイル３３を、図１１に示すように状態遷移可視化システム画面上に表示する（ステップＳ１１２）。
【００４７】
図１１に示す例では、ＣｌｉｅｎｔＰｒｏｃｅｓｓの設計ファイル３３の状態遷移マトリックス表示５６と、ＳｅｒｖｅｒＰｒｏｃｅｓｓの設計ファイル３３の状態遷移マトリックス表示５７が表示されている。
【００４８】
この状態遷移可視化システム画面において、状態遷移可視化システム１０の利用者の入力部３９からの入力により、「再生ボタン」５４が押下されると、状態遷移可視化システム画面上に表示されている設計ファイル３３について、再生処理部２４での処理が開始される。
【００４９】
［再生処理部の動作］
○全体動作
再生処理部２４の動作は、図１２に示すように、まず、設定ファイル３７が存在するか否かを判断し（ステップＳ１２０）、ステップＳ１２０で設定ファイル３７が存在しないと判断されると、ログファイル３１の読込みが行えないので終了する。
【００５０】
また、ステップＳ１２０で設定ファイル３７が存在すると判断されると、後述するワークファイル書込み処理（１）を行う（ステップＳ１２１）。ワークファイル書込み処理（１）では、設計ファイル入力処理部２２で入力された可視化する設計ファイル３３に対応する常駐プログラムのログファイル３１を読込み、ワークファイル３５に書込む処理を行う。
【００５１】
そして、ワークファイル書込み処理（１）から正常の情報が返却され正常であるか否かを判断し（ステップＳ１２２）、ステップＳ１２２で正常でないと判断された場合、終了する。
【００５２】
また、ステップＳ１２２で正常であると判断された場合、後述するワークファイルソート処理（ステップＳ１２３）、セルマーク処理（ステップＳ１２４）を行う。ワークファイルソート処理では、ワークファイル３５に書込まれたデータを日時の昇順でソートする処理を行う。また、セルマーク処理では、ソートされたワークファイル３５の内容を、表示部４０に表示された状態遷移マトリックス上のセルを強調表示などによりマークし、状態遷移の状態を表示する処理を行う。
【００５３】
そして、セルマーク処理から継続の情報が返却され継続するか否かを判断し（ステップＳ１２５）、ステップＳ１２５で継続しないと判断した場合、終了する。
【００５４】
また、ステップＳ１２５で継続すると判断した場合、設定ファイル３７で設定された再生スピード（ｍＳｅｃ）に従い、一定時間スリープ状態とし（ステップＳ１２６）、ステップＳ１２４に戻る。
【００５５】
なお、「再生ボタン」５４によりコマ送りなどの動作を行う場合には、このステップＳ１２６でのスリープの動作を可変させることにより、動作させることができる。
【００５６】
以上の処理を繰り返し、状態遷移可視化システム画面上に表示される状態遷移マトリックス表示５６、５７のセルの表示や、メッセージ表示エリア５５のメッセージ表示を変化させて、状態遷移可視化システム画面上に表示される状態遷移マトリックス表示５６、５７に対応する常駐プログラムが実行中の動作を可視化することができる。
【００５７】
○ワークファイル書込み処理（１）
ワークファイル書込み処理（１）の動作は、図１３に示すように、まず、設定ファイル３７を一行読込み（ステップＳ１３０）、ステップＳ１３０で読込んだデータがファイルの終端（ＥＯＦ）か否かを判断し（ステップＳ１３１）、ステップＳ１３１でファイルの終端（ＥＯＦ）でないと判断された場合、ステップＳ１３０で読込んだデータが、図９に示す設計ファイル入力画面により指定された設計ファイル３３のデータか否かを判断し（ステップＳ１３２）、ステップＳ１３２で指定された設計ファイル３３のデータでないと判断された場合、ステップＳ１３０に戻り、設定ファイル３７の次の一行を読み込む。
【００５８】
また、ステップＳ１３２で指定された設計ファイル３３のデータであると判断された場合、後述する、ステップＳ１３０で読込んだ一行で指定されているログファイルについて処理するワークファイル書込み処理（２）を行う（ステップＳ１３３）。
【００５９】
ワークファイル書込み処理（２）では、設定ファイルの一行で指定されたログファイル３１の整合性をチェックし、ワークファイル３５に書込む処理を行う。
【００６０】
そして、ワークファイル書込み処理（２）から正常が返却され正常であるか否かを判断し（ステップＳ１３４）、ステップＳ１３４で正常であると判断された場合、ステップＳ１３０に戻り、設定ファイル３７の次の一行を読込む。
【００６１】
また、ステップＳ１３４で正常でないと判断された場合、“ワークファイルの書込みに失敗しました。”のメッセージを状態遷移可視化システム画面上に表示し（ステップＳ１３５）、異常を返却して（ステップＳ１３６）、終了する。
【００６２】
また、ステップＳ１３１でファイルの終端（ＥＯＦ）であると判断された場合、正常を返却して（ステップＳ１３７）、終了する。
【００６３】
○ワークファイル書込み処理（２）
ワークファイル書込み処理（２）の動作は、図１４に示すように、まず、設定ファイル３７で指定されたログファイル３１を一行読込み（ステップＳ１４０）、ステップＳ１４０で読込んだデータがファイルの終端（ＥＯＦ）か否かを判断し（ステップＳ１４１）、ステップＳ１４１でファイルの終端（ＥＯＦ）でないと判断された場合、後述する、ログファイル整合性チェック処理を行う（ステップＳ１４２）。
【００６４】
ログファイル整合性チェック処理では、ログファイル３１の状態番号、事象番号、および日時のデータが正常に取得できたかを判断し、ログファイル３１の整合性をチェックする処理を行う。
【００６５】
そして、ログファイル整合性チェック処理から正常が返却され、ログファイル整合性チェックが正常であるか否かを判断し（ステップＳ１４３）、ステップＳ１４３で正常であると判断された場合、ワークファイル３５へ一行書込み、この際、ログファイル３１のファイル名も付与し（ステップＳ１４４）、ステップＳ１４０に戻り、ログファイル３１の次の行を読込む。
【００６６】
また、ステップＳ１４３で正常でないと判断された場合、“設定ファイルの内容に不整合があります。”のメッセージを状態遷移可視化システム画面上に表示し（ステップＳ１４５）、異常を返却して（ステップＳ１４６）、終了する。
【００６７】
また、ステップＳ１４１でファイルの終端（ＥＯＦ）であると判断された場合、正常を返却して（ステップＳ１４７）、終了する。
【００６８】
○ログファイル整合性チェック処理
ログファイル整合性チェック処理の動作は、図１５に示すように、まず、ログファイル３１の状態番号が取得できたか否かを判断し（ステップＳ１５０）、ステップＳ１５０でログファイル３１の状態番号が取得できたと判断した場合、ログファイル３１の事象番号が取得できたか否かを判断する（ステップＳ１５１）。
【００６９】
ステップＳ１５１でログファイル３１の事象番号が取得できたと判断した場合、ログファイル３１の日時が取得できたか否かを判断し（ステップＳ１５２）、ステップＳ１５２でログファイル３１の日時が取得できたと判断した場合、正常を返却して（ステップＳ１５３）、終了する。
【００７０】
また、ステップＳ１５０でログファイル３１の状態番号が取得できないと判断した場合、ステップＳ１５１でログファイル３１の事象番号が取得できないと判断した場合、ステップＳ１５２でログファイル３１の日時が取得できないと判断した場合、異常を返却して（ステップＳ１５４）、終了する。
【００７１】
○ワークファイルソート処理
ワークファイルソート処理の動作は，図１６に示すように、ワークファイルを日時の昇順にソートし（ステップＳ１６０）、終了する。
【００７２】
このワークファイルソート処理により、例えば、ＣｌｉｅｎｔＰｒｏｃｅｓｓの常駐プログラムおよびＳｅｒｖｅｒＰｒｏｃｅｓｓの常駐プログラムの２つの常駐プログラムで動作している各処理のログファイルの情報が時系列的に並び替えられ、ＣｌｉｅｎｔＰｒｏｃｅｓｓの常駐プログラムとＳｅｒｖｅｒＰｒｏｃｅｓｓの常駐プログラムとの間での相互関係や、データの送り側、受け側の動作などを含めた可視化ができるデータとなる。
【００７３】
○セルマーク処理
セルマーク処理の動作は、図１７に示すように、まず、ワークファイルを一行読込み（ステップＳ１７０）、ステップＳ１７０で読込んだデータがファイルの終端（ＥＯＦ）か否かを判断し（ステップＳ１７１）、ステップＳ１７１でファイルの終端（ＥＯＦ）でないと判断された場合、状態遷移可視化システム画面上に表示中の設計ファイル３３の該当状態／事象セルをマークする（ステップＳ１７２）。
【００７４】
なお、ステップＳ１７２におけるセルのマークは、状態が遷移しない場合においては、現在の状態がマークされたままの状態となる。
【００７５】
そして、状態遷移可視化システム画面上のメッセージ表示エリア５５にワークファイル３５のメッセージを表示し（ステップＳ１７３）、継続を返却して（ステップＳ１７４）、終了する。
【００７６】
また、ステップＳ１７１でファイルの終端（ＥＯＦ）であると判断された場合、終了を返却して（ステップＳ１７５）、終了する。
【００７７】
ステップＳ１７２による該当状態／事象セルのマークは、例えば、セルの強調表示などで表され、ＣｌｉｅｎｔＰｒｏｃｅｓｓの常駐プログラムとＳｅｒｖｅｒＰｒｏｃｅｓｓの常駐プログラムが動作している場合、ＣｌｉｅｎｔＰｒｏｃｅｓｓの常駐プログラムの状態とＳｅｒｖｅｒＰｒｏｃｅｓｓの常駐プログラムの状態が、最初は「Ｓ０１  初期状態」であり、起動前の状態としては、ＣｌｉｅｎｔＰｒｏｃｅｓｓの設計ファイル３３の状態遷移マトリックス表示５６の状態の「Ｓ０１  初期状態」が強調表示され、ＳｅｒｖｅｒＰｒｏｃｅｓｓの設計ファイル３３の状態遷移マトリックス表示５７の状態の「Ｓ０１  初期状態」が強調表示された状態となる。
【００７８】
その後、ＳｅｒｖｅｒＰｒｏｃｅｓｓの常駐プログラムが遷移するトリガーとなるイベントとして、「Ｅ０１  起動」が発生すると、ＳｅｒｖｅｒＰｒｏｃｅｓｓの設計ファイル３３の状態遷移マトリックス表示５７の事象の「Ｅ０１  起動」、状態遷移の「初期化  Ｓ０２」が強調表示され、初期化の処理が終了すると、状態が「Ｓ０２  接続待ち」に遷移し、ＳｅｒｖｅｒＰｒｏｃｅｓｓの設計ファイル３３の状態遷移マトリックス表示５７の状態の「Ｓ０２  接続待ち」が強調表示された状態となる。
【００７９】
そして、ＣｌｉｅｎｔＰｒｏｃｅｓｓの常駐プログラムが起動し、ＣｌｉｅｎｔＰｒｏｃｅｓｓの常駐プログラムが遷移するトリガーとなるイベントとして、「Ｅ０１  起動」が発生すると、例えば、ＳｅｒｖｅｒＰｒｏｃｅｓｓの設計ファイル３３の状態遷移マトリックス表示５７の状態の「Ｓ０２  接続待ち」およびＣｌｉｅｎｔＰｒｏｃｅｓｓの設計ファイル３３の状態遷移マトリックス表示５６の「Ｓ０１  初期状態」が強調表示された状態で、ＣｌｉｅｎｔＰｒｏｃｅｓｓの設計ファイル３３の状態遷移マトリックス表示５６の事象の「Ｅ０１  起動」、状態遷移の「接続要求  Ｓ０２」が強調表示され、例えば、図１８に示すような強調表示となる。
【００８０】
その後は、ＣｌｉｅｎｔＰｒｏｃｅｓｓの常駐プログラムからの接続要求を受け、ＳｅｒｖｅｒＰｒｏｃｅｓｓの常駐プログラムが遷移するトリガーとなるイベントとして、「Ｅ０２  接続要求」が発生し、状態遷移の「接続処理  Ｓ０３」が強調表示された状態となる。
【００８１】
その後も、例えば、常駐プログラムによる電文の送信などにより、電文受信のイベントが発生した場合などでは、電文送信や応答送信などの状態遷移となり、その後も、ＳｅｒｖｅｒＰｒｏｃｅｓｓの常駐プログラムとＣｌｉｅｎｔＰｒｏｃｅｓｓの常駐プログラムの処理状況に基づいて、状態遷移の強調表示が変化し、ＳｅｒｖｅｒＰｒｏｃｅｓｓの常駐プログラムとＣｌｉｅｎｔＰｒｏｃｅｓｓの常駐プログラムとの間の相互関係を可視化して確認することができるようになっている。
【００８２】
また、ステップＳ１７３によるメッセージの表示は、例えば、図４に示すワークファイル３５の１行目の場合では、図１８に示すように、メッセージ表示エリア５５に「Ｂｅｇａｎ  Ｐｒｏｃｅｓｓ」が表示される。
【００８３】
［終了処理部の動作］
終了処理部の動作は、図１９に示すように、表示部４０に表示された、図７に示す状態遷移可視化システム画面の「終了の選択肢」５２が、状態遷移可視化システム１０の利用者により選択されると、状態遷移可視化システム画面を閉じて（ステップＳ１８０）、終了する。
【００８４】
［状態遷移可視化システム画面の他の例］
なお、本実施の形態においては、状態遷移可視化システム画面上の「再生ボタン」５４により、再生処理部２４の処理を行っているが、例えば、図２０に示すように、状態遷移可視化システム画面上に、「一時停止ボタン」６２、「巻戻しボタン」６３、「早送りボタン」６４を配置し、このボタン操作により、再生処理部２４による処理中に、再生処理部２４による処理の一時停止、巻戻し、早送りを行うようにしてもよい。
【００８５】
図２０は本発明の一実施の形態に係る状態遷移可視化システムに表示される状態遷移可視化システム画面の他の例を示す図である。
【００８６】
この場合、「一時停止ボタン」６２が押下されると、例えば、図１２に示すフローチャートのステップＳ１２６のスリープにおいて、動作を一時停止させるなどすればよい。また、「巻戻しボタン」６３が押下されると、例えば、図１７に示すフローチャートのステップＳ１７０において、ワークファイル３５の一行前のデータを読込み、さらに、図１２に示すフローチャートのステップＳ１２６において、スリープの時間を短くするなどすればよい。また、「早送りボタン」６４が押下されると、例えば、図１２に示すフローチャートのステップＳ１２６のスリープにおいて、スリープの時間を短くするなどすればよい。
【００８７】
［ログファイルが追加される場合の動作］
また、本実施の形態では、定期的にコンピュータ４２から収集して、状態遷移可視化システム１０のログエリア３２に格納された状態のログファイル３１を用いて処理を行っているが、コンピュータ４２に保存されたログファイルが定期的にログファイル３１に追加される場合や、またはリアルタイムで送信されて、ログファイル３１に追加される場合や、各コンピュータ４２のログファイル４３を、各コンピュータに保存するのではなく、直接状態遷移可視化システム１０のログファイル３１として格納する場合などでは、コンピュータ４２上で動作している常駐プログラムの動作を日時で区切ることにより、確認することができる。
【００８８】
図２１および図２２により、本発明の一実施の形態に係る状態遷移可視化システムによるログファイルが追加される場合の動作について説明する。図２１は本発明の一実施の形態に係る状態遷移可視化システムに表示される状態遷移可視化システム画面の他の例を示す図、図２２は本発明の一実施の形態に係る状態遷移可視化システムのログファイルが追加される場合のワークファイル書込み処理（２）の動作を示すフローチャートであり、図１４と同様の動作については、同じステップ番号を付与している。
【００８９】
図２１に示すように、状態遷移可視化システム画面上に、常駐プログラムの可視化を行う開始日時および終了日時を入力する開始日時の入力エリア６５および終了日時の入力エリア６６を設けている。図２１においては、例えば、開始日時として、「２０１１／０７／０６  １３：１５：１５」が入力され、終了日時として、「２０１１／０７／０６  １３：３０：００」が入力されている例を示している。開始日時および終了日時については、ミリ秒の単位まで指定することも可能である。
【００９０】
図２１に示す例では、「再生ボタン」５４が押下されると、ログファイル３１に格納されたデータから、「２０１１／０７／０６  １３：１５：１５」〜「２０１１／０７／０６  １３：３０：００」の間の範囲のデータにより、状態遷移マトリックスの可視化が行われる。なお、開始日時が入力されていない場合には、ログファイル３１に格納された最初のデータから状態遷移マトリックスの可視化が行われる。
【００９１】
この時の再生処理部２４の動作は、図１２〜図１７に示すフローチャートと同様であるか、図１４に示すワークファイル書込み処理（２）の動作におけるステップＳ１４１の処理が異なっている。
【００９２】
ワークファイル書込み処理（２）の動作は、図２２に示すように、まず、設定ファイル３７で指定されたログファイル３１を一行読込み（ステップＳ１４０）、ステップＳ１４０で読込んだデータが開始日時から終了日時の範囲内か否かを判断し（ステップＳ１９０）、ステップＳ１９０で開始日時から終了日時の範囲内であると判断された場合、ログファイル整合性チェック処理を行い（ステップＳ１４２）、以降の処理は、図１４に示すワークファイル書込み処理（２）の処理と同様である。
【００９３】
また、ステップＳ１９０で開始日時から終了日時の範囲内でないと判断された場合、ステップＳ１４０で読込んだデータが終了日時後か否かを判断し（ステップＳ１９１）、ステップＳ１９１で終了日時後でないと判断された場合、ステップＳ１４０に戻り、ログファイル３１の次の一行を読み込む。
【００９４】
また、ステップＳ１９１で終了日時後である判断された場合、正常を返却して（ステップＳ１４７）、終了する。
【００９５】
この処理により、ログファイル３１に格納されているデータのうち、開始日時から終了日時までの範囲に入っているデータにより、ワークファイル３５が作成され、その後、図１６に示すワークファイルソート処理、図１７に示すセルマーク処理が行われ、開始日時から終了日時までの範囲に入っているデータによる状態遷移マトリックスの可視化が行われるので、ログファイル３１にデータが追加されている状態においても、状態遷移マトリックスの可視化を行うことができる。
【００９６】
以上のように、本実施の形態では、複数のコンピュータ４２上で実行された常駐プログラムのログファイル４３を、ログファイル３１として格納し、ログファイル３１を読み込むことで、状態遷移可視化システム画面上に表示した状態遷移マトリックス表示５６、５７により、複数のコンピュータ４２上で実行された常駐プログラムの実行中の状態遷移を可視化することができ、常駐プログラムの実行状況の把握、およびデバッグや障害発生条件を特定する作業の効率を向上させることができる。
【００９７】
また、ＣｌｉｅｎｔＰｒｏｃｅｓｓやＳｅｒｖｅｒＰｒｏｃｅｓｓなどの複数の関連する常駐プログラムを、状態遷移可視化システム画面上に表示し、その状態遷移の状態を表示することにより、複数の関連する常駐プログラムの間での相互関係や、データの送り側、受け側の動作などを含めた可視化も行うことができる。
【００９８】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【００９９】
１０…状態遷移可視化システム、２０…処理部、２１…初期処理部、２２…設計ファイル入力処理部、２３…設計ファイル表示処理部、２４…再生処理部、２５…終了処理部、３０…記憶部、３１…ログファイル、３２…ログエリア、３３…設計ファイル、３４…設計エリア、３５…ワークファイル、３６…ワークエリア、３７…設定ファイル、３８…設定エリア、３９…入力部、４０…表示部、４１…ネットワーク、４２…コンピュータ、４３…ログファイル、５０…ファイルの選択肢、５１…開くの選択肢、５２…終了の選択肢、５３…状態遷移マトリックス表示エリア、５４…再生ボタン、５５…メッセージ表示エリア、５６…状態遷移マトリックス表示、５７…状態遷移マトリックス表示、６０…ファイル名入力エリア、６１…開くボタン、６２…一時停止ボタン、６３…巻戻しボタン、６４…早送りボタン、６５…開始日時の入力エリア、６６…終了日時の入力エリア。
【図１】
2015170072.tif 000003
【図２】
2015170072.tif 000004
【図３】
2015170072.tif 000005
【図４】
2015170072.tif 000006
【図５】
2015170072.tif 000007
【図６】
2015170072.tif 000008
【図７】
2015170072.tif 000009
【図８】
2015170072.tif 000010
【図９】
2015170072.tif 000011
【図１０】
2015170072.tif 000012
【図１１】
2015170072.tif 000013
【図１２】
2015170072.tif 000014
【図１３】
2015170072.tif 000015
【図１４】
2015170072.tif 000016
【図１５】
2015170072.tif 000017
【図１６】
2015170072.tif 000018
【図１７】
2015170072.tif 000019
【図１８】
2015170072.tif 000020
【図１９】
2015170072.tif 000021
【図２０】
2015170072.tif 000022
【図２１】
2015170072.tif 000023
【図２２】
2015170072.tif 000024