JP2014056490A - 通信データ解析装置、その方法、プログラム - Google Patents

通信データ解析装置、その方法、プログラム Download PDF

Info

Publication number
JP2014056490A
JP2014056490A JP2012201724A JP2012201724A JP2014056490A JP 2014056490 A JP2014056490 A JP 2014056490A JP 2012201724 A JP2012201724 A JP 2012201724A JP 2012201724 A JP2012201724 A JP 2012201724A JP 2014056490 A JP2014056490 A JP 2014056490A
Authority
JP
Japan
Prior art keywords
event
class
information
diagram
communication data
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.)
Pending
Application number
JP2012201724A
Other languages
English (en)
Inventor
Takeshi Miyazaki
剛 宮崎
Kazuhiko Sugino
一彦 杉野
Kazuhiro Soyama
和弘 曽山
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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co Ltd
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 Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP2012201724A priority Critical patent/JP2014056490A/ja
Publication of JP2014056490A publication Critical patent/JP2014056490A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】UMLモデル図(クラス図、シーケンス図、配置図)からハードウェア間で通信される情報を解析し、通信データに係るテスト仕様の情報を出力する通信データ解析装置、その方法、プログラムを提供する。
【解決手段】UMLモデル図の情報を予め記憶する記憶部40と、記憶部40にあるUMLモデル図の情報を読み出し、クラスとイベントにたいして定められた順番でIDをそれぞれ割り振り、各イベントが異なるハードウェア上のクラスから送信されるか否かを解析し、通信データに係るテスト仕様として情報を出力する解析処理部50とを備えることを特徴とする。
【選択図】図1

Description

本発明は、UML(Unified Modeling Language)モデル図を解析し、通信データの情報(テスト仕様)を出力する通信データ解析装置、その方法、プログラムに関する。
従来、オブジェクト指向プログラム開発において、UMLモデル図を基に開発したプログラムコード(プログラムのソースコード)の通信データに関する検証(結合テスト、システムテストなど)は、プログラムを動作させたときに、パケットキャプチャツール(Ethernet(登録商標)の場合)やプロトコルアナライザ(RS232Cの場合)を用いて、通信回線上を流れる通信データを捕獲(キャプチャ)し、通信データの意味合いをプログラムコードで参照しながら複数のUMLモデル図に記載の設計仕様と比較することで、良否を判定していた。
また、オブジェクト指向プログラム開発において、対象となるプログラムの動作を検証するシステムとして、例えば特許文献1が知られている。
特許文献1の検証システムでは、検証対象のプログラムの挙動を監視装置で監視し、UMLモデル図(シーケンス図)からテスト仕様を定め、検証対象の送受信される信号の種類や送受信タイミングを検証している。
特開2010−15240号公報
しかしながら、特許文献1の検証システムでは、プログラムの挙動については検証できるものの、プログラムがどのハードウェアの環境下で動作するか定義されておらず、分散環境(異なるハードウェア間での通信環境)で動作するプログラムの検証については考慮されていない。
上記の課題を解決するために、本発明では、UMLモデル図(クラス図、シーケンス図、配置図)からハードウェア間で通信される情報を解析し、通信データに係るテスト仕様の情報を出力する通信データ解析装置、その方法、プログラムを提供することを目的とする。
上記課題を解決するために、本発明に係る通信データ解析装置は、少なくともクラス図、シーケンス図および配置図を有するUMLモデル図の情報からテスト仕様の情報を出力する通信データ解析装置であって、前記UMLモデル図の情報を予め記憶する記憶部と、前記記憶部に記憶されている前記UMLモデル図から少なくともクラスとイベントの関係、イベントの引数サイズと引数、ハードウェアとクラスの関係、異なるハードウェア間の通信経路、各イベントの振る舞い情報を読み出し、クラスとイベントにたいして定められた順番でIDをそれぞれ割り振り、各イベントが異なるハードウェア上のクラスから送信されるか否かを解析し、クラスIDとクラス名、イベントIDとイベント名、イベント名の引数サイズと引数、イベントの使用可否、を通信データに係るテスト仕様の情報として出力する解析処理部と、を備えることを特徴とする。
尚、ここでは、装置として表現されているが、方法、プログラムにより実現されるとしてもよい。
本発明によれば、シーケンス図及び配置図からハードウェア間で通信されるデータを解析し、通信データに係るテスト仕様を出力する。これにより、通信データを検証(テスト)するとき、実際の通信データの意味合いをプログラムコードで参照する必要がなくなり、実際の通信データとUMLモデル図の情報から解析した通信データに係るテスト仕様との比較をすることで通信データを検証(テスト)することができ、結果として検証(テスト)時の作業工数を削減することができる。
本発明における通信データ解析装置の一例を示す図である。 入力(UMLモデル図)の一例を示す図である。 出力(通信データのテスト仕様)の一例を示す図である。 通信データ解析装置の解析処理を示すフローチャート図である。 検証(テスト)の方法を表す概念図である。
以下、本発明の実施の形態について、詳細に説明する。
<通信データ解析装置の構成概要>
図1は、本発明における通信データ解析装置の一例を示す図である。
図1に示すように、通信データ解析装置10は、UMLモデル図作成ツールなどによって、開発対象システムのクラス構造を表現するクラス図41、開発対象システムの物理的側面を表現する配置図42、開発対象システムのクラス間のメッセージの流れを表現するシーケンス図43、などのUMLモデル図を作成し、これらのUMLモデル図の情報を記憶部40に予め記憶している。解析処理部50は、記憶部内のUMLモデル図の情報を読み出し、イベントごとに異なるハードウェア上のクラスから送信されるか否かと送信される情報を解析し、通信データに係るテスト仕様として情報を出力する。出力はCSV形式(Comma Separated Value format)または表形式の形で出力部30に出力する。また、UMLモデル図作成ツールは、通信データ解析装置10にあって、入力部20からデータを入力しても良いし、外部の装置で作成したUMLモデル図の情報をネットワーク経由または電子媒体に格納して記憶部40に記憶させても良い。
また、図示はしていないが、通信データ解析装置の機能を実現するために通信データ解析装置本体10は、一般的なコンピュータのハードウェア資源として、例えば、CPU、記憶装置、入出力装置、各種インターフェースなど、を周知の構成として備えており、当然ながら、上記のごとき機能を実現させるためのプログラムを上記記憶装置内に格納している。記憶部40は上述の記憶装置により実現され、また、上述の解析処理部50は、上述のCPU、記憶装置、各種インターフェース等のハードウェア資源と後述する処理フローを実行するプログラムにより実現される。プログラムは、例えば汎用のパーソナルコンピュータ、サーバ等の記憶装置内にその実行プログラムをインストールすることにより、本発明における各部の処理等を実現することができる。
さらに、通信データ解析装置は、キーボード、マウス、タッチパネル等のインターフェースを用いて実現される入力部20と、液晶または有機EL等からなる表示パネルや音声出力用のスピーカー等を有し、各種情報を出力する出力部30を備える。
また、入力部20及び出力部30は、通信データ解析装置本体10のクライアント端末(図示せず)にその機能があってもよい。このときは、ネットワークを介して通信データ解析装置本体10とクライアント端末が通信可能に接続されている。なお、ネットワークは、有線、無線を問わず既存の公衆網、LAN、WANなどを用いることができる。
<UMLモデル図>
<クラス図>
図2(a)は、本発明におけるクラス図の一例を示す図である。
図2(a)に示す例では、クラス名が”ClassA”であるクラスは、イベントとして、”Ea1(第一引数がint型、第二引数がshort型の配列(要素数5))”、”Ea2(引数なし)”、及び、”Ea3(第一引数がchar型)”を持つ。
クラス名が”ClassB”であるクラスは、イベントとして、”Eb1(引数なし)”、及び、”Eb2(第一引数がshort型)”を持つ。
クラス名が”ClassC”であるクラスは、イベントとして、”Ec1(第一引数がint型)”、及び、”Ec2(引数なし)”を持つ。
<配置図>
図2(b)は、本発明における配置図の一実施例を示す図である。
図2(b)に示す例では、ハードウェア名が”HardwareX”であるハードウェアには、ソフトウェア機能として、クラス名が”ClassA”であるクラスのソフトウェア機能、及び、クラス名が”ClassB”であるクラスのソフトウェア機能が実装される。
さらに、ハードウェア名が”HardwareY”であるハードウェアには、ソフトウェア機能として、クラス名が”ClassC”であるクラスのソフトウェア機能が実装される。
また、ハードウェア名が”HardwareX”であるハードウェアとハードウェア名が”HardwareY”であるハードウェアは通信経路を持つ。
<シーケンス図>
図2(c)は、本発明におけるシーケンス図の一例を示す図である。
図2(c)に示す例では、クラス名が”ClassA”であるクラスがイベント”Ea1”を受け取ると、クラス名が”ClassB”であるクラスに対してイベント”Eb1”を送信し、クラス名が”ClassC”であるクラスに対してイベント”Ec1(第一引数の値:123)”を送信する。
クラス名が”ClassB”であるクラスがイベント”Eb1”を受け取ると、クラス名が”ClassA”であるクラスに対してイベント”Ea2”を送信し、クラス名が”ClassC”であるクラスに対してイベント”Ec2”を送信する。
クラス名が”ClassC”であるクラスがイベント”Ec1”を受け取ると、クラス名が”ClassA”であるクラスに対してイベント”Ea3(第一引数の値:’A’)”を送信する。
<通信データのテスト仕様>
図3は、通信データのテスト仕様の一例を示す図である。
図3に示す例では、図2の情報から解析処理部50が記憶部40に記憶されているUMLモデル図の情報からイベントごとに異なるハードウェア上のクラスから送信されるか否かと送信される情報を解析し、図3の通信データのテスト仕様を出力する。
出力は、CSV形式(Comma Separated Value format)または表形式の形で出力部30に出力する。図3(a)がCSV形式の出力例であり、図3(b)が表形式の出力例となる。
いずれも情報として、”クラスID”、”クラス名”、”イベントID”、”イベント名”、”引数サイズ”、”引数”,”使用”を持つ。
<解析処理>
図4は、解析処理部50にて出力する際の解析処理を示すフローチャート図である。
解析処理では、UMLモデル図の情報から異なるハードウェア上のクラスからイベントが送信されるかどうかをチェックする(S1)。
異なるハードウェア上のクラスからイベントが送信されない場合、テスト仕様には出力されない(S1:NO)。
異なるハードウェア上のクラスからイベントが送信される場合、以下のS2〜S8の処理を行う(S1:YES)。
はじめに、UMLモデル図の情報から生成したプログラムコードと同じプログラム作成規約に基づき、クラス名に対してクラスIDを割り振る(S2)。たとえば、プログラム作成規約として、「クラスIDは、UMLモデル図に書かれたクラス名に対応して上から順番に0から始まる整数を割り振る」となっている。
次に、UMLモデル図から生成したプログラムコードと同じプログラム作成規約に基づき、イベント名に対してイベントIDを割り振る(S3)。
次に、UMLモデル図から各イベントの引数サイズ及び引数をテスト仕様として追加する(S4)。
次に、UMLモデル図の情報からイベントが異なるハードウェア上のクラスから送信されるかどうかをチェックする(S5)。
イベントが異なるハードウェア上のクラスから送信されない場合(S5:NO)、使用を”×”とし(S7)、テスト仕様に追加する(S8)。
イベントが異なるハードウェア上のクラスから送信された場合(S5:YES)、使用を”○”とし(S6)、テスト仕様に追加する(S8)。
<入力→(解析処理)→出力>
上述した図4のフロチャートの処理に沿って、図2のUMLモデル図の情報を入力として図3の出力までの処理について詳細に説明する。
”ClassB”は、異なるハードウェアのクラスからイベントが送信されないので、出力されない(S1:NO)。
”ClassA”と”ClassC”は、異なるハードウェアのクラスからイベントが送信されるので、出力される。この時、各クラスに対して、クラスIDを0から順番に以下のように割り振る(S2)。
”ClassA”:0、”ClassC”:1
次に、”ClassA”のイベントに対して、イベントIDを0から順番に以下のように割り振る(S3)。
”Ea1”:0、”Ea2”:1、”Ea3”:2
次に、”ClassC”のイベントに対して、イベントIDを0から順番に以下のように割り振る。
”Ec1”:0、”Ec2”:1
次に、各イベントの引数サイズを以下のように算出する。ここでは、char型:1バイト、short型:2バイト、int型:4バイトとしている。
”Ea1”:14(=4+(2*5))、”Ea2”:0、”Ea3”:1、”Ec1”:4、”Ec2”:0
次に、引数があるイベントに対して、引数を以下のように追加する。
”Ea1”:”int, short[5]”、”Ea3”:”char”、”Ec1”:”int”
次に、各イベントが異なるハードウェアのクラスから送信されるかをチェックし(S5)、送信される場合(S5:YES)、使用を”○”(S6)、送信されない場合(S5:NO)、使用を”×”とする(S7)と以下のようになる。
”Ea1”:”×”(シーケンス図にないため)
”Ea2”:”×”(シーケンス図にはあるが、異なるハードウェアから送信されない)
”Ea3”:”○”(“ClassC”がイベント”Ec1”を受け取った場合、送信される)
”Ec1”:”○”(“ClassA”がイベント”Ea1”を受け取った場合、送信される)
”Ec2”:”○”(“ClassB”がイベント”Eb1”を受け取った場合、送信される)
<実施例の効果>
以上のように、本発明を適用することにより、オブジェクト指向プログラム開発において、クラス図、シーケンス図、配置図を作成し、通信データ解析装置を使用することで、通信データのテスト仕様を出力させることで、検証(テスト)時の作業工数を削減することができる。
図5の検証(テスト)の方法を表す概念図で実施例の効果についてさらに説明する。
図5(a)は、従来の検証(テスト)の方法を表す概念図である。UMLモデル図を基に開発したプログラムコードの通信データに関する検証(結合テスト、システムテストなど)は、プログラムを動作させたときに、パケットキャプチャツール(Ethernet(登録商標)の場合)やプロトコルアナライザ(RS232Cの場合)を用いて、通信回線上を流れる通信データを捕獲(キャプチャ)し、通信データの意味合いをプログラムコードで参照しながら複数のUMLモデル図に記載の設計仕様と比較することで、検証する人が良否を判定していた。実際の通信データに含まれるクラスIDやイベントIDなどとプログラムコードの中で定義されたクラス名やイベント名を参照し、複数のUMLモデル図で作成されたクラスID、クラス名、イベントID、イベント名、引数、引数サイズなどの設計情報をテスト仕様として比較することで、良否判定を行っていた。そのため、モデルの変更(ハードウェアとクラスの関係変更やクラス・イベントの追加など)が生じた場合、IDの情報も変更される可能性があり、毎回、プログラムコードと比較する必要があった。たとえば、あるクラスが追加されると、既存のクラス名に対応するIDが変更される可能性があった。
一方、図5(b)は、本発明の通信データ解析装置を使った検証(テスト)の方法を表す概念図である。
従来の方法と比べ、以下のような特徴があり、結果として検証(テスト)時の作業工数を大幅に削減することができる。
(1)プログラムコードを参照する必要がない。
(2)複数のUMLモデル図の情報を見る必要がなく、通信データに係るテスト仕様の形で情報が集約されて出力される。
(3)UMLモデル図に間違いが無い前提とすれば、出力したテスト仕様と実際の通信データを比較ツールで比較させることで、良否判定を自動で行うことが可能である。
(4)モデルの変更(ハードウェアとクラスの関係変更やクラス・イベントの追加など)が生じた場合でも、変更したプログラムコードを参照する必要は無く、変更されたモデルに対して通信データ解析装置がテスト仕様として情報を出力する。
10 通信データ解析装置本体
20 入力部
30 出力部
40 記憶部
41 クラス図データ
42 配置図データ
43 シーケンス図データ
50 解析処理部

Claims (3)

  1. 少なくともクラス図、シーケンス図および配置図を有するUMLモデル図の情報からテスト仕様の情報を出力する通信データ解析装置であって、
    前記UMLモデル図の情報を予め記憶する記憶部と、
    前記記憶部に記憶されている前記UMLモデル図から少なくともクラスとイベントの関係、イベントの引数サイズと引数、ハードウェアとクラスの関係、異なるハードウェア間の通信経路、各イベントの振る舞い情報を読み出し、クラスとイベントにたいして定められた順番でIDをそれぞれ割り振り、各イベントが異なるハードウェア上のクラスから送信されるか否かを解析し、クラスIDとクラス名、イベントIDとイベント名、イベント名の引数サイズと引数、イベントの使用可否、を通信データに係るテスト仕様の情報として出力する解析処理部と、
    を備えることを特徴とする通信データ解析装置。
  2. 少なくともクラス図、シーケンス図および配置図を有するUMLモデル図の情報からテスト仕様の情報を出力する通信データ解析方法であって、
    コンピュータの記憶部に予め記憶されている前記UMLモデル図の情報から少なくともクラスとイベントの関係、イベントの引数サイズと引数、ハードウェアとクラスの関係、異なるハードウェア間の通信経路、各イベントの振る舞い情報を読み出す入力過程と、
    該読み出した情報から、クラスとイベントにたいして定められた順番でIDをそれぞれ割り振りし、各イベントが異なるハードウェア上のクラスから送信されるか否かを解析する解析過程と、
    該解析した情報から、クラスIDとクラス名、イベントIDとイベント名、イベント名の引数サイズと引数、イベントの使用可否を通信データに係るテスト仕様の情報として出力する出力過程と、
    を備えていることを特徴とする通信データ解析方法。
  3. コンピュータを、
    請求項1に記載の通信データ解析装置が有する解析処理部として機能させるための解析処理プログラム。

JP2012201724A 2012-09-13 2012-09-13 通信データ解析装置、その方法、プログラム Pending JP2014056490A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012201724A JP2014056490A (ja) 2012-09-13 2012-09-13 通信データ解析装置、その方法、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012201724A JP2014056490A (ja) 2012-09-13 2012-09-13 通信データ解析装置、その方法、プログラム

Publications (1)

Publication Number Publication Date
JP2014056490A true JP2014056490A (ja) 2014-03-27

Family

ID=50613737

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012201724A Pending JP2014056490A (ja) 2012-09-13 2012-09-13 通信データ解析装置、その方法、プログラム

Country Status (1)

Country Link
JP (1) JP2014056490A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106294131A (zh) * 2016-07-26 2017-01-04 南京航空航天大学 一种蕴含相关性特征面向系统测试用的仿真流式大数据生成方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106294131A (zh) * 2016-07-26 2017-01-04 南京航空航天大学 一种蕴含相关性特征面向系统测试用的仿真流式大数据生成方法

Similar Documents

Publication Publication Date Title
US10057136B2 (en) Method and apparatus for visualized network operation and maintenance
US10797958B2 (en) Enabling real-time operational environment conformity within an enterprise architecture model dashboard
US10909028B1 (en) Multi-version regression tester for source code
US20080168425A1 (en) Software testing techniques for stack-based environments
US20110258609A1 (en) Method and system for software defect reporting
US20160232042A1 (en) Categorizing and modeling integration adapters
CN102402481A (zh) 异步程序代码的模糊测试
CN112527252B (zh) 小程序管理方法及装置、小程序平台、电子设备、介质
US10956257B2 (en) Dynamic failure-resolution computing engine
CN111209203B (zh) 一种基于源代码的模型验证方法
CN107168844B (zh) 一种性能监控的方法及装置
Guan et al. A model-based testing technique for component-based real-time embedded systems
US10775751B2 (en) Automatic generation of regular expression based on log line data
US10830818B2 (en) Ensuring completeness of interface signal checking in functional verification
US20150007145A1 (en) Computing system with instrumentation mechanism and capture mechanism and method of operation thereof
JP2023537769A (ja) クラウドネイティブなアプリケーション向けの障害場所特定
US11023627B2 (en) Modeling and cooperative simulation of systems with interdependent discrete and continuous elements
US10055277B1 (en) System, method, and computer program for performing health checks on a system including a plurality of heterogeneous system components
CN108733536A (zh) 监控管理系统及方法
JP2014056490A (ja) 通信データ解析装置、その方法、プログラム
US10419306B2 (en) Determining the causation of events across multiple nodes using message properties
JP2013235508A (ja) オブジェクト指向プログラム生成装置、その方法、プログラム
Lee et al. Collecting big data from automotive ECUs beyond the CAN bandwidth for fault visualization
JP2012048329A (ja) オブジェクト指向プログラム生成装置、その方法、プログラム
CN111143227A (zh) 一种数据操作方法、装置、终端及存储介质