(57)【要約】【課題】本発明はロボットで動作されるソフトウェアコンポーネント間のインターフェースを提供するメソッドポートに関し、更に具体的には、コンポーネントが提供しようとするメソッドポートと使用しようとするメソッドポートを構成する装置及び方法提供する。【解決手段】従来は、開発者がコンポーネント上で提供されるメソッドを多様なスコープ、即ち、管理者の観点からのインターフェース、ユーザの観点からのインターフェース、監視者の観点からのインターフェースなどで接近しようとする際には同じ機能であってもそれぞれ別々に製作しなければならないという問題を有している。そのため、本発明は、コンポーネント上の特定機能を呼び出すためのメソッドをそれぞれのクラス実現が異なる状況でも呼び出しできるようにメソッドポートインターフェースと実際の実現とを分離させることで、開発の信頼性を高められるメソッドポートの実現方案を用意しようとする。【選択図】図１
2010146551.tif 000002
【特許請求の範囲】
【請求項１】
要請者メソッドポートモジュール及び提供者メソッドポートモジュールを生成する過程と、
生成しようとするメソッドモジュールのコンポーネント内における適用に応じて要請者メソッドモジュール及び提供者メソッドモジュールを生成する過程と、
前記要請者メソッドモジュールを前記要請者メソッドポートモジュールに登録し、前記提供者メソッドモジュールを前記提供者メソッドポートモジュールに登録する過程と、
前記要請者メソッドモジュール及び提供者メソッドモジュールの登録が完了した前記要請者メソッドポートモジュール及び提供者メソッドポートモジュールをメソッドポート管理モジュールに登録する過程と、
前記要請者メソッドポートモジュールと提供者メソッドポートモジュールとを互いに連結して前記要請者メソッドモジュールが動作できるように設定する過程と、
前記コンポーネント内における適用に応じてメソッドポートに対する入出力を実行させる段階と
を含むことを特徴とするロボットソフトウェアコンポーネントのためのメソッドポート構成方法。
【請求項２】
前記要請者メソッドモジュール及び提供者メソッドモジュールを生成する過程は、
生成しようとするメソッドモジュールが前記コンポーネントで使用しようとする要請者メソッドである場合、クラス定義を用いて前記要請者メソッドモジュールを生成する過程と、
生成しようとするメソッドモジュールが前記コンポーネントで提供しようとする提供者メソッドである場合、クラスインスタンスを用いて前記提供者メソッドモジュールを生成する過程と
を含むことを特徴とする請求項１に記載のロボットソフトウェアコンポーネントのためのメソッドポート構成方法。
【請求項３】
前記要請者メソッドモジュールは、メソッドインターフェースと対応するローカル又は遠隔地提供者メソッドモジュールと事前に連結することを特徴とする請求項１に記載のロボットソフトウェアコンポーネントのためのメソッドポート構成方法。
【請求項４】
前記提供者メソッドモジュールは、第２のコンポーネントの要請者メソッドモジュールにおける遠隔呼び出しのための要請メッセージをデコードし、応答メッセージをエンコードすることを特徴とする請求項１に記載のロボットソフトウェアコンポーネントのためのメソッドポート構成方法。
【請求項５】
前記要請者メソッドモジュールは、ローカル提供者メソッドのための設定及び遠隔提供者メソッドモジュールとの通信のための遠隔メソッド代理者モジュールを含むことを特徴とする請求項１に記載のロボットソフトウェアコンポーネントのためのメソッドポート構成方法。
【請求項６】
前記要請者メソッドポートモジュールが同じホスト上の提供者メソッドポートモジュールと連結される場合、前記要請者メソッドポートモジュールに登録されたそれぞれの要請者メソッドモジュールがローカル提供者メソッドモジュールのための連結点を通じて同じホスト上に存在する提供者メソッドモジュールと直接連結されることを特徴とする請求項１に記載のロボットソフトウェアコンポーネントのためのメソッドポート構成方法。
【請求項７】
前記要請者メソッドモジュールは、第２のコンポーネント上の提供者メソッドモジュールの呼び出しと同じ動作で呼び出されることを特徴とする請求項６に記載のロボットソフトウェアコンポーネントのためのメソッドポート構成方法。
【請求項８】
前記設定過程は、
前記要請者メソッドポートモジュールが第２のホスト上の提供者メソッドポートモジュールと連結される場合、メソッドポート連結者モジュールが前記要請者メソッドポートモジュールに登録されたそれぞれの要請者メソッドモジュールの内部に存在する遠隔メソッド代理者モジュールに設定される過程と、
前記要請者メソッドモジュールに対する呼び出しが遠隔要請メッセージに変換されて前記第２のホスト上のメッセージプロセッサに伝達される過程と、
該当提供者メソッドモジュールの機能を呼び出す過程と
を含むことを特徴とする請求項１に記載のロボットソフトウェアコンポーネントのためのメソッドポート構成方法。
【請求項９】
前記遠隔メソッド代理者モジュールは、クラス定義を参照として遠隔呼び出しのための要請メッセージをエンコードし、遠隔地の提供者メソッドモジュールからの応答メッセージをデコードして元の呼び出し者に戻すことを特徴とする請求項８に記載のロボットソフトウェアコンポーネントのためのメソッドポート構成方法。
【請求項１０】
コンポーネントが提供しようとする特定機能であるメソッドの集合である提供者メソッドポートモジュールと、
前記コンポーネントが使用しようとする特定機能であるメソッドの集合である要請者メソッドポートモジュールと、
前記提供者メソッドポートモジュールに登録されて前記コンポーネントで提供するそれぞれのメソッドと１：１で対応し、前記提供者メソッドポートモジュールを通じてそれぞれのメソッドを呼び出しできるようにする提供者メソッドモジュールと、
前記要請者メソッドポートモジュールに登録されて前記要請者メソッドポートモジュールで提供するそれぞれのメソッドインターフェースと１：１で対応し、対応するメソッドインターフェースが同一ホストである場合は直接呼び出しを行い、対応するメソッドインターフェースが遠隔ホストである場合にはネットワークチャネル上にメッセージを伝送して遠隔メソッド呼び出しを行う要請者メソッドモジュールと
を含むことを特徴とするロボットソフトウェアコンポーネントのためのメソッドポート装置。
【請求項１１】
前記メソッドポート装置は、
遠隔メソッド呼び出しのためのメッセージエンコーディング及びデコーディング機能を行う遠隔メソッド代理者モジュールと、
前記要請者メソッドポートモジュールに対応する第２のコンポーネントの提供者メソッドポートが遠隔ホストに存在する場合にポート間メッセージフォーマットを構成してコンポーネント間の通信を行うメソッドポート連結者モジュールと、
コンポーネント外部からの提供者メソッドポートに対する要請又はポート間の連結のための検索要請を処理するメソッドポート管理モジュールと、
特定クラスのインスタンスの特定メソッドから前記提供者メソッドモジュールを生成する提供者メソッド生成器と、
特定クラスの特定メソッド定義から前記要請者メソッドモジュールを生成し、前記要請者メソッドモジュールの生成時に遠隔メソッドモジュールを共に生成する要請者メソッド生成器と
を更に含むことを特徴とする請求項１０に記載のロボットソフトウェアコンポーネントのためのメソッドポート装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はロボットで動作されるソフトウェアコンポーネント間のインターフェースを提供するメソッドポートに関し、更に具体的には、コンポーネントが提供しようとするメソッドに対するインターフェースを提供する提供者メソッドポート装置とコンポーネントが使用しようとするメソッドに対するインターフェースを提供する要請者メソッドポート装置及びその構成方法に関する。
【背景技術】
【０００２】
メソッドポート（ｍｅｔｈｏｄ ｐｏｒｔ）とは、コンポーネントの特定メソッドを１つのクラスを通じて接近できるようにするものであって、ＣＯＲＢＡ（Ｃｏｍｍｏｎ Ｏｂｊｅｃｔ Ｒｅｑｕｅｓｔ Ｂｒｏｋｅｒ Ａｒｃｈｉｔｅｃｔｕｒｅ）のＩＤＬ（Ｉｎｔｅｒｆａｃｅ Ｄｅｆｉｎｉｔｉｏｎ Ｌａｎｇｕａｇｅ）に該当するといえる。
【０００３】
一般に、ＣＯＲＢＡの場合、ソフトウェアコンポーネント間のインターフェース定義のためにＩＤＬコンパイラを用いてスケルトンコード（Ｓｋｅｌｅｔｏｎ ｃｏｄｅ）を生成し、該当コード上に直接メソッドを実現したり、別途に実現されたメソッドと連動するコードを作成するようにしている。この過程でユーザはインターフェース定義が変更されると、新たにＩＤＬコンパイラからスケルトンコードを生成し、関連コードを修正しなければならないという煩わしさがある。
【０００４】
このような問題を解決するために、ポートをメッセージをやりとりする伝送端末と仮定し、インターフェースクラスと実際のデータ処理クラスとを分離できる方法が提案されている。この方法はＣＯＲＢＡを伝送メカニズムとして用い、データの伝送はＭｓｇＰｏｒｔＣｌａｓｓでモジュール間の連結はＣｏｎｎＰｏｒｔＣｌａｓｓで構成し、それぞれのインターフェースはＩＤＬで定義する方法を取る。この方法は、ＣＯＲＢＡが有する弱点の１つであるインターフェース変更時にデータ処理部分を変更したり、データ処理部分の変更時にインターフェース処理部分を変更することを補完するために提案されたが、ＣＯＲＢＡでない他のミドルウェアを用いる場合には適用し難いという短所がある。
【０００５】
もう１つの提案として、動的連結管理者を用いて運用中に動的にソフトウェアコンポーネント間の連結を設定する方法がある。この方法は、ＳＣＡ（Ｓｏｆｔｗａｒｅ Ｃｏｍｍｕｎｉｃａｔｉｏｎ Ａｒｃｈｉｔｅｃｔｕｒｅ）基盤システムに配置されて駆動されるコンポーネントのポート間通信方法に関するものであって、ＸＭＬを用いて動的連結管理者でポートとポート間のマッピングを行ってランタイム時のコンポーネントダウンや交換に対して対応できる方法を提供するものである。しかしながら、この方法はインターフェースと実際の実現が分離されておらず、インターフェースの変更時にコード上の変更を多く行わなければならないという問題を有している。
【０００６】
また、前記２つの方法はいずれも開発者がコンポーネント上で提供されるメソッドを多様なスコープのインターフェース、即ち、管理者の観点からのインターフェース、ユーザの観点からのインターフェース、監視者の観点からのインターフェースなどで接近しようとする際には同じ機能であってもそれぞれ別々に製作しなければならないという問題がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】欧州特許出願公開第１９０１２１１号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００８】
そこで、本発明は上記事情に鑑みてなされたものであって、その目的は、メソッドポートインターフェースと実際の実現とを分離させることで、開発の信頼性を高められるメソッドポートの実現方案を提供することにある。
【０００９】
また、本発明の他の目的は、コンポーネント上の１つのメソッド実現を複数のインターフェースに登録し、それぞれの目的に合うインターフェースを使用できるようにする多重インターフェース機能を提供することにある。
【００１０】
更に本発明の別の目的は、ユーザソース上での変化なしに同一ホスト上に存在するメソッドは直接呼び出しを、遠隔ホスト上に存在するメソッドに対してはメッセージ通信を通じて遠隔呼び出しを行えるようにすることにある。
【課題を解決するための手段】
【００１１】
前記目的を達成するための一観点によれば、要請者メソッドポートモジュール及び提供者メソッドポートモジュールを生成する過程と、生成しようとするメソッドモジュールのコンポーネント内における適用に応じて要請者メソッドモジュール及び提供者メソッドモジュールを生成する過程と、前記要請者メソッドモジュールを前記要請者メソッドポートモジュールに登録し、前記提供者メソッドモジュールを前記提供者メソッドポートモジュールに登録する過程と、前記要請者メソッドモジュール及び提供者メソッドモジュールの登録が完了した前記要請者メソッドポートモジュール及び提供者メソッドポートモジュールをメソッドポート管理モジュールに登録する過程と、前記要請者メソッドポートモジュールと提供者メソッドポートモジュールとを互いに連結して前記要請者メソッドモジュールが動作できるように設定する過程と、前記コンポーネント内における適用に応じてメソッドポートに対する入出力を実行させる段階とを含むロボットソフトウェアコンポーネントのためのメソッドポート構成方法が提供される。
【００１２】
本発明による他の観点によれば、コンポーネントが提供しようとする特定機能であるメソッドの集合である提供者メソッドポートモジュールと、前記コンポーネントが使用しようとする特定機能であるメソッドの集合である要請者メソッドポートモジュールと、前記提供者メソッドポートモジュールに登録されて前記コンポーネントで提供するそれぞれのメソッドと１：１で対応し、前記提供者メソッドポートモジュールを通じてそれぞれのメソッドを呼び出しできるようにする提供者メソッドモジュールと、前記要請者メソッドポートモジュールに登録されて前記要請者メソッドポートモジュールで提供するそれぞれのメソッドインターフェースと１：１で対応し、対応するメソッドインターフェースが同一ホストである場合は直接呼び出しを行い、対応するメソッドインターフェースが遠隔ホストである場合にはネットワークチャネル上にメッセージを伝送して遠隔メソッド呼び出しを行う要請者メソッドモジュールとを含むロボットソフトウェアコンポーネントのためのメソッドポート装置が提供される。
【発明の効果】
【００１３】
本発明によれば、コンポーネント上の特定機能を呼び出すためのメソッドをそれぞれのクラス実現が異なる状況でも呼び出しできるようにメソッドポートインターフェースと実際の実現とを分離させる。これにより、ミドルウェアの複雑なコードを開発者に公開しないことで、ミスにより敏感なコードが修正されないようにし、コンポーネント上の１つのメソッドの実現を複数のインターフェースに登録し、それぞれの目的に合うインターフェースを使用できるようにする多重インターフェース機能を提供してコンポーネントのユーザが目的に合うように多様なスコープとメソッドの構成を有するインターフェースを選択できるという効果を奏する。また、ユーザソースの変化なしに同一ホスト上に存在するメソッドは直接呼び出しを行い、遠隔ホスト上に存在するメソッドに対してはメッセージ通信を行えるようにして使用しようとするコンポーネントがどこにあろうが、最適にメソッド呼び出しを行える。
【図面の簡単な説明】
【００１４】
【図１】本発明の一観点によるメソッドポート装置の構成図である。
【図２】本発明の実施形態によって構成される各モジュール間の関係示す構成図である。
【図３】本発明の実施形態によってメソッドポート間の連結関係を示す図である。
【図４】本発明の他の観点によるメソッドポートの構成方法を説明するフローチャートである。
【発明を実施するための形態】
【００１５】
以下、添付する図面を参照して本発明の実施形態について詳細に説明する。
【００１６】
図１は、本発明の実施形態によるメソッドポート装置に対する構成図であって、共通メソッドポートモジュール１００、提供者メソッドポートモジュール１０２、要請者メソッドポートモジュール１０４、共通メソッドモジュール１０６、提供者メソッドモジュール１０８、要請者メソッドモジュール１１０、遠隔メソッド代理者モジュール１１２、メソッドポート連結者モジュール１１４、メソッドポート管理モジュール１１６、提供者メソッド生成器１１８、要請者メソッド生成器１２０などを含む。
【００１７】
図１に示すように、共通メソッドポートモジュール１００は、提供者メソッドポートと要請者メソッドポートが共通して持つ属性を有するモジュールであって、提供者メソッドポートと要請者メソッドポートを同じ形態で管理できる。共通メソッドポートモジュール１００は、外部で共通したインターフェースでメソッドポートに接近しようとする時に用いられ、１つのレジストリを通じて管理できるようにする機能を行う。
【００１８】
提供者メソッドポートモジュール１０２は、コンポーネントが提供しようとする特定機能であるメソッドの集合であって、コンポーネント上に任意の数が存在でき、同じメソッドを多様な構成で組み合わせて使用できるようにすることで、開発者が実現クラスを大きく変化させることなく、多様なインターフェースを提供できるようにする機能を行う。
【００１９】
要請者メソッドポートモジュール１０４は、コンポーネント内部で他のコンポーネントから提供される特定機能を用いることを希望する時に用いるものであって、既存のコンポーネントが提供しているメソッドポートに関する情報がある場合、該当情報に基づいて要請者メソッドポートが構成されたり、関連情報がない場合にも使用しようとするユーザが任意に定めたメソッドの構成に応じて要請者メソッドポートが構成され得るようにする。
【００２０】
共通メソッドモジュール１０６は、提供者メソッドと要請者メソッドを同じ形態で接近して管理するためのモジュール、即ち、提供者メソッドと要請者メソッドが共通して持つ属性を有するモジュールであって、メソッドを同じインターフェースを介して接近したり、管理できるようにする機能を行う。特に、共通メソッドモジュール１０６は、メソッド実現部分とメソッド呼び出し部分とを完全に分離させることで、使用しようとするメソッドが実現された実際のクラスに関する情報がなくてもメソッド呼び出しを使用できるようにする機能を行う。
【００２１】
提供者メソッドモジュール１０８は、コンポーネントで提供するそれぞれのメソッドと１：１で対応し、メソッドポートを通じてそれぞれのメソッドを呼び出しできるようにする。また、ネットワークを介して該当メソッドに伝達されたエンコードされたメッセージを解析して入力パラメータを獲得し、これを実際のメソッドに伝達した後、その結果を再び元の遠隔呼び出し者に伝送する機能を行う。特に、１つの提供者メソッドモジュール１０８は、多数の提供者メソッドポートモジュール１０２に登録されて１つのメソッドモジュールで多様なインターフェースにおけるメソッド呼び出し機能を提供できる。
【００２２】
要請者メソッドモジュール１１０は、要請者メソッドポートで提供するそれぞれのメソッドインターフェースと１：１で対応し、対応するメソッド提供者が同一ホストである場合は直接呼び出しを、遠隔ホストである場合には、メッセージ通信を通じてメソッド呼び出しを行う。そのために、要請者メソッドモジュール１１０は、対応する提供者メソッドポートを設定するために内部にローカル提供者メソッドのための設定部分と遠隔提供者メソッドとの中継のための遠隔メソッド代理者モジュール１１２を含む。このようにする理由は、実行段階で要請者メソッドに対応する提供者メソッドが決定されるので、事前に同一ホスト上にある場合と、遠隔ホスト上にある場合に対する場合の両方を満たすためである。
【００２３】
遠隔メソッド代理者モジュール１１２は、要請者メソッドの生成と共に生成され、遠隔メソッド呼び出しのためのメッセージのエンコーディング及びデコーディングなどの機能を行う。
【００２４】
メソッドポート連結者モジュール１１４は、主に要請者メソッドポートに対応する他のコンポーネントの提供者メソッドポートが遠隔に存在する時に用いられるものであって、ポート間のメッセージフォーマットなどを構成して遠隔上のコンポーネント間の通信を行うようにする役割をする。
【００２５】
メソッドポート管理モジュール１１６は、コンポーネントの内部に設置されてコンポーネントが提供したり、使用する提供者メソッドポートと要請者メソッドポートを管理し、外部からの提供者メソッドポートに対する要請やポート間の連結のための検索要請などを処理する役割をする。
【００２６】
提供者メソッド生成器１１８は、特定クラスのインスタンスの特定メソッドから提供者メソッドモジュールを生成するための装置である。
【００２７】
要請者メソッド生成器１２０は、特定クラスの特定メソッドから要請者メソッドモジュールを生成するための装置であって、要請者メソッドモジュールの生成時に遠隔メソッドモジュールを共に生成する。
【００２８】
図２は、本発明の実施形態によるメソッドポート装置の各モジュール間の関係を示す構成図である。図２は、要請者メソッドポートモジュール１０４、提供者メソッドポートモジュール１０２、メソッドポート管理モジュール１１６、クラス定義モジュール２４０、クラスインスタンスモジュール２５０などを含む。
【００２９】
図２に示すように、要請者メソッドポートモジュール１０４は、要請者メソッドレジストリ２１２、要請者メソッドレジストリ２１２から特定メソッドモジュールを探すための要請者メソッドモジュール検索インターフェース２１４を含む。
【００３０】
提供者メソッドポートモジュール１０２は、提供者メソッドレジストリ２２２、提供者メソッドレジストリ２２２から特定メソッドモジュールを探すための提供者メソッドモジュール検索インターフェース２２４を含む。
【００３１】
メソッドポート管理モジュール１１６は、メソッドポート管理モジュール１１６内部の要請者メソッドポートに関する情報を管理するための要請者メソッドポートデータベース２３２、メソッドポート管理モジュール２３０内部の提供者メソッドポートに関する情報を管理するための提供者メソッドポートデータベース２３４、要請者メソッドポートを獲得するための要請者メソッドポート検索インターフェース２３６、提供者メソッドポートを獲得するための提供者メソッドポート検索インターフェース２３８を含む。
【００３２】
クラス定義モジュール２４０は、クラス定義上のメソッド２４２ａ、２４２ｂ、クラス定義上のメソッド２４２ａ、２４２ｂにそれぞれ対応するメソッドモジュール２４４ａ、２４４ｂを含む。
【００３３】
クラスインスタンスモジュール２５０は、クラスインスタンスモジュール２５０で提供されるメソッド２５２、メソッド２５２に対応するメソッドモジュール２５４を含む。
【００３４】
図３は、メソッドポート装置のメソッドモジュール間の連結関係を示す構成図である。図３は、要請者メソッドモジュール１１０、要請者メソッドモジュール１１０に対応する提供者メソッドモジュール１０８、遠隔地モジュールを呼び出すためのメソッドポート連結者モジュール１１４、提供者モジュール１１０に対応する遠隔地提供者モジュール１０８'を含む。要請者メソッドモジュール１１０は、連結者メソッドモジュール１１０を提供者メソッドモジュール１０８と連結するための連結者モジュール３０２、遠隔地メソッドプロキシモジュール３０４を含む。また、メソッドポート連結者モジュール１１４と遠隔地提供者メソッドモジュール１０８'との間にはネットワーク通信のための通信チャネル３１４と遠隔地に位置するポート間のメッセージを処理するメッセージプロセッサ３１６が提供される。
【００３５】
以下、本発明の他の観点によるロボットソフトウェアのためのメソッドポート装置の構成方法について添付する図４のフローチャートを参照して詳細に説明する。
【００３６】
図４に示すように、段階Ｓ４００では生成しようとする目的に合うように要請者メソッドポートモジュール１０４又は提供者メソッドポートモジュール１０２を生成する。
【００３７】
その後、段階Ｓ４０２では、生成しようとするメソッドモジュールがコンポーネントで使用しようとする要請者メソッドである場合、クラス定義モジュール２４０を用いて要請者メソッド生成器１２０を通じて必要とするそれぞれのメソッド２４２ａ、２４２ｂを呼び出しできるようにするメソッドモジュール２４４ａ、２４４ｂを生成する。このとき、生成されるメソッドモジュール２４４ａ、２４４ｂには該当メソッドの形態に関する情報のみ入り、実際に該当メソッドが実現されたモジュールに関する情報は入らない。
【００３８】
また、生成しようとするメソッドモジュールがコンポーネントで他のコンポーネントのために提供しようとする提供者メソッドである場合、クラスインスタンスモジュール２５０を用いて提供者メソッド生成器１１８を通じて提供しようとするメソッド２５２をコンポーネントの外部で呼び出しできるようにするメソッドモジュール２５４を生成する。このとき、生成されるメソッドモジュール２５４には該当メソッドの形態に関する情報のみならず、実際に該当メソッドが実現されたモジュールに関する情報が共に入る。
【００３９】
次に、段階Ｓ４０４のメソッドモジュール登録過程では、メソッドモジュール２５４の場合に提供者メソッドポートモジュール１０２の提供者メソッドレジストリ２２２に登録し、メソッドモジュール２４４ａ、２４４ｂの場合には要請者メソッドポートモジュール１０４の要請者メソッドレジストリ２１２に登録する。登録されたメソッドモジュール２５４、２４４a、２４４ｂは、メソッドポートモジュールが提供する要請者及び提供者メソッドモジュール検索インターフェース２１４、２２４を介して外部で獲得され得る。
【００４０】
その後、段階Ｓ４０６のメソッドポートモジュールの登録過程では、メソッドモジュールの登録が完了したそれぞれの要請者及び提供者メソッドポートモジュール１０２、１０４は、メソッドポート管理モジュール２３０内の要請者及び提供者メソッドポートデータベース２３２、２３４に登録される。このように登録されたメソッドポートは、メソッドポートモジュール管理モジュール２３０で提供される要請者及び提供者メソッドポート検索インターフェース２３６、２３８を介してコンポーネントの外部で獲得され得る。メソッドポート管理モジュール２３０は、通常コンポーネントの内部に１つずつ存在し、コンポーネントの外部でコンポーネントが提供する提供者メソッドポートモジュール１０２に接近しようとする場合又はコンポーネントが用いる要請者メソッドポートモジュール１０４と実際の該当機能を提供する他のコンポーネントのメソッドポートとの連結を行おうとする時に参照される。
【００４１】
次に、コンポーネントが他のコンポーネントが提供するメソッドを呼び出すためには事前に生成されている要請者メソッドポートモジュール１０４を使用しなければならないが、要請者メソッドポートと関連した他のコンポーネントの提供者メソッドポートと連結されなければ、該当機能を用いることができない。従って、メソッドポートモジュール間の連結過程Ｓ４０８では要請者メソッドポートモジュール１０４と対応する提供者メソッドポートモジュール１０２を連結する。この連結過程で連結自体はメソッドポート単位からなるが、実際には連結設定されるメソッドポートを構成するそれぞれのメソッドモジュール単位からなる。
【００４２】
図３を通じて詳細に説明すれば、要請者メソッドポートが同じホスト上の提供者メソッドポートと連結される場合、要請者メソッドポート上の要請者メソッドモジュール１１０は、提供者メソッドとの連結点３０２を通じて同じホスト上に存在するローカル提供者メソッドモジュール１０８と直接連結される。このとき、要請者メソッドモジュール１１０に対する呼び出しは他のコンポーネント上のローカル提供者メソッドモジュール１０８'を直接呼び出したのと同様に動作する。
【００４３】
要請者メソッドポートが他のホスト上の提供者メソッドポートと連結される場合、該当提供者メソッドポートに対する連結情報であるメソッドポート連結者モジュール１１４が要請者メソッドポート上の要請者メソッドモジュール１１０の内部に存在する遠隔メソッド代理者モジュールに設定されて今後の要請者メソッドモジュール１１０に対する呼び出しが遠隔要請メッセージに変換されてネットワーク通信チャネル３１４を介して他のホスト上のメッセージプロセッサ３１６に伝達されて該当提供者メソッドモジュール１０８'の機能を呼び出すようになる。
【００４４】
最後に、実行過程Ｓ４１０では、メソッドポートに対する一連の登録、設定及び連結が完了した後に、コンポーネントの使用に応じてメソッドポートに対する入出力などが行われる。
【００４５】
以上説明した通り、本実施形態によれば、コンポーネント上の特定機能を呼び出すためのメソッドをそれぞれのクラス実現が異なる状況でも呼び出しできるようにメソッドポートインターフェースと実際の実現とを分離させ、コンポーネント上の１つのメソッド実現を複数のインターフェースに登録し、それぞれの目的に合うインターフェースを使用できるようにする多重インターフェース機能を提供してコンポーネントのユーザが目的に合うように多様なスコープとメソッドの構成を有するインターフェースを選択できるようにし、ユーザソース上での変化なしに同一ホスト上に存在するメソッドは直接呼び出しを、遠隔ホスト上に存在するメソッドに対してはメッセージ通信を通じて遠隔呼び出しを行えるようにして、使用しようとするコンポーネントがどこにあろうが、最適にメソッド呼び出しを行えるように実現した。
【００４６】
前述したように実施形態は、本発明を限定するものではなく、例示するものであって、本分野における当業者であれば、添付する特許請求の範囲により定義された本発明の範囲から逸脱することなく、多くの他の実施形態を設計できることを留意しなければならない。特許請求の範囲においては、括弧中にあるいかなる参照記号も本発明を限定するように解釈されてはならない。「含む」などの表現は、全体的に全ての請求の範囲又は明細書に列挙されたものを除いた構成要素又は段階の存在を排除しない。構成要素の単数の参照部はそのような構成要素の複数の参照部を排除せず、その逆も同様である。本発明は、複数の別個の構成要素を含むハードウェア手段及び適切にプログラムされたコンピュータ手段により実施され得る。複数の手段を列挙する請求項において、これらの手段の幾つかはハードウェアの同じ項目により実現され得る。互いに異なる従属項に確実な手段が記述されたという単純な事実は、このような手段の組み合わせが使用され得ないということを意味しない。
【図１】
2010146551.tif 000003
【図２】
2010146551.tif 000004
【図３】
2010146551.tif 000005
【図４】
2010146551.tif 000006