JP2007036937A - プロトコル変換プログラム作成支援装置及び作成支援プログラム - Google Patents

プロトコル変換プログラム作成支援装置及び作成支援プログラム Download PDF

Info

Publication number
JP2007036937A
JP2007036937A JP2005220238A JP2005220238A JP2007036937A JP 2007036937 A JP2007036937 A JP 2007036937A JP 2005220238 A JP2005220238 A JP 2005220238A JP 2005220238 A JP2005220238 A JP 2005220238A JP 2007036937 A JP2007036937 A JP 2007036937A
Authority
JP
Japan
Prior art keywords
property
data
protocol
correspondence
definition
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
JP2005220238A
Other languages
English (en)
Other versions
JP4738086B2 (ja
Inventor
Yamahiko Ito
山彦 伊藤
Shigeki Suzuki
繁樹 鈴木
Yoshiko Ochiai
淑子 落合
Noriyuki Kushiro
紀之 久代
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 JP2005220238A priority Critical patent/JP4738086B2/ja
Publication of JP2007036937A publication Critical patent/JP2007036937A/ja
Application granted granted Critical
Publication of JP4738086B2 publication Critical patent/JP4738086B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Communication Control (AREA)

Abstract

【課題】 異なるプロトコルの設定、定義、各プロトコルの対応関係の設定等、プログラムに関するデータを、作成者が効率的に入力できるインタフェースを提供する。
【解決手段】 入力されたデータに基づいて、複数の通信電文における通信プロトコルのデータ構成及び/又は通信プロトコル間におけるデータの対応関係を定義し、変換に係る仕様のデータを生成するプロトコル対応関係入力処理手段101を備え、プロトコル対応関係入力処理手段は、通信電文のデータに対して付されるプロパティについて、各通信プロトコルの各プロパティに対し、プロパティコードを定義するプロパティコード定義部102と、複数の通信プロトコルにおいて定義されたプロパティコード及びプロパティの値を対応させて、通信プロトコル間のプロパティの対応関係を定義するプロパティ対応関係定義部103とから構成されるものである。
【選択図】 図1

Description

本発明は通信プロトコル(データ、データを含む信号等の構成等に関する規約)が異なる機器(ネットワーク)間において、それぞれの機器が処理を行えるように、通信プロトコルの相互変換処理を行う装置に実行させるプログラム(プログラムコードも含む)の作成支援をする装置及びプログラムに関するものである。
従来のプロトコル変換支援装置は、プロトコルに依存する部分と、プロトコルに依存しない部分を分離してプログラムを記述する手段を提供することにより、プログラムの保守性や拡張性を高めていた(例えば特許文献1参照)。
特開2000−122936号公報(第1頁〜5頁、第1図)
従来のプロトコル変換プログラム作成支援装置は、プロトコル変換プログラムの作成において、最も開発負荷の高い通信電文の変換処理を行うプログラム作成に多大な時間と労力を要するという問題点があった。
例えば、近年、家庭用電気機器(以下、家電機器という)同士を連携動作させるため、有線又は無線のネットワークで家電機器の相互接続が実現されつつある。家電機器は、各種類、製造者等が異なると、それぞれ独自のプロトコルが設定・定義されていることが多い。そこで、これらの家電機器間をアダプタの機能を有する装置等を介して、共通のプロトコルによる電文伝送がされるネットワークと接続する。装置等はネットワークと家電機器との間で接続された家電機器に合わせたプロトコルの変換処理を行う。
各装置等は、接続された家電機器に合わせたプロトコルを変換する処理を行うためのプログラム(変換を行うために必要なデータも含む)を、例えばネットワーク、記録媒体等を介してデータとして入力し、記憶手段に記憶するようにすれば、あらかじめ各家電機器に合わせた変換処理を行う装置を製造しておかなくてもよく、汎用性を持たせることができる。また、最新のデータに更新させることも可能である。
ここで、例えば、上記のような使用形態において、接続される家電機器によるプログラムに係るデータ量の違い、プログラムに係るデータを入力する時間等を考慮すると、同じ処理を行うためのプログラムに係るデータ量はできる限り少ない方がよい。ただ、このような条件を満たすプログラムは一般的なものではないことが多く、そのため、上述したようにプログラムの作成者の時間と労力の負担は大きなものとなる。
この発明は、上記のような問題点を解決するためになされたもので、異なるプロトコルの設定、定義、各プロトコルの対応関係の設定等、プログラムに関するデータを、作成者が効率的に入力できるインタフェースを提供し、入力されたデータに基づいたプログラムの作成支援処理を行うプロトコル変換プログラム作成支援装置及び方法を提供することにより、プロトコル変換処理プログラムの開発負荷を軽減させることを目的とする。
本発明に係るプロトコル変換プログラム作成支援装置は、入力されたデータに基づいて、複数の通信電文における通信プロトコルのデータ構成及び/又は通信プロトコル間におけるデータの対応関係を定義し、変換に係る仕様のデータを生成するプロトコル対応関係入力処理手段を備え、プロトコル対応関係入力処理手段は、通信電文のデータに対して付されるプロパティについて、各通信プロトコルの各プロパティに対してプロパティコードを定義するプロパティコード定義部と、複数の通信プロトコルにおいて定義されたプロパティコード及びプロパティの値を対応させて、通信プロトコル間のプロパティの対応関係を定義するプロパティ対応関係定義部とから構成されるものである。
本発明によれば、プロトコル対応関係入力処理手段に、プロパティコード定義部とプロパティ対応関係定義部を備えるようにしたので、プロトコル変換におけるプロパティコードをはじめとする各プロトコルにおける通信電文のプロパティの定義、プロトコル間のプロパティの対応関係の定義を、簡易なインタフェースを利用し、利用者が定型的な手順で入力することによりプロトコル変換プログラムコードを生成できるようになり、利用者のプロトコル変換プログラムの作成負荷を軽減することができる。通信電文を構成する各通信プロトコルの各プロパティをプロパティコードで定義し、管理することで、生成されるプログラムコードにおいて条件文等の記述を少なくすることで、プログラムコードに係るデータ量を少なくすることができる。そのため、転送するデータ量が少なくなったり、メモリ等の記憶容量が少なく、データ量の制限を受ける機器に対しても対応したりすることができる。
実施の形態1.
図1はこの発明の実施の形態1によるプロトコル変換プログラム作成支援装置100を中心とする構成を示すブロック図である。本実施の形態では、家庭用エアコン(家電機器)の制御を行うための状態、指示等のデータを含む通信電文(データを含む信号)に関する通信プロトコル(以下、単にプロトコルという)と、家電機器同士を連携させつつ制御を行うホームネットワークの規格であるECHONET (ECHONET はECHONET コンソーシアムの商標である。以下同じ)で規定されたプロトコルとの相互変換を行い、それぞれのネットワークにあった通信電文の伝送を行うプログラムの作成支援を例に説明する。
家電機器側では、例えば機種ごとに設定された独自のプロトコルに従って指示、センサ(図示せず)による計測等に基づく状態を表すデータを含む通信電文の送受信が行われる。一方、ECHONET 側では、規格化されたプロトコルに従って通信電文の送受信が行われる。そのため、家電機器同士をホームネットワークを介して接続する場合、各家電機器にはアダプタ機能を実現する装置等(特に独立した装置でなく、例えば家電機器に内蔵されたものでもよい。以下、アダプタという)が必要となる。そして、このアダプタが、家電機器のプロトコルに合わせたプロトコル変換処理を行うため、アダプタに実行させる、本実施の形態で説明するようなプロトコル変換プログラムの作成が必要になる。
図1において、プロトコル対応関係入力処理手段101は、プロトコル変換に対する定義を行うため、プログラム作成者(以下、利用者という)の各種データの入力を支援する。そして、処理を行い、入力、設定されたデータを定義し、変換仕様に関するデータであるプロトコル対応仕様定義ファイルを生成する。プロトコル対応関係入力処理手段101は、プロパティコード定義部102、プロパティ対応関係定義部103、受信電文解釈定義部106、送信電文設定定義部107及びプロトコル対応仕様定義ファイル生成部108により構成される。プロパティ対応関係定義部103は、さらにマッピング型対応関係定義部104及び関数型対応関係定義部105により構成される。
プロパティコード定義部102は、変換を行う各プロトコルにおける、プロパティに関するデータの入力(記述)、設定を行わせるための画面を表示手段130に表示させる。そして、入力、設定されたデータを処理し、各プロパティに対して、プロパティコードを定義する。これにより、各プロパティはプロパティコードで管理されることになる。ここで、プロパティとは、通信電文に含まれるデータが有する意味内容を表すものである。特に本実施の形態においては、例えば、電源On/Off、運転モード、設定温度等、機器の状態を表す属性を意味するものとする。そして、その属性の値となるプロパティの値が通信電文にデータとして含まれる。
プロパティ対応関係定義部103は、プロパティ対応関係に関するデータの入力(記述)、設定を行わせるための画面を表示手段130に表示させる。そして、入力、設定されたデータを処理し、家電機器のプロパティ(以下、家電機器側定義プロパティという)とECHONET のプロパティ(以下、ECHONET プロパティという)の対応関係(プロパティの値の対応関係も含む)を定義する。ここで、マッピング型対応関係定義部104は、家電機器側定義プロパティの値とECHONET プロパティの値とをテーブル(表)形式で定義するために設けられている。また、関数型対応関係定義部105は、家電機器側定義プロパティの値とECHONET プロパティの値とを関数形式で定義するために設けられている。なお、ここではマッピング型対応関係定義部104と関数型対応関係定義部105の両方を有しているが、必要に応じてどちらか一方でもよい。
受信電文解釈定義部106は、アダプタが通信電文を受信した(以下、この電文を受信電文という)際に、受信電文中のデータの内容を解釈(判断)するため、受信電文が持ち得るデータ構成(特にプロパティ)のパターン(バイトパターン)とプロパティの関係を定義する。一方、送信電文設定定義部107は、アダプタがプロトコル変換処理を行い、通信電文を送信する(以下、この通信電文を送信電文という)ために、送信電文が持ち得るデータ構成のパターン(バイトパターン)とプロパティの関係を定義する。
プロトコル対応仕様定義ファイル生成部108は、上述した各部が定義等を行うことによって得られたデータに基づいて処理を行い、例えば、XML(eXtensible Markup Language)等の汎用のデータ記述形式に基づく変換仕様のデータ(プロトコル対応仕様定義ファイル)にする。一度、汎用のデータ記述形式のデータにしてからプログラムに変換することにより、プロトコル対応関係入力処理手段101の処理のみに依存しない、汎用的な仕様のデータを作成することができる。
また、プロトコル変換コード生成手段110は変換コード生成部111とコード出力部112とで構成される。変換コード生成部111は、上述したプロトコル対応仕様定義ファイルに基づいて、アダプタが実行するプロトコル変換プログラムの実行コードの全部または一部であるプロトコル変換プログラムコードをデータとして生成する。コード出力部112は、対応する出力デバイス(例えば、カードメモリ等の電子記録媒体)に合わせた形式のデータにプログラムコードを変換し、出力デバイスに出力させる処理を行う。
記憶手段120は、プロトコル対応関係入力処理手段101、プロトコル変換コード生成手段110の各部が処理した又は処理をするために必要なデータを一時的又は長期的に記憶する手段である。記憶手段120は、少なくともECHONET 規格記憶部121、仕様変換記憶部122、コード変換記憶部123、仕様定義データ記憶部124及びプログラムコード記憶部125で構成される。
ここで、ECHONET では各種の家電機器に対し、プロパティコード、プロパティの値等、プロパティに関するデータが規定されている。ECHONET 規格記憶部121は、規定されたECHONET プロパティに関するデータを記憶する。仕様変換記憶部122は、プロトコル対応仕様定義ファイル生成部108がプロトコル対応仕様定義ファイルを生成する際の変換用データを記憶する。例えば、各部が定義して記憶手段120に記憶する独自の形式で定義がなされたデータに、プロトコル対応仕様定義ファイル生成部108が仕様変換記憶部122を参照しながら変換(例えば構文の変換)を行うことで汎用的なデータ形式のプロトコル対応仕様定義ファイルを生成することができる。これによりプロトコル対応仕様定義ファイルに汎用性を持たせることができる。また、コード変換記憶部123についても、変換コード生成部111がプロトコル変換プログラムコードを生成する際の変換用データを記憶する。また、記憶手段120には、他にも、以下に説明するように、データ入力を行わせるための表示を表示手段130に行わせるための表示用データ等、プロトコル変換プログラム作成支援装置100がプログラム作成支援を行うために実行するプログラム等が記憶されている。
CRT、液晶等の表示手段130は、プロトコル変換コード生成手段110からの送信される表示用の信号に基づいて表示を行う。また、キーボード、マウス等で構成される入力手段140は、利用者が入力した指示、データ等を信号に含めてプロトコル変換プログラム作成支援装置100に送信する。
ここで、本実施の形態では、プロトコル変換プログラム作成支援装置100は、例えばCPU(Central Prosessing Unit )を中心としたコンピュータ等の制御演算処理装置で構成されている。そして、装置の各手段、各部における処理手順をあらかじめプログラム化しておき、そのプログラムを各制御演算処理装置が実行することで、各手段、各部の処理を実現する。なお、本実施の形態では、プロトコル変換プログラム作成支援装置100を1つの装置として構成しているが、これには限定されない。例えば、装置を構成する各手段、各部がそれぞれ独立した又は組み合わせた装置であってもよい。これは記憶手段120に関しても同様であり、各記憶部を独立した記憶手段で構成するようにしてもよい。
図2はプロトコル変換プログラム作成支援装置の処理動作の流れを示すフロー図である。次に処理動作について説明する。まず、ステップST201で、プロパティコード定義部102は、家電機器側定義プロパティ設定画面を表示手段130に表示させ、入力手段140を介して利用者から入力された指示、データ等に基づいて定義に関する処理を行う。以下、特に断らない限り、プロトコル対応関係入力処理手段101の各部は、各設定画面を表示させ、利用者が入力手段140を介してデータを入力するものとする。そして、各部は入力されたデータに基づいて定義等の処理を行うものとする。
図3は、家電機器側定義プロパティ設定画面の例を表す図である。図3の画面では、例えば各入力事項に対応した欄を設け、GUI(Graphical User Interface)に基づく利用者のデータ入力を図っている。プロパティコード設定欄301は、家電機器が保有するプロパティに対してプロパティコードを設定し、付与(定義)するために設けた欄である。プロパティコードとは、プロパティを識別するため、各プロパティに対してそれぞれ付すユニークなコードである。独自のプロトコルの通信電文においてプロパティにコードが付されていることは少ないので利用者がプロパティコードを定義する。家電機器側においてプロパティコードを定義し、このプロパティコードを介して通信プロトコル(電文)の変換をすることで、直接的に通信電文を変更するプログラム(コード)を作成した場合に比べて、例えば条件文(if〜then)を少なくした記載をすることができ、プログラムに係るデータ量を少なくすることができる。また、アダプタの処理負荷を軽減することもできる。ここでは、プロパティコードを1番(16進数表示で「0x01」)から順に付与するものとする。
プロパティ型定義欄302は、プロパティの値(プロパティの状態を表すための値。例えば温度を表す連続的な数値、Onだと「1 」、Offだと「0 」のような論理値もある)を示すのに必要な型を定義するために設けた欄である。本実施の形態では、プロパティコード定義部102は、利用者の指示に基づいて、符号有り1バイト(signed char )、符号有り2バイト(signed short)、符号有り4バイト(signed long )、符号無し1バイト(unsigned char )、符号無し2バイト(unsigned short)、符号無し4バイト(unsigned long )をメニューとして表示手段130に表示させる。利用者は、表示されたメニューの中からいずれか1つの型を入力手段140を介して選択することで各プロパティの型を設定するものとする。
プロパティサイズ定義欄303では、プロパティの値を示すために必要なデータのサイズ(量)を定義する。本実施の形態におけるサイズは、バイト(1バイトは8ビット)単位で定義するものとする。ここで、上述したプロパティ型定義欄302で指定した型により、最低限必要となるバイト数が規定されるため、利用者がプロパティサイズ定義欄303に入力し、定義するサイズは、規定されたバイト数の倍数になる。2倍以上のときは、プロパティ型定義欄302で指定した型の配列となる。コメント欄304は、例えば、家電機器側定義プロパティコードの意味を利用者が識別しやすくするため、利用者が任意に文字等を入力し、記録等をするための欄である。
利用者は、図3に示された家電機器側プロパティ設定画面に基づいて、入力手段140を介して各欄に合わせて定義すべきデータを入力し、設定する。プロパティコード定義部102は、設定されたデータ等に基づいて処理を行い、家電機器で設定可能なプロパティに関する定義を行う。
図4は、家電機器側定義プロパティの設定画面の別の例を表す図である。図3は、GUIの画面を表示手段130に表示させ、各欄へのデータ入力、選択等を行いながら設定し、定義する例であった。これに対し、図4は、利用者がスクリプトとなる文字列(コマンド、データ)を入力手段140を介して記述(入力)することにより、スクリプト(記述)形式により設定し、プロパティコード定義部102が処理を行って定義する例である。「rgst_ipc」は、家電機器側定義プロパティを登録するコマンドであり、第1引数にプロパティコード、第2引数にプロパティの型、第3引数にプロパティのサイズを指定する。ここで、第2引数のプロパティの型では、符号有り1バイト(signed char )を「0 」、符号有り2バイト(signed short)を「1 」、符号有り4バイト(signed long )を「2 」、符号無し1バイト(unsigned char )を「3 」、符号無し2バイト(unsigned short)を「4 」、符号無し4バイト(unsigned long )を「5 」で表している。なお、「/*」と「*/」で囲まれた文字列は、上述のコメント欄304と同様に、コメントとして入力された文字列である(以下に説明する各画面においても同様である)。このように、例えばC言語のような汎用的な言語の記述のような記述ができるようにしておくことで、利用者が入力、設定を行いやすくすることができる。
以上のようにして、利用者が入力手段140を介して各欄に入力し、設定した家電機器のプロパティに関するデータを、プロパティコード定義部102が処理して定義を行う。処理して得られたデータは記憶手段120に記憶される。
図5は、ECHONET プロパティ設定画面の例を表す図である。上述のように、プロパティコード定義部102が家電機器側定義プロパティ設定を終了すると、ステップST202に移行する。プロパティコード定義部102は、さらにECHONET プロパティ設定画面を表示手段130に表示させる。そして、入力手段140を介して利用者が入力し、設定したデータに基づいて、ECHONET プロパティに関する定義を行う。
機器種別指定欄501は、設定対象の家電機器(以下、対象機器という)の種別を利用者が選択して指定するために設けた欄である。本実施の形態では利用者は家庭用エアコンを指定する。
プロパティコード指定欄502は、機器種別指定欄501内に指定された機器に対するECHONET プロパティコードを指定するために設けた欄である。ここで、前述したように、各家電機器の種類に応じて設定可能なECHONET プロパティは、ECHONET 規格で規定されており(ECHONET 規格書Version 2.11 APPENDIX ECHONET 機器オブジェクト詳細規定)、そのデータはECHONET 規格記憶部121に記憶されている。そこで、ECHONET プロパティコード指定欄502において、利用者がECHONET のプロパティコードを選択する際に表示手段130に表示される選択肢の項目には、機器種別指定欄501で指定された対象機器について、設定可能なECHONET プロパティのみを表示させるものとする。プロパティコード定義部102は、機器種別指定欄501で指定された家電機器を判断し、ECHONET 記憶部に記憶されたデータに基づいて選択肢の項目を表示させる。あらかじめ定めたものだけを選択肢として表示させることで、利用者のデータ入力の簡便化、ミスの防止を図ることができる。
プロパティ型定義欄503は、家電機器側定義プロパティの型定義欄302と同様に、利用者がプロパティの型を選択入力し、設定するために設けた欄である。また、アクセスルール設定欄504は、ECHONET に接続されたコントローラ、他の家電機器等から、対象機器へのプロパティの設定・取得・通知の可否の指定を選択入力し、設定するために設けた欄である。また、状変時アナウンス有無設定欄505は、対象機器のプロパティの値が変化したとき、ECHONET に接続されたコントローラ、他の機器等に、状態が変化したことを通知するか否かの指定を選択入力し、設定するために設けた欄である。そして、プロパティサイズ定義欄506は、家電機器側定義プロパティのサイズ定義欄303と同様、ECHONET プロパティのサイズを入力し、設定するために設けた欄である。
ここで、ECHONET では、基本的にECHONET プロパティ(コード)に対する型、アクセスルール、状変時アナウンス有無、サイズのデフォルトの値(初期値、通常用いられる値)は規定されている。そこで、プロパティコード定義部102は、機器種別指定欄501及びECHONET プロパティコード指定欄502において、対象機器及び対象機器に対応するプロパティ(コード)が選択されると、選択されたプロパティ(コード)に応じ、ECHONET 規格記憶部121からデータを読み込んで、プロパティ型定義欄503、アクセスルール設定欄504及び状変時アナウンス有無設定欄505の各欄に自動的にデフォルト値を表示させる。そして、変更する場合のみ、利用者は入力手段140を介して、変更する欄を選択し、新たなデータを入力する。
図6は、ECHONET プロパティ設定画面の別の例を表す図である。図5がGUIで設定する例であるのに対し、図6は図4の場合と同様に、スクリプト形式で設定する例である。「rgst_epc」はECHONET プロパティを登録するコマンドであり、第1引数にECHONET プロパティコード、第2引数にプロパティの型、第3引数にアクセスルール、第4引数に状変時アナウンス有無、第5引数にプロパティのサイズを指定する。このコマンドを設定するECHONET プロパティの分だけ記述する。
第2引数のプロパティの型は、図4の家電機器側定義プロパティの設定画面と同様、符号有り1バイト(signed char)を「0 」、符号有り2バイト(signed short)を「1 」、符号有り4バイト(signed long)を「2 」、符号無し1バイト(unsigned char)を「3 」、符号無し2バイト(unsigned short)を「4 」、符号無し4バイト(unsigned long)を「5 」で表す。第3引数のアクセスルールは、設定(Set)、取得(Get)及び通知(Anno )のそれぞれに対する設定値「1 」、「2 」、「4 」を加算した値を指定する。 第4引数の状変時アナウンス有無は、「有」の場合に「1 」、「無」の場合に「0 」を指定する。
図7は、ECHONET プロパティ設定画面のさらに別の例を表す図である。ECHONET プロパティコードに対する型、アクセスルール、状変時アナウンス有無、サイズの値をECHONET 規格のデフォルト値で設定する場合、利用者は、コマンド「rgst_epc_default」を用いて、ECHONET プロパティコードのみを記述(入力)するだけで設定、定義処理を行うことができる。これにより、ECHONET プロパティの入力、設定に関し、利用者のデータ入力の簡略化を図ることができる。
以上のようにして入力等され、設定したデータに対し、プロパティコード定義部102が処理を行い、定義をする。処理したデータは記憶手段120に記憶される。
図8は、プロパティの値の対応関係をテーブル(表)形式で定義するマッピング型対応関係のプロパティ対応関係設定画面の例を表す図である。次に、ステップST203で、プロパティ対応関係定義部103は、家電機器側定義プロパティとECHONET プロパティとの対応関係設定画面を表示させる。そして、入力手段140を介して利用者が入力した指示、データ等に基づいて、家電機器側定義プロパティとECHONET プロパティとの対応関係について設定、定義処理を行う。
利用者は、家電機器側定義プロパティ設定画面において設定した家電機器のプロパティコードのデータを、入力手段140を介し、家電機器側定義プロパティコード設定欄801に入力する。また、ECHONET プロパティコード設定欄802には、家電機器のプロパティコードに対応するECHONET のプロパティコードのデータを入力する。ここで、例えば、記憶手段120に記憶されていないプロパティコードのデータが入力されようとしたものと判断すると、マッピング型対応関係定義部104は、表示手段130にエラー表示をさせるようにしてもよい。
また、家電機器側定義プロパティコード設定欄801に入力された家電機器のプロパティコードに対し、上述した家電機器側定義プロパティコード設定画面のコメント欄304にコメントが入力され、設定されていた場合、コメント欄304と同じコメント(文字列)が自動的に家電機器側定義プロパティのコメント欄803にも表示されるものとする。ECHONET プロパティのコメント欄804も同様に、ECHONET プロパティコード設定欄802に入力されたプロパティコードのデータに基づいて、図5のECHONET プロパティ設定画面のECHONET プロパティコード指定欄502に記述された文字等が表示されるものとする。
家電機器側定義プロパティの値入力欄805及びECHONET プロパティの値入力欄806は、両プロパティの値の対応関係を入力し、設定するための欄である。例えば、家電機器側に定義されたプロパティコード「0x01」の値「0x00」に対応するECHONET 側のプロパティコード「0x80」の値は「0x31」であり、電源Onを意味する。また、家電機器側に定義されたプロパティコード「0x01」の値「0x01」に対応するECHONET 側のプロパティコード「0x80」の値は「0x30」であり、電源Offを意味する。
図9は、マッピング型対応関係のプロパティ対応関係設定画面の別の例を表す図である。図8がGUIで設定する例であるのに対し、図9は図4の場合と同様に、スクリプト形式で設定する例である。「create_map_prop_tbl 」は、プロパティの対応関係を記憶する領域(これをマップという)を確保するためのコマンドであり、第1引数にマップ関係ID、第2引数に家電機器側定義プロパティの数、第3引数にECHONET プロパティの数、第4引数にプロパティの値の対応関係の数を指定する。マップ関係IDとは、各マップに付した番号であり、マップ関係IDが同じであれば、同じマップに属していることを表している。
「rgst_map_prop_rel 」は、プロパティコードの対応関係を指定するコマンドであり、第1引数にマップ関係IDを指定し、第2引数以降に、家電機器側定義プロパティコード及びECHONET プロパティコードを、create_map_prop_tbl で指定した数に従って指定(入力)する。
「rgst_map_prop_val 」は、プロパティの値の対応関係を指定するコマンドであり、第1引数にマップ関係IDを指定し、第2引数以降に、家電機器側定義プロパティの値、続いてECHONET プロパティの値を、create_map_prop_tbl で指定した数に従って指定(入力)する。
図10は、GUIを利用した場合のマッピング型対応関係のプロパティ対応関係設定画面の別の例である。ここでは、家電機器側定義プロパティとECHONET プロパティの対応が1:3であり、1つの家電機器側定義プロパティの値から3つのECHONET プロパティの値が決まり、3つのECHONET プロパティの値の組み合わせによって、1つの家電機器側定義プロパティの値が決まる場合の設定の例である。値の欄が空の場合は、「no care 」であり、プロパティ値を変換する際には、その欄の値は参照しないこととなる。ここでは、1対多の関係で対応関係を定義するが、多対1、多対多の関係も定義することが可能である。
図11は、図10のGUIのプロパティ対応関係設定画面で入力し、設定したことをスクリプト形式により入力し、設定する例である。値が指定されていない引数は、「no care」であることを示す。
図12は、プロパティの値の対応関係を関数の形式で定義する関数型対応関係のプロパティ対応関係設定画面の例を表す図である。上述した表形式での対応関係の定義だけでなく、例えば、対応関係を関数形式で定義することもできる。関数形式での対応関係については、関数型対応関係定義部105が処理を行う。関数型対応関係定義部105は、関数型のプロパティ対応関係設定画面を表示させる。そして、入力手段140を介して利用者が入力した指示、データ等に基づいて、家電機器側定義プロパティとECHONET プロパティとの対応関係について設定、定義処理を行う。家電機器側定義プロパティコード設定欄1201、ECHONET プロパティコード設定欄1202、家電機器側定義プロパティコメント欄1203及びECHONET プロパティコメント欄1204は、それぞれ図8のプロパティ対応関係設定画面の対応する欄と同様のデータが入力される欄である。
家電機器側定義プロパティ変数設定欄1205は、家電機器側定義プロパティの値に対応した変数のシンボルを設定する。ECHONET プロパティ変数設定欄1206は、ECHONET プロパティの値に対応した変数のシンボルを設定する。家電機器→ECHONET プロパティ変換関数記述欄1207は、家電機器側定義プロパティの値をECHONET プロパティの値に変換する式をデータとして記述する。式を記述するために、家電機器側定義プロパティ変数設定欄1205、及びECHONET プロパティ変数設定欄1206で設定した変数のシンボルを利用する。同様に、ECHONET →家電機器プロパティ変換関数記述欄1208は、ECHONET プロパティの値を家電機器側定義プロパティの値に変換する式をデータとして記述する。ここで、例えば、1対多、多対1、多対多の対応関係を定義しようとする場合は、複数のシンボル、式を設定、記述することができる。
図13は、関数型対応関係におけるプロパティ対応関係設定画面の別の例を表す図である。図12がGUIで設定する例であるのに対し、図13はスクリプトで設定する例である。「I2E 」及び「E2I 」は、それぞれ、家電機器側定義プロパティの値をECHONET プロパティの値に変換する関数、及びECHONET プロパティの値を家電機器側定義プロパティの値に変換する関数であり、利用者が入力手段140を介して指示を入力し、定義する。
「create_func_prop_tbl」は、関数型対応関係におけるプロパティの対応関係を記憶する記憶領域を確保するためのコマンドであり、第1引数に関数関係ID、第2引数に家電機器側定義プロパティの数、第3引数にECHONET プロパティの数を指定する。関数関係IDとは、各関数に付した番号であり、関数関係IDが同じであれば、同じ関数により定義されていることを表している。
「rgst_func_prop」は、関数型対応関係におけるプロパティの対応関係を指定するコマンドであり、第1引数に関数関係IDを指定し、第2引数に、家電機器側定義プロパティの値をECHONET プロパティの値に変換する関数名を指定し、第3引数にECHONET プロパティの値を家電機器側定義プロパティの値に変換する関数を指定し、第4引数以降に家電機器側定義プロパティのコード、及びECHONET プロパティのコードを、create_func_prop_tblで指定した数に従って、指定する。
図14は、プロパティ対応関係設定画面の別の例を表す図である。図14のプロパティ対応関係設定画面は、温度設定のような連続値をとるプロパティ値を対応させるときの設定画面である。
家電機器側定義プロパティコード設定欄1401、ECHONET プロパティコード設定欄1402、家電機器側定義プロパティコメント欄1403及びECHONET プロパティコメント欄1404は、それぞれ図8のプロパティ対応関係設定画面の対応する欄と同様である。
家電機器側定義プロパティ値始値設定欄1405は、家電機器側定義プロパティにおける連続値の始値を設定する欄である。ECHONET プロパティ値始値設定欄1406は、ECHONET プロパティにおける連続値の始値を設定する欄である。両者はプロパティ値の変換において対応する値である。
家電機器側定義プロパティ値終値設定欄1407は、家電機器側定義プロパティにおける連続値の終値を設定する欄である。ECHONET プロパティ値終値設定欄1408は、ECHONET プロパティにおける連続値の終値を設定する欄である。両者はプロパティ値の変換において対応する値である。
家電機器側定義プロパティ刻み幅設定欄1409は、家電機器側定義プロパティ値の始値から終値までの値の間隔を設定する欄である。図14の例では、始値から終値まで、「0x0F」、「0x0E」、「0x0D」、…のように、1ずつの間隔の値をとることを示している。
ECHONET プロパティ刻み幅設定欄1410は、ECHONET プロパティ値の始値から終値までの値の間隔を設定する欄である。例えば、図14の例では、始値から終値まで、「16」、「17」、「18」、…のように、1ずつの間隔のプロパティコードの値をとることを示している。
図14のプロパティ対応関係設定画面によって、全てのマッピング関係の値の対応を記述しなくとも、家電機器側定義プロパティ値とECHONET プロパティ値との対応関係を、それぞれ「0x0F」と「16」、「0x0E」と「17」、「0x0D」と「18」、…「0x00」と「31」のように、自動的に定義することができる。
次に、ステップST204で、受信電文解釈定義部106が、受信電文解釈設定画面を表示手段130に表示させる。ここでECHONET 規格に基づいて作成された受信電文の解釈(判断の方法)については、ECHONET 規格書Version 2.11第4部ECHONET 基本API 仕様で規定されており、利用者が特にその解釈を変更をする必要がない。そこで、本実施の形態では、家電機器からの受信電文の解釈を定義する場合について説明する。
図15は、家電機器からの受信電文のどのバイトがどの家電機器側定義プロパティに対応しているかを設定するための受信電文解釈設定画面の例を表す図である。受信バッファ名設定欄1501は、受信電文を格納するバッファ(以下、受信バッファという)に名前を付与するための欄である。図15では「rv_buf」という文字列が名前として入力、設定されている。受信バッファバイト数設定欄1502は、受信バッファのサイズを指定する。本実施の形態では22バイトを指定している。
受信電文条件設定欄1503と受信電文構成記述欄1504とは対応しており、各欄は受信電文に設定する条件と、その条件が成立したときの電文構成をそれぞれ記述するために設けている。利用者は、受信電文条件設定欄1503に、受信バッファの対応するバイト数の値の条件を、AND(&&)、OR(||)またはNOT(! )を使用した論理式で記述する。また、受信電文構成記述欄1504には、受信バッファのどのバイトがどの家電機器側定義プロパティコードに対応するかを記述する。「[ 」と「] 」で囲まれた値は、家電機器側定義プロパティコードを表す。
図15の例では、受信バッファの1バイト目が「0x62」で、かつ受信バッファの5バイト目が「2 」という条件を満たす場合は、受信電文の8バイト目は、家電機器側定義プロパティコード「0x01」のプロパティの値に対応することを示している。同様に、9バイト目は、家電機器側定義プロパティコード「0x02」のプロパティ値に対応し、10バイト目は家電機器側定義プロパティコード「0x03」のプロパティ値に対応し、11バイト目は家電機器側定義プロパティコード「0x04」のプロパティ値に対応し、12バイト目は家電機器側定義プロパティコード「0x05」のプロパティ値に対応することを示している。
また、受信バッファの1バイト目が「0x62」で、かつ受信バッファの5バイト目が「5 」という条件を満たす場合は、受信電文の11バイト目は、家電機器側定義プロパティコード「0x06」のプロパティ値に対応することを示している。
図16は、受信電文解釈設定画面の別の例を表す図である。図15がGUIの画面により設定する例であるのに対し、図16はスクリプト(記述)形式により設定し、定義する例である。図15の受信電文条件設定欄1503の記述はif文の中に記述される。「def_rv_ipc」は、受信バッファと家電機器側定義プロパティとの対応を記述するコマンドであり、第1引数に受信バッファ名、第2引数に家電機器側定義プロパティコードの値を格納する受信バッファ上の位置の始点、第3引数に家電機器側定義プロパティの値を格納するために必要なバイト数、第4引数に家電機器側定義プロパティコードを指定する。
例えば、受信バッファの1バイト目が「0x62」で、5バイト目が「2 」のとき、電源ON/OFFを表す家電機器側プロパティコード「0x01」のプロパティ値は、受信バッファの8バイト目から1バイトの長さで設定されていることを表す。
以上のようにして、利用者が入力手段140を介して所定の欄に入力、設定したデータに基づいて、受信電文解釈定義部106が処理を行う。この処理により定義した受信電文の解釈に関するデータは、記憶手段120に記憶される。
次に、ステップST205で、送信電文設定定義部106が、送信電文設定画面を表示手段130に表示させる。ここで、ECHONET 側への送信電文の設定については、上述したECHONET 規格書Version 2.11第4部ECHONET 基本API 仕様で規定されており、利用者が特にその解釈を変更をする必要がない。そこで、本実施の形態では、家電機器に送信するための送信電文を設定する場合について説明する。
図17は家電機器に送信する送電電文のどのバイトがどの家電機器側定義プロパティに対応しているかを設定するための送信電文設定定義画面の例を表す図である。送信バッファ名設定欄1701は、送信電文を格納するバッファ(以下、送信バッファという)に名前を付与するための欄である。図17では「tr_buf」という文字列が名前として入力されている。送信バッファバイト数設定欄1702は、送信バッファのサイズを指定する。本実施の形態では22バイトを指定している。
送信電文条件設定欄1703と送信電文構成記述欄1704とは対応しており、各欄は送信電文に設定する条件と、その条件が成立したときの電文構成をそれぞれ記述するために設けている。送信電文構成記述欄1704には、家電機器に送信する電文のバイトパターンを記述する。図15の受信電文構成記述欄1504と同様、「[ 」と「] 」で囲まれた値は、家電機器側定義プロパティコードを示す。また、「[ 」と「] 」で囲まれていない値は、送信電文に設定する値を示す。図17の例では、送信電文は、0バイト目に「0xFC」、1バイト目に「0x41」、…、8バイト目に家電機器側定義プロパティコード「0x01」のプロパティの値、9バイト目に家電機器側定義プロパティコード「0x02」のプロパティの値、…、14バイト目に家電機器側定義プロパティコード「0x06」のプロパティ値を設定することを示している。
図18は、送信電文設定画面の別の例を表す図である。図17がGUIで設定する例であるのに対し、図18はスクリプト(記述)形式により設定し定義する例である。送信バッファへの値の代入は、代入演算子「= 」を使用して記述する。「def_tr_ipc」は、送信バッファと家電機器側定義プロパティとの対応を記述するコマンドであり、第1引数に送信バッファ名、第2引数に家電機器側定義プロパティコードの値を格納する送信バッファ上の位置の始点、第3引数に家電機器側定義プロパティの値を格納するために必要なバイト数、第4引数に家電機器側定義プロパティコードを入力指定する。
以上のようにして、利用者が入力手段140を介して入力、設定したデータに基づいて、送信電文設定定義部107が処理を行う。この処理により定義した送信電文の設定に関するデータは、記憶手段120に記憶される。
次に、ステップST206において、プロトコル対応仕様定義ファイル生成部108は、プロパティコード定義部102、プロパティ対応関係定義部103、受信電文解釈定義部106及び送信電文設定定義部107がそれぞれ定義処理を行い、記憶手段140にそれぞれ記憶したデータに基づいて、変換仕様に関するデータとなるプロトコル対応仕様定義ファイルを生成する。
図19は、XMLの形式で記述した本実施の形態におけるプロトコル対応仕様定義ファイルの内容例を表す図である。<PROTOCOL_CONV> はルートタグで、プロトコル変換のデータであることを示す。<IPC_LIST>は、家電機器側定義プロパティのリストを示す。<IPC_ITEM>は家電機器側定義プロパティの定義情報であり、プロパティコード、型、サイズに対応して、それぞれ「code」、「type」、「size」の属性を持つ。
<EPC_LIST>は、ECHONET プロパティのリストを示す。<EPC_ITEM>は、ECHONET プロパティの定義情報であり、プロパティコード、型、アクセスルール、状変時アナウンス有無、サイズに対応して、それぞれ、「code」、「type」、「rule」、「anno」、「size」の属性を持つ。
<CONV_REL>はプロパティの対応関係を示すタグであり、子タグにマッピング型対応関係を示す<MAPPING> と、関数型対応関係を示す<FUNCTION>を持つ。
<MAPPING> の子タグ<MAP_REL_ITEM>は、個々の家電機器側定義プロパティとECHONET プロパティのマッピング型対応関係を示すタグである。<IPC_ITEM>は、対応関係にある家電機器側定義プロパティの情報で、プロパティコードを示す属性「ipc 」と、プロパティの値を示す属性「idt 」を持つ。<EPC_ITEM>は、対応関係にあるECHONET プロパティの情報で、プロパティコードを示す「epc 」と、プロパティの値を示す属性「edt 」を持つ。
<FUNCTION>の子タグ<FUNC_REL>は、個々の家電機器側定義プロパティとECHONET プロパティの関数型対応関係を示すタグである。<FUNC_IPC>は、関数型対応関係における家電機器側定義プロパティの情報を示すタグであり、プロパティコードを示す属性「ipc 」と、プロパティ変換関数の中で、そのプロパティコードを変数で表すときのシンボルを示す属性「var 」を持つ。<FUNC_EPC>は、関数型対応関係におけるECHONET プロパティの情報を示すタグであり、プロパティコードを示す属性「epc 」と、プロパティ変換関数の中で、そのプロパティコードを変数で表すときのシンボルを示す属性「var 」を持つ。<FUNC_I2E>は家電機器側定義プロパティからECHONET プロパティへの変換関数を記述するタグである。変数は、<FUNC_IPC>または<FUNC_EPC>の「var 」属性で定義したシンボルを用いる。<FUNC_EPC>はECHONET プロパティから家電機器側定義プロパティへの変換関数を記述するタグである。変数は、<FUNC_IPC>または<FUNC_EPC>の「var 」属性で定義したシンボルを用いる。
<DEF_RV_BUF>は受信バッファの解釈を定義するタグで、条件を表す<COND>と、家電機器側定義プロパティと受信バッファのバイトとの対応を表す<ALLOT_GET_IPC> を子タグに持つ。
<COND>の子タグ<AND>は、<AND>の子タグ<EQ_BUF_BYTE_VAL> が全て真のときに真であると判定するタグである。<EQ_BUF_BYTE_VAL> は、バッファの名前を示す属性「name」、バッファの位置(バイト)を示す属性「pos 」、値を示す「val 」を属性に持ち、[name]で指定されたバッファ名の「pos 」で指定されたバイトの位置の値が、「val 」で指定された値であれば、真であると判定する。
<ALLOT_GET_IPC> バッファの名前を示す属性「name」、バッファの位置(バイト)を示す属性「pos 」、データの長さを表す属性「len 」、及び、家電機器側定義プロパティコードを指定する属性「code」を持ち、受信バッファのバイトと家電機器側定義プロパティとを対応付けるタグである。
<DEF_TR_BUF>は送信バッファの設定を定義するタグで、条件を表す<COND>、バッファに値を設定する<SET_BUF_BYTE>、及び家電機器側定義プロパティと送信バッファのバイトとの対応を表す<ALLOT_SET_IPC> を子タグに持つ。<SET_BUF_BYTE>は、バッファの名前を示す属性「name」、バッファの位置(バイト)を示す属性「pos 」、値を示す「val 」を属性に持ち、「name」で指定されたバッファ名の「pos 」で指定されたバイトの位置に、「val 」で指定された値を設定する。<ALLOT_SET_IPC>バッファの名前を示す属性「name」、バッファの位置(バイト)を示す属性「pos 」、データの長さを表す属性「len 」及び、家電機器側定義プロパティコードを指定する属性「code」を持ち、送信バッファのバイトと家電機器側定義プロパティとを対応付けるタグである。
次に、ステップST207で、プロトコル変換コード生成手段110は、プロトコル対応仕様定義ファイルに基づいて、プロトコル変換プログラムコードを生成する。
図20は、プロトコル変換プログラムコードの例を表す図である。本実施の形態においては、プログラムコードに用いる言語としてForthを用いる。Forthは逆ポーランド記法に基づく言語であり、構文解析が簡単又は不要なため、処理系が小さく、省資源でインタプリタが動作するという特徴を持つ。このため、家電機器のアダプタのように、低コストで実現することが要求される機器に搭載するインタプリタとしては、最適な言語である。
図20では、ANS規格で規定されたForth のWord(Programming Languages−Forth X3J14 dpANS-6-June 30,1993)に加え、プロトコル変換用の拡張Wordとして、「RGST_IPC」、「RGST_EPC」、「RGST_MAP_PROP_REL 」、「RGST_MAP_PROP_VAL 」、「RGST_FUNC_PROP」、「SET_SEND_IPC」、「GET_IPC 」、「FROM_ECHONET」、「TO_EQUIPMENT」、「FROM_EQUIPMENT」というWordを用いている。
「RGST_IPC」は、家電機器側定義プロパティコード、プロパティの型、データサイズのデータから、家電機器側定義プロパティを登録するWordである。「RGST_EPC」は、ECHONET プロパティコード、プロパティの型、アクセスルール、状変時アナウンス有無、データサイズのデータから、ECHONET プロパティを登録するWordである。
「RGST_MAP_PROP_REL 」は、マッピング型対応関係にある家電機器側定義プロパティの数とECHONET プロパティの数、コード、対応数を記憶し、マップ関係IDを付与するWordである。「RGST_MAP_PROP_VAL 」は、マップ関係IDを指定して、プロパティ値の対応を登録するWordである。
「RGST_FUNC_PROP」は、関数型対応関係にある家電機器側定義プロパティの数とECHONET プロパティの数、コード、変換関数名を登録するWordである。
「SET_SEND_IPC」は、マッピング型プロパティ関係または関数型プロパティ関係の設定情報に従って、家電機器側定義プロパティをECHONET プロパティに変換して、ECHONET 側に送信するWordである。「GET_IPC 」は、ECHONET プロパティを受信して家電機器側定義プロパティに変換するWordである。
「FROM_ECHONET 」は、ECHONET からの受信の有無をチェックするWordである。「TO_EQUIPMENT」は、送信バッファのデータを家電機器に送信するWordである。「FROM_EQUIPMENT」は、家電機器からの受信データを受信バッファに格納するWordである。
図20に示したプログラムコードでは、プロパティの設定とプロパティ対応関係の設定を行い、さらに家電機器からの受信電文の解釈と家電機器への送信電文の設定を行う関数を定義している。メイン処理は、無限ループになっており、ECHONET 側からの受信電文に基づいて、ECHONET プロパティを家電機器側定義プロパティに変換して、送信電文を生成し、家電機器側に送信する。一方、家電機器側からの受信電文に基づいて、家電機器側定義プロパティをECHONET プロパティに変換して、送信電文を生成し、ECHONET 側に送信する、という処理を行う。
最後にステップST208において、コード出力部112がプログラムコードのデータを出力する。場合によっては、データの変換を行う。出力形態については、例えば、印刷媒体(例えばQRコード)、電子記憶媒体(カード、シリコンメモリ)等がある。媒体等を介してアダプタに記憶されたプログラムコードに基づいて、アダプタは、例えばインタプリタによるプログラムの逐次実行を行い、通信電文を変換する。以上のような手順により、電文の仕様とプロパティの対応関係を入力することにより、図20のような、データ量の少ないプロトコル変換プログラム(コード)を自動的に生成することができる。アダプタに記憶されたプログラムコードに基づいて、アダプタは、例えばインタプリタによるプログラムの逐次実行を行い、通信電文を変換する。
以上のように、本実施の形態によれば、プロトコル変換プログラム作成支援装置100のプロトコル対応関係入力処理手段101は、プロパティコード定義部102とプロパティ対応関係定義部103を備えるので、プロトコル変換におけるプロパティコードをはじめとする各プロトコルにおける通信電文のプロパティの定義、プロトコル間のプロパティの対応関係の定義を、簡易なインタフェースを利用し、利用者が定型的な手順で入力することによりプロトコル変換プログラムコードを生成できるようにすることで、利用者のプロトコル変換プログラムの作成負荷を軽減することができる。
また、プロパティ対応関係定義部103が、マッピング型対応関係定義部104と関数型対応関係定義部105で構成されているので、プロパティの値の対応関係を、プロパティの取り得る値に従った最適な形式で定義することができる。
また、プロパティ対応関係定義部103におけるプロパティ値の対応付けを、対応関係の始値、終値、及び刻み幅で設定することにより、プロパティ値の全ての対応のパターンを利用者が列挙しなくとも、プロパティの値の対応関係を自動的に定義することができる。
また、プロトコル対応関係入力処理手段101に、受信電文解釈定義部106と送信電文設定定義部107をさらに備え、設定画面を表示手段130に表示させ、通信電文とプロパティとの対応関係を簡易なインタフェースを利用し、利用者が定型的な手順で入力することによりプロトコル変換プログラムコードを生成できるようにすることで、利用者のプロトコル変換プログラムの作成負荷を軽減することができる。
また、プロパティコード定義部102、マッピング対応関係定義部104、関数型対応関係定義部105、受信電文解釈定義部106、送信電文設定定義部107は、それぞれ設定用の画面を表示手段130に表示させ、利用者が、GUI形式によって、対応する欄へのデータ入力、選択等による設定が行えるようにしたので、利用者のプロトコル変換プログラム(コード)の作成負荷を軽減することができる。
また、プロパティコード定義部102、マッピング対応関係定義部104、関数型対応関係定義部105、受信電文解釈定義部106、送信電文設定定義部107は、利用者がスクリプトの形式で記述する場合にも対応できるようにしたので、専用のGUI環境(設定画面等)を用いなくても例えば、従来のようなテキストエディタ等の軽い環境で、設定の作成・追加・改修を行うことができる。
また、記憶手段120に記憶された仕様変換記憶部122を参照し、プロパティコード定義部102、マッピング対応関係定義部104、関数型対応関係定義部105、受信電文解釈定義部106、送信電文設定定義部107の定義により得られたデータをプロトコル対応仕様定義ファイルにすることで、仕様のデータ形式に関係なく、利用者のプロトコル変換プログラムの作成負荷を軽減することができる。また、別の仕様に変更する場合も、仕様変換記憶部122のデータを変更するだけでよい。
また、プロトコル対応関係入力処理手段101にプロトコル対応仕様定義ファイル生成部108を備え、プロトコルの対応の変換仕様のデータであるプロトコル対応仕様定義ファイルを、XML等の汎用のデータ形式で規定し、生成するようにしたので、プロトコル対応関係入力処理手段101の独自の処理方式に依存しない形で、変換仕様のデータ生成を実現することができる。場合によっては、プロトコル変換プログラムコード生成手段110を独立させることができる。また、プログラム言語の変更等にもすぐに対応することもできる。
また、プロトコル変換プログラム作成支援装置100は、プロトコル変換プログラムコード生成手段110を備え、プロトコル対応関係入力処理手段101が生成した変換仕様のデータに基づいて、プロトコル変換のプログラムコードの全部又は一部を生成するようにしたので、プロトコル変換プログラムの作成負荷を軽減することができる。
また、プロトコル変換プログラムコード生成手段が生成するプロトコル変換プログラムコードの言語を、構文解析が簡単又は不要なForth のような逆ポーランド記法に基づく言語とすることにより、少ないリソースで動作可能なプログラムコードを生成するプロトコル変換プログラム作成支援装置100を実現することができる。
また、独自の通信プロトコルを有する家電機器とECHONET との間での通信電文の送受信に対するプロトコル変換を行うためのプログラムを作成するための支援を行うので、例えば、なじみが少ないこれらのプロトコルに対しても利用者が対応することができ、プログラムの作成負荷を軽減することができる。
実施の形態2.
上述の実施の形態において、利用者は、プロトコル対応関係入力処理手段101の各部が表示手段130に表示させた画面に基づいて、データを入力し、設定を行った。しかしながら、これに限定されるものではなく、プロトコル対応関係入力処理手段101では、必ずしもプログラムを動作させるための全ての情報を入力する必要はない。例えば、図12の家電機器→ECHONET プロパティ変換関数記述欄1207やECHONET →家電機器プロパティ変換関数記述欄1208を空欄にしておいて、関数型対応関係定義部105による定義を行わず、生成したプロトコル変換プログラムコードに対して、例えばForth 言語にて、プログラムコードに変換関数に相当するWordを追加するように利用してもよい。また、変換仕様のデータの段階において、記述(データ)を追加することもできる。これにより、利用者の力量に応じて自由にプロパティの定義、プログラムコードの生成等を行うことができる。さらに、上述の実施の形態では、プログラムコードにはForth 言語を用いているが、本発明が適用できるプログラムコードはこれに限定するものではなく、他のポーランド記述言語をはじめ、様々な種類のプログラム(コード)の作成に対応することができる。また、変換仕様のデータについても必ずしもXMLによる記述データでなくてもよい。さらに家電機器とECHONET 間だけでなく他のプロトコル変換に適用することもできる。
実施の形態3.
上述の実施の形態1において、プロパティコード定義部102が、ステップST201において家電機器側プロパティに関する定義を行い、ステップST202において、ECHONET プロパティに関する定義を行うようにしているが、実行順序が逆でもよい。また、受信電文解釈定義部106と送信電文設定定義部107とが行う処理の順序についても、逆でもよい。
プロトコル変換プログラム作成支援装置を中心としたブロック図である。 プロトコル変換プログラム作成支援装置の動作を示すフロー図である。 家電機器側定義プロパティ設定画面の例を表す図である。 家電機器側定義プロパティの設定画面の別の例を表す図である。 ECHONET プロパティ設定画面の例を表す図である。 ECHONET プロパティ設定画面の別の例を表す図である。 ECHONET プロパティ設定画面のさらに別の例を表す図である。 マッピング型対応関係のプロパティ対応関係設定画面を表す図である。 マッピング型対応関係の設定画面の別の例の図である。 マッピング型対応関係の設定画面のさらに別の例の図である。 図10の設定をスクリプト形式により入力し、設定する例である。 関数型対応関係のプロパティ対応関係設定画面の例を表す図である。 関数型対応関係のプロパティ対応関係設定画面の別の例である。 プロパティ対応関係設定画面の別の例を表す図である。 受信電文解釈設定画面の例を表す図である。 受信電文解釈設定画面の別の例を表す図である。 送信電文設定定義画面の例を表す図である。 送信電文設定画面の別の例を表す図である。 プロトコル対応仕様定義ファイルの内容例を表す図である。 プロトコル変換プログラムコードの例を表す図である。
符号の説明
100 プロトコル変換プログラム作成支援装置、101 プロトコル対応関係入力処理手段、102 プロパティコード定義部、103 プロパティ対応関係定義部、104 マッピング型対応関係定義部、105 関数型対応関係定義部、106 受信電文解釈定義部、107 送信電文設定定義部、108 プロトコル対応仕様定義ファイル生成部、110 プロトコル変換コード生成手段、111 変換コード生成部、112 コード出力部、120 記憶手段、121 ECHONET 規格記憶部、122 仕様変換記憶部、123 コード変換記憶部、124 仕様定義データ記憶部、125 プログラムコード記憶部、130 表示手段、140 入力手段、301 プロパティコード設定欄、302 プロパティ型定義欄、303 プロパティサイズ定義欄、304 コメント欄、501 機器種別指定欄、502 プロパティコード指定欄、503 プロパティ型定義欄、504 アクセスルール設定欄、505 状変時アナウンス有無設定欄、506 プロパティサイズ定義欄、801 家電機器側定義プロパティコード設定欄、802 ECHONET プロパティコード設定欄、803 家電機器側定義プロパティのコメント欄、804 ECHONET プロパティのコメント欄、805 家電機器側定義プロパティの値入力欄、806 ECHONET プロパティの値入力欄、1201 家電機器側定義プロパティコード設定欄、1202 ECHONET プロパティコード設定欄、1203 家電機器側定義プロパティコメント欄、1204 ECHONET プロパティコメント欄、1205 家電機器側定義プロパティ変数設定欄、1206 ECHONET プロパティ変数設定欄、1207 家電機器→ECHONET プロパティ変換関数記述欄、1208 ECHONET→家電機器プロパティ変換関数記述欄、1401 家電機器側定義プロパティコード設定欄、1402 ECHONET プロパティコード設定欄、1403 家電機器側定義プロパティコメント欄、1404 ECHONET プロパティコメント欄、1405 家電機器側定義プロパティ値始値設定欄、1406 ECHONET プロパティ値始値設定欄、1407 家電機器側定義プロパティ値終値設定欄、1408 ECHONET プロパティ値終値設定欄、1409 家電機器側定義プロパティ刻み幅設定欄、1410 ECHONET プロパティ刻み幅設定欄、1501 受信バッファ名設定欄、1502 受信バッファバイト数設定欄、1503 受信電文条件設定欄、1504 受信電文構成記述欄、1701 送信バッファ名設定欄、1702 送信バッファバイト数設定欄、1703 送信電文条件設定欄、1704 送信電文構成記述欄。

Claims (12)

  1. 入力されたデータに基づいて、複数の通信電文における通信プロトコルのデータ構成及び/又は前記通信プロトコル間におけるデータの対応関係を定義し、変換に係る仕様のデータを生成するプロトコル対応関係入力処理手段を備え、
    前記プロトコル対応関係入力処理手段は、
    前記通信電文のデータに対して付されるプロパティについて、各通信プロトコルの各プロパティに対してプロパティコードを定義するプロパティコード定義部と、
    前記複数の通信プロトコルにおいて定義された前記プロパティコード及び前記プロパティの値を対応させて、前記通信プロトコル間の前記プロパティの対応関係を定義するプロパティ対応関係定義部と
    から構成されることを特徴とするプロトコル変換プログラム作成支援装置。
  2. 前記プロパティ対応関係定義部は、
    前記通信プロトコル間の前記プロパティの値のデータに対し、表形式により対応関係を定義するマッピング型対応関係定義部と、
    前記通信プロトコル間の前記プロパティの値のデータに対し、関数形式により対応関係を定義する関数型対応関係定義部と
    のうち、少なくとも一方を備えることを特徴とする請求項1記載のプロトコル変換プログラム作成支援装置。
  3. 前記通信プロトコル間の前記プロパティの値について、それぞれ入力された、前記プロパティの値の始値、終値及びプロパティの値の間隔である刻み幅のデータに基づいて、前記プロパティの値の対応関係を自動的に定義することを特徴とする請求項1又は2記載のプロトコル変換プログラム作成支援装置。
  4. 前記プロトコル対応関係入力処理手段は、
    受信した前記通信電文の内容を判断するため、前記通信電文のデータ構成のパターンと前記プロパティとの関係を定義する受信電文解釈定義部と、
    前記内容を変換し、送信する前記通信電文のデータ構成のパターンと前記プロパティとの関係を定義する送信電文設定定義部と
    をさらに備えることを特徴とする請求項1乃至3のいずれかに記載のプロトコル変換プログラム作成支援装置。
  5. 前記プロトコル対応関係入力処理手段を構成する各部は、表示手段に複数のデータ入力欄を表示させ、前記データ入力欄に基づいて入力されたデータに対し、前記データ入力欄から前記データの内容を判断し、定義することを特徴とする請求項1乃至4のいずれかに記載のプロトコル変換プログラム作成支援装置。
  6. 前記プロトコル対応関係入力処理手段を構成する各部は、表示手段に記述入力欄を表示させ、前記記述入力欄に基づいて記述入力されたスクリプト形式のデータに対し、前記データの内容を判断し、定義することを特徴とする請求項1乃至4のいずれかに記載のプロトコル変換プログラム作成支援装置。
  7. 記憶手段に記憶された仕様変換用のデータに基づいて、前記プロトコル対応関係入力処理手段を構成する各部の定義により得られたデータから前記変換に係る仕様のデータを生成することを特徴とする請求項1乃至6のいずれかに記載のプロトコル変換プログラム作成支援装置。
  8. 前記プロトコル対応関係入力処理手段は、汎用のデータ形式の前記変換に係る仕様のデータを生成するプロトコル対応仕様定義ファイル生成部をさらに備えることを特徴とする請求項1乃至7のいずれかに記載のプロトコル変換プログラム作成支援装置。
  9. 前記プロトコル対応関係入力処理手段が生成した前記変換に係る仕様のデータに基づいて、ある通信プロトコルの通信電文を別の通信プロトコルの通信電文に変換する処理を実行するためのプログラムコードの全部又は一部を生成するプロトコル変換プログラムコード生成手段をさらに備えることを特徴とする請求項1乃至8のいずれかに記載のプロトコル変換プログラム作成支援装置。
  10. 前記プロトコル変換プログラムコード生成手段が生成するプロトコル変換プログラムコードは、逆ポーランド記法に基づく言語で記述されることを特徴とする請求項9記載のプロトコル変換プログラム作成支援装置。
  11. 前記通信プロトコルの少なくとも一方が、家庭用電気機器が通信電文を送受信するための通信プロトコルであることを特徴とする請求項1乃至10のいずれかに記載のプロトコル変換プログラム作成支援装置。
  12. 前記通信電文にデータとして含まれるプロパティについて、各通信プロトコルの各プロパティに対し、プロパティコードを定義する処理手順と、
    前記複数の通信プロトコルにおいて定義された前記プロパティコード及び前記プロパティの値を対応させて、前記通信プロトコル間の前記プロパティの対応関係を定義する処理手順と、
    記憶手段に記憶された仕様変換用のデータに基づいて、定義により得られたデータから前記変換に係る仕様のデータ生成する処理手順と、
    前記変換に係る仕様のデータに基づいて、ある通信プロトコルの通信電文を別の通信プロトコルの通信電文に変換する処理を実行するためのプログラムコードの全部又は一部を生成する処理手順と
    をコンピュータに行わせることを特徴とするプロトコル変換プログラム作成支援プログラム。
JP2005220238A 2005-07-29 2005-07-29 プロトコル変換プログラム作成支援装置及び作成支援プログラム Expired - Fee Related JP4738086B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005220238A JP4738086B2 (ja) 2005-07-29 2005-07-29 プロトコル変換プログラム作成支援装置及び作成支援プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005220238A JP4738086B2 (ja) 2005-07-29 2005-07-29 プロトコル変換プログラム作成支援装置及び作成支援プログラム

Publications (2)

Publication Number Publication Date
JP2007036937A true JP2007036937A (ja) 2007-02-08
JP4738086B2 JP4738086B2 (ja) 2011-08-03

Family

ID=37795600

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005220238A Expired - Fee Related JP4738086B2 (ja) 2005-07-29 2005-07-29 プロトコル変換プログラム作成支援装置及び作成支援プログラム

Country Status (1)

Country Link
JP (1) JP4738086B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016081459A (ja) * 2014-10-22 2016-05-16 シャープ株式会社 情報処理装置、情報処理システム、情報処理方法および情報処理プログラム
JP2019118148A (ja) * 2019-04-11 2019-07-18 Kddi株式会社 情報提供装置、及び情報提供方法
WO2020170780A1 (ja) * 2019-02-22 2020-08-27 パナソニックIpマネジメント株式会社 ゲートウェイ装置、通信方法およびコンピュータプログラム

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0553607A (ja) * 1991-08-26 1993-03-05 Nippon Telegr & Teleph Corp <Ntt> 装置制御コンピユータおよび装置制御方法
JPH06274453A (ja) * 1993-03-17 1994-09-30 Nippon Telegr & Teleph Corp <Ntt> クライアント・サーバ型システムにおけるプロトコル処理方式
JPH08185316A (ja) * 1994-12-27 1996-07-16 Matsushita Electric Ind Co Ltd 通信プロトコル記述支援装置
JPH09107387A (ja) * 1995-10-06 1997-04-22 Hitachi Ltd プロトコル変換ゲートウェイシステム
JP2000244551A (ja) * 1998-12-21 2000-09-08 Mitsubishi Electric Corp ゲートウェイ装置
JP2001014008A (ja) * 1999-06-29 2001-01-19 Digital Electronics Corp データ転送システム、データ転送方法およびデータ転送のためのプログラムが記録された記録媒体
JP2002116987A (ja) * 2000-10-05 2002-04-19 Mitsubishi Electric Corp 変換規則・入力プログラム生成装置及びその方法並びに変換規則・入力フォーム生成装置及びその方法並びにクライアントサーバシステム
JP2005073055A (ja) * 2003-08-26 2005-03-17 Sharp Corp ネットワークアダプタとネットワークアダプタと接続可能な家電機器
JP2005102060A (ja) * 2003-09-26 2005-04-14 Toshiba Consumer Marketing Corp データ構造、外部サーバ、ホーム通信装置及びコマンドデータの通信方法
JP2006215826A (ja) * 2005-02-03 2006-08-17 Mitsubishi Electric Corp プログラムコード生成支援装置及び方法並びにプログラムコード生成支援方法のプログラム

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0553607A (ja) * 1991-08-26 1993-03-05 Nippon Telegr & Teleph Corp <Ntt> 装置制御コンピユータおよび装置制御方法
JPH06274453A (ja) * 1993-03-17 1994-09-30 Nippon Telegr & Teleph Corp <Ntt> クライアント・サーバ型システムにおけるプロトコル処理方式
JPH08185316A (ja) * 1994-12-27 1996-07-16 Matsushita Electric Ind Co Ltd 通信プロトコル記述支援装置
JPH09107387A (ja) * 1995-10-06 1997-04-22 Hitachi Ltd プロトコル変換ゲートウェイシステム
JP2000244551A (ja) * 1998-12-21 2000-09-08 Mitsubishi Electric Corp ゲートウェイ装置
JP2001014008A (ja) * 1999-06-29 2001-01-19 Digital Electronics Corp データ転送システム、データ転送方法およびデータ転送のためのプログラムが記録された記録媒体
JP2002116987A (ja) * 2000-10-05 2002-04-19 Mitsubishi Electric Corp 変換規則・入力プログラム生成装置及びその方法並びに変換規則・入力フォーム生成装置及びその方法並びにクライアントサーバシステム
JP2005073055A (ja) * 2003-08-26 2005-03-17 Sharp Corp ネットワークアダプタとネットワークアダプタと接続可能な家電機器
JP2005102060A (ja) * 2003-09-26 2005-04-14 Toshiba Consumer Marketing Corp データ構造、外部サーバ、ホーム通信装置及びコマンドデータの通信方法
JP2006215826A (ja) * 2005-02-03 2006-08-17 Mitsubishi Electric Corp プログラムコード生成支援装置及び方法並びにプログラムコード生成支援方法のプログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016081459A (ja) * 2014-10-22 2016-05-16 シャープ株式会社 情報処理装置、情報処理システム、情報処理方法および情報処理プログラム
WO2020170780A1 (ja) * 2019-02-22 2020-08-27 パナソニックIpマネジメント株式会社 ゲートウェイ装置、通信方法およびコンピュータプログラム
JPWO2020170780A1 (ja) * 2019-02-22 2021-12-16 パナソニックIpマネジメント株式会社 ゲートウェイ装置、通信方法およびコンピュータプログラム
JP7113319B2 (ja) 2019-02-22 2022-08-05 パナソニックIpマネジメント株式会社 ゲートウェイ装置、通信方法およびコンピュータプログラム
JP2019118148A (ja) * 2019-04-11 2019-07-18 Kddi株式会社 情報提供装置、及び情報提供方法

Also Published As

Publication number Publication date
JP4738086B2 (ja) 2011-08-03

Similar Documents

Publication Publication Date Title
CA2334233C (en) Graphical user interface engine for embedded systems
CN101795270A (zh) 一种基于串口的服务器控制方法
JP4638250B2 (ja) プログラムコード生成支援装置及び方法並びにプログラムコード生成支援方法のプログラム
US9418539B2 (en) Remote control apparatus and electronic device remotely controlled by the same
US20170344364A1 (en) System and method for data compatibility across heterogeneous machine architectures
JP4738086B2 (ja) プロトコル変換プログラム作成支援装置及び作成支援プログラム
CN107622006B (zh) 移动装置测试系统和用于测试移动装置的方法
CN108475267A (zh) 用于可执行内容和可执行内容流分发的系统和方法
JP5808922B2 (ja) 空調機制御インターフェース装置、空気調和機および空調機制御システム
JP2013257685A (ja) 機器管理装置、機器管理方法および機器管理プログラム
JP2018132875A (ja) プログラマブルロジックコントローラシステム、プログラマブルロジックコントローラ、通信テスト支援装置、通信テスト支援方法、及び通信テスト支援装置で実行することが可能なコンピュータプログラム
CN108255849A (zh) 将JavaBean转换成XML文件的方法、装置及系统
CN112286511A (zh) 配置工业自动化部件的方法及工业自动化部件
US20230247115A1 (en) Protocol driver creating device
JP2002232978A (ja) ネットワーク上の機器を制御するためのリモコン装置、変換器、及び制御システム
JP3904865B2 (ja) 制御システム、そのプログラムおよび記録媒体
KR102103822B1 (ko) 모드버스 통신 테스트 방법
CN117614799B (zh) 一种基于模型分层映射的传感器协议适配方法及装置
US20070044022A1 (en) Method, unit and system for outputting data
KR100462895B1 (ko) 엑스 엠 엘 데이터 파일을 이용한 명령어 선택적 처리장치 및 그 방법
JP7159027B2 (ja) ユーザーインタフェース提供装置、ユーザーインタフェース提供方法、プログラム及び組み込み機器
KR102103821B1 (ko) 모드버스 통신 테스트 장치
JP2004302880A (ja) プログラマブル・ロジック・コントローラ、プログラムエディタ装置、それらのプログラムおよび記録媒体
JP2010282248A (ja) プログラム言語解析実行プログラム
Czauski et al. NERD--No Effort Rapid Development: A Framework for Provisioning Mobile Cloud Industrial Control Applications

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100603

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100629

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100811

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101207

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110117

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: 20110419

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110426

R150 Certificate of patent or registration of utility model

Ref document number: 4738086

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140513

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees