説明

ソフトウェアコンポーネントのデータ変数をモニタする方法及び装置

【課題】ロボット用に製作されたソフトウェアコンポーネントの内部に存在するデータ変数をソフトウェアコンポーネントの外部でモニタし、更新できるようにする方法及び装置を提供する。
【解決手段】ロボット用ソフトウェアコンポーネントをモニタするにおいて、ソフトウェアコンポーネントのコンパイル時点でソフトウェアコンポーネントのモニタリングが可能なように、モニタリング対象のデータ変数を設定し、ソフトウェアコンポーネントの実行時間に該当データ変数にアクセスできるようにすることによって、ソフトウェアコンポーネントの内部に存在するデータ変数をソフトウェアコンポーネントの外部でモニタし、更新できる。また、ソフトウェアコンポーネントのデータ変数のモニタリングが一貫したインターフェースと通路を通じてなされるようにすることで、モニタリングツールのような汎用的なツールを通じて特定のソフトウェアコンポーネントが提供するデータ変数に対するモニタリングが容易になる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はソフトウェアコンポーネント(software component)のモニタリングに関し、特にロボット用に製作されたソフトウェアコンポーネントの内部に存在するデータ変数を外部でモニタし、更新できるようにするソフトウェアコンポーネントのデータ変数をモニタする方法及び装置に関する。
【背景技術】
【0002】
現在、ロボット用のソフトウェアコンポーネントを開発し、運用する段階でソフトウェアコンポーネントの内部データの状態又は情報をソフトウェアコンポーネントの外部で参照又は更新するためには、該当データと関連するメソッド(methods)などを作成して追加しなければならない。また、ソフトウェアコンポーネント内の特定データを参照及び更新するためには、該当ソフトウェアコンポーネントの開発者がデータの参照のために定義した別途のインターフェースを利用しなければならない。
【0003】
そのため、ツールを用いて特定のコンポーネントの内部データを参照する場合は、各開発者別に異なるように定義したデータ参照インターフェースによりアクセスが不可能であるという問題があった。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】韓国特許第10−1026789号公報(2011.03.28)
【発明の概要】
【発明が解決しようとする課題】
【0005】
そこで、本発明は上記事情に鑑みてなされたものであって、その目的は、ロボット用に製作されたソフトウェアコンポーネントの内部に存在するデータ変数をソフトウェアコンポーネントの外部でモニタし、更新できるようにする方法及び装置を提供することにある。
【課題を解決するための手段】
【0006】
前述した課題を達成するための本発明の一態様によるソフトウェアコンポーネントをモニタする方法は、モニタリングを行うソフトウェアコンポーネントでモニタリング対象を設定するモニタリング対象設定段階と、前記設定されたモニタリング対象に対して質疑を通じて前記モニタリング対象をモニタするモニタリング実行段階とを含む。
【0007】
前述した課題を達成するための本発明の他の態様によるソフトウェアコンポーネントをモニタする装置は、ソフトウェアコンポーネントのうち、モニタリング対象のソフトウェアコンポーネント内のモニタリング変数を指定して質疑を伝達し、前記質疑に対する応答を受信して前記モニタリング変数のモニタリング結果として表示するモニタリングツールと、前記モニタリング変数に対する質疑を処理し、前記質疑に対する応答を前記モニタリングツールに提供する実行エンジンと、前記モニタリング変数を登録し、前記質疑を受けた前記モニタリング変数の情報を提供するソフトウェアコンポーネントとを含む。
【発明の効果】
【0008】
前述したように、本発明によれば、ロボット用で製作されたソフトウェアコンポーネントをモニタするにおいて、ソフトウェアコンポーネントのコンパイル時点でモニタリングが可能なようにソフトウェアコンポーネントのデータ変数を設定し、ソフトウェアコンポーネントが実行されるとき、該当データ変数にアクセスできるようにすることによって、ソフトウェアコンポーネントの内部に存在するデータ変数をソフトウェアコンポーネントの外部でモニタし、更新できるという効果を奏する。また、ソフトウェアコンポーネントのデータ変数のモニタリングが一貫したインターフェースと通路を通じてなされるようにすることで、モニタリングツールのような汎用的なツールを通じて特定のソフトウェアコンポーネントのデータ変数を容易にモニタできる。
【図面の簡単な説明】
【0009】
【図1】本発明の実施形態によるロボット用ソフトウェアコンポーネントのデータ変数モニタリング装置のブロック図である。
【図2】本発明の実施形態によるデータ変数のモニタリングのためのフローチャートである。
【図3】本発明の実施形態によるソフトウェアコンポーネントのモニタリング対象の変数を定義したプロファイルを例示する図である。
【図4A】本発明の実施形態によるモニタリングと関連する質疑メッセージを例示する図である。
【図4B】本発明の実施形態によるモニタリングと関連する質疑結果メッセージを例示する図である。
【発明を実施するための形態】
【0010】
本発明の利点及び特徴、そしてそれらを達成する方法は、添付する図面と共に詳細に後述する実施形態を参照すれば、明確になる。しかし、本発明は以下の実施形態に限定されるものではなく、互いに異なる多様な形態で実現され得、但し、本実施形態は本発明の開示が完全なようにし、本発明の属する技術分野において通常の知識を有する者に発明の範疇を完全に理解させるために提供されるものであり、本発明は請求の範囲の範疇により定義されるだけである。明細書全体に亘って同一の参照符号は同一の構成要素を示す。
【0011】
本発明の実施形態を説明するにおいて公知となった機能又は構成についての具体的な説明が本発明の要旨を不要に曖昧にするおそれがあると判断される場合には、その詳細な説明を省略し、後述する用語は本発明の実施形態における機能を考慮して定義された用語であって、これはユーザ、運用者の意図又は慣例などによって変わり得る。従って、その定義は、本明細書全般の内容に基づいて下されなければならない。
【0012】
添付されたブロック図の各ブロックとフローチャートの各段階の組み合わせは、コンピュータ・プログラム・インストラクション(実行エンジン)により実行されることもでき、これらのコンピュータ・プログラム・インストラクションは汎用コンピュータ、特殊コンピュータ又はその他プログラム可能なデータプロセシング装置のプロセッサに搭載され得るので、コンピュータ又はその他プログラム可能なデータプロセシング装置のプロセッサを通じて行われるそのインストラクションがブロック図の各ブロック又はフローチャートの各段階で説明された機能を行う手段を生成する。これらのコンピュータ・プログラム・インストラクションは、特定方式で機能を具現するためにコンピュータ又はその他プログラム可能なデータプロセシング装置を指向できるコンピュータ利用可能又はコンピュータ読み取り可能なメモリに格納されることも可能であるので、そのコンピュータ利用可能又はコンピュータ読み取り可能なメモリに格納されたインストラクションは、ブロック図の各ブロック又はフローチャートの各段階で説明された機能を行うインストラクション手段を内包する製造品目を生産することも可能である。
【0013】
そして、コンピュータ・プログラム・インストラクションは、コンピュータ又はその他プログラム可能なデータプロセシング装置上に搭載されることも可能であるので、コンピュータ又はその他プログラム可能なデータプロセシング装置上で一連の動作段階が行われ、コンピュータで実行されるプロセスを生成してコンピュータ又はその他プログラム可能なデータプロセシング装置を行うインストラクションは、ブロック図の各ブロック及びフローチャートの各段階で説明される機能を実行するための段階を提供することも可能である。
【0014】
また、各ブロック又は各段階は、特定された論理的機能を実行するための1つ以上の実行可能なインストラクションを含むモジュール、セグメント又はコードの一部を示すことができ、複数の代替実施形態ではブロック又は段階で言及された機能が順序を逸脱して発生することも可能であることに注目しなければならない。例えば、相次いで示されている2つのブロック又は段階は実質的に同時に行われてもよく、またそのブロック又は段階が必要に応じて該当する機能の逆順で行われてもよい。
【0015】
以下、添付する図面を参照して本発明の好適な実施形態について詳細に説明する。
【0016】
図1は、本発明の実施形態によるロボット用ソフトウェアコンポーネントのデータ変数モニタリング装置のブロック図である。図1に示すデータ変数モニタリング装置は、モニタリングテンプレートコード生成器(template code generator)102、ソフトウェアコンポーネント120、実行エンジン130、モニタリングツール140を含む。
【0017】
まず、モニタリングの対象となるデータ変数を定義したモニタリングプロファイル(monitoring profile)100を準備する。モニタリングテンプレートコード生成器102は、モニタリングプロファイル100でモニタリングの対象として選択されたデータ変数のそれぞれに対してモニタリングデータアクセス客体(monitoring data access object)126を生成するコードと、このように生成されたモニタリングデータアクセス客体をモニタリングデータ管理者(monitoring data manager)124に登録させるコードが入っているコンポーネントソースコード(component source code)104を生成する。図面符号106はコンポーネントソースコード104の例題(example)を示す。
【0018】
ソフトウェアコンポーネント120は、モニタリング対象変数128を有しており、コンポーネントソースコードの例題106に示されるように、モニタリング対象のデータ変数に対応するモニタリングデータアクセス客体126を生成し、生成されたモニタリングデータアクセス客体126をモニタリングデータサービスインターフェース122を通じて登録する。モニタリングデータアクセス客体126は、モニタリングデータ管理者124がモニタリング対象の変数をモニタできるようにする。モニタリングデータ管理者124は、モニタリングテンプレートコード生成器102から生成されたモニタリングデータアクセス客体126を通じてモニタリング対象の変数を管理する。
【0019】
ソフトウェアコンポーネント120のモニタリングデータサービスインターフェース122は、ソフトウェアコンポーネント120の内部でモニタリングデータ管理者124からモニタリングと関連する質疑を処理する。
【0020】
実行エンジン130は、ソフトウェアコンポーネントの実行を管理し、モニタリング質疑処理器(monitoring query processor)132を含む。モニタリング質疑処理器132は、実行エンジン130に要請されたモニタリングと関連する質疑を解析し、多数のソフトウェアコンポーネントの中で質疑されたソフトウェアコンポーネント120を見つけてモニタリングデータサービスインターフェース122を通じて質疑を伝達する。その後、モニタリング質疑処理器132は、該当ソフトウェアコンポーネント120の質疑に対する応答をモニタリングツール140に返還する。
【0021】
モニタリングツール140は、ユーザがロボット用ソフトウェアコンポーネントのデータ変数をモニタできるようにするグラフィックユーザインターフェース(Graphic User Interface:GUI)を提供する。モニタリングツール140は、モニタリング質疑生成器(monitoring query generator)142と、モニタリング結果処理器144及びモニタリング結果表示器146を含む。
【0022】
モニタリング質疑生成器142は、モニタリング対象のデータ変数と関連する質疑メッセージを生成する。生成された質疑メッセージは実行エンジン130のモニタリング質疑処理器132に伝達される。
【0023】
モニタリング結果処理器144は、モニタリング質疑処理器132から伝達された質疑メッセージに対する応答を解析する。モニタリング結果表示器146は、解析された応答をユーザが確認できるように画面上に表示する。これとは異なり、応答はファイル形態で出力することもできる。
【0024】
図2は、本発明の実施形態によるロボット用ソフトウェアコンポーネントのデータ変数をモニタする過程を説明するフローチャートを示す。本発明のロボットソフトウェアコンポーネントのデータ変数モニタリング方法は、モニタリング変数設定プロセス(S210)とモニタリング実行プロセス(S220)とに大別される。
【0025】
まず、モニタリング変数設定プロセス(S210)の各細部動作を詳細に説明する。
【0026】
モニタリング対象のデータ変数定義段階(S200)で、ロボット用ソフトウェアコンポーネントの開発時点で開発者は、図3に示すように、モニタしようとするデータ変数を定義したモニタリングプロファイル100を作成する。
【0027】
次いで、モニタリング変数登録テンプレートコード生成段階(S202)で、モニタリングテンプレートコード生成器102はモニタリングプロファイル100でモニタリングの対象として指定されたデータ変数のそれぞれに対して生成されたモニタリングデータアクセス客体126をモニタリングデータ管理者124に登録させるコードが入っているコンポーネントソースコード104を生成する。このように生成されたコンポーネントソースコード104にソフトウェアコンポーネントが実行しなければならないアルゴリズムなどを追加してコンパイルすれば、ソフトウェアコンポーネントも生成され得ることが注目されている。
【0028】
次いで、モニタリング変数の登録段階(S204)で、ソフトウェアコンポーネント120は、コンポーネントソースコード104の例題106で見られるように、モニタリング対象のデータ変数に対応するモニタリングデータアクセス客体126を生成し、生成されたモニタリングデータアクセス客体をモニタリングデータサービスインターフェース122を通じて登録する。
【0029】
コンポーネントソースコードの例題106で、「Customer」の「UserCount」がユーザにより指定されたデータ変数とすれば、「MakeMonitorObject」は各データ変数に該当するモニタリングデータアクセス客体126を生成する関数である。生成されたモニタリングデータアクセス客体126は、モニタリングデータ管理者124により生成される登録インターフェースである「RegisterMonitor」を通じてソフトウェアコンポーネント120に登録される。
【0030】
実質的に、前記のようなモニタリング変数設定プロセス(S210)は、ソフトウェアコンポーネント120が実行エンジン130で実行されるために積載された時点でソフトウェアコンポーネント120を初期化する過程で実行され得る。
【0031】
次に、モニタリングプロセス(S220)の各細部段階の動作を説明する。
【0032】
モニタリング変数の選択段階(S206)で、ユーザはモニタリングツール140で、例えば、ユーザインターフェースを通じてリストされるモニタリング変数128の中でモニタしようとする変数を選択する。
【0033】
次いで、質疑生成及び要請段階(S208)で、モニタリングツール140は、ユーザにより選択されたモニタリング対象の変数に対してモニタリング質疑生成器142を通じて図4に示すような命令文形態の質疑メッセージ401を生成する。このように生成された質疑メッセージ401は、モニタリングツール140と連結された実行エンジン130のモニタリング質疑処理器132に伝達される。
【0034】
次いで、モニタリング変数質疑処理段階(S210)で、モニタリング質疑処理器132は、モニタリングツール140から伝達された質疑メッセージ401を解析して質疑に該当するソフトウェアコンポーネント120を見つけ、見つけたソフトウェアコンポーネント120のモニタリングデータサービスインターフェース122を通じてモニタリングの対象の変数にアクセスする。
【0035】
ここで、モニタリング質疑処理器132は、モニタリングツール140からの質疑メッセージ401で要求する命令文に従ってデータ変数を照会又は更新する。例えば、図4Aの質疑メッセージ401において、「cmd=get」という命令文はデータ変数を照会せよという意味の命令文であり、「cmd=set」という命令文はデータ変数を更新せよという意味の命令文である。
【0036】
質疑に対する応答は、再びモニタリング質疑処理器132に伝達され、モニタリング質疑処理器132は質疑を要請したモニタリングツール140に質疑に対する応答を伝達するために、図4Bに示すような応答メッセージ402を生成する。このように生成された応答メッセージ402は、再びモニタリングを要請したモニタリングツール140のモニタリング結果処理器144に伝送される。
【0037】
次いで、処理結果表示段階(S212)で、モニタリングツール140内のモニタリング結果処理器144はモニタリング質疑処理器132から伝達された質疑結果メッセージ402を解析し、ユーザにより指定された表示形式通り、モニタリング結果表示器146を通じて画面上に表示するか、又は?ファイル形態で出力する。
【0038】
なお、前述した本発明の説明では具体的な実施形態について説明したが、多様な変形が本発明の範囲から逸脱せず、実施され得る。従って、本発明の範疇は、説明された実施形態に制限されず、次の特許請求の範囲により定められなければならない。

