The 19th Annual Conference of the Japanese Society for Artificial Intelligence, 2005

1B2-03

オントロジーを利用した情報家電エージェント協調アーキテクチャ
Architecture for Cooperating Information Appliances Using Ontology
山田 知秀*1

飯島 正*1

山口 高平*1

Tomohide Yamada

Tadashi Iijima

Takahira Yamaguchi*1

慶應義塾大学 理工学部

Faculty of Science and Technology, Keio University
Information appliances (i.e. home appliances connected to home networks) have become to have more reality, in consequence ofgrowth of technologies in fields of internet and IT devices. Networks of home appliances have different nature compared to those ofcomputers. In a network of home appliances, a model with administrative control doesn’t fit in well, and operations of connection anddeparture frequently occur. These could be problems for networked home appliances. We propose a framework in which software agentsare deployed in each information appliances. We used FIPA agents’ interaction protocols for cooperation among devices. We also usedontologies that described devices and functions to support them. Adding proper ontology descriptions makes cooperation between old andnewly added appliances possible. This reduces users’ cost when adding or removing devices within networks. Lastly, we have done anevaluation experiment based on our architecture and confirmed its feasibility.

1. はじめに
近年の家電機器の高機能化・高性能化、パソコン等情報機器の家庭内への進出、インターネットや家庭内ネットワークの普及に伴い、家電機器のネットワーク化は家庭の情報化の流れとして自然なものである。現在売られている家電機器のほとんどは基本的に単独の利用でしか考えられておらず、ネットワークを利用して全く関係ない機器同士が連携するといったことはできない。これらの家電機器の協調動作、もしくは外部ネットワークからの遠隔操作が可能となれば我々に様々な恩恵をもたらしてくれるはずである。
本稿では、ネットワーク化された家電である情報家電に関連する技術のうち、情報家電同士の協調動作を対象とする。ここ
でいう協調とは、家電機器間の対話により人間にとってより快適な環境を作り出すこと、もしくはそれを支援することである。
家電を相互接続し、協調動作をさせる際に考慮すべき課題の一つとして、【課題-1】家電にはパソコンなどの情報機器とは違った特徴がある、という点があるといえる。家電機器は家族がそれぞれ購入するものであり、買ってきてすぐに使えるという手軽さを元来持つものである。ネットワークに繋いで動作させるための複雑な設定は家電の特徴にそぐわないため、次のようなことがネットワーク化する際の問題点（課題）として挙げられる。
【課題1-1】 ホームネットワークでは、全体的な統制がある、もしくは全体の管理者がいる、というトップダウン的モデルが受け入れられにくい。
【課題1-2】 ネットワークに接続するための操作や離脱するための操作を可能な限りユーザに必要としないことが望まれる。

ジェントを使用し、各情報家電機器にエージェントを配置して協調動作を行わせることを提案する。提案した枠組みでは、機器間の協調動作のためのやりとりをエージェントの相互作用プロトコルによって行う。エージェント同士の対話（メッセージのやり取り）をいくつかの典型的なパターンに分類し規定したこの相互作用プロトコルを利用することによって、機器間の協調動作を機器同士の対話によって行うことを図る。また、機器オントロジー・機能オントロジーの２つのオントロジーを用いることにより、新たな機器の追加を少ない手間で行うことを可能にすることや、機器同士の協調動作の支援を行う。これにより、ユーザが機器を接続・離脱させたり設定したりする際の負担の軽減を図る。
続く２節では提案やアーキテクチャの詳細に触れる。３節では評価実験について述べる。４節でまとめや今後の課題について述べる。

2. 情報家電のためのエージェント間協調
情報家電間で協調動作を行うために、本稿では FIPA の仕様に基づくエージェントを各家電機器に配置することを想定する。2.1 節において、協調動作の概要や提案内容を述べる。2.2
節では家電協調アーキテクチャの概要、2.3 節では協調プラン、2.4 節以降ではオントロジーに関して述べる。

2.1 家電間の協調動作
本稿における情報家電間の 協調 動作とは主に次のようなものを指す。
①②
二つ目の考慮すべき課題としては、【課題-2】プロトコルの統一、がある。異なるメーカー製の機器間において協調動作させるためには、協調のためのプロトコルが統一されること、もしくは互いのプロトコルを相互変換できるような仕組みが必要となる。
本稿では、情報家電の相互協調動作を実現するためにエー
連絡先： 山田知秀，慶應義塾大学大学院 理工学研究科，
yama@ae.keio.ac.jp

