(57)【要約】【課題】ロボット用に製作されたソフトウェアコンポーネントの内部に存在するデータ変数をソフトウェアコンポーネントの外部でモニタし、更新できるようにする方法及び装置を提供する。【解決手段】ロボット用ソフトウェアコンポーネントをモニタするにおいて、ソフトウェアコンポーネントのコンパイル時点でソフトウェアコンポーネントのモニタリングが可能なように、モニタリング対象のデータ変数を設定し、ソフトウェアコンポーネントの実行時間に該当データ変数にアクセスできるようにすることによって、ソフトウェアコンポーネントの内部に存在するデータ変数をソフトウェアコンポーネントの外部でモニタし、更新できる。また、ソフトウェアコンポーネントのデータ変数のモニタリングが一貫したインターフェースと通路を通じてなされるようにすることで、モニタリングツールのような汎用的なツールを通じて特定のソフトウェアコンポーネントが提供するデータ変数に対するモニタリングが容易になる。【選択図】図１
2012133751.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアコンポーネントをモニタする方法において、
モニタリングを行うソフトウェアコンポーネントでモニタリング対象を設定するモニタリング対象設定段階と、
前記設定されたモニタリング対象に対して質疑を通じて前記モニタリング対象をモニタするモニタリング実行段階と
を含む方法。
【請求項２】
前記モニタリング対象設定段階は、
モニタリングプロファイルで前記モニタリング対象の変数を定義する段階と、
前記定義されたモニタリング対象の変数に対してモニタリングテンプレートコードを生成する段階と、
前記テンプレートコードを用いて前記モニタリング対象の変数を前記ソフトウェアコンポーネント内に登録する段階と
を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記モニタリングテンプレートコードを生成する段階は、
前記モニタリング対象の変数をモニタできるようにするモニタリングアクセス客体を生成する段階と、
前記モニタリングアクセス客体を登録するコードを有するソフトウェアコンポーネントソースコードを生成する段階と
を含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記モニタリング実行段階は、
前記モニタしようとするモニタリング変数を選択する段階と、
前記選択されたモニタリング変数に対してモニタリングと関連する質疑を生成する段階と、
前記モニタリング変数に対して生成された前記質疑を処理する段階と、
前記モニタリング変数に対して質疑に対する応答を受信して表示させる段階と
を含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記質疑を処理する段階は、
前記質疑で要請された前記モニタリング変数を有するソフトウェアコンポーネントを検索する段階と、
前記検索されたソフトウェアコンポーネント内の前記モニタリング変数にアクセスする段階と、
前記モニタリング変数に対して前記質疑を行う段階と
を含むことを特徴とする請求項４に記載の方法。
【請求項６】
前記質疑は、前記モニタリング変数の照会及び／又は更新を要請するメッセージを含むことを特徴とする請求項１に記載の方法。
【請求項７】
ソフトウェアコンポーネントをモニタする装置において、
ソフトウェアコンポーネントのうち、モニタリング対象のソフトウェアコンポーネント内のモニタリング変数を指定して質疑を伝達し、前記質疑に対する応答を受信して前記モニタリング変数のモニタリング結果として表示するモニタリングツールと、
前記モニタリング変数に対する質疑を処理し、前記質疑に対する応答を前記モニタリングツールに提供する実行エンジンと、
前記モニタリング変数を登録し、前記質疑を受けた前記モニタリング変数の情報を提供するソフトウェアコンポーネントと
を含む装置。
【請求項８】
前記モニタリングツールは、
前記モニタリング変数に対して質疑を生成するモニタリング質疑生成器と、
前記実行エンジンから前記質疑に対する応答を受信し、これを解析するモニタリング結果処理器と、
前記モニタリング結果処理器から解析された応答を前記モニタリング変数のモニタリング結果として表示するモニタリング結果表示器と
を含むことを特徴とする請求項７に記載の装置。
【請求項９】
前記ソフトウェアコンポーネントは、
モニタリングデータアクセス客体を通じて前記モニタリング変数を管理するモニタリングデータ管理者と、
前記モニタリングデータ管理者の制御によって前記モニタリング変数を登録するモニタリングデータサービスインターフェースと
を含むことを特徴とする請求項７に記載のモニタリング装置。
【請求項１０】
前記ソフトウェアコンポーネントに前記モニタリング変数を登録させるためのテンプレートコードを生成するモニタリングテンプレートコード生成器を更に含むことを特徴とする請求項７に記載のモニタリング装置。
【請求項１１】
前記質疑は、前記モニタリング変数の照会及び／又は更新を要請するメッセージを含むことを特徴とする請求項７に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はソフトウェアコンポーネント（ｓｏｆｔｗａｒｅ ｃｏｍｐｏｎｅｎｔ）のモニタリングに関し、特にロボット用に製作されたソフトウェアコンポーネントの内部に存在するデータ変数を外部でモニタし、更新できるようにするソフトウェアコンポーネントのデータ変数をモニタする方法及び装置に関する。
【背景技術】
【０００２】
現在、ロボット用のソフトウェアコンポーネントを開発し、運用する段階でソフトウェアコンポーネントの内部データの状態又は情報をソフトウェアコンポーネントの外部で参照又は更新するためには、該当データと関連するメソッド（methods）などを作成して追加しなければならない。また、ソフトウェアコンポーネント内の特定データを参照及び更新するためには、該当ソフトウェアコンポーネントの開発者がデータの参照のために定義した別途のインターフェースを利用しなければならない。
【０００３】
そのため、ツールを用いて特定のコンポーネントの内部データを参照する場合は、各開発者別に異なるように定義したデータ参照インターフェースによりアクセスが不可能であるという問題があった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】韓国特許第１０−１０２６７８９号公報（２０１１．０３．２８）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
そこで、本発明は上記事情に鑑みてなされたものであって、その目的は、ロボット用に製作されたソフトウェアコンポーネントの内部に存在するデータ変数をソフトウェアコンポーネントの外部でモニタし、更新できるようにする方法及び装置を提供することにある。
【課題を解決するための手段】
【０００６】
前述した課題を達成するための本発明の一態様によるソフトウェアコンポーネントをモニタする方法は、モニタリングを行うソフトウェアコンポーネントでモニタリング対象を設定するモニタリング対象設定段階と、前記設定されたモニタリング対象に対して質疑を通じて前記モニタリング対象をモニタするモニタリング実行段階とを含む。
【０００７】
前述した課題を達成するための本発明の他の態様によるソフトウェアコンポーネントをモニタする装置は、ソフトウェアコンポーネントのうち、モニタリング対象のソフトウェアコンポーネント内のモニタリング変数を指定して質疑を伝達し、前記質疑に対する応答を受信して前記モニタリング変数のモニタリング結果として表示するモニタリングツールと、前記モニタリング変数に対する質疑を処理し、前記質疑に対する応答を前記モニタリングツールに提供する実行エンジンと、前記モニタリング変数を登録し、前記質疑を受けた前記モニタリング変数の情報を提供するソフトウェアコンポーネントとを含む。
【発明の効果】
【０００８】
前述したように、本発明によれば、ロボット用で製作されたソフトウェアコンポーネントをモニタするにおいて、ソフトウェアコンポーネントのコンパイル時点でモニタリングが可能なようにソフトウェアコンポーネントのデータ変数を設定し、ソフトウェアコンポーネントが実行されるとき、該当データ変数にアクセスできるようにすることによって、ソフトウェアコンポーネントの内部に存在するデータ変数をソフトウェアコンポーネントの外部でモニタし、更新できるという効果を奏する。また、ソフトウェアコンポーネントのデータ変数のモニタリングが一貫したインターフェースと通路を通じてなされるようにすることで、モニタリングツールのような汎用的なツールを通じて特定のソフトウェアコンポーネントのデータ変数を容易にモニタできる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態によるロボット用ソフトウェアコンポーネントのデータ変数モニタリング装置のブロック図である。
【図２】本発明の実施形態によるデータ変数のモニタリングのためのフローチャートである。
【図３】本発明の実施形態によるソフトウェアコンポーネントのモニタリング対象の変数を定義したプロファイルを例示する図である。
【図４Ａ】本発明の実施形態によるモニタリングと関連する質疑メッセージを例示する図である。
【図４Ｂ】本発明の実施形態によるモニタリングと関連する質疑結果メッセージを例示する図である。
【発明を実施するための形態】
【００１０】
本発明の利点及び特徴、そしてそれらを達成する方法は、添付する図面と共に詳細に後述する実施形態を参照すれば、明確になる。しかし、本発明は以下の実施形態に限定されるものではなく、互いに異なる多様な形態で実現され得、但し、本実施形態は本発明の開示が完全なようにし、本発明の属する技術分野において通常の知識を有する者に発明の範疇を完全に理解させるために提供されるものであり、本発明は請求の範囲の範疇により定義されるだけである。明細書全体に亘って同一の参照符号は同一の構成要素を示す。
【００１１】
本発明の実施形態を説明するにおいて公知となった機能又は構成についての具体的な説明が本発明の要旨を不要に曖昧にするおそれがあると判断される場合には、その詳細な説明を省略し、後述する用語は本発明の実施形態における機能を考慮して定義された用語であって、これはユーザ、運用者の意図又は慣例などによって変わり得る。従って、その定義は、本明細書全般の内容に基づいて下されなければならない。
【００１２】
添付されたブロック図の各ブロックとフローチャートの各段階の組み合わせは、コンピュータ・プログラム・インストラクション（実行エンジン）により実行されることもでき、これらのコンピュータ・プログラム・インストラクションは汎用コンピュータ、特殊コンピュータ又はその他プログラム可能なデータプロセシング装置のプロセッサに搭載され得るので、コンピュータ又はその他プログラム可能なデータプロセシング装置のプロセッサを通じて行われるそのインストラクションがブロック図の各ブロック又はフローチャートの各段階で説明された機能を行う手段を生成する。これらのコンピュータ・プログラム・インストラクションは、特定方式で機能を具現するためにコンピュータ又はその他プログラム可能なデータプロセシング装置を指向できるコンピュータ利用可能又はコンピュータ読み取り可能なメモリに格納されることも可能であるので、そのコンピュータ利用可能又はコンピュータ読み取り可能なメモリに格納されたインストラクションは、ブロック図の各ブロック又はフローチャートの各段階で説明された機能を行うインストラクション手段を内包する製造品目を生産することも可能である。
【００１３】
そして、コンピュータ・プログラム・インストラクションは、コンピュータ又はその他プログラム可能なデータプロセシング装置上に搭載されることも可能であるので、コンピュータ又はその他プログラム可能なデータプロセシング装置上で一連の動作段階が行われ、コンピュータで実行されるプロセスを生成してコンピュータ又はその他プログラム可能なデータプロセシング装置を行うインストラクションは、ブロック図の各ブロック及びフローチャートの各段階で説明される機能を実行するための段階を提供することも可能である。
【００１４】
また、各ブロック又は各段階は、特定された論理的機能を実行するための１つ以上の実行可能なインストラクションを含むモジュール、セグメント又はコードの一部を示すことができ、複数の代替実施形態ではブロック又は段階で言及された機能が順序を逸脱して発生することも可能であることに注目しなければならない。例えば、相次いで示されている２つのブロック又は段階は実質的に同時に行われてもよく、またそのブロック又は段階が必要に応じて該当する機能の逆順で行われてもよい。
【００１５】
以下、添付する図面を参照して本発明の好適な実施形態について詳細に説明する。
【００１６】
図１は、本発明の実施形態によるロボット用ソフトウェアコンポーネントのデータ変数モニタリング装置のブロック図である。図１に示すデータ変数モニタリング装置は、モニタリングテンプレートコード生成器(template code generator)１０２、ソフトウェアコンポーネント１２０、実行エンジン１３０、モニタリングツール１４０を含む。
【００１７】
まず、モニタリングの対象となるデータ変数を定義したモニタリングプロファイル(monitoring profile)１００を準備する。モニタリングテンプレートコード生成器１０２は、モニタリングプロファイル１００でモニタリングの対象として選択されたデータ変数のそれぞれに対してモニタリングデータアクセス客体(monitoring data access object)１２６を生成するコードと、このように生成されたモニタリングデータアクセス客体をモニタリングデータ管理者(monitoring data manager)１２４に登録させるコードが入っているコンポーネントソースコード(component source code)１０４を生成する。図面符号１０６はコンポーネントソースコード１０４の例題（ｅｘａｍｐｌｅ）を示す。
【００１８】
ソフトウェアコンポーネント１２０は、モニタリング対象変数１２８を有しており、コンポーネントソースコードの例題１０６に示されるように、モニタリング対象のデータ変数に対応するモニタリングデータアクセス客体１２６を生成し、生成されたモニタリングデータアクセス客体１２６をモニタリングデータサービスインターフェース１２２を通じて登録する。モニタリングデータアクセス客体１２６は、モニタリングデータ管理者１２４がモニタリング対象の変数をモニタできるようにする。モニタリングデータ管理者１２４は、モニタリングテンプレートコード生成器１０２から生成されたモニタリングデータアクセス客体１２６を通じてモニタリング対象の変数を管理する。
【００１９】
ソフトウェアコンポーネント１２０のモニタリングデータサービスインターフェース１２２は、ソフトウェアコンポーネント１２０の内部でモニタリングデータ管理者１２４からモニタリングと関連する質疑を処理する。
【００２０】
実行エンジン１３０は、ソフトウェアコンポーネントの実行を管理し、モニタリング質疑処理器(monitoring query processor)１３２を含む。モニタリング質疑処理器１３２は、実行エンジン１３０に要請されたモニタリングと関連する質疑を解析し、多数のソフトウェアコンポーネントの中で質疑されたソフトウェアコンポーネント１２０を見つけてモニタリングデータサービスインターフェース１２２を通じて質疑を伝達する。その後、モニタリング質疑処理器１３２は、該当ソフトウェアコンポーネント１２０の質疑に対する応答をモニタリングツール１４０に返還する。
【００２１】
モニタリングツール１４０は、ユーザがロボット用ソフトウェアコンポーネントのデータ変数をモニタできるようにするグラフィックユーザインターフェース（Ｇｒａｐｈｉｃ Ｕｓｅｒ Ｉｎｔｅｒｆａｃｅ：ＧＵＩ）を提供する。モニタリングツール１４０は、モニタリング質疑生成器(monitoring query generator)１４２と、モニタリング結果処理器１４４及びモニタリング結果表示器１４６を含む。
【００２２】
モニタリング質疑生成器１４２は、モニタリング対象のデータ変数と関連する質疑メッセージを生成する。生成された質疑メッセージは実行エンジン１３０のモニタリング質疑処理器１３２に伝達される。
【００２３】
モニタリング結果処理器１４４は、モニタリング質疑処理器１３２から伝達された質疑メッセージに対する応答を解析する。モニタリング結果表示器１４６は、解析された応答をユーザが確認できるように画面上に表示する。これとは異なり、応答はファイル形態で出力することもできる。
【００２４】
図２は、本発明の実施形態によるロボット用ソフトウェアコンポーネントのデータ変数をモニタする過程を説明するフローチャートを示す。本発明のロボットソフトウェアコンポーネントのデータ変数モニタリング方法は、モニタリング変数設定プロセス（Ｓ２１０）とモニタリング実行プロセス（Ｓ２２０）とに大別される。
【００２５】
まず、モニタリング変数設定プロセス（Ｓ２１０）の各細部動作を詳細に説明する。
【００２６】
モニタリング対象のデータ変数定義段階（Ｓ２００）で、ロボット用ソフトウェアコンポーネントの開発時点で開発者は、図３に示すように、モニタしようとするデータ変数を定義したモニタリングプロファイル１００を作成する。
【００２７】
次いで、モニタリング変数登録テンプレートコード生成段階（Ｓ２０２）で、モニタリングテンプレートコード生成器１０２はモニタリングプロファイル１００でモニタリングの対象として指定されたデータ変数のそれぞれに対して生成されたモニタリングデータアクセス客体１２６をモニタリングデータ管理者１２４に登録させるコードが入っているコンポーネントソースコード１０４を生成する。このように生成されたコンポーネントソースコード１０４にソフトウェアコンポーネントが実行しなければならないアルゴリズムなどを追加してコンパイルすれば、ソフトウェアコンポーネントも生成され得ることが注目されている。
【００２８】
次いで、モニタリング変数の登録段階（Ｓ２０４）で、ソフトウェアコンポーネント１２０は、コンポーネントソースコード１０４の例題１０６で見られるように、モニタリング対象のデータ変数に対応するモニタリングデータアクセス客体１２６を生成し、生成されたモニタリングデータアクセス客体をモニタリングデータサービスインターフェース１２２を通じて登録する。
【００２９】
コンポーネントソースコードの例題１０６で、「Ｃｕｓｔｏｍｅｒ」の「ＵｓｅｒＣｏｕｎｔ」がユーザにより指定されたデータ変数とすれば、「ＭａｋｅＭｏｎｉｔｏｒＯｂｊｅｃｔ」は各データ変数に該当するモニタリングデータアクセス客体１２６を生成する関数である。生成されたモニタリングデータアクセス客体１２６は、モニタリングデータ管理者１２４により生成される登録インターフェースである「ＲｅｇｉｓｔｅｒＭｏｎｉｔｏｒ」を通じてソフトウェアコンポーネント１２０に登録される。
【００３０】
実質的に、前記のようなモニタリング変数設定プロセス（Ｓ２１０）は、ソフトウェアコンポーネント１２０が実行エンジン１３０で実行されるために積載された時点でソフトウェアコンポーネント１２０を初期化する過程で実行され得る。
【００３１】
次に、モニタリングプロセス（Ｓ２２０）の各細部段階の動作を説明する。
【００３２】
モニタリング変数の選択段階（Ｓ２０６）で、ユーザはモニタリングツール１４０で、例えば、ユーザインターフェースを通じてリストされるモニタリング変数１２８の中でモニタしようとする変数を選択する。
【００３３】
次いで、質疑生成及び要請段階（Ｓ２０８）で、モニタリングツール１４０は、ユーザにより選択されたモニタリング対象の変数に対してモニタリング質疑生成器１４２を通じて図４に示すような命令文形態の質疑メッセージ４０１を生成する。このように生成された質疑メッセージ４０１は、モニタリングツール１４０と連結された実行エンジン１３０のモニタリング質疑処理器１３２に伝達される。
【００３４】
次いで、モニタリング変数質疑処理段階（Ｓ２１０）で、モニタリング質疑処理器１３２は、モニタリングツール１４０から伝達された質疑メッセージ４０１を解析して質疑に該当するソフトウェアコンポーネント１２０を見つけ、見つけたソフトウェアコンポーネント１２０のモニタリングデータサービスインターフェース１２２を通じてモニタリングの対象の変数にアクセスする。
【００３５】
ここで、モニタリング質疑処理器１３２は、モニタリングツール１４０からの質疑メッセージ４０１で要求する命令文に従ってデータ変数を照会又は更新する。例えば、図４Ａの質疑メッセージ４０１において、「ｃｍｄ＝ｇｅｔ」という命令文はデータ変数を照会せよという意味の命令文であり、「ｃｍｄ＝ｓｅｔ」という命令文はデータ変数を更新せよという意味の命令文である。
【００３６】
質疑に対する応答は、再びモニタリング質疑処理器１３２に伝達され、モニタリング質疑処理器１３２は質疑を要請したモニタリングツール１４０に質疑に対する応答を伝達するために、図４Ｂに示すような応答メッセージ４０２を生成する。このように生成された応答メッセージ４０２は、再びモニタリングを要請したモニタリングツール１４０のモニタリング結果処理器１４４に伝送される。
【００３７】
次いで、処理結果表示段階（Ｓ２１２）で、モニタリングツール１４０内のモニタリング結果処理器１４４はモニタリング質疑処理器１３２から伝達された質疑結果メッセージ４０２を解析し、ユーザにより指定された表示形式通り、モニタリング結果表示器１４６を通じて画面上に表示するか、又は？ファイル形態で出力する。
【００３８】
なお、前述した本発明の説明では具体的な実施形態について説明したが、多様な変形が本発明の範囲から逸脱せず、実施され得る。従って、本発明の範疇は、説明された実施形態に制限されず、次の特許請求の範囲により定められなければならない。
【図１】
2012133751.tif 000003
【図２】
2012133751.tif 000004
【図３】
2012133751.tif 000005
【図４Ａ】
2012133751.tif 000006
【図４Ｂ】
2012133751.tif 000007