Developers‎ > ‎マニュアル‎ > ‎

構造

BLOCCOは、BLOCCO本体と、4タイプのプラグイン(Event, Input, Process, Action)により構成されます。Eventプラグインアプリは、状態の変化を監視しBLOCCO本体に通知します。BLOCCO本体では、Eventプラグインアプリから状態の変化を通知される毎に、通知元を含め設定された全てのEventプラグインアプリに条件判定の問い合わせをおこないます。問合せしたすべてのEventプラグインアプリが条件を満たしている場合は、Actionプラグインアプリが呼び出されます。Actionプラグインアプリで必要なデータは、InputプラグインアプリとProcessプラグインアプリにより提供される仕組みになっています。

現時点ではProcessプラグインアプリのみプラグインの拡張は非対応です。ProcessプラグインアプリはBLOCCO本体に内包する形で提供されます。

 種類概要 
 Eventプラグインアプリ状態の変化を監視しBLOCCO本体に通知します。また、BLOCCO本体からの問合せに対し条件判定を行い、条件を満たしているときはTrueを返します。
 InputプラグインアプリEventプラグインアプリで取得したデータ、ローカルのセンサー関連のデータ、外部のweb関連のデータを取得し、Actionアプリに受け渡します。
 ProcessプラグインアプリEventプラグインアプリまたはInputプラグインアプリで取得したデータを加工し、Actionプラグインアプリに渡します。 
 ActionプラグインアプリEventプラグインアプリの条件を満たした時、Eventプラグインアプリ、Inputプラグインアプリ、またはProcessプラグインアプリの結果を取り込みActionプラグインアプリが起動します。Actionアプリは画面を持ったActivityやService等任意の形式の出力に対応します。 

1.1 BLOCCOの仕組み

BLOCCOでは、4つの形式より構成されるプラグインであるEvent, Input, Process, Actionプラグインアプリにより構成されます。4つの形式のプラグインアプリは、InstallerによりBLOCCO本体に組み込まれます。BLOCCO本体に組み込まれた4つのプラグインアプリは、ユーザが条件を設定する際に、設定画面用のActivityを明示的なIntent起動によりBLOCCO本体より呼び出し起動します。ユーザが設定した値は、BLOCCO本体にXML形式で返され、それぞれのプラグインの起動条件の値として設定されます。BLOCCOは、つねにEventプラグインアプリの監視する状態の変化を監視し、Eventプラグインアプリの変化が条件を満たした時に、Inputプラグインアプリでデータを取得し、必要に応じてProcessプラグインアプリでデータを加工し、その結果をActionプラグインアプリで実行するという仕組みになっています。

1.2 Installer

Installerは、プラグインアプリをBLOCCOに組み込む役割を担っています。BLOCCOでは、AndroidアプリケーションがAndroidにインストールされた際に、Broadcastで発行されるアクション名:anroid.intent.action.PACKAGE_ADDED を受信し、Eventプラグインアプリ、Inputプラグインアプリ、Processプラグインアプリ、Actionプラグインアプリそれぞれのインストール処理をおこないます。

1.3 条件設定用のActivity

BLOCCO本体からEventプラグインアプリ、Actionプラグインアプリ、Inputプラグインアプリ、Processプラグインアプリの設定画面を起動し、各プラグインアプリが実行された際に、使用する値の設定をおこないます。設定された値は、XML形式でBLOCCO本体に返されます。

1.4 状態監視と実行

BLOCCOでは、Eventプラグインアプリで状態を監視し、Inputプラグインアプリでデータを取得し、必要に応じてProcessプラグインアプリでデータを加工し、Actionプラグインアプリでその結果を処理します。

Eventプラグインアプリでは自分の監視する状態の変化を察知した場合は、BLOCCO本体にBroadcastで通達し、BLOCCO本体がEventプラグインアプリにServiceで接続し、ユーザが設定した条件にマッチしていた場合は、Inputアプリからデータを取得し、必要に応じてProcessプラグインアプリでデータを加工し、その結果を元にActionプラグインアプリを起動します。

ここで、BLOCCOからEventプラグインアプリへの条件判定問合せの結果として、全ての条件にマッチして、Actionプラグイン等が連動起動されることを簡潔に「実行」と呼びます。


Comments