JAIST Repository
https://dspace.jaist.ac.jp/
Title レガシーデバイスを用いたホームネットワーク構築に
おける機器の状態取得及び管理に関する研究
Author(s) 松崎, 寛之
Citation
Issue Date 2005‑03
Type Thesis or Dissertation Text version author
URL http://hdl.handle.net/10119/1917 Rights
Description Supervisor:丹 康雄, 情報科学研究科, 修士
修 士 論 文
レガシーデバイスを用いたホームネットワーク構 築における機器の状態取得及び管理に関する研究
北陸先端科学技術大学院大学 情報科学研究科情報システム学専攻
松崎 寛之
2005年3月
修 士 論 文
レガシーデバイスを用いたホームネットワーク構 築における機器の状態取得及び管理に関する研究
指導教官
丹 康雄 助教授
審査委員主査
丹 康雄 助教授
審査委員
篠田 陽一 教授
審査委員
敷田 幹文教授
北陸先端科学技術大学院大学 情報科学研究科情報システム学専攻
310104 松崎 寛之
提出年月: 2005年2月
概 要
近年,家電の高機能化に伴いネットワークを経由しての家電制御システムや家電同士を ネットワークでつなぐための規格がいくつか提案,実用化されている.しかし,これらを 導入しホームネットワークを利用するためには,既存のホームネットワーク規格に沿った 家電(ネットワーク家電)へと機器の買い換えが必要となり,利用者にかかるコスト面で の負担は大きく,現在普及していない.
本研究では,ホームネットワークを構築する際に問題となる機器の買い換えを行う必要 のない,既存の家電機器(LegacyDevice)を用いたホームネットワークを実現する.その ために赤外線センサなどを用いたLDの状態取得方法及び有限状態機械を用いたLDの管 理方法を提案する.LDの制御にリモコンから送出される赤外線信号を用い,様々なセン サを用いて赤外線信号や温度・湿度などを監視し,LDの状態を取得する.また,機器を 複数の部分状態機械が並行して動作する複合状態機械として機器のモデル化を行う.以上 の手法によって,LegacyDeviceを情報家電機器と同様に扱い,ネットワーク家電を用い たホームネットワークで実現可能な連動動作といったサービスをLegacyDeviceを用いた ホームネットワークで安価に実現可能となる.
目 次
第1章 はじめに 1
1.1 研究の背景 . . . . 1
1.2 研究目的 . . . . 1
1.3 本論文の構成 . . . . 2
第2章 ホームネットワーク 3 2.1 ホームネットワークとは . . . . 3
2.2 ホームネットワーク規格 . . . . 3
2.2.1 ECHONET . . . . 3
2.2.2 HAVi . . . . 4
2.2.3 AV/C . . . . 5
2.2.4 X-10プロトコル . . . . 5
2.3 まとめ . . . . 6
第3章 LegacyDeviceホームネットワーク 7 3.1 LegacyDeviceとは . . . . 8
3.1.1 LegacyDeviceの分類 . . . . 8
3.2 LegacyDeviceホームネットワークの実現 . . . . 9
3.2.1 LegacyDeviceの管理方法 . . . . 9
3.2.2 LegacyDeviceの制御取得方法 . . . . 9
3.3 システム構成 . . . . 10
3.3.1 処理ユニット . . . . 11
3.3.2 センサ . . . . 11
第4章 状態管理方法 13 4.1 LegacyDeviceのモデル化 . . . . 13
4.1.1 有限状態機械 . . . . 13
4.1.2 機能分割・細分化 . . . . 13
4.2 状態遷移表の作成 . . . . 20
4.2.1 自動遷移表書換シーケンス . . . . 21
4.2.2 aux-tunerへの対応 . . . . 22
4.3.1 通常イベント . . . . 23
4.3.2 内部遷移イベント . . . . 23
4.4 イベントの実行 . . . . 25
4.4.1 電源への対応 . . . . 25
4.4.2 例外制御への対応 . . . . 26
4.4.3 部分状態機械の選択 . . . . 29
4.5 状態管理方法の確認 . . . . 30
4.5.1 状態遷移 . . . . 30
4.5.2 自動遷移表書換シーケンス . . . . 34
第5章 状態制御取得方法 39 5.1 LegacyDeviceの制御方法 . . . . 39
5.1.1 赤外線信号の特徴 . . . . 40
5.1.2 赤外線リモコンの動作原理 . . . . 40
5.1.3 赤外線信号の形式 . . . . 40
5.2 受動的状態取得 . . . . 45
5.2.1 センサ情報の利用 . . . . 45
5.2.2 赤外線センサを用いた方法 . . . . 46
5.2.3 他センサを用いた方法 . . . . 46
5.3 能動的状態取得 . . . . 48
5.3.1 識別用信号の入力 . . . . 48
5.4 状態取得方法の確認 . . . . 52
5.4.1 能動的状態取得 . . . . 52
第6章 システム設計 56 6.1 システムの概要 . . . . 56
6.2 処理ユニット . . . . 57
6.2.1 manager . . . . 57
6.2.2 状態取得・処理部 . . . . 58
6.2.3 statetable . . . . 59
6.2.4 データベース . . . . 59
6.2.5 イベントの処理 . . . . 60
6.3 自動遷移表書換シーケンス . . . . 62
6.4 他規格との接続 . . . . 63
6.4.1 システム構成 . . . . 63
6.6.2 状態変更にかかる時間の測定 . . . . 74
6.6.3 制御にかかる時間の測定 . . . . 75
6.6.4 他システムからの制御にかかる時間の測定 . . . . 75
第7章 アプリケーション実装例 76 7.1 ホームオートメーション . . . . 76
7.1.1 動作手順 . . . . 77
7.2 関連システムとの比較 . . . . 78
7.3 既存のホームネットワーク規格との比較 . . . . 78
第8章 終わりに 83 8.1 今後の課題 . . . . 83
8.1.1 状態取得方法の検討 . . . . 83
8.1.2 例外・障害発生時の対応 . . . . 83
8.1.3 センサ情報の蓄積 . . . . 83
8.1.4 センサの位置 . . . . 84
8.1.5 サービスの競合 . . . . 84
8.2 本論文のまとめ . . . . 84
謝辞 86 付 録A 電源コントローラ 89 付 録B 回路 91 B.1 赤外線発光部 . . . . 91
B.2 赤外線受光部例 . . . . 91
B.2.1 測定 . . . . 92
付 録C 赤外線センサの配置 94 付 録D 機器のコスト 97 付 録E 部分状態機械-状態遷移表 100 E.1 power . . . . 100
E.2 aux . . . . 100
E.3 tuner . . . . 101
E.4 amp . . . . 102
E.5 player/recorder . . . . 103
E.6 openclose . . . . 105
E.7.2 drive . . . . 106
E.7.3 wind . . . . 107
E.8 environment . . . . 108
E.8.1 humid . . . . 108
E.8.2 illumination . . . . 108
E.8.3 temp . . . . 109
図 目 次
1.1 状態取得管理システム概要 . . . . 2
3.1 LDの分類 . . . . 8
3.2 システム構成図 . . . . 10
4.1 部分状態機械 . . . . 14
4.2 遷移表作成の流れ . . . . 21
4.3 電源OFF時の状態遷移. . . . 26
4.4 部分状態機械の関係 . . . . 29
4.5 部分状態機械- amp. . . . 31
4.6 部分状態機械- player/recorder(1) . . . . 32
4.7 部分状態機械- player/recorder(2) . . . . 32
4.8 部分状態機械- aux . . . . 33
4.9 部分状態機械- power . . . . 33
5.1 PPM変調(家電協フォーマット) . . . . 42
5.2 家電協フォーマット . . . . 42
5.3 トレイラ部 . . . . 43
5.4 リーダ部 . . . . 43
5.5 PPM変調(日本電気フォーマット) . . . . 44
5.6 リピートコード部 . . . . 44
5.7 日本電気フォーマット . . . . 44
5.8 源画像(クリア画像) . . . . 50
5.9 FFT後 . . . . 50
5.10 源画増(ノイズ画像) . . . . 50
5.11 FFT後 . . . . 50
5.12 変換前 . . . . 51
5.13 変換後 . . . . 51
5.14 変換前 . . . . 51
5.15 変換後 . . . . 51
5.16 領域変換 . . . . 51
5.18 フィルタの回路図 . . . . 53
5.19 シミュレーション結果(AC解析) . . . . 54
5.20 実験結果 . . . . 55
6.1 システム構成図 . . . . 56
6.2 ソフトウェア構成 . . . . 58
6.3 LegacyDeviceデータベースのテーブル情報 . . . . 59
6.4 イベント処理 . . . . 61
6.5 自動遷移表書換シーケンス . . . . 63
6.6 他規格のシステム構成 . . . . 64
6.7 ゲートウェイ . . . . 65
6.8 ゲートウェイ間通信に用いるメッセージフォーマット . . . . 66
6.9 ゲートウェイからの機器の問い合わせ . . . . 67
6.10 本システムからの機器の問い合わせ . . . . 68
6.11 リモコンでの家電の制御 . . . . 70
6.12 ゲートウェイからの機器制御 . . . . 72
6.13 他規格機器の制御 . . . . 73
7.1 実験環境 . . . . 76
A.1 回路図 . . . . 89
A.2 実装の様子 . . . . 90
B.1 赤外線発光部の回路例 . . . . 91
B.2 赤外線受光部の回路例 . . . . 91
B.3 測定結果-照度値. . . . 93
B.4 測定結果-温度値及び湿度値 . . . . 93
C.1 受光範囲 . . . . 94
C.2 実験環境 . . . . 95
表 目 次
4.1 機器と対応する部分状態機械 . . . . 15
4.2 部分状態機械の種類 . . . . 16
4.3 部分状態機械(POWER)に対する入力信号 . . . . 17
4.4 部分状態機械(PLAYER/RECORDER)に対する入力信号 . . . . 17
4.5 部分状態機械(AUX)に対する入力信号 . . . . 18
4.6 部分状態機械(TUNER)に対する入力信号 . . . . 18
4.7 部分状態機械(OPEN CLOSE)に対する入力信号 . . . . 18
4.8 部分状態機械(AMP)に対する入力信号 . . . . 18
4.9 部分状態機械(ENVIRONMENT HUMID)に対する入力信号 . . . . 19
4.10 部分状態機械(ENVIRONMENT ILLUMINATION)に対する入力信号 . . . 19
4.11 部分状態機械(DRIVE,WDIR,WIND)に対する入力信号 . . . . 19
4.12 部分状態機械(ENVIRONMENT TEMP)に対する入力信号. . . . 19
4.13 aux-tuner状態遷移表 . . . . 22
4.14 内部遷移イベント発生条件 . . . . 24
4.15 例外制御時のリカバリ設定状態例 . . . . 27
4.16 selector. . . . 29
4.17 実験対象 . . . . 34
4.18 player/recorder部分状態機械- sony共通(1) . . . . 35
4.19 player/recorder - sony共通(2) . . . . 35
4.20 player/recorder部分状態機械- panasonic共通(1) . . . . 36
4.21 player/recorder部分状態機械- panasonic共通(2) . . . . 36
4.22 player/recorder部分状態機械- DSR-20(1) . . . . 37
4.23 player/recorder部分状態機械- DSR-20(2) . . . . 38
5.1 センサ情報と状態情報の対応関係例 . . . . 47
5.2 センサの種類とセンサから得られるセンサ情報. . . . 47
5.3 TVのチャネルと周波数 . . . . 53
5.4 VHF1フィルタ . . . . 53
5.5 VHF2フィルタ . . . . 53
5.6 UHFフィルタ . . . . 53
6.2 赤外線データベースのテーブル情報 . . . . 60
6.3 測定環境 . . . . 74
6.4 状態変更にかかる処理時間 . . . . 74
6.5 制御にかかる処理時間 . . . . 75
6.6 他システムからの制御にかかる処理時間 . . . . 75
7.1 サービス比較(1) . . . . 81
7.2 サービス比較(2) . . . . 82
C.1 赤外線リモコン仕様 . . . . 95
C.2 距離3m-機器が隣接している場合 . . . . 96
C.3 距離3m-機器が離れている場合 . . . . 96
C.4 距離6m-機器が隣接している場合 . . . . 96
C.5 距離6m-機器が離れている場合 . . . . 96
D.1 フィルタのコスト . . . . 97
D.2 電源コントローラのコスト . . . . 97
D.3 赤外線受光器のコスト . . . . 98
D.4 赤外線発光器のコスト . . . . 98
D.5 照度センサのコスト . . . . 98
D.6 温度センサのコスト . . . . 98
D.7 湿度センサのコスト . . . . 99
E.1 POWER部分状態機械 . . . . 100
E.2 AUX部分状態機械 . . . . 100
E.3 TUNER部分状態機械 . . . . 101
E.4 AMP部分状態機械 . . . . 102
E.5 PLAYER/RECORDER部分状態機械(1) . . . . 103
E.6 PLAYER/RECORDER部分状態機械(2) . . . . 104
E.7 OPENCLOSE部分状態機械 . . . . 105
E.8 ANGLE部分状態機械 . . . . 106
E.9 DRIVE部分状態機械 . . . . 106
E.10 MODE部分状態機械 . . . . 107
E.11 HUMID部分状態機械 . . . . 108
E.12 ILLUMINATION部分状態機械 . . . . 108
E.13 TEMP部分状態機械 . . . . 109
第 1 章 はじめに
1.1 研究の背景
近年,家電の高機能化に伴いインターネットを経由しての家電制御システムや,家電同 士をネットワークでつなぐための規格がいくつか提案,実用化されている. ホームネット ワーク用のミドルウェアとして,ホームネットワーク対応AV機器の仕様HAVi,白物家 電を制御するための規格ECHONET,インフラ技術には,Blueetooth,電力線通信,無線 LANなどが存在する.
これらを元にしてホームネットワークを構築するためには,LegacyDeviceを,ネット ワーク接続機能を持つデジタル化されたネットワーク家電機器(情報家電機器)に買い 換える必要がある.しかし,機器の連動動作などホームネットワークを利用した独自の サービスを実現するためには,TV・VTRなどのAV機器やエアコン・冷蔵庫などの白物 家電の総入れ替えが必要となり,既存のホームネットワーク導入の際にかかるコストは 高い.よって,ネットワーク接続機能や高度な情報処理能力を持たない家電機器である
LegacyDeviceは今後も家庭内に残る可能性が高いと考えられている.
LDをホームネットワークに組み込み情報家電機器と同様に扱う場合,LDの状態情報 を取得することが必須である. 状態情報とは,VTRであれば録画状態, TVであればチャ ネル1などといったように,LDの現在の状態を表す情報のことである.LDの状態情報を 正しく取得しなければ,利用者が望む状態にLDを制御することは不可能である.なぜな ら,LDの制御に用いる赤外線信号による機器制御命令が,絶対的な動作指示を与えるも のではなく,現在の機器の内部状態に対応する相対的な動作指示だからである.しかし,
外部からの問い合わせに対して応答を返さないLDの状態を正しく取得することは困難で あった.
1.2 研究目的
本研究の目的は,既存の家電機器であるLDを用いたホームネットワークシステムを実 現し,既存のホームネットワークと同等のサービスを提供するために,LDの状態の取得 方法とLDをモデル化した状態機械の管理方法を構築することである.
本研究では,外部からの問い合わせに応じて状態情報などの応答を返さないLDの状態
本研究で提案する手法で得られた状態情報に基づき,一つのLDを複数の部分状態機械 から構成される複合状態機械としてモデル化を行い状態管理を行う.同様の機能を持つ複 数のLDで部分状態機械を流用することで,LDのモデル化が容易となる.
図 1.1: 状態取得管理システム概要
1.3 本論文の構成
本稿は以下の構成となっている.
• 第2章 現在提案されているホームネットワークをまとめる.
• 第3章 本研究で提案するLegacyDeviceを用いたホームネットワークと,それを実 現するシステムについて概要を説明する.
• 第4章 有限状態機械を用いた状態の管理方法を説明し,状態の管理方法と自動遷移 表書き換えシーケンスの有効性について確認を行う.
• 第5章 機器の制御に用いる赤外線信号について説明し,センサを用いた状態の取得 方法を説明する.そして状態取得方法について確認を行う.
• 第6章 本研究で提案するシステム及び設計について説明する.
第 2 章 ホームネットワーク
2.1 ホームネットワークとは
ホームネットワークとは,家電機器や住宅設備がインタラクティブに様々な情報をやり 取りし,機器の連動動作といった機器資源の相互運用をはかることを主目的としたネット ワークのことである.本章では,現在提案されている様々なホームネットワークの諸技術 の現状を明らかにし,その特徴をまとめる.特に,機器の制御方法と機能の抽象化方法に 着目し調査を行う.
2.2 ホームネットワーク規格
2.2.1 ECHONET
ECHONETは,エコーネットコンソーシアムが提唱している,家庭内の電灯線や無線
を利用し,低コストかつ工事不要で既築住宅にも対応可能な信頼性の高いホームネット ワーク環境や,マルチベンダ環境における相互運用などを実現するための仕様である.
ECHONETでは,遠隔からゲートウェイを介して機器の制御を行ったりECHONET内に
あるコントローラから直接機器を制御することなどが可能である .
機能の抽象化
ECHONETが対象とする機器は多岐にわたっており,機器を部品化してオブジェクト
の概念を取り入れることにより,明確に,かつ統一的に機器管理の実現を計っている.機 器が保持する情報や制御項目を論理的にモデル化することで,マルチベンダ環境でも情 報のやり取りが可能であるECHONETでは,機器が他の機器に対して公開する情報およ びアクセス手順をECHONETオブジェクトとして規定しており,ECHONETオブジェク トの操作により制御や情報のやり取りが行われる.ECHONETオブジェクトは,以下の 4つのオブジェクトに分類される.
• 機器オブジェクト
各々の機器が持つ情報や制御対象(オブジェクトプロパティ)やこれに対する操作
• プロファイルオブジェクト
動作状態やメーカー情報等を規定.
• サービスオブジェクト
ネットワークに対して公開する機能をモデル化したもの.
• 通信定義オブジェクト 状態通知や連携動作を規定.
以上のように,ECHONETでは,機器の持つ機能を分類化し,機能ごとに提供するサー ビスを規定することで,各機器を資源として扱っている.
機器の制御
機器オブジェクト,サービスオブジェクトを制御することにより,機器の制御を実現 する.
2.2.2 HAVi
HAViは,ホームネットワークに対応したIEEE1394AV機器のための仕様である.HAVi 対応のAV機器は,高速なネットワークを通して相互に接続され,連携して動作させるこ とができる.HAViは,ホームネットワークで接続されたディジタルAV機器を分散コン ピューティングプラットフォームとみなし,この上で動作する分散アプリケーションが 各々協調して動作するための環境と,異種メーカの機器による相互接続・相互運用を実 現するために,APIのセットとミドルウェアから構成される.ミドルウェアには,機器が ネットワークに接続された際に自動的に機器を認識し,必要なソフトウェアを自動インス トールする機能や,異種メーカ間の機器を相互接続する機能などが備わっている.
機能の抽象化
HAViでは機器を,機器全体(Device)と,機器に含まれる機能要素(Functional Com-
ponent)に区別して取り扱い,機能の抽象化を行っている.例えばVTRという機器では,
TunerとTapeRecorderという機能要素が含まれる.電源のON/OFFは機器に対する制御
であり,Tunerの選局やテープの再生は,それぞれの機能要素に対する制御となる.HAVi
における制御とは,機器単位というよりは機能要素単位の制御が中心であり,AV機器の
機器の制御
機器の制御は,コントローラ上のアプリケーションが対象となる機器に対して何らかの 方法で制御命令(コマンド)を送信することで行う.しかし,このコマンドに対応していな い機器や,メーカ独自の機能を組み入れたい場合には,AV/Cなどの標準のコマンドを使 うことが不可能である.そこでHAViでは,機器固有の制御方法をカプセル化することで 問題の解決を行っている.HAViのアプリケーションは,機器を制御するためのコマンドを 直接機器に対して送信するのではなく,DCM/FCMに用意されたAPIを呼び出すことに より,機器及びそれに含まれる機能要素の制御を行うことができる.DCM(Device Control
Module)とは,機器全体をモデル化したソフトウェアオブジェクトであり,FCM(Fuction
Controle Module)とは,機能要素をモデル化したソフトウェアオブジェクトのことである.
機器は1つのDCMを持ち,DCMにはその機器の機能要素の数に応じて複数個のFCMが 含まれる.カプセル化は,DCMとFCMを,機器の制御を行うノード(HAViコントロー ラ)に各機器がアップロードすることにより,機器の制御方法を提供している.
2.2.3 AV/C
AV/C(Audio Video / Control)コマンドは,ネットワーク接続されたAV機器を遠隔か ら制御するためのコマンドセットである.AV/Cでは,機器を機能の集合体とみなしてお り,機器の持つ機能をSubUnitとして定義している.操作コマンドは各機能ごとに定義し ており,主なコマンドとして以下の3種類が挙げられる.
• CONTROLコマンド 機器制御を行う
• STATUSコマンド
機器の状態を問い合わせる
• NOTIFYコマンド
機器の状態変更通知を要求する
2.2.4 X-10 プロトコル
X-10は,伝送媒体として電灯線を利用してネットワークに接続されたX-10対応機器を 制御するための規格である.
機能の抽象化
• 電源制御機能
• 照度制御機能
• 通信制御機能
2.3 まとめ
本章では,現在提案されているホームネットワーク規格の機器の抽象化方法と制御方法 に着目して考察を行った.現在提案されているホームネットワーク規格では,次のような 機器の抽象化・制御方法を用いていた.
• 家電機器を複数の機能の集合体とみなし,各機能に対して制御命令を出すことで機 器全体を制御する.
• 機能群の分類を行い,その機能群が提供するサービスやアクセス方法などを規定 する.
本研究では,LegacyDeviceを抽象化し機器資源として扱うために,機器の持つ機能ご とに定義した有限状態機械を用いて機器の抽象化を行う.これは,現在提案されている ホームネットワーク規格と同様のモデル化手法であるが,LegacyDeviceと情報家電機器 が持つ基本的な機能が同様であることから,LDをホームネットワークに組み込む際に有 効な手法であると考えられる.
第 3 章 LegacyDevice ホームネット ワーク
LDホームネットワークとは,LDを用いて実現するホームネットワークのことであり,
LDを機器資源として利用し,LD機器間での連動サービスなど情報家電機器と同様にLD を扱い,様々なサービスを実現することが可能である.
LDを用いたホームネットワークを実現する際,機器の動作が明確に定義されていない LDを情報家電機器と同様に扱うため,LDをモデル化を行い,電源のON・OFFやTVの チャネル番号といったような状態情報の管理を行う必要がある.状態情報とは,複数の機 能の集合体とみなし機器の状態を示す情報のことであり,現在の機器の状態や,センサか らの情報を表すのに用いられる.本研究では,LDを複数の機能の集合体とみなし,各機 能を部分状態機械として考え,複数の部分状態機械からなる複合状態機械としてLDのモ デル化を行い,状態情報の管理を行う.
本研究では,リモコンからの赤外線信号を用いてLDの制御を行うが,赤外線信号によ るLDの制御は,現在の機器の状態に対応して行われる相対的な制御であり,現在の状態 が不明な場合,所望の状態に機器を制御することは不可能である.例えば,VTRで「録 画を行う」という制御を行う場合,現在の状態が「停止状態」であれば制御は正しく行わ れるが,「ポーズ状態」や「再生状態」のときは,一般に正しく制御されない.正しく制 御を行うためには,その状態に応じた制御を適切に行えばよいが,LDは内部状態を外部 に通知する機能を備えていないため,何らかの手段を用いてLDの内部状態を知る必要が ある.本研究では観測関連デバイスを用いて機器の状態取得を行う.観測関連デバイスと は,機器の状態を観測するデバイスであり,センサ,フィルタ,カメラなどが含まれる.
有限状態機械を用いてモデル化されたLDの状態情報に基づき,赤外線信号により制御 を行い,様々なセンサやフィルタなどを用いて状態取得を行うことで,LDを機器資源と して扱うことができ,既存のホームネットワークで実現可能なサービスが,LDを用いた ホームネットワークでも実現可能となる.本章では,LDを用いたホームネットワークを 実現可能するためのシステムの概要を示し,状態管理方法・状態制御取得方法の概要につ いて説明する.
3.1 LegacyDevice とは
LDとは,ネットワーク接続機能を備えておらず,外部に自らの状態を通知する機能を 持たない,といった制御上の特徴を持つ家電機器のことである.それに対して非LD(ネッ トワーク・情報家電)が存在するが,機能付加による価格上昇により普及しているとは言 えず,ユーザが使い慣れた機器に対するニーズもあり,LDは今後も家庭内に残る可能性 が高いと考えられている.
3.1.1 LegacyDevice の分類
本研究で対象とする赤外線信号を用いて外部から制御が可能なLDを,AV機器,白物 家電,その他の3つのクラスに分類し,クラスごとに取得する状態情報および状態の検出 を行うデバイスを図3.1に示す.LDは日本の家電メーカのホームページを参照し赤外線 で制御可能な機器を抽出した.
図 3.1: LDの分類
本研究で対象とする機器は電気機器であるので,すべてのクラスの状態情報に電源の
ON・OFFが含まれる.また,本研究では赤外線信号による制御が可能な機器を対象とし
ており,すべてのクラスの検出デバイスに赤外線(IR)センサが含まれる.
AV機器クラスの制御は,3つのクラスの中で最も複雑であり内部遷移を含む.内部遷 移とは,電源の自動OFFなど機器内部で発生する状態遷移の事である.本研究では,内 部遷移の発生を検知するセンサを設置して,内部遷移により発生するイベント(内部遷移 イベント)を新たに定義し,内部遷移に対応する.
御不可能な状態が含まれており,このような状態情報の観測を行うためには,状態情報ご とにセンサが必要になる.温度を測るための温度センサ,湿度を測るための湿度センサな どといったように,1つの状態情報の取得に1つのセンサが対応している.
クラスによって状態情報や検出デバイス数に違いがあることから,センサ導入の際に は,どのクラスの機器からどの様な状態を取得し制御するのか,といったことを利用シ ナリオとあわせて考える必要がある.例えば「室温に連動してエアコンを動作」の様な アプリケーションの場合,状態情報「温度」を観測する温度センサを導入すれば,室温の 確認・エアコンの動作確認が行えるので,他のセンサを導入する必要はない.LDホーム ネットワークでは,既存の機器とセンサを組み合わせることで実現可能なサービスによる 利便性の向上と,センサを導入する際のコストを比較して,利用シーンにあわせた適切な センサを利用者が選択することが重要である.
3.2 LegacyDevice ホームネットワークの実現
3.2.1 LegacyDevice の管理方法
本研究では,LDを有限状態機械としてとらえ,センサなどの観測関連デバイスで取得 した状態情報を利用し,LDの内部状態を把握する.有限状態機械とは,状態遷移表や遷 移図で表され,有限な状態を持ち何らかのトリガーとなるイベント受け取り状態遷移を行 いながら動作するシステムのことである.LDを有限状態機械として捕らえ,センサから の情報をトリガーとみなし,状態遷移表に基づいて状態遷移を行うことで,機器の内部状 態の変化を観測することができる.遷移を生じるさせるイベントには,リモコンでのLD の制御,ネットワーク経由でのLDの制御,LDの連動動作,内部遷移などがある.
また機種やメーカごとの状態遷移に関する依存性に対応するために,有限状態機械を表 す状態遷移表を書き換える自動遷移表書換シーケンスを実行する.これによって,機種・
メーカ依存性によらない制御が行えるようになる.
3.2.2 LegacyDevice の制御取得方法
本研究では,赤外線信号による制御が可能な家電機器を対象としており,それ以外の機 器については,電源コントローラによる電源のON/OFFなど限定的な制御に限っている.
家電機器に物理的な改造を施し,赤外線信号による制御が不可能な機器を制御することも 可能ではあるが,ホームネットワークを導入する際の簡便性を考えるとあまり適切ではな い.現在市販されている機器の多くが赤外線信号での制御が可能である点,1つのリモコ ンで複数台の装置を操作出来る点,コードが必要ないため部屋を広く使える点などからも 赤外線信号による機器の制御が,最も適切なLDの制御方法であるといえる.
サ,どちらか一方でしか信号を受信出来なかった場合,現在の機器の内部状態と,システ ム内での機器の状態が乖離することとなり,正確な制御は不可能となる.また,電源の自 動OFFなど機器内部で発生する内部遷移を捕捉することも不可能である.
本研究ではこれらの問題に対して,カメラセンサや湿度センサなど様々なセンサをIR センサとあわせて利用する「受動的状態取得方法」を利用して機器の内部状態を取得す る.また,状態取得の際の機種やメーカの依存性に対応するために,源信号に対して状態 の識別を行うための識別用信号を付加する「能動的状態取得方法」も利用する.これらの 方法を用いて,メーカ,機種によらない汎用的な状態取得を行う.
3.3 システム構成
図3.2に示すのが本研究で提案するLDホームネットワークシステムである.システム内 のデバイスは,被観測デバイスと観測関連デバイスに大別される.LDを状態機械を用い てモデル化を行い,観測関連デバイス(センサ)がリモコンによる被観測デバイス(LD)
への制御命令や,温度など被観測デバイスの動作に関係する情報を監視して,得られた情 報を処理ユニットで処理し,被観測デバイスの内部状態を取得する.そして,取得した内 部状態に基づき,処理ユニットで直接制御するリモコンを用いて機器の制御を行い,連動 動作など様々なサービスを実現する.機器導入の際,1から部分状態機械ごとの遷移表を 作成するのではなく,あらかじめ定義した共通・メーカ別の状態遷移表を用いて,機種や メーカの依存性に対応するための自動遷移表書換シーケンスを実行し,依存性を除去した 機種別の遷移表を作成する.
• 被観測デバイス
状態を観測されるデバイスであり,TV,カーテン,エアコンなどのLDが含まれる.
• 観測関連デバイス
状態を観測する関連デバイスであり,処理ユニット,フィルタ,センサなどが含ま れる.状態の管理,信号の切り換え,アナログ信号の取得・処理などを行う.
3.3.1 処理ユニット
処理ユニットは,LDを用いたホームネットワークにおいてすべての中心となる機器で あり,家庭内に唯一つ存在する.処理ユニットは,
• 機器情報の管理
• 機器制御の実行
• サービス情報の掲示
• LDに対する命令の捕捉
• センサの管理
• センサ情報の処理
• 他システムとの通信
などを行う.処理ユニット内に,機器の連動動作など高度なサービスを持たせることに より,機器の相互運用が可能となる.また,他センサとLDを組み合わせたサービスを実 現することも可能である.
3.3.2 センサ
センサとは,一般的な定義として,実世界の温度や光などの物理量を電圧などの電気信 号に変換するデバイスである.センサから得られるアナログ信号は,処理ユニットによっ て制御されるA/D変換器によりA/D変換を行い,得られたディジタル信号(センサ情報) を,処理ユニット上のデータベースを参照して変換処理を行うことで,LDの状態情報や,
LDの制御に利用する情報を取得することができる.
センサ情報とは,センサで取得した電気的な情報を,計算機で利用するために適切な形 式に変換した後の情報のことである.本研究では,リモコンの赤外線信号を捕捉する赤外 線センサや,室温を監視する温度センサ,湿度を監視する湿度センサなど複数のセンサを
ホームネットワークにおいて,センサ情報を利用するためには,センサが何らかの形で ネットワーク接続性を持つか,センサ情報を計算機に入力する手段を持つ必要がある.す べてのセンサに高度な機能を持たせるのは,コストの面から適切ではなく,本研究では,
計算機上のデータベースでセンサ関連の情報を一元的に管理する.
第 4 章 状態管理方法
4.1 LegacyDevice のモデル化
4.1.1 有限状態機械
状態機械とは,イベントを受け取り,現在の状態に応じた動作を行い「次の状態」へ遷 移する装置のことである.状態機械は,現在の状態とイベント(入力),「次の状態」の関 係を示す状態遷移表や遷移図に基づき,状態を遷移させる.状態機械は次のような5個の 組で定式化する.
A=(Q,P,δ,q0,F)
• Q:状態の集合
• P: 入力記号の集合
• δ: 遷移関数
• q0: 初期状態
• F: 最終状態
それに対してLDは,有限な状態を持ち,何らかの入力に対してある動作を実行するデ バイスであり,LegacyDeviceを有限状態機械と考えることができる.
4.1.2 機能分割・細分化
LDを有限状態機械としてモデル化を行う場合,LDを一つの状態機械としてとらえる と,VTRなど複数の機能を持つLDにおいて状態機械が複雑になってしまう.そこで,LD を複数の部分状態機械の集合体としてとらえ,複数の部分状態機械が並行して動作する状 態機械としてモデル化を行う(図4.1).これにより状態機械のモデル化が容易になり,同 様の機能を持つ複数のLDで部分状態機械の流用が可能となる.本研究では,部分状態機 械の状態を機器の持つ状態としてとらえ,部分状態機械が提供する機能を機器の持つ機能 とすることで,各機器を機器資源として扱う.
図 4.1: 部分状態機械
表4.1に代表的な機器と機器が持つ代表的な部分状態機械を示す.表にない機器につい ても部分状態機械を組み合わせることで,モデル化は可能である.例えば,複数の機能 が組み合わさっているテレビデオのような機器は,複数の機器(TVとVTR)が組合わ さって構成されていると考え,両方の機器の部分状態機械をすべて保持する機器としてモ デル化を行う.テレビデオの場合,TVとVTRが組み合わさって構成されていると考える ので,保持する部分状態機械は,power/tuner/amp/aux/player・recorder/となる.また,
ラジオやコンポなどオーディオ機器は,power/amp/auxなどから構成されると考える.
appliance 部分状態機械
TV power/tuner/amp/aux/
VTR power/tuner/amp/aux/player・recorder/
DVDplayer power/tuner/amp/aux/player・recorder/
DVDrecorder power/tuner/amp/aux/player・recorder/
CDplayer power/tuner/amp/aux/player・recorder/
CDrecorder power/tuner/amp/aux/player・recorder/
エアコン power/temp/humid/mode drive/mode angle/mode wind/
送風機 power/temp/humid/mode drive/mode angle/mode wind/
換気扇 power/temp/humid/mode drive/mode angle/mode wind/
加湿器 power/temp/humid/mode drive/mode angle/mode wind/
雨戸 power/open close/illumination カーテン power/open close/illumination ブラインド power/open close/illumination シャッター power/open close/illumination ランプ・蛍光灯 power/illumination
電気ポット power/
表 4.1: 機器と対応する部分状態機械
表4.2に部分状態機械の機能と,部分状態機械が保持する状態例および状態取得に利用 するセンサを示し,各部分状態機械が機器資源として提供するサービスを明確にしてお く.なお,player/recorder部分状態機械は,基本的な機能のみ提供しており,DVDplayer・ recorderやCDrecoderなどのメニュー操作,チャプター操作などには対応していない.各 部分状態機械に対する入力の種類は,表4.3〜表4.12に示す通りである.
部分状態機械 機能の説明 状態 センサ
power 機器の電源を管理 ソフト電源 on・off,
ハード電源off
camera/current/ir/noise
tuner チャネルを管理 チャネ ル (1ch〜
63ch)
camera/ir/noise amp 音声出力の大きさを
管理
音量(vol0〜vol40) camera/ir/noise aux ライン入力を管理 ラ イ ン (line0〜
line5)
camera/ir/noise player/recorder player/recorderの基
本機能を管理
再 生 ,録 画 ,停 止 , 早送り,頭出し早送 り,巻き戻し,頭出 し巻き戻し,一時停 止
camera/ir
open close ドアやシャッターの
開閉を管理
開閉 open close/ir
mode angle 風向きを管理 風 向 き レ ベ ル
(auto/非 auto, 上中 下/左中央右/スイン グ/)
wind/ir
mode drive 運転モードを管理 運転モード(自動/
暖 房/冷 蔵/除 湿/送 風/)
wind/ir
mode wind 風量を管理 風量レベル4段階 wind/ir
humid 湿度値を管理 湿度レベル4段階 humid/ir
illumination 照度値を管理 照度レベル4段階 illumination/ir
temp 温度値を管理 温 度 レ ベ ル (0〜50 度)
temp/ir 表 4.2: 部分状態機械の種類
入力記号 意味
POWER ソフト電源切替
LINK ハード電源ON UN LINK ハード電源OFF
表 4.3: 部分状態機械(POWER)に対する入力信号
入力記号 意味
PLAY 再生
STOP 停止
REW 巻き戻し
FF 早送り
REC 録画
PAUSE 一時停止
ACTION 内部遷移(動作の終了)
MEDIA 内部遷移(メディアの制限)
TIME 内部遷移(タイムアウト)
EXCEPTION 内部遷移(例外制御)
表 4.4: 部分状態機械(PLAYER/RECORDER)に対する入力信号
入力記号 意味
LINE ライン入力切替(トグル)
LINE0〜LINE3 ライン入力切替
EXCEPTION 内部遷移(例外制御)
表 4.5: 部分状態機械(AUX)に対する入力信号
入力記号 意味
CH0〜CH12 チャネル切替
CHUP,CHDOWN チャネル切替
EXCEPTION 内部遷移(例外制御)
表 4.6: 部分状態機械(TUNER)に対する入力信号
入力記号 意味
OPEN 開く
CLOSE 閉じる
表 4.7: 部分状態機械(OPEN CLOSE)に対する入力信号
入力記号 意味
VOLUP 音量を上げる
VOLDOWN 音量を下げる
EXCEPTION 内部遷移(例外制御)
表 4.8: 部分状態機械(AMP)に対する入力信号
入力記号 意味
HUMID1〜HUMID5 除湿モードの切替
HUMIDUP 除湿モードの切替(トグル上)
HUMIDDOWN 除湿モードの切替(トグル下)
表 4.9: 部分状態機械(ENVIRONMENT HUMID)に対する入力信号
入力記号 意味
ILLUMINATION1〜ILLUMINATION4 照度の切替
ILLUMINATIONUP 照度の切替(トグル上)
ILLUMINATIONDOWN 照度の切替(トグル下)
表 4.10: 部分状態機械(ENVIRONMENT ILLUMINATION)に対する入力信号
入力記号 意味
CHANGEDRIVE 運転モードの切替
CHANGEWDIR 風向きの切替
CHANGEWIND 風量の切替
表 4.11: 部分状態機械(DRIVE,WDIR,WIND)に対する入力信号
入力記号 意味
TEMP0〜TEMP50 温度の切替
TEMPUP 温度の切替(トグル上)
TEMPDOWN 温度の切替(トグル下)
表 4.12: 部分状態機械(ENVIRONMENT TEMP)に対する入力信号
4.2 状態遷移表の作成
機器の内部状態を反映した有限状態機械は,状態遷移表で表される.状態遷移表とは,
入力と状態の組み合わせ,そのときの状態の遷移先を示す表であり,入力と内部状態の組 合わせが漏れなく記述できる.本研究では,状態遷移表を用いてLDの動作を漏れなく明 確に定義して,赤外線信号などを入力として扱い機器の内部状態を取得する.状態遷移 表は,機器導入の際に人手で作成するのではなく,あらかじめ作成した状態遷移表を利用 する.
状態遷移表を作成する際に問題となるのが,機種やメーカの状態遷移に関する依存性で ある.LegacyDeviceには様々なメーカ・様々な機種が存在し,メーカ・機種ごとに入力 に対する状態の遷移先は異なるので,すべての機種・メーカで共通の遷移表を用いても,
入力に対する遷移先を正しく決定することはできない.また,人手で機種ごとに一から遷 移表を作成するのも,対象機種の状態・入力・遷移先をすべて調べる必要があり,非常に 手間がかかり現実的ではない.
本研究では,一般的・メーカ別・機種別の依存性に対応した3種類の遷移表をあらかじ め定義,または自動遷移表書き換えシーケンスの実行により自動的に遷移表を書き換え ることで,機器導入の際の労力を軽減する.一般的な遷移表は,すべてのメーカ・機種で 共通の遷移部分を抽出した表である.この表を用いて機器制御を行う場合,メーカ・機種 依存性を持つ命令は正しく実行できない.メーカ別遷移表は,特定のメーカで共通の遷移 を示す部分を抽出し作成した遷移表である.この表を用いて機器制御を行う場合,メーカ 依存性を持つ命令は正しく実行できるが,機種依存性を持つ命令は正しく実行できない.
機種別遷移表は,特定の機種に限って作成した表であり,自動遷移表書換シーケンスの実 行により作成するか直接人手で作成する.この表を用いて機器制御を行う場合,状態機械 で定義されているすべての命令が正しく実行可能である.
状態遷移表の種類ごとに,依存性の箇所の数は異なり,依存性を持つ箇所が多いほど遷 移表の書き換えにかかる時間は増大する.一般的な遷移表から機種別遷移表を作成する 場合,多くの箇所を再定義する必要があるが,メーカ別遷移表から機種別遷移表を作成す る場合は,より少ない再定義ですむ.あらかじめ状態遷移表を一般的・メーカ別など共通 の依存性を持つグループごとに定義しておくことで,遷移表を作成する際の手間を省き,
再定義箇所を少なくして遷移表書き換え時の時間を短縮することが可能となる.
3種類ある表の初期選択は以下の様に行う.
• 既に登録されている機器 → 機種別遷移表
• メーカ名が判明 → メーカ別遷移表
• 上記以外 → 一般的な遷移表
4.2.1 自動遷移表書換シーケンス
自動遷移表書換シーケンスは,機器導入の際に実行し,一般的・メーカ別状態遷移表の 依存性箇所を,赤外線リモコンの制御により発生したイベントによる状態機械の遷移を センサで監視して,センサからの状態情報を元に遷移表を再定義する.処理ユニットで制 御されるリモコンを用いて自動的にイベントを発生させ,センサから得られた状態情報 に基づいて自動的に遷移表の再定義を行っているため,人手で直接遷移表を書き換える必 要はない.カメラセンサなど絶対的に機器の状態を取得するセンサが存在しない場合は,
状態の確認のみユーザが行い,依存箇所への機器制御は自動で行う半自動化方法をとる.
自動遷移表書換シーケンスを実行を行う際,機器の持つ初期状態,またはシステム側で設 定した状態から依存性箇所への遷移を開始する必要があり,何らかの手法を用いて,実機 の状態と部分状態機械の状態を合致させる必要がある.本研究では,機器の状態と部分状 態機械の状態を合致させる処理を人手で行うこととする.
自動遷移表書換シーケンスは,player/recoder, power, aux, amp, tunerなどほとんどの 状態機械に適応される.power部分状態機械では,ハード電源OFFからONなどの遷移 に関する依存性があり,他の部分状態機械についても,ライン数や音量の範囲などの状態 に関する依存性が存在する.これら2種類の依存性を自動遷移表書換シーケンスの実行に より除去する場合,調べる状態が多くなり時間がかかることも考えられる.よって,機器 の持つ状態に関する依存性については,一般的な遷移表でカバーしない範囲については対 応しない,機器の初期化時に部分状態機械が保持する状態を人手で設定して遷移表を書き 換えるなどが考えられる.また,カメラセンサなどで状態取得が不可能な状態についても 人が対応する.
図 4.2: 遷移表作成の流れ
4.2.2 aux-tuner への対応
tuner部分状態機械とaux部分状態機械の間には強い関係性があり,tuner部分状態機
械のイベントであるch-upとch-downを用いてauxの状態を遷移させることが可能な機 種が存在する.また,ある機種ではチャネルの持つ状態が1〜12chであった場合に,状態 が12chでイベントch-upを入力すると1chに戻るといったような状態遷移を行う.よっ て,部分状態機械tuner, aux単体で独立して動作している機種と,tuner, auxで強い関係 性を持って動作している機種を区別して考える必要がある.前者の場合,通常の遷移表を 用いて対処することができるが,後者の場合はtuner部分状態機械とauxを組み合わせて 考える必要がある.以下に部分状態機械aux(ex. line0〜line1)とtuner(ex. 1〜12ch)を組 み合わせた遷移表を示す.若干複雑な遷移表になっているが,以下の表を用いることで,
部分状態機械auxとtunerを統合的に扱うことが可能である.また,下記の表においても 状態と遷移に関する依存性は存在するので,書換シーケンスの実行などは必要である.
PPPPPP
PPPP
状態
入力 ch-x line-x ch-up ch-down line pow τ(exception)
1 ch-x line-x 2 line1 line0 off ch1 1
2 ch-x line-x 3 1 line0 off ch2 1
3 ch-x line-x 4 2 line0 off ch3 1
… … … …
11 ch-x line-x 12 10 line0 off ch11 1
12 ch-x line-x line0 11 line0 off ch12 1
line0 ch-x line-x line1 12 line1 off line0 line0
line1 ch-x line-x 1 line0 line0 off line1 line0
off ch1 off ch1 off ch1 off ch1 off ch1 off ch1 ch1 off ch2 off ch2 off ch2 off ch2 off ch2 off ch2 ch2 off ch3 off ch3 off ch3 off ch3 off ch3 off ch3 ch3
… … … …
off ch11 off ch11 off ch11 off ch11 off ch11 off ch11 ch11 off ch12 off ch12 off ch12 off ch12 off ch12 off ch12 ch12 off line0 off line0 off line0 off line0 off line0 off line0 line0 off line1 off line1 off line1 off line1 off line1 off line1 line1
表 4.13: aux-tuner状態遷移表
4.3 イベント
イベントとは,部分状態機械の状態を遷移させる際のきっかけとなる様々な出来事のこ とである.赤外線信号による外部制御や内部遷移イベントの発生条件などをトリガとして
「イベント」が発生して,現在の状態に応じた「動作」を行い,状態遷移表で定める「次 の状態」に遷移する.本研究では,状態遷移を起こすイベントを通常イベントと内部遷移 イベントの2種類に大別する.
4.3.1 通常イベント
通常イベントとは,赤外線センサや温度センサ,湿度センサなど様々なセンサから得た 情報を元にして生じるイベントである.センサからの情報をきっかけにして通常イベント が生じ,通常イベントにより状態遷移が生じる.
4.3.2 内部遷移イベント
内部遷移イベントとは,内部状態や命令が,「内部遷移イベント発生条件」に該当した 場合に生じるイベントであり,action・media・time・exceptionの4種類が存在する.内 部遷移イベント発生条件とは,内部遷移イベントが発生する際の部分状態機械の状態や制 御内容などを定めた条件のことである.表4.14に内部遷移イベント発生条件と動作及び 内部遷移イベントによって遷移をおこす部分状態機械を示す.
内部遷移
内部遷移とは,VTRの早送り,テープ切れ,録画,電源自動オフなど何らかのタイム アウト動作を伴う機器内部で自動的に発生する状態遷移と,メニュー操作など例外制御時 の遷移のことである.内部遷移は,赤外線信号による制御に基づく内部状態の遷移とは異 なり,LDが自らの状態を自発的に遷移する.よって,赤外線信号を捕捉してもその発生 を観測することは不可能である.また,例外制御は,赤外線信号を捕捉してもどのような 制御が行われたのか理解できないので適切な遷移は行えない.
本研究では,部分状態機械がPLAYやPLAY-FFなど内部遷移を伴う状態であるとき,
カメラセンサなど内部遷移の発生を捕捉可能なセンサを利用して,内部遷移イベント発生 条件に関係した状態の監視を行い,発生条件に合致した場合に内部遷移イベントを発生さ せる.内部遷移イベントを赤外線信号の捕捉などによる通常イベントと同様に,状態遷移 表を用いて扱い,機器の内部状態の管理を行う.内部遷移を例外扱いするのではなく,通 常の遷移と同様に状態機械を用いて統一的に扱うことで,状態の管理が容易になる.
イベント 内部遷移イベント発生条件 動作 部分状態機械
τ (action) 機器に対する制御が断続的に続
く場合に維持される状態(play- rew, play-ff)であるとき,赤外 線による制御が停止された場合
制御前の状態 に状態に遷移
PLAYER/RECORDER
τ(media) 状態をある時間維持した場合に,
一度だけ必ず遷移するような状 態(play, REW, FF, rec,)であ るとき,メディアの始まり・終 わりに到達した場合
stop,REW などの状態に 遷移する
PLAYER/RECORDER
τ(time) 一定時間新たなイベントが発生
しない場合
電源OFF 機器の持つすべての状態 機械
τ(exception) メニュー操作などの例外制御が 外部リモコンにより発生した後,
処理ユニット制御リモコンを使 用した時など
部分状態機械 を指定状態に 遷移
機器の持つすべての状態 機械
表 4.14: 内部遷移イベント発生条件
4.4 イベントの実行
4.4.1 電源への対応
機器の電源が入っておらず,機器側で電源以外の制御が行われない場合にも,人間のリ モコンの操作ミスなどにより,赤外線信号が発せられる可能性がある.センサは,機器制 御が正常に行われたかどうかにかかわらず,受信した信号に基づいてイベントを発生させ るので,そのイベントをトリガとして状態遷移を行った場合,実機の状態と部分状態機 械の状態が一致しなくなってしまう.実機の状態を機能ごとにモデル化した部分状態機械 と,実際の機器の状態が合致しない場合,正しい制御は行えない.
本研究では,部分状態機械に電源ON状態と電源OFF状態を定義し,電源OFF状態で の機器制御により発生したイベントは全て無視し,「電源OFF状態」を別な状態に遷移さ せるイベントを「power」に限定することで上記の様な問題に対応する.機器の電源OFF に伴って各部分状態機械を電源OFF状態に遷移させ,power以外のイベントをすべて無 視し,リモコンの誤動作などによって発生したイベントで状態が遷移することを防ぐ.
機器は,電源をOFFにする際にOFFにする前の状態を記憶し,ONにしたときに記憶 している状態に戻るといった動作を行う.例えば,一般にTVのチャネルは電源を消して も初期化されることはなく,前に選択したチャネルがそのまま表示される.このような 機器の動作を,機器をモデル化した状態機械でも行う必要がある.本研究では,電源部 分状態機械とplayer/recorder部分状態機械を除く部分状態機械の状態に,電源ON状態 と,電源ON時の状態情報を含んだ電源OFF状態の2種類を定義し,前の状態を保持す る.player/recorder部分状態機械は,電源OFF時に状態がリセットされるため,このよ うな状態を持つ必要はない.例えば,AMP部分状態機械がvol8(state vol8)のときに,電 源部分状態機械がオフになると,AMP部分状態機械は,state off vol8というvol8での電 源OFF状態に遷移する.そして,電源部分状態機械をONすると,vol8での電源ON状 態(state vol8)に戻る.このようにして,前の状態を保持している.
機器が4種類の部分状態機械を持ち,機器の電源をONからOFFにする際の,各部分 状態機械の遷移を図4.3に示す.まず,リモコンからの赤外線信号を赤外線センサで受信 し,その信号に基づいて発生したイベントpowerをトリガとして,power部分状態機械が OFF状態に遷移し,機器が持つすべての部分状態機械も電源OFF状態に遷移する.
機器の電源には,リモコンなどの電源操作によって状態が遷移するソフト電源と,機 器側スイッチの電源操作によって状態が遷移するハード電源の2種類が存在する.今ま で論じてきた電源OFFはソフト電源に関わるものであり,ハード電源を考慮していない.
本研究では両電源を,power部分状態機械を用いて1つの部分状態機械として定義する.
power部分状態機械は,電源ON状態(pow-on)と電源OFF状態(pow-off)及び電源カッ
ト状態(cut)を持つ.機器の電源がONのとき,ソフト電源は電源ON状態であり,赤外
線の制御などソフトスイッチの操作よりソフト電源ON状態からソフト電源OFF状態と
OFF OFF
図 4.3: 電源OFF時の状態遷移
般的には変わらない.また,ハード電源では一般的に電源OFF時に前の状態はリセット されるので,ソフト電源のように前の状態を記憶しておく必要はなく,電源ON状態を定 義する必要はない.
機種によっては,ハードスイッチをOFFからONにするとソフトスイッチがONになる 場合やソフト電源OFFでも一部操作が可能な場合も例外的に存在するため,このような 場合,自動遷移表書き換えシーケンスを実行するか,直接遷移表を書き換えて対応する.
4.4.2 例外制御への対応
本研究で対象外とする制御命令には,メニュー操作,予約録画,タイマー設定などが存 在する.これらの制御命令は,機器によってその操作体系などが大きく異なるため,状 態機械を用いてモデル化を行い,内部状態を捕捉するのは困難である.しかし,現にメ ニュー操作などにより実機に対して制御が行われており,タイマー設定などにより機器の 電源がOFFになっている可能性や,予約録画により録画状態になっている可能性がある.
本研究では,電力センサやカメラセンサ,内部遷移イベントexceptionを利用して,機器 の状態を直接取得する,またはリカバリ設定状態に機器を遷移させるなどしてこれらの例 外制御に対応する.
例外制御が発生した場合,まず電力センサを用いて,POWER部分状態機械の状態を 取得し,取得した電源部分状態機械の状態に応じて,電源ONなどの制御を行い機器の状 態を電源ON状態に遷移し,機器の状態を制御取得・可能な状態にした上で,カメラセン
が行われるものもあり,例外制御の発生時だけではなく,一定時間間隔もしくは通常イベ ントで遷移を行う前に観測を行うことも必要と考えられる.
カメラセンサなどが存在しなかった場合やカメラセンサで情報が取得できなかった場 合は,内部遷移イベント発生条件に基づき,内部遷移イベントexceptionを発生させ,部 分状態機械の状態を設定した状態(リカバリ設定状態)に遷移させて,実機の状態と部分 状態機械の状態を乖離を解消する.内部遷移発生条件として考えられるのが次の2つであ り,利用者側で選択を行う.
a. 例外制御発生後,通常イベントを捕捉したときにイベントを発行する.
b. 例外制御発生後,処理ユニット制御リモコンを使用するときにイベントを発行する.
aの場合,例外制御を行った後すぐにリカバリ設定状態に遷移するため人に与える影響は 大きいが,状態の乖離をいち早く解消することができる.bの場合は,例外制御発生後も リカバリ設定状態に遷移が生じることがないため,人に与える影響は少ないが,処理ユ ニット制御リモコンが使用されなかった場合,いつまでも乖離が発生していることにな り,それによって,誤った状態でサービスが実行されてしまう状況などが考えられる.
例外制御の発生とその対応例を下記に示す.
1. ユーザAが機器付属の外部リモコンを制御し,メニュー操作を行う.(例外制御の 発生)
2. ユーザBが外部から録画命令を送信する.(処理ユニット制御リモコンの制御)
3. 上記の操作が「例外制御後の通常イベントの発生」という内部遷移イベント発生条 件に合致したため,内部遷移イベントexceptionを発生させ,赤外線リモコンの操 作により各部分状態機械の状態を設定した状態に遷移させる.
上記のシナリオにおいて電源タイマーなどによって電源が落ちている場合は,電源をON にした上で各部分状態機械を設定した状態に遷移させる.電源の状態は電源センサを用い て監視する.また,AMP部分状態機械は絶対的な状態指定が行えないため,現在の状態 を最大状態として,最大状態から最低状態に遷移するまでに必要な制御を行う.
部分状態機械 リカバリ設定状態 player/recorder stop
amp vol0
aux line0
tuner ch1
表 4.15: 例外制御時のリカバリ設定状態例
リカバリー処理
ハード側での機器操作や何らかの障害などにより発生した状態遷移は,カメラセンサや 電力センサなどを用いて機器の状態を常に観測していなければ,その発生を捕捉するこ とは不可能であり,それにより実機と部分状態機械の状態が乖離してしまう.このような 問題への対応として,乖離の発生に人が気づいたら内部遷移イベントexceptionを発生さ せて,リカバリ設定状態に機器を遷移させる方法が考えられる.乖離の発生の捕捉を人手 で行い,後の処理は,内部遷移イベントexceptionに基づいて自動的に行われるので,人 が実機の状態と部分状態機械の状態を合致させるような操作を行う必要はなく,手間をか けずに状態を合致させることができる.この方法では,センサの役割を人が担っているた め,遠隔地など直接機器の状態が確認できない状況では,このような障害に対応すること が出来ない.しかし,現在リモコンによる制御が機器の主な制御方法となっていることか ら,このようなリカバリー処理が必要になる状況は少ないと考えられる.もう一つの方法 として,通常イベントの発生の前に必ず内部遷移イベントexceptionを発生させることも 考えられるが,影響が大きく現実的ではない.
4.4.3 部分状態機械の選択
カメラセンサなどで発生したイベントは,amp部分状態機械に対するもの,tuner部分 状態機械に対するものなど,複数の部分状態のイベントが含まれており,入力信号を適切 な部分状態機械に選択を行う機能が必要になる.本研究では,センサなどからの入力イ ベントに従って,適切な部分状態機械に対してイベントを発生させるselector機能を定義 し,入力先を決定する.
図 4.4: 部分状態機械の関係
イベント イベント発生条件 動作 部分状態機械
AMP関連イベント 設定したAMP関連イベ ントの発生
イベントに よる
AMP AUX関連イベント 設定したAUX関連イベ
ントの発生
イベントに よる
AUX
TUNER関連イベント 設定したTUNER関連イ
ベントの発生
イベントに よる
TUNER PLAYER/RECORDER
関連イベント
設 定 し た
PLAYER/RECORDER 関連イベントの発生
イベントに よる
PLAYER/RECORDER
power関連イベント 設定したpower関連イベ
ントの発生
イベントに よる
power
表 4.16: selector
4.5 状態管理方法の確認
4.5.1 状態遷移
赤外線リモコンで機器制御を行い,機器の機能をモデル化した部分状態機械の状態が,
イベントに対して正しく遷移して,実機の状態と一致しているかどうか目視で確認を行っ た.この測定の目的は,本研究のモデル化手法を用いて機器の内部状態が正しく捕捉でき るかどうかの確認である.
測定は,レガシーデバイスの状態変化が発生するたびに,処理ユニットにその情報を表 示させ,イベントと状態を総当たりで検証を行った.理想的にはシステムの全状態に対し あらゆる入力を実際に与えてみなければならないが,あらゆる状態を想定するのは困難で あり,部分状態機械がそれぞれ完全に独立に動くようにして確認を行う.
内部遷移イベントは,機器の内部遷移の発生を目視で確認し,手動にてイベントを発生 させた.例外制御を「メニュー操作」とし,例外制御後,通常イベントを捕捉したときを条 件としてイベントを発行した.対象機器は最も複雑な部分状態機械player/recorderを持つ VTR(panasonic:NV-F600)で実験を行った.テストを行った部分状態機械はpower/amp/player・ recorder/auxである.ライン入力は2系統,ボリュームの範囲は0〜20とし状態遷移表は 個別に作成した.イベントが発生したときの部分状態機械の状態を下記に示す.
図 4.5: 部分状態機械 - amp
図 4.7: 部分状態機械- player/recorder(2)
図 4.8: 部分状態機械- aux
図 4.9: 部分状態機械- power
測定の結果,状態遷移表に基づいてすべて正常に遷移が行われ,実機の状態を捕捉し続 けることが確認できた.電源OFF時にpower関係以外の制御を行った場合,制御をトリ ガとして発生したイベントはすべて無視され,実機の状態と状態機械の状態が乖離するこ とはなかった.また,機器内部で発生する内部遷移を内部遷移イベントと対応づけること で,機器の外部制御と内部遷移を状態機械で差異なく扱う事ができた.また,例外制御を 行った場合,イベントexceptionが条件に従って発生し,設定した状態に遷移することが 確認できた.