(57)【特許請求の範囲】
【請求項１】
入力されたデータに基づいて、複数の通信電文における通信プロトコルのデータ構成及び／又は前記通信プロトコル間におけるデータの対応関係を定義し、変換に係る仕様のデータを生成するプロトコル対応関係入力処理手段を備え、
前記プロトコル対応関係入力処理手段は、
前記通信電文のデータに対して付されるプロパティについて、各通信プロトコルの各プロパティに対してプロパティコードを定義するプロパティコード定義部と、
前記複数の通信プロトコルにおいて定義された前記プロパティコード及び前記プロパティの値を対応させて、前記通信プロトコル間の前記プロパティの対応関係を定義するプロパティ対応関係定義部と、
受信した前記通信電文の内容を判断するため、前記通信電文を格納するバッファ、前記受信に係る通信電文のデータ構成のパターンに関する条件及び該条件と前記プロパティとの対応関係を定義する受信電文解釈定義部と、
前記内容を変換し、送信するための前記通信電文を格納するバッファ、送信に係る通信電文のデータ構成のパターンに関する条件及び該条件と前記プロパティとの対応関係を定義する送信電文設定定義部と
を有することを特徴とするプロトコル変換プログラム作成支援装置。
【請求項２】
前記プロパティ対応関係定義部は、
前記通信プロトコル間の前記プロパティの値のデータに対し、表形式により対応関係を定義するマッピング型対応関係定義部と、
前記通信プロトコル間の前記プロパティの値のデータに対し、関数形式により対応関係を定義する関数型対応関係定義部と
のうち、少なくとも一方を備えることを特徴とする請求項１記載のプロトコル変換プログラム作成支援装置。
【請求項３】
前記通信プロトコル間の前記プロパティの値について、それぞれ入力された、前記プロパティの値の始値、終値及びプロパティの値の間隔である刻み幅のデータに基づいて、前記プロパティの値の対応関係を自動的に定義することを特徴とする請求項１又は２記載のプロトコル変換プログラム作成支援装置。
【請求項４】
前記プロトコル対応関係入力処理手段を構成する各部は、表示手段に複数のデータ入力欄を表示させ、前記データ入力欄に基づいて入力されたデータに対し、前記データ入力欄から前記データの内容を判断し、定義することを特徴とする請求項１乃至３のいずれかに記載のプロトコル変換プログラム作成支援装置。
【請求項５】
前記プロトコル対応関係入力処理手段を構成する各部は、表示手段に記述入力欄を表示させ、前記記述入力欄に基づいて記述入力されたスクリプト形式のデータに対し、前記データの内容を判断し、定義することを特徴とする請求項１乃至３のいずれかに記載のプロトコル変換プログラム作成支援装置。
【請求項６】
記憶手段に記憶された仕様変換用のデータに基づいて、前記プロトコル対応関係入力処理手段を構成する各部の定義により得られたデータから前記変換に係る仕様のデータを生成することを特徴とする請求項１乃至５のいずれかに記載のプロトコル変換プログラム作成支援装置。
【請求項７】
前記プロトコル対応関係入力処理手段は、汎用のデータ形式の前記変換に係る仕様のデータを生成するプロトコル対応仕様定義ファイル生成部をさらに備えることを特徴とする請求項１乃至６のいずれかに記載のプロトコル変換プログラム作成支援装置。
【請求項８】
前記プロトコル対応関係入力処理手段が生成した前記変換に係る仕様のデータに基づいて、ある通信プロトコルの通信電文を別の通信プロトコルの通信電文に変換する処理を実行するためのプログラムコードの全部又は一部を生成するプロトコル変換プログラムコード生成手段をさらに備えることを特徴とする請求項１乃至７のいずれかに記載のプロトコル変換プログラム作成支援装置。
【請求項９】
前記プロトコル変換プログラムコード生成手段が生成するプロトコル変換プログラムコードは、逆ポーランド記法に基づく言語で記述されることを特徴とする請求項８記載のプロトコル変換プログラム作成支援装置。
【請求項１０】
前記通信プロトコルの少なくとも一方が、家庭用電気機器が通信電文を送受信するための通信プロトコルであることを特徴とする請求項１乃至９のいずれかに記載のプロトコル変換プログラム作成支援装置。
【請求項１１】
前記通信電文にデータとして含まれるプロパティについて、各通信プロトコルの各プロパティに対し、プロパティコードを定義する処理手順と、
前記複数の通信プロトコルにおいて定義された前記プロパティコード及び前記プロパティの値を対応させて、前記通信プロトコル間の前記プロパティの対応関係を定義する処理手順と、
受信した前記通信電文の内容を判断するための通信電文を格納するバッファ、前記受信に係る通信電文のデータ構成のパターンに関する条件及び該条件と前記プロパティとの対応関係を定義する処理手順と、
前記内容を変換し、送信するための前記通信電文を格納するバッファ、送信に係る通信電文のデータ構成のパターンに関する条件及び該条件と前記プロパティとの対応関係を定義する処理手順と、
記憶手段に記憶された仕様変換用のデータに基づいて、定義により得られたデータから前記変換に係る仕様のデータ生成する処理手順と、
前記変換に係る仕様のデータに基づいて、ある通信プロトコルの通信電文を別の通信プロトコルの通信電文に変換する処理を実行するためのプログラムコードの全部又は一部を生成する処理手順と
をコンピュータに行わせることを特徴とするプロトコル変換プログラム作成支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信プロトコル（データ、データを含む信号等の構成等に関する規約）が異なる機器（ネットワーク）間において、それぞれの機器が処理を行えるように、通信プロトコルの相互変換処理を行う装置に実行させるプログラム（プログラムコードも含む）の作成支援をする装置及びプログラムに関するものである。
【背景技術】
【０００２】
従来のプロトコル変換支援装置は、プロトコルに依存する部分と、プロトコルに依存しない部分を分離してプログラムを記述する手段を提供することにより、プログラムの保守性や拡張性を高めていた（例えば特許文献１参照）。
【特許文献１】特開２０００−１２２９３６号公報（第１頁〜５頁、第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来のプロトコル変換プログラム作成支援装置は、プロトコル変換プログラムの作成において、最も開発負荷の高い通信電文の変換処理を行うプログラム作成に多大な時間と労力を要するという問題点があった。
【０００４】
例えば、近年、家庭用電気機器（以下、家電機器という）同士を連携動作させるため、有線又は無線のネットワークで家電機器の相互接続が実現されつつある。家電機器は、各種類、製造者等が異なると、それぞれ独自のプロトコルが設定・定義されていることが多い。そこで、これらの家電機器間をアダプタの機能を有する装置等を介して、共通のプロトコルによる電文伝送がされるネットワークと接続する。装置等はネットワークと家電機器との間で接続された家電機器に合わせたプロトコルの変換処理を行う。
【０００５】
各装置等は、接続された家電機器に合わせたプロトコルを変換する処理を行うためのプログラム（変換を行うために必要なデータも含む）を、例えばネットワーク、記録媒体等を介してデータとして入力し、記憶手段に記憶するようにすれば、あらかじめ各家電機器に合わせた変換処理を行う装置を製造しておかなくてもよく、汎用性を持たせることができる。また、最新のデータに更新させることも可能である。
【０００６】
ここで、例えば、上記のような使用形態において、接続される家電機器によるプログラムに係るデータ量の違い、プログラムに係るデータを入力する時間等を考慮すると、同じ処理を行うためのプログラムに係るデータ量はできる限り少ない方がよい。ただ、このような条件を満たすプログラムは一般的なものではないことが多く、そのため、上述したようにプログラムの作成者の時間と労力の負担は大きなものとなる。
【０００７】
この発明は、上記のような問題点を解決するためになされたもので、異なるプロトコルの設定、定義、各プロトコルの対応関係の設定等、プログラムに関するデータを、作成者が効率的に入力できるインタフェースを提供し、入力されたデータに基づいたプログラムの作成支援処理を行うプロトコル変換プログラム作成支援装置及び方法を提供することにより、プロトコル変換処理プログラムの開発負荷を軽減させることを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係るプロトコル変換プログラム作成支援装置は、入力されたデータに基づいて、複数の通信電文における通信プロトコルのデータ構成及び／又は通信プロトコル間におけるデータの対応関係を定義し、変換に係る仕様のデータを生成するプロトコル対応関係入力処理手段を備え、プロトコル対応関係入力処理手段は、通信電文のデータに対して付されるプロパティについて、各通信プロトコルの各プロパティに対してプロパティコードを定義するプロパティコード定義部と、複数の通信プロトコルにおいて定義されたプロパティコード及びプロパティの値を対応させて、通信プロトコル間のプロパティの対応関係を定義するプロパティ対応関係定義部と、受信した通信電文の内容を判断するための通信電文を格納するバッファ、受信に係る通信電文のデータ構成のパターンに関する条件及び条件とプロパティとの対応関係を定義する受信電文解釈定義部と、内容を変換し、送信するための通信電文を格納するバッファ、送信に係る通信電文のデータ構成のパターンに関する条件及び条件とプロパティとの対応関係を定義する送信電文設定定義部とを有するものである。
【発明の効果】
【０００９】
本発明によれば、プロトコル対応関係入力処理手段に、プロパティコード定義部とプロパティ対応関係定義部を備えるようにしたので、プロトコル変換におけるプロパティコードをはじめとする各プロトコルにおける通信電文のプロパティの定義、プロトコル間のプロパティの対応関係の定義を、簡易なインタフェースを利用し、利用者が定型的な手順で入力することによりプロトコル変換プログラムコードを生成できるようになり、利用者のプロトコル変換プログラムの作成負荷を軽減することができる。通信電文を構成する各通信プロトコルの各プロパティをプロパティコードで定義し、管理することで、生成されるプログラムコードにおいて条件文等の記述を少なくすることで、プログラムコードに係るデータ量を少なくすることができる。そのため、転送するデータ量が少なくなったり、メモリ等の記憶容量が少なく、データ量の制限を受ける機器に対しても対応したりすることができる。
【発明を実施するための最良の形態】
【００１０】
実施の形態１．
図１はこの発明の実施の形態１によるプロトコル変換プログラム作成支援装置１００を中心とする構成を示すブロック図である。本実施の形態では、家庭用エアコン（家電機器）の制御を行うための状態、指示等のデータを含む通信電文（データを含む信号）に関する通信プロトコル（以下、単にプロトコルという）と、家電機器同士を連携させつつ制御を行うホームネットワークの規格であるECHONET （ECHONET はECHONET コンソーシアムの商標である。以下同じ）で規定されたプロトコルとの相互変換を行い、それぞれのネットワークにあった通信電文の伝送を行うプログラムの作成支援を例に説明する。
【００１１】
家電機器側では、例えば機種ごとに設定された独自のプロトコルに従って指示、センサ（図示せず）による計測等に基づく状態を表すデータを含む通信電文の送受信が行われる。一方、ECHONET 側では、規格化されたプロトコルに従って通信電文の送受信が行われる。そのため、家電機器同士をホームネットワークを介して接続する場合、各家電機器にはアダプタ機能を実現する装置等（特に独立した装置でなく、例えば家電機器に内蔵されたものでもよい。以下、アダプタという）が必要となる。そして、このアダプタが、家電機器のプロトコルに合わせたプロトコル変換処理を行うため、アダプタに実行させる、本実施の形態で説明するようなプロトコル変換プログラムの作成が必要になる。
【００１２】
図１において、プロトコル対応関係入力処理手段１０１は、プロトコル変換に対する定義を行うため、プログラム作成者（以下、利用者という）の各種データの入力を支援する。そして、処理を行い、入力、設定されたデータを定義し、変換仕様に関するデータであるプロトコル対応仕様定義ファイルを生成する。プロトコル対応関係入力処理手段１０１は、プロパティコード定義部１０２、プロパティ対応関係定義部１０３、受信電文解釈定義部１０６、送信電文設定定義部１０７及びプロトコル対応仕様定義ファイル生成部１０８により構成される。プロパティ対応関係定義部１０３は、さらにマッピング型対応関係定義部１０４及び関数型対応関係定義部１０５により構成される。
【００１３】
プロパティコード定義部１０２は、変換を行う各プロトコルにおける、プロパティに関するデータの入力（記述）、設定を行わせるための画面を表示手段１３０に表示させる。そして、入力、設定されたデータを処理し、各プロパティに対して、プロパティコードを定義する。これにより、各プロパティはプロパティコードで管理されることになる。ここで、プロパティとは、通信電文に含まれるデータが有する意味内容を表すものである。特に本実施の形態においては、例えば、電源Ｏｎ／Ｏｆｆ、運転モード、設定温度等、機器の状態を表す属性を意味するものとする。そして、その属性の値となるプロパティの値が通信電文にデータとして含まれる。
【００１４】
プロパティ対応関係定義部１０３は、プロパティ対応関係に関するデータの入力（記述）、設定を行わせるための画面を表示手段１３０に表示させる。そして、入力、設定されたデータを処理し、家電機器のプロパティ（以下、家電機器側定義プロパティという）とECHONET のプロパティ（以下、ECHONET プロパティという）の対応関係（プロパティの値の対応関係も含む）を定義する。ここで、マッピング型対応関係定義部１０４は、家電機器側定義プロパティの値とECHONET プロパティの値とをテーブル（表）形式で定義するために設けられている。また、関数型対応関係定義部１０５は、家電機器側定義プロパティの値とECHONET プロパティの値とを関数形式で定義するために設けられている。なお、ここではマッピング型対応関係定義部１０４と関数型対応関係定義部１０５の両方を有しているが、必要に応じてどちらか一方でもよい。
【００１５】
受信電文解釈定義部１０６は、アダプタが通信電文を受信した（以下、この電文を受信電文という）際に、受信電文中のデータの内容を解釈（判断）するため、受信電文が持ち得るデータ構成（特にプロパティ）のパターン（バイトパターン）とプロパティの関係を定義する。一方、送信電文設定定義部１０７は、アダプタがプロトコル変換処理を行い、通信電文を送信する（以下、この通信電文を送信電文という）ために、送信電文が持ち得るデータ構成のパターン（バイトパターン）とプロパティの関係を定義する。
【００１６】
プロトコル対応仕様定義ファイル生成部１０８は、上述した各部が定義等を行うことによって得られたデータに基づいて処理を行い、例えば、ＸＭＬ（eXtensible  Markup  Language）等の汎用のデータ記述形式に基づく変換仕様のデータ（プロトコル対応仕様定義ファイル）にする。一度、汎用のデータ記述形式のデータにしてからプログラムに変換することにより、プロトコル対応関係入力処理手段１０１の処理のみに依存しない、汎用的な仕様のデータを作成することができる。
【００１７】
また、プロトコル変換コード生成手段１１０は変換コード生成部１１１とコード出力部１１２とで構成される。変換コード生成部１１１は、上述したプロトコル対応仕様定義ファイルに基づいて、アダプタが実行するプロトコル変換プログラムの実行コードの全部または一部であるプロトコル変換プログラムコードをデータとして生成する。コード出力部１１２は、対応する出力デバイス（例えば、カードメモリ等の電子記録媒体）に合わせた形式のデータにプログラムコードを変換し、出力デバイスに出力させる処理を行う。
【００１８】
記憶手段１２０は、プロトコル対応関係入力処理手段１０１、プロトコル変換コード生成手段１１０の各部が処理した又は処理をするために必要なデータを一時的又は長期的に記憶する手段である。記憶手段１２０は、少なくともECHONET 規格記憶部１２１、仕様変換記憶部１２２、コード変換記憶部１２３、仕様定義データ記憶部１２４及びプログラムコード記憶部１２５で構成される。
【００１９】
ここで、ECHONET では各種の家電機器に対し、プロパティコード、プロパティの値等、プロパティに関するデータが規定されている。ECHONET 規格記憶部１２１は、規定されたECHONET プロパティに関するデータを記憶する。仕様変換記憶部１２２は、プロトコル対応仕様定義ファイル生成部１０８がプロトコル対応仕様定義ファイルを生成する際の変換用データを記憶する。例えば、各部が定義して記憶手段１２０に記憶する独自の形式で定義がなされたデータに、プロトコル対応仕様定義ファイル生成部１０８が仕様変換記憶部１２２を参照しながら変換（例えば構文の変換）を行うことで汎用的なデータ形式のプロトコル対応仕様定義ファイルを生成することができる。これによりプロトコル対応仕様定義ファイルに汎用性を持たせることができる。また、コード変換記憶部１２３についても、変換コード生成部１１１がプロトコル変換プログラムコードを生成する際の変換用データを記憶する。また、記憶手段１２０には、他にも、以下に説明するように、データ入力を行わせるための表示を表示手段１３０に行わせるための表示用データ等、プロトコル変換プログラム作成支援装置１００がプログラム作成支援を行うために実行するプログラム等が記憶されている。
【００２０】
ＣＲＴ、液晶等の表示手段１３０は、プロトコル変換コード生成手段１１０からの送信される表示用の信号に基づいて表示を行う。また、キーボード、マウス等で構成される入力手段１４０は、利用者が入力した指示、データ等を信号に含めてプロトコル変換プログラム作成支援装置１００に送信する。
【００２１】
ここで、本実施の形態では、プロトコル変換プログラム作成支援装置１００は、例えばＣＰＵ（Central Prosessing Unit ）を中心としたコンピュータ等の制御演算処理装置で構成されている。そして、装置の各手段、各部における処理手順をあらかじめプログラム化しておき、そのプログラムを各制御演算処理装置が実行することで、各手段、各部の処理を実現する。なお、本実施の形態では、プロトコル変換プログラム作成支援装置１００を１つの装置として構成しているが、これには限定されない。例えば、装置を構成する各手段、各部がそれぞれ独立した又は組み合わせた装置であってもよい。これは記憶手段１２０に関しても同様であり、各記憶部を独立した記憶手段で構成するようにしてもよい。
【００２２】
図２はプロトコル変換プログラム作成支援装置の処理動作の流れを示すフロー図である。次に処理動作について説明する。まず、ステップＳＴ２０１で、プロパティコード定義部１０２は、家電機器側定義プロパティ設定画面を表示手段１３０に表示させ、入力手段１４０を介して利用者から入力された指示、データ等に基づいて定義に関する処理を行う。以下、特に断らない限り、プロトコル対応関係入力処理手段１０１の各部は、各設定画面を表示させ、利用者が入力手段１４０を介してデータを入力するものとする。そして、各部は入力されたデータに基づいて定義等の処理を行うものとする。
【００２３】
図３は、家電機器側定義プロパティ設定画面の例を表す図である。図３の画面では、例えば各入力事項に対応した欄を設け、ＧＵＩ（Graphical User Interface）に基づく利用者のデータ入力を図っている。プロパティコード設定欄３０１は、家電機器が保有するプロパティに対してプロパティコードを設定し、付与（定義）するために設けた欄である。プロパティコードとは、プロパティを識別するため、各プロパティに対してそれぞれ付すユニークなコードである。独自のプロトコルの通信電文においてプロパティにコードが付されていることは少ないので利用者がプロパティコードを定義する。家電機器側においてプロパティコードを定義し、このプロパティコードを介して通信プロトコル（電文）の変換をすることで、直接的に通信電文を変更するプログラム（コード）を作成した場合に比べて、例えば条件文（if〜then）を少なくした記載をすることができ、プログラムに係るデータ量を少なくすることができる。また、アダプタの処理負荷を軽減することもできる。ここでは、プロパティコードを１番（１６進数表示で「0x01」）から順に付与するものとする。
【００２４】
プロパティ型定義欄３０２は、プロパティの値（プロパティの状態を表すための値。例えば温度を表す連続的な数値、Ｏｎだと「1 」、Ｏｆｆだと「0 」のような論理値もある）を示すのに必要な型を定義するために設けた欄である。本実施の形態では、プロパティコード定義部１０２は、利用者の指示に基づいて、符号有り１バイト（signed char ）、符号有り２バイト（signed short）、符号有り４バイト（signed long ）、符号無し１バイト（unsigned char ）、符号無し２バイト（unsigned short）、符号無し４バイト（unsigned long ）をメニューとして表示手段１３０に表示させる。利用者は、表示されたメニューの中からいずれか１つの型を入力手段１４０を介して選択することで各プロパティの型を設定するものとする。
【００２５】
プロパティサイズ定義欄３０３では、プロパティの値を示すために必要なデータのサイズ（量）を定義する。本実施の形態におけるサイズは、バイト（１バイトは８ビット）単位で定義するものとする。ここで、上述したプロパティ型定義欄３０２で指定した型により、最低限必要となるバイト数が規定されるため、利用者がプロパティサイズ定義欄３０３に入力し、定義するサイズは、規定されたバイト数の倍数になる。２倍以上のときは、プロパティ型定義欄３０２で指定した型の配列となる。コメント欄３０４は、例えば、家電機器側定義プロパティコードの意味を利用者が識別しやすくするため、利用者が任意に文字等を入力し、記録等をするための欄である。
【００２６】
利用者は、図３に示された家電機器側プロパティ設定画面に基づいて、入力手段１４０を介して各欄に合わせて定義すべきデータを入力し、設定する。プロパティコード定義部１０２は、設定されたデータ等に基づいて処理を行い、家電機器で設定可能なプロパティに関する定義を行う。
【００２７】
図４は、家電機器側定義プロパティの設定画面の別の例を表す図である。図３は、ＧＵＩの画面を表示手段１３０に表示させ、各欄へのデータ入力、選択等を行いながら設定し、定義する例であった。これに対し、図４は、利用者がスクリプトとなる文字列（コマンド、データ）を入力手段１４０を介して記述（入力）することにより、スクリプト（記述）形式により設定し、プロパティコード定義部１０２が処理を行って定義する例である。「rgst_ipc」は、家電機器側定義プロパティを登録するコマンドであり、第１引数にプロパティコード、第２引数にプロパティの型、第３引数にプロパティのサイズを指定する。ここで、第２引数のプロパティの型では、符号有り１バイト（signed char ）を「0 」、符号有り２バイト（signed short）を「1 」、符号有り４バイト（signed long ）を「2 」、符号無し１バイト（unsigned char ）を「3 」、符号無し２バイト（unsigned short）を「4 」、符号無し４バイト（unsigned long ）を「5 」で表している。なお、「/*」と「*/」で囲まれた文字列は、上述のコメント欄３０４と同様に、コメントとして入力された文字列である（以下に説明する各画面においても同様である）。このように、例えばＣ言語のような汎用的な言語の記述のような記述ができるようにしておくことで、利用者が入力、設定を行いやすくすることができる。
【００２８】
以上のようにして、利用者が入力手段１４０を介して各欄に入力し、設定した家電機器のプロパティに関するデータを、プロパティコード定義部１０２が処理して定義を行う。処理して得られたデータは記憶手段１２０に記憶される。
【００２９】
図５は、ECHONET プロパティ設定画面の例を表す図である。上述のように、プロパティコード定義部１０２が家電機器側定義プロパティ設定を終了すると、ステップＳＴ２０２に移行する。プロパティコード定義部１０２は、さらにECHONET プロパティ設定画面を表示手段１３０に表示させる。そして、入力手段１４０を介して利用者が入力し、設定したデータに基づいて、ECHONET プロパティに関する定義を行う。
【００３０】
機器種別指定欄５０１は、設定対象の家電機器（以下、対象機器という）の種別を利用者が選択して指定するために設けた欄である。本実施の形態では利用者は家庭用エアコンを指定する。
【００３１】
プロパティコード指定欄５０２は、機器種別指定欄５０１内に指定された機器に対するECHONET プロパティコードを指定するために設けた欄である。ここで、前述したように、各家電機器の種類に応じて設定可能なECHONET プロパティは、ECHONET 規格で規定されており（ECHONET 規格書Version ２．１１  APPENDIX  ECHONET 機器オブジェクト詳細規定）、そのデータはECHONET 規格記憶部１２１に記憶されている。そこで、ECHONET プロパティコード指定欄５０２において、利用者がECHONET のプロパティコードを選択する際に表示手段１３０に表示される選択肢の項目には、機器種別指定欄５０１で指定された対象機器について、設定可能なECHONET プロパティのみを表示させるものとする。プロパティコード定義部１０２は、機器種別指定欄５０１で指定された家電機器を判断し、ECHONET 記憶部に記憶されたデータに基づいて選択肢の項目を表示させる。あらかじめ定めたものだけを選択肢として表示させることで、利用者のデータ入力の簡便化、ミスの防止を図ることができる。
【００３２】
プロパティ型定義欄５０３は、家電機器側定義プロパティの型定義欄３０２と同様に、利用者がプロパティの型を選択入力し、設定するために設けた欄である。また、アクセスルール設定欄５０４は、ECHONET に接続されたコントローラ、他の家電機器等から、対象機器へのプロパティの設定・取得・通知の可否の指定を選択入力し、設定するために設けた欄である。また、状変時アナウンス有無設定欄５０５は、対象機器のプロパティの値が変化したとき、ECHONET に接続されたコントローラ、他の機器等に、状態が変化したことを通知するか否かの指定を選択入力し、設定するために設けた欄である。そして、プロパティサイズ定義欄５０６は、家電機器側定義プロパティのサイズ定義欄３０３と同様、ECHONET プロパティのサイズを入力し、設定するために設けた欄である。
【００３３】
ここで、ECHONET では、基本的にECHONET プロパティ（コード）に対する型、アクセスルール、状変時アナウンス有無、サイズのデフォルトの値（初期値、通常用いられる値）は規定されている。そこで、プロパティコード定義部１０２は、機器種別指定欄５０１及びECHONET プロパティコード指定欄５０２において、対象機器及び対象機器に対応するプロパティ（コード）が選択されると、選択されたプロパティ（コード）に応じ、ECHONET 規格記憶部１２１からデータを読み込んで、プロパティ型定義欄５０３、アクセスルール設定欄５０４及び状変時アナウンス有無設定欄５０５の各欄に自動的にデフォルト値を表示させる。そして、変更する場合のみ、利用者は入力手段１４０を介して、変更する欄を選択し、新たなデータを入力する。
【００３４】
図６は、ECHONET プロパティ設定画面の別の例を表す図である。図５がＧＵＩで設定する例であるのに対し、図６は図４の場合と同様に、スクリプト形式で設定する例である。「rgst_epc」はECHONET プロパティを登録するコマンドであり、第１引数にECHONET プロパティコード、第２引数にプロパティの型、第３引数にアクセスルール、第４引数に状変時アナウンス有無、第５引数にプロパティのサイズを指定する。このコマンドを設定するECHONET プロパティの分だけ記述する。
【００３５】
第２引数のプロパティの型は、図４の家電機器側定義プロパティの設定画面と同様、符号有り１バイト（signed char）を「0 」、符号有り２バイト（signed short）を「1 」、符号有り４バイト（signed long）を「2 」、符号無し１バイト（unsigned char）を「3 」、符号無し２バイト（unsigned short）を「4 」、符号無し４バイト（unsigned long）を「5 」で表す。第３引数のアクセスルールは、設定（Set）、取得（Get）及び通知（Anno ）のそれぞれに対する設定値「1 」、「2 」、「4 」を加算した値を指定する。 第４引数の状変時アナウンス有無は、「有」の場合に「1 」、「無」の場合に「0 」を指定する。
【００３６】
図７は、ECHONET プロパティ設定画面のさらに別の例を表す図である。ECHONET プロパティコードに対する型、アクセスルール、状変時アナウンス有無、サイズの値をECHONET 規格のデフォルト値で設定する場合、利用者は、コマンド「rgst_epc_default」を用いて、ECHONET プロパティコードのみを記述（入力）するだけで設定、定義処理を行うことができる。これにより、ECHONET プロパティの入力、設定に関し、利用者のデータ入力の簡略化を図ることができる。
【００３７】
以上のようにして入力等され、設定したデータに対し、プロパティコード定義部１０２が処理を行い、定義をする。処理したデータは記憶手段１２０に記憶される。
【００３８】
図８は、プロパティの値の対応関係をテーブル（表）形式で定義するマッピング型対応関係のプロパティ対応関係設定画面の例を表す図である。次に、ステップＳＴ２０３で、プロパティ対応関係定義部１０３は、家電機器側定義プロパティとECHONET プロパティとの対応関係設定画面を表示させる。そして、入力手段１４０を介して利用者が入力した指示、データ等に基づいて、家電機器側定義プロパティとECHONET プロパティとの対応関係について設定、定義処理を行う。
【００３９】
利用者は、家電機器側定義プロパティ設定画面において設定した家電機器のプロパティコードのデータを、入力手段１４０を介し、家電機器側定義プロパティコード設定欄８０１に入力する。また、ECHONET プロパティコード設定欄８０２には、家電機器のプロパティコードに対応するECHONET のプロパティコードのデータを入力する。ここで、例えば、記憶手段１２０に記憶されていないプロパティコードのデータが入力されようとしたものと判断すると、マッピング型対応関係定義部１０４は、表示手段１３０にエラー表示をさせるようにしてもよい。
【００４０】
また、家電機器側定義プロパティコード設定欄８０１に入力された家電機器のプロパティコードに対し、上述した家電機器側定義プロパティコード設定画面のコメント欄３０４にコメントが入力され、設定されていた場合、コメント欄３０４と同じコメント（文字列）が自動的に家電機器側定義プロパティのコメント欄８０３にも表示されるものとする。ECHONET プロパティのコメント欄８０４も同様に、ECHONET プロパティコード設定欄８０２に入力されたプロパティコードのデータに基づいて、図５のECHONET プロパティ設定画面のECHONET プロパティコード指定欄５０２に記述された文字等が表示されるものとする。
【００４１】
家電機器側定義プロパティの値入力欄８０５及びECHONET プロパティの値入力欄８０６は、両プロパティの値の対応関係を入力し、設定するための欄である。例えば、家電機器側に定義されたプロパティコード「0x01」の値「0x00」に対応するECHONET 側のプロパティコード「0x80」の値は「0x31」であり、電源Ｏｎを意味する。また、家電機器側に定義されたプロパティコード「0x01」の値「0x01」に対応するECHONET 側のプロパティコード「0x80」の値は「0x30」であり、電源Ｏｆｆを意味する。
【００４２】
図９は、マッピング型対応関係のプロパティ対応関係設定画面の別の例を表す図である。図８がＧＵＩで設定する例であるのに対し、図９は図４の場合と同様に、スクリプト形式で設定する例である。「create_map_prop_tbl 」は、プロパティの対応関係を記憶する領域（これをマップという）を確保するためのコマンドであり、第１引数にマップ関係ＩＤ、第２引数に家電機器側定義プロパティの数、第３引数にECHONET プロパティの数、第４引数にプロパティの値の対応関係の数を指定する。マップ関係ＩＤとは、各マップに付した番号であり、マップ関係ＩＤが同じであれば、同じマップに属していることを表している。
【００４３】
「rgst_map_prop_rel 」は、プロパティコードの対応関係を指定するコマンドであり、第１引数にマップ関係ＩＤを指定し、第２引数以降に、家電機器側定義プロパティコード及びECHONET プロパティコードを、create_map_prop_tbl で指定した数に従って指定（入力）する。
【００４４】
「rgst_map_prop_val 」は、プロパティの値の対応関係を指定するコマンドであり、第１引数にマップ関係ＩＤを指定し、第２引数以降に、家電機器側定義プロパティの値、続いてECHONET プロパティの値を、create_map_prop_tbl で指定した数に従って指定（入力）する。
【００４５】
図１０は、ＧＵＩを利用した場合のマッピング型対応関係のプロパティ対応関係設定画面の別の例である。ここでは、家電機器側定義プロパティとECHONET プロパティの対応が１：３であり、１つの家電機器側定義プロパティの値から３つのECHONET プロパティの値が決まり、３つのECHONET プロパティの値の組み合わせによって、１つの家電機器側定義プロパティの値が決まる場合の設定の例である。値の欄が空の場合は、「no care 」であり、プロパティ値を変換する際には、その欄の値は参照しないこととなる。ここでは、１対多の関係で対応関係を定義するが、多対１、多対多の関係も定義することが可能である。
【００４６】
図１１は、図１０のＧＵＩのプロパティ対応関係設定画面で入力し、設定したことをスクリプト形式により入力し、設定する例である。値が指定されていない引数は、「no care」であることを示す。
【００４７】
図１２は、プロパティの値の対応関係を関数の形式で定義する関数型対応関係のプロパティ対応関係設定画面の例を表す図である。上述した表形式での対応関係の定義だけでなく、例えば、対応関係を関数形式で定義することもできる。関数形式での対応関係については、関数型対応関係定義部１０５が処理を行う。関数型対応関係定義部１０５は、関数型のプロパティ対応関係設定画面を表示させる。そして、入力手段１４０を介して利用者が入力した指示、データ等に基づいて、家電機器側定義プロパティとECHONET プロパティとの対応関係について設定、定義処理を行う。家電機器側定義プロパティコード設定欄１２０１、ECHONET プロパティコード設定欄１２０２、家電機器側定義プロパティコメント欄１２０３及びECHONET プロパティコメント欄１２０４は、それぞれ図８のプロパティ対応関係設定画面の対応する欄と同様のデータが入力される欄である。
【００４８】
家電機器側定義プロパティ変数設定欄１２０５は、家電機器側定義プロパティの値に対応した変数のシンボルを設定する。ECHONET プロパティ変数設定欄１２０６は、ECHONET プロパティの値に対応した変数のシンボルを設定する。家電機器→ECHONET プロパティ変換関数記述欄１２０７は、家電機器側定義プロパティの値をECHONET プロパティの値に変換する式をデータとして記述する。式を記述するために、家電機器側定義プロパティ変数設定欄１２０５、及びECHONET プロパティ変数設定欄１２０６で設定した変数のシンボルを利用する。同様に、ECHONET →家電機器プロパティ変換関数記述欄１２０８は、ECHONET プロパティの値を家電機器側定義プロパティの値に変換する式をデータとして記述する。ここで、例えば、１対多、多対１、多対多の対応関係を定義しようとする場合は、複数のシンボル、式を設定、記述することができる。
【００４９】
図１３は、関数型対応関係におけるプロパティ対応関係設定画面の別の例を表す図である。図１２がＧＵＩで設定する例であるのに対し、図１３はスクリプトで設定する例である。「I2E 」及び「E2I 」は、それぞれ、家電機器側定義プロパティの値をECHONET プロパティの値に変換する関数、及びECHONET プロパティの値を家電機器側定義プロパティの値に変換する関数であり、利用者が入力手段１４０を介して指示を入力し、定義する。
【００５０】
「create_func_prop_tbl」は、関数型対応関係におけるプロパティの対応関係を記憶する記憶領域を確保するためのコマンドであり、第１引数に関数関係ＩＤ、第２引数に家電機器側定義プロパティの数、第３引数にECHONET プロパティの数を指定する。関数関係ＩＤとは、各関数に付した番号であり、関数関係ＩＤが同じであれば、同じ関数により定義されていることを表している。
【００５１】
「rgst_func_prop」は、関数型対応関係におけるプロパティの対応関係を指定するコマンドであり、第１引数に関数関係ＩＤを指定し、第２引数に、家電機器側定義プロパティの値をECHONET プロパティの値に変換する関数名を指定し、第３引数にECHONET プロパティの値を家電機器側定義プロパティの値に変換する関数を指定し、第４引数以降に家電機器側定義プロパティのコード、及びECHONET プロパティのコードを、create_func_prop_tblで指定した数に従って、指定する。
【００５２】
図１４は、プロパティ対応関係設定画面の別の例を表す図である。図１４のプロパティ対応関係設定画面は、温度設定のような連続値をとるプロパティ値を対応させるときの設定画面である。
【００５３】
家電機器側定義プロパティコード設定欄１４０１、ECHONET プロパティコード設定欄１４０２、家電機器側定義プロパティコメント欄１４０３及びECHONET プロパティコメント欄１４０４は、それぞれ図８のプロパティ対応関係設定画面の対応する欄と同様である。
【００５４】
家電機器側定義プロパティ値始値設定欄１４０５は、家電機器側定義プロパティにおける連続値の始値を設定する欄である。ECHONET プロパティ値始値設定欄１４０６は、ECHONET プロパティにおける連続値の始値を設定する欄である。両者はプロパティ値の変換において対応する値である。
【００５５】
家電機器側定義プロパティ値終値設定欄１４０７は、家電機器側定義プロパティにおける連続値の終値を設定する欄である。ECHONET プロパティ値終値設定欄１４０８は、ECHONET プロパティにおける連続値の終値を設定する欄である。両者はプロパティ値の変換において対応する値である。
【００５６】
家電機器側定義プロパティ刻み幅設定欄１４０９は、家電機器側定義プロパティ値の始値から終値までの値の間隔を設定する欄である。図１４の例では、始値から終値まで、「0x0F」、「0x0E」、「0x0D」、…のように、１ずつの間隔の値をとることを示している。
【００５７】
ECHONET プロパティ刻み幅設定欄１４１０は、ECHONET プロパティ値の始値から終値までの値の間隔を設定する欄である。例えば、図１４の例では、始値から終値まで、「16」、「17」、「18」、…のように、１ずつの間隔のプロパティコードの値をとることを示している。
【００５８】
図１４のプロパティ対応関係設定画面によって、全てのマッピング関係の値の対応を記述しなくとも、家電機器側定義プロパティ値とECHONET プロパティ値との対応関係を、それぞれ「0x0F」と「16」、「0x0E」と「17」、「0x0D」と「18」、…「0x00」と「31」のように、自動的に定義することができる。
【００５９】
次に、ステップＳＴ２０４で、受信電文解釈定義部１０６が、受信電文解釈設定画面を表示手段１３０に表示させる。ここでECHONET 規格に基づいて作成された受信電文の解釈（判断の方法）については、ECHONET 規格書Version ２．１１第４部ECHONET 基本API 仕様で規定されており、利用者が特にその解釈を変更をする必要がない。そこで、本実施の形態では、家電機器からの受信電文の解釈を定義する場合について説明する。
【００６０】
図１５は、家電機器からの受信電文のどのバイトがどの家電機器側定義プロパティに対応しているかを設定するための受信電文解釈設定画面の例を表す図である。受信バッファ名設定欄１５０１は、受信電文を格納するバッファ（以下、受信バッファという）に名前を付与するための欄である。図１５では「rv_buf」という文字列が名前として入力、設定されている。受信バッファバイト数設定欄１５０２は、受信バッファのサイズを指定する。本実施の形態では２２バイトを指定している。
【００６１】
受信電文条件設定欄１５０３と受信電文構成記述欄１５０４とは対応しており、各欄は受信電文に設定する条件と、その条件が成立したときの電文構成をそれぞれ記述するために設けている。利用者は、受信電文条件設定欄１５０３に、受信バッファの対応するバイト数の値の条件を、AND（&&）、OR（||）またはNOT（! ）を使用した論理式で記述する。また、受信電文構成記述欄１５０４には、受信バッファのどのバイトがどの家電機器側定義プロパティコードに対応するかを記述する。「[ 」と「] 」で囲まれた値は、家電機器側定義プロパティコードを表す。
【００６２】
図１５の例では、受信バッファの１バイト目が「0x62」で、かつ受信バッファの５バイト目が「2 」という条件を満たす場合は、受信電文の８バイト目は、家電機器側定義プロパティコード「0x01」のプロパティの値に対応することを示している。同様に、９バイト目は、家電機器側定義プロパティコード「0x02」のプロパティ値に対応し、１０バイト目は家電機器側定義プロパティコード「0x03」のプロパティ値に対応し、１１バイト目は家電機器側定義プロパティコード「0x04」のプロパティ値に対応し、１２バイト目は家電機器側定義プロパティコード「0x05」のプロパティ値に対応することを示している。
【００６３】
また、受信バッファの１バイト目が「0x62」で、かつ受信バッファの５バイト目が「5 」という条件を満たす場合は、受信電文の１１バイト目は、家電機器側定義プロパティコード「0x06」のプロパティ値に対応することを示している。
【００６４】
図１６は、受信電文解釈設定画面の別の例を表す図である。図１５がＧＵＩの画面により設定する例であるのに対し、図１６はスクリプト（記述）形式により設定し、定義する例である。図１５の受信電文条件設定欄１５０３の記述はif文の中に記述される。「def_rv_ipc」は、受信バッファと家電機器側定義プロパティとの対応を記述するコマンドであり、第１引数に受信バッファ名、第２引数に家電機器側定義プロパティコードの値を格納する受信バッファ上の位置の始点、第３引数に家電機器側定義プロパティの値を格納するために必要なバイト数、第４引数に家電機器側定義プロパティコードを指定する。
【００６５】
例えば、受信バッファの１バイト目が「0x62」で、５バイト目が「2 」のとき、電源ON／OFFを表す家電機器側プロパティコード「0x01」のプロパティ値は、受信バッファの８バイト目から１バイトの長さで設定されていることを表す。
【００６６】
以上のようにして、利用者が入力手段１４０を介して所定の欄に入力、設定したデータに基づいて、受信電文解釈定義部１０６が処理を行う。この処理により定義した受信電文の解釈に関するデータは、記憶手段１２０に記憶される。
【００６７】
次に、ステップＳＴ２０５で、送信電文設定定義部１０６が、送信電文設定画面を表示手段１３０に表示させる。ここで、ECHONET 側への送信電文の設定については、上述したECHONET 規格書Version ２．１１第４部ECHONET 基本API 仕様で規定されており、利用者が特にその解釈を変更をする必要がない。そこで、本実施の形態では、家電機器に送信するための送信電文を設定する場合について説明する。
【００６８】
図１７は家電機器に送信する送電電文のどのバイトがどの家電機器側定義プロパティに対応しているかを設定するための送信電文設定定義画面の例を表す図である。送信バッファ名設定欄１７０１は、送信電文を格納するバッファ（以下、送信バッファという）に名前を付与するための欄である。図１７では「tr_buf」という文字列が名前として入力されている。送信バッファバイト数設定欄１７０２は、送信バッファのサイズを指定する。本実施の形態では２２バイトを指定している。
【００６９】
送信電文条件設定欄１７０３と送信電文構成記述欄１７０４とは対応しており、各欄は送信電文に設定する条件と、その条件が成立したときの電文構成をそれぞれ記述するために設けている。送信電文構成記述欄１７０４には、家電機器に送信する電文のバイトパターンを記述する。図１５の受信電文構成記述欄１５０４と同様、「[ 」と「] 」で囲まれた値は、家電機器側定義プロパティコードを示す。また、「[ 」と「] 」で囲まれていない値は、送信電文に設定する値を示す。図１７の例では、送信電文は、０バイト目に「0xFC」、１バイト目に「0x41」、…、８バイト目に家電機器側定義プロパティコード「0x01」のプロパティの値、９バイト目に家電機器側定義プロパティコード「0x02」のプロパティの値、…、１４バイト目に家電機器側定義プロパティコード「0x06」のプロパティ値を設定することを示している。
【００７０】
図１８は、送信電文設定画面の別の例を表す図である。図１７がＧＵＩで設定する例であるのに対し、図１８はスクリプト（記述）形式により設定し定義する例である。送信バッファへの値の代入は、代入演算子「= 」を使用して記述する。「def_tr_ipc」は、送信バッファと家電機器側定義プロパティとの対応を記述するコマンドであり、第１引数に送信バッファ名、第２引数に家電機器側定義プロパティコードの値を格納する送信バッファ上の位置の始点、第３引数に家電機器側定義プロパティの値を格納するために必要なバイト数、第４引数に家電機器側定義プロパティコードを入力指定する。
【００７１】
以上のようにして、利用者が入力手段１４０を介して入力、設定したデータに基づいて、送信電文設定定義部１０７が処理を行う。この処理により定義した送信電文の設定に関するデータは、記憶手段１２０に記憶される。
【００７２】
次に、ステップＳＴ２０６において、プロトコル対応仕様定義ファイル生成部１０８は、プロパティコード定義部１０２、プロパティ対応関係定義部１０３、受信電文解釈定義部１０６及び送信電文設定定義部１０７がそれぞれ定義処理を行い、記憶手段１４０にそれぞれ記憶したデータに基づいて、変換仕様に関するデータとなるプロトコル対応仕様定義ファイルを生成する。
【００７３】
図１９は、ＸＭＬの形式で記述した本実施の形態におけるプロトコル対応仕様定義ファイルの内容例を表す図である。<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」を持ち、送信バッファのバイトと家電機器側定義プロパティとを対応付けるタグである。
【００８２】
次に、ステップＳＴ２０７で、プロトコル変換コード生成手段１１０は、プロトコル対応仕様定義ファイルに基づいて、プロトコル変換プログラムコードを生成する。
【００８３】
図２０は、プロトコル変換プログラムコードの例を表す図である。本実施の形態においては、プログラムコードに用いる言語としてForthを用いる。Forthは逆ポーランド記法に基づく言語であり、構文解析が簡単又は不要なため、処理系が小さく、省資源でインタプリタが動作するという特徴を持つ。このため、家電機器のアダプタのように、低コストで実現することが要求される機器に搭載するインタプリタとしては、最適な言語である。
【００８４】
図２０では、ＡＮＳ規格で規定された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 プロパティの数、コード、対応数を記憶し、マップ関係ＩＤを付与するWordである。「RGST_MAP_PROP_VAL 」は、マップ関係ＩＤを指定して、プロパティ値の対応を登録する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である。
【００９０】
図２０に示したプログラムコードでは、プロパティの設定とプロパティ対応関係の設定を行い、さらに家電機器からの受信電文の解釈と家電機器への送信電文の設定を行う関数を定義している。メイン処理は、無限ループになっており、ECHONET 側からの受信電文に基づいて、ECHONET プロパティを家電機器側定義プロパティに変換して、送信電文を生成し、家電機器側に送信する。一方、家電機器側からの受信電文に基づいて、家電機器側定義プロパティをECHONET プロパティに変換して、送信電文を生成し、ECHONET 側に送信する、という処理を行う。
【００９１】
最後にステップＳＴ２０８において、コード出力部１１２がプログラムコードのデータを出力する。場合によっては、データの変換を行う。出力形態については、例えば、印刷媒体（例えばＱＲコード）、電子記憶媒体（カード、シリコンメモリ）等がある。媒体等を介してアダプタに記憶されたプログラムコードに基づいて、アダプタは、例えばインタプリタによるプログラムの逐次実行を行い、通信電文を変換する。以上のような手順により、電文の仕様とプロパティの対応関係を入力することにより、図２０のような、データ量の少ないプロトコル変換プログラム（コード）を自動的に生成することができる。アダプタに記憶されたプログラムコードに基づいて、アダプタは、例えばインタプリタによるプログラムの逐次実行を行い、通信電文を変換する。
【００９２】
以上のように、本実施の形態によれば、プロトコル変換プログラム作成支援装置１００のプロトコル対応関係入力処理手段１０１は、プロパティコード定義部１０２とプロパティ対応関係定義部１０３を備えるので、プロトコル変換におけるプロパティコードをはじめとする各プロトコルにおける通信電文のプロパティの定義、プロトコル間のプロパティの対応関係の定義を、簡易なインタフェースを利用し、利用者が定型的な手順で入力することによりプロトコル変換プログラムコードを生成できるようにすることで、利用者のプロトコル変換プログラムの作成負荷を軽減することができる。
【００９３】
また、プロパティ対応関係定義部１０３が、マッピング型対応関係定義部１０４と関数型対応関係定義部１０５で構成されているので、プロパティの値の対応関係を、プロパティの取り得る値に従った最適な形式で定義することができる。
【００９４】
また、プロパティ対応関係定義部１０３におけるプロパティ値の対応付けを、対応関係の始値、終値、及び刻み幅で設定することにより、プロパティ値の全ての対応のパターンを利用者が列挙しなくとも、プロパティの値の対応関係を自動的に定義することができる。
【００９５】
また、プロトコル対応関係入力処理手段１０１に、受信電文解釈定義部１０６と送信電文設定定義部１０７をさらに備え、設定画面を表示手段１３０に表示させ、通信電文とプロパティとの対応関係を簡易なインタフェースを利用し、利用者が定型的な手順で入力することによりプロトコル変換プログラムコードを生成できるようにすることで、利用者のプロトコル変換プログラムの作成負荷を軽減することができる。
【００９６】
また、プロパティコード定義部１０２、マッピング対応関係定義部１０４、関数型対応関係定義部１０５、受信電文解釈定義部１０６、送信電文設定定義部１０７は、それぞれ設定用の画面を表示手段１３０に表示させ、利用者が、ＧＵＩ形式によって、対応する欄へのデータ入力、選択等による設定が行えるようにしたので、利用者のプロトコル変換プログラム（コード）の作成負荷を軽減することができる。
【００９７】
また、プロパティコード定義部１０２、マッピング対応関係定義部１０４、関数型対応関係定義部１０５、受信電文解釈定義部１０６、送信電文設定定義部１０７は、利用者がスクリプトの形式で記述する場合にも対応できるようにしたので、専用のＧＵＩ環境（設定画面等）を用いなくても例えば、従来のようなテキストエディタ等の軽い環境で、設定の作成・追加・改修を行うことができる。
【００９８】
また、記憶手段１２０に記憶された仕様変換記憶部１２２を参照し、プロパティコード定義部１０２、マッピング対応関係定義部１０４、関数型対応関係定義部１０５、受信電文解釈定義部１０６、送信電文設定定義部１０７の定義により得られたデータをプロトコル対応仕様定義ファイルにすることで、仕様のデータ形式に関係なく、利用者のプロトコル変換プログラムの作成負荷を軽減することができる。また、別の仕様に変更する場合も、仕様変換記憶部１２２のデータを変更するだけでよい。
【００９９】
また、プロトコル対応関係入力処理手段１０１にプロトコル対応仕様定義ファイル生成部１０８を備え、プロトコルの対応の変換仕様のデータであるプロトコル対応仕様定義ファイルを、ＸＭＬ等の汎用のデータ形式で規定し、生成するようにしたので、プロトコル対応関係入力処理手段１０１の独自の処理方式に依存しない形で、変換仕様のデータ生成を実現することができる。場合によっては、プロトコル変換プログラムコード生成手段１１０を独立させることができる。また、プログラム言語の変更等にもすぐに対応することもできる。
【０１００】
また、プロトコル変換プログラム作成支援装置１００は、プロトコル変換プログラムコード生成手段１１０を備え、プロトコル対応関係入力処理手段１０１が生成した変換仕様のデータに基づいて、プロトコル変換のプログラムコードの全部又は一部を生成するようにしたので、プロトコル変換プログラムの作成負荷を軽減することができる。
【０１０１】
また、プロトコル変換プログラムコード生成手段が生成するプロトコル変換プログラムコードの言語を、構文解析が簡単又は不要なForth のような逆ポーランド記法に基づく言語とすることにより、少ないリソースで動作可能なプログラムコードを生成するプロトコル変換プログラム作成支援装置１００を実現することができる。
【０１０２】
また、独自の通信プロトコルを有する家電機器とECHONET との間での通信電文の送受信に対するプロトコル変換を行うためのプログラムを作成するための支援を行うので、例えば、なじみが少ないこれらのプロトコルに対しても利用者が対応することができ、プログラムの作成負荷を軽減することができる。
【０１０３】
実施の形態２．
上述の実施の形態において、利用者は、プロトコル対応関係入力処理手段１０１の各部が表示手段１３０に表示させた画面に基づいて、データを入力し、設定を行った。しかしながら、これに限定されるものではなく、プロトコル対応関係入力処理手段１０１では、必ずしもプログラムを動作させるための全ての情報を入力する必要はない。例えば、図１２の家電機器→ECHONET プロパティ変換関数記述欄１２０７やECHONET →家電機器プロパティ変換関数記述欄１２０８を空欄にしておいて、関数型対応関係定義部１０５による定義を行わず、生成したプロトコル変換プログラムコードに対して、例えばForth 言語にて、プログラムコードに変換関数に相当するWordを追加するように利用してもよい。また、変換仕様のデータの段階において、記述（データ）を追加することもできる。これにより、利用者の力量に応じて自由にプロパティの定義、プログラムコードの生成等を行うことができる。さらに、上述の実施の形態では、プログラムコードにはForth 言語を用いているが、本発明が適用できるプログラムコードはこれに限定するものではなく、他のポーランド記述言語をはじめ、様々な種類のプログラム（コード）の作成に対応することができる。また、変換仕様のデータについても必ずしもＸＭＬによる記述データでなくてもよい。さらに家電機器とECHONET 間だけでなく他のプロトコル変換に適用することもできる。
【０１０４】
実施の形態３．
上述の実施の形態１において、プロパティコード定義部１０２が、ステップＳＴ２０１において家電機器側プロパティに関する定義を行い、ステップＳＴ２０２において、ECHONET プロパティに関する定義を行うようにしているが、実行順序が逆でもよい。また、受信電文解釈定義部１０６と送信電文設定定義部１０７とが行う処理の順序についても、逆でもよい。
【図面の簡単な説明】
【０１０５】
【図１】プロトコル変換プログラム作成支援装置を中心としたブロック図である。
【図２】プロトコル変換プログラム作成支援装置の動作を示すフロー図である。
【図３】家電機器側定義プロパティ設定画面の例を表す図である。
【図４】家電機器側定義プロパティの設定画面の別の例を表す図である。
【図５】ECHONET プロパティ設定画面の例を表す図である。
【図６】ECHONET プロパティ設定画面の別の例を表す図である。
【図７】ECHONET プロパティ設定画面のさらに別の例を表す図である。
【図８】マッピング型対応関係のプロパティ対応関係設定画面を表す図である。
【図９】マッピング型対応関係の設定画面の別の例の図である。
【図１０】マッピング型対応関係の設定画面のさらに別の例の図である。
【図１１】図１０の設定をスクリプト形式により入力し、設定する例である。
【図１２】関数型対応関係のプロパティ対応関係設定画面の例を表す図である。
【図１３】関数型対応関係のプロパティ対応関係設定画面の別の例である。
【図１４】プロパティ対応関係設定画面の別の例を表す図である。
【図１５】受信電文解釈設定画面の例を表す図である。
【図１６】受信電文解釈設定画面の別の例を表す図である。
【図１７】送信電文設定定義画面の例を表す図である。
【図１８】送信電文設定画面の別の例を表す図である。
【図１９】プロトコル対応仕様定義ファイルの内容例を表す図である。
【図２０】プロトコル変換プログラムコードの例を表す図である。
【符号の説明】
【０１０６】
１００  プロトコル変換プログラム作成支援装置、１０１  プロトコル対応関係入力処理手段、１０２  プロパティコード定義部、１０３  プロパティ対応関係定義部、１０４  マッピング型対応関係定義部、１０５  関数型対応関係定義部、１０６  受信電文解釈定義部、１０７  送信電文設定定義部、１０８  プロトコル対応仕様定義ファイル生成部、１１０  プロトコル変換コード生成手段、１１１  変換コード生成部、１１２  コード出力部、１２０  記憶手段、１２１  ECHONET 規格記憶部、１２２  仕様変換記憶部、１２３  コード変換記憶部、１２４  仕様定義データ記憶部、１２５  プログラムコード記憶部、１３０  表示手段、１４０  入力手段、３０１  プロパティコード設定欄、３０２  プロパティ型定義欄、３０３  プロパティサイズ定義欄、３０４  コメント欄、５０１  機器種別指定欄、５０２  プロパティコード指定欄、５０３  プロパティ型定義欄、５０４  アクセスルール設定欄、５０５  状変時アナウンス有無設定欄、５０６  プロパティサイズ定義欄、８０１  家電機器側定義プロパティコード設定欄、８０２  ECHONET プロパティコード設定欄、８０３  家電機器側定義プロパティのコメント欄、８０４  ECHONET プロパティのコメント欄、８０５  家電機器側定義プロパティの値入力欄、８０６  ECHONET プロパティの値入力欄、１２０１  家電機器側定義プロパティコード設定欄、１２０２  ECHONET プロパティコード設定欄、１２０３  家電機器側定義プロパティコメント欄、１２０４  ECHONET プロパティコメント欄、１２０５  家電機器側定義プロパティ変数設定欄、１２０６  ECHONET プロパティ変数設定欄、１２０７  家電機器→ECHONET プロパティ変換関数記述欄、１２０８  ECHONET→家電機器プロパティ変換関数記述欄、１４０１  家電機器側定義プロパティコード設定欄、１４０２  ECHONET プロパティコード設定欄、１４０３  家電機器側定義プロパティコメント欄、１４０４  ECHONET プロパティコメント欄、１４０５  家電機器側定義プロパティ値始値設定欄、１４０６  ECHONET プロパティ値始値設定欄、１４０７  家電機器側定義プロパティ値終値設定欄、１４０８  ECHONET プロパティ値終値設定欄、１４０９  家電機器側定義プロパティ刻み幅設定欄、１４１０  ECHONET プロパティ刻み幅設定欄、１５０１  受信バッファ名設定欄、１５０２  受信バッファバイト数設定欄、１５０３  受信電文条件設定欄、１５０４  受信電文構成記述欄、１７０１  送信バッファ名設定欄、１７０２  送信バッファバイト数設定欄、１７０３  送信電文条件設定欄、１７０４  送信電文構成記述欄。
【図１】
0004738086.tif 000002
【図２】
0004738086.tif 000003
【図３】
0004738086.tif 000004
【図４】
0004738086.tif 000005
【図５】
0004738086.tif 000006
【図６】
0004738086.tif 000007
【図７】
0004738086.tif 000008
【図８】
0004738086.tif 000009
【図９】
0004738086.tif 000010
【図１０】
0004738086.tif 000011
【図１１】
0004738086.tif 000012
【図１２】
0004738086.tif 000013
【図１３】
0004738086.tif 000014
【図１４】
0004738086.tif 000015
【図１５】
0004738086.tif 000016
【図１６】
0004738086.tif 000017
【図１７】
0004738086.tif 000018
【図１８】
0004738086.tif 000019
【図１９】
0004738086.tif 000020
【図２０】
0004738086.tif 000021