(57)【特許請求の範囲】
【請求項１】
２つの信号ファイルにそれぞれ記録されたメッセージの内容が一致するか否かを判定する情報処理装置により実行されるメッセージ比較判定方法であって、
２つの前記信号ファイルに記録された前記メッセージを前記信号ファイルごとに入力して前記信号ファイルごとに一時ファイルを生成する入力ステップと、
前記入力ステップで生成された前記一時ファイルそれぞれに対して演算処理を実行する演算処理ステップと、
前記演算処理後の前記一時ファイルに記録されたメッセージ同士が一致するか否かを判定することで２つの前記信号ファイルにそれぞれ記録されたメッセージの内容が一致するか否かを判定する比較判定ステップと、
を備え、
前記演算処理ステップは、
前記入力ステップで生成された前記一時ファイルに、デコード処理を行うことが予定された部分を含む前記メッセージである符号化メッセージが存在するか否かを、前記一時ファイルに所定の符号化コードが含まれるか否かに基づいて、前記一時ファイルごとに判定する符号化判定ステップと、
前記符号化判定ステップで少なくとも一方の前記一時ファイルに前記符号化メッセージが存在すると判定された場合には、当該一時ファイルの前記符号化メッセージを所定の定義に基づいてデコード処理して非符号化された前記メッセージを生成するデコード処理ステップと、
前記デコード処理ステップを実行した場合には、前記符号化判定ステップで前記符号化メッセージが存在すると判定された前記一時ファイルに、前記デコード処理ステップで生成された前記メッセージを記録する記録ステップと、
を有することを特徴とするメッセージ比較判定方法。
【請求項２】
前記演算処理ステップは、
前記符号化判定ステップで判定された前記符号化メッセージが複数存在する場合には所定の定義に基づいて前記符号化メッセージ間に関連性があるか否かを判定する関連性判定ステップと、
前記関連性判定ステップで前記符号化メッセージ間に関連性があると判定された一群の前記符号化メッセージを結合する結合ステップと、をさらに含み、
前記デコード処理ステップは、前記結合ステップで結合された一群の前記符号化メッセージを所定の定義に基づいてデコード処理して非符号化された前記メッセージを生成すること、
を特徴とする請求項１に記載のメッセージ比較判定方法。
【請求項３】
前記比較判定ステップは、前記一時ファイルに記録されたメッセージ同士が一致するか否かを判定する際に、前記符号化メッセージを対象とする比較処理に比べて前記デコード処理ステップにより生成された前記メッセージを対象とする比較処理を優先的に行うことを特徴とする請求項１又は２に記載のメッセージ比較判定方法。
【請求項４】
前記記録ステップは、
関連性判定ステップで前記符号化メッセージが他の符号化メッセージと関連性がないと判定された場合には、前記デコード処理ステップで前記符号化メッセージに基づいて生成された前記メッセージが当該符号化メッセージの直後に位置するように前記一時ファイルに挿入して記録し、
関連性判定ステップで前記符号化メッセージが他の符号化メッセージと関連性があると判定された場合には、前記デコード処理ステップで前記符号化メッセージに基づいて生成された前記メッセージが関連性のある一群の前記符号化メッセージの直後に位置するように前記一時ファイルに挿入して記録すること、
を特徴とする請求項２又は３に記載のメッセージ比較判定方法。
【請求項５】
前記信号ファイルには、前記メッセージが階層化されて配置されており、２つの前記信号ファイルのうち、一方の前記信号ファイルが基準となる基準ファイル、他方の前記信号ファイルが試験対象の試験対象ファイルであり、
前記入力ステップの前に、メッセージ、情報要素及び情報要素の値のうち少なくとも１つの項目に対して、有無、数、順序、値、及び範囲内外の条件のうち少なくとも１つが設定された比較条件を設定する比較条件設定ステップをさらに備え、
前記比較判定ステップは、前記演算処理後の前記一時ファイルに記録されたメッセージ同士及び情報要素同士が一致するか否かの判定結果に基づいて前記比較条件設定ステップで設定された前記比較条件を満たしているか否かを判定すること、
を特徴とする請求項２〜４の何れか一項に記載のメッセージ比較判定方法。
【請求項６】
２つの信号ファイルにそれぞれ記録されたメッセージの内容が一致するか否かを判定するメッセージ比較判定装置であって、
２つの前記信号ファイルに記録された前記メッセージを前記信号ファイルごとに入力して前記信号ファイルごとに一時ファイルを生成する入力手段と、
前記入力手段により生成された前記一時ファイルそれぞれに対して演算処理を実行する演算処理手段と、
前記演算処理後の前記一時ファイルに記録されたメッセージ同士が一致するか否かを判定することで２つの前記信号ファイルにそれぞれ記録されたメッセージの内容が一致するか否かを判定する比較判定手段と、
を備え、
前記演算処理手段は、
前記入力手段により生成された前記一時ファイルに、デコード処理を行うことが予定された部分を含む前記メッセージである符号化メッセージが存在するか否かを、前記一時ファイルに所定の符号化コードが含まれるか否かに基づいて、前記一時ファイルごとに判定する符号化判定手段と、
前記符号化判定手段により少なくとも一方の前記一時ファイルに前記符号化メッセージが存在すると判定された場合には、当該一時ファイルの前記符号化メッセージを所定の定義に基づいてデコード処理して非符号化された前記メッセージを生成するデコード処理手段と、
前記デコード処理手段を実行した場合には、前記符号化判定手段により前記符号化メッセージが存在すると判定された前記一時ファイルに、前記デコード処理手段により生成された前記メッセージを記録する記録手段と、
を有することを特徴とするメッセージ比較判定装置。
【請求項７】
情報処理装置を、２つの信号ファイルにそれぞれ記録されたメッセージの内容が一致するか否かを判定するためのメッセージ比較判定装置として機能させるためのメッセージ比較判定プログラムであって、
２つの前記信号ファイルに記録された前記メッセージを前記信号ファイルごとに入力して前記信号ファイルごとに一時ファイルを生成する入力ステップと、
前記入力ステップにより生成された前記一時ファイルそれぞれに対して演算処理を実行する演算処理ステップと、
前記演算処理後の前記一時ファイルに記録されたメッセージ同士が一致するか否かを判定することで２つの前記信号ファイルにそれぞれ記録されたメッセージの内容が一致するか否かを判定する比較判定ステップと、
を前記情報処理装置に実行させ、
前記演算処理ステップは、
前記入力ステップにより生成された前記一時ファイルに、デコード処理を行うことが予定された部分を含む前記メッセージである符号化メッセージが存在するか否かを、前記一時ファイルに所定の符号化コードが含まれるか否かに基づいて、前記一時ファイルごとに判定する符号化判定ステップと、
前記符号化判定ステップにより少なくとも一方の前記一時ファイルに前記符号化メッセージが存在すると判定された場合には、当該一時ファイルの前記符号化メッセージを所定の定義に基づいてデコード処理して非符号化された前記メッセージを生成するデコード処理ステップと、
前記デコード処理ステップを実行した場合には、前記符号化判定ステップにより前記符号化メッセージが存在すると判定された前記一時ファイルに、前記デコード処理ステップにより生成された前記メッセージを記録する記録ステップと、
を有することを特徴とするメッセージ比較判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２つのメッセージを比較するメッセージ比較判定方法、メッセージ比較判定装置及びメッセージ比較判定プログラムに関する。
【背景技術】
【０００２】
従来、２つのメッセージを比較する装置として、携帯電話機等の通信プロトコル信号が記録された通信プロトコル信号ファイルを解析するものが知られている（例えば特許文献１参照）。特許文献１記載の装置は、基地局から送信された試験信号に対する被試験端末の応答信号と、基地局から送信された試験信号に対する基準端末の応答信号とを比較して評価判定を行うものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２７７９１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、通信プロトコル信号は、文字、記号又は数字等から構成されたメッセージを含んでいる。これらのメッセージとしては、字面からメッセージ内容を理解できる通常のメッセージと、一部又は全部が符号化された特定のメッセージとが存在する。この特定のメッセージの内容は、符号化された部分をデコードしなければ認識することができない。すなわち、従来のメッセージ比較判定方法にあっては、特定のメッセージを含む通信プロトコル信号ファイル同士を比較する場合、特定のメッセージに関しては、その文字列の差異を検証することはできても、比較結果に基づいてメッセージ内容の差異を検証することができない。
【０００５】
ここで、特定のメッセージを含む通信プロトコル信号ファイル同士を比較する場合には、比較結果に基づいてメッセージ内容の差異を検証する手法として、ユーザが２つの通信プロトコル信号ファイルから特定のメッセージをそれぞれ抽出してデコードした上で比較する手法が考えられる。
【０００６】
しかしながら、上記の比較処理は、通常のメッセージの比較処理とは別に実行する必要があるため、手間がかかる上に、通常のメッセージ同士の比較結果の表示とは別に表示されることとなる。このため、差分の検証に手間や時間がかかる場合がある。
【０００７】
本発明は上記に鑑みてなされたものであって、メッセージ内容を理解できる通常のメッセージと、符号化された特定のメッセージとが混在する信号ファイル同士のメッセージ内容の差異を効率的に検証することができるメッセージ比較判定方法、メッセージ比較判定装置及びメッセージ比較判定プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
すなわち、本発明に係るメッセージ比較判定方法は、２つの信号ファイルにそれぞれ記録されたメッセージの内容が一致するか否かを判定する情報処理装置により実行されるメッセージ比較判定方法であって、２つの前記信号ファイルに記録された前記メッセージを前記信号ファイルごとに入力して前記信号ファイルごとに一時ファイルを生成する入力ステップと、前記入力ステップで生成された前記一時ファイルそれぞれに対して演算処理を実行する演算処理ステップと、前記演算処理後の前記一時ファイルに記録されたメッセージ同士が一致するか否かを判定することで２つの前記信号ファイルにそれぞれ記録されたメッセージの内容が一致するか否かを判定する比較判定ステップと、を備え、前記演算処理ステップは、前記入力ステップで生成された前記一時ファイルに、デコード処理を行うことが予定された部分を含む前記メッセージである符号化メッセージが存在するか否かを、前記一時ファイルに所定の符号化コードが含まれるか否かに基づいて、前記一時ファイルごとに判定する符号化判定ステップと、前記符号化判定ステップで少なくとも一方の前記一時ファイルに前記符号化メッセージが存在すると判定された場合には、当該一時ファイルの前記符号化メッセージを所定の定義に基づいてデコード処理して非符号化された前記メッセージを生成するデコード処理ステップと、前記デコード処理ステップを実行した場合には、前記符号化判定ステップで前記符号化メッセージが存在すると判定された前記一時ファイルに、前記デコード処理ステップで生成された前記メッセージを記録する記録ステップとを有することを特徴として構成される。
【０００９】
このメッセージ比較判定方法では、２つの信号ファイルに記録されたメッセージが信号ファイルごとに入力されて信号ファイルごとに一時ファイルが生成され、一時ファイルそれぞれに対して演算処理が実行され、演算処理後の一時ファイルに記録されたメッセージ同士が一致するか否かが判定されることで、２つの信号ファイルにそれぞれ記録されたメッセージの内容が一致するか否かが判定される。演算処理では、少なくとも一部が符号化されたメッセージである符号化メッセージが存在するか否かが一時ファイルごとに判定され、少なくとも一方の一時ファイルに符号化メッセージが存在すると判定された場合には、当該一時ファイルの符号化メッセージが所定の定義に基づいてデコード処理されて非符号化されたメッセージが生成され、符号化メッセージが存在すると判定された一時ファイルに、非符号化されたメッセージが記録される。このように構成することで、信号ファイルのメッセージを比較する前に、符号化された特定のメッセージ（符号化メッセージ）をデコードする処理を実行してメッセージ内容を理解できるメッセージとし、生成したメッセージを含めた状態で比較処理を実行することができる。このため、信号ファイル内に符号化メッセージが含まれる場合であっても、単なる字面の比較ではなくメッセージの内容そのものを比較することが可能となるので、信号ファイルの内容的な差分を即座に認識することができる。また、元の信号ファイルに存在したメッセージにデコード処理後のメッセージをマージした状態で比較処理を実行するため、通常のメッセージ同士の比較結果の表示と同時に表示させることが可能となる。このため、差分の検証の手間や時間を軽減することができるので、信号ファイル同士のメッセージ内容の差異を効率的に検証することが可能となる。
【００１０】
ここで、前記演算処理ステップは、前記符号化判定ステップで判定された前記符号化メッセージが複数存在する場合には所定の定義に基づいて前記符号化メッセージ間に関連性があるか否かを判定する関連性判定ステップと、前記関連性判定ステップで前記符号化メッセージ間に関連性があると判定された一群の前記符号化メッセージを結合する結合ステップと、をさらに含み、前記デコード処理ステップは、前記結合ステップで結合された一群の前記符号化メッセージを所定の定義に基づいてデコード処理して非符号化された前記メッセージを生成することが好適である。
【００１１】
このように構成することで、符号化メッセージそれぞれの関連性が判定され、関連性のある符号化メッセージが結合され、結合された符号化メッセージがデコードされる。このため、ある特定のメッセージが、複数の符号化メッセージに分割されている場合であっても、信号ファイル同士のメッセージ内容の差異を効率的に検証することが可能となる。
【００１２】
また、前記比較判定ステップは、前記一時ファイルに記録されたメッセージ同士が一致するか否かを判定する際に、前記符号化メッセージを対象とする比較処理に比べて前記デコード処理ステップにより生成された前記メッセージを対象とする比較処理を優先的に行うことが好適である。
【００１３】
このように構成することで、デコード処理によって生成されたメッセージが優先的に比較されるので、符号化メッセージに影響されることなく、信号ファイル同士のメッセージ内容の差異を確実に検証することができる。
【００１４】
また、前記記録ステップは、関連性判定ステップで前記符号化メッセージが他の符号化メッセージと関連性がないと判定された場合には、前記デコード処理ステップで前記符号化メッセージに基づいて生成された前記メッセージが当該符号化メッセージの直後に位置するように前記一時ファイルに挿入して記録し、関連性判定ステップで前記符号化メッセージが他の符号化メッセージと関連性があると判定された場合には、前記デコード処理ステップで前記符号化メッセージに基づいて生成された前記メッセージが関連性のある一群の前記符号化メッセージの直後に位置するように前記一時ファイルに挿入して記録することが好適である。
【００１５】
このように構成することで、符号化メッセージとデコード処理によって生成されたメッセージとの関係を理解しやすい形で比較結果に含めることができる。
【００１６】
また、前記信号ファイルには、前記メッセージが階層化されて配置されており、２つの前記信号ファイルのうち、一方の前記信号ファイルが基準となる基準ファイル、他方の前記信号ファイルが試験対象の試験対象ファイルであり、前記入力ステップの前に、メッセージ、情報要素及び情報要素の値のうち少なくとも１つの項目に対して、有無、数、順序、値、及び範囲内外の条件のうち少なくとも１つが設定された比較条件を設定する比較条件設定ステップをさらに備え、前記比較判定ステップは、前記演算処理後の前記一時ファイルに記録されたメッセージ同士及び情報要素同士が一致するか否かの判定結果に基づいて前記比較条件設定ステップで設定された前記比較条件を満たしているか否かを判定することが好適である。
【００１７】
このように構成することで、信号ファイルの検証のための基準ファイルと、試験対象の試験対象ファイルとを比較する際に、階層化されたメッセージ同士を比較することができるとともに、メッセージ、情報要素及び情報要素の値のうち少なくとも１つの項目に対して、有無、数、順序、値、及び範囲内外の条件のうち少なくとも１つが設定された比較条件を用いて、決め細やかな判定処理を行うことが可能となるので、信号ファイル同士のメッセージ内容の差異を効率的に検証することが可能となる。
【００１８】
また、本発明に係るメッセージ比較判定装置は、２つの信号ファイルにそれぞれ記録されたメッセージの内容が一致するか否かを判定するメッセージ比較判定装置であって、２つの前記信号ファイルに記録された前記メッセージを前記信号ファイルごとに入力して前記信号ファイルごとに一時ファイルを生成する入力手段と、前記入力手段により生成された前記一時ファイルそれぞれに対して演算処理を実行する演算処理手段と、前記演算処理後の前記一時ファイルに記録されたメッセージ同士が一致するか否かを判定することで２つの前記信号ファイルにそれぞれ記録されたメッセージの内容が一致するか否かを判定する比較判定手段と、を備え、前記演算処理手段は、前記入力手段により生成された前記一時ファイルに、デコード処理を行うことが予定された部分を含む前記メッセージである符号化メッセージが存在するか否かを、前記一時ファイルに所定の符号化コードが含まれるか否かに基づいて、前記一時ファイルごとに判定する符号化判定手段と、前記符号化判定手段により少なくとも一方の前記一時ファイルに前記符号化メッセージが存在すると判定された場合には、当該一時ファイルの前記符号化メッセージを所定の定義に基づいてデコード処理して非符号化された前記メッセージを生成するデコード処理手段と、前記デコード処理手段を実行した場合には、前記符号化判定手段により前記符号化メッセージが存在すると判定された前記一時ファイルに、前記デコード処理手段により生成された前記メッセージを記録する記録手段とを有することを特徴として構成される。
【００１９】
また、本発明に係るメッセージ比較判定プログラムは、情報処理装置を、２つの信号ファイルにそれぞれ記録されたメッセージの内容が一致するか否かを判定するためのメッセージ比較判定装置として機能させるためのメッセージ比較判定プログラムであって、２つの前記信号ファイルに記録された前記メッセージを前記信号ファイルごとに入力して前記信号ファイルごとに一時ファイルを生成する入力ステップと、前記入力ステップにより生成された前記一時ファイルそれぞれに対して演算処理を実行する演算処理ステップと、前記演算処理後の前記一時ファイルに記録されたメッセージ同士が一致するか否かを判定することで２つの前記信号ファイルにそれぞれ記録されたメッセージの内容が一致するか否かを判定する比較判定ステップと、を前記情報処理装置に実行させ、前記演算処理ステップは、前記入力ステップにより生成された前記一時ファイルに、デコード処理を行うことが予定された部分を含む前記メッセージである符号化メッセージが存在するか否かを、前記一時ファイルに所定の符号化コードが含まれるか否かに基づいて、前記一時ファイルごとに判定する符号化判定ステップと、前記符号化判定ステップにより少なくとも一方の前記一時ファイルに前記符号化メッセージが存在すると判定された場合には、当該一時ファイルの前記符号化メッセージを所定の定義に基づいてデコード処理して非符号化された前記メッセージを生成するデコード処理ステップと、前記デコード処理ステップを実行した場合には、前記符号化判定ステップにより前記符号化メッセージが存在すると判定された前記一時ファイルに、前記デコード処理ステップにより生成された前記メッセージを記録する記録ステップとを有することを特徴として構成される。
【００２０】
上述したメッセージ比較判定装置及びメッセージ比較判定プログラムでは、上述したメッセージ比較判定方法と同様の効果を奏する。
【発明の効果】
【００２１】
本発明によれば、メッセージ内容を理解できる通常のメッセージと、符号化された特定のメッセージとが混在する信号ファイル同士のメッセージ内容の差異を効率的に検証することができる。
【図面の簡単な説明】
【００２２】
【図１】第１実施形態に係るメッセージ比較判定装置の機能構成図である。
【図２】第１実施形態に係るメッセージ比較判定装置のハードウェア構成図である。
【図３】処理対象のファイルの例を示す図であり、（ａ）は第１のファイル、（ｂ）は第２のファイルを示している。
【図４】メッセージ比較処理の概念を示す図である。
【図５】第１実施形態に係るメッセージ比較判定装置の動作を示すフローチャートである。
【図６】第１実施形態に係るメッセージ比較判定装置の比較前処理に関する動作を示すフローチャートである。
【図７】図３に示す処理対象のファイルの処理例を示す図であり、（ａ）は第１のファイル、（ｂ）は第２のファイルを示している。
【図８】図３に示す処理対象のファイルの比較結果を示す図である。
【図９】表示部が示す比較結果の他の例である。
【図１０】第２実施形態に係るメッセージ比較判定装置の機能構成図である。
【図１１】比較条件の設定例を示す図であり、（ａ）は第１階層、（ｂ）は第２階層以下を示している。
【図１２】第１階層の比較結果の例を示している。
【図１３】第１階層の比較結果の例を示している。
【図１４】第１階層の比較結果の例を示している。
【図１５】第１階層の比較結果の例を示している。
【図１６】第１階層の比較結果の例を示している。
【図１７】第１階層の比較結果の例を示している。
【図１８】第１階層の比較結果の例を示している。
【図１９】第１階層の比較結果の例を示している。
【図２０】第１階層の比較結果の例を示している。
【図２１】第２，３階層の比較結果の例を示している。
【図２２】第２，３階層の総合判定結果の例を示している。
【図２３】従来の比較処理の説明図である。
【発明を実施するための形態】
【００２３】
以下、添付図面を参照して本発明の実施形態に係るメッセージ比較判定方法、メッセージ比較判定装置及びメッセージ比較判定プログラムについて説明する。なお、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。
【００２４】
（第１実施形態）
本実施形態に係るメッセージ比較判定装置、メッセージ比較判定プログラム及びその方法は、例えば、移動通信プロトコルに関する信号データファイル同士の比較処理に好適に採用されるものである。
【００２５】
まず、本実施形態に係るメッセージ比較判定装置１の構成の概要について、図１を参照して説明する。図１は、メッセージ比較判定装置の機能構成を示す図である。
【００２６】
図１に示すように、メッセージ比較判定装置１は、機能的構成要素として、ファイル入力部１０、演算処理部１１、比較判定部１４及び表示部１５を備えている。
【００２７】
図２はメッセージ比較判定装置のハードウェア構成を示す図である。図２に示すように、メッセージ比較判定装置１は物理的には、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、ハードディスクドライブ（ＨＤＤ）１０４、キーボード１０５、及びディスプレイ１０６を備えるコンピュータシステムとして構成されている。図１に示す各構成要素は、図２に示すＣＰＵ１０１、ＲＯＭ１０２又はＲＡＭ１０３の上に所定のソフトウェアを読み込ませ、ＲＯＭ１０２、ＲＡＭ１０３又はＨＤＤ１０４に対してデータの読み書きを行うことで実現される。
【００２８】
図１に戻って、ファイル入力部１０は、階層的に配置されたメッセージを含む２つのファイル（第１のファイル及び第２のファイル）を読み込む機能を有している。例えば、ファイル入力部１０は記憶装置に格納された各ファイルを読み出す機能を有している。そして、ファイル入力部１０は、読み込んだ２つのファイルを、２つの一時的なファイル（第１の一時ファイル、第２の一時ファイル）にそれぞれ書き込んで演算処理部１１に出力する機能を有している。第１のファイル及び第２のファイルはそれぞれ複数のメッセージを含み、それらのメッセージは各ファイル内で階層化されて記録されている。
【００２９】
ファイル入力部１０によって読み出されるファイルの一例を図３に示す。図３（ａ）は、第１のファイル、図３（ｂ）は第２のファイルを示している。図３において、第１のファイルは８個のメッセージ及びそれぞれの情報要素を含んでいる。このうち、メッセージ「System Info」、「AAAAA」及び「BBBBB」が第１階層（上位階層）であり、残りの情報要素が第２階層（下位階層）である。一方、第２のファイルは８個のメッセージを含んでいる。このうち、メッセージ「System Info」、「AAAAA」及び「CCCCC」が第１階層であり、残りの情報要素が第２階層である。このように、通常、メッセージは第１階層に示され、第２階層以下には、そのメッセージの中の情報要素及び各情報要素のとりうる値が格納されている。なお、図３に示す各ファイルは２段階に階層化されたメッセージを含んでいるが、メッセージを何階層で構成するかは限定されない。
【００３０】
第１のファイル及び第２のファイルのメッセージには、字面からメッセージ内容を理解できる通常のメッセージと、一部又は全部が符号化された特定のメッセージ（符号化メッセージ）とが存在する。符号化メッセージとは、メッセージの少なくとも一部が数字、文字又は記号によりコード化されており、字面からメッセージ内容を理解できないメッセージである。符号化されたメッセージは、例えば、上述した第１階層より下の階層の情報として存在し、上述した第１階層のメッセージ名に基づいて、当該第１階層より下の階層の情報が符号化された情報であるか否か判定可能とされている。例えば、図３（ａ）に示すように、メッセージ名「System Info」に属する階層には、符号化メッセージである「W‐1」、「W−2」、「W−3」、「Y−1」、「Z−1」、「Z−2」が存在する。
【００３１】
また、この符号化メッセージは、予め設定された基準に基づいてデコード処理を行うことで、字面からメッセージ内容を理解できる文字列等のメッセージへ変換可能とされている。また、符号化メッセージが、あるメッセージ内容をコード化して複数に分割したものの一つである場合もある。このような符号化メッセージに関しては、関連する複数の符号化メッセージを連結してデコード処理することにより、字面からメッセージ内容を理解できるメッセージへ変換可能とされている。符号化メッセージは、その全部が符号化されている場合を除き、メッセージ内に符号化メッセージの種別を示す識別子を含んでいる。例えば、図３（ａ）に示すように、符号化メッセージには「W」、「Y」、「Z」といった識別子を含んでいる。そして、例えば識別子Ｗで示される「W−1」、「W−2」、「W−3」を結合してデコード処理することにより、字面からメッセージ内容を理解できるメッセージを生成できる。
【００３２】
なお、読み込まれるファイル（比較対象のファイル）の種類は限定されない。例えば、メッセージ比較判定装置１は、ＩＭＴ−２０００、ＧＳＭ（Global System for Mobile Communications）、ＣＤＭＡ−２０００、ＬＴＥ（Long Term Evolution）などの移動通信プロトコルに関するデータファイルや、ＡＳＮ．１（Abstract Syntax Notation One）で記述された信号ファイル、ＸＭＬ（Extensible Markup Language）ファイル、ＨＴＭＬ（HyperText Markup Language）ファイルなどの任意のファイルを処理することができる。
【００３３】
また、ファイル入力部１０は、試験項目についての標準値等が記載された基準ファイルを第１の信号ファイルとして入力し、試験対象の移動機器等から取得した試験ファイルを第２の信号ファイルをとして入力してもよい。
【００３４】
図１に戻って、演算処理部１１は、ファイル入力部１０により出力された第１の一時ファイル及び第２の一時ファイルに基づいて、比較処理前の演算処理を行う機能を有している。演算処理部１１は、演算処理を行う機能的構成要素として、符号化判定部１１ａ、関連性判定部１１ｂ、結合部１１ｃ、デコード処理部１１ｄ及び記録部１１ｅを備えている。
【００３５】
符号化判定部１１ａは、ファイル入力部１０により出力された第１の一時ファイル及び第２の一時ファイル内のそれぞれに、符号化メッセージが格納されているか否かを判定する機能を有している。例えば、符号化判定部１１ａは、上述した第１階層のメッセージ名に基づいて、当該第１階層下の第２階層の情報が符号化されているか否かを判定する機能を有している。そして、符号化判定部１１ａは、判定結果を関連性判定部１１ｂへ出力する機能を有している。
【００３６】
関連性判定部１１ｂは、複数の符号化メッセージ間に関連性が存在するか否かを判定する機能を有している。例えば、関連性判定部１１ｂは、第２階層の情報内に記録された識別子に基づいて、複数の符号化メッセージ間に関連性が存在するか否かを判定する機能を有している。例えば、関連性判定部１１ｂは、同一識別子の符号化メッセージ間には関連性があると判定する。関連性判定部１１ｂは、判定結果を結合部１１ｃへ出力する機能を有している。
【００３７】
結合部１１ｃは、関連性判定部１１ｂにより出力された判定結果に基づいて、関連性判定部１１ｂにより関連性があると判定された符号化メッセージ同士を結合する機能を有している。例えば、結合部１１ｃは、関連性のある同一識別子の符号化メッセージ同士のみを結合する。結合部１１ｃは、結合処理後の符号化メッセージをデコード処理部１１ｄへ出力する機能を有している．
【００３８】
デコード処理部１１ｄは、結合部１１ｃにより出力された結合後の符号化メッセージ、及び、単独で１つのメッセージが符号化されている符号化メッセージに対して、所定の定義に基づいて一時ファイルごとにデコード処理し、文字等の認識可能なメッセージへ変換する機能を有している。所定の定義としては、例えば、ヘキサコードを文字表記へ変換する既存の定義を用いてもよいし、コードに関連付けされた文字を格納したテーブル等を用いてもよい。これらの所定の定義は、符号化メッセージの識別子に関連付けされていてもよい。例えば、識別子がＡであれば、ヘキサコードから文字列への変換、識別子がＢであれば、テーブルを用いた文字列への変換といったように、変換するための定義を識別子に応じて変更してもよい。また、デコード処理部１１ｄは、変換したメッセージを各一時ファイルに対応付けて記録部１１ｅへ出力する機能を有している。
【００３９】
記録部１１ｅは、デコード処理部１１ｄにより出力された各一時ファイルの変換後のメッセージを、ファイル入力部１０により出力された各一時ファイルに対応させてそれぞれ記録する機能を有している。記録部１１ｅは、例えば、変換後のメッセージを、符号化メッセージの直後に挿入し、記録する機能を有している。また、記録部１１ｅは、例えば、デコード処理部１１ｄにより関連する符号化メッセージが連結されてデコードされた場合には、連結された最終行の符号化メッセージの直後に、変換後のメッセージを挿入して記録する機能を有している。ここで、記録部１１ｅは、変換後のメッセージを「AAAAA」や「BBBBB」と同列の第１階層のメッセージとして記録する機能を有している。記録部１１ｅは、記録した後の各一時ファイルを比較判定部１４へ出力する機能を有している。
【００４０】
比較判定部１４は、記録部１１ｅにより記憶された一時ファイル同士を比較する機能を有している。比較判定部１４は、一時ファイルに階層的に配置されたメッセージが両ファイル間で一致するか否かを判定する機能を有している。より具体的には、比較判定部１４は、第１の一時ファイル及び第２の一時ファイルを同一階層同士で順次比較して同一階層のメッセージ同士（情報要素同士）が一致するか否かを判定する機能を有している。そして、両ファイルのメッセージが一致すると判定された場合には、その両メッセージの下位階層について、第１の一時ファイルと第２の一時ファイルとを同一階層同士で順次比較し、下位階層のメッセージ同士（情報要素同士）が一致するか否かを判定する機能を有している。
【００４１】
また、比較判定部１４は、符号化メッセージからデコードされて生成されたメッセージを、符号化メッセージが属する上位層のメッセージ（例えば、「System Info」）よりも優先的に比較する機能を有している。例えば、比較判定部１４は、比較前に各メッセージに優先度を割り当てて、割り当てた優先度に従って比較処理を実行する機能を有している。優先度が大きい程、処理が優先されるものとすると、例えば、比較判定部１４は、符号化メッセージが属する上位層のメッセージの優先度を、デコードにより生成されたメッセージの優先度よりも小さく設定する機能を有している。
【００４２】
比較判定部１４は、上述した比較処理を最上位層から最下位層にわたって実行する機能を有している。例えば図４に示すように、２つのファイルの間で最上位層（第１階層）のメッセージ#7が一致した場合には、メッセージ#7の下位階層（第２階層）にあるＭ２個の情報#7−1〜#7−M2について比較処理が実行される。この比較処理において、例えば両ファイル間でメッセージ#7−5が一致した場合には、メッセージ#7−5の下位階層（第３階層）にある１以上の情報について比較処理が実行される。このような処理は、最下位層（第Ｎ階層）まで実行され得る。そして、比較判定部１４は、メッセージが一致するか否かを示す判定結果を表示部１５へ出力する機能を有している。
【００４３】
表示部１５は、比較判定部１４により算出された判定結果をユーザへ報知する機能を有している。表示部１５として、例えば、ディスプレイが用いられる。表示部１５は、判定結果を様々な表現形式で表示することができる。例えば、表示部１５は一致したメッセージを強調表示してもよいし、階層的に表示したりしてもよい。また、表示部１５はテキスト、表、図形などを組み合わせて判定結果を表示してもよい。なお、本実施形態では表示部１５としてディスプレイを採用しているが、判定結果の出力方法はこれに限定されず、例えば、印刷、記録媒体への記録、あるいはネットワークを介しての他の情報処理装置への送信により判定結果を出力してもよい。
【００４４】
次に、本実施形態に係るメッセージ比較判定装置１の動作について説明する。図５は、本実施形態に係るメッセージ比較判定装置１の動作を示すフローチャートである。図５に示すフローチャートは、例えばユーザによりメッセージ比較判定装置１が起動されたタイミングで実行される。
【００４５】
図５に示すように、メッセージ比較判定装置１は、ファイル入力処理から開始する（Ｓ１０）。Ｓ１０の処理は、ファイル入力部１０が実行し、比較する２つのファイルを入力し、一時ファイルにそれぞれ記録する処理である。ファイル入力部１０は、例えば、図３に示す第１ファイル及び第２ファイルを入力する。Ｓ１０の処理が終了すると、比較前処理へ移行する（Ｓ１２）。
【００４６】
Ｓ１２の処理は、演算処理部１１が実行し、Ｓ１０の処理で生成した２つの一時ファイルに基づいてメッセージ内容の比較が可能な形式へ変更する処理である。Ｓ１２の処理の詳細について、図６を用いて説明する。図６は、比較前処理を説明するフローチャートである。図６に示すように、演算処理部１１は符号化判定処理を開始する（Ｓ２０）。Ｓ２０の処理は、符号化判定部１１ａが実行し、各一時ファイルに符号化コードが含まれるか否かを判定する処理である。符号化判定部１１ａは、例えば、第１階層のメッセージ名が「System Info」であるメッセージが存在するか否かを判定することで、ファイル内のメッセージに符号化メッセージが含まれているか否かを判定する。Ｓ２０の処理において、符号化メッセージが含まれていないと判定した場合には、デコード処理をする必要がないため、図６に示す制御処理を終了する。一方、Ｓ２０の処理において、符号化メッセージが含まれていると判定した場合には、関連性判定処理へ移行する（Ｓ２２）。
【００４７】
Ｓ２２の処理は、関連性判定部１１ｂが実行し、符号化メッセージ間で関連性が存在するか否かを判定する処理である。関連性判定部１１ｂは、例えば、符号化メッセージに含まれる識別子を参照し、同一識別子である符号化メッセージについては、関連性があると判定する。例えば、図３（ａ）の符号化メッセージについて、識別子「W」を含む符号化メッセージ「W−1」、「W−2」、「W−3」はそれぞれ関連性があると判定する。また、識別子「Z」を含む符号化メッセージ「Z−1」、「Z−2」はそれぞれ関連性があると判定する。Ｓ２２の処理において、符号化メッセージ間に関連性がないと判定した場合には、デコード処理へ移行する（Ｓ２６）。一方、Ｓ２２の処理において、符号化メッセージ間に関連性があると判定した場合には、結合処理へ移行する（Ｓ２４）。
【００４８】
Ｓ２４の処理は、結合部１１ｃが実行し、関連がある符号化メッセージを結合する処理である。結合部１１ｃは、Ｓ２４の処理で関連性があると判定された符号化メッセージを結合して１つの符号化メッセージとする。例えば、図３（ａ）の符号化メッセージ「W−1」、「W−2」、「W−3」は、同一の識別子「W」を含むため、これらの符号化メッセージの符号化された部分を結合する。また、符号化メッセージ「Z−1」、「Z−2」は、同一の識別子「Z」を含むため、これらの符号化メッセージの符号化された部分を結合する。Ｓ２４の処理が終了すると、デコード処理へ移行する（Ｓ２６）。
【００４９】
Ｓ２６の処理は、デコード処理部１１ｄが実行し、符号化メッセージをデコードする処理である。デコード処理部１１ｄは、単独の符号化メッセージ及びＳ２６の処理により結合された１つの符号化メッセージの少なくとも一方をデコードし、字面から認識可能なメッセージを生成する。例えば、図３（ａ）の符号化メッセージ「W−1」、「W−2」、「W−3」を結合した符号化メッセージからメッセージ「WWW」、符号化メッセージ「Y−1」からメッセージ「YYY」、符号化メッセージ「Z−1」、「Z−2」を結合した符号化メッセージからメッセージ「ZZZ」がデコードされる。また、図３（ｂ）の符号化メッセージ「W−1」、「W−2」、「W−3」を結合した符号化メッセージからメッセージ「WWW」、符号化メッセージ「Y−1」からメッセージ「YYY」、符号化メッセージ「Z−1」、「Z−2」を結合した符号化メッセージからメッセージ「ZZZ」がデコードされる。Ｓ２６の処理が終了すると、記録処理へ移行する（Ｓ２８）。
【００５０】
Ｓ２８の処理は、記録部１１ｅが実行し、Ｓ２６のデコード処理により生成されたメッセージを各一時ファイルに記録する処理である。記録部１１ｅは、Ｓ２６の処理で生成された各一時ファイルの変換後のメッセージを、Ｓ１０の処理で生成した各一時ファイルに対応させてそれぞれ記録する。この処理について、図７を用いて説明する。図７（ａ）は、図３に示す第１のファイルに基づいて生成された一時ファイルに、デコード処理によって生成したメッセージを記録した後のファイル内容を示すものである。図７（ａ）に示すように、記録部１１ｅは、例えば、符号化メッセージ「Y−1」から生成したメッセージ「YYY」を、符号化メッセージ「Y−1」の直後に挿入して記録する。そして、符号化メッセージ間に関連性があると判断された「W−1」、「W−2」、「W−3」については、生成したメッセージ「WWW」を、連結された最終行の符号化メッセージ「W−3」の直後に挿入して記録する。また、記録するメッセージは、符号化メッセージより上位の階層、ここでは第１階層のメッセージと同列に記録する。上述した処理と同様の処理をＳ２６の処理で生成したメッセージ全てに対して行う。また、図７（ｂ）に示すように、第２のファイルに基づいて生成された一時ファイルに対しても、上記処理と同一の処理を実施する。２つのファイルに対して、Ｓ２６の処理で生成したメッセージが全て記録された場合には、図６に示す制御処理を終了する。以上で、比較前処理（図５のＳ１２）が終了する。
【００５１】
図５のＳ１２に戻り、比較処理へ移行する（Ｓ１４）。Ｓ１４の処理は、比較判定部１４が実行し、デコード処理後の一時ファイルを比較する処理である。比較判定部１４は、各ファイルの第１階層のメッセージを抽出し、メッセージ同士が一致するか否かを判定する。ここで、比較判定部１４は、比較判定前に、各メッセージに対して優先度を設定する。例えば、Ｓ２６の処理で生成されたメッセージよりもメッセージ「System Info」に対する優先度を小さく設定する。そして、優先度の順に、メッセージ同士が一致するか否かを判定する。そして、ファイルのメッセージが一致すると判定された場合には、その両メッセージの下位階層について、第１の一時ファイルと第２の一時ファイルとを同一階層同士で順次比較し、下位階層の情報要素同士が一致するか否かを判定する。図８（ａ），（ｂ）は、図７（ａ），（ｂ）に示すメッセージの第１階層のメッセージを抽出して表示させたものであり、下位階層まで比較した後の比較結果を示すものである。図中の「○」は互いに下位の階層までメッセージが完全同一することを示し、「×」は互いに下位の階層までメッセージが完全同一しないことを示す。Ｓ１４の処理が終了すると、表示処理へ移行する（Ｓ１６）。
【００５２】
Ｓ１６の処理は、表示部１５が実行し、Ｓ１４の処理で行った比較処理の結果を表示する処理である。表示部１５は、例えば、図８に示す「○」「×」を記入した比較結果をディスプレイに表示する。また、例えば、図９に示すように、２つのファイルの内容を同一のフォーマットを用いて階層的に表示させてもよい。これにより、メッセージ比較判定装置１の使用者は２つのファイル間の差分を視覚的に容易に確認することができる。Ｓ１６の処理が終了すると、図５に示す制御処理を終了する。
【００５３】
以上で図５に示す制御処理を終了する。図５に示す制御処理を実行することにより、符号化されたメッセージを含む場合であっても、そのメッセージ内容を含めて一度に比較することが可能となる。
【００５４】
次に、コンピュータを上記メッセージ比較判定装置１として機能させるためのメッセージ比較判定プログラムを説明する。
【００５５】
メッセージ比較判定プログラムは、メインモジュール、ファイル入力モジュール、演算処理モジュール、比較判定モジュール及び表示モジュールを備えている。メインモジュールは、メッセージ比較判定処理を統括的に制御する部分である。演算処理モジュールは、符号化判定モジュール、関連性判定モジュール、結合モジュール、デコード処理モジュール及び記録モジュールを備えている。ファイル入力モジュール、演算処理モジュール（符号化判定モジュール、関連性判定モジュール、結合モジュール、デコード処理モジュール及び記録モジュール）、比較判定モジュール及び表示モジュールを実行させることにより実現される機能は、上述したメッセージ比較判定装置１のファイル入力部１０、演算処理部１１（符号化判定部１１ａ、関連性判定部１１ｂ、結合部１１ｃ、デコード処理部１１ｄ及び記録部１１ｅ）、比較判定部１４及び表示部１５の機能とそれぞれ同様である。
【００５６】
メッセージ比較判定プログラムは、例えば、ＣＤ−ＲＯＭ、ＤＶＤもしくはＲＯＭ等の記憶媒体または半導体メモリによって提供される。また、メッセージ比較判定プログラムは、搬送波に重畳されたコンピュータデータ信号としてネットワークを介して提供されてもよい。
【００５７】
ところで、従来のメッセージ比較判定装置、メッセージ比較判定プログラム及びその方法では、信号ファイル内に符号化メッセージが混在する場合、文字列の比較をすることはできても、メッセージ内容の差異までは検証することができなかった。図２３に、従来の手法による比較判定結果を示す。図２３では、便宜上、２つのファイルの第１階層のメッセージを示している。また、説明理解の容易性のため、「System Info」の下の階層のメッセージの内容については括弧書きで示している。また、メッセージは一致するが含まれる情報要素が異なる場合は「△」、メッセージとそこに含まれる情報要素が完全一致する場合を「○」で示している。図２３に示すように、従来の手法であれば、「System Info」の情報要素に差異があることを理解できても、内容的にどのような差異であるのか理解できない。このため、「System Info」に関するメッセージを抽出して、個別に連結処理、デコード処理した上で個別に比較処理を行う必要がある。
【００５８】
これに対して、第１実施形態に係るメッセージ比較判定装置１、メッセージ比較判定プログラム及びその方法では、ファイル入力部１０（ファイル入力モジュール）により２つの信号ファイルに記録されたメッセージを信号ファイルごとに入力して信号ファイルごとに一時ファイルが生成され、演算処理部１１（演算処理モジュール）により一時ファイルそれぞれに対して演算処理が実行され、比較判定部１４（比較判定モジュール）により、演算処理後の一時ファイルに記録されたメッセージ同士が一致するか否かが判定されることとで、２つの信号ファイルにそれぞれ記録されたメッセージの内容が一致するか否かが判定される。演算処理では、符号化判定部１１ａ（符号化判定モジュール）により少なくとも一部が符号化されたメッセージである符号化メッセージ（図８の「W−1」等）が存在するか否かが一時ファイルごとに判定され、少なくとも一方の一時ファイルに符号化メッセージが存在すると判定された場合には、デコード処理部１１ｄ（デコード処理モジュール）により当該一時ファイルの符号化メッセージが所定の定義に基づいてデコード処理されて非符号化されたメッセージ（図８の「WWW」等）が生成され、記録部１１ｅ（記録モジュール）により符号化メッセージが存在すると判定された一時ファイルに、非符号化されたメッセージが記録される。このように、信号ファイルのメッセージを比較する前に、符号化された特定のメッセージがデコードされてメッセージ内容を理解できるメッセージとされるので、生成されたメッセージを含めた状態で比較処理を実行することができる。このため、信号ファイル内に符号化メッセージが含まれる場合であっても、単なる字面の比較ではなくメッセージの内容そのものを比較することが可能となる。よって、信号ファイルの内容的な差分を即座に視覚的に認識することができる。また、元の信号ファイルに存在したメッセージにデコード処理後のメッセージをマージした状態で比較処理を実行するため、通常のメッセージ（図８の「AAAAA」等）同士の比較結果の表示と同時に表示させることが可能となる。このため、差分の検証の手間や時間を軽減することができるので、信号ファイル同士のメッセージ内容の差異を効率的に検証することが可能となる。また、符号化メッセージを選択して抽出しデコードする処理を個別に行わなくて良いため、作業精度を向上させることができる。
【００５９】
また、第１実施形態に係るメッセージ比較判定装置１、メッセージ比較判定プログラム及びその方法によれば、符号化メッセージそれぞれの関連性を判定して結合し、結合した符号化メッセージをデコードすることができる。このため、ある特定のメッセージが、複数の符号化メッセージに分割されている場合であっても、信号ファイル同士のメッセージ内容の差異を効率的に検証することが可能となる。
【００６０】
また、第１実施形態に係るメッセージ比較判定装置１、メッセージ比較判定プログラム及びその方法によれば、比較判定部１４（比較判定モジュール）により、デコード処理により生成したメッセージの処理の優先度よりも、符号化メッセージの上位階層のメッセージの優先度が低く設定される。このため、デコード処理により生成したメッセージが優先的に比較されることとり、結果、符号化メッセージに関する行に影響されることなく、確実にメッセージ内容を比較することができる。
【００６１】
また、第１実施形態に係るメッセージ比較判定装置１、メッセージ比較判定プログラム及びその方法によれば、符号化メッセージの直後にデコード処理によって生成されたメッセージが記録されるので、符号化メッセージとデコード処理によって生成されたメッセージとの関係を理解しやすい形で比較結果に含めることができる。
【００６２】
（第２実施形態）
次に、本発明の第２実施形態に係るメッセージ比較判定装置、メッセージ比較判定プログラム及びその方法について説明する。
【００６３】
第２実施形態に係るメッセージ比較判定装置は、図１に示す第１実施形態に係るメッセージ比較判定装置１とほぼ同様に構成されるものであり、比較条件を設定可能に構成される点が相違する。よって、第１実施形態と同様の構成要素は第１実施形態と同様の符号を付して説明を省略し、相違点を中心に説明する。
【００６４】
図１０は、本実施形態に係るメッセージ比較判定装置２の機能構成図である。図１０に示すように、メッセージ比較判定装置２は、第１実施形態に係るメッセージ比較判定装置１に比べて、比較条件設定インターフェイス部１２及び比較条件設定部１３を備える点が相違するとともに、比較判定部１４の一部機能が相違する。
【００６５】
比較条件設定インターフェイス部１２は、比較条件を設定するためのユーザインターフェイスとして機能する。ここで、比較条件とは、ファイル入力部１０で入力した信号ファイル同士を比較する際に、どのようにどの部分を比較するか等を定めたものである。比較条件は、例えば、「メッセージ」、「情報要素」及び「情報要素の値」の少なくとも１つの項目に対して設定される。例えば、有無、数、順序、値、及び範囲内外の条件のうち少なくとも１つを含む比較条件が設定される。比較条件設定インターフェイス部１２は、例えば、上述した比較条件を全て提示して、ユーザの操作によって必要な比較条件を選択可能に構成されている。そして、比較条件設定インターフェイス部１２は、設定された比較条件を比較条件設定部１３へ出力する機能を有している。
【００６６】
比較条件設定部１３は、比較条件設定インターフェイス部１２が出力した比較条件を、ファイル入力部１０が入力する２つの信号ファイルの一方に設定する機能を有している。例えば、試験手順書等に基づいて設定された基準情報が予め格納された基準ファイルを、第１のファイルとしてファイル入力部１０が入力する場合には、比較条件設定部１３は、比較条件設定インターフェイス部１２により設定された比較条件を当該第１のファイルに設定する機能を有している。
【００６７】
比較判定部１４は、比較条件設定部１３により比較条件が設定された基準ファイルと、試験対象のファイルである試験ファイルとを比較する機能を有している。そして、比較条件ごとに条件を満たすか否かを判定し、最終的に試験ファイルにおける総合的な判定結果を出力する機能を有している。なお、その他の構成は、第１実施形態に係るメッセージ比較判定装置１の比較判定部１４と同様である。
【００６８】
次に、本実施形態に係るメッセージ比較判定装置２の動作について説明する。なお、以下では説明理解の容易性を考慮して、ファイル入力部１０は、第１のファイルとして基準ファイル、第２のファイルとして試験ファイルを入力するものとする。基準ファイルとは、試験ファイルの評価のために、試験手順書等に基づいて設定された基準情報が予め格納されたファイルである。試験ファイルは、試験対象となるファイルである。
【００６９】
本実施形態に係るメッセージ比較判定装置２の動作は、第１実施形態に係る実施形態とほぼ同様であり、図５のＳ１０のファイル入力処理前に、基準ファイルに比較条件の設定処理を実行する点、及び、図５のＳ１４の比較判定処理の一部が相違する。最初に、比較条件の設定処理を説明する。
【００７０】
比較条件の設定処理は、比較条件設定インターフェイス部１２及び比較条件設定部１３が実行し、基準ファイルに比較条件を設定する処理である。比較条件設定インターフェイス部１２は、ユーザに対して、第１階層のメッセージに対する比較条件、第２階層以下の情報要素及びその値に関する比較条件を提示して選択させる。第１階層のメッセージに関する比較条件として、例えば、「設定した複数のメッセージが順不同で全て存在すること（メッセージ比較条件１）」、「設定した１つ又は複数のメッセージが、少なくとも１以上存在すること（メッセージ比較条件２）」、「設定した１つ又は複数のメッセージが複数回存在すること（メッセージ比較条件３）」、「設定したメッセージの次のメッセージによって条件を選択すること（メッセージ比較条件４）」、「指定したメッセージの並びの中に、設定条件を満たすメッセージが存在すること（メッセージ比較条件５）」が用いられる。
【００７１】
また、第２階層以下の情報要素に関する比較条件として、例えば、「設定した情報要素が存在しないこと（情報要素条件１）」、「設定した情報要素が１つでも存在すること（情報要素条件２）」、「設定した情報要素が指定した数だけ存在すること（情報要素条件３）」が用いられる。また、第２階層以下の情報要素の値に関する比較条件として、例えば、「解析値が判定値と同一であること（値条件１）」、「解析値が判定値以外であること（値条件２）」、「指定された範囲内であること（値条件３）」、「指定された順序通りに全て存在すること（値条件４）」、「解析値が判定値未満であること（値条件５）」、「解析値が判定値より大きいこと（値条件６）」、「解析値が判定値以下であること（値条件７）」、「解析値が判定値以上であること（値条件８）」、が用いられる。
【００７２】
また、第２階層以下の情報要素が複数ある場合には、比較条件として、例えば、「試験ファイルの該当する情報要素が基準ファイルで指定した条件を全て満たすこと（複数情報要素条件１）」、「試験ファイルの該当する情報要素が、基準ファイルで指定した条件を少なくとも１つ満たすこと（複数情報要素条件２）」、「基準ファイルで指定した条件が全て満たすと判定されること（複数情報要素条件３）」が用いられる。
【００７３】
上述した条件は、ユーザにより１つも選択されない場合があってもよいし、複数選択される場合があってもよい。比較条件設定インターフェイス部１２は、ユーザによって選択された比較条件を比較条件設定部１３へ出力する。比較条件設定部１３は、選択された比較条件を、基準ファイルに対して設定する。まず、比較条件設定部１３は、第１階層に存在するメッセージに対して比較条件を設定する。例えば、比較条件設定部１３は、「あるべき順序どおりにメッセージが存在すること（メッセージ比較条件０）」を第１階層に存在するメッセージの比較条件として設定する。そして、ユーザにより選択された第１階層に存在するメッセージの比較条件を設定する。
【００７４】
この処理について、図１１を用いて説明する。図１１（ａ）は、基準ファイルの第１階層のメッセージが格納される「Message」欄と、各メッセージに対応する識別子である「No．」欄と、比較条件を記録する「Condition」欄からなる表である。比較条件設定部１３は、「Condition」欄に、選択された比較条件（メッセージ比較条件１〜４）に対応する文字列を設定する。例えば、メッセージ比較条件１をメッセージ「AAAAA」，「BBBBB」に適用させる場合には、メッセージ「AAAAA」，「BBBBB」に対応する各「Condition」欄に、メッセージ比較条件１を示す文字列「exist#」（＃：整数）を設定する。＃は、設定対象の一群のメッセージを識別するための番号である。同様に、メッセージ比較条件２を設定する場合には「one#」、メッセージ比較条件３を設定する場合には「times#」、メッセージ比較条件４を設定する場合には「choice#」が、「Condition」欄に設定される。なお、上記の表は、説明理解の容易性のために用いたものにすぎず、上記条件の何れの条件を選択したのかを記録することができればよい。例えば、比較条件を基準ファイルの別レコードや他のメモリ上に格納しておき、比較判定部１４が当該比較条件を参照する構成であってもよい。比較条件設定部１３は、例えば、メッセージ比較条件５を指定された場合には、メッセージ比較条件５を示す文字列「*Message(符号  値)［#B;#E］」をメモリ上に格納する。「*Message(符号  値)［#B;#E］」では、Messageで指定するメッセージを設定し、(符号  値)で条件を設定し、#Bで条件の対象とするメッセージの開始行番号、#Eで条件の対象とするメッセージの終了行番号を設定する。(符号  値)では、例えば、(<1)，(=0)を設定した場合には「存在しないこと」を示し、(>0)を設定した場合には「１つでも存在すること」を示し、(>n,<m)を設定した場合には「(ｎ−1)〜(ｍ−1)個存在すること」を示し、(*n)を設定した場合には「ｎ個存在すること」を示す。
【００７５】
比較条件設定部１３は、第１階層に存在するメッセージに対して比較条件を設定した後に、第２階層以下の情報要素やその値に関する比較条件を設定する。図１１（ｂ）は、基準ファイルの第１階層のメッセージが格納される「Message」欄と、基準ファイルの第２階層の情報要素及び比較条件が格納される「IE‐1」欄と、基準ファイルの第３階層の情報要素及び比較条件が格納される「IE‐2」欄からなる表である。比較条件設定部１３は、第２階層以下の情報要素やその値に関する比較条件を、「IE‐1」欄又は「IE‐2」欄に条件式として設定する。条件式は、対象となる情報要素に続けて記載する。例えば、情報要素「aaa」に対して条件を設定する場合には、「aaa[条件式]」として記載する。情報要素条件１に対応する条件式は[not exist]、情報要素条件２に対応する条件式は[exist]、情報要素条件３に対応する条件式は[*n]（ｎ：指定した数）、値条件１に対応する条件式は[=x]（ｘ：判定値）、値条件２に対応する条件式は[!=x]（ｘ：判定値）、値条件３に対応する条件式は[n;m]（ｎ〜ｍ：指定した範囲）、値条件４に対応する条件式は[n，m，…]、値条件５に対応する条件式は[<x]（ｘ：判定値）、値条件６に対応する条件式は[>x]（ｘ：判定値）、値条件７に対応する条件式は[<=x]（ｘ：判定値）、値条件８に対応する条件式は[>=x]（ｘ：判定値）である。また、複数情報要素条件１〜３の条件式は上記の条件式を複数併記することで表現される。なお、上記の表は、説明理解の容易性のために用いたものにすぎず、上記条件の何れの条件を選択したのかを記録することができればよい。
【００７６】
上記の比較条件が設定されたファイル入力処理（図５のＳ１０）及び比較前処理（図５のＳ１２）は、第１実施形態と同様である。
【００７７】
続いて、図５のＳ１４の処理に対応する比較判定処理を説明する。比較判定部１４は、比較条件設定処理で設定した比較条件を参照しつつ、第１実施形態と同様の比較処理を実行する。最初に、比較判定部１４は、各ファイルの第１階層のメッセージを抽出し、比較条件により設定されているメッセージ同士が一致するか否かを判定する。
【００７８】
例えば、比較判定部１４は、基準ファイル内の基点メッセージと一致する試験ファイルのメッセージを抽出するとともに、試験ファイル内の基点メッセージと一致する基準ファイルのメッセージを抽出する。続いて、基準ファイル及び試験ファイルのそれぞれについて、判定済メッセージから被抽出メッセージまでの間隔を算出する。そして、試験ファイルでの間隔が基準ファイルでの間隔よりも小さい場合には、基準ファイルの基点メッセージと試験ファイルの被抽出メッセージとが一致すると判定する。一方、試験ファイルでの間隔が基準ファイルでの間隔以上であれば、メッセージの辞書順に基づいて判定するか、あるいは、一致するメッセージがないと判定する。
【００７９】
比較判定部１４は、メッセージ同士が一致するか判定した後、比較条件を満たすか否かを判定する。比較判定部１４は、例えば、メッセージ同士が一致した場合には「○」、メッセージ同士が一致しない場合には「×」、比較対象にしない場合には「D/C」を比較結果として出力する。また、比較判定部１４は、比較条件を満たす場合には「○」、比較条件を満たさない場合には「×」を判定結果として個別に出力する。さらに、比較判定部１４は、個別の判定結果を総合し、全ての比較条件を満たす場合には「○」、全ての比較条件を満たさない場合には「×」を総合判定結果として出力する。
【００８０】
比較判定部１４は、第１階層のメッセージが一致すると判定した場合には、続いて、その両メッセージの下位階層について、基準ファイルと試験ファイルとを同一階層同士で順次比較し、条件式が記入されている情報要素同士が一致するか否かを判定する。そして、情報要素が比較条件を満たすか否かを判定して、総合判定結果を出力する。比較結果及び総合判定結果は、メッセージの比較判定処理と同様の形式で出力される。なお、条件式が記入されていない情報要素については、単なるパスの情報として取り扱い、比較結果を「D/C」とする。また、複数情報要素条件１〜３を設定している場合には、これらの条件を満たすか否かを比較結果に基づいて判定し、総合判定結果を出力する。比較判定部１４が全ての条件について判定すると、表示部１５が比較判定結果を表示する。以上で、本実施形態に係るメッセージ比較判定装置２の動作が終了する。
【００８１】
次に、比較条件を設定して比較した結果を、図を用いて説明する。図１２〜２２は、基準ファイルに設定された比較条件に基づいて試験ファイルを比較判定した結果を示すものである。
【００８２】
図１２（ａ）は、左の表に、比較条件が設定された基準ファイル、右の表に比較対象の試験ファイル及び比較判定結果を示している。左の表では、図１１（ａ）に示す形式で、メッセージが順に「AAAAA」〜「GGGGG」で並ぶ基準ファイルにおいて、メッセージ「AAAAA」，「BBBBB」が順不同で全て存在する（exist1）、及びメッセージ「DDDDD」，「EEEEE」が順不同で全て存在する（exist2）というメッセージ比較条件１が設定されている。一方、右の表では、比較対象である試験ファイルの第１階層のメッセージが格納された「Message」欄と、「Message」欄に対応する「Judgment」欄に比較結果を示している。なお、「Judgment」欄には、必要に応じて個々の判定結果を示す場合もある。また、メッセージを比較する際には、第１階層のメッセージが順序どおりに存在するというメッセージ比較条件０が設定されているが、ここでは便宜上表示していない。比較判定部１４により、基準ファイルのメッセージが試験ファイルのメッセージに含まれるか一行目の「AAAAA」から順に一行ごとにメッセージが比較され、メッセージの一致不一致が判定される。結果、試験ファイルには、メッセージが「BBBBB」，「AAAAA」，「CCCCC」，「EEEEE」，「DDDDD」…の順に存在すると判定される。なお、図では、メッセージ比較条件０のみ設定されているメッセージと試験ファイルのメッセージとの関連性を実線で示し、メッセージ比較条件０以外の比較条件（ここではメッセージ比較条件１）も設定されているメッセージについては、当該メッセージと試験ファイルのメッセージとの関連性を太い実線で示している。そして、「Judgment」欄に比較結果に基づいて、メッセージ比較条件０及びメッセージ比較条件０，１を満たすか否か判定される。図中の太枠に示すように、設定した全てのメッセージ比較条件１を満たしているため、結果、総合判定結果として「○」が出力される。
【００８３】
図１２（ｂ）は、図１２（ａ）と同様に比較結果を示すものである。図１２（ｂ）では、比較条件として、図１２（ａ）と同様の比較条件が設定されている。比較判定部１４により、試験ファイルには、メッセージが「BBBBB」，「EEEEE」，「CCCCC」，「DDDDD」…の順に存在すると判定され（図中実線、太い実線）、メッセージ「AAAAA」については関連付けされた空白行の「Judgment」欄に「×」、その他のメッセージに関しては、対応する「Judgment」欄に「○」が格納される。そして、「Judgment」欄の比較結果に基づいて、メッセージ比較条件０，１を満たすか否か判定される。条件「exist2」については満たすが（図中の太枠）、条件「exist1」については満たさない。このため、総合判定結果として「×」が出力される。
【００８４】
図１２（ｃ）は、図１２（ａ）と同様に比較結果を示すものである。図１２（ｃ）では、比較条件として、メッセージ比較条件０と、メッセージ「AAAAA」，「EEEEE」が順不同で全て存在する（exist1）、メッセージ「BBBBB」，「DDDDD」が順不同で存在する（exist2）というメッセージ比較条件１とが設定されている。比較判定部１４により、試験ファイルには、メッセージが「EEEEE」，「DDDDD」，「CCCCC」，「BBBBB」，「AAAAA」…の順に存在すると判定され（図中実線、太い実線）、対応する「Judgment」欄に「○」が格納される。この場合、メッセージ比較条件０又はメッセージ比較条件０，１を満たしているため（図中の太枠）、総合判定結果として「○」が出力される。
【００８５】
図１３（ａ）は、図１２（ａ）と同様に比較結果を示すものである。図１３（ａ）では、比較条件として、図１２（ａ）と同様の比較条件が設定されている。比較判定部１４により、試験ファイルには、メッセージが「AAAAA」，「BBBBB」，「CCCCC」，「FFFFF」，「GGGGG」の順に存在すると判定される（図中実線、太い実線）。この場合、基準ファイルのメッセージ「DDDDD」，「EEEEE」に関連付けされた空白行の「Judgment」欄に「×」が格納され、その他のメッセージに関しては、対応する「Judgment」欄に「○」が格納される。「Judgment」欄の比較結果に基づいて、条件「exist1」については満たすが（図中の太枠）、条件「exist2」については満たさないと判定される。このため、総合判定結果として「×」が出力される。
【００８６】
図１３（ｂ）は、図１２（ａ）と同様に比較結果を示すものである。図１３（ｂ）では、比較条件として、図１２（ａ）と同様の比較条件が設定されている。比較判定部１４により、試験ファイルには、メッセージが「AAAAA」，「EEEEE」，「CCCCC」，「DDDDD」，「BBBBB」…の順に存在すると判定される（図中実線、太い実線）。この場合、基準ファイルのメッセージ「EEEEE」，「BBBBB」に関連付けされた行の「Judgment」欄に「×」が格納され、その他のメッセージに関しては、対応する行の「Judgment」欄に「○」が格納される。「Judgment」欄の比較結果に基づいて、条件「exist1」，「exist2」についていずれも満たさないと判定される。このため、総合判定結果として「×」が出力される。
【００８７】
図１３（ｃ）は、図１２（ａ）と同様に比較結果を示すものである。図１３（ｃ）では、比較条件として、メッセージ比較条件０と、メッセージ「AAAAA」，「BBBBB」が順不同で全て存在する（exist1）というメッセージ比較条件１が設定されている。比較判定部１４により、試験ファイルには、メッセージが「AAAAA」，「BBBBB」，「CCCCC」…の順に存在すると判定される（図中実線、太い実線）。この場合、これらのメッセージに対応する「Judgment」欄に「○」が格納される。そして、「Judgment」欄の比較結果に基づいて、メッセージ比較条件０，１を満たすと判定される（図中の太枠）。このため、総合判定結果として「○」が出力される。
【００８８】
図１４（ａ）は、図１２（ａ）と同様に比較結果を示すものである。図１４（ａ）では、比較条件として、メッセージ比較条件０と、メッセージ「BBBBB」，「CCCCC」のうち少なくとも一方が１以上存在する（one1）というメッセージ比較条件２が設定されている。比較判定部１４により、試験ファイルには、メッセージが「AAAAA」，「BBBBB」，「DDDDD」…の順に存在すると判定され（図中実線、太い実線）、メッセージ「CCCCC」については存在しないと判定される（図中点線）。この場合、これらのメッセージに対応する「Judgment」欄に「○」が格納される。「Judgment」欄の比較結果に基づいて、メッセージ比較条件０，２を満たすと判定される（図中の太枠）。このため、総合判定結果として「○」が出力される。
【００８９】
図１４（ｂ）は、図１２（ａ）と同様に比較結果を示すものである。図１４（ｂ）では、比較条件として、図１４（ａ）と同様の比較条件が設定されている。比較判定部１４により、試験ファイルには、メッセージが「AAAAA」，「CCCCC」，「DDDDD」…の順に存在すると判定され（図中実線、太い実線）、メッセージ「BBBBB」については存在しないと判定される（図中点線）。この場合、これらのメッセージに対応する「Judgment」欄に「○」が格納される。「Judgment」欄の比較結果に基づいて、メッセージ比較条件０，２を満たすと判定される（図中の太枠）。このため、総合判定結果として「○」が出力される。
【００９０】
図１４（ｃ）は、図１２（ａ）と同様に比較結果を示すものである。図１４（ｃ）では、比較条件として、メッセージ比較条件０と、メッセージ「BBBBB」，「DDDDD」のうち少なくとも一方が１以上存在する（one1）というメッセージ比較条件２が設定されている。比較判定部１４により、試験ファイルには、メッセージが「AAAAA」，「CCCCC」，「DDDDD」…の順に存在すると判定され（図中実線、太い実線）、メッセージ「BBBBB」については存在しないと判定される（図中点線）。この場合、これらのメッセージに対応する「Judgment」欄に「○」が格納される。「Judgment」欄の比較結果に基づいて、メッセージ比較条件０，２を満たすと判定される（図中の太枠）。このため、総合判定結果として「○」が出力される。
【００９１】
図１５は、図１２（ａ）と同様に比較結果を示すものである。図１５では、比較条件として、図１４（ａ）と同様の比較条件が設定されている。比較判定部１４により、試験ファイルには、メッセージが「AAAAA」，「BBBBB」，「CCCCC」…の順に存在すると判定される（図中実線、太い実線）。この場合、これらのメッセージに対応する「Judgment」欄に「○」が格納される。「Judgment」欄の比較結果に基づいて、メッセージ比較条件０，２を満たすと判定される（図中の太枠）。このため、総合判定結果として「○」が出力される。
【００９２】
図１６（ａ）は、図１２（ａ）と同様に比較結果を示すものである。図１６（ａ）では、比較条件として、メッセージ比較条件０と、３つより少ないメッセージ「BBBBB」が複数存在する（times[<3]）というメッセージ比較条件３が設定されている。比較判定部１４により、試験ファイルには、メッセージが「AAAAA」，「BBBBB」，「BBBBB」，「CCCCC」…の順に存在すると判定される（図中実線、太い実線）。この場合、個々の判定結果「○」がこれらのメッセージに対応する「Judgment」欄に格納され、メッセージ比較条件０，３を満たすと判定される（図中の太枠）。このため、総合判定結果として「○」が出力される。
【００９３】
図１６（ｂ）は、図１２（ａ）と同様に比較結果を示すものである。図１６（ｂ）では、比較条件として、図１６（ａ）と同様の比較条件が設定されている。比較判定部１４により、試験ファイルには、メッセージが「AAAAA」，「BBBBB」，「BBBBB」，「BBBBB」，「CCCCC」…の順に存在すると判定される（図中実線、太い実線）。この場合、３つ目の「BBBBB」については、比較結果は「○」であるが、判定結果は「×」となる。その他のメッセージについては、個々の判定結果「○」がこれらのメッセージに対応する「Judgment」欄に格納される。メッセージ「BBBBB」が３つ存在するため（図中の太枠）、総合判定結果として「×」が出力される。
【００９４】
図１６（ｃ）は、図１２（ａ）と同様に比較結果を示すものである。図１６（ｃ）では、比較条件として、図１６（ａ）と同様の比較条件が設定されている。比較判定部１４により、試験ファイルには、メッセージが「AAAAA」，「BBBBB」，「BBBBB」，「CCCCC」，…の順に存在すると判定され（図中実線、太い実線）、個々の判定結果「○」がこれらのメッセージに対応する「Judgment」欄に格納される。なお、図中の点線枠で示すメッセージ「BBBBB」については、処理対象とならないため、「Judgment」欄に「D/C」が格納される。メッセージ「BBBBB」が２つ存在するため（図中の太枠）、総合判定結果として「○」が出力される。
【００９５】
図１７（ａ）は、図１２（ａ）と同様に比較結果を示すものである。図１７（ａ）では、比較条件として、メッセージ比較条件０、メッセージ「AAAAA」の次にメッセージ「BBBBB」，「CCCCC」，「DDDDD」の順のメッセージ群が存在する（choice[B1,E1]），及びメッセージ「DDDDD」の次にメッセージ「EEEEE」，「FFFFF」の順のメッセージ群が存在する（choice[B2,E2]）というメッセージ比較条件４が設定されている。比較判定部１４により、試験ファイルには、メッセージが「AAAAA」，「BBBBB」，「CCCCC」，「DDDDD」，「GGGGG」…の順に存在すると判定され（図中実線、太い実線）、これらのメッセージに対応する「Judgment」欄に「○」が格納される。「Judgment」欄の比較結果に基づいて、条件「choice[B1,E1]」については満たすが（図中の太枠）、条件「choice[B2,E2]」については満たさないと判定される。このため、総合判定結果として「×」が出力される。
【００９６】
図１７（ｂ）は、図１２（ａ）と同様に比較結果を示すものである。図１７（ｂ）では、比較条件として、メッセージ比較条件０、メッセージ「AAAAA」の次にメッセージ「BBBBB」，「CCCCC」の順のメッセージ群が存在する（choice[B1,E1]），及びメッセージ「DDDDD」の次にメッセージ「EEEEE」，「FFFFF」の順のメッセージ群が存在する（choice[B2,E2]）というメッセージ比較条件４が設定されている。比較判定部１４により、試験ファイルには、メッセージが「AAAAA」，「BBBBB」，「CCCCC」，「DDDDD」，「GGGGG」…の順に存在すると判定され（図中実線、太い実線）、これらのメッセージに対応する「Judgment」欄に「○」が格納される。「Judgment」欄の比較結果に基づいて、条件「choice[B1,E1]」については満たすが（図中の太枠）、条件「choice[B2,E2]」については満たさないと判定される。このため、総合判定結果として「×」が出力される。
【００９７】
図１７（ｃ）は、図１２（ａ）と同様に比較結果を示すものである。図１７（ｃ）では、比較条件として、図１７（ｂ）と同様の比較条件が設定されている。比較判定部１４により、試験ファイルには、メッセージが「AAAAA」，「DDDDD」，「EEEEE」，「FFFFF」，「GGGGG」…の順に存在すると判定される（図中実線、太い実線）。そして、メッセージ「BBBBB」，「CCCCC」については該当するメッセージがないため、「Judgment」欄は空白に、その他のメッセージに関しては、対応する「Judgment」欄に「○」が格納される。「Judgment」欄の比較結果に基づいて、条件「choice[B2,E2]」については満たすが（図中の太枠）、条件「choice[B1,E1]」については満たさないと判定される。このため、総合判定結果として「×」が出力される。
【００９８】
図１８（ａ）は、図１２（ａ）と同様に比較結果を示すものである。図１８（ａ）では、比較条件として、メッセージ比較条件０、メッセージ「AAAAA」の次にメッセージ「BBBBB」，「CCCCC」，「DDDDD」，「EEEEE」の順のメッセージ群が存在する（choice[B1,E1]），及びメッセージ「BBBBB」の次にメッセージ「CCCCC」，「DDDDD」，「EEEEE」，「FFFFF」の順のメッセージ群が存在する（choice[B2,E2]）というメッセージ比較条件４が設定されている。比較判定部１４により、試験ファイルには、メッセージが「AAAAA」，「BBBBB」，「CCCCC」，「DDDDD」，「EEEEE」，「GGGGG」…の順に存在すると判定され（図中実線、太い実線）、これらのメッセージに対応する「Judgment」欄に「○」が格納される。「Judgment」欄の比較結果に基づいて、条件「choice[B1,E1]」については満たすが（図中の太枠）、条件「choice[B2,E2]」については満たさないと判定される。このため、総合判定結果として「×」が出力される。
【００９９】
図１８（ｂ）は、図１２（ａ）と同様に比較結果を示すものである。図１８（ｂ）では、比較条件として、図１８（ａ）と同様の比較条件が設定されている。比較判定部１４により、試験ファイルには、メッセージが「AAAAA」，「CCCCC」，「DDDDD」，「EEEEE」，「FFFFF」，「GGGGG」…の順に存在すると判定され（図中実線、太い実線）、これらのメッセージに対応する「Judgment」欄に「○」が格納される。「Judgment」欄の比較結果に基づいて、条件「choice[B2,E2]」については満たすが（図中の太枠）、条件「choice[B1,E1]」については満たさないと判定される。このため、総合判定結果として「×」が出力される。
【０１００】
図１８（ｃ）は、図１２（ａ）と同様に比較結果を示すものである。図１８（ｃ）では、比較条件として、メッセージ比較条件０、メッセージ「AAAAA」の次にメッセージ「BBBBB」，「CCCCC」，「DDDDD」，「EEEEE」，「FFFFF」の順のメッセージ群が存在する（choice[B1,E1]），及びメッセージ「BBBBB」の次にメッセージ「CCCCC」，「DDDDD」，「EEEEE」の順のメッセージ群が存在する（choice[B2,E2]）というメッセージ比較条件４が設定されている。比較判定部１４により、試験ファイルには、メッセージが「AAAAA」，「BBBBB」，「CCCCC」，「DDDDD」，「EEEEE」，「FFFFF」，「GGGGG」…の順に存在すると判定され（図中実線、太い実線）、これらのメッセージに対応する「Judgment」欄に「○」が格納され、メッセージ比較条件０，４を満たすと判定される（図中の太枠）。このため、総合判定結果として「○」が出力される。
【０１０１】
図１９は、図１２（ａ）と同様に比較結果を示すものである。図１９では、比較条件として、図１８（ｃ）と同様の比較条件が設定されている。比較判定部１４により、試験ファイルには、メッセージが「AAAAA」，「CCCCC」，「DDDDD」，「EEEEE」…の順に存在すると判定され（図中実線、太い実線）、これらのメッセージに対応する「Judgment」欄に「○」が格納される。「Judgment」欄の比較結果に基づいて、条件「choice[B2,E2]」については満たすが（図中の太枠）、条件「choice[B1,E1]」については満たさないと判定される。このため、総合判定結果として「×」が出力される。
【０１０２】
図２０（ａ）は、図１２（ａ）と同様に比較結果を示すものである。図２０（ａ）では、比較条件として、メッセージ比較条件０と、メッセージ「YYYYY」がメッセージ「BBBBB」からメッセージ「EEEEE」の間に０個存在すること（*YYYYY(<1)[2;5]）というメッセージ比較条件５が設定されている。比較判定部１４により、試験ファイルには、メッセージが「AAAAA」，「BBBBB」，「CCCCC」，「DDDDD」，「EEEEE」…の順に存在すると判定され（図中実線、太い実線）、これらのメッセージに対応する「Judgment」欄に「○」が格納され、メッセージ比較条件０，５を満たすと判定される（図中実線、図中の太枠）。このため、総合判定結果として「○」が出力される。
【０１０３】
図２０（ｂ）は、図１２（ａ）と同様に比較結果を示すものである。図２０（ｂ）では、比較条件として、メッセージ比較条件０と、メッセージ「YYYYY」がメッセージ「BBBBB」からメッセージ「EEEEE」の間に１個以上存在すること（*YYYYY(>0)[2;5]）というメッセージ比較条件５が設定されている。比較判定部１４により、試験ファイルには、メッセージが「AAAAA」，「BBBBB」，「CCCCC」，「DDDDD」，「EEEEE」…の順に存在すると判定され（図中実線）、これらのメッセージに対応する「Judgment」欄に比較結果として「○」が格納される。しかしながら、メッセージ比較条件５を満たさないため（図中の太枠）、これらのメッセージに対応する「Judgment」欄に判定結果「×」が格納される。このため、総合判定結果として「×」が出力される。
【０１０４】
図２０（ｃ）は、図１２（ａ）と同様に比較結果を示すものである。図２０（ｃ）では、比較条件として、メッセージ比較条件０と、メッセージ「YYYYY」がメッセージ「BBBBB」からメッセージ「EEEEE」の間に３〜５個存在すること（*YYYYY(>2,<6)[2;5]）というメッセージ比較条件５が設定されている。比較判定部１４により、試験ファイルには、メッセージが「AAAAA」，「BBBBB」，「YYYYY」，「CCCCC」，「YYYYY」，「YYYYY」，「DDDDD」，「EEEEE」…の順に存在すると判定され（図中実線）、メッセージ「YYYYY」に対応する「Judgment」欄にカウント値が設定され、その他のメッセージに対応する「Judgment」欄に比較結果として「○」が格納される。そして、「Judgment」欄に基づいて、メッセージ比較条件０，５を満たすと判定され（図中の太枠）、総合判定結果として「○」が出力される。
【０１０５】
図２１（ａ）は、左の表に、比較条件が設定された基準ファイル、右の表に比較対象の試験ファイル及び比較判定結果を示している。左の表では、図１１（ｂ）に示す形式で、メッセージ「AAAAA」の第２階層に情報要素「aaa」，「bbb」，「eee」が存在し、情報要素「bbb」の第３階層に情報要素「xxx」，「yyy」、情報要素「eee」の第３階層に情報要素「zzz」が存在する基準ファイルにおいて、メッセージ「AAAAA」の第２階層に情報要素「aaa」が存在する（exist）という情報要素条件２、情報要素「bbb」の第３階層に情報要素「xxx」が存在しない（not exist）という情報要素条件１，情報要素「yyy」が２つ存在する（*2）という情報要素条件３、情報要素「eee」の第３階層に情報要素「zzz」が２つ存在する（*2）という情報要素条件３が設定されている。一方、右の表では、比較対象である試験ファイルの第１〜３階層のメッセージが格納された「Message」欄と、「Message」欄に対応する「Judgment」欄に比較結果を示している。なお、「Judgment」欄には、必要に応じて個々の判定結果を示す場合もある。比較判定部１４により、基準ファイルのメッセージが試験ファイルのメッセージに含まれるか一行目の「AAAAA」から順に一行ごとにメッセージが比較され、メッセージの一致不一致が判定され、同一メッセージの下の階層について情報要素の一致不一致が判定される。結果、試験ファイルには、メッセージ「AAAAA」の第２階層に情報要素「aaa」、情報要素「bbb」の第３階層に情報要素「xxx」，「yyy」，「yyy」、情報要素「eee」の第３階層に情報要素「zzz」が存在すると判定される（図中実線）。このため、メッセージ「AAAAA」の第２階層に情報要素「aaa」が存在する（exist）という情報要素条件２、及び情報要素「bbb」の第３階層に情報要素「yyy」が２つ存在する（*2）という情報要素条件３は満たすと判断され、これらの情報要素に対応する「Judgment」欄に判定結果として「○」が格納される。一方、情報要素「bbb」の第３階層に情報要素「xxx」が存在しない（not exist）という情報要素条件１、及び情報要素「eee」の第３階層に情報要素「zzz」が２つ存在する（*2）という情報要素条件３は満たさないと判断され、これらの情報要素に対応する「Judgment」欄に判定結果として「×」が格納される。なお、条件式が設定されていない情報要素については、単なるパスの情報として取り扱われるため比較対象とならず（図中点線）、「Judgment」欄に「D/C」が格納される。
【０１０６】
図２１（ｂ）は、図２１（ａ）と同様に比較結果を示すものである。図２１（ｂ）に示す基準ファイルは、図２１（ａ）に示す基準ファイルとメッセージ及び情報要素が同一であり、条件式のみが相違している。図２１（ｂ）では、比較条件として、メッセージ「AAAAA」の第２階層に情報要素「aaa」が存在し、かつその値が「1」であること（［=1］）という値条件１、情報要素「bbb」の第３階層に値が「2」となる情報要素「xxx」が存在しないという値条件２，情報要素「bbb」の第３階層に値が「1〜5」の範囲となる情報要素「yyy」が存在するという値条件３、情報要素「eee」の第３階層に値が「1」，［2］，［3］の情報要素「zzz」が順に存在する（［1,2,3］）という値条件４が設定されている。比較判定部１４により、試験ファイルには、メッセージ「AAAAA」の第２階層に値「1」の情報要素「aaa」、情報要素「bbb」の第３階層に値「1」の情報要素「xxx」、値「3」の情報要素「yyy」、情報要素「eee」の第３階層に値「2」，「3」，「1」の情報要素「zzz」が順に存在すると判定される（図中実線）。このため、メッセージ「AAAAA」の第２階層に情報要素「aaa」が存在し、かつその値が「1」であること（［=1］）という値条件１、情報要素「bbb」の第３階層に値が「2」となる情報要素「xxx」が存在しないという値条件２、情報要素「bbb」の第３階層に値が「1〜5」の範囲となる情報要素「yyy」が存在するという値条件３は満たすと判断され、これらの情報要素に対応する「Judgment」欄に判定結果として「○」が格納される。一方、情報要素「eee」の第３階層に値が「1」，［2］，［3］の情報要素「zzz」が順に存在する（［1,2,3］）という値条件４は満たさないと判断され、これらの情報要素に対応する「Judgment」欄に判定結果として「×」が格納される。なお、条件式が設定されていない情報要素については、単なるパスの情報として取り扱われるため比較対象とならず（図中点線）、「Judgment」欄に「D/C」が格納される。
【０１０７】
図２１（ｃ）は、図２１（ａ）と同様に比較結果を示すものである。図２１（ｃ）に示す基準ファイルは、図２１（ａ）に示す基準ファイルとメッセージ及び情報要素が同一であり、条件式のみが相違している。図２１（ｃ）では、比較条件として、メッセージ「AAAAA」の第２階層に情報要素「aaa」が存在し、かつその値が「2」未満であること（［<2］）という値条件５、情報要素「bbb」の第３階層に値が「2」よりも大きい情報要素「xxx」が存在するという値条件６，情報要素「bbb」の第３階層に値が「2」以下となる情報要素「yyy」が存在するという値条件７、情報要素「eee」の第３階層に値が「2」以上となる情報要素「zzz」が存在するという値条件８が設定されている。比較判定部１４により、試験ファイルには、メッセージ「AAAAA」の第２階層に値「1」の情報要素「aaa」、情報要素「bbb」の第３階層に値「3」の情報要素「xxx」，値「1」の情報要素「yyy」、情報要素「eee」の第３階層に値「1」の情報要素「zzz」が存在すると判定される（図中実線）。このため、メッセージ「AAAAA」の第２階層に情報要素「aaa」が存在し、かつその値が「2」未満であること（［<2］）という値条件５、情報要素「bbb」の第３階層に値が「2」よりも大きい情報要素「xxx」が存在するという値条件６，情報要素「bbb」の第３階層に値が「2」以下となる情報要素「yyy」が存在するという値条件７は満たすと判断され、これらの情報要素に対応する「Judgment」欄に判定結果として「○」が格納される。一方、情報要素「eee」の第３階層に値が「2」以上となる情報要素「zzz」が存在するという値条件８は満たさないと判断され、これらの情報要素に対応する「Judgment」欄に判定結果として「×」が格納される。なお、条件式が設定されていない情報要素については、単なるパスの情報として取り扱われるため比較対象とならず（図中点線）、「Judgment」欄に「D/C」が格納される。
【０１０８】
次に、図２１（ａ）〜（ｃ）で説明した情報要素が複数の値を持つ場合における判定結果を図２２に示す。図２２では、左列から順に基準ファイルの設定条件及び行判定結果、試験ファイルの出力結果及び行判定結果、総合判定結果を、番号（行）ごとに示している。総合判定結果は、「And」，「Or」，「All」に区分分けして表示されている。総合判定結果「And」は、試験ファイルの該当する全ての情報要素が、基準ファイルで指定した条件を満たす場合に、「○」が格納される。総合判定結果「Or」は、試験ファイルの該当する情報要素の少なくとも１つが、基準ファイルで指定した条件を満たす場合に、「○」が格納される。総合判定結果「All」は、試験ファイルの情報要素に関わらず、基準ファイルで指定した条件が全て満たされる場合に、「○」が格納される。すなわち、総合判定結果「And」は、試験ファイルの情報要素の行判定結果が全て「○」であれば「○」となり、試験ファイルの情報要素の行判定結果に「×」が１つでも存在すれば「×」となる。また、総合判定結果「Or」は、試験ファイルの情報要素の行判定結果に少なくとも「○」が１つあれば「○」となり、試験ファイルの情報要素の行判定結果が全て「×」の場合のみ「×」となる。また、総合判定結果「Or」は、基準ファイルの行判定結果が全て「○」であれば「○」となり、基準ファイルの行判定結果に「×」が一つでも存在すれば「×」となる。
【０１０９】
「No.1」では、基準ファイルの情報要素「aaa」に対して「=100」，「=200」という条件式が設定されており、試験ファイルの情報要素の出力結果は「aaa 100」であることを示している。この場合、基準ファイルの条件「=100」は満たすため、「行判定」欄に「○」が格納され、基準ファイルの条件「=200」は満たさないため、「行判定」欄に「×」が格納される。一方、試験ファイルの出力結果「aaa 100」は、条件「=100」を満たすため、「行判定」欄に「○」が格納される。総合判定「And」，「Or」欄については、試験ファイルの「行判定」欄に基づいて、「○」が格納される。一方、総合判定「All」欄については、基準ファイルの「行判定」欄に基づいて、「×」が格納される。
【０１１０】
「No.2」では、基準ファイルの情報要素「aaa」に対して「!=0」という条件式が設定されており、試験ファイルの情報要素の出力結果は「aaa 100」，「aaa 200」であることを示している。この場合、基準ファイルの条件「!=0」は満たすため、「行判定」欄に「○」が格納される。一方、試験ファイルの出力結果「aaa 100」，「aaa 200」は、条件「!=0」を満たすため、「行判定」欄に「○」が格納される。総合判定「And」，「Or」欄については、試験ファイルの「行判定」欄に基づいて、「○」が格納される。一方、総合判定「All」欄については、基準ファイルの「行判定」欄に基づいて、「○」が格納される。
【０１１１】
「No.3」では、基準ファイルの情報要素「aaa」に対して「>100」という条件式が設定されており、試験ファイルの情報要素の出力結果は「aaa 100」，「aaa 200」であることを示している。この場合、基準ファイルの条件「>100」は、「aaa 200」が満たすため、「行判定」欄に「○」が格納される。一方、試験ファイルの出力結果「aaa 100」は、条件「>100」を満たさないため、「行判定」欄に「×」が格納され、試験ファイルの出力結果「aaa 200」は、条件「>100」を満たすため、「行判定」欄に「○」が格納される。総合判定「And」，「Or」欄については、試験ファイルの「行判定」欄に基づいて、「×」，「○」がそれぞれ格納される。一方、総合判定「All」欄については、基準ファイルの「行判定」欄に基づいて、「○」が格納される。
【０１１２】
「No.4」では、基準ファイルの情報要素「aaa」に対して「<=300」という条件式が設定されており、試験ファイルの情報要素の出力結果は「aaa 400」であることを示している。この場合、基準ファイルの条件「<=300」は、「aaa 400」が満たさないため、「行判定」欄に「×」が格納される。一方、試験ファイルの出力結果「aaa 400」は、条件「<=300」を満たさないため、「行判定」欄に「×」が格納される。総合判定「And」，「Or」欄については、試験ファイルの「行判定」欄に基づいて、「×」が格納される。一方、総合判定「All」欄については、基準ファイルの「行判定」欄に基づいて、「×」が格納される。
【０１１３】
「No.5」では、基準ファイルの情報要素「aaa」に対して「100,300」という条件式が設定されており、試験ファイルの情報要素の出力結果は「aaa 100」，「aaa 200」，「aaa 300」であることを示している。この場合、基準ファイルの条件「100,300」は、「aaa 100」，「aaa 300」が満たすため、「行判定」欄に「○」が格納される。一方、試験ファイルの出力結果「aaa 100」，「aaa 300」は、条件「100,300」を満たすため、「行判定」欄に「○」が格納され、試験ファイルの出力結果「aaa 200」は、条件「100,300」を満たさないため、「行判定」欄に「×」が格納される。総合判定「And」，「Or」欄については、試験ファイルの「行判定」欄に基づいて、「×」，「○」がそれぞれ格納される。一方、総合判定「All」欄については、基準ファイルの「行判定」欄に基づいて、「○」が格納される。
【０１１４】
「No.6」では、基準ファイルの情報要素「aaa」に対して「100,300」という条件式が設定されており、試験ファイルの情報要素の出力結果は「aaa 300」，「aaa 200」，「aaa 100」であることを示している。この場合、基準ファイルの条件「100,300」は、試験ファイルの情報要素が順番を満たしていないため、「行判定」欄に「×」が格納される。一方、試験ファイルの出力結果は、条件「100,300」を満たさないため、「行判定」欄に「×」が格納される。総合判定「And」，「Or」欄については、試験ファイルの「行判定」欄に基づいて、「×」が格納される。一方、総合判定「All」欄については、基準ファイルの「行判定」欄に基づいて、「×」が格納される。
【０１１５】
「No.7」では、基準ファイルの情報要素「aaa」に対して「=100」，「=300」という条件式が設定されており、試験ファイルの情報要素の出力結果は「aaa 300」，「aaa 200」，「aaa 100」であることを示している。この場合、試験ファイルの情報要素の順番は考慮しなくてもよいので、基準ファイルの条件「=100」，「=300」は満たしていると判定され、「行判定」欄に「○」が格納される。一方、試験ファイルの出力結果「aaa 300」，「aaa 100」は、条件「=100」，「=300」を満たすため、「行判定」欄に「○」が格納され、試験ファイルの出力結果「aaa 200」は、条件「=100」，「=300」を満たさないため、「行判定」欄に「×」が格納される。総合判定「And」，「Or」欄については、試験ファイルの「行判定」欄に基づいて、「×」，「○」がそれぞれ格納される。一方、総合判定「All」欄については、基準ファイルの「行判定」欄に基づいて、「○」が格納される。
【０１１６】
「No.8」では、基準ファイルの情報要素「aaa」に対して「9,1」という条件式が設定されており、試験ファイルの情報要素の出力結果は「9」，「0」，「1」であることを示している。なお、カンマ指定の場合には、条件指定した値との比較は１回のみ行われ、２回目以降はＮＧと判断される。電話番号等、同じ値を複数判定する必要が有る場合には、複数指定した条件が必要となる。「No.8」の場合、基準ファイルの条件「9,1」は満たしているため、「行判定」欄に「○」が格納される。一方、試験ファイルの出力結果「9」，「1」は、条件「9,1」を満たすため、「行判定」欄に「○」が格納され、試験ファイルの出力結果「0」は、条件「9,1」を満たさないため、「行判定」欄に「×」が格納される。総合判定「And」，「Or」欄については、試験ファイルの「行判定」欄に基づいて、「×」，「○」がそれぞれ格納される。一方、総合判定「All」欄については、基準ファイルの「行判定」欄に基づいて、「○」が格納される。
【０１１７】
「No.9」では、基準ファイルの情報要素「aaa」に対して「9,0,1」という条件式が設定されており、試験ファイルの情報要素の出力結果は「9」，「0」，「1」であることを示している。この場合、基準ファイルの条件「9,0,1」は満たしているため、「行判定」欄に「○」が格納される。一方、試験ファイルの出力結果「9」，「0」，「1」は、条件「9,0,1」を満たすため、「行判定」欄に「○」が格納される。総合判定「And」，「Or」欄については、試験ファイルの「行判定」欄に基づいて、「○」が格納される。一方、総合判定「All」欄については、基準ファイルの「行判定」欄に基づいて、「○」が格納される。
【０１１８】
次に、コンピュータを上記メッセージ比較判定装置２として機能させるためのメッセージ比較判定プログラムを説明する。なお、本実施形態のメッセージ比較判定プログラムは、第１実施形態に係るメッセージ比較判定プログラムとほぼ同様であり、比較条件設定インターフェイスモジュール及び比較条件設定モジュールを備える点、及び、比較判定モジュールの一部動作が相違する。なお、比較条件設定インターフェイスモジュール、比較条件設定モジュール、及び、比較判定モジュールを実行させることにより実現される機能は、上述した比較条件設定インターフェイス部１２、比較条件設定部１３及び、比較判定部１４の機能とそれぞれ同様である。
【０１１９】
以上、第２実施形態に係るメッセージ比較判定装置２、メッセージ比較判定プログラム及びその方法では、第１実施形態と同様の構成を有するため、第１実施形態に係るメッセージ比較判定装置１、メッセージ比較判定プログラム及びその方法と同一の作用効果を奏する。
【０１２０】
また、第２実施形態に係るメッセージ比較判定装置２、メッセージ比較判定プログラム及びその方法では、ファイルを入力するより前に、比較条件設定インターフェイス部１２（比較条件設定インターフェイスモジュール）及び比較条件設定部１３（比較条件設定モジュール）により、メッセージ、情報要素又は情報要素の値の少なくとも１つの項目に対して、有無、数、順序、値、又は範囲内外の条件のうち少なくとも１つが設定された比較条件が設定され、比較判定部１４（比較判定モジュール）により、メッセージ同士及び情報要素同士が一致するか否かの判定結果に基づいて、設定された比較条件を満たしているか否かが判定される。このため、信号ファイルの検証のための基準ファイルと、試験対象の試験対象ファイルとを比較する際に、階層化されたメッセージ同士を比較することができるとともに、メッセージ、情報要素又は情報要素の値の少なくとも１つの項目に対して、有無、数、順序、値、又は範囲内外の条件のうち少なくとも１つが設定された比較条件を用いて、決め細やかな判定処理を行うことが可能となるので、信号ファイル同士のメッセージ内容の差異を効率的に検証することが可能となる。また、例えば、IMT−２０００方式において、携帯端末等の移動機と、試験用擬似基地局等のネットワークとの通信プロトコル信号の解析に利用した場合、試験を行う移動機と、試験手順書等の基準となる情報を設定した信号ファイルとを比較による判定試験を行う際に、様々な条件を基準となる信号ファイルに設定することが可能となる。
【０１２１】
以上、本発明の好適な実施形態について説明したが、本発明は上述した実施形態に限定されないことは言うまでもない。
【０１２２】
例えば、上述した第１実施形態では、信号ファイルが階層化されている例を示したが、階層化されていない信号ファイルに対して行ってもよい。
【０１２３】
また、上述した第２実施形態では、作成された基準ファイルに対して比較条件を設定する例を説明したが、比較条件設定部１３が、比較条件設定インターフェイス部１２により設定された比較条件に基づいて、基準ファイルを作成する機能を有していてもよい。
【符号の説明】
【０１２４】
１、２…メッセージ比較判定装置、１０…ファイル入力部、１１…演算処理部、１１ａ…符号化判定部、１１ｂ…関連性判定部、１１ｃ…結合部、１１ｄ…デコード処理部、１１ｅ…記録部、１２…比較条件設定インターフェイス部、１３…比較条件設定部、１４…比較判定部、１５…表示部。
【図１】
0005396174.tif 000002
【図２】
0005396174.tif 000003
【図３】
0005396174.tif 000004
【図４】
0005396174.tif 000005
【図５】
0005396174.tif 000006
【図６】
0005396174.tif 000007
【図７】
0005396174.tif 000008
【図８】
0005396174.tif 000009
【図９】
0005396174.tif 000010
【図１０】
0005396174.tif 000011
【図１１】
0005396174.tif 000012
【図１２】
0005396174.tif 000013
【図１３】
0005396174.tif 000014
【図１４】
0005396174.tif 000015
【図１５】
0005396174.tif 000016
【図１６】
0005396174.tif 000017
【図１７】
0005396174.tif 000018
【図１８】
0005396174.tif 000019
【図１９】
0005396174.tif 000020
【図２０】
0005396174.tif 000021
【図２１】
0005396174.tif 000022
【図２２】
0005396174.tif 000023
【図２３】
0005396174.tif 000024