【特許請求の範囲】
【請求項1】
ソフトウェアコンポーネントをモニタする方法において、
モニタリングを行うソフトウェアコンポーネントでモニタリング対象を設定するモニタリング対象設定段階と、
前記設定されたモニタリング対象に対して質疑を通じて前記モニタリング対象をモニタするモニタリング実行段階と
を含む方法。
【請求項2】
前記モニタリング対象設定段階は、
モニタリングプロファイルで前記モニタリング対象の変数を定義する段階と、
前記定義されたモニタリング対象の変数に対してモニタリングテンプレートコードを生成する段階と、
前記テンプレートコードを用いて前記モニタリング対象の変数を前記ソフトウェアコンポーネント内に登録する段階と
を含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記モニタリングテンプレートコードを生成する段階は、
前記モニタリング対象の変数をモニタできるようにするモニタリングアクセス客体を生成する段階と、
前記モニタリングアクセス客体を登録するコードを有するソフトウェアコンポーネントソースコードを生成する段階と
を含むことを特徴とする請求項2に記載の方法。
【請求項4】
前記モニタリング実行段階は、
前記モニタしようとするモニタリング変数を選択する段階と、
前記選択されたモニタリング変数に対してモニタリングと関連する質疑を生成する段階と、
前記モニタリング変数に対して生成された前記質疑を処理する段階と、
前記モニタリング変数に対して質疑に対する応答を受信して表示させる段階と
を含むことを特徴とする請求項1に記載の方法。
【請求項5】
前記質疑を処理する段階は、
前記質疑で要請された前記モニタリング変数を有するソフトウェアコンポーネントを検索する段階と、
前記検索されたソフトウェアコンポーネント内の前記モニタリング変数にアクセスする段階と、
前記モニタリング変数に対して前記質疑を行う段階と
を含むことを特徴とする請求項4に記載の方法。
【請求項6】
前記質疑は、前記モニタリング変数の照会及び/又は更新を要請するメッセージを含むことを特徴とする請求項1に記載の方法。
【請求項7】
ソフトウェアコンポーネントをモニタする装置において、
ソフトウェアコンポーネントのうち、モニタリング対象のソフトウェアコンポーネント内のモニタリング変数を指定して質疑を伝達し、前記質疑に対する応答を受信して前記モニタリング変数のモニタリング結果として表示するモニタリングツールと、
前記モニタリング変数に対する質疑を処理し、前記質疑に対する応答を前記モニタリングツールに提供する実行エンジンと、
前記モニタリング変数を登録し、前記質疑を受けた前記モニタリング変数の情報を提供するソフトウェアコンポーネントと
を含む装置。
【請求項8】
前記モニタリングツールは、
前記モニタリング変数に対して質疑を生成するモニタリング質疑生成器と、
前記実行エンジンから前記質疑に対する応答を受信し、これを解析するモニタリング結果処理器と、
前記モニタリング結果処理器から解析された応答を前記モニタリング変数のモニタリング結果として表示するモニタリング結果表示器と
を含むことを特徴とする請求項7に記載の装置。
【請求項9】
前記ソフトウェアコンポーネントは、
モニタリングデータアクセス客体を通じて前記モニタリング変数を管理するモニタリングデータ管理者と、
前記モニタリングデータ管理者の制御によって前記モニタリング変数を登録するモニタリングデータサービスインターフェースと
を含むことを特徴とする請求項7に記載のモニタリング装置。
【請求項10】
前記ソフトウェアコンポーネントに前記モニタリング変数を登録させるためのテンプレートコードを生成するモニタリングテンプレートコード生成器を更に含むことを特徴とする請求項7に記載のモニタリング装置。
【請求項11】
前記質疑は、前記モニタリング変数の照会及び/又は更新を要請するメッセージを含むことを特徴とする請求項7に記載の装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4A】
image rotate

【図4B】
image rotate


【公開番号】特開2012−133751(P2012−133751A)
【公開日】平成24年7月12日(2012.7.12)
【国際特許分類】
【出願番号】特願2011−190932(P2011−190932)
【出願日】平成23年9月1日(2011.9.1)
【出願人】(596180076)韓國電子通信研究院 (733)
【氏名又は名称原語表記】Electronics and Telecommunications Research Institute
【住所又は居所原語表記】161 Kajong−dong, Yusong−gu, Taejon korea
【Fターム(参考)】