JP2018121245A - 通信装置、通信仕様差分抽出方法及び通信仕様差分抽出プログラム - Google Patents

通信装置、通信仕様差分抽出方法及び通信仕様差分抽出プログラム Download PDF

Info

Publication number
JP2018121245A
JP2018121245A JP2017012254A JP2017012254A JP2018121245A JP 2018121245 A JP2018121245 A JP 2018121245A JP 2017012254 A JP2017012254 A JP 2017012254A JP 2017012254 A JP2017012254 A JP 2017012254A JP 2018121245 A JP2018121245 A JP 2018121245A
Authority
JP
Japan
Prior art keywords
communication
actual
definition
communication specification
difference
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017012254A
Other languages
English (en)
Other versions
JP6818568B2 (ja
Inventor
弘毅 伊藤
Koki Ito
弘毅 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2017012254A priority Critical patent/JP6818568B2/ja
Publication of JP2018121245A publication Critical patent/JP2018121245A/ja
Application granted granted Critical
Publication of JP6818568B2 publication Critical patent/JP6818568B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Telephone Function (AREA)

Abstract

【課題】開発者が、通信仕様書に定義されている通信仕様と実際の通信仕様とが一致しているか否かを効率的に判断できるようにする。【解決手段】検証シナリオ実行部12は、通信仕様書17に定義されている通信仕様である定義通信仕様に沿って検証対象装置30との間で通信を行う。検証シナリオ実行部12は、検証対象装置30との間の通信の通信ログ19を生成する。実態通信仕様抽出部13は、通信ログ19を解析して、検証対象装置30との間の通信で生じた通信仕様を実態通信仕様として抽出する。差分抽出部14は、定義通信仕様と実態通信仕様との差分を抽出する。【選択図】図1

Description

本発明は、通信仕様の検証に関する。
特許文献1には、汎用的な通信装置の動作試験を行うための動作試験装置と動作試験方法とが開示されている。また、特許文献2には、携帯電話のソフトウェアに対する機能試験を自動的に行う試験方法が開示されている。また、特許文献3には、障害原因解析システムに利用される障害原因判定ルールを、過去のイベントログに基づいて生成する方法が開示されている。また、特許文献4には、入力されたプログラムの構造に関する内容を仕様書として生成する方法が開示されている。
特開2010−213228号公報 特開2003−099288号公報 特開2011−209908号公報 特開2010−176553号公報
複数の装置で構成されるシステムについて、通信シーケンス等の通信仕様の変更が発生するたび、通信仕様書の通信仕様記述を都度最新の状態に更新する必要がある。その際に更新を怠ってしまうと、仕様書定義と実際の通信仕様の内容が乖離し、当該通信仕様書の内容を後の開発で参照できなくなってしまう。一度乖離した通信仕様を、机上検討で最新の状態まで追従させるには大量の工数を要する。また、意図しない仕様変更を机上検討のみで導出することは困難である。
特許文献1の技術は、仕様書データから試験シナリオを作成し自動試験を実行することができるが、通信仕様の抽出及び検証を行うことはできない。
特許文献2の技術は、仕様書データから試験シナリオを作成することにより、携帯電話のソフトウェアに対して機能面まで踏み込んだ自動試験を実行することができるが、通信仕様の抽出及び検証を行うことはできない。
特許文献3の技術は、サーバが出力した警告イベントから障害発生時の警告イベント発生ルールを抽出することができるが、通信仕様の抽出及び検証を行うことはできない。
特許文献4の技術は、シンボル及びコメントの違いといったプログラム構造を相違点として抽出することができるが、通信シーケンスといったプログラム動作の相違点を抽出することはできない。また、特定の通信を発生させる機構を持っていない。
以上のように、従来の技術では、開発者は、通信仕様書に定義されている通信仕様と実際の通信仕様とが一致しているか否かを効率的に判断することができないという課題がある。
本発明は、このような課題を解決することを主な目的とする。より具体的には、本発明は、開発者が、通信仕様書に定義されている通信仕様と実際の通信仕様とが一致しているか否かを効率的に判断できるようにすることを主な目的とする。
本発明に係る通信装置は、
通信仕様書に定義されている通信仕様である定義通信仕様に沿って通信先装置との間で通信を行う通信部と、
前記通信部と前記通信先装置との間の通信の通信ログを生成する通信ログ生成部と、
前記通信ログ生成部により生成された通信ログを解析して、前記通信部と前記通信先装置との間の通信で生じた通信仕様を実態通信仕様として抽出する実態通信仕様抽出部と、
前記定義通信仕様と前記実態通信仕様との差分を抽出する差分抽出部とを有する。
本発明では、定義通信仕様に沿って通信先装置との間で通信を行い、通信先装置との間の通信で生じた通信仕様を実態通信仕様として抽出する。そして、定義通信仕様と実態通信仕様との差分を抽出する。このため、本発明によれば、開発者は、抽出された差分を解析することで、通信仕様書に定義されている通信仕様と実際の通信仕様とが一致しているか否かを効率的に判断することができる。
実施の形態1に係る通信仕様検証装置の機能構成例を示す図。 実施の形態1に係る通信仕様検証装置の全体動作を示すフローチャート。 実施の形態1に係る実態通信仕様抽出処理の詳細処理を示すフローチャート。 実施の形態1に係る通信仕様検証装置のハードウェア構成例を示す図。
以下、本発明の実施の形態について、図を用いて説明する。以下の実施の形態の説明及び図面において、同一の符号を付したものは、同一の部分または相当する部分を示す。
実施の形態1.
***構成の説明***
図1は、本実施の形態に係る通信仕様検証装置10の機能構成例を示す。また、図4は、本実施の形態に係る通信仕様検証装置10のハードウェア構成例を示す。
図1に示すように、通信仕様検証装置10は、検証対象装置30と接続されており、検証対象装置30と通信を行う。検証対象装置30は複数存在するものとする。
通信仕様検証装置10は、通信装置に相当する。検証対象装置30は、通信先装置に相当する。また、通信仕様検証装置10で行われる動作は、通信仕様差分抽出方法及び通信仕様差分抽出プログラムに相当する。
先ず、図4を参照して、通信仕様検証装置10のハードウェア構成を説明する。
通信仕様検証装置10は、コンピュータである。
通信仕様検証装置10は、ハードウェアとして、プロセッサ901、記憶装置902、通信インタフェース903及び入出力インタフェース904を備える。
記憶装置902には、図1に示す検証シナリオ生成部11、検証シナリオ実行部12、実態通信仕様抽出部13、差分抽出部14及び出力部15の機能を実現するプログラムが記憶されている。
そして、プロセッサ901がこれらプログラムを実行して、後述する検証シナリオ生成部11、検証シナリオ実行部12、実態通信仕様抽出部13、差分抽出部14及び出力部15の動作を行う。
図1では、プロセッサ901が検証シナリオ生成部11、検証シナリオ実行部12、実態通信仕様抽出部13、差分抽出部14及び出力部15の機能を実現するプログラムを実行している状態を模式的に表している。
また、記憶装置902は、図1に示す通信仕様書17、検証シナリオ18、通信ログ19、実態通信仕様20、通信仕様差分21を記憶する。
通信インタフェース903は、検証対象装置30と通信を行う際に用いられる。
入出力インタフェース904は、通信仕様検証装置10のユーザ(開発者)からの指示を入力し、また、ユーザに各種情報を提示する。
次に、図1を参照して、通信仕様検証装置10の機能構成を説明する。
検証シナリオ生成部11は、通信仕様書17から検証シナリオ18を生成する。通信仕様書17は、通信仕様が定義されているデータである。通信仕様書17は、例えば、UML(Unified Modeling Language)データである。通信仕様書17に定義されている通信仕様を定義通信仕様という。検証シナリオ18は、定義通信仕様から展開された、実際に検証対象装置30と通信を行うために必要な手順が記述されたデータである。検証シナリオ18には、例えば、定義通信仕様に対応したコマンドシーケンスが記述される。
検証シナリオ実行部12は、検証シナリオ18に従って、検証対象装置30との間で通信を行う。換言すると、検証シナリオ実行部12は、定義通信仕様に沿って検証対象装置30との間で通信を行う。
また、検証シナリオ実行部12は、検証対象装置30との間の通信の通信ログ19を生成する。
検証シナリオ実行部12は、通信部及び通信ログ生成部に相当する。また、検証シナリオ実行部12で行われる処理は、通信ステップ及び通信ログ生成ステップに相当する。
実態通信仕様抽出部13は、通信ログ19を解析して、検証対象装置30との間の通信で生じた通信仕様を実態通信仕様として抽出する。そして、実態通信仕様抽出部13は、抽出した実態通信仕様が記述される実態通信仕様20を生成する。なお、実態通信仕様20は、例えば、通信仕様書17と同様に、UMLデータである。実態通信仕様は、検証対象装置30との通信で用いられたコマンドの送受信手順(通信シーケンス)、オペランドの数及びオペランドの内容等で構成される。
実態通信仕様抽出部13で行われる処理は、実態通信仕様抽出ステップに相当する。
差分抽出部14は、通信仕様書17で定義されている定義通信仕様と、実態通信仕様20に記述されている実態通信仕様との差分を抽出する。そして、差分抽出部14は、抽出した差分が示される通信仕様差分21を生成する。
差分抽出部14で行われる処理は、差分抽出ステップに相当する。
出力部15は、通信仕様差分21を入出力インタフェース904を介して出力する。つまり、出力部15は、定義通信仕様と実態通信仕様との差分を出力する。
出力部15が通信仕様差分21を出力することにより、通信仕様検証装置10のユーザ(開発者)が通信仕様差分21を解析して、通信仕様書に定義されている定義通信仕様と実際の通信により得られた実態通信仕様とが一致しているか否かを効率的に判断することができる。
***動作の説明***
次に、図3を用いて、通信仕様検証装置10の動作例を説明する。
先ず、ステップS101において、検証シナリオ生成部11が、通信仕様書17から、検証シナリオ18を生成する。
次に、ステップS102において、検証シナリオ実行部12が、検証シナリオ18に記載されている内容(例えば、コマンドシーケンス)を解釈する。そして、検証シナリオ実行部12は、解釈結果に基づき、検証対象装置30と通信を行う。
並行して、検証シナリオ実行部12は、ステップS103において、通信ログを生成する。
検証シナリオ実行部12は、ステップS102及びステップS103を指定された回数実行する。具体的には、検証シナリオ実行部12は、検証シナリオ18に従って複数の検証対象装置30と通信を行い、複数の検証対象装置30との通信に対応させて、複数の通信ログ19を生成する。
ステップS102及びステップS103が指定回数実行されると(ステップS104でYES)、ステップS105において、実態通信仕様抽出部13が、通信ログ19を解析し、通信ログ19から実態通信仕様を抽出する。
ここで、図4を用いて、実態通信仕様抽出処理(ステップS105)の詳細を説明する。
ステップS201において、実態通信仕様抽出部13は、ステップS103で生成された通信ログ19から、各回の通信で得られた通信シーケンスを抽出する。
次に、ステップS202において、実態通信仕様抽出部13は、ステップS201で抽出された通信シーケンス(コマンド送受信手順)の中から、各回の通信で共通に実行さている通信シーケンスを実態共通通信シーケンスとして抽出する。実態共通通信シーケンスは、複数の実態通信仕様の間で共通する要素であり、実態共通仕様要素に相当する。
次に、ステップS203において、各回の通信に固有の通信シーケンスを実態可変通信シーケンスとして抽出する。
実態通信仕様には、実態共通通信シーケンスと実態可変通信シーケンスが含まれる。
図2に戻り、ステップS106において、差分抽出部14が、定義通信仕様と実態通信仕様との差分を抽出する。そして、差分抽出部14は、抽出した差分が示される通信仕様差分21を生成する。
通信仕様書17には、複数の通信仕様書17で共通する通信シーケンスである定義共通通信シーケンスと、通信仕様書17ごとに固有の通信シーケンスである定義可変通信シーケンスが含まれている。なお、定義共通通信シーケンスは、定義共通仕様要素に相当し、定義可変通信シーケンスは、定義可変仕様要素に相当する。
差分抽出部14は、定義可変通信シーケンスと実態共通通信シーケンスとを比較して差分をとる。また、差分抽出部14は、定義可変通信シーケンスと実態可変通信シーケンスとを比較して差分をとる。
そして、出力部15が、入出力インタフェース904を介して、通信仕様差分21をユーザに提示する。通信仕様差分21の提示は、画面表示、レポート出力など提示形式は問わない。
***実施の形態の効果の説明***
以上のように、本実施の形態では、通信仕様検証装置10は、定義通信仕様に沿って検証対象装置30との間で通信を行い、検証対象装置30との間の通信で生じた通信仕様を実態通信仕様として抽出する。そして、通信仕様検証装置10は、定義通信仕様と実態通信仕様との差分を抽出する。このため、本実施の形態によれば、開発者は、抽出された差分を解析することで、通信仕様書に定義されている通信仕様と実際の通信仕様とが一致しているか、乖離しているかを効率的に判断することができる。
また、開発者は、通信仕様書に定義されている通信仕様と実際の通信仕様との乖離箇所を即座に確認できるため、通信仕様書の修正を容易に行うことができる。
***ハードウェア構成の説明***
最後に、通信仕様検証装置10のハードウェア構成の補足説明を行う。
図4に示すプロセッサ901は、プロセッシングを行うIC(Integrated Circuit)である。
プロセッサ901は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)等である。
図4に示す記憶装置902は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、HDD(Hard Disk Drive)等である。
図4に示す通信インタフェース903は、データを受信するレシーバー及びデータを送信するトランスミッターを含む。
通信インタフェース903は、例えば、通信チップ又はNIC(Network Interface Card)である。
入出力インタフェース904は、例えば、マウス、キーボード、ディスプレイ装置である。
また、記憶装置902には、OS(Operating System)も記憶されている。
そして、OSの少なくとも一部がプロセッサ901により実行される。
プロセッサ901はOSの少なくとも一部を実行しながら、検証シナリオ生成部11、検証シナリオ実行部12、実態通信仕様抽出部13、差分抽出部14及び出力部15の機能を実現するプログラムを実行する。
プロセッサ901がOSを実行することで、タスク管理、メモリ管理、ファイル管理、通信制御等が行われる。
また、検証シナリオ生成部11、検証シナリオ実行部12、実態通信仕様抽出部13、差分抽出部14及び出力部15の処理の結果を示す情報、データ、信号値及び変数値の少なくともいずれかが、記憶装置902、プロセッサ901内のレジスタ及びキャッシュメモリの少なくともいずれかに記憶される。
また、検証シナリオ生成部11、検証シナリオ実行部12、実態通信仕様抽出部13、差分抽出部14及び出力部15の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の可搬記憶媒体に記憶されてもよい。
また、検証シナリオ生成部11、検証シナリオ実行部12、実態通信仕様抽出部13、差分抽出部14及び出力部15の「部」を、「回路」又は「工程」又は「手順」又は「処理」に読み替えてもよい。
また、通信仕様検証装置10は、ロジックIC(Integrated Circuit)、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field−Programmable Gate Array)といった電子回路により実現されてもよい。
この場合は、検証シナリオ生成部11、検証シナリオ実行部12、実態通信仕様抽出部13、差分抽出部14及び出力部15は、それぞれ電子回路の一部として実現される。
なお、プロセッサ及び上記の電子回路を総称してプロセッシングサーキットリーともいう。
10 通信仕様検証装置、11 検証シナリオ生成部、12 検証シナリオ実行部、13 実態通信仕様抽出部、14 差分抽出部、15 出力部、17 通信仕様書、18 検証シナリオ、19 通信ログ、20 実態通信仕様、21 通信仕様差分、30 検証対象装置、901 プロセッサ、902 記憶装置、903 通信インタフェース、904 入出力インタフェース。

Claims (6)

  1. 通信仕様書に定義されている通信仕様である定義通信仕様に沿って通信先装置との間で通信を行う通信部と、
    前記通信部と前記通信先装置との間の通信の通信ログを生成する通信ログ生成部と、
    前記通信ログ生成部により生成された通信ログを解析して、前記通信部と前記通信先装置との間の通信で生じた通信仕様を実態通信仕様として抽出する実態通信仕様抽出部と、
    前記定義通信仕様と前記実態通信仕様との差分を抽出する差分抽出部とを有する通信装置。
  2. 前記通信装置は、更に、
    前記差分抽出部により抽出された前記定義通信仕様と前記実態通信仕様との差分を出力する出力部を有する請求項1に記載の通信装置。
  3. 前記定義通信仕様には、
    複数の通信仕様書の間で共通する通信仕様の要素である定義共通仕様要素と、通信仕様書ごとに可変の通信仕様の要素である定義可変仕様要素とが含まれており、
    前記通信部は、
    前記定義通信仕様に沿って前記通信先装置との間で複数回通信を行い、
    前記通信ログ生成部は、
    前記通信部と前記通信先装置との間の複数回の通信に対応させて、複数の通信ログを生成し、
    前記実態通信仕様抽出部は、
    前記複数の通信ログを解析して、複数の実態通信仕様を抽出し、
    前記差分抽出部は、
    前記定義共通仕様要素と、前記複数の実態通信仕様の間で共通する要素である実態共通仕様要素との差分を抽出し、
    前記定義可変仕様要素と、前記複数の実態通信仕様の前記実態共通仕様要素以外の要素との差分を抽出する請求項1に記載の通信装置。
  4. 前記実態通信仕様抽出部は、
    前記通信部と前記通信先装置との間の通信で生じた、コマンドの送受信手順、オペランドの数及びオペランドの内容の少なくともいずれかを前記実態通信仕様として抽出する請求項1に記載の通信装置。
  5. コンピュータである通信装置が、通信仕様書に定義されている通信仕様である定義通信仕様に沿って通信先装置との間で通信を行う通信ステップと、
    前記通信装置が、前記通信先装置との間の通信の通信ログを生成する通信ログ生成ステップと、
    前記通信装置が、前記通信ログ生成ステップにより生成された通信ログを解析して、前記通信先装置との間の通信で生じた通信仕様を実態通信仕様として抽出する実態通信仕様抽出ステップと、
    前記通信装置が、前記定義通信仕様と前記実態通信仕様との差分を抽出する差分抽出ステップとを有する通信仕様差分抽出方法。
  6. コンピュータである通信装置に、
    通信仕様書に定義されている通信仕様である定義通信仕様に沿って通信先装置との間で通信を行う通信ステップと、
    前記通信先装置との間の通信の通信ログを生成する通信ログ生成ステップと、
    前記通信ログ生成ステップにより生成された通信ログを解析して、前記通信先装置との間の通信で生じた通信仕様を実態通信仕様として抽出する実態通信仕様抽出ステップと、
    前記定義通信仕様と前記実態通信仕様との差分を抽出する差分抽出ステップとを実行させる通信仕様差分抽出プログラム。
JP2017012254A 2017-01-26 2017-01-26 通信装置、通信仕様差分抽出方法及び通信仕様差分抽出プログラム Active JP6818568B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017012254A JP6818568B2 (ja) 2017-01-26 2017-01-26 通信装置、通信仕様差分抽出方法及び通信仕様差分抽出プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017012254A JP6818568B2 (ja) 2017-01-26 2017-01-26 通信装置、通信仕様差分抽出方法及び通信仕様差分抽出プログラム

Publications (2)

Publication Number Publication Date
JP2018121245A true JP2018121245A (ja) 2018-08-02
JP6818568B2 JP6818568B2 (ja) 2021-01-20

Family

ID=63043179

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017012254A Active JP6818568B2 (ja) 2017-01-26 2017-01-26 通信装置、通信仕様差分抽出方法及び通信仕様差分抽出プログラム

Country Status (1)

Country Link
JP (1) JP6818568B2 (ja)

Also Published As

Publication number Publication date
JP6818568B2 (ja) 2021-01-20

Similar Documents

Publication Publication Date Title
US11663110B2 (en) Analysis to check web API code usage and specification
US9430228B2 (en) Verification of backward compatibility of software components
CN111026470B (zh) 用于输入数据的验证和转换的系统和方法
US11038947B2 (en) Automated constraint-based deployment of microservices to cloud-based server sets
US9990458B2 (en) Generic design rule checking (DRC) test case extraction
WO2017020459A1 (zh) 一种为宿主配置插件包的方法与装置
CN111736840A (zh) 小程序应用的编译方法、运行方法、存储介质及电子设备
US9851944B2 (en) Operation search method and operation search apparatus
US9582270B2 (en) Effective feature location in large legacy systems
US11816479B2 (en) System and method for implementing a code audit tool
CN111104123A (zh) 应用程序的自动部署
US10664336B2 (en) System, method and computer program product for adaptive application log analysis
JP2021002326A (ja) ソフトウェアプログラムにおける静的分析違反の修復パターンの精緻化
US20170337112A1 (en) Code update based on detection of change in runtime code during debugging
CN114398673A (zh) 应用程序的合规检测方法、装置、存储介质与电子设备
CN113778897A (zh) 接口的自动测试方法、装置、设备及存储介质
US10606569B2 (en) Declarative configuration elements
CN117632710A (zh) 测试代码的生成方法、装置、设备及存储介质
US11182272B2 (en) Application state monitoring
US20160103811A1 (en) Enhanced documentation validation
KR20190059701A (ko) Devs 기반 시뮬레이션 모델 및 코드 생성 방법 및 장치
JP6818568B2 (ja) 通信装置、通信仕様差分抽出方法及び通信仕様差分抽出プログラム
JP2013235508A (ja) オブジェクト指向プログラム生成装置、その方法、プログラム
WO2016189721A1 (ja) ソースコード評価装置及びソースコード評価方法及びソースコード評価プログラム
CN114174983A (zh) 使用测试向量自动验证高级构造的优化

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190919

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200721

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20200819

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201009

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201201

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201228

R150 Certificate of patent or registration of utility model

Ref document number: 6818568

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250