複数の機器が、音など干渉しあうものや、電力など機器間で分け合うリソースの、機器間での競合を解消するために行う動作ある機器が自分の目的を達成するために他機器の協力を要請して行う動作①にあたる例としては次のようなものがある。例えば、電話機で通話する場合、テレビやステレオ機器等が発する音が大きいと相手の声が聞き取りづらい等の問題が起こる。そのような場合に、機器同士の協調により、テレビやステレオ機器等が自身の音量を下げるといったことが考えられる。電力の場合でも、足り-1-

The 19th Annual Conference of the Japanese Society for Artificial Intelligence, 2005
ない電力を他機器がリソースを分け与えることにより補い合うといったことが考えられる。
②にあたる例としては、ビープ音などでしかユーザに作業完了等を通知できない機器が、テレビなどの画面表示を用いてメッセージを通知するなどといったことが挙げられる。
以上のような協調動作を扱うために、本稿ではエージェント技術の標準化団体である FIPA[1]の仕様に準じたエージェントを各家電機器上に配置し、エージェントにその機器を制御させる方式を提案する。各エージェントは、あらかじめ定められている相互作用プロトコルにしたがって、コントローラ等の独断によるものではない、対等な立場としての機器同士の話し合いによる目的の達成を図る。

2.2 家電協調アーキテクチャの概要
本稿のアーキテクチャは図１で表される。各家電機器にはそれぞれ基本的に一つの機器エージェントが埋め込まれる。それらの機器とは別に、最低限の情報管理の役割を持ったファシリテータを配置する。ファシリテータはエージェントのディレクトリサービス、オントロジーサービス、プラン管理サービスとしての役割を持ち、主に情報を収納し提供するためのものである。ファシリ
テータ内のタスクファシリテータは各機器エージェントに協調のためのプラン情報を提供する。また、オントロジーエージェントは各機器エージェントにオントロジーを提供する。オントロジーエージェントはオントロジーの記述を読み込み、機器エージェントからの問い合わせに対し、特定のノードの上位・下位ノードを返す、特定のプロパティを持つノードを返す、オントロジー同士を連携させるなどの役割を持つ。ディレクトリファシリテータ(DF)は、ホームネットワークにその時点で接続されている機器を認識するために使う。第一章で示した【課題 1-2】に対応して、利用者にホームネットワークへの加入や脱退の登録操作をさせたくない。そこで、機器に埋め込まれたエージェントが、機器のネットワークへの加入の際に、DF への登録をするのでこれを利用する。
DF からの抹消は、定期的な死活チェックメッセージへ反応（ハートビート）が戻らないときに自動的に行う。

家電機器
ファシリテータ

機器エージェント
オントロジー
エージェント機器オントロジー

機能オントロジー

家電機器
タスク
ファシリテータ

ディレクトリファシリテータ

2.4 オントロジーの利用
本稿では、オントロジーとして機器オントロジーと機能オントロジーを用意する。これらはそれぞれ機器の種類と、機器の持つ各種機能を体系化したものである。
機能オントロジーは目的の機器をその種類や分類によって得ることを可能とし、メッセージの送信先を指定する際などに利用できる。機能オントロジーでは各種機器が持つ様々な機能を記述することにより、ある機器を他機器から外部操作する際、互いの対話内容を相互に理解するために用いる。
これらのオントロジーはファシリテータ内のオントロジーエージ
ェントを介して用いられる。オントロジーエージェントを介することにより、各機器エージェントがオントロジーの記述に直接アクセスするのではなく、オントロジーエージェントとの ACL（エージェント間通信言語）による通信でオントロジーにアクセスすること、また、各機器エージェントがオントロジー記述の構文解析等をオントロジーエージェントに任せることなどを可能とする。オントロジー エ ー ジ ェ ント を 用 意 す る とい う 考え は FIPA の Ontology
Service[2]を参考にしている。
オントロジーエージェントが提供する機能は次のようなものである。
• 特定のクラスの上位・下位クラスを求める• 特定のクラスに属するプロパティを求める• 特定のプロパティがどのクラスに属するかを求める• 機器オントロジーにおいて、ディレクトリファシリテータと連携し、特定のクラスに属する機器の名前やアドレス等を求める
機器オントロジーと機能オントロジーの詳細については次の2.5 節・2.6 節にて述べる。

2.5 機器オントロジー
機器オントロジーは、家電機器を体系化したものに加え、各機器に対してそのプロパティを記述したものである。家電機器の分類およびプロパティの記述は、ECHONET[3]で規定されている機器オブジェクトクラス分類および機器オブジェクト詳細規定[4]を参考にして行った。ECHONET は家庭内の機器のシステム的管理を行うために、機器のコントロールを簡単にできる汎用的で標準的なシステムの開発を実現することを目指したコンソーシアムである。ECHONET では各種生活家電機器やセンサー類などに対して、機器オブジェクト詳細規定として各機器の持つプロパティを規定している。
図２に機器オントロジーの一部を示す。

