JP2010146551A - ロボットソフトウェアコンポーネントのためのメソッドポート装置及び構成方法 - Google Patents

ロボットソフトウェアコンポーネントのためのメソッドポート装置及び構成方法 Download PDF

Info

Publication number
JP2010146551A
JP2010146551A JP2009248059A JP2009248059A JP2010146551A JP 2010146551 A JP2010146551 A JP 2010146551A JP 2009248059 A JP2009248059 A JP 2009248059A JP 2009248059 A JP2009248059 A JP 2009248059A JP 2010146551 A JP2010146551 A JP 2010146551A
Authority
JP
Japan
Prior art keywords
module
port
requester
provider
component
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009248059A
Other languages
English (en)
Other versions
JP5081888B2 (ja
Inventor
Byoung Youl Song
ビョン ヨル ソン
Seung-Woog Jung
スン−ウン チョン
Cheol Su Jang
チョル ス ジャン
Sung Hoon Kim
ソン ホン キム
Hyun Kyu Cho
ヒュン キュ チェ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Electronics and Telecommunications Research Institute ETRI
Original Assignee
Electronics and Telecommunications Research Institute ETRI
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Electronics and Telecommunications Research Institute ETRI filed Critical Electronics and Telecommunications Research Institute ETRI
Publication of JP2010146551A publication Critical patent/JP2010146551A/ja
Application granted granted Critical
Publication of JP5081888B2 publication Critical patent/JP5081888B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/15Vehicle, aircraft or watercraft design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/18Network design, e.g. design based on topological or interconnect aspects of utility systems, piping, heating ventilation air conditioning [HVAC] or cabling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4494Execution paradigms, e.g. implementations of programming paradigms data driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】本発明はロボットで動作されるソフトウェアコンポーネント間のインターフェースを提供するメソッドポートに関し、更に具体的には、コンポーネントが提供しようとするメソッドポートと使用しようとするメソッドポートを構成する装置及び方法提供する。
【解決手段】従来は、開発者がコンポーネント上で提供されるメソッドを多様なスコープ、即ち、管理者の観点からのインターフェース、ユーザの観点からのインターフェース、監視者の観点からのインターフェースなどで接近しようとする際には同じ機能であってもそれぞれ別々に製作しなければならないという問題を有している。そのため、本発明は、コンポーネント上の特定機能を呼び出すためのメソッドをそれぞれのクラス実現が異なる状況でも呼び出しできるようにメソッドポートインターフェースと実際の実現とを分離させることで、開発の信頼性を高められるメソッドポートの実現方案を用意しようとする。
【選択図】図1

Description

本発明はロボットで動作されるソフトウェアコンポーネント間のインターフェースを提供するメソッドポートに関し、更に具体的には、コンポーネントが提供しようとするメソッドに対するインターフェースを提供する提供者メソッドポート装置とコンポーネントが使用しようとするメソッドに対するインターフェースを提供する要請者メソッドポート装置及びその構成方法に関する。
メソッドポート(method port)とは、コンポーネントの特定メソッドを1つのクラスを通じて接近できるようにするものであって、CORBA(Common Object Request Broker Architecture)のIDL(Interface Definition Language)に該当するといえる。
一般に、CORBAの場合、ソフトウェアコンポーネント間のインターフェース定義のためにIDLコンパイラを用いてスケルトンコード(Skeleton code)を生成し、該当コード上に直接メソッドを実現したり、別途に実現されたメソッドと連動するコードを作成するようにしている。この過程でユーザはインターフェース定義が変更されると、新たにIDLコンパイラからスケルトンコードを生成し、関連コードを修正しなければならないという煩わしさがある。
このような問題を解決するために、ポートをメッセージをやりとりする伝送端末と仮定し、インターフェースクラスと実際のデータ処理クラスとを分離できる方法が提案されている。この方法はCORBAを伝送メカニズムとして用い、データの伝送はMsgPortClassでモジュール間の連結はConnPortClassで構成し、それぞれのインターフェースはIDLで定義する方法を取る。この方法は、CORBAが有する弱点の1つであるインターフェース変更時にデータ処理部分を変更したり、データ処理部分の変更時にインターフェース処理部分を変更することを補完するために提案されたが、CORBAでない他のミドルウェアを用いる場合には適用し難いという短所がある。
もう1つの提案として、動的連結管理者を用いて運用中に動的にソフトウェアコンポーネント間の連結を設定する方法がある。この方法は、SCA(Software Communication Architecture)基盤システムに配置されて駆動されるコンポーネントのポート間通信方法に関するものであって、XMLを用いて動的連結管理者でポートとポート間のマッピングを行ってランタイム時のコンポーネントダウンや交換に対して対応できる方法を提供するものである。しかしながら、この方法はインターフェースと実際の実現が分離されておらず、インターフェースの変更時にコード上の変更を多く行わなければならないという問題を有している。
また、前記2つの方法はいずれも開発者がコンポーネント上で提供されるメソッドを多様なスコープのインターフェース、即ち、管理者の観点からのインターフェース、ユーザの観点からのインターフェース、監視者の観点からのインターフェースなどで接近しようとする際には同じ機能であってもそれぞれ別々に製作しなければならないという問題がある。
欧州特許出願公開第1901211号明細書
そこで、本発明は上記事情に鑑みてなされたものであって、その目的は、メソッドポートインターフェースと実際の実現とを分離させることで、開発の信頼性を高められるメソッドポートの実現方案を提供することにある。
また、本発明の他の目的は、コンポーネント上の1つのメソッド実現を複数のインターフェースに登録し、それぞれの目的に合うインターフェースを使用できるようにする多重インターフェース機能を提供することにある。
更に本発明の別の目的は、ユーザソース上での変化なしに同一ホスト上に存在するメソッドは直接呼び出しを、遠隔ホスト上に存在するメソッドに対してはメッセージ通信を通じて遠隔呼び出しを行えるようにすることにある。
前記目的を達成するための一観点によれば、要請者メソッドポートモジュール及び提供者メソッドポートモジュールを生成する過程と、生成しようとするメソッドモジュールのコンポーネント内における適用に応じて要請者メソッドモジュール及び提供者メソッドモジュールを生成する過程と、前記要請者メソッドモジュールを前記要請者メソッドポートモジュールに登録し、前記提供者メソッドモジュールを前記提供者メソッドポートモジュールに登録する過程と、前記要請者メソッドモジュール及び提供者メソッドモジュールの登録が完了した前記要請者メソッドポートモジュール及び提供者メソッドポートモジュールをメソッドポート管理モジュールに登録する過程と、前記要請者メソッドポートモジュールと提供者メソッドポートモジュールとを互いに連結して前記要請者メソッドモジュールが動作できるように設定する過程と、前記コンポーネント内における適用に応じてメソッドポートに対する入出力を実行させる段階とを含むロボットソフトウェアコンポーネントのためのメソッドポート構成方法が提供される。
本発明による他の観点によれば、コンポーネントが提供しようとする特定機能であるメソッドの集合である提供者メソッドポートモジュールと、前記コンポーネントが使用しようとする特定機能であるメソッドの集合である要請者メソッドポートモジュールと、前記提供者メソッドポートモジュールに登録されて前記コンポーネントで提供するそれぞれのメソッドと1:1で対応し、前記提供者メソッドポートモジュールを通じてそれぞれのメソッドを呼び出しできるようにする提供者メソッドモジュールと、前記要請者メソッドポートモジュールに登録されて前記要請者メソッドポートモジュールで提供するそれぞれのメソッドインターフェースと1:1で対応し、対応するメソッドインターフェースが同一ホストである場合は直接呼び出しを行い、対応するメソッドインターフェースが遠隔ホストである場合にはネットワークチャネル上にメッセージを伝送して遠隔メソッド呼び出しを行う要請者メソッドモジュールとを含むロボットソフトウェアコンポーネントのためのメソッドポート装置が提供される。
本発明によれば、コンポーネント上の特定機能を呼び出すためのメソッドをそれぞれのクラス実現が異なる状況でも呼び出しできるようにメソッドポートインターフェースと実際の実現とを分離させる。これにより、ミドルウェアの複雑なコードを開発者に公開しないことで、ミスにより敏感なコードが修正されないようにし、コンポーネント上の1つのメソッドの実現を複数のインターフェースに登録し、それぞれの目的に合うインターフェースを使用できるようにする多重インターフェース機能を提供してコンポーネントのユーザが目的に合うように多様なスコープとメソッドの構成を有するインターフェースを選択できるという効果を奏する。また、ユーザソースの変化なしに同一ホスト上に存在するメソッドは直接呼び出しを行い、遠隔ホスト上に存在するメソッドに対してはメッセージ通信を行えるようにして使用しようとするコンポーネントがどこにあろうが、最適にメソッド呼び出しを行える。
本発明の一観点によるメソッドポート装置の構成図である。 本発明の実施形態によって構成される各モジュール間の関係示す構成図である。 本発明の実施形態によってメソッドポート間の連結関係を示す図である。 本発明の他の観点によるメソッドポートの構成方法を説明するフローチャートである。
以下、添付する図面を参照して本発明の実施形態について詳細に説明する。
図1は、本発明の実施形態によるメソッドポート装置に対する構成図であって、共通メソッドポートモジュール100、提供者メソッドポートモジュール102、要請者メソッドポートモジュール104、共通メソッドモジュール106、提供者メソッドモジュール108、要請者メソッドモジュール110、遠隔メソッド代理者モジュール112、メソッドポート連結者モジュール114、メソッドポート管理モジュール116、提供者メソッド生成器118、要請者メソッド生成器120などを含む。
図1に示すように、共通メソッドポートモジュール100は、提供者メソッドポートと要請者メソッドポートが共通して持つ属性を有するモジュールであって、提供者メソッドポートと要請者メソッドポートを同じ形態で管理できる。共通メソッドポートモジュール100は、外部で共通したインターフェースでメソッドポートに接近しようとする時に用いられ、1つのレジストリを通じて管理できるようにする機能を行う。
提供者メソッドポートモジュール102は、コンポーネントが提供しようとする特定機能であるメソッドの集合であって、コンポーネント上に任意の数が存在でき、同じメソッドを多様な構成で組み合わせて使用できるようにすることで、開発者が実現クラスを大きく変化させることなく、多様なインターフェースを提供できるようにする機能を行う。
要請者メソッドポートモジュール104は、コンポーネント内部で他のコンポーネントから提供される特定機能を用いることを希望する時に用いるものであって、既存のコンポーネントが提供しているメソッドポートに関する情報がある場合、該当情報に基づいて要請者メソッドポートが構成されたり、関連情報がない場合にも使用しようとするユーザが任意に定めたメソッドの構成に応じて要請者メソッドポートが構成され得るようにする。
共通メソッドモジュール106は、提供者メソッドと要請者メソッドを同じ形態で接近して管理するためのモジュール、即ち、提供者メソッドと要請者メソッドが共通して持つ属性を有するモジュールであって、メソッドを同じインターフェースを介して接近したり、管理できるようにする機能を行う。特に、共通メソッドモジュール106は、メソッド実現部分とメソッド呼び出し部分とを完全に分離させることで、使用しようとするメソッドが実現された実際のクラスに関する情報がなくてもメソッド呼び出しを使用できるようにする機能を行う。
提供者メソッドモジュール108は、コンポーネントで提供するそれぞれのメソッドと1:1で対応し、メソッドポートを通じてそれぞれのメソッドを呼び出しできるようにする。また、ネットワークを介して該当メソッドに伝達されたエンコードされたメッセージを解析して入力パラメータを獲得し、これを実際のメソッドに伝達した後、その結果を再び元の遠隔呼び出し者に伝送する機能を行う。特に、1つの提供者メソッドモジュール108は、多数の提供者メソッドポートモジュール102に登録されて1つのメソッドモジュールで多様なインターフェースにおけるメソッド呼び出し機能を提供できる。
要請者メソッドモジュール110は、要請者メソッドポートで提供するそれぞれのメソッドインターフェースと1:1で対応し、対応するメソッド提供者が同一ホストである場合は直接呼び出しを、遠隔ホストである場合には、メッセージ通信を通じてメソッド呼び出しを行う。そのために、要請者メソッドモジュール110は、対応する提供者メソッドポートを設定するために内部にローカル提供者メソッドのための設定部分と遠隔提供者メソッドとの中継のための遠隔メソッド代理者モジュール112を含む。このようにする理由は、実行段階で要請者メソッドに対応する提供者メソッドが決定されるので、事前に同一ホスト上にある場合と、遠隔ホスト上にある場合に対する場合の両方を満たすためである。
遠隔メソッド代理者モジュール112は、要請者メソッドの生成と共に生成され、遠隔メソッド呼び出しのためのメッセージのエンコーディング及びデコーディングなどの機能を行う。
メソッドポート連結者モジュール114は、主に要請者メソッドポートに対応する他のコンポーネントの提供者メソッドポートが遠隔に存在する時に用いられるものであって、ポート間のメッセージフォーマットなどを構成して遠隔上のコンポーネント間の通信を行うようにする役割をする。
メソッドポート管理モジュール116は、コンポーネントの内部に設置されてコンポーネントが提供したり、使用する提供者メソッドポートと要請者メソッドポートを管理し、外部からの提供者メソッドポートに対する要請やポート間の連結のための検索要請などを処理する役割をする。
提供者メソッド生成器118は、特定クラスのインスタンスの特定メソッドから提供者メソッドモジュールを生成するための装置である。
要請者メソッド生成器120は、特定クラスの特定メソッドから要請者メソッドモジュールを生成するための装置であって、要請者メソッドモジュールの生成時に遠隔メソッドモジュールを共に生成する。
図2は、本発明の実施形態によるメソッドポート装置の各モジュール間の関係を示す構成図である。図2は、要請者メソッドポートモジュール104、提供者メソッドポートモジュール102、メソッドポート管理モジュール116、クラス定義モジュール240、クラスインスタンスモジュール250などを含む。
図2に示すように、要請者メソッドポートモジュール104は、要請者メソッドレジストリ212、要請者メソッドレジストリ212から特定メソッドモジュールを探すための要請者メソッドモジュール検索インターフェース214を含む。
提供者メソッドポートモジュール102は、提供者メソッドレジストリ222、提供者メソッドレジストリ222から特定メソッドモジュールを探すための提供者メソッドモジュール検索インターフェース224を含む。
メソッドポート管理モジュール116は、メソッドポート管理モジュール116内部の要請者メソッドポートに関する情報を管理するための要請者メソッドポートデータベース232、メソッドポート管理モジュール230内部の提供者メソッドポートに関する情報を管理するための提供者メソッドポートデータベース234、要請者メソッドポートを獲得するための要請者メソッドポート検索インターフェース236、提供者メソッドポートを獲得するための提供者メソッドポート検索インターフェース238を含む。
クラス定義モジュール240は、クラス定義上のメソッド242a、242b、クラス定義上のメソッド242a、242bにそれぞれ対応するメソッドモジュール244a、244bを含む。
クラスインスタンスモジュール250は、クラスインスタンスモジュール250で提供されるメソッド252、メソッド252に対応するメソッドモジュール254を含む。
図3は、メソッドポート装置のメソッドモジュール間の連結関係を示す構成図である。図3は、要請者メソッドモジュール110、要請者メソッドモジュール110に対応する提供者メソッドモジュール108、遠隔地モジュールを呼び出すためのメソッドポート連結者モジュール114、提供者モジュール110に対応する遠隔地提供者モジュール108'を含む。要請者メソッドモジュール110は、連結者メソッドモジュール110を提供者メソッドモジュール108と連結するための連結者モジュール302、遠隔地メソッドプロキシモジュール304を含む。また、メソッドポート連結者モジュール114と遠隔地提供者メソッドモジュール108'との間にはネットワーク通信のための通信チャネル314と遠隔地に位置するポート間のメッセージを処理するメッセージプロセッサ316が提供される。
以下、本発明の他の観点によるロボットソフトウェアのためのメソッドポート装置の構成方法について添付する図4のフローチャートを参照して詳細に説明する。
図4に示すように、段階S400では生成しようとする目的に合うように要請者メソッドポートモジュール104又は提供者メソッドポートモジュール102を生成する。
その後、段階S402では、生成しようとするメソッドモジュールがコンポーネントで使用しようとする要請者メソッドである場合、クラス定義モジュール240を用いて要請者メソッド生成器120を通じて必要とするそれぞれのメソッド242a、242bを呼び出しできるようにするメソッドモジュール244a、244bを生成する。このとき、生成されるメソッドモジュール244a、244bには該当メソッドの形態に関する情報のみ入り、実際に該当メソッドが実現されたモジュールに関する情報は入らない。
また、生成しようとするメソッドモジュールがコンポーネントで他のコンポーネントのために提供しようとする提供者メソッドである場合、クラスインスタンスモジュール250を用いて提供者メソッド生成器118を通じて提供しようとするメソッド252をコンポーネントの外部で呼び出しできるようにするメソッドモジュール254を生成する。このとき、生成されるメソッドモジュール254には該当メソッドの形態に関する情報のみならず、実際に該当メソッドが実現されたモジュールに関する情報が共に入る。
次に、段階S404のメソッドモジュール登録過程では、メソッドモジュール254の場合に提供者メソッドポートモジュール102の提供者メソッドレジストリ222に登録し、メソッドモジュール244a、244bの場合には要請者メソッドポートモジュール104の要請者メソッドレジストリ212に登録する。登録されたメソッドモジュール254、244a、244bは、メソッドポートモジュールが提供する要請者及び提供者メソッドモジュール検索インターフェース214、224を介して外部で獲得され得る。
その後、段階S406のメソッドポートモジュールの登録過程では、メソッドモジュールの登録が完了したそれぞれの要請者及び提供者メソッドポートモジュール102、104は、メソッドポート管理モジュール230内の要請者及び提供者メソッドポートデータベース232、234に登録される。このように登録されたメソッドポートは、メソッドポートモジュール管理モジュール230で提供される要請者及び提供者メソッドポート検索インターフェース236、238を介してコンポーネントの外部で獲得され得る。メソッドポート管理モジュール230は、通常コンポーネントの内部に1つずつ存在し、コンポーネントの外部でコンポーネントが提供する提供者メソッドポートモジュール102に接近しようとする場合又はコンポーネントが用いる要請者メソッドポートモジュール104と実際の該当機能を提供する他のコンポーネントのメソッドポートとの連結を行おうとする時に参照される。
次に、コンポーネントが他のコンポーネントが提供するメソッドを呼び出すためには事前に生成されている要請者メソッドポートモジュール104を使用しなければならないが、要請者メソッドポートと関連した他のコンポーネントの提供者メソッドポートと連結されなければ、該当機能を用いることができない。従って、メソッドポートモジュール間の連結過程S408では要請者メソッドポートモジュール104と対応する提供者メソッドポートモジュール102を連結する。この連結過程で連結自体はメソッドポート単位からなるが、実際には連結設定されるメソッドポートを構成するそれぞれのメソッドモジュール単位からなる。
図3を通じて詳細に説明すれば、要請者メソッドポートが同じホスト上の提供者メソッドポートと連結される場合、要請者メソッドポート上の要請者メソッドモジュール110は、提供者メソッドとの連結点302を通じて同じホスト上に存在するローカル提供者メソッドモジュール108と直接連結される。このとき、要請者メソッドモジュール110に対する呼び出しは他のコンポーネント上のローカル提供者メソッドモジュール108'を直接呼び出したのと同様に動作する。
要請者メソッドポートが他のホスト上の提供者メソッドポートと連結される場合、該当提供者メソッドポートに対する連結情報であるメソッドポート連結者モジュール114が要請者メソッドポート上の要請者メソッドモジュール110の内部に存在する遠隔メソッド代理者モジュールに設定されて今後の要請者メソッドモジュール110に対する呼び出しが遠隔要請メッセージに変換されてネットワーク通信チャネル314を介して他のホスト上のメッセージプロセッサ316に伝達されて該当提供者メソッドモジュール108'の機能を呼び出すようになる。
最後に、実行過程S410では、メソッドポートに対する一連の登録、設定及び連結が完了した後に、コンポーネントの使用に応じてメソッドポートに対する入出力などが行われる。
以上説明した通り、本実施形態によれば、コンポーネント上の特定機能を呼び出すためのメソッドをそれぞれのクラス実現が異なる状況でも呼び出しできるようにメソッドポートインターフェースと実際の実現とを分離させ、コンポーネント上の1つのメソッド実現を複数のインターフェースに登録し、それぞれの目的に合うインターフェースを使用できるようにする多重インターフェース機能を提供してコンポーネントのユーザが目的に合うように多様なスコープとメソッドの構成を有するインターフェースを選択できるようにし、ユーザソース上での変化なしに同一ホスト上に存在するメソッドは直接呼び出しを、遠隔ホスト上に存在するメソッドに対してはメッセージ通信を通じて遠隔呼び出しを行えるようにして、使用しようとするコンポーネントがどこにあろうが、最適にメソッド呼び出しを行えるように実現した。
前述したように実施形態は、本発明を限定するものではなく、例示するものであって、本分野における当業者であれば、添付する特許請求の範囲により定義された本発明の範囲から逸脱することなく、多くの他の実施形態を設計できることを留意しなければならない。特許請求の範囲においては、括弧中にあるいかなる参照記号も本発明を限定するように解釈されてはならない。「含む」などの表現は、全体的に全ての請求の範囲又は明細書に列挙されたものを除いた構成要素又は段階の存在を排除しない。構成要素の単数の参照部はそのような構成要素の複数の参照部を排除せず、その逆も同様である。本発明は、複数の別個の構成要素を含むハードウェア手段及び適切にプログラムされたコンピュータ手段により実施され得る。複数の手段を列挙する請求項において、これらの手段の幾つかはハードウェアの同じ項目により実現され得る。互いに異なる従属項に確実な手段が記述されたという単純な事実は、このような手段の組み合わせが使用され得ないということを意味しない。

Claims (11)

  1. 要請者メソッドポートモジュール及び提供者メソッドポートモジュールを生成する過程と、
    生成しようとするメソッドモジュールのコンポーネント内における適用に応じて要請者メソッドモジュール及び提供者メソッドモジュールを生成する過程と、
    前記要請者メソッドモジュールを前記要請者メソッドポートモジュールに登録し、前記提供者メソッドモジュールを前記提供者メソッドポートモジュールに登録する過程と、
    前記要請者メソッドモジュール及び提供者メソッドモジュールの登録が完了した前記要請者メソッドポートモジュール及び提供者メソッドポートモジュールをメソッドポート管理モジュールに登録する過程と、
    前記要請者メソッドポートモジュールと提供者メソッドポートモジュールとを互いに連結して前記要請者メソッドモジュールが動作できるように設定する過程と、
    前記コンポーネント内における適用に応じてメソッドポートに対する入出力を実行させる段階と
    を含むことを特徴とするロボットソフトウェアコンポーネントのためのメソッドポート構成方法。
  2. 前記要請者メソッドモジュール及び提供者メソッドモジュールを生成する過程は、
    生成しようとするメソッドモジュールが前記コンポーネントで使用しようとする要請者メソッドである場合、クラス定義を用いて前記要請者メソッドモジュールを生成する過程と、
    生成しようとするメソッドモジュールが前記コンポーネントで提供しようとする提供者メソッドである場合、クラスインスタンスを用いて前記提供者メソッドモジュールを生成する過程と
    を含むことを特徴とする請求項1に記載のロボットソフトウェアコンポーネントのためのメソッドポート構成方法。
  3. 前記要請者メソッドモジュールは、メソッドインターフェースと対応するローカル又は遠隔地提供者メソッドモジュールと事前に連結することを特徴とする請求項1に記載のロボットソフトウェアコンポーネントのためのメソッドポート構成方法。
  4. 前記提供者メソッドモジュールは、第2のコンポーネントの要請者メソッドモジュールにおける遠隔呼び出しのための要請メッセージをデコードし、応答メッセージをエンコードすることを特徴とする請求項1に記載のロボットソフトウェアコンポーネントのためのメソッドポート構成方法。
  5. 前記要請者メソッドモジュールは、ローカル提供者メソッドのための設定及び遠隔提供者メソッドモジュールとの通信のための遠隔メソッド代理者モジュールを含むことを特徴とする請求項1に記載のロボットソフトウェアコンポーネントのためのメソッドポート構成方法。
  6. 前記要請者メソッドポートモジュールが同じホスト上の提供者メソッドポートモジュールと連結される場合、前記要請者メソッドポートモジュールに登録されたそれぞれの要請者メソッドモジュールがローカル提供者メソッドモジュールのための連結点を通じて同じホスト上に存在する提供者メソッドモジュールと直接連結されることを特徴とする請求項1に記載のロボットソフトウェアコンポーネントのためのメソッドポート構成方法。
  7. 前記要請者メソッドモジュールは、第2のコンポーネント上の提供者メソッドモジュールの呼び出しと同じ動作で呼び出されることを特徴とする請求項6に記載のロボットソフトウェアコンポーネントのためのメソッドポート構成方法。
  8. 前記設定過程は、
    前記要請者メソッドポートモジュールが第2のホスト上の提供者メソッドポートモジュールと連結される場合、メソッドポート連結者モジュールが前記要請者メソッドポートモジュールに登録されたそれぞれの要請者メソッドモジュールの内部に存在する遠隔メソッド代理者モジュールに設定される過程と、
    前記要請者メソッドモジュールに対する呼び出しが遠隔要請メッセージに変換されて前記第2のホスト上のメッセージプロセッサに伝達される過程と、
    該当提供者メソッドモジュールの機能を呼び出す過程と
    を含むことを特徴とする請求項1に記載のロボットソフトウェアコンポーネントのためのメソッドポート構成方法。
  9. 前記遠隔メソッド代理者モジュールは、クラス定義を参照として遠隔呼び出しのための要請メッセージをエンコードし、遠隔地の提供者メソッドモジュールからの応答メッセージをデコードして元の呼び出し者に戻すことを特徴とする請求項8に記載のロボットソフトウェアコンポーネントのためのメソッドポート構成方法。
  10. コンポーネントが提供しようとする特定機能であるメソッドの集合である提供者メソッドポートモジュールと、
    前記コンポーネントが使用しようとする特定機能であるメソッドの集合である要請者メソッドポートモジュールと、
    前記提供者メソッドポートモジュールに登録されて前記コンポーネントで提供するそれぞれのメソッドと1:1で対応し、前記提供者メソッドポートモジュールを通じてそれぞれのメソッドを呼び出しできるようにする提供者メソッドモジュールと、
    前記要請者メソッドポートモジュールに登録されて前記要請者メソッドポートモジュールで提供するそれぞれのメソッドインターフェースと1:1で対応し、対応するメソッドインターフェースが同一ホストである場合は直接呼び出しを行い、対応するメソッドインターフェースが遠隔ホストである場合にはネットワークチャネル上にメッセージを伝送して遠隔メソッド呼び出しを行う要請者メソッドモジュールと
    を含むことを特徴とするロボットソフトウェアコンポーネントのためのメソッドポート装置。
  11. 前記メソッドポート装置は、
    遠隔メソッド呼び出しのためのメッセージエンコーディング及びデコーディング機能を行う遠隔メソッド代理者モジュールと、
    前記要請者メソッドポートモジュールに対応する第2のコンポーネントの提供者メソッドポートが遠隔ホストに存在する場合にポート間メッセージフォーマットを構成してコンポーネント間の通信を行うメソッドポート連結者モジュールと、
    コンポーネント外部からの提供者メソッドポートに対する要請又はポート間の連結のための検索要請を処理するメソッドポート管理モジュールと、
    特定クラスのインスタンスの特定メソッドから前記提供者メソッドモジュールを生成する提供者メソッド生成器と、
    特定クラスの特定メソッド定義から前記要請者メソッドモジュールを生成し、前記要請者メソッドモジュールの生成時に遠隔メソッドモジュールを共に生成する要請者メソッド生成器と
    を更に含むことを特徴とする請求項10に記載のロボットソフトウェアコンポーネントのためのメソッドポート装置。
JP2009248059A 2008-12-19 2009-10-28 ロボットソフトウェアコンポーネントのためのメソッドポート装置及び構成方法 Expired - Fee Related JP5081888B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2008-0130141 2008-12-19
KR1020080130141A KR101190597B1 (ko) 2008-12-19 2008-12-19 로봇 소프트웨어 컴포넌트를 위한 메소드 포트 장치 및 구성 방법

Publications (2)

Publication Number Publication Date
JP2010146551A true JP2010146551A (ja) 2010-07-01
JP5081888B2 JP5081888B2 (ja) 2012-11-28

Family

ID=42267729

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009248059A Expired - Fee Related JP5081888B2 (ja) 2008-12-19 2009-10-28 ロボットソフトウェアコンポーネントのためのメソッドポート装置及び構成方法

Country Status (3)

Country Link
US (1) US8464218B2 (ja)
JP (1) JP5081888B2 (ja)
KR (1) KR101190597B1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8984518B2 (en) * 2010-10-14 2015-03-17 Electronics And Telecommunications Research Institute Apparatus and method for executing components based on thread pool
US8924011B2 (en) * 2012-04-03 2014-12-30 Knu-Industry Cooperation Foundation Intelligent robot apparatus responsive to environmental change and method of controlling and reconfiguring intelligent robot apparatus
CN104483831B (zh) * 2014-11-28 2017-02-22 浙江大学 支持五连杆机器人协同设计的多领域设计变更处理方法
CN116431119B (zh) * 2023-06-12 2023-08-29 上海鉴智其迹科技有限公司 软件组件端口创建方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002149405A (ja) * 2000-11-07 2002-05-24 Fujitsu Ltd オブジェクト連携装置
JP2003202984A (ja) * 2001-10-26 2003-07-18 Hitachi Ltd プログラム制御方法およびその実施システム並びにその処理プログラム
JP2006216033A (ja) * 2005-02-04 2006-08-17 Microsoft Corp 通信チャネルモデル

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040100562A (ko) 2003-05-23 2004-12-02 삼성탈레스 주식회사 임베디드 분산 컴퓨팅 시스템에서 소프트웨어의 데이터전송 방법
US20050010925A1 (en) 2003-07-10 2005-01-13 Charbel Khawand Interprocessor communication protocol with smart streaming port
KR100607141B1 (ko) 2004-05-12 2006-08-01 한국생산기술연구원 개방형 분산처리구조의 로봇 제어 시스템
US20070031282A1 (en) * 2005-08-04 2007-02-08 Piero Zucchelli Devices and methods for interfacing microfluidic devices with fluid handling devices
US7831956B2 (en) * 2005-09-13 2010-11-09 Microsoft Corporation Using attributes to identify and filter pluggable functionality
KR100827088B1 (ko) 2006-09-07 2008-05-02 삼성전자주식회사 소프트웨어 로봇 장치
KR100881419B1 (ko) 2006-11-02 2009-02-05 한국전자통신연구원 Sca 기반 시스템의 애플리케이션 컴포넌트 통신 장치 및방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002149405A (ja) * 2000-11-07 2002-05-24 Fujitsu Ltd オブジェクト連携装置
JP2003202984A (ja) * 2001-10-26 2003-07-18 Hitachi Ltd プログラム制御方法およびその実施システム並びにその処理プログラム
JP2006216033A (ja) * 2005-02-04 2006-08-17 Microsoft Corp 通信チャネルモデル

Also Published As

Publication number Publication date
US8464218B2 (en) 2013-06-11
JP5081888B2 (ja) 2012-11-28
US20100161836A1 (en) 2010-06-24
KR101190597B1 (ko) 2012-10-15
KR20100071432A (ko) 2010-06-29

Similar Documents

Publication Publication Date Title
CN1050916C (zh) 在应用程序之间建立通信协议的方法和系统
US5983233A (en) Process for managing the naming of objects, process for mapping an object name to a CORBA object reference, program module, computer unit, and computer system
EP1986369A1 (en) End user control configuration system with dynamic user interface
US20110231592A1 (en) Mashup Infrastructure with Learning Mechanism
US20060064573A1 (en) Pipeline architecture for use with net-centric application program architectures
JP2001502086A (ja) 作像装置間において複数プロトコルにしたがい画像情報のネットワーク通信を行うシステム
US20040006618A1 (en) Network construction system
JPH09223116A (ja) 複数ミドルウェアに渡る分散オブジェクトの位置透過性
CN103092602B (zh) 软件开发套件
US20020059314A1 (en) System and method for automatically generating program
CN104935619A (zh) 基于中间件的网络服务方法
CN107621987A (zh) 一种基于消息的无人机通用地面站软件架构
JP5081888B2 (ja) ロボットソフトウェアコンポーネントのためのメソッドポート装置及び構成方法
CN111698205A (zh) 服务调用方法及相关设备
CN105871911A (zh) 一种服务调用引擎、方法及系统
TW200805161A (en) Intelligent platform management interface firmware architecture and method of building the same
JP2007503031A (ja) ウェブ・サービス許可及び展開の基盤
CN111770122A (zh) 服务通信代理scp注册方法、服务调用方法及网络设备
US11354491B1 (en) Systems and methods for improved data modeling and translation
CA2508081A1 (en) Accessing computational grids
US20140149963A1 (en) Method and apparatus for combining robot software components
TWI269227B (en) Method for forming a firmware framework of intelligent platform management interface
CN103684904A (zh) 基于ip三网融合网络监控系统
CN116668520A (zh) 一种基于网关的服务编排方法、系统、设备及存储介质
US7805733B2 (en) Software implementation of hardware platform interface

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120427

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120718

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120803

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120903

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150907

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees