JP2002149405A - オブジェクト連携装置 - Google Patents
オブジェクト連携装置Info
- Publication number
- JP2002149405A JP2002149405A JP2000339165A JP2000339165A JP2002149405A JP 2002149405 A JP2002149405 A JP 2002149405A JP 2000339165 A JP2000339165 A JP 2000339165A JP 2000339165 A JP2000339165 A JP 2000339165A JP 2002149405 A JP2002149405 A JP 2002149405A
- Authority
- JP
- Japan
- Prior art keywords
- cooperation
- path
- cooperative
- objects
- relationship
- 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
Links
Landscapes
- Multi Processors (AREA)
- Stored Programmes (AREA)
Abstract
を簡潔に表現し、目的に応じたオブジェクト間の連携関
係を検出し、オブジェクト連携を構築する。 【解決手段】 IDLやWSDLなどで定義された各オ
ブジェクトのインタフェースの記述を解析し、オブジェ
クト間の連携関係を変換ルールの集合101として表現
する。目的に応じてオブジェクト連携関係の始点となる
オブジェクトクラスと終点となるオブジェクトクラスを
指定する手段と、変換ルールに従ってオブジェクト間の
連携関係を調べ、始点と終点をつなぐオブジェクトクラ
ス間の連携パスを検出する処理102と、それらオブジ
ェクト間の連携実行環境を構築するオブジェクト連携構
築処理103と、始点となるオブジェクトクラスの値を
指定する手段と与えられた値を基に連携処理を実行する
オブジェクト群を含むオブジェクト連携処理104を備
える。
Description
しくはオブジェクト群の対話・協調などの連携処理を実
施するオブジェクト連携装置に関する。特に、利用者が
連携させる各オブジェクトのインタフェースの詳細を知
らない場合でもオブジェクト同士を自動連携させてシス
テムを構築するオブジェクト連携装置に関する。
ーク上に分散した複数のオブジェクトが互いに連携して
処理を行うシステムが増大してきている。このような複
数のオブジェクトが連携して処理を行うための技法とし
て、オブジェクト指向型プログラミングやコンポーネン
ト技術などの研究がなされている。
として、オブジェクト指向技術の標準化と普及を目指し
て設立された業界団体OMG(Object Management Grou
p)によって定められた分散オブジェクト運用のための
共通仕様CORBA(The Common Object Request Brok
er : Architecture and Specification)がある。
ント/サーバシステムにおけるオブジェクト連携の例を
示す。このシステムは、クライアントアプリケーション
とサーバ・アプリケーションとが連携して、つまりオブ
ジェクト連携により一連の処理を行うものである。
およびサーバそれぞれが提供するサービスのインターフ
ェースをIDL(Interface Definition Language)で
記述する。また、インターネットのワールドワイドウェ
ブでのサービスのインタフェースはWSDL(World wi
de web Service Definition Language)で記述する。イ
ンターフェースとして定義する内容は、オブジェクトに
依頼できるオペレーション群であり、各々のオペレーシ
ョンは、オペレーション名、パラメタの定義、戻り値の
定義、エラー発生時の例外処理、付加情報などが定義さ
れる。
パイラでコンパイルすることにより、クライアント用の
スタブとサーバ用のスケルトンが生成される。スタブ
は、クライアントアプリケーションにIDLなどで定義
されたオペレーション群へのアクセスを提供するルーチ
ン群である。クライアントアプリケーションは、スタブ
で提供されるルーチンを呼び出すことにより、オペレー
ションが起動される。スケルトンは、サーバ・アプリケ
ーションが提供するメソッドルーチンヘのディスパッチ
ングルーチンを提供する。
イアントアプリケーションあるいはサーバ・アプリケー
ションが使用するプログラミング言語で生成される。た
とえば、使用されるプログラミング言語がC言語であっ
たとすると、スタブはC言語の関数群として生成され、
クライアントアプリケーションは、実行したいオペレー
ションに対応する関数を呼び出すことにより、スタブ、
ORBランタイム、スケルトンを経由してサーバ・アプ
リケーションの該当ルーチンが呼び出され、所定の処理
が実行されたあと、その処理結果が呼び出し元のクライ
アントアプリケーションに返される。
Aなどによりオブジェクト連携処理を構築することは、
容易になってきている。しかし、実際にこのような連携
処理を構築しようとすると、前述のCORBAであれ
ば、CORBAそのものの理解とともに、CORBAの
仕様に応じたオブジェクトの設計およびIDLやWSD
Lによる定義が必要となる。つまりシステムを構築する
者は、IDLやWSDLで記述されたオブジェクトイン
タフェースの詳細およびその利用方法を熟知する必要が
ある。また、それぞれのオブジェクトの関係を強く意識
する必要がある。つまり、それぞれのオブジェクトがど
ういう処理を行うのか、その処理を行うために必要とな
る受渡しのパラメタは何かなどを明確にしておかなけれ
ばならない。例えば、サーバオブジェクトを利用する場
合、そのオブジェクトに対応するIDL記述のインタフ
ェースなどからスタブを作成し、そのスタブに対する操
作をプログラムすることで利用可能となる。しかし、I
DL記述はインタフェースの羅列であり、その記述でオ
ブジェクトの利用法を理解するには相当の経験を要する
こととなる。
る点も問題点として挙げられる。複数のサーバオブジェ
クトを目的に合わせ連携させるとき、連携用のクライア
ントオブジェクトが必要となり、開発者は、該当するサ
ーバオブジェクトのIDLインタフェースやWSDLイ
ンタフェースを理解し、連携用のクライアントオブジェ
クトを作成する必要がある。作成されたオブジェクトは
IDLやWSDLを組み込むために固定的なものとな
り、動的に変化させることはできない。従って連携させ
るサーバオブジェクトが異なるたびに連携用のクライア
ントオブジェクトが必要となる。このように連携用のク
ライアントオブジェクトはサーバオブジェクトの組み合
わせの数だけ必要となる。IDLやWSDLを直接組み
込むことなく動的にサーバオブジェクトを起動するダイ
ナミックインボケーションなどのテクニックがあるが、
メソッドのパラメタの意味をあらかじめ熟知してプログ
ラムする必要があることから、すべてのサーバオブジェ
クトについてインプリメントすることは現実的ではな
い。
る分散処理方法は、あくまでもオブジェクトとオブジェ
クトの関係は固定であることを前提しており、このよう
な自由な関係を持った分散処理を実現するオブジェクト
連携システムの構築は困難であり、CORBAやあるい
はDCOMに代表されるオブジェクトアクセスを提供す
るための枠組みや分散オブジェクトのインターフェイス
に関する枠組みは、オブジェクト間の連携をいかに動的
に構築していくかという問題に十分に答えるものではな
い。
記問題点に鑑み、各オブジェクトのインタフェースの記
述を解析してオブジェクトの連携関係を簡潔に表現し、
利用者の目的に応じた処理を実行できるオブジェクト間
の連携関係を自動的に検出し、それらオブジェクト群の
連携処理を柔軟に構築するオブジェクト連携装置を提供
することを目的とする。
め、本発明のオブジェクト連携装置は、ネットワーク上
のオブジェクトのインタフェース情報を入力して解析
し、オブジェクト間の連携関係を変換ルールの集合とし
て記述するルール記述部と、オブジェクト連携関係の始
点となるオブジェクトクラスと終点となるオブジェクト
クラスを指定するオブジェクトクラス指定部と、前記変
換ルールに従ってオブジェクト間の連携関係を調べ、前
記始点となるオブジェクトクラスと前記終点となるオブ
ジェクトクラスをつなぐオブジェクトクラス間の連携パ
スを検出するオブジェクト連携パス検出部と、前記検出
された連携パスに応じてオブジェクト間の連携関係の実
行環境を構築するオブジェクト連携構築部と、前記始点
となるオブジェクトクラスの値を指定する値指定部と、
前記与えられた始点となるオブジェクトクラスの値を基
に連携処理を実行するオブジェクト群とを備えたことを
特徴とする。
は、各オブジェクトのインタフェースの記述を解析して
オブジェクトの連携関係をルールの集合として簡潔に表
現でき、当該ルールによりオブジェクト間の連携関係を
調べることにより、利用者の利用目的に応じ、始点とな
るオブジェクトから終点となるオブジェクトまでのオブ
ジェクト間の連携パスを自動的に検出でき、また、それ
らオブジェクト群の連携処理を柔軟に構築することがで
きる。
前記オブジェクト群の連携においてオブジェクト間に構
造化メッセージと当該構造化メッセージに対する反応で
あるアクションとの関係づけによる連携関係を構築する
ものであり、連携元のオブジェクトに送信すべき構造化
メッセージパターンを通知して実装させ、連携先のオブ
ジェクトに受信により反応すべき前記構造化メッセージ
パターンおよび当該構造化メッセージパターンに対する
アクションとを通知して実装させることが好ましく、ま
た、前記オブジェクト群の各オブジェクトが、ネットワ
ーク上に送信される構造化メッセージをモニタして取り
込むメッセージ受信部と、構造化メッセージと構造化メ
ッセージに対する反応であるアクションのセットを記憶
する反応テーブルと、前記アクションの内容に従って処
理を実行するアクション実行部を備え、前記メッセージ
・アクションの反応関係に従って駆動することが好まし
い。
見されたオブジェクト間の連携パスに沿い、フィールド
リアクターモデルを用いて各々のオブジェクト連携関係
を構築することができ、オブジェクト連携の自動的かつ
柔軟な構築が可能となる。ここでフィールドリアクター
モデルとは、フィールド上に存在するオブジェクト同士
が、構造表現された構造化メッセージと当該構造化メッ
セージに対する反応アクションとの関係づけに沿って連
携し合う仕組みを言う。
が、連携パスが複数検出された場合に一つの連携パスを
利用者に選択させる連携パス選択部を備えることが好ま
しい。
ある場合、一意に連携パスが定まらない場合もあり得る
からである。かかる場合に連携パスを一意に定める。
が、検出した一つながりの連携パスを構成する個々のサ
ブ連携パスに分離し、各々のサブ連携パスを区別して連
携パスの実行時コンテキストを生成し、前記連携パスを
オブジェクトクラス間の連携パスから連携実行時に渡さ
れる値を変数としたオブジェクト連携実行用パターンの
連携パスに変換するオブジェクト連携実行用パターン生
成部を備えることが好ましい。
パターンの連携パスを準備しておけば、オブジェクト連
携実行時には当該変数に対する値を与えるのみでオブジ
ェクトインスタンスレベルでのオブジェクト連携を簡単
に実行できる。
ブジェクト間に連携関係を構築する場合、前記連携パス
において、複数のオブジェクト連携元とオブジェクト連
携関係を持つオブジェクト連携先がある場合、前記オブ
ジェクト連携先は前記複数のオブジェクト連携元の各々
から個別に構造化メッセージを受信し、前記反応テーブ
ルのアクションが発火するために必要なすべての引数が
揃ったことを契機としてアクションを発火させる構造化
メッセージパターン・反応アクションの関係づけを持つ
ことが好ましい。
元の処理を、いわゆるAND演算の形で受け、所定複数
のオブジェクト元との連携成立を契機としてオブジェク
ト連携先が反応するように連携関係を制御することがで
きる。なお、このように複数のオブジェクト連携元との
連携成立を契機としてオブジェクト連携先が反応する関
係を「ジョイン(Join)関係」と呼ぶ。また、前記
ジョイン関係とは異なるバリエーションとして、複数の
オブジェクト連携元の処理を、いわゆるOR演算の形で
受け、一又は所定組み合わせのオブジェクト元との連携
成立を契機としてオブジェクト連携先が反応するように
連携関係を制御することもできる。
が連携パス検出の学習機能を備え、前記オブジェクトク
ラス指定部から与えられた始点となるオブジェクトクラ
スと終点となるオブジェクトクラスをつなぐオブジェク
トクラス間の連携パスの検出結果を知識として蓄積し、
連携パス検出処理に用いることが好ましい。
ブジェクト連携パスを学習でき、学習知識の蓄積ととも
に処理効率向上を図ることができる。
ェクトのインタフェース情報がIDLまたはWSDLの
いずれかで記述された情報とすれば、CORBAなど普
及しつつあるオブジェクト連携システムに対して本発明
を適用することが容易となる。
る処理プログラムを記録した記録媒体を提供することに
より、パーソナルコンピュータなどに記録媒体からオブ
ジェクト連携装置を構成する処理プログラムを読み取ら
せて、安価かつ手軽に本発明のオブジェクト連携装置を
実現することができる。
クト連携システムは、各オブジェクトのインタフェース
情報を解析してオブジェクトの連携関係を簡潔に表現
し、利用者の目的に応じた処理を実行できるオブジェク
ト間の連携関係を自動的に検出し、それらオブジェクト
群の連携処理を柔軟に構築するオブジェクト連携装置を
提供するものである。本発明のオブジェクト連携装置が
実行するオブジェクトの自動連携とは、利用者の利用目
的に応じ、連携を開始するオブジェクトクラスの集合を
出発点とし、ユーザが欲するオブジェクトクラスを終点
とし、出発点から終点に至るまでのオブジェクトの連携
を構成することである。ここでは連携を開始するオブジ
ェクトクラスを始点オブジェクトクラスと呼び、最終的
に目的のオブジェクトクラスを終点オブジェクトクラス
と呼ぶことにする。なお以下では、便宜上、オブジェク
トのインタフェース情報がIDLで与えられている場合
を例として説明する。
第一の仕組みとして、IDLやWSDLなどの言語で定
義された各オブジェクトのインタフェースの記述を解析
し、オブジェクト間の連携関係の表現形式をそれら言語
表現形式からオブジェクト間の連携関係を変換ルールの
集合として記述した表現形式に変換する手段を備えてい
る。
置は、第二の仕組みとして、利用者の目的に応じてオブ
ジェクト連携関係の始点となるオブジェクトクラスと終
点となるオブジェクトクラスを指定する手段と、変換ル
ールに従ってオブジェクト間の連携関係を調べ、始点と
なるオブジェクトクラスと終点となるオブジェクトクラ
スをつなぐオブジェクトクラス間の連携パスを検出する
手段を備えている。
は、第三の仕組みとして、上記の第二の仕組みにおいて
検出されたオブジェクト同士の連携パスをもとに、それ
らオブジェクト間の連携関係の実行環境を自動構築する
仕組みを備えている。
置は、第四の仕組みとして、実際のオブジェクト連携実
行手段として、始点となるオブジェクトクラスの値を指
定する手段と、与えられた始点となるオブジェクトクラ
スの値を基に連携処理を実行するオブジェクト群とを備
えている。
示す。まず、本発明のオブジェクト連携処理において、
上記第一の仕組みとしてオブジェクト間の連携関係を示
す変換ルール集合101を利用する。IDLはインタフ
ェースの記述と同時にオブジェクトクラスおよびデータ
型等についても定義している。そこでメソッドの入出力
オブジェクトのクラスの関係に着目すると、メソッドは
入力オブジェクトのクラス名から出力オブジェクトのク
ラス名への変換ルールと捉えることが可能である。この
場合プリミティブなInt,Stringなどのデータ型は、シ
ステム定義のクラス名となる。また、継承関係も変換ル
ールとして表現する。このようにIDLによって定義さ
れたインタフェースを変換ルールとして、ユーザから与
えられるIDL定義インタフェースの集合を変換ルール
集合101として蓄積する。簡単な例を図2に示す。図
2(a)はIDL記述によるインタフェース情報の例、
図2(b)は図2(a)のインタフェース情報から生成
した変換ルールの例である。変換ルールの集合から各オ
ブジェクトと変換ルールとの関係を模式的に図示した例
が図3である。図3(a)の6つの変換ルールから図3
(b)のオブジェクトおよび変換ルールの関係が得られ
る。
いて、上記第二の仕組みとして連携パスの検出処理10
2を行う。オブジェクト連携順序は、変換ルールの適用
順序として捉えることができる。ここでは変換ルールの
適用順序を連携パスと呼ぶ。まず、ユーザは、始点オブ
ジェクトクラスと終点オブジェクトクラスを連携パスの
検出処理102に与え、連携パスの検出処理102はユ
ーザから与えられた始点オブジェクトクラスから変換ル
ールを適用し、終点オブジェクトクラスへ到達するまで
の変換ルールの適用順序を計算する。得られた変換ルー
ルの適用順序をメソッドヘ逆変換することで、オブジェ
クトのメソッド呼び出しの関係を得ることができ、オブ
ジェクトの連携を構築することができる。
方法がある。第一には、指定された始点となるオブジェ
クトクラスから出発してオブジェクトの連携関係を順方
向に拡大してゆき、終点となるオブジェクトクラスへ到
達するパスを発見する方法がある。第二には、指定され
た終点となるオブジェクトクラスから出発してオブジェ
クトの連携関係を逆方向に拡大してゆき、始点となるオ
ブジェクトクラスへ到達するパスを発見する方法があ
る。第三には指定された始点となるオブジェクトクラス
および終点となるオブジェクトクラスの双方から出発し
て、始点となるオブジェクトクラスからはオブジェクト
の連携関係を順方向に拡大してゆき、終点となるオブジ
ェクトクラスからはオブジェクトの連携関係を逆方向に
拡大してゆき、両者を結ぶパスを発見する方法がある。
あり得る。変換ルールは、インタフェース定義から生成
されることから、この場合インタフェース定義に曖昧性
が存在していることになる。複数の連携パスを発見した
場合、開発者に曖昧性がある部分と複数個の連携パスを
提示する。開発者は、提示された複数の連携から1つを
選択するか、あるいは、指摘されたインタフェースの曖
昧性がなくなるようIDL記述のインタフェースを修正
する必要がある。インタフェース定義に曖昧性がなく、
連携を考慮されている場合は、連携を自動的に構成す
る。
図である。図3(b)に示したオブジェクトおよび変換
ルールの関係に対して、始点オブジェクトクラスをT7
とT5とし、終点オブジェクトクラスをT1として連携
パスを検索した例である。この例では連携パス1および
連携パス2の2つの連携パスが検出されている。例え
ば、利用者は連携パス1を選択したものとする。
上記第三の仕組みとして、得られた連携パスをもとに実
際のオブジェクト連携の構築処理103を行う。連携パ
スの変換ルールをメソッドに変換していくことで、オブ
ジェクトのメソッド呼び出しの関係が構築される。
関係への変換にあたり、検出されたつながりの連携パス
を構成する個々のサブ連携パスに分離し、各々のサブ連
携パスに固有のID情報を割り振るなどして区別して連
携パスの実行時コンテキストを生成し、前記連携パスを
オブジェクトクラス間の連携パスから連携実行時に渡さ
れる値を変数としたオブジェクト連携実行用パターンの
連携パスに変換する必要がある。サブ連携パスに分離す
る理由は以下である。フィールドリアクターモデルに従
って実際のオブジェクト連携の実行時にはメッセージパ
ターン・アクションの反応関係により行われ、複数のサ
ブ連携パスに同じオブジェクトを含む場合がある。リア
クターが備える反応テーブルがサブ連携パスを区別しな
い形のメッセージパターン・アクションの反応関係を持
つ場合には、当該オブジェクトの処理がどのサブ連携パ
スにおける実行であるのか明確ではなくなり、サブ連携
パス間での混乱が生じる。このようにサブ連携パス間で
の混乱が生じると全体の連携パスに沿ったオブジェクト
間連携は正常に実行できなくなってしまう。そこで全体
の連携パスをサブ連携パスに分離してサブ連携パスを区
別し、連携パスの実行時コンテキストを加味した連携パ
ターンを決定する。
行時コンテキストは、(((C1:i)..(Cn:j))f(C0:
k))のように表現される。なお、このコンテキストを生
成するまでにC1はi回,Cnはj回,C0はk回出現し
たとする。以上の実行フロー処理の結果、IDを付加さ
れた連携パスをもとに実行用パターンが生成される。
オブジェクトインスタンスを特定する必要がある。オブ
ジェクトインスタンスに固有のIDを割り付け、インス
タンスIDとして取り扱う。オブジェクトインスタンス
は、システムの実行時にはじめて決定するため、インス
タンスIDの値を予めパターンに埋め込むことはできな
い。そこでインスタンスIDは、パターン中の変数に代
入して取り扱う。また、生成規則を適用するためには、
必要な項が全てが揃う必要がある。そのため、入力用パ
ターンにjoinを用いて項が全て揃うことを待つ。例
えば、実行時コンテキストが生成された生成規則
(((C1:i)・・・(Cn:j))f(C0:k))は入力用パター
ンP=(join((C1:$inst1)・・・(Cn:j$in
stn)))である。出力用パターンQ=(C0:k$ins
tl)となり、以下のように表現される。なお、Rは、関
数fを持つシステムが提供するリアクターである。
生成する。
ィールドリアクターモデルのパターン連携で行うことに
よりオブジェクトの関係をメッセージパターンの関係に
変換する。ここで、フィールドリアクターモデルとは、
構造表現された構造化メッセージパターンと当該構造化
メッセージパターンに対する反応アクションとの関係づ
けの連鎖によりオブジェクト間の連携処理を実現するモ
デルである。実際のオブジェクト連携は、フィールドを
介して構造化メッセージパターンとその反応アクション
の関係づけによるオブジェクト間の連携として行われ
る。
出力用パターンQを1組とした計算実行体(PfQ)を複
数持つ。計算実行体(PfQ)は、応用の開発者によって
予め定義される。各計算実行体は、互いに異なる入力用
パターンPを持つ。複数のリアクターは、それぞれ並列
に自律的に動作し、1つのリアクターは、メッセージを
受信した順序で処理する。リアクターは、自身の持つす
べての計算実行体に対し、(1)パターンマッチ、
(2)ユーザ関数呼び出し、(3)メッセージ生成を行
う。パターンマッチでは、パターンPを用いて、メッセ
ージMから置換θを取り出す。Pと共に定義されたユー
ザ関数fを取り出された置換θと共に呼び出し、関数出
力として置換θ'を得る。関数出力より得た置換θ'をメ
ッセージ生成用パターンQの変数に代入することによ
り、メッセージM'を生成する。これらの処理を以下に
表現する。パターンPがマッチしない場合、(2)
(3)の処理は実行しない。
ーンPとメッセージMを引数とし、置換θおよび対応す
るユーザ関数fを出力する。ユーザ関数fは、置換を引
数とし、置換を返す関数である。メッセージの生成は、
出力用パターンQの変数部に対し、置換θ'を代入する
ことにより行う。
ィールドリアクターモデルによれば、各リアクター20
0は、関数および手続き206などの計算実行体である
アクション実行部205を内部に持つ抽象的計算主体で
あり、また、当該計算実行体とは独立したメッセージに
対する入出力用パターンを反応テーブル204という形
で持ち、計算実行体と連携を分離している。フィールド
207は通信媒体であり、メッセージ送信部202を介
して送信メッセージをフィールド207上の他のリアク
ターへ分配する。リアクター200は、入力用の構造化
メッセージパターンを用いてメッセージ受信部201を
介してフィールド207からメッセージを取捨選択し、
反応テーブル204に応じてアクション実行部205を
起動し、出力用パターンを用いて生成したメッセージを
フィールド207へ送出する。リアクター200間の連
携は、入出力用パターンの関係によって決定する。その
ため、リアクター200内に存在する計算実行体の連携
も、計算実行体とは独立にメッセージパターンによって
決定される。アプリケーションは、複数のリアクターと
フィールド207によって構成される。連携動作は次の
通りである。あるリアクターがメッセージをフィールド
207へ送出する。各リアクターは、フィールド207
からのそのメッセージを受け、自身が持つ複数の入力用
パターンとパターンマッチを行い、メッセージを取捨選
択する。選択されたメッセージは、入力用パターンに対
応するアクション実行部205により処理され、その結
果と出力用パターンを用いてメッセージを生成し、その
メッセージをフィールド207へ送出される。フィール
ドリアクターモデルでは、このような動作を繰り返す。
るリアクターの基本構造である。
して実行フローとなるオブジェクト連携の構築にあたっ
ては、連携パスを解析し、実行時コンテキストを生成
し、実行時コンテキストを加味したパターンを作成す
る。
ト連携を構築する。
ターンの関係に変換した様子を模式的に示した図であ
る。なお、各メッセージパターンには固有に区別するI
D番号が割り振られている。例えば、3つあるメッセー
ジパターンT5にはそれぞれ、T5:0、T5:1、T
5:2というID番号が与えられている。
ではフィールドリアクターモデルを用いてメッセージパ
ターン連携を通して実際のオブジェクト連携を行う。も
っとも、オブジェクト連携はフィールドリアクターモデ
ルによる連携に限定されることはない。
上記第四の仕組みとして、構築した実際のオブジェクト
連携処理104を実行するため、オブジェクトクラスの
値を決めて連携の始点となるオブジェクトに与え、オブ
ジェクトインスタンスレベルでのオブジェクト連携処理
104を実行し、結果を得る。
目的に応じたオブジェクト連携処理を構築して実行す
る。
置は、IDLやWSDLなどの言語で定義された各オブ
ジェクトのインタフェースの記述を解析してオブジェク
ト間の連携関係を変換ルールの集合として記述でき、当
該変換ルールに従ってオブジェクト間の連携関係を調
べ、始点となるオブジェクトクラスと終点となるオブジ
ェクトクラスをつなぐオブジェクトクラス間の連携パス
を検出し、それらオブジェクト間の連携関係の実行環境
を自動構築することにより、与えられた値を基に連携処
理を実行することができる。
置の具体的構成の一例と実際のアプリケーションの実例
を挙げつつ説明する。
置の概略構成を述べる。図7は、実施形態2にかかる本
発明のオブジェクト連携装置の概略を示した図である。
図7において、10はオブジェクトインタフェース情報
入力部、20は変換ルール生成部、30は変換ルールデ
ータベース、40は利用者インタフェース、50は連携
パス検出部、60はオブジェクト連携関係構築部、70
はオブジェクト連携実行部、100はオブジェクト群で
ある。
0は、IDLやWSDLなどインタフェースを定義する
言語で記述された各オブジェクトのインタフェース情報
を入力する部分である。入力にあたって利用者自身がI
DLやWSDLなどのインタフェース記述の詳細につい
て熟知する必要はなく、ネットワーク上に存在する利用
可能なオブジェクトに関するインタフェース情報を入力
すれば良い。もちろん利用者からオブジェクトインタフ
ェース情報に関しての詳細なデータの入力を受け付ける
ことも可能である。
ンタフェース情報入力部10から入力されたIDLやW
SDLなどの言語で定義された各オブジェクトのインタ
フェース情報を解析し、オブジェクト間の連携関係の表
現形式を言語による表現形式から変換ルールの集合とし
た表現形式に変換する部分である。
ル生成部20において生成された変換ルールの集合を蓄
積するデータベースである。
タフェースであり、利用者は利用者インタフェース40
を介してオブジェクト連携システムに対して必要なデー
タを入力する。利用者が構築したい処理内容に関するデ
ータを入力する。この例では、オブジェクトクラス指定
部41と連携パス選択部42と値指定部43を備えてい
る。オブジェクトクラス指定部41は利用者が利用目的
に応じてオブジェクト連携関係の始点となるオブジェク
トクラスと終点となるオブジェクトクラスを指定する部
分である。連携パス選択部42は後述するように連携パ
ス検出部50において複数の連携パスの候補が得られた
場合に、一つの連携パスを選択し、または一つの連携パ
スが選択できるようにオブジェクトインタフェース情報
を追加する部分である。値指定部43は後述するよう
に、連携パスに沿ってオブジェクト連携構築部60が構
築したオブジェクト連携において実際にオブジェクト連
携を実行するにあたり、始点となるオブジェクトクラス
の値を指定・入力する部分である。
ース40から指定された始点となるオブジェクトクラス
と終点となるオブジェクトクラスをつなぐ連携パスを検
出する部分である。
に曖昧性が存在する場合、オブジェクト連携ルールにも
曖昧性が存在することとなり、連携パスが一意に定まら
ず複数の連携パスが検出される場合が想定できる。この
場合、利用者に曖昧性が存在する部分と検出された複数
の連携パスを利用者に提示し、連携パス選択部42を介
して利用者にそれら複数の連携パスから1つの連携パス
を選択させるか、あるいは、指摘されたインタフェース
記述の曖昧性がなくなるように利用者インタフェース4
0を介してIDLやWSDLの記述自体を修正させる。
後者の場合はIDLやWSDLなどの記述についての知
識が必要となるが、前者の場合であればIDLやWSD
Lの記述についての詳細な知識は必要とならない。
検出部50は、オブジェクト連携実行用パターン生成部
51を備えている。オブジェクト連携実行用パターン生
成部51は、オブジェクト連携パス検出部50において
検出した一つながりの連携パスを構成する個々のサブ連
携パスに分離し、各々のサブ連携パスに固有のID情報
を割り振るなどして区別して連携パスの実行時コンテキ
ストを生成し、前記連携パスをオブジェクトクラス間の
連携パスから連携実行時に渡される値を変数としたオブ
ジェクト連携実行用パターンの連携パスに変換する部分
である。
オブジェクトインスタンスを特定する必要があるが、オ
ブジェクトインスタンスはシステム実行時に初めて決定
されるため、オブジェクトインスタンスの値を予め規定
することはできない。そこで連携実行時に渡される値を
変数としたオブジェクト連携実行用パターンを生成して
おけば良い。オブジェクト連携パス検出部50は、オブ
ジェクト連携実行用パターン生成部51を用いて、連携
パスをオブジェクトクラス間の連携パスから連携実行時
に渡される値を変数としたオブジェクト連携実行用パタ
ーンの連携パスに変換する。
パス検出部50により検出された連携パスをもとに実際
の実行フローとなるオブジェクト連携を構築する部分で
ある。連携パスを形成するオブジェクト間を結ぶ変換ル
ールをメソッドに変換していくことで、オブジェクトの
メソッド呼び出しの関係が構築されてオブジェクト間連
携が構築される。本実施形態1のオブジェクト連携装置
では、このメソッドの呼び出し関係をフィールドリアク
ターモデルを用いて構築することとし、構造化されたメ
ッセージパターンと当該メッセージにより呼び出される
メソッドの関係として記述する。オブジェクト連携関係
構築部60は、連携元のオブジェクトに送信すべき構造
化メッセージパターンを通知して実装させ、連携先のオ
ブジェクトに受信により反応すべき前記構造化メッセー
ジパターンおよび当該構造化メッセージパターンに対す
るアクションとを通知して実装させる。このように実際
のオブジェクト間の連携は、フィールド上を流れるメッ
セージパターンとその反応となるアクションという関係
でオブジェクト間の連携関係が構築されて行き、始点オ
ブジェクトから終点オブジェクトに至るオブジェクト間
連携が構築される。
ブジェクト連携の実行が行われるモジュールであり、値
指定部43を介して始点となるオブジェクトクラスの値
がオブジェクト連携実行用パターンの変数部分に与えら
れ、オブジェクト群100において実際のオブジェクト
連携が実行される。
に存在するオブジェクト群であり、連携関係が構築され
る。本実施形態1ではオブジェクト連携関係はフィール
ドリアクターモデルにより構築されている。各オブジェ
クトは図5に示したフィールドリアクターモデルを実現
する構成を含んでおり、ネットワーク上に送信される構
造化メッセージをモニタして取り込むメッセージ受信部
201と、構造化メッセージと構造化メッセージに対す
る反応であるアクションのセットを記憶する反応テーブ
ル204と、各種関数やアプリケーション206を含
み、アクションの内容に従って処理を実行するアクショ
ン実行部205と、アクションの一環として生成された
メッセージをフィールド上に送るメッセージ送信部20
2と、制御部203を備え、メッセージ・アクションの
反応関係に従って駆動する。
ケーション例を挙げつつ、詳しく述べる。以下の例で
は、具体例としてIDLで定義されているオブジェクト
を利用した銀行の口座振り込み処理、WSDLで定義さ
れているオブジェクトを利用した旅行予約処理というを
例を挙げつつ説明する。また、オブジェクト連携関係の
構築はフィールドリアクターモデルで構築する例を説明
する。
けて説明する。第一の処理工程は、入力されたIDLや
WSDLで記述された各オブジェクトのインタフェース
情報を基にオブジェクト間の連携関係を簡潔に示すルー
ルの集合を作成する処理工程である。第二の処理工程
は、利用者から入力されたオブジェクト連携の始点とな
るオブジェクトクラスから終点となるオブジェクトクラ
スへ至るオブジェクト連携パスを検出する処理工程であ
る。第三の処理工程は、検出したオブジェクト連携パス
から実行フローを生成し、フィールドリアクターモデル
の構造化メッセージ・反応アクション連携関係に基づい
たオブジェクト連携関係を構築する処理工程である。第
四の処理工程は、実際のオブジェクト連携実行処理であ
り、始点となるオブジェクトクラスの値を指定し、与え
られた始点となるオブジェクトクラスの値を基に連携処
理を実行する工程である。
携関係を簡潔に示すルールの集合を作成する処理工程の
具体例を説明する。
ス記述入力部10を介して各オブジェクトのIDLで定
義されたインタフェース記述情報を入力し、変換ルール
生成部20がこれら情報からIDLによって定義された
オブジェクトクラスを変換ルールとして簡潔に表現す
る。オブジェクトクラスはメソッドおよびメンバー変数
から構成される。ここで、オブジェクトクラスを記号と
捉え、クラスの持つメソッドを引数のクラスから帰り値
であるクラスへの連携ルールとみなす。例えば、クラス
Cの持つメソッドfは、はオブジェクトのリスト
(C1,・・・,Cn)を引数とし、オブジェクトC0を
返すとき、連携ルールを(C1・・・CnC)CfC 0)と
表現する。また、メンバー変数は仮想的なメソッドを適
応し、得られた結果とする。例えば、クラスCの型Tの
メンバー変数wがあるとき、型Tを返す仮想メソッドC
wとし、連携ルールとして表現する。また、int,f
loatなどはCORBAが定義する基本型であり、こ
れらの型を返す関数fφは、型nilから基本型を返す
関数と捉え、同様に連携ルールとして表現する。このよ
うにIDLで定義されるすべてのインタフェースを連携
ルールとして表現し、変換ルールの集合を作成する。生
成された変換ルールは変換ルールデータベース30に格
納される。図8は、銀行口座振り込み処理を実行するア
プリケーション例において、オブジェクトインタフェー
ス記述入力部10を介して入力される各オブジェクトの
IDLで定義されたインタフェース記述情報の例であ
る。図8に示したIDL記述によるインタフェース情報
から変換ルール生成部20が抽出した変換ルールは図9
のようになる。図10は、変換ルール生成部20が図9
の変換ルールの集合から生成したクラス間の関係を模式
的に示した図である。
ス情報に関しては以下のように考える。インターネット
のウェブサービスを、入出力ポートを持つネットワーク
ノードと考え、入力タイプと出力タイプを定義する。こ
のように入出力タイプを定義することにより、ウェブサ
ービスを、入力タイプのデータを出力タイプのデータに
変換するルールと捉えることができる。図11はWSD
Lで記述されたインタフェース情報の例を示す図であ
り、4つのウェブサービスのものが示されている。それ
ぞれのタイプ定義も示されている。図12は、変換ルー
ル生成部20が変換ルールの集合から生成したタイプ間
の関係を模式的に示した図である。
連携パスを検出する処理工程の具体例を説明する。この
処理工程では、利用者の利用目的に応じた処理を実現す
るオブジェクト間の連携パスを発見する。まず、利用者
インタフェース40のオブジェクト指定部41を介して
利用者の利用目的に応じ、オブジェクト連携の始点とな
るオブジェクトクラスの集合{CS1,・・・,CSn}
と終点オブジェクトのクラスCgを指定する。連携パス
検出部50は、始点のオブジェクトクラスの集合および
終点オブジェクトクラスの指定を受け、変換ルールデー
タベース30のオブジェクト連携ルールを適用して始点
のオブジェクトクラスの集合から終点オブジェクトクラ
スまで到達する変換ルールの適用順序を見つけ出す。適
用順序の発見方法は、上述したように、指定された始点
となるオブジェクトクラスから出発してオブジェクトの
連携関係を順方向に拡大して終点となるオブジェクトク
ラスへ到達するパスを発見する方法や、指定された終点
となるオブジェクトクラスから出発してオブジェクトの
連携関係を逆方向に拡大して始点となるオブジェクトク
ラスへ到達するパスを発見する方法やその折衷方法など
がある。
索処理を関数という形で記述する場合のアルゴリズムの
一例を図13に示す。関数FindPathは、始点オ
ブジェクトクラスのリストLS={CS1,・・・,CS
n}と終点オブジェクトのクラスCgを引数とし、連携
パス集合を返す。もし連携パスが存在しないとき、ni
lを返す。なお、ルールの集合S={(P1f1Q1),
・・・,(PnfnQn)}、Pk=(p1・・・pn)であ
る。ループによる無限展開の発生を抑えるため、ヒスト
リリストHを用意する。ヒストリリストHは既に検索し
た型の集合である。初期値はH:={}である。また、
関数SearchRulesは、引数として型Cgおよ
びルール集合Sをとる。この関数は、ルール集合Sから
Cgを出力用パターンとする要素を取り出し、集合S=
{(PkfkQk)∈S|Qk=Cg}を返す。
るアプリケーション例において、発見した変換ルールの
適用順序を模式的に示す図である。図14の例では始点
となるオブジェクトクラスはAccountManag
er,AccountID,paymentの3つであ
り終点となるオブジェクトクラスはpayResであ
る。この例では一意に連携パスが定まったが、複数発見
された場合、連携パス検出部50は利用者インタフェー
ス40を介して複数の連携パスの候補があることを知ら
せ、連携パス指定部42を介して利用者に連携パスを選
択させる。
ケーション例において、発見した変換ルールの適用順序
を模式的に示す図である。図15の例では始点となるタ
イプは、出発・到着場所(location),出発・
帰省日(Date),出発時間(Time)の3つであ
り終点となるタイプは出張前処理(Coordinat
eDone)である。この例では一意に連携パスが定ま
ったが、複数発見された場合、連携パス検出部50は利
用者インタフェース40を介して複数の連携パスの候補
があることを知らせ、連携パス指定部42を介して利用
者に連携パスを選択させる。
連携関係を構築する処理工程の具体例を説明する。この
処理工程は、第二の処理工程で検出したオブジェクト連
携パスに基づいて実行フローを生成し、フィールドリア
クターモデルによる構造化メッセージ・反応アクション
連携関係を構築する処理工程である。本実施形態2では
CORBAを用いた場合の実行用パターンの生成につい
て説明する。
用パターンの生成処理の実行環境を示す図である。CO
RBAオブジェクトプール320は、連携パス実行中に
システムが生成したCORBAオブジェクト350を管
理し、オブジェクトに対する操作インタフェースを持
つ。また、インスタンスIDを管理し、実体であるオブ
ジェクトインスタンスヘのマッピングを行う。CORB
Aオブジェクトファクトリ330は、CORBAオブジ
ェクト350をCORBAネーミングサービスを通して
取得し、CORBAオブジェクトファクトリ330が生
成したオブジェクトをCORBAオブジェクトプール3
20ヘ渡す。オブジェクトファクトリ330は、リアク
ターであり、フィールドに対してネーミングサービスを
提供する。CORBAオブジェクトファクトリ330
は、指定の名のオブジェクトを検索し、インスタンスI
Dを返す。パターンフォルダ310も同様にリアクター
であり、連携パスを元に実行フローを生成・保持し、実
行用パターンに応じて、CORBAオブジェクト350
をCORBAオブジェクトプール320を通して操作す
る。ユーザリアクター200は、CORBAオブジェク
ト350を操作する上で、IDLを意識する必要はな
く、フィールド上のパターン連携によってCORBAオ
ブジェクト350を取り扱うことができる。
ェクト350は全てインスタンスIDとして取り扱わ
れ、パターンフォルダ310によってオブジェクトの実
体に対して操作される。パターンフォルダ310は、メ
ッセージに従いCORBAオブジェクト350を操作す
る。パターンフォルダ310は、オブジェクトの汎用的
なメソッド起動関数R=Invoke(O,m,P)を持つ。この
関数は・オブジェクトのインスタンスID“O”、呼び
出すメソッド名“m”およびメソッド起動に必要なパラ
メータ列“P=(p1,・・・,pn)”を引数とする。CO
RBAオブジェクトプール320を通して、メソッドを
起動した後、結果Rを返す。パラメータ列もインスタン
スIDで表現する。実行用パターンは、各パターンに対
応する起動関数と共にセットされる。パターンと共に設
定された起動関数は、パターンマッチによって得られた
置換を使用し、関数Invokeを呼び出す。Invokeの帰り値
を置換に変換し、出力用パターンにその置換を適用しメ
ッセージを生成する。
ェクト連携実行処理を説明する。
値指定部43を介して始点となるオブジェクトクラスの
値を指定し、与えられた始点となるオブジェクトクラス
の値を基に連携処理を実行する。起動はリアクターから
スタートメッセージをフィールドへ流すことで行われ
る。スタートメッセージにより、パターンフォルダは実
行フローに沿って、CORBAオブジェクトの連携を開
始し、連携パスを実行していく。実行は、フィールドを
通して行われ、パターンフォルダを通してCORBAオ
ブジェクトの実体が連携し、目的のオブジェクトが生成
されるまで繰り返される。パターンの終点である目的の
オブジェクトが生成された時点で終了する。
ーション例では、図17に示すように、値として“振込
元の銀行名”、“振込元の口座番号”、“振込先の銀行
名”、“振込先の口座番号”、“振込金額”が与えら
れ、オブジェクト間の連携が実行され、銀行口座振り込
み処理が実行される。
ン例では、図18に示すように、値として“出発場所
(location)”、“到着場所(locatio
n)”、“出発日(Date)”、“帰省日(Dat
e)”、“出発時間(Time)”が与えられ、それぞ
れのオブジェクトに対応する値が与えられ、出張予約処
理が実行される。
使い回しやプロファイルデータを利用した自動データ入
力も可能である。
連携装置によれば、各オブジェクトのインタフェースの
記述を解析してオブジェクトの連携関係をルールの集合
として簡潔に表現でき、当該ルールによりオブジェクト
間の連携関係を調べることにより、利用者の利用目的に
応じ、始点となるオブジェクトから終点となるオブジェ
クトまでのオブジェクト間の連携パスを自動的に検出で
き、また、それらオブジェクト群の連携処理を柔軟に構
築することができる。
連携システムは、オブジェクト連携パス検出部が連携パ
ス検出の学習機能を備え、前記オブジェクトクラス指定
部から与えられた始点となるオブジェクトクラスと終点
となるオブジェクトクラスをつなぐオブジェクトクラス
間の連携パスの検出結果を知識として蓄積し、連携パス
検出処理に用いる機能を備えたものである。
システムの構成概略図である。オブジェクトインタフェ
ース情報入力部10、変換ルール生成部20、変換ルー
ルデータベース30、利用者インタフェース40、オブ
ジェクト連携関係構築部60、オブジェクト連携実行部
70、オブジェクト群100は実施形態2で示した図7
と同様であるが、連携パス検出部50aはオブジェクト
連携実行用パターン生成部51に加え、学習部52、連
携パス知識部53を備えている。学習部52および連携
パス知識部53は連携パス検出処理の学習機能を有し、
連携パス検出部50aによる連携パス検出処理結果が得
られると、学習部52は、オブジェクトクラス指定部4
1から与えられた始点となるオブジェクトクラスと終点
となるオブジェクトクラスの入力に対し、検出された連
携パスを結果として対応づけて学習し、その知識を連携
パス知識部53に格納する。連携パス検出部50aは次
回以降の連携パス検出処理にあたり、連携パス知識部5
3に格納された連携パス知識を活用して連携パスの検出
処理を実行する。次回以降の連携パス検出処理において
与えられた始点となるオブジェクトクラスと終点となる
オブジェクトクラスが連携パス知識部53に格納された
連携パス知識のものと同様であれば、当該知識を活用し
て連携パスの検出処理が実行できる。
加、削除、保守などによるサービス停止など、ネットワ
ークの状態は動的に変化することもあるので、連携パス
知識部52に格納された連携パス知識を固定的なデータ
として参照することはできない点に注意を要する。
テムによれば、オブジェクト連携パス検出部が連携パス
検出の学習機能を備え、オブジェクトクラス指定部から
与えられた始点となるオブジェクトクラスと終点となる
オブジェクトクラスをつなぐオブジェクトクラス間の連
携パスの検出結果を知識として蓄積し、連携パス検出処
理に用いることができる。
装置は、上記に説明した構成を実現する処理ステップを
記述したプログラムをコンピュータ読み取り可能な記録
媒体に記録して提供することにより、各種コンピュータ
を用いて構築することができる。本発明のオブジェクト
連携装置を実現する処理ステップを備えたプログラムを
記録した記録媒体は、図20に図示した記録媒体の例に
示すように、CD−ROM1002やフレキシブルディ
スク1003等の可搬型記録媒体1001だけでなく、
ネットワーク上にある記録装置内の記録媒体1000
や、コンピュータのハードディスクやRAM等の記録媒
体1005のいずれであっても良く、プログラム実行時
には、プログラムはコンピュータ1004上にローディ
ングされ、主メモリ上で実行される。
らに以下の項を開示する。
のインタフェース情報を入力して解析し、オブジェクト
間の連携関係を変換ルールの集合として記述するルール
記述部と、オブジェクト連携関係の始点となるオブジェ
クトクラスと終点となるオブジェクトクラスを指定する
オブジェクトクラス指定部と、前記変換ルールに従って
オブジェクト間の連携関係を調べ、前記始点となるオブ
ジェクトクラスと前記終点となるオブジェクトクラスを
つなぐオブジェクトクラス間の連携パスを検出するオブ
ジェクト連携パス検出部と、前記検出された連携パスに
応じてオブジェクト間の連携関係の実行環境を構築する
オブジェクト連携構築部と、前記始点となるオブジェク
トクラスの値を指定する値指定部と、前記与えられた始
点となるオブジェクトクラスの値を基に連携処理を実行
するオブジェクト群とを備えたことを特徴とするオブジ
ェクト連携装置(1)。
は、前記オブジェクト群の連携においてオブジェクト間
に構造化メッセージと当該構造化メッセージに対する反
応であるアクションとの関係づけによる連携関係を構築
するものであり、連携元のオブジェクトに送信すべき構
造化メッセージパターンを通知して実装させ、連携先の
オブジェクトに受信により反応すべき前記構造化メッセ
ージパターンおよび当該構造化メッセージパターンに対
するアクションとを通知して実装させる付記1に記載の
オブジェクト連携装置(2)。
ェクトが、ネットワーク上に送信される構造化メッセー
ジをモニタして取り込むメッセージ受信部と、構造化メ
ッセージと構造化メッセージに対する反応であるアクシ
ョンのセットを記憶する反応テーブルと、前記アクショ
ンの内容に従って処理を実行するアクション実行部を備
え、前記メッセージ・アクションの反応関係に従って駆
動する付記1または付記2に記載のオブジェクト連携装
置(3)。
部が、連携パスが複数検出された場合に一つの連携パス
を利用者に選択させる連携パス選択部を備えた付記1か
ら3のいずれかに記載のオブジェクト連携装置。
部が、検出した一つながりの連携パスを構成する個々の
サブ連携パスに分離し、各々のサブ連携パスを区別して
連携パスの実行時コンテキストを生成し、前記連携パス
をオブジェクトクラス間の連携パスから連携実行時に渡
される値を変数としたオブジェクト連携実行用パターン
の連携パスに変換するオブジェクト連携実行用パターン
生成部を備えた付記1から3のいずれかに記載のオブジ
ェクト連携装置(4)。
オブジェクト連携元とオブジェクト連携関係を持つオブ
ジェクト連携先がある場合、前記オブジェクト連携先は
前記複数のオブジェクト連携元の各々から個別に構造化
メッセージを受信し、前記反応テーブルのアクションが
発火するために必要なすべての引数が揃ったことを契機
としてアクションを発火させる構造化メッセージパター
ン・反応アクションの関係づけを持つ付記1から3のい
ずれかに記載のオブジェクト連携装置。
オブジェクト連携先とオブジェクト連携関係を持つオブ
ジェクト連携元がある場合、前記オブジェクト連携元は
フィールドに構造化メッセージを送信し、前記複数のオ
ブジェクト連携先の各々は前記構造化メッセージが受信
されたことを契機として反応アクションを発火させる構
造化メッセージパターン・反応アクションの関係づけを
持つ付記1から3のいずれかに記載のオブジェクト連携
装置。
部が連携パス検出の学習機能を備え、前記オブジェクト
クラス指定部から与えられた始点となるオブジェクトク
ラスと終点となるオブジェクトクラスをつなぐオブジェ
クトクラス間の連携パスの検出結果を知識として蓄積
し、連携パス検出処理に用いる付記1から3のいずれか
に記載のオブジェクト連携装置。
ース情報がIDLまたはWSDLのいずれかで記述され
た情報である付記1から3のいずれかに記載のオブジェ
クト連携装置。
ト連携関係を構築するオブジェクト連携装置を実現する
処理プログラムを記録したコンピュータ装置読み取り可
能な記録媒体であって、ネットワーク上のオブジェクト
のインタフェース情報を入力して解析し、オブジェクト
間の連携関係を変換ルールの集合として記述するルール
記述処理ステップと、オブジェクト連携関係の始点とな
るオブジェクトクラスと終点となるオブジェクトクラス
を指定するオブジェクトクラス指定処理ステップと、前
記変換ルールに従ってオブジェクト間の連携関係を調
べ、前記始点となるオブジェクトクラスと前記終点とな
るオブジェクトクラスをつなぐオブジェクトクラス間の
連携パスを検出するオブジェクト連携パス検出処理ステ
ップと、前記検出された連携パスに応じてオブジェクト
間の連携関係の実行環境を構築するオブジェクト連携構
築処理ステップと、前記始点となるオブジェクトクラス
の値を指定する値指定処理ステップと、前記与えられた
始点となるオブジェクトクラスの値を基に連携処理を実
行するオブジェクトを生成する処理ステップとを備えた
処理プログラムを記録したことを特徴とする記録媒体
(5)。
ば、各オブジェクトのインタフェースの記述を解析して
オブジェクトの連携関係をルールの集合として簡潔に表
現でき、当該ルールによりオブジェクト間の連携関係を
調べることにより、利用者の利用目的に応じ、始点とな
るオブジェクトから終点となるオブジェクトまでのオブ
ジェクト間の連携パスを自動的に検出でき、また、それ
らオブジェクト群の連携処理を柔軟に構築することがで
きる。
入力されたインタフェース記述に曖昧性がある場合で
も、連携パスを一意に定め、オブジェクト間の実行フロ
ーを形成することができる。
複数のオブジェクト連携元の処理を、いわゆるAND演
算の形で受け、所定複数のオブジェクト元との連携成立
を契機としてオブジェクト連携先が反応するように連携
関係を制御することができる。また、複数のオブジェク
ト連携元の処理を、いわゆるOR演算の形で受け、一又
は所定組み合わせのオブジェクト元との連携成立を契機
としてオブジェクト連携先が反応するように連携関係を
制御することもできる。
ことができ、オブジェクトクラス指定部から与えられた
始点となるオブジェクトクラスと終点となるオブジェク
トクラスをつなぐオブジェクトクラス間の連携パスの検
出結果を知識として蓄積し、連携パス検出処理に用いる
ことができ、処理効率向上を図ることができる。
携構築処理の概要を模式的に示した図
報の例、(b)は(a)のインタフェース情報から生成
した変換ルールの例を示す図
合から各オブジェクトと変換ルールとの関係を模式的に
示した図
例を模式的に示した図
クターモデルにおけるリアクターの模式的な構造を示し
た図
関係をメッセージパターンの関係に変換した様子を模式
的に示した図
携装置の概略を示した図
み処理を実行するアプリケーション例における各オブジ
ェクトのIDLで定義されたインタフェース記述情報の
例を示した図
DL記述によるインタフェース情報から変換ルール生成
部20が抽出した変換ルールを示す図
ールの集合からルール生成部20が生成したクラス間の
関係を模式的に示した図
述されたインタフェース情報の例を示す図
たWSDL記述によるインタフェース情報から生成した
変換ルールの集合におけるタイプ間の関係を模式的に示
した図
部50が実行する連携パス検索処理を関数という形で記
述する場合のアルゴリズムの一例を示す図
込み処理を実行するアプリケーション例において、発見
した変換ルールの適用順序を模式的に示す図
を実行するアプリケーション例において、発見した変換
ルールの適用順序を模式的に示す図
用いる場合の実行用パターンの生成処理の実行環境を示
す図
込み処理を実行するアプリケーション例におけるオブジ
ェクト連携実行を示す図
理を実行するアプリケーション例におけるオブジェクト
連携実行を示す図
連携装置の概略を示した図
置を実現する処理プログラムを記録した記録媒体の例を
示す図
ント/サーバシステムにおけるオブジェクト連携の例を
示す図
アプリケーション 207 フィールド 310 パターンフォルダ 320 CORBAオブジェクトプール 321 スタブ 330 CORBAオブジェクトファクトリ 340 オブジェクトリクエストブローカ 350 CORBAオブジェクト 360 CORBAホームサービス 1000 回線先のハードディスク等の記録媒体 1001 CD−ROMやフレキシブルディスク等の可
搬型記録媒体 1002 CD−ROM 1003 フレキシブルディスク 1004 コンピュータ 1005 コンピュータ上のRAM/ハードディスク等
の記録媒体
Claims (5)
- 【請求項1】 ネットワーク上のオブジェクトのインタ
フェース情報を入力して解析し、オブジェクト間の連携
関係を変換ルールの集合として記述するルール記述部
と、 オブジェクト連携関係の始点となるオブジェクトクラス
と終点となるオブジェクトクラスを指定するオブジェク
トクラス指定部と、 前記変換ルールに従ってオブジェクト間の連携関係を調
べ、前記始点となるオブジェクトクラスと前記終点とな
るオブジェクトクラスをつなぐオブジェクトクラス間の
連携パスを検出するオブジェクト連携パス検出部と、 前記検出された連携パスに応じてオブジェクト間の連携
関係の実行環境を構築するオブジェクト連携構築部と、 前記始点となるオブジェクトクラスの値を指定する値指
定部と、 前記与えられた始点となるオブジェクトクラスの値を基
に連携処理を実行するオブジェクト群とを備えたことを
特徴とするオブジェクト連携装置。 - 【請求項2】 前記オブジェクト連携構築部は、前記オ
ブジェクト群の連携においてオブジェクト間に構造化メ
ッセージと当該構造化メッセージに対する反応であるア
クションとの関係づけによる連携関係を構築するもので
あり、連携元のオブジェクトに送信すべき構造化メッセ
ージパターンを通知して実装させ、連携先のオブジェク
トに受信により反応すべき前記構造化メッセージパター
ンおよび当該構造化メッセージパターンに対するアクシ
ョンとを通知して実装させる請求項1に記載のオブジェ
クト連携装置。 - 【請求項3】 前記オブジェクト群の各オブジェクト
が、ネットワーク上に送信される構造化メッセージをモ
ニタして取り込むメッセージ受信部と、構造化メッセー
ジと構造化メッセージに対する反応であるアクションの
セットを記憶する反応テーブルと、前記アクションの内
容に従って処理を実行するアクション実行部を備え、前
記メッセージ・アクションの反応関係に従って駆動する
請求項1または2に記載のオブジェクト連携装置。 - 【請求項4】 前記オブジェクト連携パス検出部が、検
出した一つながりの連携パスを構成する個々のサブ連携
パスに分離し、各々のサブ連携パスを区別して連携パス
の実行時コンテキストを生成し、前記連携パスをオブジ
ェクトクラス間の連携パスから連携実行時に渡される値
を変数としたオブジェクト連携実行用パターンの連携パ
スに変換するオブジェクト連携実行用パターン生成部を
備えた請求項1から3のいずれかに記載のオブジェクト
連携装置。 - 【請求項5】 オブジェクト間にオブジェクト連携関係
を構築するオブジェクト連携装置を実現する処理プログ
ラムを記録したコンピュータ装置読み取り可能な記録媒
体であって、 ネットワーク上のオブジェクトのインタフェース情報を
入力して解析し、オブジェクト間の連携関係を変換ルー
ルの集合として記述するルール記述処理ステップと、 オブジェクト連携関係の始点となるオブジェクトクラス
と終点となるオブジェクトクラスを指定するオブジェク
トクラス指定処理ステップと、 前記変換ルールに従ってオブジェクト間の連携関係を調
べ、前記始点となるオブジェクトクラスと前記終点とな
るオブジェクトクラスをつなぐオブジェクトクラス間の
連携パスを検出するオブジェクト連携パス検出処理ステ
ップと、 前記検出された連携パスに応じてオブジェクト間の連携
関係の実行環境を構築するオブジェクト連携構築処理ス
テップと、 前記始点となるオブジェクトクラスの値を指定する値指
定処理ステップと、 前記与えられた始点となるオブジェクトクラスの値を基
に連携処理を実行するオブジェクトを生成する処理ステ
ップとを備えた処理プログラムを記録したことを特徴と
する記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000339165A JP4145477B2 (ja) | 2000-11-07 | 2000-11-07 | オブジェクト連携装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000339165A JP4145477B2 (ja) | 2000-11-07 | 2000-11-07 | オブジェクト連携装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002149405A true JP2002149405A (ja) | 2002-05-24 |
JP4145477B2 JP4145477B2 (ja) | 2008-09-03 |
Family
ID=18814272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000339165A Expired - Fee Related JP4145477B2 (ja) | 2000-11-07 | 2000-11-07 | オブジェクト連携装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4145477B2 (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005228309A (ja) * | 2004-01-23 | 2005-08-25 | Microsoft Corp | ルールに基づいて決定的に行う、コードへのオブジェクトのディスパッチ |
US7600218B2 (en) | 2003-11-20 | 2009-10-06 | Panasonic Corporation | Association control apparatus, association control method and service association system |
JP2010146551A (ja) * | 2008-12-19 | 2010-07-01 | Korea Electronics Telecommun | ロボットソフトウェアコンポーネントのためのメソッドポート装置及び構成方法 |
JP2010191865A (ja) * | 2009-02-20 | 2010-09-02 | Nippon Telegr & Teleph Corp <Ntt> | シナリオ開発支援装置、およびシナリオ開発支援方法 |
WO2010113242A1 (ja) * | 2009-03-31 | 2010-10-07 | 三菱電機株式会社 | 実行順序決定装置 |
JP2013015974A (ja) * | 2011-07-01 | 2013-01-24 | Mitsubishi Electric Corp | 支援装置及び支援システム及びコンピュータプログラム及び支援方法 |
CN107506355A (zh) * | 2016-06-14 | 2017-12-22 | 阿里巴巴集团控股有限公司 | 对象分组方法及装置 |
JP2018073400A (ja) * | 2016-10-21 | 2018-05-10 | 富士通株式会社 | マイクロサービスベースのデータ処理装置、方法及びプログラム |
-
2000
- 2000-11-07 JP JP2000339165A patent/JP4145477B2/ja not_active Expired - Fee Related
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7600218B2 (en) | 2003-11-20 | 2009-10-06 | Panasonic Corporation | Association control apparatus, association control method and service association system |
JP2005228309A (ja) * | 2004-01-23 | 2005-08-25 | Microsoft Corp | ルールに基づいて決定的に行う、コードへのオブジェクトのディスパッチ |
JP2010146551A (ja) * | 2008-12-19 | 2010-07-01 | Korea Electronics Telecommun | ロボットソフトウェアコンポーネントのためのメソッドポート装置及び構成方法 |
US8464218B2 (en) | 2008-12-19 | 2013-06-11 | Electronics And Telecommunications Research Institute | Method port arrangement and configuration method thereof for robot software component |
JP2010191865A (ja) * | 2009-02-20 | 2010-09-02 | Nippon Telegr & Teleph Corp <Ntt> | シナリオ開発支援装置、およびシナリオ開発支援方法 |
JP5172009B2 (ja) * | 2009-03-31 | 2013-03-27 | 三菱電機株式会社 | 実行順序決定装置 |
CN102334101A (zh) * | 2009-03-31 | 2012-01-25 | 三菱电机株式会社 | 执行顺序决定装置 |
US20110276976A1 (en) * | 2009-03-31 | 2011-11-10 | Mitsubishi Electric Corporation | Execution order decision device |
WO2010113242A1 (ja) * | 2009-03-31 | 2010-10-07 | 三菱電機株式会社 | 実行順序決定装置 |
US8677367B2 (en) | 2009-03-31 | 2014-03-18 | Mitsubishi Electric Corporation | Execution order decision device |
CN102334101B (zh) * | 2009-03-31 | 2014-10-08 | 三菱电机株式会社 | 执行顺序决定装置 |
JP2013015974A (ja) * | 2011-07-01 | 2013-01-24 | Mitsubishi Electric Corp | 支援装置及び支援システム及びコンピュータプログラム及び支援方法 |
CN107506355A (zh) * | 2016-06-14 | 2017-12-22 | 阿里巴巴集团控股有限公司 | 对象分组方法及装置 |
CN107506355B (zh) * | 2016-06-14 | 2020-09-29 | 阿里巴巴集团控股有限公司 | 对象分组方法及装置 |
JP2018073400A (ja) * | 2016-10-21 | 2018-05-10 | 富士通株式会社 | マイクロサービスベースのデータ処理装置、方法及びプログラム |
JP7043780B2 (ja) | 2016-10-21 | 2022-03-30 | 富士通株式会社 | マイクロサービスベースのデータ処理装置、方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP4145477B2 (ja) | 2008-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8015265B2 (en) | System for designing and performing Web application | |
JP5894724B2 (ja) | グラフ型計算の分散サービス | |
US20060224702A1 (en) | Local workflows in a business process management system | |
Inverardi et al. | Deadlock-free software architectures for com/dcom applications | |
JPH11119986A (ja) | 通信連携情報生成装置、3階層クライアント/サーバシステムおよび通信連携情報生成プログラムを記録した媒体 | |
Galzarano et al. | A task-oriented framework for networked wearable computing | |
Pahl et al. | A semantical framework for the orchestration and choreography of web services | |
CN112130812B (zh) | 一种基于数据流混合编排的分析模型构建方法及*** | |
JP2002149405A (ja) | オブジェクト連携装置 | |
Xu et al. | A cloud robotic application platform design based on the microservices architecture | |
WO2001009718A1 (fr) | Dispositif de liaison d'objet a l'aide de types de messages | |
JP2002215394A (ja) | Webアプリケーション開発・実行システム及びWebアプリケーション生成装置 | |
Anke et al. | A service-oriented middleware for integration and management of heterogeneous smart items environments | |
Billard | Patterns of agent interaction scenarios as use case maps | |
Kamal et al. | Modeling architectural patterns’ behavior using architectural primitives | |
Graham et al. | Tools for developing and monitoring agents in distributed multi-agent systems | |
JPH11161493A (ja) | ネットワークシステムとその中におけるオブジェクト連携方法 | |
JP4550085B2 (ja) | メッセージの型を利用するオブジェクト連携装置 | |
JP4266507B2 (ja) | オブジェクト連携モニタシステム | |
JPH11249919A (ja) | 手続き呼出しの処理方法およびスタブ生成方法 | |
JP4266955B2 (ja) | オブジェクト連携装置 | |
WO2000020967A1 (fr) | Dispositif de liaison d'objets | |
Damyanov et al. | An application about server communication: Using the Command pattern on Web API requests | |
Youxin et al. | Design of workflow engine based on wcf | |
Tagueu et al. | Lazy Services: A Service Oriented Architecture based on Incremental Computations and Commitments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050308 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080325 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080526 |
|
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: 20080617 |
|
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: 20080618 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110627 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |