【文献】
林信行,Scripter AppleScript専用エディター,月刊マックパワー,日本,株式会社アスキー,2001年 5月 1日,第12巻,第5号,p.132
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0015】
以下、図面を参照しつつ本発明の一実施形態について説明する。
【0016】
図1には、本発明の一実施形態に係る情報部品実行装置の概念図を示し説明する。
【0017】
同図に示されるように、情報部品実行装置は、スクリプトからなる複数の情報部品50が同期して、神経系アルゴリズムに基づく動作を実行することが可能となっている。各情報部品50では、そのスクリプトにおいて、動作実行の契機となるトリガ情報を定義している。詳細は後述するが、トリガ情報は、トリガ番号とトリガ値からなる。外部のアプリケーションプログラム等から、スクリプトで定義されたトリガ情報と同一のトリガ情報を受けると、それが契機となって、対応する情報部品のスクリプトの対応箇所から解釈実行され、他の情報部品、或いは他のアプリケーションプログラム等に対して、指令が送られる。このとき、情報部品同士の同期がとられながら、複数の情報部品が協働して、アプリケーションプログラムや外部機器等の動作を制御することができる。
【0018】
このように、1つのトリガ情報の入力が契機となって、情報部品の間でもトリガ情報のやりとりがなされ、複数の情報部品が協働して外部のアプリケーションプログラムや外部機器等の動作制御を行うことから、そのような処理手順を、本願では「神経系アルゴリズム」と定義している。
【0019】
ここで、トリガ情報は、前述したように、トリガ番号とトリガ値で構成されている。例えば、制御対象が照明器具である場合に、照明器具に対する点灯動作制御を実行する情報部品に対する契機は、トリガ番号「100」、トリガ値「1」とし、消灯動作制御を実行する情報部品に対する契機は、トリガ番号「100」、トリガ値「2」といった具合に、動作契機となるトリガ情報を各スクリプトで定義することが可能である。また、トリガ番号のほかにトリガ値を含めることで、トリガ情報のコンフリクトを未然防止することも本実施形態の特徴の1つとなっている。
【0020】
情報部品は、神経系アルゴリズムの中に適宜追加することが可能であり、その場合でも他の情報部品との同期を簡単にとることが可能である。例えば、IoTでは、様々な用途に応じて、外部機器の動作制御することが所望されるが、その場合でも、スクリプトで構成された情報部品を追加するだけで、当該用途に対応可能となる。例えば、室温に合わせて室内の空調機の動作制御を実行したい場合には、温度センサからのトリガ情報を契機として動作制御を実行する情報部品を追加するだけで実現可能となる。
【0021】
図2には、本発明の一実施形態に係る情報部品実行装置のハードウェア構成を示し説明する。同図に示されるように、情報部品実行装置1は、パーソナルコンピュータ等で構成されており、全体の制御を司るCPU(Central Processing Unit)2を備えている。CPU2は、ハードディスクドライブ(HDD;Hard Disc Drive)3、ROM(Read Only Memory)4、RAM(Random Access Memory)5、通信インタフェース(I/F)6、外部I/F7、表示デバイス8、及び操作デバイス9と、制御バス10を介して通信自在に接続されている。
【0022】
HDD3、ROM4、及びRAM5は、記憶部を構成しており、本実施形態の主要な要素となる情報部品50は、例えばHDD3に記憶される。通信I/F6は、外部のサーバ装置、各種センサユニット、及び制御対象の外部機器(例えば、照明ユニット)等と、インターネット等のネットワーク等を介して通信するためのインタフェースである。外部I/F7は、各種センサユニット等からのセンサ信号等の入力を受け付けるインタフェースである。表示デバイス8は、液晶ディスプレイ等からなる。操作デバイス9は、キーボードやマウス等からなる。尚、表示デバイス8と操作デバイス9とを、タッチパネルとして一体に成型してもよい。
【0023】
このような構成において、情報部品50は、例えばHDD3に記憶されている。CPU2は、情報部品50を読み出し、スクリプトで定義されたトリガ情報に基づいて、各情報部品50をトリガ待ちリストにエントリさせておく。トリガ待ちリストの生成は、例えば1つの特定の情報部品50のスクリプトの解釈実行により実現される。
【0024】
通信I/F6、又は外部I/F7よりトリガ情報が入力されると、CPU2は、トリガ待ちリストにエントリされた情報部品50の中で、当該トリガ情報を動作の契機とする情報部品50を特定し、そのスクリプトの実行により、外部機器又は他の情報部品に対する動作指令を出力する。これにより、外部機器が動作制御され、あるいは他の情報部品に対するトリガ情報の提供により当該情報部品が起動され、神経系アルゴリズムに基づく動作が実現されることになる。
【0025】
図3には、情報部品実行装置の制御系の構成を概念図で示し説明する。
【0026】
尚、
図2で前述したCPU2は、プログラム実行により制御部20として機能し、HDD3、ROM4、RAM5等は、記憶部40として機能する。
【0027】
同図において、制御部20は、より詳細には、アプリケーション管理部(インタフェース管理部21aを含む)21、マイクロステージ管理部22、情報部品管理部23、スレッド管理部24、命令実行部25、変数管理部26、日付/時間管理部27、実行環境管理部28、トリガ管理部29として機能する。記憶部40には、複数の情報部品50が記憶されている。Windows(登録商標)のアプリケーションプログラム30、本システム専用のアプリケーションプログラム31、及び通常のアプリケーションプログラム32等からは、トリガ情報(トリガ番号、及びトリガ値)が入力される。情報部品50は、前述したようにスクリプトで構成されており、制御部20で読み込まれて、トリガ情報を契機として実行されることで、外部機器等を制御する。
【0028】
以下、制御部20を構成する各部の構成、及び作用を詳述する。
【0030】
(1)システム起動時の動作
アプリケーション管理部21は、既にインストールされているWindows(登録商標)アプリケーションプログラム30を探索し、内部リストに追加する。さらに、アプリケーション管理部21は、本装置専用のアプリケーションプログラム31を内部リストに追加する。そして、アプリケーション管理部21は、ユーザが登録した通常のアプリケーションプログラム32も内部リストに追加する。なお、例えば、センサユニットには、本装置専用のアプリケーションプログラム31が実装されてよい。また、制御対象の外部機器には本装置との情報のやり取りを可能とするインタフェース機能を備えた専用のアプリケーションプログラム31が実装されてよい。
【0031】
(2)情報部品とのリンク
表示デバイス8に表示された情報部品50上で、例えば操作デバイス9としてのマウス右ボタンプレスでメニューを表示させ、「インテリジェント情報部品の編集」を選ぶと、表示デバイス8に編集パネルが表示される。編集パネルの左隅にある「アプリケーションの起動」を追加すると、表示デバイス8にコマンド編集パネルが表示される。続いて、内部リストから起動するアプリケーションを選び、任意のハンドル名を入力する。これ以降、この情報部品50内では、当該アプリケーションはこの「ハンドル名」で識別される。
【0032】
(3)アプリケーションの実体化
アプリケーション管理部21は、アプリケーションを、情報部品50が動作して命令を見つけたときから、アプリケーションの強制終了命令を見つけたとき、あるいは当該情報部品50が終了した(スクリプトの最後の行に達したとき)間だけ実体化させる。このため、アプリケーション管理部21は、アプリケーションを、いくつでも起動でき、各々はハンドルによって別のものとして特定され、互いが無関係に動作する。
【0033】
(4)インタフェース管理部21a
インタフェース管理部21aによれば、本装置専用のインタフェースを備えているアプリケーションに対して、以下のコマンドを利用可能とする。
・インタフェースアプリデータ読込依頼命令
・インタフェースアプリ実行依頼命令
・インタフェースアプリ同期確認命令
・インタフェース青売り変数読込依頼命令
当該アプリケーションは、編集時に当該アプリケーションが利用するバイナリデータをコマンドに埋め込むことができる。そして、実行時には、「データ読込依頼命令」が処理されるタイミングで、その埋め込みデータがロードされる。また、「実行依頼命令」は再生や停止をはじめ、ウィンドウを隠したりすることができる。
【0035】
マイクロステージ管理部22は、マイクロステージアプリケーション専用のものとして実装されている。マイクロステージ管理部22は、専用のアプリケーションの中でも特別な機能を備えている。このため、専用の命令と動的なデータ交換機能を有する。動的データ交換は内部変数「@変数」を介して行われる。
【0037】
情報部品管理部23は、情報部品50をグループ毎に管理し、情報部品50の実行と編集要求を処理する。
【0038】
(1)情報部品の種類
情報部品50には、イージー情報部品とインテリジェント情報部品がある。イージー情報部品は、単一のアプリケーションを起動するためのもので、所謂ランチャーである。これに対して、インテリジェント情報部品は、自由な命令群つまりプログラムを収めることができる。
【0039】
(2)情報部品の実行
情報部品50は、例えば、表示デバイス8に表示されている情報部品のアイコンを操作デバイス9であるマウスでクリックするか、インテリジェント情報部品内の実行コマンドによって起動する。但し、同じ情報部品は同時には単一個しか動作しない。
【0040】
(3)情報部品の取り出し/取り込み
情報部品50はファイルとして取り出すことができる。そして、取り出したファイルは取り込むことができる。取り出した情報部品は、他のユーザに渡すことができる。
【0042】
スレッド管理部24は、情報部品50に対して起動要求がなされると、所定のスレッドを生成し、情報部品50内のスクリプトを命令実行に委ねた後、タイマ割込みタイミングでスクリプトが終了するまで待機する。このように、複数の情報部品50は、スレッド管理部24により、マルチタスキングで実行可能となる。
【0044】
命令実行部25は、命令(スクリプト)を、上から順に一行ずつ解釈実行するインタープリタ形式で実行する。命令は、命令リストから選択し、現れたダイアログパネルに必要なパラメータを入力することで、生成される。更に命令内容は日本語で表記されるので、初心者が扱いやすいものになっている。
【0045】
(1)ラベル定義命令
処理の流れを変えるために、ラベル定義命令が用意されている。この命令を使って任意のラベル名を定義すると、分岐処理はこのラベル名を対象に行われる。
【0046】
(2)ラベルジャンプ命令
命令実行部25は、この命令を見つけると、命令実行は無条件にラベル行に実行位置を設定する。
【0047】
(3)復帰ジャンプ/復帰命令
命令実行部25は、この命令を見つけると、次の行を戻り先として記憶し、指定されたラベル行に実行位置を設定する。その先で復帰命令を見つけると、記憶していた行に実行位置を設定する。
【0049】
変数管理部26は、変数として、整数型、時数型、文字列型の3つを管理する。これらに加えて0から99までの番号で管理される特殊な「@変数」というものがある。これは型を持っておらず、代入や演算相手の型に自動的に合わせられる。
【0050】
(1)変数の操作
変数の演算には、様々なものが用意されている。すなわち、数値型の場合、代入/加算/減算/乗算/除算/剰余/論理積/論理和/排他的論理和などが用意されており、文字列型の場合、代入等が用意されており、@変数の場合、代入等が用意されている。
【0051】
(2)変数の比較
比較には、以下の比較方法が用意されている。すなわち、比較/否定/小なり/以下/大なり/以上などである。比較が成立した場合は、成立ラベルで指定した行に制御が移行する。一方、非成立の場合は、次の行に進む。
【0053】
日付/時間管理部27は、様々な方法で日付や時を扱う。比較については、以下のような項目が用意されている。すなわち、日付+時間が一致/日付+時間が範囲内/日付+時間が以前/日付+時間が以降/日付が一致/日付が範囲内/日付が以前/日付が以降等である。これらは一例にすぎない。
【0055】
実行環境管理部28は、情報部品実行装置1が実現するプラットフォームを固有に識別する。プラットフォームは、ユーザに固有のIDを有する。コードには2種類あり、一つは、一般向けのコード帯が割り振られている。このコードを持つプラットフォーム上で作成された情報部品50を他のユーザが取り込もうとするとエラーで弾かれる。もう一つは代理店名コードで、このコードを持つプラットフォームで作られた情報部品50は誰でも利用することができる。自動起動の設定は、プラットフォームが起動するタイミングで自動的に動かす情報部品を1つだけ設定することができる。
【0057】
図4に示されるように、情報部品実行装置1が実現するプラットフォーム内部では、トリガ管理部29が、アプリケーション30〜32、及び情報部品50との間で、0から4095番までのトリガ番号を含むトリガ情報を、プロセス間通信を使って非同期にやり取りする。トリガ情報は、整数値(−32768〜+32767まで)を持つ。但し、本システムでは通信は1方向だけである。
【0058】
トリガ管理部29は、受け取ったトリガ情報を、順番を考慮しながら、トリガ待ちリストの最後尾に付け加える。つまり、
図5に示されるようなFIFO型のバッファリングを行う。トリガ待ちリストの一例は、
図6に示される。トリガ待ちリストは、特定の情報部品50のスクリプトに基づく命令実行により生成され、トリガ管理部29に登録され、待ち状態となる。トリガ管理部29は、トリガ待ちリストに基づいて、トリガ情報に基づく対応する情報部品の命令実行を管理することになる。
【0059】
図6に示されるように、トリガ待ちリストでは、リスト名(この場合はメイン処理というリスト名になる)で表わされる台帳に、1行ずつ、待ち受けるトリガ番号とトリガ値、その予定に対応する分岐先ラベル名、番号要変数名、及び値用変数名がリストされている。従って、このトリガ待ちリストを参照すれば、送られてきたトリガ番号、トリガ値に対応する分岐先を特定して、分岐実行させることが可能となる。
【0060】
このように、情報部品実行装置1では、記憶部40にスクリプトからなる複数の情報部品50が記憶されており、情報部品管理部23により、当該情報部品50がグループ毎に管理されており、その実行等が管理されている。トリガ管理部29は、アプリケーション30〜32、及び情報部品50との間でトリガ情報のやり取りを行う。特定の情報部品50の実行により、トリガ待ちリストが生成され、トリガ登録部29に登録される。
【0061】
トリガ管理部29は、アプリケーション30〜32等からのトリガ情報(トリガ番号及びトリガ値)を受信すると、トリガ待ちリストを参照して、対応する情報部品50に対する実行要求を、スレッド管理部24に対して行う。スレッド管理部24は、情報部品50に対する実行要求があると、情報部品50の命令実行に対して、リストで特定された分岐先に、命令実行位置を切り替えてから、動作を再開する。情報部品50の実行は、命令実行部25が、情報部品50のスクリプトの切り替えられた位置から再び順に解釈実行することで実現される。
【0062】
命令実行部25において、情報部品50のスクリプトの解釈事項の過程で、トリガ情報の発信がなされると、当該トリガ情報はトリガ管理部29に送信される。そして、トリガ管理部29では、上記同様にトリガ待ちリストを参照して、対応する情報部品50に対する実行要求を、スレッド管理部24に対して行う。
【0063】
このように、命令実行部25による一の情報部品50の実行の結果が、他の情報部品50の実行につながる、つまり複数の情報部品50の協働による神経系アルゴリズムに基づく処理が実現されることになる。そして、複数の情報部品50が命令実行部25により同時に実行されることで、所謂マルチタスキングが実現される。
【0064】
従って、本実施形態に係る情報部品実行装置1によれば、例えば、室内環境を制御する情報部品50が実行された結果、室内照明のオン/オフを制御する情報部品50、室内空調機のオン/オフを制御する情報部品50等を同時に実行することで、室内環境を統括的に制御することも可能となる。
【0065】
次に、
図7には情報部品50に係るスクリプトの一例を示し説明する。
【0066】
図7に示されるスクリプトは、1クリックまたは1命令で日報処理を実施するものである。このスクリプトを1行ごとに説明すると、1行目は「ファイルの複写」に関するもので、“日報.docx”というファイルを複製する命令が記述されている。2行目は「アプリ実行」に関するもので、この例では、ワードを実行し、複製した“日報.docx”のファイルを開く命令が記述されている。3行目は、「アプリ終了待ち」に関するもので、この例では、ワードが実行終了されるまで待機する命令が記述されている。
【0067】
4行目は、「パス定義」に関するもので、<ファイル>という変数が定義されている。5行目は、「パス文字列の生成」に関するもので、日付をフォルダ名とする命令が記述されている。6行目は、「フォルダの作成」に関するものである。7行目は、「パス文字列の生成」に関するものである。そして、8行目は「ファイルの移動」に関するもので、日付をフォルダ名としたフォルダに、作業を終えた“日報.docx”のファイルを移動する命令が記述されている。
【0068】
以下、
図8のフローチャートを参照して、
図7の情報部品50の実行に係る処理手順を詳細に説明する。
【0069】
表示されている情報部品50のアイコンがクリックされるなどして、情報部品50が起動すると、命令実行部25が情報部品50のスクリプトを実行する。この例では命令実行により日報.docxのファイルが複製される(S1)。続いて、アプリケーションプログラム(この例では、ワード)が起動され(S2)、ユーザにより入力完了の指示(例えばワードの終了)等がなされるまで待機し(S3)、指示がなされると(S3をYes)、日付をフォルダ名とする新規フォルダを作成し(S4)、作業を終えたファイルを新規フォルダに移動させ(S5)、情報部品50に基づく一連の処理を終了する。
【0070】
従って、以上の処理によれば、所定の情報部品50を起動させるだけで、日報処理を簡易且つ迅速に行うことが可能となる。
【0071】
次に、
図9には情報部品50に係るスクリプトの他の例を示し説明する。
【0072】
図9に示されるスクリプトは、この情報部品50が動作しているときは、外部の情報部品やアプリケーションプログラムがトリガ情報(トリガ番号500、トリガ値1)のトリガをかけると、営業終了時間でなくても、日報処理が自動的に始まるような命令が記述されたものである。
【0073】
スクリプトを1行ごとに説明すると、1行目は、「日付定義」に関するもので、営業時間を17:30:00と定義している。2行目は、「日時定義」に関するもので、現在時刻が変数として定義されている。3行目は、「トリガ待ち情報生成」に関するもので、時間間隔が変数として定義されている。4行目は、「トリガ待ち情報セット」に関するもので、トリガ番号として500、トリガ値として1がセットされている。5行目は、「LABEL」に関するものである。6行目は、「指定時間待ち」に関するもので、3000msecごとにトリガ番号500、トリガ値1を出力する命令が記述されている。
【0074】
7行目は、「トリガ待ち宣言」に関するもので、トリガ番号500、トリガ値1を受け取るまでは、待機する命令が記述されている。8行目は、「日時の設定」に関するもので、変数「現在」に現在時刻がセットされている。9行目は、日時の比較に関するもので、営業終了時刻と現在時刻とが比較され、営業終了時刻より現在時刻が後である場合には、日報処理(
図7)を実行するように命令がなされている。10行目は、「ラベルジャンプ」に関するものであり、11行目は「LABEL」に関するものであり、日報処理実行と記述されている。そして、12行目は、「シード(情報部品の意)」に関するもので、日報処理(
図7)の実行が非同期モードで定められている。
【0075】
以下、
図10のフローチャートを参照して、
図9の情報部品50の実行に係る処理手順を詳細に説明する。
【0076】
情報部品50は、スクリプトの中で定義したトリガ情報(トリガ番号、トリガ値)を受信するまで待機し(S11)、トリガ情報を受信すると(S11をYes)、現在時刻が営業時間より後であるかを判断し(S12)、現在時刻が営業時間より後でなければ、ステップS12に戻り、現在時刻が営業時間より後である場合には、
図8で前述した日報処理を実行し(S13)、一連の処理を終了する。
【0077】
従って、以上の処理によれば、情報部品50を起動させるだけで、トリガ情報の受信タイミングで営業時間終了後であるか確認がなされ、営業時間の終了後であれば、前述した日報処理を自動的に行うことが可能となるので、日報の付け忘れ等を未然防止することが可能となる。
【0078】
次に、
図11の概念を参照して、複数の情報部品50の協働による神経系アルゴリズムに基づく外部機器制御について詳細に説明する。
【0079】
同図に示されるようなウィンドウ100では、各情報部品が示されている。このウィンドウ100で、「開始」がクリックされると、第1情報部品50Aに対して起動要求がなされる。この起動要求がなされると、スレッド管理部24はスレッドを立ち上げ、命令実行部25は第1情報部品50Aのスクリプトを解釈実行する。この例では、第1情報部品50Aのスクリプトにおいて、第2情報部品50B、第3情報部品50Cの起動処理が定められているので、上記解釈実行により、第2情報部品50B、第3情報部品50Cに対して起動要求がなされることになる。
【0080】
第2情報部品50Bが、第1情報部品50Aからの起動要求を受けると、スレッド管理部24がスレッドを立ち上げ、命令実行部25が第2情報部品50Bのスクリプトを解釈実行する。この例では、第2情報部品50Bは、初期設定において、トリガ待ち条件が以下のように設定されている。
トリガ番号100、トリガ値1(ドアが開いたとき):処理1
トリガ番号100、トリガ値2(ドアが閉まった、又はマットが離れたとき):処理2
トリガ番号100、トリガ値3(マットが踏まれたとき):処理3
トリガ番号100、トリガ値4(ドアが閉まった、又はマットが踏まれたとき)
:処理4
従って、第2情報部品50Bは,上記トリガ情報(トリガ番号、トリガ値)を受信するまでは、処理の実行待ちとなる。トリガ管理部29は、トリガ待ちリストにおいて第2情報部品50Bのトリガ待ちを管理する。
【0081】
第3情報部品50Cが、第1情報部品50Aからの起動要求を受けると、スレッド管理部24がスレッドを立ち上げ、命令実行部25が第3情報部品50Cのスクリプトを解釈実行する。この例では、第2情報部品50Cは、初期設定において、トリガ待ち条件が以下のように設定されている。
トリガ番号200、トリガ値1(入室):処理5
トリガ番号200、トリガ値2(退室):処理6
従って、第3情報部品50Cは,上記トリガ情報(トリガ番号、トリガ値)を受信するまでは、処理の実行待ちとなる。トリガ管理部29は、トリガ待ちリストにおいて第3情報部品50Cのトリガ待ちを管理する。
【0082】
こうして、例えば店舗のエントランス等に設けられたセンサユニット70の第1センサ71(例えば、ドア開閉センサ)、第2センサ72(例えばマットセンサ)が、センサ信号を出力すると、アプリケーションプログラム60の実行により実現されるトリガ機能により、各センサ信号の状態、組み合わせに合致したトリガ情報(トリガ番号、トリガ値)をトリガ管理部29に出力する。トリガ管理部29はトリガ待ちリストを参照して、受信したトリガ情報が第2情報部品50Bに対応するものであると認識すると、スレッド管理部24に通知し、命令実行部25が第2情報部品50Bのスクリプトで定義された処理を実行する。そして、店舗への人の出入りの状態に基づいて第3情報部品50Cに対するトリガ情報(トリガ番号、トリガ値)を出力する。この情報部品間のトリガ情報を、外部ユニットからのトリガ情報と厳密に区別する場合には当該トリガ情報を「擬似トリガ情報」と称する。
【0083】
トリガ管理部29はトリガ待ちリストを参照して、受信した擬似トリガ情報が第3情報部品50Cに対応するものであると認識すると、スレッド管理部24に通知し、命令実行部25が第3情報部品50Cのスクリプトで定義された処理を実行する。そして、店舗への人の出入りの状態に基づいて、照明ユニット80に対する制御情報を出力する。照明ユニット80では、アプリケーションプログラム83の機能により、この制御情報を解読し、第1発光部81、第2発光部82…のオン/オフ状態等を制御する。以上の処理により、店舗への人の出入りの状態に基づく照明ユニット80のオン/オフ制御が、複数の情報部品により構築される神経系アルゴリズムにより実現されることになる。
【0084】
以上説明したように、本発明の一実施形態によれば、スクリプトからなる情報部品50に基づきタスクを実行する情報部品実行装置1であって、情報部品50を記憶する記憶部40と、情報部品50をグループ毎に管理する情報部品管理部23と、トリガ待ちリストに基づいてトリガ情報を管理するもので、トリガ情報を受信すると、トリガ待ちリストを参照して、当該トリガ情報に対応する情報部品50に対して実行要求を行うトリガ管理部29と、情報部品50に対する起動要求があると、所定のスレッドを生成し、情報部品50の実行から終了まで待機するスレッド管理部24と、情報部品50のスクリプトを順に解釈実行する命令実行部25とを備えた情報部品実行装置が提供される。従って、IoTの多様な用途に対しても、当該用途に合った情報部品を用意するだけで対応可能となるので、汎用性、拡張性にすぐれた環境を提供することができる。
【0085】
ここで、命令実行部25による情報部品50のスクリプトの解釈実行の過程で、トリガ情報の発信がなされると、トリガ情報はトリガ管理部29に送信され、トリガ管理部29は、トリガ待ちリストを参照して、対応する情報部品50に対する起動要求を前記スレッド管理部24に対して行うようにしてよい。従って、一の情報部品の実行が契機となって第2、第3の情報部品の起動をもたらし、それらを協働させることで、所望とする用途のタスクを実行させることが可能となる。
【0086】
さらに、命令実行部25は、複数の情報部品50に基づきマルチタスキングでの処理を実行するようにしてよい。従って、複数のタスクを並行して実行できる。
【0087】
また、トリガ情報は、トリガ番号とトリガ値からなり、トリガ情報は、外部のアプリケーションプログラム30〜32又は外部機器から入力されるようにしてよい。従って、例えば、室内環境の制御等については、照明のオン/オフを司る情報部品と、空調機のオン/オフを司る情報部品等を、同じトリガ番号としても、トリガ値を替えるだけで、他の用途のトリガ情報とコンフリクトすることなく制御可能となる。
【0088】
そして、命令実行部25による複数の情報部品50の解釈実行による協働により、神経系アルゴリズムに基づく一連の処理を実行するようにしてよい。従って、一つの情報部品の起動が契機となり、第2、第3の情報部品が連鎖的に起動され、全体として神経系を模したようなアルゴリズムでタスク実行することが可能となる。
【0089】
以上、本発明の一実施形態について説明したが、本発明はこれに限定されることなく、その趣旨を逸脱しない範囲で種々の改良・変更が可能である。
【0090】
例えば、複数の情報部品実行装置で管理されている情報部品を同期させ、それらを協働させて、マルチタスキングを実行することも可能である。
【解決手段】本発明は、スクリプトからなる情報部品50に基づきタスクを実行する情報部品実行装置であって、情報部品を記憶する記憶部40と、情報部品をグループ毎に管理する情報部品管理部23と、トリガ待ちリストに基づいてトリガ情報を管理するものでトリガ情報を受信するとトリガ待ちリストを参照して当該トリガ情報に対応する情報部品に対して起動要求を行うトリガ管理部29と、情報部品に対する起動要求があると所定のスレッドを生成し情報部品の実行から終了まで待機するスレッド管理部24と、情報部品のスクリプトを順に解釈実行する命令実行部25とを備えた情報部品実行装置である。