(57)【要約】【課題】スクリプトからなる情報部品が有機的につながった神経系アルゴリズムを実行する情報部品実行装置、及び情報部品実行方法を提供する。【解決手段】本発明は、スクリプトからなる情報部品５０に基づきタスクを実行する情報部品実行装置であって、情報部品を記憶する記憶部４０と、情報部品をグループ毎に管理する情報部品管理部２３と、トリガ待ちリストに基づいてトリガ情報を管理するものでトリガ情報を受信するとトリガ待ちリストを参照して当該トリガ情報に対応する情報部品に対して起動要求を行うトリガ管理部２９と、情報部品に対する起動要求があると所定のスレッドを生成し情報部品の実行から終了まで待機するスレッド管理部２４と、情報部品のスクリプトを順に解釈実行する命令実行部２５とを備えた情報部品実行装置である。【選択図】図３
2019086956.tif 000002
【特許請求の範囲】
【請求項１】
スクリプトからなる情報部品に基づきタスクを実行する情報部品実行装置であって、
前記情報部品を記憶する記憶部と、
前記情報部品をグループ毎に管理する情報部品管理部と、
トリガ待ちリストに基づいてトリガ情報を管理するもので、前記トリガ情報を受信すると、前記トリガ待ちリストを参照して、当該トリガ情報に対応する前記情報部品に対して実行要求を行うトリガ管理部と、
前記情報部品に対する起動要求があると、所定のスレッドを生成し、前記情報部品の実行から終了まで待機するスレッド管理部と、
前記情報部品のスクリプトを順に解釈実行する命令実行部と、を備えた
情報部品実行装置。
【請求項２】
前記命令実行部による前記情報部品のスクリプトの解釈実行の過程で、前記トリガ情報の発信がなされると、当該トリガ情報は前記トリガ管理部に送信され、
前記トリガ管理部は、前記トリガ待ちリストを参照して、対応する情報部品に対する実行要求を前記スレッド管理部に対して行う
請求項１に記載の情報部品実行装置。
【請求項３】
前記命令実行部は、複数の情報部品に基づきマルチタスキングでの処理を実行する
請求項１又は請求項２に記載の情報部品実行装置。
【請求項４】
前記トリガ情報は、トリガ番号とトリガ値からなり、
前記トリガ情報は、外部のアプリケーションプログラム、外部機器、又は他の情報部品から入力される
請求項１乃至請求項３のいずれか１項に記載の情報部品実行装置。
【請求項５】
前記命令実行部による複数の情報部品の解釈実行による協働により、神経系アルゴリズムに基づく一連の処理を実行する
請求項１乃至請求項４のいずれか１項に記載の情報部品実行装置。
【請求項６】
スクリプトからなる情報部品に基づきタスクを実行する情報部品実行方法であって、
前記情報部品をグループ毎に管理する第１のステップと、
トリガ待ちリストに基づいてトリガ情報を管理するもので、前記トリガ情報を受信すると、前記トリガ待ちリストを参照して、当該トリガ情報に対応する前記情報部品に対して実行要求を行う第２のステップと、
前記情報部品に対する起動要求があると、所定のスレッドを生成し、前記情報部品の実行から終了まで待機する第３のステップと、
前記情報部品のスクリプトを順に解釈実行する第４のステップと、を有する
情報部品実行方法。
【請求項７】
前記第４のステップにおける前記情報部品のスクリプトの解釈実行の過程で、前記トリガ情報の発信がなされると、前記第２のステップが再び実行され、
前記第２のステップでは、前記トリガ待ちリストを参照して、対応する情報部品に対する実行要求を前記スレッド管理部に対して行う
請求項６に記載の情報部品実行方法。
【請求項８】
前記第４のステップでは、複数の情報部品に基づきマルチタスキングでの処理を実行する請求項６又は請求項７に記載の情報部品実行方法。
【請求項９】
前記トリガ情報は、トリガ番号とトリガ値からなり、
前記トリガ情報は、外部のアプリケーションプログラム、外部機器、又は他の情報部品から入力される
請求項６乃至請求項８のいずれか１項に記載の情報部品実行方法。
【請求項１０】
前記第４のステップによる複数の情報部品の解釈実行による協働により、神経系アルゴリズムに基づく一連の処理を実行する
請求項６乃至請求項９のいずれか１項に記載の情報部品実行方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スクリプトからなる情報部品が協働して神経系アルゴリズムに基づく処理を実行する情報部品実行装置、及び情報部品実行方法に関する。
【背景技術】
【０００２】
従来、ＩｏＴ（Internet of Things）は市場に拡がりを見せており、各種情報家電等がインターネットを介して連携することで、情報の授受をはじめ、遠隔操作等にも対応可能となっている。そのような拡がりの中、各種センサ信号に基づいてハードウェアの挙動を統括的に制御するようなシステムについても種々の提案がなされている。
【０００３】
例えば、ＩｏＴによれば、室内照明の照明状態を各種センサ信号に基づいて統括的に制御することや、照明状態を遠隔制御することも可能となっている。
【０００４】
この種の技術として、例えば特許文献１では、プロセッサにより、照明データから環境の照明状態を判定し、１又は複数の感知装置を使用して、環境内にいる１又は複数の個人の存在に対応する存在データを取得し、存在データから環境内に存在する個人の数を判定し、環境の照明状態並びに環境内にいる登録された個人及び１又は複数の追加的な個人の両方の存在に基づいて照明装置を起動するために、環境内に存在する照明装置により受信可能な起動信号を生成するシステム及び方法が開示されている。
【０００５】
また、今日では、接客をはじめとする各種サービスもＩＴシステムにより実現されている。例えば、店舗のエントランスのドアの開閉を検知するセンサからのセンサ信号に基づいて、店舗に設けられたディスプレイによる各種サービスに関わる案内表示を切り替えるようなシステムも、ＩＴシステムによれば実現することが可能である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１７−５０２８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記のようなＩＴシステムを従来技術で構築する場合には、その用途（上記の例では、店舗案内等）に合わせた個別の仕様に基づいて、制御側のシステムを個別に構築する必要があり、汎用性や拡張性が十分ではなかった。
【０００８】
しかるに、制御側システムで実行するスクリプトからなる情報部品を追加するだけで各種の用途に対応可能とすれば、制御側システムの汎用性や拡張性は向上されるが、そのような情報部品を協働させて処理を実行する技術は従来存在しない。
【０００９】
また、複数の情報部品を追加するだけで、ＩｏＴの種々の用途に対応可能となれば、そのような情報部品自体の流通市場も構築され、国内のＩｏＴ化がより簡便化され、一気に浸透することが予見されるが、そのような技術は、従来存在していない。
【００１０】
本発明は、このような課題に鑑みてなされたものであり、その目的とするところは、スクリプトからなる情報部品が協働して神経系アルゴリズムに基づく処理を実行する情報部品実行装置、及び情報部品実行方法を提供することにある。
【課題を解決するための手段】
【００１１】
上記課題を解決するため、本発明の第１の態様に係る情報部品実行装置は、スクリプトからなる情報部品に基づきタスクを実行する情報部品実行装置であって、前記情報部品を記憶する記憶部と、前記情報部品をグループ毎に管理する情報部品管理部と、トリガ待ちリストに基づいてトリガ情報を管理するもので、前記トリガ情報を受信すると、前記トリガ待ちリストを参照して、当該トリガ情報に対応する前記情報部品に対して実行要求を行うトリガ管理部と、前記情報部品に対する前記起動要求があると、所定のスレッドを生成し、前記情報部品の実行から終了まで待機するスレッド管理部と、前記情報部品のスクリプトを順に解釈実行する命令実行部と、を備える。
【００１２】
本発明の第２の態様に係る情報部品実行方法は、スクリプトからなる情報部品に基づきタスクを実行する情報部品実行方法であって、前記情報部品をグループ毎に管理する第１のステップと、トリガ待ちリストに基づいてトリガ情報を管理するもので、前記トリガ情報を受信すると、前記トリガ待ちリストを参照して、当該トリガ情報に対応する前記情報部品に対して実行要求を行う第２のステップと、前記情報部品に対する前記起動要求があると、所定のスレッドを生成し、前記情報部品の実行から終了まで待機する第３のステップと、前記情報部品のスクリプトを順に解釈実行する第４のステップと、を有する。
【発明の効果】
【００１３】
本発明によれば、スクリプトからなる情報部品が協働して神経系アルゴリズムに基づく処理を実行する情報部品実行装置、及び情報部品実行方法を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態に係る情報部品実行装置の概念図である。
【図２】同情報部品実行装置のハードウェア構成を示す図である。
【図３】同情報部品実行装置の制御系の構成を示す概念図である。
【図４】トリガ管理部の動作を説明する概念図である。
【図５】トリガ待ちリストへのバッファリングの考え方を示す図である。
【図６】トリガ待ちリストの一例を示す図である。
【図７】情報部品のスクリプトの一例による命令実行について説明する図である。
【図８】同命令実行の処理手順を示すフローチャートである。
【図９】情報部品のスクリプトの他例による命令実行について説明する図である。
【図１０】同命令実行の処理手順を示すフローチャートである。
【図１１】複数の情報部品の協働による神経系アルゴリズムを示す概念図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照しつつ本発明の一実施形態について説明する。
【００１６】
図１には、本発明の一実施形態に係る情報部品実行装置の概念図を示し説明する。
【００１７】
同図に示されるように、情報部品実行装置は、スクリプトからなる複数の情報部品５０が同期して、神経系アルゴリズムに基づく動作を実行することが可能となっている。各情報部品５０では、そのスクリプトにおいて、動作実行の契機となるトリガ情報を定義している。詳細は後述するが、トリガ情報は、トリガ番号とトリガ値からなる。外部のアプリケーションプログラム等から、スクリプトで定義されたトリガ情報と同一のトリガ情報を受けると、それが契機となって、対応する情報部品のスクリプトの対応箇所から解釈実行され、他の情報部品、或いは他のアプリケーションプログラム等に対して、指令が送られる。このとき、情報部品同士の同期がとられながら、複数の情報部品が協働して、アプリケーションプログラムや外部機器等の動作を制御することができる。
【００１８】
このように、１つのトリガ情報の入力が契機となって、情報部品の間でもトリガ情報のやりとりがなされ、複数の情報部品が協働して外部のアプリケーションプログラムや外部機器等の動作制御を行うことから、そのような処理手順を、本願では「神経系アルゴリズム」と定義している。
【００１９】
ここで、トリガ情報は、前述したように、トリガ番号とトリガ値で構成されている。例えば、制御対象が照明器具である場合に、照明器具に対する点灯動作制御を実行する情報部品に対する契機は、トリガ番号「１００」、トリガ値「１」とし、消灯動作制御を実行する情報部品に対する契機は、トリガ番号「１００」、トリガ値「２」といった具合に、動作契機となるトリガ情報を各スクリプトで定義することが可能である。また、トリガ番号のほかにトリガ値を含めることで、トリガ情報のコンフリクトを未然防止することも本実施形態の特徴の１つとなっている。
【００２０】
情報部品は、神経系アルゴリズムの中に適宜追加することが可能であり、その場合でも他の情報部品との同期を簡単にとることが可能である。例えば、ＩｏＴでは、様々な用途に応じて、外部機器の動作制御することが所望されるが、その場合でも、スクリプトで構成された情報部品を追加するだけで、当該用途に対応可能となる。例えば、室温に合わせて室内の空調機の動作制御を実行したい場合には、温度センサからのトリガ情報を契機として動作制御を実行する情報部品を追加するだけで実現可能となる。
【００２１】
図２には、本発明の一実施形態に係る情報部品実行装置のハードウェア構成を示し説明する。同図に示されるように、情報部品実行装置１は、パーソナルコンピュータ等で構成されており、全体の制御を司るＣＰＵ（Central Processing Unit）２を備えている。ＣＰＵ２は、ハードディスクドライブ（HDD；Hard Disc Drive）３、ＲＯＭ（Read Only Memory）４、ＲＡＭ（Random Access Memory）５、通信インタフェース（Ｉ／Ｆ）６、外部Ｉ／Ｆ７、表示デバイス８、及び操作デバイス９と、制御バス１０を介して通信自在に接続されている。
【００２２】
ＨＤＤ３、ＲＯＭ４、及びＲＡＭ５は、記憶部を構成しており、本実施形態の主要な要素となる情報部品５０は、例えばＨＤＤ３に記憶される。通信Ｉ／Ｆ６は、外部のサーバ装置、各種センサユニット、及び制御対象の外部機器（例えば、照明ユニット）等と、インターネット等のネットワーク等を介して通信するためのインタフェースである。外部Ｉ／Ｆ７は、各種センサユニット等からのセンサ信号等の入力を受け付けるインタフェースである。表示デバイス８は、液晶ディスプレイ等からなる。操作デバイス９は、キーボードやマウス等からなる。尚、表示デバイス８と操作デバイス９とを、タッチパネルとして一体に成型してもよい。
【００２３】
このような構成において、情報部品５０は、例えばＨＤＤ３に記憶されている。ＣＰＵ２は、情報部品５０を読み出し、スクリプトで定義されたトリガ情報に基づいて、各情報部品５０をトリガ待ちリストにエントリさせておく。トリガ待ちリストの生成は、例えば１つの特定の情報部品５０のスクリプトの解釈実行により実現される。
【００２４】
通信Ｉ／Ｆ６、又は外部Ｉ／Ｆ７よりトリガ情報が入力されると、ＣＰＵ２は、トリガ待ちリストにエントリされた情報部品５０の中で、当該トリガ情報を動作の契機とする情報部品５０を特定し、そのスクリプトの実行により、外部機器又は他の情報部品に対する動作指令を出力する。これにより、外部機器が動作制御され、あるいは他の情報部品に対するトリガ情報の提供により当該情報部品が起動され、神経系アルゴリズムに基づく動作が実現されることになる。
【００２５】
図３には、情報部品実行装置の制御系の構成を概念図で示し説明する。
【００２６】
尚、図２で前述したＣＰＵ２は、プログラム実行により制御部２０として機能し、ＨＤＤ３、ＲＯＭ４、ＲＡＭ５等は、記憶部４０として機能する。
【００２７】
同図において、制御部２０は、より詳細には、アプリケーション管理部（インタフェース管理部２１ａを含む）２１、マイクロステージ管理部２２、情報部品管理部２３、スレッド管理部２４、命令実行部２５、変数管理部２６、日付／時間管理部２７、実行環境管理部２８、トリガ管理部２９として機能する。記憶部４０には、複数の情報部品５０が記憶されている。Windows（登録商標）のアプリケーションプログラム３０、本システム専用のアプリケーションプログラム３１、及び通常のアプリケーションプログラム３２等からは、トリガ情報（トリガ番号、及びトリガ値）が入力される。情報部品５０は、前述したようにスクリプトで構成されており、制御部２０で読み込まれて、トリガ情報を契機として実行されることで、外部機器等を制御する。
【００２８】
以下、制御部２０を構成する各部の構成、及び作用を詳述する。
【００２９】
１．アプリケーション管理部２１
【００３０】
（１）システム起動時の動作
アプリケーション管理部２１は、既にインストールされているWindows（登録商標）アプリケーションプログラム３０を探索し、内部リストに追加する。さらに、アプリケーション管理部２１は、本装置専用のアプリケーションプログラム３１を内部リストに追加する。そして、アプリケーション管理部２１は、ユーザが登録した通常のアプリケーションプログラム３２も内部リストに追加する。なお、例えば、センサユニットには、本装置専用のアプリケーションプログラム３１が実装されてよい。また、制御対象の外部機器には本装置との情報のやり取りを可能とするインタフェース機能を備えた専用のアプリケーションプログラム３１が実装されてよい。
【００３１】
（２）情報部品とのリンク
表示デバイス８に表示された情報部品５０上で、例えば操作デバイス９としてのマウス右ボタンプレスでメニューを表示させ、「インテリジェント情報部品の編集」を選ぶと、表示デバイス８に編集パネルが表示される。編集パネルの左隅にある「アプリケーションの起動」を追加すると、表示デバイス８にコマンド編集パネルが表示される。続いて、内部リストから起動するアプリケーションを選び、任意のハンドル名を入力する。これ以降、この情報部品５０内では、当該アプリケーションはこの「ハンドル名」で識別される。
【００３２】
（３）アプリケーションの実体化
アプリケーション管理部２１は、アプリケーションを、情報部品５０が動作して命令を見つけたときから、アプリケーションの強制終了命令を見つけたとき、あるいは当該情報部品５０が終了した（スクリプトの最後の行に達したとき）間だけ実体化させる。このため、アプリケーション管理部２１は、アプリケーションを、いくつでも起動でき、各々はハンドルによって別のものとして特定され、互いが無関係に動作する。
【００３３】
（４）インタフェース管理部２１ａ
インタフェース管理部２１ａによれば、本装置専用のインタフェースを備えているアプリケーションに対して、以下のコマンドを利用可能とする。
・インタフェースアプリデータ読込依頼命令
・インタフェースアプリ実行依頼命令
・インタフェースアプリ同期確認命令
・インタフェース青売り変数読込依頼命令
当該アプリケーションは、編集時に当該アプリケーションが利用するバイナリデータをコマンドに埋め込むことができる。そして、実行時には、「データ読込依頼命令」が処理されるタイミングで、その埋め込みデータがロードされる。また、「実行依頼命令」は再生や停止をはじめ、ウィンドウを隠したりすることができる。
【００３４】
２．マイクロステージ管理部２２
【００３５】
マイクロステージ管理部２２は、マイクロステージアプリケーション専用のものとして実装されている。マイクロステージ管理部２２は、専用のアプリケーションの中でも特別な機能を備えている。このため、専用の命令と動的なデータ交換機能を有する。動的データ交換は内部変数「@変数」を介して行われる。
【００３６】
３．情報部品管理部２３
【００３７】
情報部品管理部２３は、情報部品５０をグループ毎に管理し、情報部品５０の実行と編集要求を処理する。
【００３８】
（１）情報部品の種類
情報部品５０には、イージー情報部品とインテリジェント情報部品がある。イージー情報部品は、単一のアプリケーションを起動するためのもので、所謂ランチャーである。これに対して、インテリジェント情報部品は、自由な命令群つまりプログラムを収めることができる。
【００３９】
（２）情報部品の実行
情報部品５０は、例えば、表示デバイス８に表示されている情報部品のアイコンを操作デバイス９であるマウスでクリックするか、インテリジェント情報部品内の実行コマンドによって起動する。但し、同じ情報部品は同時には単一個しか動作しない。
【００４０】
（３）情報部品の取り出し／取り込み
情報部品５０はファイルとして取り出すことができる。そして、取り出したファイルは取り込むことができる。取り出した情報部品は、他のユーザに渡すことができる。
【００４１】
４．スレッド管理部２４
【００４２】
スレッド管理部２４は、情報部品５０に対して起動要求がなされると、所定のスレッドを生成し、情報部品５０内のスクリプトを命令実行に委ねた後、タイマ割込みタイミングでスクリプトが終了するまで待機する。このように、複数の情報部品５０は、スレッド管理部２４により、マルチタスキングで実行可能となる。
【００４３】
５．命令実行部２５
【００４４】
命令実行部２５は、命令（スクリプト）を、上から順に一行ずつ解釈実行するインタープリタ形式で実行する。命令は、命令リストから選択し、現れたダイアログパネルに必要なパラメータを入力することで、生成される。更に命令内容は日本語で表記されるので、初心者が扱いやすいものになっている。
【００４５】
（１）ラベル定義命令
処理の流れを変えるために、ラベル定義命令が用意されている。この命令を使って任意のラベル名を定義すると、分岐処理はこのラベル名を対象に行われる。
【００４６】
（２）ラベルジャンプ命令
命令実行部２５は、この命令を見つけると、命令実行は無条件にラベル行に実行位置を設定する。
【００４７】
（３）復帰ジャンプ／復帰命令
命令実行部２５は、この命令を見つけると、次の行を戻り先として記憶し、指定されたラベル行に実行位置を設定する。その先で復帰命令を見つけると、記憶していた行に実行位置を設定する。
【００４８】
６．変数管理部２６
【００４９】
変数管理部２６は、変数として、整数型、時数型、文字列型の３つを管理する。これらに加えて０から９９までの番号で管理される特殊な「@変数」というものがある。これは型を持っておらず、代入や演算相手の型に自動的に合わせられる。
【００５０】
（１）変数の操作
変数の演算には、様々なものが用意されている。すなわち、数値型の場合、代入／加算／減算／乗算／除算／剰余／論理積／論理和／排他的論理和などが用意されており、文字列型の場合、代入等が用意されており、＠変数の場合、代入等が用意されている。
【００５１】
（２）変数の比較
比較には、以下の比較方法が用意されている。すなわち、比較／否定／小なり／以下／大なり／以上などである。比較が成立した場合は、成立ラベルで指定した行に制御が移行する。一方、非成立の場合は、次の行に進む。
【００５２】
７．日付／時間管理部２７
【００５３】
日付／時間管理部２７は、様々な方法で日付や時を扱う。比較については、以下のような項目が用意されている。すなわち、日付＋時間が一致／日付＋時間が範囲内／日付＋時間が以前／日付＋時間が以降／日付が一致／日付が範囲内／日付が以前／日付が以降等である。これらは一例にすぎない。
【００５４】
８．実行環境管理部２８
【００５５】
実行環境管理部２８は、情報部品実行装置１が実現するプラットフォームを固有に識別する。プラットフォームは、ユーザに固有のＩＤを有する。コードには２種類あり、一つは、一般向けのコード帯が割り振られている。このコードを持つプラットフォーム上で作成された情報部品５０を他のユーザが取り込もうとするとエラーで弾かれる。もう一つは代理店名コードで、このコードを持つプラットフォームで作られた情報部品５０は誰でも利用することができる。自動起動の設定は、プラットフォームが起動するタイミングで自動的に動かす情報部品を１つだけ設定することができる。
【００５６】
９．トリガ管理部２９
【００５７】
図４に示されるように、情報部品実行装置１が実現するプラットフォーム内部では、トリガ管理部２９が、アプリケーション３０〜３２、及び情報部品５０との間で、０から４０９５番までのトリガ番号を含むトリガ情報を、プロセス間通信を使って非同期にやり取りする。トリガ情報は、整数値（−３２７６８〜＋３２７６７まで）を持つ。但し、本システムでは通信は１方向だけである。
【００５８】
トリガ管理部２９は、受け取ったトリガ情報を、順番を考慮しながら、トリガ待ちリストの最後尾に付け加える。つまり、図５に示されるようなＦＩＦＯ型のバッファリングを行う。トリガ待ちリストの一例は、図６に示される。トリガ待ちリストは、特定の情報部品５０のスクリプトに基づく命令実行により生成され、トリガ管理部２９に登録され、待ち状態となる。トリガ管理部２９は、トリガ待ちリストに基づいて、トリガ情報に基づく対応する情報部品の命令実行を管理することになる。
【００５９】
図６に示されるように、トリガ待ちリストでは、リスト名（この場合はメイン処理というリスト名になる）で表わされる台帳に、１行ずつ、待ち受けるトリガ番号とトリガ値、その予定に対応する分岐先ラベル名、番号要変数名、及び値用変数名がリストされている。従って、このトリガ待ちリストを参照すれば、送られてきたトリガ番号、トリガ値に対応する分岐先を特定して、分岐実行させることが可能となる。
【００６０】
このように、情報部品実行装置１では、記憶部４０にスクリプトからなる複数の情報部品５０が記憶されており、情報部品管理部２３により、当該情報部品５０がグループ毎に管理されており、その実行等が管理されている。トリガ管理部２９は、アプリケーション３０〜３２、及び情報部品５０との間でトリガ情報のやり取りを行う。特定の情報部品５０の実行により、トリガ待ちリストが生成され、トリガ登録部２９に登録される。
【００６１】
トリガ管理部２９は、アプリケーション３０〜３２等からのトリガ情報（トリガ番号及びトリガ値）を受信すると、トリガ待ちリストを参照して、対応する情報部品５０に対する実行要求を、スレッド管理部２４に対して行う。スレッド管理部２４は、情報部品５０に対する実行要求があると、情報部品５０の命令実行に対して、リストで特定された分岐先に、命令実行位置を切り替えてから、動作を再開する。情報部品５０の実行は、命令実行部２５が、情報部品５０のスクリプトの切り替えられた位置から再び順に解釈実行することで実現される。
【００６２】
命令実行部２５において、情報部品５０のスクリプトの解釈事項の過程で、トリガ情報の発信がなされると、当該トリガ情報はトリガ管理部２９に送信される。そして、トリガ管理部２９では、上記同様にトリガ待ちリストを参照して、対応する情報部品５０に対する実行要求を、スレッド管理部２４に対して行う。
【００６３】
このように、命令実行部２５による一の情報部品５０の実行の結果が、他の情報部品５０の実行につながる、つまり複数の情報部品５０の協働による神経系アルゴリズムに基づく処理が実現されることになる。そして、複数の情報部品５０が命令実行部２５により同時に実行されることで、所謂マルチタスキングが実現される。
【００６４】
従って、本実施形態に係る情報部品実行装置１によれば、例えば、室内環境を制御する情報部品５０が実行された結果、室内照明のオン／オフを制御する情報部品５０、室内空調機のオン／オフを制御する情報部品５０等を同時に実行することで、室内環境を統括的に制御することも可能となる。
【００６５】
次に、図７には情報部品５０に係るスクリプトの一例を示し説明する。
【００６６】
図７に示されるスクリプトは、１クリックまたは１命令で日報処理を実施するものである。このスクリプトを１行ごとに説明すると、１行目は「ファイルの複写」に関するもので、“日報．ｄｏｃｘ”というファイルを複製する命令が記述されている。２行目は「アプリ実行」に関するもので、この例では、ワードを実行し、複製した“日報．ｄｏｃｘ”のファイルを開く命令が記述されている。３行目は、「アプリ終了待ち」に関するもので、この例では、ワードが実行終了されるまで待機する命令が記述されている。
【００６７】
４行目は、「パス定義」に関するもので、＜ファイル＞という変数が定義されている。５行目は、「パス文字列の生成」に関するもので、日付をフォルダ名とする命令が記述されている。６行目は、「フォルダの作成」に関するものである。７行目は、「パス文字列の生成」に関するものである。そして、８行目は「ファイルの移動」に関するもので、日付をフォルダ名としたフォルダに、作業を終えた“日報．ｄｏｃｘ”のファイルを移動する命令が記述されている。
【００６８】
以下、図８のフローチャートを参照して、図７の情報部品５０の実行に係る処理手順を詳細に説明する。
【００６９】
表示されている情報部品５０のアイコンがクリックされるなどして、情報部品５０が起動すると、命令実行部２５が情報部品５０のスクリプトを実行する。この例では命令実行により日報．ｄｏｃｘのファイルが複製される（Ｓ１）。続いて、アプリケーションプログラム（この例では、ワード）が起動され（Ｓ２）、ユーザにより入力完了の指示（例えばワードの終了）等がなされるまで待機し（Ｓ３）、指示がなされると（Ｓ３をＹｅｓ）、日付をフォルダ名とする新規フォルダを作成し（Ｓ４）、作業を終えたファイルを新規フォルダに移動させ（Ｓ５）、情報部品５０に基づく一連の処理を終了する。
【００７０】
従って、以上の処理によれば、所定の情報部品５０を起動させるだけで、日報処理を簡易且つ迅速に行うことが可能となる。
【００７１】
次に、図９には情報部品５０に係るスクリプトの他の例を示し説明する。
【００７２】
図９に示されるスクリプトは、この情報部品５０が動作しているときは、外部の情報部品やアプリケーションプログラムがトリガ情報（トリガ番号５００、トリガ値１）のトリガをかけると、営業終了時間でなくても、日報処理が自動的に始まるような命令が記述されたものである。
【００７３】
スクリプトを１行ごとに説明すると、１行目は、「日付定義」に関するもので、営業時間を１７：３０：００と定義している。２行目は、「日時定義」に関するもので、現在時刻が変数として定義されている。３行目は、「トリガ待ち情報生成」に関するもので、時間間隔が変数として定義されている。４行目は、「トリガ待ち情報セット」に関するもので、トリガ番号として５００、トリガ値として１がセットされている。５行目は、「ＬＡＢＥＬ」に関するものである。６行目は、「指定時間待ち」に関するもので、３０００ｍｓｅｃごとにトリガ番号５００、トリガ値１を出力する命令が記述されている。
【００７４】
７行目は、「トリガ待ち宣言」に関するもので、トリガ番号５００、トリガ値１を受け取るまでは、待機する命令が記述されている。８行目は、「日時の設定」に関するもので、変数「現在」に現在時刻がセットされている。９行目は、日時の比較に関するもので、営業終了時刻と現在時刻とが比較され、営業終了時刻より現在時刻が後である場合には、日報処理（図７）を実行するように命令がなされている。１０行目は、「ラベルジャンプ」に関するものであり、１１行目は「ＬＡＢＥＬ」に関するものであり、日報処理実行と記述されている。そして、１２行目は、「シード（情報部品の意）」に関するもので、日報処理（図７）の実行が非同期モードで定められている。
【００７５】
以下、図１０のフローチャートを参照して、図９の情報部品５０の実行に係る処理手順を詳細に説明する。
【００７６】
情報部品５０は、スクリプトの中で定義したトリガ情報（トリガ番号、トリガ値）を受信するまで待機し（Ｓ１１）、トリガ情報を受信すると（Ｓ１１をＹｅｓ）、現在時刻が営業時間より後であるかを判断し（Ｓ１２）、現在時刻が営業時間より後でなければ、ステップＳ１２に戻り、現在時刻が営業時間より後である場合には、図８で前述した日報処理を実行し（Ｓ１３）、一連の処理を終了する。
【００７７】
従って、以上の処理によれば、情報部品５０を起動させるだけで、トリガ情報の受信タイミングで営業時間終了後であるか確認がなされ、営業時間の終了後であれば、前述した日報処理を自動的に行うことが可能となるので、日報の付け忘れ等を未然防止することが可能となる。
【００７８】
次に、図１１の概念を参照して、複数の情報部品５０の協働による神経系アルゴリズムに基づく外部機器制御について詳細に説明する。
【００７９】
同図に示されるようなウィンドウ１００では、各情報部品が示されている。このウィンドウ１００で、「開始」がクリックされると、第１情報部品５０Ａに対して起動要求がなされる。この起動要求がなされると、スレッド管理部２４はスレッドを立ち上げ、命令実行部２５は第１情報部品５０Ａのスクリプトを解釈実行する。この例では、第１情報部品５０Ａのスクリプトにおいて、第２情報部品５０Ｂ、第３情報部品５０Ｃの起動処理が定められているので、上記解釈実行により、第２情報部品５０Ｂ、第３情報部品５０Ｃに対して起動要求がなされることになる。
【００８０】
第２情報部品５０Ｂが、第１情報部品５０Ａからの起動要求を受けると、スレッド管理部２４がスレッドを立ち上げ、命令実行部２５が第２情報部品５０Ｂのスクリプトを解釈実行する。この例では、第２情報部品５０Ｂは、初期設定において、トリガ待ち条件が以下のように設定されている。
トリガ番号１００、トリガ値１（ドアが開いたとき）：処理１
トリガ番号１００、トリガ値２（ドアが閉まった、又はマットが離れたとき）：処理２
トリガ番号１００、トリガ値３（マットが踏まれたとき）：処理３
トリガ番号１００、トリガ値４（ドアが閉まった、又はマットが踏まれたとき）
：処理４
従って、第２情報部品５０Ｂは，上記トリガ情報（トリガ番号、トリガ値）を受信するまでは、処理の実行待ちとなる。トリガ管理部２９は、トリガ待ちリストにおいて第２情報部品５０Ｂのトリガ待ちを管理する。
【００８１】
第３情報部品５０Ｃが、第１情報部品５０Ａからの起動要求を受けると、スレッド管理部２４がスレッドを立ち上げ、命令実行部２５が第３情報部品５０Ｃのスクリプトを解釈実行する。この例では、第２情報部品５０Ｃは、初期設定において、トリガ待ち条件が以下のように設定されている。
トリガ番号２００、トリガ値１（入室）：処理５
トリガ番号２００、トリガ値２（退室）：処理６
従って、第３情報部品５０Ｃは，上記トリガ情報（トリガ番号、トリガ値）を受信するまでは、処理の実行待ちとなる。トリガ管理部２９は、トリガ待ちリストにおいて第３情報部品５０Ｃのトリガ待ちを管理する。
【００８２】
こうして、例えば店舗のエントランス等に設けられたセンサユニット７０の第１センサ７１（例えば、ドア開閉センサ）、第２センサ７２（例えばマットセンサ）が、センサ信号を出力すると、アプリケーションプログラム６０の実行により実現されるトリガ機能により、各センサ信号の状態、組み合わせに合致したトリガ情報（トリガ番号、トリガ値）をトリガ管理部２９に出力する。トリガ管理部２９はトリガ待ちリストを参照して、受信したトリガ情報が第２情報部品５０Ｂに対応するものであると認識すると、スレッド管理部２４に通知し、命令実行部２５が第２情報部品５０Ｂのスクリプトで定義された処理を実行する。そして、店舗への人の出入りの状態に基づいて第３情報部品５０Ｃに対するトリガ情報（トリガ番号、トリガ値）を出力する。この情報部品間のトリガ情報を、外部ユニットからのトリガ情報と厳密に区別する場合には当該トリガ情報を「擬似トリガ情報」と称する。
【００８３】
トリガ管理部２９はトリガ待ちリストを参照して、受信した擬似トリガ情報が第３情報部品５０Ｃに対応するものであると認識すると、スレッド管理部２４に通知し、命令実行部２５が第３情報部品５０Ｃのスクリプトで定義された処理を実行する。そして、店舗への人の出入りの状態に基づいて、照明ユニット８０に対する制御情報を出力する。照明ユニット８０では、アプリケーションプログラム８３の機能により、この制御情報を解読し、第１発光部８１、第２発光部８２…のオン／オフ状態等を制御する。以上の処理により、店舗への人の出入りの状態に基づく照明ユニット８０のオン／オフ制御が、複数の情報部品により構築される神経系アルゴリズムにより実現されることになる。
【００８４】
以上説明したように、本発明の一実施形態によれば、スクリプトからなる情報部品５０に基づきタスクを実行する情報部品実行装置１であって、情報部品５０を記憶する記憶部４０と、情報部品５０をグループ毎に管理する情報部品管理部２３と、トリガ待ちリストに基づいてトリガ情報を管理するもので、トリガ情報を受信すると、トリガ待ちリストを参照して、当該トリガ情報に対応する情報部品５０に対して実行要求を行うトリガ管理部２９と、情報部品５０に対する起動要求があると、所定のスレッドを生成し、情報部品５０の実行から終了まで待機するスレッド管理部２４と、情報部品５０のスクリプトを順に解釈実行する命令実行部２５とを備えた情報部品実行装置が提供される。従って、ＩｏＴの多様な用途に対しても、当該用途に合った情報部品を用意するだけで対応可能となるので、汎用性、拡張性にすぐれた環境を提供することができる。
【００８５】
ここで、命令実行部２５による情報部品５０のスクリプトの解釈実行の過程で、トリガ情報の発信がなされると、トリガ情報はトリガ管理部２９に送信され、トリガ管理部２９は、トリガ待ちリストを参照して、対応する情報部品５０に対する起動要求を前記スレッド管理部２４に対して行うようにしてよい。従って、一の情報部品の実行が契機となって第２、第３の情報部品の起動をもたらし、それらを協働させることで、所望とする用途のタスクを実行させることが可能となる。
【００８６】
さらに、命令実行部２５は、複数の情報部品５０に基づきマルチタスキングでの処理を実行するようにしてよい。従って、複数のタスクを並行して実行できる。
【００８７】
また、トリガ情報は、トリガ番号とトリガ値からなり、トリガ情報は、外部のアプリケーションプログラム３０〜３２又は外部機器から入力されるようにしてよい。従って、例えば、室内環境の制御等については、照明のオン／オフを司る情報部品と、空調機のオン／オフを司る情報部品等を、同じトリガ番号としても、トリガ値を替えるだけで、他の用途のトリガ情報とコンフリクトすることなく制御可能となる。
【００８８】
そして、命令実行部２５による複数の情報部品５０の解釈実行による協働により、神経系アルゴリズムに基づく一連の処理を実行するようにしてよい。従って、一つの情報部品の起動が契機となり、第２、第３の情報部品が連鎖的に起動され、全体として神経系を模したようなアルゴリズムでタスク実行することが可能となる。
【００８９】
以上、本発明の一実施形態について説明したが、本発明はこれに限定されることなく、その趣旨を逸脱しない範囲で種々の改良・変更が可能である。
【００９０】
例えば、複数の情報部品実行装置で管理されている情報部品を同期させ、それらを協働させて、マルチタスキングを実行することも可能である。
【符号の説明】
【００９１】
１…情報部品実行装置、２…ＣＰＵ、３…ＨＤＤ、４…ＲＯＭ、５…ＲＡＭ、６…通信Ｉ／Ｆ、７…外部Ｉ／Ｆ、８…表示デバイス、９…操作デバイス、１０…制御バス、２０…制御部、２１…アプリケーション管理部、２１ａ…インタフェース管理部、２２…マイクロステージ管理部、２３…情報部品管理部、２４…スレッド管理部、２５…命令実行部、２６…変数管理部、２７…日付／時間管理部、２８…実行環境管理部、２９…トリガ管理部、３０…Windows（登録商標）アプリケーションプログラム、３１…専用のアプリケーションプログラム、３２…通常のアプリケーションプログラム、４０…記憶部、５０…情報部品、６０…アプリケーションプログラム。
【図１】
2019086956.tif 000003
【図２】
2019086956.tif 000004
【図３】
2019086956.tif 000005
【図４】
2019086956.tif 000006
【図５】
2019086956.tif 000007
【図６】
2019086956.tif 000008
【図７】
2019086956.tif 000009
【図８】
2019086956.tif 000010
【図９】
2019086956.tif 000011
【図１０】
2019086956.tif 000012
【図１１】
2019086956.tif 000013
【手続補正書】
【提出日】平成31年1月30日(2019.1.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
スクリプトからなる複数の情報部品の解釈実行による協働により、神経系アルゴリズムに基づく一連のタスクを実行する情報部品実行装置であって、
前記情報部品を記憶する記憶部と、
前記情報部品をグループ毎に管理する情報部品管理部と、
トリガ待ちリストに基づいてトリガ情報を管理するもので、前記トリガ情報を受信すると、前記トリガ待ちリストを参照して、当該トリガ情報に対応する前記情報部品に対して実行要求を行うトリガ管理部と、
前記情報部品に対する起動要求があると、所定のスレッドを生成し、前記情報部品の実行から終了まで待機するスレッド管理部と、
前記情報部品のスクリプトを順に解釈実行する命令実行部と、を備え、
前記命令実行部による前記情報部品のスクリプトの解釈実行の過程で、擬似トリガ情報の発信がなされると、当該擬似トリガ情報は前記トリガ管理部に送信され、
前記トリガ管理部は、前記トリガ待ちリストを参照して、対応する他の情報部品に対する実行要求を前記スレッド管理部に対して行い、
前記トリガ情報、及び前記擬似トリガ情報は、制御対象と制御内容を特定するトリガ番号とトリガ値からなる
情報部品実行装置。
【請求項２】
前記命令実行部は、複数の情報部品に基づきマルチタスキングでの処理を実行する
請求項１に記載の情報部品実行装置。
【請求項３】
スクリプトからなる複数の情報部品の解釈実行による協働により、神経系アルゴリズムに基づく一連のタスクを実行する情報部品実行装置による方法であって、
情報部品管理部が、前記情報部品をグループ毎に管理する第１のステップと、
トリガ管理部が、トリガ待ちリストに基づいてトリガ情報を管理するもので、前記トリガ情報を受信すると、前記トリガ待ちリストを参照して、当該トリガ情報に対応する前記情報部品に対して実行要求を行う第２のステップと、
スレッド管理部が、前記情報部品に対する起動要求があると、所定のスレッドを生成し、前記情報部品の実行から終了まで待機する第３のステップと、
命令実行部が、前記情報部品のスクリプトを順に解釈実行する第４のステップと、を有し、
前記命令実行部による前記情報部品のスクリプトの解釈実行の過程で、擬似トリガ情報の発信がなされると、当該擬似トリガ情報は前記トリガ管理部に送信され、
前記第２のステップでは、トリガ管理部は、前記トリガ待ちリストを参照して、対応する他の情報部品に対する実行要求を前記スレッド管理部に対して行い、
前記トリガ情報、及び前記擬似トリガ情報は、制御対象と制御内容を特定するトリガ番号とトリガ値からなる
情報部品実行方法。
【請求項４】
前記第４のステップでは、命令実行部が、複数の情報部品に基づきマルチタスキングでの処理を実行する請求項３に記載の情報部品実行方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
上記課題を解決するため、本発明の第１の態様に係る情報部品実行装置は、スクリプトからなる複数の情報部品の解釈実行による協働により、神経系アルゴリズムに基づく一連のタスクを実行する情報部品実行装置であって、前記情報部品を記憶する記憶部と、前記情報部品をグループ毎に管理する情報部品管理部と、トリガ待ちリストに基づいてトリガ情報を管理するもので、前記トリガ情報を受信すると、前記トリガ待ちリストを参照して、当該トリガ情報に対応する前記情報部品に対して実行要求を行うトリガ管理部と、前記情報部品に対する起動要求があると、所定のスレッドを生成し、前記情報部品の実行から終了まで待機するスレッド管理部と、前記情報部品のスクリプトを順に解釈実行する命令実行部と、を備え、前記命令実行部による前記情報部品のスクリプトの解釈実行の過程で、擬似トリガ情報の発信がなされると、当該擬似トリガ情報は前記トリガ管理部に送信され、前記トリガ管理部は、前記トリガ待ちリストを参照して、対応する他の情報部品に対する実行要求を前記スレッド管理部に対して行い、前記トリガ情報、及び前記擬似トリガ情報は、制御対象と制御内容を特定するトリガ番号とトリガ値からなる。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
本発明の第２の態様に係る情報部品実行方法は、スクリプトからなる複数の情報部品の解釈実行による協働により、神経系アルゴリズムに基づく一連のタスクを実行する情報部品実行装置による方法であって、情報部品管理部が、前記情報部品をグループ毎に管理する第１のステップと、トリガ管理部が、トリガ待ちリストに基づいてトリガ情報を管理するもので、前記トリガ情報を受信すると、前記トリガ待ちリストを参照して、当該トリガ情報に対応する前記情報部品に対して実行要求を行う第２のステップと、スレッド管理部が、前記情報部品に対する起動要求があると、所定のスレッドを生成し、前記情報部品の実行から終了まで待機する第３のステップと、命令実行部が、前記情報部品のスクリプトを順に解釈実行する第４のステップと、を有し、前記命令実行部による前記情報部品のスクリプトの解釈実行の過程で、擬似トリガ情報の発信がなされると、当該擬似トリガ情報は前記トリガ管理部に送信され、前記第２のステップでは、トリガ管理部は、前記トリガ待ちリストを参照して、対応する他の情報部品に対する実行要求を前記スレッド管理部に対して行い、前記トリガ情報、及び前記擬似トリガ情報は、制御対象と制御内容を特定するトリガ番号とトリガ値からなる。