(57)【要約】【課題】機器構成や機器の設置位置などが異なる複数のシステムに対して、同一オブジェクトを流用することができる制御技術を提供する。【解決手段】制御対象の構造を、根、節点、葉の組み合わせで記述する木構造を格納する手段と、前記葉に対応して設けられ、前記制御対象に含まれる要素とその要素に対する操作を指定するオブジェクト記憶手段と、前記葉によって起動されるオブジェクトに含まれる実行条件を受け付ける手段と、前記実行条件に該当する節点と葉との関係を前記木構造中で検出する手段と、前記検出された節点と葉との関係から、その葉に対応する要素に対して前記操作を実行する制御手段とを備える。【選択図】図８
2005032000.tif 000002
【特許請求の範囲】
【請求項１】
制御対象の構造を、根、節点、葉の組み合わせで記述する木構造を格納する手段と、
前記葉に対応して設けられ、前記制御対象に含まれる要素とその要素に対する操作を指定するオブジェクト記憶手段と、
前記葉によって起動されるオブジェクトに含まれる実行条件を受け付ける手段と、
前記実行条件に該当する節点と葉との関係を前記木構造中で検出する手段と、
前記検出された節点と葉との関係から、その葉に対応する要素に対して前記操作を実行する制御手段とを備える制御装置。
【請求項２】
前記制御対象は建物であり、前記節点は前記建物内の位置を示し、前記葉は前記位置に設置される操作対象の種類を示し、前記要素はその操作対象を示す請求項１に記載の制御装置。
【請求項３】
前記木構造中の実行条件は相対位置または絶対位置で示され、相対位置で示された場合には絶対位置に変換する変換部をさらに備える請求項１記載の制御装置。
【請求項４】
制御対象の構造を、根、節点、葉の組み合わせで記述する木構造を参照するステップと、
前記葉によって起動されるオブジェクトに含まれる実行条件を受け付けるステップと、
前記実行条件に該当する節点と葉との関係を前記木構造中で検出するステップと、
前記葉に対応して設けられ、前記制御対象に含まれる要素とその要素に対する操作を記憶するオブジェクト記憶手段を参照するステップと、
前記検出された節点と葉との関係から、その葉に対応する要素に対して前記操作を実行するステップとを実行する制御方法。
【請求項５】
前記制御対象は建物であり、前記節点は前記建物内の位置を示し、前記葉は前記位置に設置される操作対象の種類を示し、前記要素はその操作対象を示す請求項４記載の制御方法。
【請求項６】
前記木構造中の実行条件は相対位置または絶対位置で示され、相対位置で示された場合には絶対位置に変換するステップをさらに実行する請求項４記載の制御方法。
【請求項７】
制御対象の構造を、根、節点、葉の組み合わせで記述する木構造を参照するステップと、
前記葉によって起動されるオブジェクトに含まれる実行条件を受け付けるステップと、
前記実行条件に該当する節点と葉との関係を前記木構造中で検出するステップと、
前記葉に対応して設けられ、前記制御対象に含まれる要素とその要素に対する操作を記憶するオブジェクト記憶手段を参照するステップと、
前記検出された節点と葉との関係から、その葉に対応する要素に対して前記操作を実行するステップとをコンピュータにより実行させるプログラム。
【請求項８】
前記制御対象は建物であり、前記節点は前記建物内の位置を示し、前記葉は前記位置に設置される操作対象の種類を示し、前記要素はその操作対象を示す請求項７記載のプログラム。
【請求項９】
前記木構造中の実行条件は相対位置または絶対位置で示され、相対位置で示された場合には絶対位置に変換するステップをさらに実行させる請求項７記載のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、オブジェクト指向型の制御技術に関する。
【０００２】
【従来の技術】
従来技術として、オブジェクト指向型の制御技術であるメソッド呼出し方法には、以下に示すものがある。図１から図３を参照して、従来のメソッド呼出し方法を説明する。
【０００３】
図１は直接呼出しによるメソッド呼出しを示す。このような方法では、呼出し元オブジェクトが呼出し先オブジェクトのメソッドを直接呼出す。つまり、呼出し元オブジェクトは、呼出し先オブジェクトのメソッドを直接呼出す。そして、どのオブジェクトを呼出し先オブジェクトとするかは、ソースコード記述時に決定される。しかし、このような方法では、呼出し先オブジェクトを変更する場合に呼出し元オブジェクトのソースコードを修正しなければならない。
【０００４】
次に図２は、ネーミングサービスを利用したメソッド呼出しを示す。このような方法では、呼出し元オブジェクトがオブジェクト名で呼出し先オブジェクトを検索し、呼出し先オブジェクトのアドレスを取得してからメソッドを呼出す。
【０００５】
すなわち、各オブジェクトは、呼出し先オブジェクトのオブジェクト名をキーとしてネーミングサービスを検索し（２）、呼出し先オブジェクトのアドレスを取得する（３）。そして、取得したアドレスを持つオブジェクトに対してメソッド呼出しを行う（４）。このような方法では、呼出し先オブジェクトが異なるマシンに移動してもソースを修正することなくメソッド呼出しが行える。
【０００６】
しかし、このような方法では、呼出し先オブジェクトを変更する場合に、呼出し元オブジェクト、呼出し先オブジェクトのいずれかのソースコードを修正しなければならなかった。すなわち、呼出し先がネーミングサービスに登録するオブジェクトの名称を変更するか、呼出し元が呼出すオブジェクトの名称を変更する必要があった。登録名称を変更すると、同一の名称で呼出しを行っていた全ての呼出し元オブジェクトに変更の影響が及ぶ（例えば特許文献１参照。）。
【０００７】
次に図３はブロードキャストによるメソッド呼出しを示す。このような方法では、呼出し元オブジェクトは呼出し先オブジェクトを指定せず、メッセージを送信する。そして、メッセージを受信した各オブジェクトがメソッドを実行するか否かを判断する。
【０００８】
すなわち、呼出し元オブジェクトは呼出し先オブジェクトを特定せず、メソッド呼出しのためのメッセージをブロードキャストする（１）。そして、メッセージを受信したオブジェクトは、反応テーブルを検索し（２）、自オブジェクトが実行すべきメソッドがあれば、そのメソッドを実行する（３）。このような方法では、呼出し元オブジェクトを修正することなく呼出し先オブジェクトを変更することができる。
【０００９】
しかし、呼出し先オブジェクトを変更する場合には、呼出し先オブジェクトの反応テーブルを修正しなければならなかった。また、各オブジェクトが全てのメッセージを監視しなければならなかった。また、全てのオブジェクトが反応テーブルを付加しなければならなかった（例えば特許文献２参照。）。
【００１０】
すなわち、このような従来のメソッド呼出し方法にあっては、呼出し元オブジェクトが直接的または間接的に相手のオブジェクトを特定しなければならない。そのため、システム構成変更に伴って呼出し先と呼出し元との対応関係を変更する場合には、各オブジェクトのソースコードを修正しなければならないという問題があった。あるいは、反応テーブル等呼出し先オブジェクトの内部のテーブルを書き換える必要があった。
【００１１】
【特許文献１】
特願平１１−２１９２９６号公報。
【特許文献２】
特願平１１−１６１４９３号公報。
【００１２】
【発明が解決しようとする課題】
本発明は、上述のような従来技術の問題に鑑みてなされたものである。すなわち、本発明が解決しようとする課題は、機器構成や機器設置位置が異なる複数のシステムに対して、同一オブジェクト生成手順の流用を可能にする制御技術を提供することである。
【００１３】
【課題を解決するための手段】
本発明は、上記課題を解決するために以下の手段を採用した。
【００１４】
本発明に係る制御装置は、制御対象の構造を、根、節点、葉の組み合わせで記述する木構造を格納する手段と、前記葉に対応して設けられ、前記制御対象に含まれる要素とその要素に対する操作を指定するオブジェクト記憶手段と、前記葉によって起動されるオブジェクトに含まれる実行条件を受け付ける手段と、前記実行条件に該当する節点と葉との関係を前記木構造中で検出する手段と前記検出された節点と葉との関係から、その葉に対応する要素に対して前記操作を実行する制御手段とを備えることを特徴とする。
【００１５】
このような構成にすると、実行条件とその実行条件に対応する操作とを入力する。そして、検出手段が実行条件を検索し、制御手段が実行条件に対応する操作を実行できる。その結果、制御対象の構造が異なる複数のシステムに対して、同一オブジェクト生成手順を流用することができる。
【００１６】
また、本発明に係る制御装置は、前記木構造中の実行条件は相対位置または絶対位置で示され、相対位置で示された場合には絶対位置に変換する変換部をさらに備えてもよい。
【００１７】
このような構成にすると、実行条件は操作を要求した要求元を基準として相対位置で示すこともでき、根を基準として絶対位置で示すこともできる。
【００１８】
また、本発明は上記のようなプログラムを読み取り可能な記憶媒体に記憶したものであってもよい。
【００１９】
【発明の実施の形態】
以下に図４から図１２の図面を参照して、本発明の好適な実施の形態に係るホームセキュリティシステム（以下、単にシステムという）を説明する。本実施の形態では、本発明をホームセキュリティに適用して説明する。
【００２０】
図４は本システムのハードウェア構成図であり、図５はオブジェクトツリーの概要図であり、図６は節点と葉の詳細図であり、図７はオブジェクトツリーの詳細図であり、図８はソフトウェア構成図であり、図９はシステム構成定義ファイルを示す図である。そして図１０はオブジェクトツリー管理部の処理を示すフローチャートである。また、図１１は節点を追加したときのオブジェクトツリーを示す図であり、図１２はオブジェクトを移設したときのオブジェクトツリーを示す図である。
【００２１】
＜ハードウェア構成＞
図４を参照して、本システムのハードウェア構成を説明する。本システムはＣＰＵ４０１とメモリ４０２と二次記憶装置４０３とＩ／Ｏ４０４とを備えるコントローラ４００と、Ｉ／Ｏ４０４を介してコントローラに接続されるセンサ４０５やカメラ４０６によって実現される。
【００２２】
各構成要素について以下に説明する。ＣＰＵ４０１は、メモリ４０２に格納されたプログラムを実行し、装置全体を制御する。メモリ４０２は、プログラムや一時的なデータの記憶を実行する。なおメモリ４０２はＲＯＭ、ＲＡＭ等で構成される。
【００２３】
二次記憶装置４０３は、オブジェクト指向プログラムが使用するファイルを記憶する。なお二次記憶装置４０３はハードディスク、ＦｌａｓｈＲＯＭ等で構成される。Ｉ／Ｏ４０４は、コントローラ４００に接続されるセンサ、カメラ等の入出力機器との入出力を実行する。
【００２４】
センサ４０５は、例えば窓の開閉を検知するマグネットセンサや人の在／不在を検知する赤外線センサ等である。カメラ４０６は、室内の画像等を撮影し、画像データを出力する。
【００２５】
＜オブジェクトツリー＞
図５から図７を参照して、オブジェクトツリーについて説明する。本実施の形態のシステムでは、各オブジェクトをこのオブジェクトツリーで管理する。
【００２６】
図５を参照して、オブジェクトツリーの概要を説明する。図５はオブジェクトツリーの概要を示す。オブジェクトツリーは、各オブジェクトに対応する葉と、そのオブジェクトに対応する機器の設置位置を示す節点とからなる木構造を持つ。
【００２７】
そして、各オブジェクトに対応する機器の設置位置は、根から葉までの間にある節点を”／”で区切って並べて表わされる。例えば、図５のＳｅｎｓｏｒオブジェクト１０の場合には”／Ｈｏｍｅ／Ｒｏｏｍ１”が設置位置を示す。
【００２８】
次に、図６を参照して、節点と葉について説明する。図６は節点と葉の詳細を示す。各節点６１０は、オブジェクトの設置位置を示す設置位置識別子６１１と、子節点のメモリ上のアドレスを示す子節点ポインタ６１２で構成される。この設置位置識別子６１１は図５に示す”Ｈｏｍｅ”や”Ｒｏｏｍ１”などである。また、子節点ポインタ６１２は図５に示す他の節点間、または節点と葉とを結ぶ線に相当し、相手節点または葉のメモリ上のアドレスである。
【００２９】
また各葉６２０は、オブジェクトの種類を示すクラス６２１と、オブジェクトのメモリ上のアドレスを示すオブジェクトポインタ６２２で構成される。
【００３０】
次に、図７を参照して、オブジェクトツリーを詳細に説明する。図７は節点と葉の詳細まで示したオブジェクトツリーを示す。
【００３１】
本システムでは、あるオブジェクト（呼出し元オブジェクト）がオブジェクトツリー中のオブジェクト（呼出し先オブジェクト）のメソッドを呼出す時には、呼出し元オブジェクトのアドレスと、実行メソッド条件を指定する。
【００３２】
ここで指定される実行メソッド条件は、呼出し先オブジェクトの設置位置、クラス、及びメソッド名を示す文字列であり、”設置位置／クラス．メソッド名”の形式で記述される。これにより、その設置位置で定義されたクラスに属するオブジェクトのメソッドが呼出される。例えば、”／Ｈｏｍｅ／Ｒｏｏｍ１／Ｃａｍｅｒａ．ｒｅｃｏｒｄ”と記述された場合、図７に示すＣａｍｅｒａオブジェクト１のｒｅｃｏｒｄメソッドが呼出される。
【００３３】
この実行メソッド条件中の設置位置やクラスは、正規表現で記述することも可能である。正規表現で記述する場合、”？”は任意の１文字として、”＊”は任意の文字列として記述できる。例えば、”／Ｈｏｍｅ／Ｒｏｏｍ？／Ｃａｍｅｒａ．ｒｅｃｏｒｄ”と記述された場合、図７のオブジェクトツリーでは、Ｒｏｏｍ１のＣａｍｅｒａオブジェクト１とＲｏｏｍ２にあるＣａｍｅｒａオブジェクト２のｒｅｃｏｒｄメソッドが呼出される。また、”／Ｈｏｍｅ／＊／Ｓｅｎｓｏｒ．ａｃｔｉｖａｔｅ”と記述された場合、Ｓｅｎｓｏｒオブジェクト１から３のａｃｔｉｖａｔｅメソッドが呼出される。
【００３４】
また、設置位置は、呼出し元オブジェクトからの相対位置で指定することも可能である。この場合には、”．”を親節点（直属の節点）とし、”．．”を親の親（１階層上の節点）とし、”．．／．．”を親の親の親（２階層上の節点）として記述することができる。例えば、”．／Ｃａｍｅｒａ．ｒｅｃｏｒｄ”と記述された場合を説明すると、呼出し元オブジェクトが図７のＳｅｎｓｏｒオブジェクト１の場合は、Ｃａｍｅｒａオブジェクト１のｒｅｃｏｒｄメソッドが呼出される。また、呼出し元オブジェクトがＳｅｎｓｏｒオブジェクト２の場合はＣａｍｅｒａオブジェクト２のｒｅｃｏｒｄメソッドが呼出される。
【００３５】
＜ソフトウェア構成＞
図８および図９を参照して、ソフトウェア構成を説明する。図８は本システムのソフトウェア構成を示す。また図９は図７のシステム構成定義ファイル８４０をＸＭＬ形式で記述した例を示す。
【００３６】
図８のように本システムは、呼出し元オブジェクト８１０、呼出し先オブジェクト８３０、オブジェクトマネージャ８２０、および二次記憶装置に格納されたシステム構成定義ファイル８４０を備える。
【００３７】
本システムでは、呼出し元オブジェクト８１０は、呼出し先オブジェクトを特定せず、自オブジェクトのアドレスと実行メソッド条件（例えば設置位置／クラス．メソッド名と記述される）をオブジェクトマネージャ８２０に入力する。オブジェクトマネージャ８２０は、オブジェクトツリー８０２を検索し、実行メソッド条件を満たすオブジェクトを呼出し先オブジェクト８３０としてメソッド呼出しする。
【００３８】
オブジェクトマネージャ８２０は、オブジェクトツリー管理部８０１と、オブジェクトツリー８０２と、システム構成定義ファイル解析部８０３で実現される。
【００３９】
また、オブジェクトマネージャ８２０は、二次記憶装置に格納されたシステム構成定義ファイル８４０を読み込みオブジェクトツリーを作成する。
【００４０】
オブジェクトツリー管理部８０１は、呼出し元オブジェクト８１０から入力された実行メソッド条件を満たすオブジェクト（複数の場合もあり得る）をオブジェクトツリー８０２から検索し、条件を満たすオブジェクトに対してメソッド呼出しを行う。
【００４１】
オブジェクトツリー８０２は、センサやカメラ等のシステムを構成するオブジェクトのツリーである。システム構成定義ファイル解析部８０３は、システム構成定義ファイル８４０を読み込み、オブジェクトツリー８０２を生成する。
【００４２】
システム構成定義ファイル８４０は、オブジェクトツリー８０２の構成を記述したファイルであり、二次記憶装置に記憶される。また、システム構成定義ファイル８４０はシステム起動時にシステム構成定義ファイル解析部８０３により読み込まれ、その記述内容に従ってオブジェクトツリー８０２がメモリ４０２上に生成される。
【００４３】
図９を参照してシステム構成定義ファイルを説明する。図９のシステム構成定義ファイル８４０は図７に示すオブジェクトツリーに対応している。システム構成定義ファイル８４０は、木構造を記述できるものならば、どのような形式でもよい。
【００４４】
図９では、ＸＭＬ形式で記述されたシステム構成定義ファイル８４０を示す。Ｈｏｍｅ要素の中には、要素Ｒｏｏｍ１と要素Ｒｏｏｍ２と要素Ｅｎｔｒａｎｃｅがある。これにより、図７の節点Ｈｏｍｅと節点Ｒｏｏｍ１、Ｒｏｏｍ２、Ｅｎｔｒａｎｃｅの関係が定義される。さらに、要素Ｒｏｏｍ１の中には、要素Ｓｅｎｓｏｒ  ｓ１と要素Ｃａｍｒａ    ｃ１がある。これにより、節点Ｒｏｏｍ１とセンサクラスのオブジェクトｓ１（図７のセンサオブジェクト１に相当）と、カメラクラスのオブジェクトｃ１（図７のカメラオブジェクト１に相当）との関係が定義される。また、要素Ｒｏｏｍ２の中には、要素Ｓｅｎｓｏｒ  ｓ２と要素Ｃａｍｒａ    ｃ２がある。これにより、節点Ｒｏｏｍ２と、センサクラスのオブジェクトｓ２（図７のセンサオブジェクト２に相当）と、カメラクラスのオブジェクトｃ２（図７のカメラオブジェクト２に相当）との関係が定義される。また、要素Ｅｎｔｒａｎｃｅの中には要素Ｓｅｎｓｏｒ  ｓ３がある。これにより、節点Ｅｎｔｒａｎｃｅとセンサクラスのオブジェクトｓ３（図７のセンサオブジェクト３に相当）との関係が定義される。このようにシステム構成定義ファイル８４０はＸＭＬ形式で階層的に記述できる。
【００４５】
本システムは、システムの起動時、このシステム定義構成ファイルで定義されたツリー構造中の葉に指定されたクラスの名称を基にクラスを定義する情報を参照し、クラスに対応するオブジェクトを生成する。このとき生成されるオブジェクトの名称は、図９のｎａｍｅ＝”名称”で設定された名称である。
【００４６】
生成されたオブジェクトは、メモリ４０２に格納され、図６に示した葉のデータ構造中のオブジェクトポインタにそのアドレスが格納される。
【００４７】
＜フローチャート＞
図１０を参照して、オブジェクトマネージャ８２０の処理を説明する。呼出し元オブジェクト８１０は自オブジェクトのアドレスと実行メソッド条件をオブジェクトツリー管理部８０１に入力する（Ｓ１００１）。この実行メソッド条件としては、設置位置、クラス、メソッド名などがある。なお、クラスとは、オブジェクトの種類を示す総称であり、本システムによる操作対象とその操作対象に対する操作（メソッド）が定義される。すなわち、各オブジェクトは、いずれかのクラスに所属する。例えば、センサオブジェクト１、２のクラスはセンサであり、カメラオブジェクト１、２のクラスはカメラである。逆にオブジェクトとはクラスで定義される総称の具体的な例であり、クラスの定義情報から生成される。このようなクラス、オブジェクト、及びメソッドの関係はオブジェクト指向のプログラミング技術において広く知られている。
【００４８】
次に、オブジェクトツリー管理部８０１は、実行メソッド条件の設置位置が呼出し元オブジェクト８１０からの相対位置指定であるかを判断する（Ｓ１００２）。
【００４９】
Ｓ１００２で、オブジェクトツリー管理部８０１は、実行メソッド条件の設置位置が相対位置指定であると判断した場合、設定位置をオブジェクトツリーの根からの絶対位置に変換する（Ｓ１００３）。
【００５０】
一方Ｓ１００２で、オブジェクトツリー管理部８０１は、実行メソッド条件の設置位置が相対位置指定でないと判断した場合、設置位置はオブジェクトツリーの根からの絶対位置であると判断して、Ｓ１００４に処理を進める。
【００５１】
次にオブジェクトツリー管理部８０１は、当該オブジェクトツリー中に未検査のオブジェクトがあるかを判断する（Ｓ１００４）。
【００５２】
Ｓ１００４で、オブジェクトツリー管理部８０１は、オブジェクトツリー中に未検査のオブジェクトがないと判断した場合、処理を終了する。
【００５３】
一方Ｓ１００４で、オブジェクトツリー管理部８０１は、オブジェクトツリー中に未検査のオブジェクトがあると判断した場合、オブジェクトから未検出のオブジェクトを取得する（Ｓ１００５）。
【００５４】
オブジェクトツリー管理部８０１は、当該オブジェクトの”設置位置／クラス”と、実行メソッド条件の”設置位置／クラス”とを比較する（Ｓ１００６）。
【００５５】
オブジェクトツリー管理部８０１は、この”設置位置／クラス”のパターンが一致するかを判断する（Ｓ１００７）。
【００５６】
Ｓ１００７で、オブジェクトツリー管理部８０１は、パターンが一致すると判断した場合、実行メソッド条件のメソッド名で指定されたメソッドを呼出し先オブジェクト８３０において実行する（Ｓ１１０８）。そして、オブジェクトツリー管理部８０１は処理をＳ１００４に戻し、未検査のオブジェクトツリーがなくなるまで処理を繰り返す。
【００５７】
一方Ｓ１００７で、オブジェクトツリー管理部８０１は、パターンが一致しないと判断した場合、そのまま処理をＳ１００４に戻す。
【００５８】
＜オブジェクトツリーの追加および変更＞
図１１及び図１２を参照して、オブジェクトツリーの追加や変更する場合を説明する。図７に示すオブジェクトツリーでは、Ｓｅｎｓｏｒオブジェクト１が侵入者を検知した場合は同室のＣａｍｅｒａオブジェクト１で撮影が行われ、Ｓｅｎｓｏｒオブジェクト２が侵入者を検知した場合はＣａｍｅｒａオブジェクト２で撮影が行われる。
【００５９】
この図７に示すオブジェクトツリーにおいて、図１１に示すようにＲｏｏｍ３をもつシステムを追加する場合を説明する。この場合には、システム構成定義ファイル８４０にＲｏｏｍ３以下の節点を追加することで、ＳｅｎｓｏｒオブジェクトやＣａｍｅｒａオブジェクトのソースコードを修正することなく同じ動作を行わせることができる。
【００６０】
すなわち、Ｒｏｏｍ３以下に、Ｓｅｎｓｏｒクラスの葉を設け、Ｓｅｎｓｏｒオブジェクト３を呼出すように定義する。また、この位置にＣａｍｅｒａクラスの葉を設け、Ｃａｍｅｒａオブジェクト３を呼出すように定義する。このようなオブジェクトツリーの定義の追加により、Ｒｏｏｍ３においてＳｅｎｓｏｒオブジェクト３が侵入検知した場合にはＣａｍｅｒａオブジェクト３で撮影を行うことができる。
【００６１】
この場合に、Ｓｅｎｓｏｒオブジェクト３およびＣａｍｅｒａオブジェクト３を生成するためのＳｅｎｓｏｒクラスおよびＣａｍｅｒａクラスのソースコードを生成したり、修正する必要がない。
【００６２】
また、図７に示すオブジェクトツリーにおいて、図１２に示すようにＣａｍｅｒａオブジェクト２の設置位置をＲｏｏｍ２からＲｏｏｍ１に移設する場合を説明する。この場合には、システム構成定義ファイル８４０を変更するだけで、メソッド呼出し先を変更できる。
【００６３】
例えば、Ｒｏｏｍ１の下のＳｅｎｓｏｒオブジェクト１に”．／Ｃａｍｅｒａ．ｒｅｃｏｒｄ”のように同一室内のカメラを起動する記述をしておけば、Ｓｅｎｄｏｒオブジェクト１が侵入者を検知した場合、同室に設置された２つのＣａｍｅｒａオブジェクト１および２で撮影を行うことができる。
【００６４】
＜実施形態の効果＞
以上説明したように、本実施の形態では、呼出し元オブジェクト８１０で呼出し先オブジェクトを特定せず、呼出し先オブジェクト８３０が満たすべき条件だけを指定し、オブジェクトマネージャ８３０がシステム構成定義ファイル８４０を元に呼出し先オブジェクト８３０の決定とメソッド呼出しを行う。そのため、機器構成や機器の設置位置が異なる複数のシステムに対して、同一オブジェクト生成手順を流用することができる。
【００６５】
例えば、ホームセキュティシステムにおいて、Ｓｅｎｓｏｒオブジェクトが、侵入者を検知した場合に同じ部屋に設置されたＣａｍｅｒａオブジェクトのｒｅｃｏｒｄメソッドを呼出して室内画面を撮影し、記録を残すという処理を行わせたい場合、Ｓｅｎｓｏｒオブジェクトのソースコードには、実行メソッド条件に”．／Ｃａｍｅｒａ．ｒｅｃｏｒｄ”と指定する。
【００６６】
このように指定することで、図７に示すシステムにおいて、Ｓｅｎｓｏｒオブジェクト１が侵入者を検知した場合は同室のＣａｍｅｒａオブジェクト１で撮影が行われ、Ｓｅｎｓｏｒオブジェクト２が侵入者を検知した場合はＣａｍｅｒａオブジェクト２で撮影が行われる。
【００６７】
また、図１１に示すＲｏｏｍ３を持つオブジェクトであっても、システム構成定義ファイル８４０にＲｏｏｍ３以下の節点を追加すれば、ＳｅｎｓｏｒオブジェクトやＣａｍｅｒａオブジェクトのソースコードを修正することなく、同じ動作が行われる。そして、Ｓｅｎｓｏｒオブジェクト３が侵入者を検知した場合にはＣａｍｅｒａオブジェクト３で撮影が行われる。
【００６８】
また、図７に示すＣａｍｅｒａオブジェクト２の設置位置をＲｏｏｍ２からＲｏｏｍ１に移設した場合でも、図１２に示すようにシステム構成定義ファイルを変更するだけで、メソッド呼出し際を変更できる。この場合は、Ｓｅｎｓｏｒオブジェクト１が侵入者を検知した場合は、同一に設置された２つのＣａｍｅｒａオブジェクト１及び２で撮影が行われる。
【００６９】
＜変形例＞
上述の実施の形態では、本発明をホームセキュリティに適用した場合について説明した。しかしながら、本発明はこのようなシステムに限定されない。
【００７０】
以下、図１３を参照して、オフィス制御システムに本発明を適用した場合について説明する。図１３はオフィス制御システムのオブジェクトツリーを示す。
【００７１】
Ｓｗｉｔｃｈオブジェクトがスイッチのオフ操作を検知した時に呼出すメソッドを、”．／Ｌｉｇｈｔ．ｏｆｆ”と記述できる。このように記述することで、各部門のスイッチをオフにした場合に、同一部門の照明のみを全て消灯するといった処理が可能になる。
【００７２】
さらに、組織変更等に伴ってオフィスのレイアウトが変更され、各Ｌｉｇｈｔオブジェクトが所属する部門が変更された場合であっても、システム構成定義ファイルを修正するだけで対応が可能である。
【００７３】
なお、上記実施の形態は本発明の範囲をなんら限定するものではなく、当業者が理解できる範囲において適宜、各種の変形の態様があり得る。
【００７４】
【発明の効果】
以上で説明したように、本発明は、機器構成や機器の設置位置などが異なる複数のシステムに対して、同一オブジェクト生成手順を流用することができる制御技術を提供することができる。
【図面の簡単な説明】
【図１】直接呼出しによるメソッド呼出しを示す図である。
【図２】ネーミングサービスを利用したメソッド呼出しを示す図である。
【図３】ブロードキャストによるメソッド呼出しを示す図である。
【図４】ハードウェア構成図である。
【図５】オブジェクトツリーの概要図である。
【図６】節点と葉の詳細図である。
【図７】オブジェクトツリーの詳細図である。
【図８】ソフトウェア構成図である。
【図９】システム構成定義ファイルを示す図である。
【図１０】オブジェクトツリー管理部の処理を示すフローチャートである。
【図１１】節点を追加したときのオブジェクトツリーを示す図である。
【図１２】オブジェクトを移設したときのオブジェクトツリーを示す図である。
【図１３】オフィス制御システムのオブジェクトツリーを示す図である。
【符号の説明】
４０１…ＣＰＵ
４０２…メモリ
４０３…二次記憶装置
４０４…Ｉ／Ｏ
４０５…センサ
４０６…カメラ
６１０…節点
６１１…子節点ポインタ
６１２…設置位置識別子
６２０…葉
６２１…クラス
６２２…オブジェクトポインタ
８０１…オブジェクトツリー管理部
８０２…オブジェクトツリー
８０３…システム構成定義ファイル解析部
８１０…呼出し元オブジェクト
８２０…オブジェクトマネージャ
８３０…呼出し先オブジェクト
８４０…システム構成定義ファイル
【図１】
2005032000.tif 000003
【図２】
2005032000.tif 000004
【図３】
2005032000.tif 000005
【図４】
2005032000.tif 000006
【図５】
2005032000.tif 000007
【図６】
2005032000.tif 000008
【図７】
2005032000.tif 000009
【図８】
2005032000.tif 000010
【図９】
2005032000.tif 000011
【図１０】
2005032000.tif 000012
【図１１】
2005032000.tif 000013
【図１２】
2005032000.tif 000014
【図１３】
2005032000.tif 000015