機器エージェント

図１．アーキテクチャ

機器
白物家電機器2.3 協調プラン
機器間の競合解消のために行われる協調動作（2.1 節の①）は、タスクファシリテータが提供する協調プランに基づいて実行される。機器間において何らかの競合が発生している状況から、その解消をゴールとしてファシリテータがプランニングすることで協調プランが生成される。生成された協調プランにおけるトリガー情報を元に相互作用プロトコルのイニシエータがアクティベートされる。

調理・家事
関連機器

炊飯器設備系機器

空調
関連機器

洗濯機

家庭用
エアコン

電気暖房機

センサー
関連機器

音センサー

電力量センサー

図２．機器オントロジーの一部
また、機器オントロジーの OWL[6]による記述を一部抜粋したものを図３に示す。

-2-

The 19th Annual Conference of the Japanese Society for Artificial Intelligence, 2005<?xml version="1.0"?>

3. 実現可能性の評価<rdf:RDF>

２節で述べたアーキテクチャの実現可能性を調べるため、パソコン上に各種家電機器を模したエージェントを複数作成した。
エージェントは FIPA の仕様に基づいたエージェント・フレームワークである JADE[5]にて、9 種類の機器エージェントとファシリテータを作成した。それに加え３種類のプランを記述し、協調動作を行うことのできる環境を作成した。オントロジーの作成にあたっては Protégé-OWL[7]を使用した。

<owl:Ontology rdf:about=""/><owl:Class rdf:ID="Communication-Related_Device"><rdfs:subClassOf><owl:Class rdf:ID="Device"/></rdfs:subClassOf></owl:Class><owl:Class rdf:ID="Telephone"><rdfs:subClassOf rdf:resource="#Communication-Related_Device"/></owl:Class></rdf:RDF>

図３．機器オントロジーの OWL 記述の一部
この機器オントロジーを用意する目的は、新たな機器にもオントロジーに適切な記述を追加することによって対応を可能とすることにある。

3.1 機器エージェントの実装
今回用意した機器エージェントを表３に示す。これらのエージ
ェントに加え、これらの機器に関する記述を含んだ機器オントロ
ジーと機能オントロジーを記述し、それらを機器エージェントから参照するためのオントロジーエージェントを作成した。図６にこれらの概略を示す。
表３．機器エージェントの種類

2.6 機能オントロジー

白物家電機器
炊飯器
洗濯機
電子レンジ

機能オントロジーは機器の持つ各種機能を体系化したものである。最下位のノードは、各種機器が持つ機能や操作を表す。
図４に機能オントロジーの一部を示す。

AV関連機器テレビ
ステレオ機器電話機

設備系機器
電力量センサー
音センサー
電気暖房機

JADE プラットフォーム

設定

問い合わせ

環境への作用利用者への作用

プロパティの設定

プロパティの問い合せ

温度調整

通知

室温を下げる音声による通知

音量の設定

室温を上げる

対象物への作用洗濯をする

機能オントロジー

米を炊く

機能オントロジーは、各機器における機能に他機器からアクセスする際に用いる。例えば、ある機器が他機器に対して何らかの依頼をする場合に機能オントロジーを介することにより、依頼元機器が依頼先機器の内部構造を知る必要なく、共通の理解をもっての対話が可能となる。

図６．実験環境の概略
この評価実験では、FIPA の ACL や相互作用プロトコル、およびオントロジーを用いて、家電機器間の協調を行うことができるかどうかを評価することを目的とするため、2.3 節にあるような協調プラン生成のためのプランナは作成していない。協調プランとしてはあらかじめ以下の３つのプランを記述し、協調動作を試みた。
① 電話による通話時、他機器の音がうるさい場合にそれらの機器の音量を下げることを試みる② 大きな電力を一定時間使用する機器を使用し、その際に必要電力が確保できない場合、他機器の使用電力量を下げることを試みる③ テレビ等の画面表示が可能な機器にメッセージの表示を依頼する

2.7 機器オントロジーと機能オントロジーの連携
機器オントロジーのノードはオブジェクトプロパティとして、複数の機能オントロジーのノードを指しうる（図５）。機器が持つ機能を指し示すことで、特定の機器がどの機能を持っているかを記述する。これにより、特定の機能をどの機器が持っているかを知ることも可能となり、例えば、部屋の温度を下げることできる機器を調べる、などといったことが可能となる。
機器オントロジー
家庭用
エアコン

