(57)【要約】【課題】開発者が、通信仕様書に定義されている通信仕様と実際の通信仕様とが一致しているか否かを効率的に判断できるようにする。【解決手段】検証シナリオ実行部１２は、通信仕様書１７に定義されている通信仕様である定義通信仕様に沿って検証対象装置３０との間で通信を行う。検証シナリオ実行部１２は、検証対象装置３０との間の通信の通信ログ１９を生成する。実態通信仕様抽出部１３は、通信ログ１９を解析して、検証対象装置３０との間の通信で生じた通信仕様を実態通信仕様として抽出する。差分抽出部１４は、定義通信仕様と実態通信仕様との差分を抽出する。【選択図】図１
2018121245.tif 000002
【特許請求の範囲】
【請求項１】
通信仕様書に定義されている通信仕様である定義通信仕様に沿って通信先装置との間で通信を行う通信部と、
前記通信部と前記通信先装置との間の通信の通信ログを生成する通信ログ生成部と、
前記通信ログ生成部により生成された通信ログを解析して、前記通信部と前記通信先装置との間の通信で生じた通信仕様を実態通信仕様として抽出する実態通信仕様抽出部と、
前記定義通信仕様と前記実態通信仕様との差分を抽出する差分抽出部とを有する通信装置。
【請求項２】
前記通信装置は、更に、
前記差分抽出部により抽出された前記定義通信仕様と前記実態通信仕様との差分を出力する出力部を有する請求項１に記載の通信装置。
【請求項３】
前記定義通信仕様には、
複数の通信仕様書の間で共通する通信仕様の要素である定義共通仕様要素と、通信仕様書ごとに可変の通信仕様の要素である定義可変仕様要素とが含まれており、
前記通信部は、
前記定義通信仕様に沿って前記通信先装置との間で複数回通信を行い、
前記通信ログ生成部は、
前記通信部と前記通信先装置との間の複数回の通信に対応させて、複数の通信ログを生成し、
前記実態通信仕様抽出部は、
前記複数の通信ログを解析して、複数の実態通信仕様を抽出し、
前記差分抽出部は、
前記定義共通仕様要素と、前記複数の実態通信仕様の間で共通する要素である実態共通仕様要素との差分を抽出し、
前記定義可変仕様要素と、前記複数の実態通信仕様の前記実態共通仕様要素以外の要素との差分を抽出する請求項１に記載の通信装置。
【請求項４】
前記実態通信仕様抽出部は、
前記通信部と前記通信先装置との間の通信で生じた、コマンドの送受信手順、オペランドの数及びオペランドの内容の少なくともいずれかを前記実態通信仕様として抽出する請求項１に記載の通信装置。
【請求項５】
コンピュータである通信装置が、通信仕様書に定義されている通信仕様である定義通信仕様に沿って通信先装置との間で通信を行う通信ステップと、
前記通信装置が、前記通信先装置との間の通信の通信ログを生成する通信ログ生成ステップと、
前記通信装置が、前記通信ログ生成ステップにより生成された通信ログを解析して、前記通信先装置との間の通信で生じた通信仕様を実態通信仕様として抽出する実態通信仕様抽出ステップと、
前記通信装置が、前記定義通信仕様と前記実態通信仕様との差分を抽出する差分抽出ステップとを有する通信仕様差分抽出方法。
【請求項６】
コンピュータである通信装置に、
通信仕様書に定義されている通信仕様である定義通信仕様に沿って通信先装置との間で通信を行う通信ステップと、
前記通信先装置との間の通信の通信ログを生成する通信ログ生成ステップと、
前記通信ログ生成ステップにより生成された通信ログを解析して、前記通信先装置との間の通信で生じた通信仕様を実態通信仕様として抽出する実態通信仕様抽出ステップと、
前記定義通信仕様と前記実態通信仕様との差分を抽出する差分抽出ステップとを実行させる通信仕様差分抽出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信仕様の検証に関する。
【背景技術】
【０００２】
特許文献１には、汎用的な通信装置の動作試験を行うための動作試験装置と動作試験方法とが開示されている。また、特許文献２には、携帯電話のソフトウェアに対する機能試験を自動的に行う試験方法が開示されている。また、特許文献３には、障害原因解析システムに利用される障害原因判定ルールを、過去のイベントログに基づいて生成する方法が開示されている。また、特許文献４には、入力されたプログラムの構造に関する内容を仕様書として生成する方法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２１３２２８号公報
【特許文献２】特開２００３−０９９２８８号公報
【特許文献３】特開２０１１−２０９９０８号公報
【特許文献４】特開２０１０−１７６５５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
複数の装置で構成されるシステムについて、通信シーケンス等の通信仕様の変更が発生するたび、通信仕様書の通信仕様記述を都度最新の状態に更新する必要がある。その際に更新を怠ってしまうと、仕様書定義と実際の通信仕様の内容が乖離し、当該通信仕様書の内容を後の開発で参照できなくなってしまう。一度乖離した通信仕様を、机上検討で最新の状態まで追従させるには大量の工数を要する。また、意図しない仕様変更を机上検討のみで導出することは困難である。
特許文献１の技術は、仕様書データから試験シナリオを作成し自動試験を実行することができるが、通信仕様の抽出及び検証を行うことはできない。
特許文献２の技術は、仕様書データから試験シナリオを作成することにより、携帯電話のソフトウェアに対して機能面まで踏み込んだ自動試験を実行することができるが、通信仕様の抽出及び検証を行うことはできない。
特許文献３の技術は、サーバが出力した警告イベントから障害発生時の警告イベント発生ルールを抽出することができるが、通信仕様の抽出及び検証を行うことはできない。
特許文献４の技術は、シンボル及びコメントの違いといったプログラム構造を相違点として抽出することができるが、通信シーケンスといったプログラム動作の相違点を抽出することはできない。また、特定の通信を発生させる機構を持っていない。
【０００５】
以上のように、従来の技術では、開発者は、通信仕様書に定義されている通信仕様と実際の通信仕様とが一致しているか否かを効率的に判断することができないという課題がある。
【０００６】
本発明は、このような課題を解決することを主な目的とする。より具体的には、本発明は、開発者が、通信仕様書に定義されている通信仕様と実際の通信仕様とが一致しているか否かを効率的に判断できるようにすることを主な目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る通信装置は、
通信仕様書に定義されている通信仕様である定義通信仕様に沿って通信先装置との間で通信を行う通信部と、
前記通信部と前記通信先装置との間の通信の通信ログを生成する通信ログ生成部と、
前記通信ログ生成部により生成された通信ログを解析して、前記通信部と前記通信先装置との間の通信で生じた通信仕様を実態通信仕様として抽出する実態通信仕様抽出部と、
前記定義通信仕様と前記実態通信仕様との差分を抽出する差分抽出部とを有する。
【発明の効果】
【０００８】
本発明では、定義通信仕様に沿って通信先装置との間で通信を行い、通信先装置との間の通信で生じた通信仕様を実態通信仕様として抽出する。そして、定義通信仕様と実態通信仕様との差分を抽出する。このため、本発明によれば、開発者は、抽出された差分を解析することで、通信仕様書に定義されている通信仕様と実際の通信仕様とが一致しているか否かを効率的に判断することができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１に係る通信仕様検証装置の機能構成例を示す図。
【図２】実施の形態１に係る通信仕様検証装置の全体動作を示すフローチャート。
【図３】実施の形態１に係る実態通信仕様抽出処理の詳細処理を示すフローチャート。
【図４】実施の形態１に係る通信仕様検証装置のハードウェア構成例を示す図。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態について、図を用いて説明する。以下の実施の形態の説明及び図面において、同一の符号を付したものは、同一の部分または相当する部分を示す。
【００１１】
実施の形態１．
＊＊＊構成の説明＊＊＊
図１は、本実施の形態に係る通信仕様検証装置１０の機能構成例を示す。また、図４は、本実施の形態に係る通信仕様検証装置１０のハードウェア構成例を示す。
図１に示すように、通信仕様検証装置１０は、検証対象装置３０と接続されており、検証対象装置３０と通信を行う。検証対象装置３０は複数存在するものとする。
通信仕様検証装置１０は、通信装置に相当する。検証対象装置３０は、通信先装置に相当する。また、通信仕様検証装置１０で行われる動作は、通信仕様差分抽出方法及び通信仕様差分抽出プログラムに相当する。
【００１２】
先ず、図４を参照して、通信仕様検証装置１０のハードウェア構成を説明する。
【００１３】
通信仕様検証装置１０は、コンピュータである。
通信仕様検証装置１０は、ハードウェアとして、プロセッサ９０１、記憶装置９０２、通信インタフェース９０３及び入出力インタフェース９０４を備える。
記憶装置９０２には、図１に示す検証シナリオ生成部１１、検証シナリオ実行部１２、実態通信仕様抽出部１３、差分抽出部１４及び出力部１５の機能を実現するプログラムが記憶されている。
そして、プロセッサ９０１がこれらプログラムを実行して、後述する検証シナリオ生成部１１、検証シナリオ実行部１２、実態通信仕様抽出部１３、差分抽出部１４及び出力部１５の動作を行う。
図１では、プロセッサ９０１が検証シナリオ生成部１１、検証シナリオ実行部１２、実態通信仕様抽出部１３、差分抽出部１４及び出力部１５の機能を実現するプログラムを実行している状態を模式的に表している。
また、記憶装置９０２は、図１に示す通信仕様書１７、検証シナリオ１８、通信ログ１９、実態通信仕様２０、通信仕様差分２１を記憶する。
通信インタフェース９０３は、検証対象装置３０と通信を行う際に用いられる。
入出力インタフェース９０４は、通信仕様検証装置１０のユーザ（開発者）からの指示を入力し、また、ユーザに各種情報を提示する。
【００１４】
次に、図１を参照して、通信仕様検証装置１０の機能構成を説明する。
【００１５】
検証シナリオ生成部１１は、通信仕様書１７から検証シナリオ１８を生成する。通信仕様書１７は、通信仕様が定義されているデータである。通信仕様書１７は、例えば、ＵＭＬ（Ｕｎｉｆｉｅｄ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ）データである。通信仕様書１７に定義されている通信仕様を定義通信仕様という。検証シナリオ１８は、定義通信仕様から展開された、実際に検証対象装置３０と通信を行うために必要な手順が記述されたデータである。検証シナリオ１８には、例えば、定義通信仕様に対応したコマンドシーケンスが記述される。
【００１６】
検証シナリオ実行部１２は、検証シナリオ１８に従って、検証対象装置３０との間で通信を行う。換言すると、検証シナリオ実行部１２は、定義通信仕様に沿って検証対象装置３０との間で通信を行う。
また、検証シナリオ実行部１２は、検証対象装置３０との間の通信の通信ログ１９を生成する。
検証シナリオ実行部１２は、通信部及び通信ログ生成部に相当する。また、検証シナリオ実行部１２で行われる処理は、通信ステップ及び通信ログ生成ステップに相当する。
【００１７】
実態通信仕様抽出部１３は、通信ログ１９を解析して、検証対象装置３０との間の通信で生じた通信仕様を実態通信仕様として抽出する。そして、実態通信仕様抽出部１３は、抽出した実態通信仕様が記述される実態通信仕様２０を生成する。なお、実態通信仕様２０は、例えば、通信仕様書１７と同様に、ＵＭＬデータである。実態通信仕様は、検証対象装置３０との通信で用いられたコマンドの送受信手順（通信シーケンス）、オペランドの数及びオペランドの内容等で構成される。
実態通信仕様抽出部１３で行われる処理は、実態通信仕様抽出ステップに相当する。
【００１８】
差分抽出部１４は、通信仕様書１７で定義されている定義通信仕様と、実態通信仕様２０に記述されている実態通信仕様との差分を抽出する。そして、差分抽出部１４は、抽出した差分が示される通信仕様差分２１を生成する。
差分抽出部１４で行われる処理は、差分抽出ステップに相当する。
【００１９】
出力部１５は、通信仕様差分２１を入出力インタフェース９０４を介して出力する。つまり、出力部１５は、定義通信仕様と実態通信仕様との差分を出力する。
出力部１５が通信仕様差分２１を出力することにより、通信仕様検証装置１０のユーザ（開発者）が通信仕様差分２１を解析して、通信仕様書に定義されている定義通信仕様と実際の通信により得られた実態通信仕様とが一致しているか否かを効率的に判断することができる。
【００２０】
＊＊＊動作の説明＊＊＊
次に、図３を用いて、通信仕様検証装置１０の動作例を説明する。
【００２１】
先ず、ステップＳ１０１において、検証シナリオ生成部１１が、通信仕様書１７から、検証シナリオ１８を生成する。
次に、ステップＳ１０２において、検証シナリオ実行部１２が、検証シナリオ１８に記載されている内容（例えば、コマンドシーケンス）を解釈する。そして、検証シナリオ実行部１２は、解釈結果に基づき、検証対象装置３０と通信を行う。
並行して、検証シナリオ実行部１２は、ステップＳ１０３において、通信ログを生成する。
検証シナリオ実行部１２は、ステップＳ１０２及びステップＳ１０３を指定された回数実行する。具体的には、検証シナリオ実行部１２は、検証シナリオ１８に従って複数の検証対象装置３０と通信を行い、複数の検証対象装置３０との通信に対応させて、複数の通信ログ１９を生成する。
ステップＳ１０２及びステップＳ１０３が指定回数実行されると（ステップＳ１０４でＹＥＳ）、ステップＳ１０５において、実態通信仕様抽出部１３が、通信ログ１９を解析し、通信ログ１９から実態通信仕様を抽出する。
【００２２】
ここで、図４を用いて、実態通信仕様抽出処理（ステップＳ１０５）の詳細を説明する。
【００２３】
ステップＳ２０１において、実態通信仕様抽出部１３は、ステップＳ１０３で生成された通信ログ１９から、各回の通信で得られた通信シーケンスを抽出する。
次に、ステップＳ２０２において、実態通信仕様抽出部１３は、ステップＳ２０１で抽出された通信シーケンス（コマンド送受信手順）の中から、各回の通信で共通に実行さている通信シーケンスを実態共通通信シーケンスとして抽出する。実態共通通信シーケンスは、複数の実態通信仕様の間で共通する要素であり、実態共通仕様要素に相当する。
次に、ステップＳ２０３において、各回の通信に固有の通信シーケンスを実態可変通信シーケンスとして抽出する。
実態通信仕様には、実態共通通信シーケンスと実態可変通信シーケンスが含まれる。
【００２４】
図２に戻り、ステップＳ１０６において、差分抽出部１４が、定義通信仕様と実態通信仕様との差分を抽出する。そして、差分抽出部１４は、抽出した差分が示される通信仕様差分２１を生成する。
通信仕様書１７には、複数の通信仕様書１７で共通する通信シーケンスである定義共通通信シーケンスと、通信仕様書１７ごとに固有の通信シーケンスである定義可変通信シーケンスが含まれている。なお、定義共通通信シーケンスは、定義共通仕様要素に相当し、定義可変通信シーケンスは、定義可変仕様要素に相当する。
差分抽出部１４は、定義可変通信シーケンスと実態共通通信シーケンスとを比較して差分をとる。また、差分抽出部１４は、定義可変通信シーケンスと実態可変通信シーケンスとを比較して差分をとる。
そして、出力部１５が、入出力インタフェース９０４を介して、通信仕様差分２１をユーザに提示する。通信仕様差分２１の提示は、画面表示、レポート出力など提示形式は問わない。
【００２５】
＊＊＊実施の形態の効果の説明＊＊＊
以上のように、本実施の形態では、通信仕様検証装置１０は、定義通信仕様に沿って検証対象装置３０との間で通信を行い、検証対象装置３０との間の通信で生じた通信仕様を実態通信仕様として抽出する。そして、通信仕様検証装置１０は、定義通信仕様と実態通信仕様との差分を抽出する。このため、本実施の形態によれば、開発者は、抽出された差分を解析することで、通信仕様書に定義されている通信仕様と実際の通信仕様とが一致しているか、乖離しているかを効率的に判断することができる。
また、開発者は、通信仕様書に定義されている通信仕様と実際の通信仕様との乖離箇所を即座に確認できるため、通信仕様書の修正を容易に行うことができる。
【００２６】
＊＊＊ハードウェア構成の説明＊＊＊
最後に、通信仕様検証装置１０のハードウェア構成の補足説明を行う。
図４に示すプロセッサ９０１は、プロセッシングを行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である。
プロセッサ９０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）等である。
図４に示す記憶装置９０２は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等である。
図４に示す通信インタフェース９０３は、データを受信するレシーバー及びデータを送信するトランスミッターを含む。
通信インタフェース９０３は、例えば、通信チップ又はＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）である。
入出力インタフェース９０４は、例えば、マウス、キーボード、ディスプレイ装置である。
【００２７】
また、記憶装置９０２には、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）も記憶されている。
そして、ＯＳの少なくとも一部がプロセッサ９０１により実行される。
プロセッサ９０１はＯＳの少なくとも一部を実行しながら、検証シナリオ生成部１１、検証シナリオ実行部１２、実態通信仕様抽出部１３、差分抽出部１４及び出力部１５の機能を実現するプログラムを実行する。
プロセッサ９０１がＯＳを実行することで、タスク管理、メモリ管理、ファイル管理、通信制御等が行われる。
また、検証シナリオ生成部１１、検証シナリオ実行部１２、実態通信仕様抽出部１３、差分抽出部１４及び出力部１５の処理の結果を示す情報、データ、信号値及び変数値の少なくともいずれかが、記憶装置９０２、プロセッサ９０１内のレジスタ及びキャッシュメモリの少なくともいずれかに記憶される。
また、検証シナリオ生成部１１、検証シナリオ実行部１２、実態通信仕様抽出部１３、差分抽出部１４及び出力部１５の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤ等の可搬記憶媒体に記憶されてもよい。
【００２８】
また、検証シナリオ生成部１１、検証シナリオ実行部１２、実態通信仕様抽出部１３、差分抽出部１４及び出力部１５の「部」を、「回路」又は「工程」又は「手順」又は「処理」に読み替えてもよい。
また、通信仕様検証装置１０は、ロジックＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＧＡ（Ｇａｔｅ  Ａｒｒａｙ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）といった電子回路により実現されてもよい。
この場合は、検証シナリオ生成部１１、検証シナリオ実行部１２、実態通信仕様抽出部１３、差分抽出部１４及び出力部１５は、それぞれ電子回路の一部として実現される。
なお、プロセッサ及び上記の電子回路を総称してプロセッシングサーキットリーともいう。
【符号の説明】
【００２９】
１０  通信仕様検証装置、１１  検証シナリオ生成部、１２  検証シナリオ実行部、１３  実態通信仕様抽出部、１４  差分抽出部、１５  出力部、１７  通信仕様書、１８  検証シナリオ、１９  通信ログ、２０  実態通信仕様、２１  通信仕様差分、３０  検証対象装置、９０１  プロセッサ、９０２  記憶装置、９０３  通信インタフェース、９０４  入出力インタフェース。
【図１】
2018121245.tif 000003
【図２】
2018121245.tif 000004
【図３】
2018121245.tif 000005
【図４】
2018121245.tif 000006