消費電力を下げる

機能オントロジー

図５．機器オントロジーと機能オントロジーの連携

オントロジー
エージェント機器エージェント

文字による通知

図４．機能オントロジーの一部

電気暖房機

機器オントロジー
ディレクトリファシリテータ

機能3.2 協調プランの流れ
協調動作はプランに沿って、相互作用プロトコルを用いて行われる。例として、4.1 節の③のプランを取り上げる。このプランの流れを AUML の Interaction Diagram[8]で表すと図７のようになる。
このプランのイニシエータを電子レンジとすると、電子レンジがオンになったときに電子レンジはまず電力量センサーにすべての機器が使用している電力量の問い合わせを行う。この問い
合わせの結果、自機器の動作のためには電力が不足であること-3-

The 19th Annual Conference of the Japanese Society for Artificial Intelligence, 2005
がわかると、電子レンジは他機器（機器オントロジーを用いることにより得られる） に対して相互作用プロトコルの一つである
Contract Net プロトコルを用いて電力を下げるよう要請し、他機器の入札を募る。入札の結果、他機器が使用電力を下げれば自機器が動作可能であると判断されれば、自機器の動作に十分な電力が確保するまで繰り返し要請と入札の受諾を行う。十分な電力が確保できると、電子レンジの実際の動作が開始される。電子レンジの動作が終了すると、他機器はプラン実行前の状態に戻る。

Initiator

Participant

話するのに周りの音がうるさいからといって２階の機器の音量が下がってはいけない）。

ElectricEnergySensor

Query_ref: energyUsage
Inform: energyUsage=(max, current)[energy is not enough]

図８．実行時の画面

cfp
Contract Net: reduceEnergy
alternative

4. おわりにnot understoodrefuseProposal: reduceEnergy=(max, next step, priority)

alternative[energy not enough even if participants reduce energy-use]
reject proposal[energy enough if participants reduce energy-use]

本稿では情報家電機器の協調動作を行うためのアプローチとして、エージェントによる協調動作を試みた。FIPA 準拠のエージェント環境における仮想家電機器を用いて、エージェントによる情報家電間の協調の実現可能性を示した。
しかし、アーキテクチャとしては、プラン記述やオントロジーの洗練など、解決すべき問題や改良すべき箇所がまだまだある。
また、場所や人の概念などといった、実際の家庭で使うことを考えた場合の問題にも対処しなければならない。これらはすべて今後解決すべき課題である。

accept proposalinform

参考文献
[1]

alternative[energy is not enough]

[2]
cfp

[energy is not enough]Finish[3][4]

Finish

図７．電力確保プランの流れ[5]

3.3 実験および結果
実験では、作成したすべてや一部のエージェントを起動させた上で、様々な状態で様々な操作を行い、協調動作が正常に行われるかどうかを試した。動作時の画面を図８に示す。この図で与えている画面は、１台の PC 上にすべての機器制御エージェントを配置している場合であるが、分散エージェント・プラットフォーム Jade をミドルウェアとして使っているので、各エージェントは別々の PC に分散配置することもプログラムの変更なしに行うことができる。
作成した機器エージェントおよび協調プランの範囲においては、正しく協調動作を行うことができた。ただ、今回は場所や人の概念を考慮していないため、協調プランで関係する機器すべてが協調に加わってしまい、実際の家庭での使用においては問題がある。実際の家庭においては部屋や階があり、協調動作の内容によってはそれも考慮する必要がある（例えば１階で電[6]
[7]
[8]

-4-

FIPA – The Foundation for Intelligent Physical Agents(http://www.fipa.org/)
FIPA Ontology Service Specification (XC00086D),
2001/08/10(http://www.fipa.org/specs/fipa00086/XC00086D.html)
ECHONET CONSORTIUM (http://www.echonet.gr.jp/)
ECHONET SPECIFICATION: Appendix Detailed
Stipulations for ECHONET Device Objects(http://www.echonet.gr.jp/8_kikaku/spec/pdf_v211/SpecVe
r211_APPENDIX.pdf)
Jade – Java Agent DEvelopment framework(http://jade.tilab.com/)
OWL Web Ontology Language Reference， 2004/02/10(http://www.w3.org/TR/2004/REC-owl-ref-20040210/)
Protege (http://protege.stanford.edu/)
AgentUML: Interaction Diagrams(http://www.auml.org/auml/documents/ID-03-07-02.pdf)