JP2002149405A - Object linkage device - Google Patents

Object linkage device

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
Application number
JP2000339165A
Other languages
Japanese (ja)
Other versions
JP4145477B2 (en
Inventor
Tadashige Iwao
忠重 岩尾
Makoto Okada
誠 岡田
Masato Amamiya
真人 雨宮
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2000339165A priority Critical patent/JP4145477B2/en
Publication of JP2002149405A publication Critical patent/JP2002149405A/en
Application granted granted Critical
Publication of JP4145477B2 publication Critical patent/JP4145477B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To constructs object linkage by clearly expressing the linkage relation of respective objects by analyzing the I/F of those objects, and detecting the linkage relation of the objects corresponding to purposes. SOLUTION: The description of the interfaces of respective objects defined in IDL or WSDL is analyzed, and the linkage relation of the objects is expressed as a set 101 of conversion rules. This object linkage device is provided with a means for designating an object class being the start point of the object linkage relation and an object class being the end point according to purposes, processing 102 for checking the linkage relation of the objects according to a conversion rule, and for detecting the linkage path between the object classes for connecting the start point to the end point, an object linkage construction processing 103 for constructing a coordinate execution environment among those objects, a means for designating the value of the object class being the start point, and an object linkage processing 104 including an object group for executing the linkage processing based on the applied value.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、コンピュータ群も
しくはオブジェクト群の対話・協調などの連携処理を実
施するオブジェクト連携装置に関する。特に、利用者が
連携させる各オブジェクトのインタフェースの詳細を知
らない場合でもオブジェクト同士を自動連携させてシス
テムを構築するオブジェクト連携装置に関する。
[0001] 1. Field of the Invention [0002] The present invention relates to an object linking apparatus for executing linking processing such as dialogue and cooperation between a group of computers or a group of objects. In particular, the present invention relates to an object cooperation apparatus that automatically links objects to form a system even when a user does not know details of interfaces of the objects to be linked.

【0002】[0002]

【従来の技術】近年、ネットワーク化が進み、ネットワ
ーク上に分散した複数のオブジェクトが互いに連携して
処理を行うシステムが増大してきている。このような複
数のオブジェクトが連携して処理を行うための技法とし
て、オブジェクト指向型プログラミングやコンポーネン
ト技術などの研究がなされている。
2. Description of the Related Art In recent years, networking has progressed, and systems for processing a plurality of objects distributed on a network in cooperation with each other have been increasing. Research on object-oriented programming, component technology, and the like has been made as a technique for performing processing in cooperation with a plurality of objects.

【0003】オブジェクト指向型プログラミングの一例
として、オブジェクト指向技術の標準化と普及を目指し
て設立された業界団体OMG(Object Management Grou
p)によって定められた分散オブジェクト運用のための
共通仕様CORBA(The Common Object Request Brok
er : Architecture and Specification)がある。
[0003] As an example of object-oriented programming, an industry organization OMG (Object Management Grou) established to standardize and spread object-oriented technology.
CORBA (The Common Object Request Brok)
er: Architecture and Specification).

【0004】図21に、CORBAに基づいたクライア
ント/サーバシステムにおけるオブジェクト連携の例を
示す。このシステムは、クライアントアプリケーション
とサーバ・アプリケーションとが連携して、つまりオブ
ジェクト連携により一連の処理を行うものである。
FIG. 21 shows an example of object cooperation in a client / server system based on CORBA. In this system, a client application and a server application perform a series of processes in cooperation with each other, that is, object cooperation.

【0005】アプリケーション開発者は、クライアント
およびサーバそれぞれが提供するサービスのインターフ
ェースをIDL(Interface Definition Language)で
記述する。また、インターネットのワールドワイドウェ
ブでのサービスのインタフェースはWSDL(World wi
de web Service Definition Language)で記述する。イ
ンターフェースとして定義する内容は、オブジェクトに
依頼できるオペレーション群であり、各々のオペレーシ
ョンは、オペレーション名、パラメタの定義、戻り値の
定義、エラー発生時の例外処理、付加情報などが定義さ
れる。
[0005] An application developer describes an interface of a service provided by each of a client and a server in IDL (Interface Definition Language). The service interface on the Internet World Wide Web is WSDL (World Wi-Fi).
de web Service Definition Language). The content defined as the interface is a group of operations that can be requested to the object. For each operation, an operation name, a parameter definition, a return value definition, an exception process when an error occurs, additional information, and the like are defined.

【0006】IDLなどで定義された内容を専用のコン
パイラでコンパイルすることにより、クライアント用の
スタブとサーバ用のスケルトンが生成される。スタブ
は、クライアントアプリケーションにIDLなどで定義
されたオペレーション群へのアクセスを提供するルーチ
ン群である。クライアントアプリケーションは、スタブ
で提供されるルーチンを呼び出すことにより、オペレー
ションが起動される。スケルトンは、サーバ・アプリケ
ーションが提供するメソッドルーチンヘのディスパッチ
ングルーチンを提供する。
By compiling the contents defined by IDL or the like with a dedicated compiler, a stub for a client and a skeleton for a server are generated. A stub is a group of routines that provide a client application with access to a group of operations defined by IDL or the like. The client application invokes an operation by calling a routine provided in the stub. The skeleton provides a dispatching routine to a method routine provided by the server application.

【0007】スタブおよびスケルトンは、対応するクラ
イアントアプリケーションあるいはサーバ・アプリケー
ションが使用するプログラミング言語で生成される。た
とえば、使用されるプログラミング言語がC言語であっ
たとすると、スタブはC言語の関数群として生成され、
クライアントアプリケーションは、実行したいオペレー
ションに対応する関数を呼び出すことにより、スタブ、
ORBランタイム、スケルトンを経由してサーバ・アプ
リケーションの該当ルーチンが呼び出され、所定の処理
が実行されたあと、その処理結果が呼び出し元のクライ
アントアプリケーションに返される。
[0007] Stubs and skeletons are generated in the programming language used by the corresponding client or server application. For example, if the programming language used is C, the stubs are generated as a set of functions in C,
Client applications call stubs,
The corresponding routine of the server application is called via the ORB runtime and the skeleton, a predetermined process is executed, and the processing result is returned to the calling client application.

【0008】[0008]

【発明が解決しようとする課題】このように、CORB
Aなどによりオブジェクト連携処理を構築することは、
容易になってきている。しかし、実際にこのような連携
処理を構築しようとすると、前述のCORBAであれ
ば、CORBAそのものの理解とともに、CORBAの
仕様に応じたオブジェクトの設計およびIDLやWSD
Lによる定義が必要となる。つまりシステムを構築する
者は、IDLやWSDLで記述されたオブジェクトイン
タフェースの詳細およびその利用方法を熟知する必要が
ある。また、それぞれのオブジェクトの関係を強く意識
する必要がある。つまり、それぞれのオブジェクトがど
ういう処理を行うのか、その処理を行うために必要とな
る受渡しのパラメタは何かなどを明確にしておかなけれ
ばならない。例えば、サーバオブジェクトを利用する場
合、そのオブジェクトに対応するIDL記述のインタフ
ェースなどからスタブを作成し、そのスタブに対する操
作をプログラムすることで利用可能となる。しかし、I
DL記述はインタフェースの羅列であり、その記述でオ
ブジェクトの利用法を理解するには相当の経験を要する
こととなる。
As described above, CORB
To construct the object cooperation process by A
It's getting easier. However, when actually trying to construct such a cooperative process, if the above-mentioned CORBA is used, it is necessary to understand the CORBA itself, design an object according to the CORBA specification, and implement IDL and WSD.
The definition by L is required. That is, the person who constructs the system needs to be familiar with the details of the object interface described in IDL or WSDL and how to use it. In addition, it is necessary to strongly consider the relationship between the objects. In other words, it is necessary to clarify what kind of processing is performed by each object, and what parameters are necessary for the transfer in order to perform the processing. For example, when a server object is used, a stub is created from an IDL description interface or the like corresponding to the object, and the stub can be used by programming an operation on the stub. But I
The DL description is a list of interfaces, and it requires considerable experience to understand how to use objects in the description.

【0009】また、連携がプログラム作成時に固定され
る点も問題点として挙げられる。複数のサーバオブジェ
クトを目的に合わせ連携させるとき、連携用のクライア
ントオブジェクトが必要となり、開発者は、該当するサ
ーバオブジェクトのIDLインタフェースやWSDLイ
ンタフェースを理解し、連携用のクライアントオブジェ
クトを作成する必要がある。作成されたオブジェクトは
IDLやWSDLを組み込むために固定的なものとな
り、動的に変化させることはできない。従って連携させ
るサーバオブジェクトが異なるたびに連携用のクライア
ントオブジェクトが必要となる。このように連携用のク
ライアントオブジェクトはサーバオブジェクトの組み合
わせの数だけ必要となる。IDLやWSDLを直接組み
込むことなく動的にサーバオブジェクトを起動するダイ
ナミックインボケーションなどのテクニックがあるが、
メソッドのパラメタの意味をあらかじめ熟知してプログ
ラムする必要があることから、すべてのサーバオブジェ
クトについてインプリメントすることは現実的ではな
い。
Another problem is that the coordination is fixed when the program is created. When linking a plurality of server objects according to purpose, a client object for cooperation is required, and the developer needs to understand the IDL interface and WSDL interface of the corresponding server object and create a client object for cooperation. . The created object is fixed to incorporate IDL and WSDL, and cannot be dynamically changed. Therefore, a client object for cooperation is required every time the server object to be linked is different. In this way, the number of client objects for cooperation is required by the number of combinations of server objects. There is a technique such as dynamic invocation that dynamically starts a server object without directly incorporating IDL or WSDL,
It is not practical to implement for all server objects because it is necessary to know the meaning of the method parameters in advance and program them.

【0010】このように、従来のオブジェクト連携によ
る分散処理方法は、あくまでもオブジェクトとオブジェ
クトの関係は固定であることを前提しており、このよう
な自由な関係を持った分散処理を実現するオブジェクト
連携システムの構築は困難であり、CORBAやあるい
はDCOMに代表されるオブジェクトアクセスを提供す
るための枠組みや分散オブジェクトのインターフェイス
に関する枠組みは、オブジェクト間の連携をいかに動的
に構築していくかという問題に十分に答えるものではな
い。
As described above, the conventional distributed processing method based on the object cooperation presupposes that the relationship between the objects is fixed to the last, and the object cooperation which realizes the distributed processing having such a free relation. It is difficult to construct a system, and the framework for providing object access represented by CORBA or DCOM and the framework for the interface of distributed objects have a problem of how to dynamically construct cooperation between objects. Not enough to answer.

【0011】本発明のオブジェクト連携システムは、上
記問題点に鑑み、各オブジェクトのインタフェースの記
述を解析してオブジェクトの連携関係を簡潔に表現し、
利用者の目的に応じた処理を実行できるオブジェクト間
の連携関係を自動的に検出し、それらオブジェクト群の
連携処理を柔軟に構築するオブジェクト連携装置を提供
することを目的とする。
In view of the above problems, the object cooperation system of the present invention analyzes the description of the interface of each object and expresses the cooperation of the objects in a simple manner.
It is an object of the present invention to provide an object coordination apparatus that automatically detects a cooperative relationship between objects capable of executing a process according to a user's purpose and flexibly constructs a cooperative process of the object group.

【0012】[0012]

【課題を解決するための手段】上記目的を達成するた
め、本発明のオブジェクト連携装置は、ネットワーク上
のオブジェクトのインタフェース情報を入力して解析
し、オブジェクト間の連携関係を変換ルールの集合とし
て記述するルール記述部と、オブジェクト連携関係の始
点となるオブジェクトクラスと終点となるオブジェクト
クラスを指定するオブジェクトクラス指定部と、前記変
換ルールに従ってオブジェクト間の連携関係を調べ、前
記始点となるオブジェクトクラスと前記終点となるオブ
ジェクトクラスをつなぐオブジェクトクラス間の連携パ
スを検出するオブジェクト連携パス検出部と、前記検出
された連携パスに応じてオブジェクト間の連携関係の実
行環境を構築するオブジェクト連携構築部と、前記始点
となるオブジェクトクラスの値を指定する値指定部と、
前記与えられた始点となるオブジェクトクラスの値を基
に連携処理を実行するオブジェクト群とを備えたことを
特徴とする。
In order to achieve the above object, an object cooperation apparatus of the present invention inputs and analyzes interface information of an object on a network, and describes a cooperation between objects as a set of conversion rules. A rule description part, an object class designating part for designating an object class as a starting point and an object class as an ending point of the object cooperation relationship, and examining a cooperation relationship between objects according to the conversion rule. An object cooperation path detection unit that detects a cooperation path between object classes connecting object classes that are end points, an object cooperation construction unit that builds an execution environment of a cooperation relationship between objects according to the detected cooperation path, The starting object And a value specifying unit to specify the value of the scan,
An object group for executing a cooperative process based on the value of the given starting point object class.

【0013】上記構成により、オブジェクト連携装置
は、各オブジェクトのインタフェースの記述を解析して
オブジェクトの連携関係をルールの集合として簡潔に表
現でき、当該ルールによりオブジェクト間の連携関係を
調べることにより、利用者の利用目的に応じ、始点とな
るオブジェクトから終点となるオブジェクトまでのオブ
ジェクト間の連携パスを自動的に検出でき、また、それ
らオブジェクト群の連携処理を柔軟に構築することがで
きる。
According to the above configuration, the object cooperation apparatus can analyze the description of the interface of each object and express the cooperation of the objects as a set of rules in a simple manner. It is possible to automatically detect a cooperative path between the objects from the starting point object to the ending point object according to the use purpose of the user, and to flexibly construct the cooperative processing of the object group.

【0014】ここで、前記オブジェクト連携構築部は、
前記オブジェクト群の連携においてオブジェクト間に構
造化メッセージと当該構造化メッセージに対する反応で
あるアクションとの関係づけによる連携関係を構築する
ものであり、連携元のオブジェクトに送信すべき構造化
メッセージパターンを通知して実装させ、連携先のオブ
ジェクトに受信により反応すべき前記構造化メッセージ
パターンおよび当該構造化メッセージパターンに対する
アクションとを通知して実装させることが好ましく、ま
た、前記オブジェクト群の各オブジェクトが、ネットワ
ーク上に送信される構造化メッセージをモニタして取り
込むメッセージ受信部と、構造化メッセージと構造化メ
ッセージに対する反応であるアクションのセットを記憶
する反応テーブルと、前記アクションの内容に従って処
理を実行するアクション実行部を備え、前記メッセージ
・アクションの反応関係に従って駆動することが好まし
い。
[0014] Here, the object cooperation construction unit comprises:
In the coordination of the object group, a cooperative relationship is established between the objects by associating a structured message and an action that is a reaction to the structured message, and a structured message pattern to be transmitted to the cooperating object is notified. It is preferable that the object of the cooperation be notified and notified of the structured message pattern to be reacted by reception and the action to the structured message pattern, and be implemented. A message receiving unit that monitors and captures the structured message transmitted above, a reaction table that stores a structured message and a set of actions that are reactions to the structured message, and an action that executes processing according to the contents of the action. Comprising a ® down execution unit, it is preferable to drive in accordance with response relationships of the message action.

【0015】上記構成により、利用者の目的に応じて発
見されたオブジェクト間の連携パスに沿い、フィールド
リアクターモデルを用いて各々のオブジェクト連携関係
を構築することができ、オブジェクト連携の自動的かつ
柔軟な構築が可能となる。ここでフィールドリアクター
モデルとは、フィールド上に存在するオブジェクト同士
が、構造表現された構造化メッセージと当該構造化メッ
セージに対する反応アクションとの関係づけに沿って連
携し合う仕組みを言う。
[0015] According to the above configuration, it is possible to construct each object cooperative relationship using the field reactor model along the cooperative path between the objects found according to the purpose of the user, and the object cooperating automatically and flexibly. Construction is possible. Here, the field reactor model refers to a mechanism in which objects existing on a field cooperate with each other along with a relationship between a structured message that is structurally represented and a reaction action to the structured message.

【0016】さらに、前記オブジェクト連携パス検出部
が、連携パスが複数検出された場合に一つの連携パスを
利用者に選択させる連携パス選択部を備えることが好ま
しい。
[0016] Further, it is preferable that the object linking path detecting section includes a linking path selecting section for allowing a user to select one linking path when a plurality of linking paths are detected.

【0017】なぜなら、インタフェース記述に曖昧性が
ある場合、一意に連携パスが定まらない場合もあり得る
からである。かかる場合に連携パスを一意に定める。
The reason is that if there is ambiguity in the interface description, there is a possibility that the cooperation path cannot be uniquely determined. In such a case, the cooperation path is uniquely determined.

【0018】さらに、前記オブジェクト連携パス検出部
が、検出した一つながりの連携パスを構成する個々のサ
ブ連携パスに分離し、各々のサブ連携パスを区別して連
携パスの実行時コンテキストを生成し、前記連携パスを
オブジェクトクラス間の連携パスから連携実行時に渡さ
れる値を変数としたオブジェクト連携実行用パターンの
連携パスに変換するオブジェクト連携実行用パターン生
成部を備えることが好ましい。
Further, the object cooperative path detecting section separates the detected cooperative cooperative paths into individual sub cooperative paths, and generates a runtime context of the cooperative path by distinguishing each sub cooperative path. It is preferable to include an object coordination execution pattern generation unit that converts the coordination path from a coordination path between object classes to a coordination path of an object coordination execution pattern using a value passed at the time of coordination execution as a variable.

【0019】上記構成により、オブジェクト連携実行用
パターンの連携パスを準備しておけば、オブジェクト連
携実行時には当該変数に対する値を与えるのみでオブジ
ェクトインスタンスレベルでのオブジェクト連携を簡単
に実行できる。
According to the above configuration, if the cooperation path of the pattern for executing the object cooperation is prepared, the object cooperation at the object instance level can be easily executed only by giving a value to the variable at the time of the object cooperation execution.

【0020】ここで、前記オブジェクト連携構築部がオ
ブジェクト間に連携関係を構築する場合、前記連携パス
において、複数のオブジェクト連携元とオブジェクト連
携関係を持つオブジェクト連携先がある場合、前記オブ
ジェクト連携先は前記複数のオブジェクト連携元の各々
から個別に構造化メッセージを受信し、前記反応テーブ
ルのアクションが発火するために必要なすべての引数が
揃ったことを契機としてアクションを発火させる構造化
メッセージパターン・反応アクションの関係づけを持つ
ことが好ましい。
Here, when the object coordination constructing unit constructs a cooperative relationship between objects, when there is an object cooperating destination having an object cooperating relationship with a plurality of object cooperating sources in the cooperative path, A structured message pattern / reaction that receives a structured message individually from each of the plurality of object cooperation sources, and fires the action when all the arguments necessary for firing the action in the reaction table are prepared. It is preferable to have an action association.

【0021】上記構成により、複数のオブジェクト連携
元の処理を、いわゆるAND演算の形で受け、所定複数
のオブジェクト元との連携成立を契機としてオブジェク
ト連携先が反応するように連携関係を制御することがで
きる。なお、このように複数のオブジェクト連携元との
連携成立を契機としてオブジェクト連携先が反応する関
係を「ジョイン(Join)関係」と呼ぶ。また、前記
ジョイン関係とは異なるバリエーションとして、複数の
オブジェクト連携元の処理を、いわゆるOR演算の形で
受け、一又は所定組み合わせのオブジェクト元との連携
成立を契機としてオブジェクト連携先が反応するように
連携関係を制御することもできる。
With the above structure, the processing of a plurality of object cooperation sources is received in the form of a so-called AND operation, and the cooperation relationship is controlled so that the object cooperation destination reacts when the cooperation with a predetermined plurality of object sources is established. Can be. The relationship in which the object cooperation destination reacts in response to the establishment of the cooperation with the plurality of object cooperation sources in this manner is referred to as a “Join relationship”. In addition, as a variation different from the join relationship, processing of a plurality of object cooperation sources is received in the form of a so-called OR operation, and the object cooperation destination reacts when the cooperation with one or a predetermined combination of object sources is established. The cooperative relationship can also be controlled.

【0022】さらに、前記オブジェクト連携パス検出部
が連携パス検出の学習機能を備え、前記オブジェクトク
ラス指定部から与えられた始点となるオブジェクトクラ
スと終点となるオブジェクトクラスをつなぐオブジェク
トクラス間の連携パスの検出結果を知識として蓄積し、
連携パス検出処理に用いることが好ましい。
Further, the object linking path detecting section has a learning function of linking path detection, and forms a linking path between object classes connecting the starting object class and the ending point object class given from the object class specifying section. Accumulate detection results as knowledge,
It is preferable to use it for the cooperative path detection processing.

【0023】上記構成により、利用者の目的に応じたオ
ブジェクト連携パスを学習でき、学習知識の蓄積ととも
に処理効率向上を図ることができる。
With the above configuration, the object cooperation path according to the purpose of the user can be learned, and the learning efficiency can be improved while accumulating the learning knowledge.

【0024】なお、上記の各構成において、前記オブジ
ェクトのインタフェース情報がIDLまたはWSDLの
いずれかで記述された情報とすれば、CORBAなど普
及しつつあるオブジェクト連携システムに対して本発明
を適用することが容易となる。
In each of the above configurations, if the interface information of the object is information described in either IDL or WSDL, the present invention can be applied to a popular object linking system such as CORBA. Becomes easier.

【0025】また、上記オブジェクト連携装置を実現す
る処理プログラムを記録した記録媒体を提供することに
より、パーソナルコンピュータなどに記録媒体からオブ
ジェクト連携装置を構成する処理プログラムを読み取ら
せて、安価かつ手軽に本発明のオブジェクト連携装置を
実現することができる。
Further, by providing a recording medium on which a processing program for realizing the object cooperation apparatus is recorded, a personal computer or the like can read the processing program constituting the object cooperation apparatus from the recording medium, and can easily and inexpensively execute the program. The object cooperation device of the invention can be realized.

【0026】[0026]

【発明の実施の形態】(実施形態1)本発明のオブジェ
クト連携システムは、各オブジェクトのインタフェース
情報を解析してオブジェクトの連携関係を簡潔に表現
し、利用者の目的に応じた処理を実行できるオブジェク
ト間の連携関係を自動的に検出し、それらオブジェクト
群の連携処理を柔軟に構築するオブジェクト連携装置を
提供するものである。本発明のオブジェクト連携装置が
実行するオブジェクトの自動連携とは、利用者の利用目
的に応じ、連携を開始するオブジェクトクラスの集合を
出発点とし、ユーザが欲するオブジェクトクラスを終点
とし、出発点から終点に至るまでのオブジェクトの連携
を構成することである。ここでは連携を開始するオブジ
ェクトクラスを始点オブジェクトクラスと呼び、最終的
に目的のオブジェクトクラスを終点オブジェクトクラス
と呼ぶことにする。なお以下では、便宜上、オブジェク
トのインタフェース情報がIDLで与えられている場合
を例として説明する。
(Embodiment 1) The object cooperation system of the present invention analyzes the interface information of each object, expresses the cooperation of the objects simply, and can execute processing according to the purpose of the user. It is an object of the present invention to provide an object cooperation apparatus which automatically detects a cooperative relationship between objects and flexibly constructs a cooperative process of the object group. The automatic cooperation of objects executed by the object cooperation apparatus of the present invention means that a set of object classes that start cooperation is a starting point, an object class desired by the user is an end point, and an end point is a starting point and an end point according to a use purpose of a user. Is to configure the cooperation of objects up to. Here, the object class that starts the cooperation is called a starting object class, and the target object class is finally called an end object class. In the following, a case where the interface information of an object is given in IDL will be described as an example for convenience.

【0027】本実施形態1のオブジェクト連携装置は、
第一の仕組みとして、IDLやWSDLなどの言語で定
義された各オブジェクトのインタフェースの記述を解析
し、オブジェクト間の連携関係の表現形式をそれら言語
表現形式からオブジェクト間の連携関係を変換ルールの
集合として記述した表現形式に変換する手段を備えてい
る。
The object cooperation device of the first embodiment is
As a first mechanism, it analyzes the interface description of each object defined in languages such as IDL and WSDL, and converts the expression format of the cooperative relationship between objects from those language expression formats into a set of conversion rules. Means for converting to the expression format described as.

【0028】また、本実施形態1のオブジェクト連携装
置は、第二の仕組みとして、利用者の目的に応じてオブ
ジェクト連携関係の始点となるオブジェクトクラスと終
点となるオブジェクトクラスを指定する手段と、変換ル
ールに従ってオブジェクト間の連携関係を調べ、始点と
なるオブジェクトクラスと終点となるオブジェクトクラ
スをつなぐオブジェクトクラス間の連携パスを検出する
手段を備えている。
The object cooperation apparatus according to the first embodiment includes, as a second mechanism, means for designating an object class as a start point and an object class as an end point of an object cooperation relationship according to a user's purpose, A means for examining a cooperative relationship between objects according to a rule and detecting a cooperative path between object classes connecting the object class serving as a start point and the object class serving as an end point is provided.

【0029】また、実施形態1のオブジェクト連携装置
は、第三の仕組みとして、上記の第二の仕組みにおいて
検出されたオブジェクト同士の連携パスをもとに、それ
らオブジェクト間の連携関係の実行環境を自動構築する
仕組みを備えている。
The object cooperation apparatus of the first embodiment, as a third mechanism, sets the execution environment of the cooperative relationship between the objects based on the cooperative path between the objects detected in the second mechanism. It has a mechanism for automatic construction.

【0030】さらに、実施形態1のオブジェクト連携装
置は、第四の仕組みとして、実際のオブジェクト連携実
行手段として、始点となるオブジェクトクラスの値を指
定する手段と、与えられた始点となるオブジェクトクラ
スの値を基に連携処理を実行するオブジェクト群とを備
えている。
Furthermore, as a fourth mechanism, the object cooperation apparatus of the first embodiment has a means for designating a value of an object class serving as a start point as an actual object cooperation execution means, and a means for specifying a value of an object class serving as a start point. And an object group for executing a cooperative process based on the value.

【0031】図1にオブジェクト連携構築処理の概要を
示す。まず、本発明のオブジェクト連携処理において、
上記第一の仕組みとしてオブジェクト間の連携関係を示
す変換ルール集合101を利用する。IDLはインタフ
ェースの記述と同時にオブジェクトクラスおよびデータ
型等についても定義している。そこでメソッドの入出力
オブジェクトのクラスの関係に着目すると、メソッドは
入力オブジェクトのクラス名から出力オブジェクトのク
ラス名への変換ルールと捉えることが可能である。この
場合プリミティブなInt,Stringなどのデータ型は、シ
ステム定義のクラス名となる。また、継承関係も変換ル
ールとして表現する。このようにIDLによって定義さ
れたインタフェースを変換ルールとして、ユーザから与
えられるIDL定義インタフェースの集合を変換ルール
集合101として蓄積する。簡単な例を図2に示す。図
2(a)はIDL記述によるインタフェース情報の例、
図2(b)は図2(a)のインタフェース情報から生成
した変換ルールの例である。変換ルールの集合から各オ
ブジェクトと変換ルールとの関係を模式的に図示した例
が図3である。図3(a)の6つの変換ルールから図3
(b)のオブジェクトおよび変換ルールの関係が得られ
る。
FIG. 1 shows an outline of the object cooperation construction process. First, in the object cooperation processing of the present invention,
As the first mechanism, a conversion rule set 101 indicating a cooperative relationship between objects is used. The IDL defines not only the interface description but also the object class, data type, and the like. Focusing on the relationship between the class of the input / output object of the method, the method can be regarded as a conversion rule from the class name of the input object to the class name of the output object. In this case, primitive data types such as Int and String are system-defined class names. The inheritance relationship is also expressed as a conversion rule. The interface defined by the IDL is stored as a conversion rule, and a set of IDL definition interfaces provided by the user is stored as a conversion rule set 101. A simple example is shown in FIG. FIG. 2A shows an example of interface information by IDL description.
FIG. 2B is an example of a conversion rule generated from the interface information of FIG. FIG. 3 is an example schematically illustrating the relationship between each object and the conversion rule from a set of conversion rules. From the six conversion rules in FIG.
The relationship between the object and the conversion rule in (b) is obtained.

【0032】次に、本発明のオブジェクト連携処理にお
いて、上記第二の仕組みとして連携パスの検出処理10
2を行う。オブジェクト連携順序は、変換ルールの適用
順序として捉えることができる。ここでは変換ルールの
適用順序を連携パスと呼ぶ。まず、ユーザは、始点オブ
ジェクトクラスと終点オブジェクトクラスを連携パスの
検出処理102に与え、連携パスの検出処理102はユ
ーザから与えられた始点オブジェクトクラスから変換ル
ールを適用し、終点オブジェクトクラスへ到達するまで
の変換ルールの適用順序を計算する。得られた変換ルー
ルの適用順序をメソッドヘ逆変換することで、オブジェ
クトのメソッド呼び出しの関係を得ることができ、オブ
ジェクトの連携を構築することができる。
Next, in the object linking process of the present invention, the linking path detection process 10
Do 2 The object cooperation order can be regarded as the application order of the conversion rule. Here, the application order of the conversion rules is called a cooperative path. First, the user provides the start-point object class and the end-point object class to the cooperative path detection process 102. The cooperative path detection process 102 applies the conversion rule from the start-point object class provided by the user and reaches the end-point object class. Calculate the application order of the conversion rules up to. By inversely converting the application order of the obtained conversion rules to the method, it is possible to obtain the relationship of the method call of the object, and to build the cooperation of the object.

【0033】なお、連携パスの検出方法としては複数の
方法がある。第一には、指定された始点となるオブジェ
クトクラスから出発してオブジェクトの連携関係を順方
向に拡大してゆき、終点となるオブジェクトクラスへ到
達するパスを発見する方法がある。第二には、指定され
た終点となるオブジェクトクラスから出発してオブジェ
クトの連携関係を逆方向に拡大してゆき、始点となるオ
ブジェクトクラスへ到達するパスを発見する方法があ
る。第三には指定された始点となるオブジェクトクラス
および終点となるオブジェクトクラスの双方から出発し
て、始点となるオブジェクトクラスからはオブジェクト
の連携関係を順方向に拡大してゆき、終点となるオブジ
ェクトクラスからはオブジェクトの連携関係を逆方向に
拡大してゆき、両者を結ぶパスを発見する方法がある。
There are a plurality of methods for detecting a cooperation path. First, there is a method of starting from a designated starting point object class, expanding the cooperative relationship of objects in the forward direction, and finding a path reaching the ending point object class. Secondly, there is a method of starting from the specified end-point object class, expanding the cooperation of the objects in the reverse direction, and finding a path that reaches the start-point object class. Thirdly, starting from both the specified starting point object class and the ending point object class, the object class as the ending point is expanded in the forward direction from the starting object class to the ending object class. From now on, there is a method of expanding the cooperation of objects in the opposite direction and finding a path connecting the two.

【0034】ここで、連携パスが複数発見される場合が
あり得る。変換ルールは、インタフェース定義から生成
されることから、この場合インタフェース定義に曖昧性
が存在していることになる。複数の連携パスを発見した
場合、開発者に曖昧性がある部分と複数個の連携パスを
提示する。開発者は、提示された複数の連携から1つを
選択するか、あるいは、指摘されたインタフェースの曖
昧性がなくなるようIDL記述のインタフェースを修正
する必要がある。インタフェース定義に曖昧性がなく、
連携を考慮されている場合は、連携を自動的に構成す
る。
Here, a plurality of cooperation paths may be found. Since the conversion rule is generated from the interface definition, in this case, there is ambiguity in the interface definition. When a plurality of cooperation paths are found, a part having ambiguity and a plurality of cooperation paths are presented to the developer. The developer needs to select one of the presented linkages or modify the interface in the IDL description so as to eliminate the ambiguity of the indicated interface. There is no ambiguity in the interface definition,
If coordination is considered, configure coordination automatically.

【0035】図4は連携パスの検出例を模式的に示した
図である。図3(b)に示したオブジェクトおよび変換
ルールの関係に対して、始点オブジェクトクラスをT7
とT5とし、終点オブジェクトクラスをT1として連携
パスを検索した例である。この例では連携パス1および
連携パス2の2つの連携パスが検出されている。例え
ば、利用者は連携パス1を選択したものとする。
FIG. 4 is a diagram schematically showing an example of detecting a cooperative path. For the relationship between the object and the conversion rule shown in FIG.
This is an example in which a cooperation path is searched by setting the end point object class to T1 and T5. In this example, two link paths, link path 1 and link path 2, are detected. For example, it is assumed that the user has selected the cooperation path 1.

【0036】次に、本発明のオブジェクト連携処理は、
上記第三の仕組みとして、得られた連携パスをもとに実
際のオブジェクト連携の構築処理103を行う。連携パ
スの変換ルールをメソッドに変換していくことで、オブ
ジェクトのメソッド呼び出しの関係が構築される。
Next, the object cooperation processing of the present invention
As the third mechanism, the actual object cooperation construction processing 103 is performed based on the obtained cooperation path. By converting the conversion rule of the cooperation path into a method, the relationship of the method call of the object is established.

【0037】なお、連携パスからメッセージパターンの
関係への変換にあたり、検出されたつながりの連携パス
を構成する個々のサブ連携パスに分離し、各々のサブ連
携パスに固有のID情報を割り振るなどして区別して連
携パスの実行時コンテキストを生成し、前記連携パスを
オブジェクトクラス間の連携パスから連携実行時に渡さ
れる値を変数としたオブジェクト連携実行用パターンの
連携パスに変換する必要がある。サブ連携パスに分離す
る理由は以下である。フィールドリアクターモデルに従
って実際のオブジェクト連携の実行時にはメッセージパ
ターン・アクションの反応関係により行われ、複数のサ
ブ連携パスに同じオブジェクトを含む場合がある。リア
クターが備える反応テーブルがサブ連携パスを区別しな
い形のメッセージパターン・アクションの反応関係を持
つ場合には、当該オブジェクトの処理がどのサブ連携パ
スにおける実行であるのか明確ではなくなり、サブ連携
パス間での混乱が生じる。このようにサブ連携パス間で
の混乱が生じると全体の連携パスに沿ったオブジェクト
間連携は正常に実行できなくなってしまう。そこで全体
の連携パスをサブ連携パスに分離してサブ連携パスを区
別し、連携パスの実行時コンテキストを加味した連携パ
ターンを決定する。
In converting the cooperation path into the message pattern relation, the detected connection cooperation path is separated into individual sub cooperation paths, and unique ID information is assigned to each sub cooperation path. It is necessary to generate the execution context of the cooperation path by distinguishing the cooperation path from each other, and to convert the cooperation path from the cooperation path between the object classes to the cooperation path of the object cooperation execution pattern using the value passed at the time of the cooperation execution as a variable. The reason for separating into sub-cooperation paths is as follows. According to the field reactor model, when the actual object cooperation is executed, it is performed based on the reaction relationship of the message pattern / action, and the same object may be included in a plurality of sub cooperation paths. If the reaction table of the reactor has a message pattern / action reaction relationship that does not distinguish between sub-cooperation paths, it is not clear in which sub-operation path the processing of the object is executed. Confusion occurs. If confusion occurs between the sub-cooperation paths as described above, inter-object cooperation along the entire cooperation path cannot be executed normally. Therefore, the entire cooperation path is separated into sub-cooperation paths, the sub-cooperation paths are distinguished, and a cooperation pattern that takes into account the execution context of the cooperation path is determined.

【0038】例えば、生成規則((C1..,Cn)fC0)の実
行時コンテキストは、(((C1:i)..(Cn:j))f(C0:
k))のように表現される。なお、このコンテキストを生
成するまでにC1はi回,Cnはj回,C0はk回出現し
たとする。以上の実行フロー処理の結果、IDを付加さ
れた連携パスをもとに実行用パターンが生成される。
For example, the runtime context of the production rule ((C 1 .., C n ) fC 0 ) is (((C 1 : i) .. (C n : j)) f (C 0 :
k)). Incidentally, C 1 is i times before generating this context, C n is j times, C 0 is the appeared k times. As a result of the above-described execution flow processing, an execution pattern is generated based on the cooperation path to which the ID has been added.

【0039】なお、オブジェクト連携を行うためには、
オブジェクトインスタンスを特定する必要がある。オブ
ジェクトインスタンスに固有のIDを割り付け、インス
タンスIDとして取り扱う。オブジェクトインスタンス
は、システムの実行時にはじめて決定するため、インス
タンスIDの値を予めパターンに埋め込むことはできな
い。そこでインスタンスIDは、パターン中の変数に代
入して取り扱う。また、生成規則を適用するためには、
必要な項が全てが揃う必要がある。そのため、入力用パ
ターンにjoinを用いて項が全て揃うことを待つ。例
えば、実行時コンテキストが生成された生成規則
(((C1:i)・・・(Cn:j))f(C0:k))は入力用パター
ンP=(join((C1:$inst1)・・・(Cn:j$in
stn)))である。出力用パターンQ=(C0:k$ins
l)となり、以下のように表現される。なお、Rは、関
数fを持つシステムが提供するリアクターである。
In order to perform object cooperation,
Object instances need to be specified. A unique ID is assigned to the object instance and handled as an instance ID. Since the object instance is determined only when the system is executed, the value of the instance ID cannot be embedded in the pattern in advance. Therefore, the instance ID is handled by assigning it to a variable in the pattern. Also, to apply the production rules,
All necessary terms must be available. Therefore, it waits for all the terms to be completed using join for the input pattern. For example, the production rule that generated the runtime context
(((C 1 : i)... (C n : j)) f (C 0 : k)) is an input pattern P = (join ((C 1 : $ inst 1 )... (C n : j $ in
st n ))). Output pattern Q = (C 0 : k $ ins
t l ) and is expressed as follows. Note that R is a reactor provided by the system having the function f.

【0040】 f∈R (join((C1:i$inst1)・・・(Cn:j$instn)))⇒(C0:k$instl) 連携パスについて以上の操作を行い、実行用パターンを
生成する。
F∈R (join ((C 1 : i $ inst 1 )... (C n : j $ inst n ))) ⇒ (C 0 : k $ inst 1 ) Perform the above operation on the cooperation path. , To generate an execution pattern.

【0041】本実施形態1ではメソッドの呼び出しをフ
ィールドリアクターモデルのパターン連携で行うことに
よりオブジェクトの関係をメッセージパターンの関係に
変換する。ここで、フィールドリアクターモデルとは、
構造表現された構造化メッセージパターンと当該構造化
メッセージパターンに対する反応アクションとの関係づ
けの連鎖によりオブジェクト間の連携処理を実現するモ
デルである。実際のオブジェクト連携は、フィールドを
介して構造化メッセージパターンとその反応アクション
の関係づけによるオブジェクト間の連携として行われ
る。
In the first embodiment, the relationship between objects is converted into the relationship between message patterns by calling the method in cooperation with the pattern of the field reactor model. Here, the field reactor model is
This is a model that realizes cooperative processing between objects by a chain of associating a structured message pattern that is structured and a response action to the structured message pattern. Actual object linkage is performed as linkage between objects by associating a structured message pattern with its reaction action via a field.

【0042】リアクターは入力用パターンP、関数f、
出力用パターンQを1組とした計算実行体(PfQ)を複
数持つ。計算実行体(PfQ)は、応用の開発者によって
予め定義される。各計算実行体は、互いに異なる入力用
パターンPを持つ。複数のリアクターは、それぞれ並列
に自律的に動作し、1つのリアクターは、メッセージを
受信した順序で処理する。リアクターは、自身の持つす
べての計算実行体に対し、(1)パターンマッチ、
(2)ユーザ関数呼び出し、(3)メッセージ生成を行
う。パターンマッチでは、パターンPを用いて、メッセ
ージMから置換θを取り出す。Pと共に定義されたユー
ザ関数fを取り出された置換θと共に呼び出し、関数出
力として置換θ'を得る。関数出力より得た置換θ'をメ
ッセージ生成用パターンQの変数に代入することによ
り、メッセージM'を生成する。これらの処理を以下に
表現する。パターンPがマッチしない場合、(2)
(3)の処理は実行しない。
The reactor has an input pattern P, a function f,
It has a plurality of calculation execution bodies (PfQ) in which the output pattern Q is one set. The calculation executor (PfQ) is predefined by the application developer. Each calculation executor has a different input pattern P. The plurality of reactors operate autonomously in parallel, and one reactor processes messages in the order received. The reactor performs (1) pattern matching,
(2) Call a user function and (3) Generate a message. In the pattern matching, the substitution θ is extracted from the message M using the pattern P. The user function f defined together with P is called together with the extracted permutation θ to obtain a permutation θ ′ as a function output. The message M ′ is generated by substituting the substitution θ ′ obtained from the function output into the variable of the message generating pattern Q. These processes are described below. When the pattern P does not match, (2)
The processing of (3) is not executed.

【0043】(1)(θ,f)=Match(P,M) (2)θ'=f(θ) (3)M'=Q・θ' ここで、Matchはパターンマッチ関数であり、パタ
ーンPとメッセージMを引数とし、置換θおよび対応す
るユーザ関数fを出力する。ユーザ関数fは、置換を引
数とし、置換を返す関数である。メッセージの生成は、
出力用パターンQの変数部に対し、置換θ'を代入する
ことにより行う。
(1) (θ, f) = Match (P, M) (2) θ ′ = f (θ) (3) M ′ = Q · θ ′ Here, Match is a pattern matching function, and Using P and the message M as arguments, the permutation θ and the corresponding user function f are output. The user function f is a function that takes permutation as an argument and returns permutation. Generation of the message
This is performed by substituting the substitution θ ′ into the variable part of the output pattern Q.

【0044】その模式的な構造は図5のようになる。フ
ィールドリアクターモデルによれば、各リアクター20
0は、関数および手続き206などの計算実行体である
アクション実行部205を内部に持つ抽象的計算主体で
あり、また、当該計算実行体とは独立したメッセージに
対する入出力用パターンを反応テーブル204という形
で持ち、計算実行体と連携を分離している。フィールド
207は通信媒体であり、メッセージ送信部202を介
して送信メッセージをフィールド207上の他のリアク
ターへ分配する。リアクター200は、入力用の構造化
メッセージパターンを用いてメッセージ受信部201を
介してフィールド207からメッセージを取捨選択し、
反応テーブル204に応じてアクション実行部205を
起動し、出力用パターンを用いて生成したメッセージを
フィールド207へ送出する。リアクター200間の連
携は、入出力用パターンの関係によって決定する。その
ため、リアクター200内に存在する計算実行体の連携
も、計算実行体とは独立にメッセージパターンによって
決定される。アプリケーションは、複数のリアクターと
フィールド207によって構成される。連携動作は次の
通りである。あるリアクターがメッセージをフィールド
207へ送出する。各リアクターは、フィールド207
からのそのメッセージを受け、自身が持つ複数の入力用
パターンとパターンマッチを行い、メッセージを取捨選
択する。選択されたメッセージは、入力用パターンに対
応するアクション実行部205により処理され、その結
果と出力用パターンを用いてメッセージを生成し、その
メッセージをフィールド207へ送出される。フィール
ドリアクターモデルでは、このような動作を繰り返す。
The schematic structure is as shown in FIG. According to the field reactor model, each reactor 20
Numeral 0 denotes an abstract calculation subject having an action execution unit 205, which is a calculation execution body such as a function and a procedure 206, inside. Also, an input / output pattern for a message independent of the calculation execution body is referred to as a reaction table 204. It has the form and separates the execution body from the cooperation. The field 207 is a communication medium, and distributes a transmission message to other reactors on the field 207 via the message transmission unit 202. The reactor 200 selects a message from the field 207 via the message receiving unit 201 using the structured message pattern for input,
The action execution unit 205 is activated according to the reaction table 204, and sends a message generated using the output pattern to the field 207. Cooperation between the reactors 200 is determined based on the relationship between input / output patterns. Therefore, the cooperation of the calculation executor existing in the reactor 200 is also determined by the message pattern independently of the calculation executor. The application includes a plurality of reactors and a field 207. The cooperative operation is as follows. A reactor sends a message to field 207. Each reactor has a field 207
Receives the message from, and performs pattern matching with its own plurality of input patterns, and selects the message. The selected message is processed by the action execution unit 205 corresponding to the input pattern, a message is generated using the result and the output pattern, and the message is sent to the field 207. In the field reactor model, such an operation is repeated.

【0045】以上がフィールドリアクターモデルにおけ
るリアクターの基本構造である。
The above is the basic structure of the reactor in the field reactor model.

【0046】上記フィールドリアクターモデルを前提と
して実行フローとなるオブジェクト連携の構築にあたっ
ては、連携パスを解析し、実行時コンテキストを生成
し、実行時コンテキストを加味したパターンを作成す
る。
In constructing the object cooperation as an execution flow on the premise of the field reactor model, a cooperation path is analyzed, a runtime context is generated, and a pattern in consideration of the runtime context is created.

【0047】(1)実行時コンテキストの生成 (2)実行用パターンの生成 上記2つのステップにより実行フローとなるオブジェク
ト連携を構築する。
(1) Generation of a runtime context (2) Generation of an execution pattern The above two steps construct an object cooperation as an execution flow.

【0048】図6はオブジェクトの関係をメッセージパ
ターンの関係に変換した様子を模式的に示した図であ
る。なお、各メッセージパターンには固有に区別するI
D番号が割り振られている。例えば、3つあるメッセー
ジパターンT5にはそれぞれ、T5:0、T5:1、T
5:2というID番号が与えられている。
FIG. 6 is a diagram schematically showing a state in which the relationship between objects is converted into the relationship between message patterns. Note that each message pattern is uniquely identified by I
D number is assigned. For example, three message patterns T5 include T5: 0, T5: 1, and T5, respectively.
An ID number of 5: 2 is given.

【0049】このように本発明のオブジェクト連携装置
ではフィールドリアクターモデルを用いてメッセージパ
ターン連携を通して実際のオブジェクト連携を行う。も
っとも、オブジェクト連携はフィールドリアクターモデ
ルによる連携に限定されることはない。
As described above, the object cooperation apparatus of the present invention performs actual object cooperation through message pattern cooperation using the field reactor model. However, the object cooperation is not limited to the cooperation by the field reactor model.

【0050】次に、本発明のオブジェクト連携処理は、
上記第四の仕組みとして、構築した実際のオブジェクト
連携処理104を実行するため、オブジェクトクラスの
値を決めて連携の始点となるオブジェクトに与え、オブ
ジェクトインスタンスレベルでのオブジェクト連携処理
104を実行し、結果を得る。
Next, the object cooperation processing of the present invention
As the fourth mechanism, in order to execute the constructed actual object cooperation processing 104, the value of the object class is determined and given to the object serving as the starting point of the cooperation, and the object cooperation processing 104 at the object instance level is executed. Get.

【0051】上記のような仕組みにより、利用者の利用
目的に応じたオブジェクト連携処理を構築して実行す
る。
With the above-described mechanism, an object cooperation process corresponding to the purpose of use of the user is constructed and executed.

【0052】以上、本実施形態1のオブジェクト連携装
置は、IDLやWSDLなどの言語で定義された各オブ
ジェクトのインタフェースの記述を解析してオブジェク
ト間の連携関係を変換ルールの集合として記述でき、当
該変換ルールに従ってオブジェクト間の連携関係を調
べ、始点となるオブジェクトクラスと終点となるオブジ
ェクトクラスをつなぐオブジェクトクラス間の連携パス
を検出し、それらオブジェクト間の連携関係の実行環境
を自動構築することにより、与えられた値を基に連携処
理を実行することができる。
As described above, the object cooperation apparatus of the first embodiment can analyze the interface description of each object defined in a language such as IDL or WSDL and describe the cooperation between objects as a set of conversion rules. By examining the cooperative relationship between objects according to the conversion rules, detecting the cooperative path between the object classes that connect the object class as the start point and the object class as the end point, and automatically constructing the execution environment of the cooperative relationship between those objects, The coordination process can be executed based on the given value.

【0053】(実施形態2)次に、オブジェクト連携装
置の具体的構成の一例と実際のアプリケーションの実例
を挙げつつ説明する。
(Embodiment 2) Next, an example of a specific configuration of an object cooperation apparatus and an actual example of an application will be described.

【0054】まず、本実施形態2のオブジェクト連携装
置の概略構成を述べる。図7は、実施形態2にかかる本
発明のオブジェクト連携装置の概略を示した図である。
図7において、10はオブジェクトインタフェース情報
入力部、20は変換ルール生成部、30は変換ルールデ
ータベース、40は利用者インタフェース、50は連携
パス検出部、60はオブジェクト連携関係構築部、70
はオブジェクト連携実行部、100はオブジェクト群で
ある。
First, a schematic configuration of the object cooperation apparatus according to the second embodiment will be described. FIG. 7 is a diagram schematically illustrating an object cooperation apparatus according to the second embodiment of the present invention.
7, reference numeral 10 denotes an object interface information input unit, reference numeral 20 denotes a conversion rule generation unit, reference numeral 30 denotes a conversion rule database, reference numeral 40 denotes a user interface, reference numeral 50 denotes a cooperation path detection unit, reference numeral 60 denotes an object cooperation relation construction unit, and reference numeral 70.
Denotes an object cooperation execution unit, and 100 denotes an object group.

【0055】オブジェクトインタフェース情報入力部1
0は、IDLやWSDLなどインタフェースを定義する
言語で記述された各オブジェクトのインタフェース情報
を入力する部分である。入力にあたって利用者自身がI
DLやWSDLなどのインタフェース記述の詳細につい
て熟知する必要はなく、ネットワーク上に存在する利用
可能なオブジェクトに関するインタフェース情報を入力
すれば良い。もちろん利用者からオブジェクトインタフ
ェース情報に関しての詳細なデータの入力を受け付ける
ことも可能である。
Object interface information input unit 1
Numeral 0 is a part for inputting interface information of each object described in a language that defines an interface such as IDL or WSDL. When inputting, the user himself
It is not necessary to know the details of the interface description such as DL and WSDL, and it is sufficient to input the interface information on the available objects existing on the network. Of course, it is also possible to receive input of detailed data on the object interface information from the user.

【0056】変換ルール生成部20は、オブジェクトイ
ンタフェース情報入力部10から入力されたIDLやW
SDLなどの言語で定義された各オブジェクトのインタ
フェース情報を解析し、オブジェクト間の連携関係の表
現形式を言語による表現形式から変換ルールの集合とし
た表現形式に変換する部分である。
The conversion rule generation unit 20 receives the IDL or W input from the object interface information input unit 10.
This is a part that analyzes interface information of each object defined in a language such as SDL, and converts an expression form of a cooperative relationship between objects from an expression form in a language to an expression form as a set of conversion rules.

【0057】変換ルールデータベース30は、変換ルー
ル生成部20において生成された変換ルールの集合を蓄
積するデータベースである。
The conversion rule database 30 is a database for storing a set of conversion rules generated by the conversion rule generation unit 20.

【0058】利用者インタフェース40は、利用者イン
タフェースであり、利用者は利用者インタフェース40
を介してオブジェクト連携システムに対して必要なデー
タを入力する。利用者が構築したい処理内容に関するデ
ータを入力する。この例では、オブジェクトクラス指定
部41と連携パス選択部42と値指定部43を備えてい
る。オブジェクトクラス指定部41は利用者が利用目的
に応じてオブジェクト連携関係の始点となるオブジェク
トクラスと終点となるオブジェクトクラスを指定する部
分である。連携パス選択部42は後述するように連携パ
ス検出部50において複数の連携パスの候補が得られた
場合に、一つの連携パスを選択し、または一つの連携パ
スが選択できるようにオブジェクトインタフェース情報
を追加する部分である。値指定部43は後述するよう
に、連携パスに沿ってオブジェクト連携構築部60が構
築したオブジェクト連携において実際にオブジェクト連
携を実行するにあたり、始点となるオブジェクトクラス
の値を指定・入力する部分である。
The user interface 40 is a user interface.
Input necessary data to the object cooperation system via the. The user inputs data related to the processing content that he / she wants to construct. In this example, an object class specifying unit 41, a cooperation path selecting unit 42, and a value specifying unit 43 are provided. The object class specification unit 41 is a part for the user to specify an object class as a start point and an object class as an end point of an object cooperation relationship according to a purpose of use. The cooperation path selection unit 42 selects one cooperation path when a plurality of cooperation path candidates are obtained by the cooperation path detection unit 50 as described later, or sets the object interface information so that one cooperation path can be selected. Is the part to add. As will be described later, the value specifying unit 43 is a unit for specifying and inputting a value of an object class serving as a starting point when actually executing object cooperation in the object cooperation constructed by the object cooperation construction unit 60 along the cooperation path. .

【0059】連携パス検出部50は、利用者インタフェ
ース40から指定された始点となるオブジェクトクラス
と終点となるオブジェクトクラスをつなぐ連携パスを検
出する部分である。
The cooperation path detecting section 50 is a part for detecting a cooperation path connecting the object class serving as the start point and the object class serving as the end point specified by the user interface 40.

【0060】ここで、オブジェクトインタフェース情報
に曖昧性が存在する場合、オブジェクト連携ルールにも
曖昧性が存在することとなり、連携パスが一意に定まら
ず複数の連携パスが検出される場合が想定できる。この
場合、利用者に曖昧性が存在する部分と検出された複数
の連携パスを利用者に提示し、連携パス選択部42を介
して利用者にそれら複数の連携パスから1つの連携パス
を選択させるか、あるいは、指摘されたインタフェース
記述の曖昧性がなくなるように利用者インタフェース4
0を介してIDLやWSDLの記述自体を修正させる。
後者の場合はIDLやWSDLなどの記述についての知
識が必要となるが、前者の場合であればIDLやWSD
Lの記述についての詳細な知識は必要とならない。
Here, if there is an ambiguity in the object interface information, there is also an ambiguity in the object cooperation rule, and it can be assumed that a cooperation path is not uniquely determined and a plurality of cooperation paths are detected. In this case, the user is presented with a plurality of cooperative paths detected as a part where the user has ambiguity, and the user selects one cooperative path from the plurality of cooperative paths via the cooperative path selecting unit 42. User interface 4 so as to eliminate the ambiguity of the indicated interface description.
0, the description itself of IDL or WSDL is modified.
In the latter case, knowledge of the description such as IDL or WSDL is required, but in the former case, IDL or WSD is required.
No detailed knowledge of the description of L is required.

【0061】また、この例では、オブジェクト連携パス
検出部50は、オブジェクト連携実行用パターン生成部
51を備えている。オブジェクト連携実行用パターン生
成部51は、オブジェクト連携パス検出部50において
検出した一つながりの連携パスを構成する個々のサブ連
携パスに分離し、各々のサブ連携パスに固有のID情報
を割り振るなどして区別して連携パスの実行時コンテキ
ストを生成し、前記連携パスをオブジェクトクラス間の
連携パスから連携実行時に渡される値を変数としたオブ
ジェクト連携実行用パターンの連携パスに変換する部分
である。
In this example, the object cooperation path detection section 50 includes an object cooperation execution pattern generation section 51. The object cooperation execution pattern generation unit 51 separates the connected cooperation paths detected by the object cooperation path detection unit 50 into individual sub cooperation paths, and assigns unique ID information to each sub cooperation path. This is a part for generating a runtime context of the cooperation path by distinguishing the cooperation path from the object path, and converting the cooperation path from the cooperation path between the object classes to the cooperation path of the object cooperation execution pattern using the value passed at the time of the cooperation execution as a variable.

【0062】なお、実際のオブジェクト連携実行時は、
オブジェクトインスタンスを特定する必要があるが、オ
ブジェクトインスタンスはシステム実行時に初めて決定
されるため、オブジェクトインスタンスの値を予め規定
することはできない。そこで連携実行時に渡される値を
変数としたオブジェクト連携実行用パターンを生成して
おけば良い。オブジェクト連携パス検出部50は、オブ
ジェクト連携実行用パターン生成部51を用いて、連携
パスをオブジェクトクラス間の連携パスから連携実行時
に渡される値を変数としたオブジェクト連携実行用パタ
ーンの連携パスに変換する。
Note that at the time of actual execution of object cooperation,
Although it is necessary to specify the object instance, the value of the object instance cannot be specified in advance because the object instance is determined only at the time of executing the system. Therefore, an object cooperation execution pattern using the value passed at the time of cooperation execution as a variable may be generated. The object cooperation path detection unit 50 uses the object cooperation execution pattern generation unit 51 to convert the cooperation path from the cooperation path between the object classes to the object cooperation execution pattern cooperation path using the value passed at the time of execution of the cooperation as a variable. I do.

【0063】オブジェクト連携関係構築部60は、連携
パス検出部50により検出された連携パスをもとに実際
の実行フローとなるオブジェクト連携を構築する部分で
ある。連携パスを形成するオブジェクト間を結ぶ変換ル
ールをメソッドに変換していくことで、オブジェクトの
メソッド呼び出しの関係が構築されてオブジェクト間連
携が構築される。本実施形態1のオブジェクト連携装置
では、このメソッドの呼び出し関係をフィールドリアク
ターモデルを用いて構築することとし、構造化されたメ
ッセージパターンと当該メッセージにより呼び出される
メソッドの関係として記述する。オブジェクト連携関係
構築部60は、連携元のオブジェクトに送信すべき構造
化メッセージパターンを通知して実装させ、連携先のオ
ブジェクトに受信により反応すべき前記構造化メッセー
ジパターンおよび当該構造化メッセージパターンに対す
るアクションとを通知して実装させる。このように実際
のオブジェクト間の連携は、フィールド上を流れるメッ
セージパターンとその反応となるアクションという関係
でオブジェクト間の連携関係が構築されて行き、始点オ
ブジェクトから終点オブジェクトに至るオブジェクト間
連携が構築される。
The object cooperation relation construction unit 60 is a part for constructing an object cooperation which is an actual execution flow based on the cooperation path detected by the cooperation path detection unit 50. By converting a conversion rule connecting objects forming a cooperation path into a method, the relationship between the method calls of the objects is established, and the cooperation between the objects is established. In the object cooperation apparatus according to the first embodiment, this method call relationship is constructed using a field reactor model, and is described as a relationship between a structured message pattern and a method called by the message. The object cooperation relationship construction unit 60 notifies the cooperation source object of the structured message pattern to be transmitted and causes the object to cooperate, and the structured message pattern to be responded to by receiving the cooperation object and the action to the structured message pattern. And let it be implemented. As described above, in the actual cooperation between objects, a cooperation relationship between objects is established based on a relationship between a message pattern flowing on the field and an action corresponding to the reaction, and the cooperation between objects from the start object to the end object is established. You.

【0064】オブジェクト連携実行部70は、実際のオ
ブジェクト連携の実行が行われるモジュールであり、値
指定部43を介して始点となるオブジェクトクラスの値
がオブジェクト連携実行用パターンの変数部分に与えら
れ、オブジェクト群100において実際のオブジェクト
連携が実行される。
The object coordination execution unit 70 is a module for executing actual object coordination. The value of the object class serving as a starting point is given to the variable portion of the object coordination execution pattern via the value specifying unit 43. Actual object cooperation is executed in the object group 100.

【0065】オブジェクト群100は、ネットワーク上
に存在するオブジェクト群であり、連携関係が構築され
る。本実施形態1ではオブジェクト連携関係はフィール
ドリアクターモデルにより構築されている。各オブジェ
クトは図5に示したフィールドリアクターモデルを実現
する構成を含んでおり、ネットワーク上に送信される構
造化メッセージをモニタして取り込むメッセージ受信部
201と、構造化メッセージと構造化メッセージに対す
る反応であるアクションのセットを記憶する反応テーブ
ル204と、各種関数やアプリケーション206を含
み、アクションの内容に従って処理を実行するアクショ
ン実行部205と、アクションの一環として生成された
メッセージをフィールド上に送るメッセージ送信部20
2と、制御部203を備え、メッセージ・アクションの
反応関係に従って駆動する。
The object group 100 is an object group existing on the network, and a cooperative relationship is established. In the first embodiment, the object cooperation relationship is constructed by a field reactor model. Each object includes a configuration for realizing the field reactor model shown in FIG. 5, and includes a message receiving unit 201 for monitoring and capturing a structured message transmitted over a network, and a response to the structured message and the structured message. A reaction table 204 that stores a set of actions, an action execution unit 205 that includes various functions and applications 206 and executes processing according to the contents of the actions, and a message transmission unit that sends a message generated as part of the actions to a field 20
2 and a control unit 203, which are driven according to the reaction relation of the message and the action.

【0066】次に、オブジェクト連携構築処理をアプリ
ケーション例を挙げつつ、詳しく述べる。以下の例で
は、具体例としてIDLで定義されているオブジェクト
を利用した銀行の口座振り込み処理、WSDLで定義さ
れているオブジェクトを利用した旅行予約処理というを
例を挙げつつ説明する。また、オブジェクト連携関係の
構築はフィールドリアクターモデルで構築する例を説明
する。
Next, the object cooperation construction processing will be described in detail with reference to an application example. In the following example, a bank account transfer process using an object defined in IDL and a travel reservation process using an object defined in WSDL will be described as specific examples. Also, an example in which the object cooperative relationship is constructed using a field reactor model will be described.

【0067】以下、大別して以下の4つの処理工程に分
けて説明する。第一の処理工程は、入力されたIDLや
WSDLで記述された各オブジェクトのインタフェース
情報を基にオブジェクト間の連携関係を簡潔に示すルー
ルの集合を作成する処理工程である。第二の処理工程
は、利用者から入力されたオブジェクト連携の始点とな
るオブジェクトクラスから終点となるオブジェクトクラ
スへ至るオブジェクト連携パスを検出する処理工程であ
る。第三の処理工程は、検出したオブジェクト連携パス
から実行フローを生成し、フィールドリアクターモデル
の構造化メッセージ・反応アクション連携関係に基づい
たオブジェクト連携関係を構築する処理工程である。第
四の処理工程は、実際のオブジェクト連携実行処理であ
り、始点となるオブジェクトクラスの値を指定し、与え
られた始点となるオブジェクトクラスの値を基に連携処
理を実行する工程である。
Hereinafter, the process will be roughly divided into the following four processing steps. The first processing step is a processing step of creating a set of rules that simply indicate a cooperative relationship between objects based on the input interface information of each object described in the input IDL or WSDL. The second processing step is a processing step of detecting an object cooperation path from the object class, which is the start point of the object cooperation, input from the user to the object class, which is the end point. The third processing step is a processing step of generating an execution flow from the detected object cooperation path and constructing an object cooperation relation based on the structured message / reaction action cooperation relation of the field reactor model. The fourth processing step is an actual object cooperation execution processing, in which a value of an object class serving as a starting point is specified, and the cooperation processing is executed based on a given value of the object class serving as a starting point.

【0068】第一の処理工程であるオブジェクト間の連
携関係を簡潔に示すルールの集合を作成する処理工程の
具体例を説明する。
A specific example of the first processing step of creating a set of rules that briefly indicates the cooperative relationship between objects will be described.

【0069】この工程では、オブジェクトインタフェー
ス記述入力部10を介して各オブジェクトのIDLで定
義されたインタフェース記述情報を入力し、変換ルール
生成部20がこれら情報からIDLによって定義された
オブジェクトクラスを変換ルールとして簡潔に表現す
る。オブジェクトクラスはメソッドおよびメンバー変数
から構成される。ここで、オブジェクトクラスを記号と
捉え、クラスの持つメソッドを引数のクラスから帰り値
であるクラスへの連携ルールとみなす。例えば、クラス
Cの持つメソッドfは、はオブジェクトのリスト
(C1,・・・,Cn)を引数とし、オブジェクトC0
返すとき、連携ルールを(C1・・・CnC)Cf 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
の変換ルールの集合から生成したクラス間の関係を模式
的に示した図である。
In this step, the object interface
Determined by the IDL of each object via the data description input unit 10
Enter the defined interface description information and enter the conversion rules
The generation unit 20 is defined by the IDL from these pieces of information.
Express object classes simply as conversion rules
You. Object classes are methods and member variables
Consists of Where the object class is
Catch and return the method of the class from the class of the argument
Is regarded as a cooperation rule for a class. For example, the class
Method f of C is a list of objects
(C1, ..., Cn) As an argument and the object C0To
When returning, set the cooperation rule to (C1... CnC) CfC 0)When
Express. Also, member variables apply virtual methods.
Respond to and obtain the obtained result. For example, a class C of type T
Virtual method C that returns type T when there is a member variable w
w and expressed as a cooperation rule. Also, int, f
"loat" is a basic type defined by CORBA.
The function fφ that returns these types returns the base type from the type nil
It is regarded as a function, and is similarly expressed as a cooperation rule. This
Link all interfaces defined by IDL
Express as a rule and create a set of conversion rules. Raw
The created conversion rules are stored in the conversion rule database 30.
Will be delivered. FIG. 8 shows an account for executing a bank account transfer process.
In the example application, the object interface
Of each object input through the
It is an example of interface description information defined by IDL.
You. Interface information by IDL description shown in FIG.
The conversion rules extracted by the conversion rule generation unit 20 from FIG.
become that way. FIG. 10 shows that the conversion rule generation unit 20
Of relationships between classes generated from a set of transformation rules
FIG.

【0070】また、WSDLで記述されたインタフェー
ス情報に関しては以下のように考える。インターネット
のウェブサービスを、入出力ポートを持つネットワーク
ノードと考え、入力タイプと出力タイプを定義する。こ
のように入出力タイプを定義することにより、ウェブサ
ービスを、入力タイプのデータを出力タイプのデータに
変換するルールと捉えることができる。図11はWSD
Lで記述されたインタフェース情報の例を示す図であ
り、4つのウェブサービスのものが示されている。それ
ぞれのタイプ定義も示されている。図12は、変換ルー
ル生成部20が変換ルールの集合から生成したタイプ間
の関係を模式的に示した図である。
The interface information described in WSDL is considered as follows. An Internet web service is considered as a network node having input / output ports, and input types and output types are defined. By defining the input / output type in this way, the web service can be regarded as a rule for converting input type data into output type data. Figure 11 shows WSD
FIG. 4 is a diagram illustrating an example of interface information described in L, and shows four web services. Each type definition is also shown. FIG. 12 is a diagram schematically illustrating a relationship between types generated by the conversion rule generation unit 20 from a set of conversion rules.

【0071】次に、第二の処理工程であるオブジェクト
連携パスを検出する処理工程の具体例を説明する。この
処理工程では、利用者の利用目的に応じた処理を実現す
るオブジェクト間の連携パスを発見する。まず、利用者
インタフェース40のオブジェクト指定部41を介して
利用者の利用目的に応じ、オブジェクト連携の始点とな
るオブジェクトクラスの集合{CS1,・・・,CSn
と終点オブジェクトのクラスCgを指定する。連携パス
検出部50は、始点のオブジェクトクラスの集合および
終点オブジェクトクラスの指定を受け、変換ルールデー
タベース30のオブジェクト連携ルールを適用して始点
のオブジェクトクラスの集合から終点オブジェクトクラ
スまで到達する変換ルールの適用順序を見つけ出す。適
用順序の発見方法は、上述したように、指定された始点
となるオブジェクトクラスから出発してオブジェクトの
連携関係を順方向に拡大して終点となるオブジェクトク
ラスへ到達するパスを発見する方法や、指定された終点
となるオブジェクトクラスから出発してオブジェクトの
連携関係を逆方向に拡大して始点となるオブジェクトク
ラスへ到達するパスを発見する方法やその折衷方法など
がある。
Next, a specific example of a processing step of detecting an object cooperation path, which is the second processing step, will be described. In this processing step, a cooperative path between objects that realizes processing according to the purpose of use of the user is found. First, a set {CS 1 ,..., CS n } of an object class serving as a starting point of object cooperation according to a use purpose of a user via an object specifying unit 41 of a user interface 40.
And the class C g of the destination object. The cooperation path detection unit 50 receives the specification of the set of the object classes of the start point and the end point object class, and applies the object cooperation rules of the conversion rule database 30 to determine the conversion rule from the set of the object classes of the start point to the end point object class. Figure out the order of application. As described above, the method of finding the application order includes a method of starting from the specified starting object class, expanding the cooperation of the objects in the forward direction, and finding a path that reaches the ending object class, There is a method of starting from the specified end-point object class, expanding the cooperation of the objects in the reverse direction, and finding a path that reaches the start-point object class, or a method of compromising the method.

【0072】連携パス検出部50が実行する連携パス検
索処理を関数という形で記述する場合のアルゴリズムの
一例を図13に示す。関数FindPathは、始点オ
ブジェクトクラスのリストLS={CS1,・・・,CS
n}と終点オブジェクトのクラスCgを引数とし、連携
パス集合を返す。もし連携パスが存在しないとき、ni
lを返す。なお、ルールの集合S={(P111),
・・・,(Pnnn)}、Pk=(p1・・・pn)であ
る。ループによる無限展開の発生を抑えるため、ヒスト
リリストHを用意する。ヒストリリストHは既に検索し
た型の集合である。初期値はH:={}である。また、
関数SearchRulesは、引数として型Cgおよ
びルール集合Sをとる。この関数は、ルール集合Sから
Cgを出力用パターンとする要素を取り出し、集合S=
{(Pkkk)∈S|Qk=Cg}を返す。
FIG. 13 shows an example of an algorithm when the cooperation path search process executed by the cooperation path detection unit 50 is described in the form of a function. The function FindPath is a list of source object classes L S = {CS 1 ,..., CS
Using n } and the class Cg of the end point object as arguments, a set of cooperation paths is returned. If there is no link path, ni
Returns l. Note that a set of rules S = {(P 1 f 1 Q 1 ),
..., a (P n f n Q n) }, P k = (p 1 ··· p n). A history list H is prepared to suppress the occurrence of infinite expansion due to the loop. The history list H is a set of types already searched. The initial value is H: = {}. Also,
The function SearchRules takes a type Cg and a rule set S as arguments. This function extracts elements having Cg as an output pattern from the rule set S, and sets S =
Return | {Q k = C g ( P k f k Q k) ∈S}.

【0073】図14は、銀行口座振り込み処理を実行す
るアプリケーション例において、発見した変換ルールの
適用順序を模式的に示す図である。図14の例では始点
となるオブジェクトクラスはAccountManag
er,AccountID,paymentの3つであ
り終点となるオブジェクトクラスはpayResであ
る。この例では一意に連携パスが定まったが、複数発見
された場合、連携パス検出部50は利用者インタフェー
ス40を介して複数の連携パスの候補があることを知ら
せ、連携パス指定部42を介して利用者に連携パスを選
択させる。
FIG. 14 is a diagram schematically showing the application order of the found conversion rules in the example of the application for executing the bank account transfer processing. In the example of FIG. 14, the object class serving as the starting point is AccountManag.
er, AccountID, and payment, and the object class that is the end point is payRes. In this example, the cooperative path is uniquely determined. However, when a plurality of cooperative paths are found, the cooperative path detection unit 50 notifies the user that there are a plurality of cooperative path candidates via the user interface 40, and transmits the cooperative path via the cooperative path designating unit 42. The user to select a cooperative path.

【0074】図15は、出張予約処理を実行するアプリ
ケーション例において、発見した変換ルールの適用順序
を模式的に示す図である。図15の例では始点となるタ
イプは、出発・到着場所(location),出発・
帰省日(Date),出発時間(Time)の3つであ
り終点となるタイプは出張前処理(Coordinat
eDone)である。この例では一意に連携パスが定ま
ったが、複数発見された場合、連携パス検出部50は利
用者インタフェース40を介して複数の連携パスの候補
があることを知らせ、連携パス指定部42を介して利用
者に連携パスを選択させる。
FIG. 15 is a diagram schematically showing the application order of the found conversion rules in an example of an application for executing a business trip reservation process. In the example of FIG. 15, the starting point types are departure / arrival location (location), departure /
There are three types, return date (Date) and departure time (Time), and the end type is pre-business trip processing (Coordinat).
eDone). In this example, the cooperative path is uniquely determined. However, when a plurality of cooperative paths are found, the cooperative path detection unit 50 notifies the user that there are a plurality of cooperative path candidates via the user interface 40, and transmits the cooperative path via the cooperative path designating unit 42. The user to select a cooperative path.

【0075】次に、第三の処理工程であるオブジェクト
連携関係を構築する処理工程の具体例を説明する。この
処理工程は、第二の処理工程で検出したオブジェクト連
携パスに基づいて実行フローを生成し、フィールドリア
クターモデルによる構造化メッセージ・反応アクション
連携関係を構築する処理工程である。本実施形態2では
CORBAを用いた場合の実行用パターンの生成につい
て説明する。
Next, a description will be given of a specific example of the third processing step, which is a processing step for establishing an object cooperation relationship. This processing step is a processing step of generating an execution flow based on the object cooperation path detected in the second processing step, and constructing a structured message / reaction action cooperation relationship based on the field reactor model. In the second embodiment, generation of an execution pattern when CORBA is used will be described.

【0076】図16は、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を取り扱うことができる。
FIG. 16 is a diagram showing an execution environment for generating an execution pattern when CORBA is used. CO
The RBA object pool 320 manages the CORBA object 350 generated by the system during execution of the cooperation path, and has an operation interface for the object. In addition, it manages the instance ID and performs mapping to an actual object instance. CORB
The A object factory 330 acquires the CORBA object 350 through the CORBA naming service, and stores the object generated by the CORBA object factory 330 in the CORBA object pool 3.
Hand over to 20. The object factory 330 is a reactor and provides a naming service for the field. CORBA Object Factory 330
Finds an object with the specified name and returns
Returns D. The pattern folder 310 is also a reactor, and generates and holds an execution flow based on a cooperation path.
Through the CORBA object pool 320. The user reactor 200 does not need to be aware of IDL when operating the CORBA object 350, and can handle the CORBA object 350 by pattern cooperation on the field.

【0077】フィールド207では、CORBAオブジ
ェクト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の帰り値
を置換に変換し、出力用パターンにその置換を適用しメ
ッセージを生成する。
In the field 207, all CORBA objects 350 are handled as instance IDs, and the pattern folder 310 is operated on the object entity. The pattern folder 310 operates the CORBA object 350 according to the message. The pattern folder 310 has a general-purpose method activation function R = Invoke (O, m, P) of the object. This function takes as arguments the object instance ID “O”, the method name “m” to be called, and the parameter string “P = (p 1 ,..., P n )” necessary for method activation. CO
After invoking the method through the RBA object pool 320, the result R is returned. The parameter string is also represented by an instance ID. The execution pattern is set together with an activation function corresponding to each pattern. The activation function set with the pattern uses the substitution obtained by the pattern match and calls the function Invoke. Convert the return value of Invoke into a substitution, and apply the substitution to the output pattern to generate a message.

【0078】次に、第四の処理工程である実際のオブジ
ェクト連携実行処理を説明する。
Next, the actual object cooperation execution process, which is the fourth processing step, will be described.

【0079】実際のオブジェクト連携の実行にあたり、
値指定部43を介して始点となるオブジェクトクラスの
値を指定し、与えられた始点となるオブジェクトクラス
の値を基に連携処理を実行する。起動はリアクターから
スタートメッセージをフィールドへ流すことで行われ
る。スタートメッセージにより、パターンフォルダは実
行フローに沿って、CORBAオブジェクトの連携を開
始し、連携パスを実行していく。実行は、フィールドを
通して行われ、パターンフォルダを通してCORBAオ
ブジェクトの実体が連携し、目的のオブジェクトが生成
されるまで繰り返される。パターンの終点である目的の
オブジェクトが生成された時点で終了する。
In executing the actual object cooperation,
The value of the starting object class is specified via the value specifying unit 43, and the cooperative processing is executed based on the given value of the starting object class. Activation is performed by sending a start message from the reactor to the field. In response to the start message, the pattern folder starts coordination of the CORBA objects along the execution flow, and executes a coordination pass. The execution is performed through the field, and is repeated until the CORBA object entities cooperate through the pattern folder and the target object is generated. The process ends when a target object that is the end point of the pattern is generated.

【0080】銀行口座振り込み処理を実行するアプリケ
ーション例では、図17に示すように、値として“振込
元の銀行名”、“振込元の口座番号”、“振込先の銀行
名”、“振込先の口座番号”、“振込金額”が与えら
れ、オブジェクト間の連携が実行され、銀行口座振り込
み処理が実行される。
In the example of the application for executing the bank account transfer process, as shown in FIG. 17, the values “transfer source bank name”, “transfer source account number”, “transfer destination bank name”, “transfer destination bank name” The account number and the transfer amount are given, the link between the objects is executed, and the bank account transfer process is executed.

【0081】出張の予約処理を実行するアプリケーショ
ン例では、図18に示すように、値として“出発場所
(location)”、“到着場所(locatio
n)”、“出発日(Date)”、“帰省日(Dat
e)”、“出発時間(Time)”が与えられ、それぞ
れのオブジェクトに対応する値が与えられ、出張予約処
理が実行される。
In the example of an application for executing a business trip reservation process, as shown in FIG. 18, the values "departure location (location)" and "arrival location (location)" are used.
n)), “Departure date (Date)”, “Homecoming date (Dat)
e), "Departure time (Time)", values corresponding to the respective objects are given, and a business trip reservation process is executed.

【0082】なお、図18に示すように、同一データの
使い回しやプロファイルデータを利用した自動データ入
力も可能である。
As shown in FIG. 18, repeated use of the same data and automatic data input using profile data are also possible.

【0083】以上、本発明の実施形態2のオブジェクト
連携装置によれば、各オブジェクトのインタフェースの
記述を解析してオブジェクトの連携関係をルールの集合
として簡潔に表現でき、当該ルールによりオブジェクト
間の連携関係を調べることにより、利用者の利用目的に
応じ、始点となるオブジェクトから終点となるオブジェ
クトまでのオブジェクト間の連携パスを自動的に検出で
き、また、それらオブジェクト群の連携処理を柔軟に構
築することができる。
As described above, according to the object cooperation apparatus of the second embodiment of the present invention, the description of the interface of each object can be analyzed and the cooperation of the objects can be expressed simply as a set of rules. By examining the relationship, it is possible to automatically detect the cooperative path between the objects from the starting object to the ending object according to the purpose of use of the user, and to flexibly construct the cooperative processing of the object group. be able to.

【0084】(実施形態3)実施形態3のオブジェクト
連携システムは、オブジェクト連携パス検出部が連携パ
ス検出の学習機能を備え、前記オブジェクトクラス指定
部から与えられた始点となるオブジェクトクラスと終点
となるオブジェクトクラスをつなぐオブジェクトクラス
間の連携パスの検出結果を知識として蓄積し、連携パス
検出処理に用いる機能を備えたものである。
(Embodiment 3) In the object cooperation system according to Embodiment 3, the object cooperation path detection unit has a learning function of detection of the cooperation path, and the object class as the start point and the end point provided from the object class designation unit are used. It has a function of accumulating, as knowledge, detection results of cooperation paths between object classes connecting object classes, and using the results for cooperation path detection processing.

【0085】図19は、実施形態3のオブジェクト連携
システムの構成概略図である。オブジェクトインタフェ
ース情報入力部10、変換ルール生成部20、変換ルー
ルデータベース30、利用者インタフェース40、オブ
ジェクト連携関係構築部60、オブジェクト連携実行部
70、オブジェクト群100は実施形態2で示した図7
と同様であるが、連携パス検出部50aはオブジェクト
連携実行用パターン生成部51に加え、学習部52、連
携パス知識部53を備えている。学習部52および連携
パス知識部53は連携パス検出処理の学習機能を有し、
連携パス検出部50aによる連携パス検出処理結果が得
られると、学習部52は、オブジェクトクラス指定部4
1から与えられた始点となるオブジェクトクラスと終点
となるオブジェクトクラスの入力に対し、検出された連
携パスを結果として対応づけて学習し、その知識を連携
パス知識部53に格納する。連携パス検出部50aは次
回以降の連携パス検出処理にあたり、連携パス知識部5
3に格納された連携パス知識を活用して連携パスの検出
処理を実行する。次回以降の連携パス検出処理において
与えられた始点となるオブジェクトクラスと終点となる
オブジェクトクラスが連携パス知識部53に格納された
連携パス知識のものと同様であれば、当該知識を活用し
て連携パスの検出処理が実行できる。
FIG. 19 is a schematic diagram showing the configuration of the object cooperation system according to the third embodiment. The object interface information input unit 10, the conversion rule generation unit 20, the conversion rule database 30, the user interface 40, the object cooperation relationship construction unit 60, the object cooperation execution unit 70, and the object group 100 are the same as those shown in FIG.
However, the cooperation path detection unit 50a includes a learning unit 52 and a cooperation path knowledge unit 53 in addition to the object cooperation execution pattern generation unit 51. The learning unit 52 and the cooperation path knowledge unit 53 have a learning function of the cooperation path detection processing,
When the result of the cooperation path detection processing by the cooperation path detection unit 50a is obtained, the learning unit 52
With respect to the input of the object class as the start point and the object class as the end point given from 1, learning is performed by associating the detected cooperation path as a result, and the knowledge is stored in the cooperation path knowledge unit 53. The cooperation path detection unit 50a performs the cooperation path knowledge unit 5 in the subsequent and subsequent cooperation path detection processing.
3 to execute a cooperative path detection process by utilizing the cooperative path knowledge stored in No.3. If the object class as the start point and the object class as the end point given in the next and subsequent cooperation path detection processing are the same as those of the cooperation path knowledge stored in the cooperation path knowledge unit 53, the knowledge is utilized to perform cooperation. Path detection processing can be executed.

【0086】なお、ネットワーク上のオブジェクトの追
加、削除、保守などによるサービス停止など、ネットワ
ークの状態は動的に変化することもあるので、連携パス
知識部52に格納された連携パス知識を固定的なデータ
として参照することはできない点に注意を要する。
The network state may change dynamically, for example, when the service is stopped due to the addition, deletion, or maintenance of an object on the network. Therefore, the cooperation path knowledge stored in the cooperation path knowledge unit 52 is fixed. It should be noted that they cannot be referred to as unsafe data.

【0087】以上、実施形態3のオブジェクト連携シス
テムによれば、オブジェクト連携パス検出部が連携パス
検出の学習機能を備え、オブジェクトクラス指定部から
与えられた始点となるオブジェクトクラスと終点となる
オブジェクトクラスをつなぐオブジェクトクラス間の連
携パスの検出結果を知識として蓄積し、連携パス検出処
理に用いることができる。
As described above, according to the object cooperation system of the third embodiment, the object cooperation path detection unit has a learning function of the cooperation path detection, and the object class as the start point and the object class as the end point given from the object class specification unit The detection result of the cooperative path between the object classes connecting the objects can be accumulated as knowledge and used for the cooperative path detection processing.

【0088】(実施形態4)本発明のオブジェクト連携
装置は、上記に説明した構成を実現する処理ステップを
記述したプログラムをコンピュータ読み取り可能な記録
媒体に記録して提供することにより、各種コンピュータ
を用いて構築することができる。本発明のオブジェクト
連携装置を実現する処理ステップを備えたプログラムを
記録した記録媒体は、図20に図示した記録媒体の例に
示すように、CD−ROM1002やフレキシブルディ
スク1003等の可搬型記録媒体1001だけでなく、
ネットワーク上にある記録装置内の記録媒体1000
や、コンピュータのハードディスクやRAM等の記録媒
体1005のいずれであっても良く、プログラム実行時
には、プログラムはコンピュータ1004上にローディ
ングされ、主メモリ上で実行される。
(Embodiment 4) The object cooperation apparatus of the present invention uses various computers by recording and providing a program describing processing steps for realizing the above-described configuration on a computer-readable recording medium. Can be built. As shown in the example of the recording medium shown in FIG. 20, a recording medium storing a program having processing steps for realizing the object cooperation apparatus of the present invention is a portable recording medium 1001 such as a CD-ROM 1002 or a flexible disk 1003. not only,
Recording medium 1000 in recording device on network
Alternatively, the program may be any of a recording medium 1005 such as a computer hard disk and a RAM. When the program is executed, the program is loaded on the computer 1004 and executed on the main memory.

【0089】本発明のオブジェクト連携装置に関し、さ
らに以下の項を開示する。
The following items are further disclosed with respect to the object cooperation apparatus of the present invention.

【0090】(付記1)ネットワーク上のオブジェクト
のインタフェース情報を入力して解析し、オブジェクト
間の連携関係を変換ルールの集合として記述するルール
記述部と、オブジェクト連携関係の始点となるオブジェ
クトクラスと終点となるオブジェクトクラスを指定する
オブジェクトクラス指定部と、前記変換ルールに従って
オブジェクト間の連携関係を調べ、前記始点となるオブ
ジェクトクラスと前記終点となるオブジェクトクラスを
つなぐオブジェクトクラス間の連携パスを検出するオブ
ジェクト連携パス検出部と、前記検出された連携パスに
応じてオブジェクト間の連携関係の実行環境を構築する
オブジェクト連携構築部と、前記始点となるオブジェク
トクラスの値を指定する値指定部と、前記与えられた始
点となるオブジェクトクラスの値を基に連携処理を実行
するオブジェクト群とを備えたことを特徴とするオブジ
ェクト連携装置(1)。
(Supplementary Note 1) The interface information of the objects on the network is input and analyzed, and a rule description section for describing the cooperative relationship between the objects as a set of conversion rules, an object class and an end point as a starting point of the object cooperative relationship An object class designating unit for designating an object class to be determined, and an object for examining a cooperation relationship between objects according to the conversion rule and detecting a cooperation path between the object classes connecting the object class serving as the start point and the object class serving as the end point. A cooperation path detection unit, an object cooperation construction unit that constructs an execution environment of a cooperation relationship between objects according to the detected cooperation path, a value specification unit that specifies a value of the object class that is the starting point, Object as the starting point Object collaboration apparatus being characterized in that a group of objects to perform cooperative processing based on the value of Toklas (1).

【0091】(付記2)前記オブジェクト連携構築部
は、前記オブジェクト群の連携においてオブジェクト間
に構造化メッセージと当該構造化メッセージに対する反
応であるアクションとの関係づけによる連携関係を構築
するものであり、連携元のオブジェクトに送信すべき構
造化メッセージパターンを通知して実装させ、連携先の
オブジェクトに受信により反応すべき前記構造化メッセ
ージパターンおよび当該構造化メッセージパターンに対
するアクションとを通知して実装させる付記1に記載の
オブジェクト連携装置(2)。
(Supplementary Note 2) The object coordination constructing unit constructs a cooperative relationship between the objects in the coordination of the object group by associating a structured message and an action which is a reaction to the structured message. Notifying the cooperating object of the structured message pattern to be transmitted and mounting it, and notifying the cooperating object of the structured message pattern to be responded to by reception and the action for the structured message pattern and mounting the object The object cooperation device (2) according to claim 1.

【0092】(付記3)前記オブジェクト群の各オブジ
ェクトが、ネットワーク上に送信される構造化メッセー
ジをモニタして取り込むメッセージ受信部と、構造化メ
ッセージと構造化メッセージに対する反応であるアクシ
ョンのセットを記憶する反応テーブルと、前記アクショ
ンの内容に従って処理を実行するアクション実行部を備
え、前記メッセージ・アクションの反応関係に従って駆
動する付記1または付記2に記載のオブジェクト連携装
置(3)。
(Supplementary Note 3) A message receiving unit in which each object of the object group monitors and captures a structured message transmitted over a network, and stores a structured message and a set of actions that are reactions to the structured message. 3. The object cooperation device according to claim 1, further comprising: a reaction table that performs the processing according to the content of the action; and an action execution unit that drives according to a reaction relationship between the message and the action.

【0093】(付記4)前記オブジェクト連携パス検出
部が、連携パスが複数検出された場合に一つの連携パス
を利用者に選択させる連携パス選択部を備えた付記1か
ら3のいずれかに記載のオブジェクト連携装置。
(Supplementary note 4) Any one of Supplementary notes 1 to 3, wherein the object cooperation path detection unit includes a cooperation path selection unit that allows a user to select one cooperation path when a plurality of cooperation paths are detected. Object cooperation device.

【0094】(付記5)前記オブジェクト連携パス検出
部が、検出した一つながりの連携パスを構成する個々の
サブ連携パスに分離し、各々のサブ連携パスを区別して
連携パスの実行時コンテキストを生成し、前記連携パス
をオブジェクトクラス間の連携パスから連携実行時に渡
される値を変数としたオブジェクト連携実行用パターン
の連携パスに変換するオブジェクト連携実行用パターン
生成部を備えた付記1から3のいずれかに記載のオブジ
ェクト連携装置(4)。
(Supplementary Note 5) The object cooperative path detection unit separates the detected cooperative cooperative paths into individual sub cooperative paths, and distinguishes each sub cooperative path to generate a cooperative path execution context. Any of appendices 1 to 3, further comprising an object coordination execution pattern generation unit that converts the coordination path from a coordination path between object classes to a coordination path of an object coordination execution pattern using a value passed at the time of coordination execution as a variable. An object cooperation device (4) according to the first aspect.

【0095】(付記6)前記連携パスにおいて、複数の
オブジェクト連携元とオブジェクト連携関係を持つオブ
ジェクト連携先がある場合、前記オブジェクト連携先は
前記複数のオブジェクト連携元の各々から個別に構造化
メッセージを受信し、前記反応テーブルのアクションが
発火するために必要なすべての引数が揃ったことを契機
としてアクションを発火させる構造化メッセージパター
ン・反応アクションの関係づけを持つ付記1から3のい
ずれかに記載のオブジェクト連携装置。
(Supplementary Note 6) When there is an object cooperation destination having an object cooperation relationship with a plurality of object cooperation sources in the cooperation path, the object cooperation destination individually sends a structured message from each of the plurality of object cooperation sources. 4. A structured message pattern / reaction action association that receives and triggers an action when all arguments necessary for the action of the reaction table to fire are prepared. Object cooperation device.

【0096】(付記7)前記連携パスにおいて、複数の
オブジェクト連携先とオブジェクト連携関係を持つオブ
ジェクト連携元がある場合、前記オブジェクト連携元は
フィールドに構造化メッセージを送信し、前記複数のオ
ブジェクト連携先の各々は前記構造化メッセージが受信
されたことを契機として反応アクションを発火させる構
造化メッセージパターン・反応アクションの関係づけを
持つ付記1から3のいずれかに記載のオブジェクト連携
装置。
(Supplementary Note 7) If there is an object cooperation source having an object cooperation relationship with a plurality of object cooperation destinations in the cooperation path, the object cooperation source transmits a structured message to a field, and the plurality of object cooperation destinations 4. The object cooperation device according to any one of supplementary notes 1 to 3, wherein each of the objects has a relationship between a structured message pattern and a reaction action that fires a reaction action when the structured message is received.

【0097】(付記8)前記オブジェクト連携パス検出
部が連携パス検出の学習機能を備え、前記オブジェクト
クラス指定部から与えられた始点となるオブジェクトク
ラスと終点となるオブジェクトクラスをつなぐオブジェ
クトクラス間の連携パスの検出結果を知識として蓄積
し、連携パス検出処理に用いる付記1から3のいずれか
に記載のオブジェクト連携装置。
(Supplementary Note 8) The object cooperation path detecting unit has a learning function of detecting a cooperation path, and cooperates between object classes which are provided by the object class specifying unit and connect the starting object class and the ending object class. 4. The object cooperation apparatus according to any one of Supplementary notes 1 to 3, wherein path detection results are accumulated as knowledge and used for a cooperation path detection process.

【0098】(付記9)前記オブジェクトのインタフェ
ース情報がIDLまたはWSDLのいずれかで記述され
た情報である付記1から3のいずれかに記載のオブジェ
クト連携装置。
(Supplementary note 9) The object cooperation apparatus according to any one of supplementary notes 1 to 3, wherein the interface information of the object is information described in either IDL or WSDL.

【0099】(付記10)オブジェクト間にオブジェク
ト連携関係を構築するオブジェクト連携装置を実現する
処理プログラムを記録したコンピュータ装置読み取り可
能な記録媒体であって、ネットワーク上のオブジェクト
のインタフェース情報を入力して解析し、オブジェクト
間の連携関係を変換ルールの集合として記述するルール
記述処理ステップと、オブジェクト連携関係の始点とな
るオブジェクトクラスと終点となるオブジェクトクラス
を指定するオブジェクトクラス指定処理ステップと、前
記変換ルールに従ってオブジェクト間の連携関係を調
べ、前記始点となるオブジェクトクラスと前記終点とな
るオブジェクトクラスをつなぐオブジェクトクラス間の
連携パスを検出するオブジェクト連携パス検出処理ステ
ップと、前記検出された連携パスに応じてオブジェクト
間の連携関係の実行環境を構築するオブジェクト連携構
築処理ステップと、前記始点となるオブジェクトクラス
の値を指定する値指定処理ステップと、前記与えられた
始点となるオブジェクトクラスの値を基に連携処理を実
行するオブジェクトを生成する処理ステップとを備えた
処理プログラムを記録したことを特徴とする記録媒体
(5)。
(Supplementary Note 10) A computer-readable recording medium on which a processing program for realizing an object cooperation apparatus for establishing an object cooperation relation between objects is recorded. A rule description processing step of describing a cooperative relationship between objects as a set of conversion rules; an object class specifying process step of specifying an object class serving as a start point and an end class of the object cooperative relationship; An object cooperation path detection processing step of examining a cooperation relationship between objects and detecting a cooperation path between the object classes connecting the object class serving as the start point and the object class serving as the end point; Object cooperation construction processing step for constructing an execution environment of a cooperative relationship between objects according to the cooperation path obtained, a value specification processing step for specifying the value of the object class serving as the starting point, and the given object class serving as the starting point (5) recording a processing program comprising: a processing step of generating an object for executing a cooperative process based on the value of (i).

【0100】[0100]

【発明の効果】本発明のオブジェクト連携装置によれ
ば、各オブジェクトのインタフェースの記述を解析して
オブジェクトの連携関係をルールの集合として簡潔に表
現でき、当該ルールによりオブジェクト間の連携関係を
調べることにより、利用者の利用目的に応じ、始点とな
るオブジェクトから終点となるオブジェクトまでのオブ
ジェクト間の連携パスを自動的に検出でき、また、それ
らオブジェクト群の連携処理を柔軟に構築することがで
きる。
According to the object cooperation apparatus of the present invention, the description of the interface of each object can be analyzed and the cooperation of the objects can be expressed simply as a set of rules. Accordingly, it is possible to automatically detect the cooperation path between the objects from the object serving as the start point to the object serving as the end point according to the purpose of use of the user, and to flexibly construct the cooperation processing of the object group.

【0101】本発明のオブジェクト連携装置によれば、
入力されたインタフェース記述に曖昧性がある場合で
も、連携パスを一意に定め、オブジェクト間の実行フロ
ーを形成することができる。
According to the object cooperation device of the present invention,
Even when there is ambiguity in the input interface description, it is possible to uniquely define a cooperation path and form an execution flow between objects.

【0102】本発明のオブジェクト連携装置によれば、
複数のオブジェクト連携元の処理を、いわゆるAND演
算の形で受け、所定複数のオブジェクト元との連携成立
を契機としてオブジェクト連携先が反応するように連携
関係を制御することができる。また、複数のオブジェク
ト連携元の処理を、いわゆるOR演算の形で受け、一又
は所定組み合わせのオブジェクト元との連携成立を契機
としてオブジェクト連携先が反応するように連携関係を
制御することもできる。
According to the object cooperation device of the present invention,
The processing of a plurality of object cooperation sources is received in the form of a so-called AND operation, and the cooperation relationship can be controlled so that the object cooperation destination reacts when the cooperation with a predetermined plurality of object sources is established. Further, it is also possible to receive the processing of a plurality of object cooperation sources in the form of a so-called OR operation and control the cooperation relationship so that the object cooperation destination reacts when the cooperation with one or a predetermined combination of object sources is established.

【0103】さらに、連携パス検出の学習機能を備える
ことができ、オブジェクトクラス指定部から与えられた
始点となるオブジェクトクラスと終点となるオブジェク
トクラスをつなぐオブジェクトクラス間の連携パスの検
出結果を知識として蓄積し、連携パス検出処理に用いる
ことができ、処理効率向上を図ることができる。
Furthermore, a learning function for detecting a cooperative path can be provided, and a result of detecting a cooperative path between the object classes connecting the object class serving as the start point and the object class serving as the end point given from the object class designating unit is used as knowledge. The accumulated data can be used for the cooperative path detection processing, and the processing efficiency can be improved.

【図面の簡単な説明】[Brief description of the drawings]

【図1】 本発明の実施形態1にかかるオブジェクト連
携構築処理の概要を模式的に示した図
FIG. 1 is a diagram schematically showing an outline of an object cooperation construction process according to a first embodiment of the present invention;

【図2】 (a)はIDL記述によるインタフェース情
報の例、(b)は(a)のインタフェース情報から生成
した変換ルールの例を示す図
2A is a diagram illustrating an example of interface information based on an IDL description, and FIG. 2B is a diagram illustrating an example of a conversion rule generated from the interface information of FIG.

【図3】 本発明の実施形態1にかかる変換ルールの集
合から各オブジェクトと変換ルールとの関係を模式的に
示した図
FIG. 3 is a diagram schematically showing a relationship between each object and a conversion rule from a set of conversion rules according to the first embodiment of the present invention;

【図4】 本発明の実施形態1にかかる連携パスの検出
例を模式的に示した図
FIG. 4 is a diagram schematically illustrating an example of detecting a cooperative path according to the first embodiment of the present invention;

【図5】 本発明の実施形態1にかかるフィールドリア
クターモデルにおけるリアクターの模式的な構造を示し
た図
FIG. 5 is a diagram showing a schematic structure of a reactor in a field reactor model according to the first embodiment of the present invention.

【図6】 本発明の実施形態1にかかるオブジェクトの
関係をメッセージパターンの関係に変換した様子を模式
的に示した図
FIG. 6 is a diagram schematically illustrating a state in which a relation between objects according to the first embodiment of the present invention is converted into a relation between message patterns.

【図7】 本発明の実施形態2にかかるオブジェクト連
携装置の概略を示した図
FIG. 7 is a diagram schematically illustrating an object cooperation device according to a second embodiment of the present invention;

【図8】 本発明の実施形態2にかかる銀行口座振り込
み処理を実行するアプリケーション例における各オブジ
ェクトのIDLで定義されたインタフェース記述情報の
例を示した図
FIG. 8 is a diagram showing an example of interface description information defined by IDL of each object in an example of an application for executing a bank account transfer process according to the second embodiment of the present invention;

【図9】 本発明の実施形態2にかかる図8に示したI
DL記述によるインタフェース情報から変換ルール生成
部20が抽出した変換ルールを示す図
FIG. 9 is a diagram illustrating an example of an I shown in FIG. 8 according to the second embodiment of the present invention.
The figure which shows the conversion rule which the conversion rule production | generation part 20 extracted from the interface information by DL description.

【図10】 本発明の実施形態2にかかる図9の変換ル
ールの集合からルール生成部20が生成したクラス間の
関係を模式的に示した図
FIG. 10 is a diagram schematically illustrating a relationship between classes generated by the rule generation unit 20 from the set of conversion rules of FIG. 9 according to the second embodiment of the present invention.

【図11】 本発明の実施形態2にかかるWSDLで記
述されたインタフェース情報の例を示す図
FIG. 11 is a diagram showing an example of interface information described in WSDL according to the second embodiment of the present invention.

【図12】 本発明の実施形態2にかかる図11に示し
たWSDL記述によるインタフェース情報から生成した
変換ルールの集合におけるタイプ間の関係を模式的に示
した図
12 is a diagram schematically illustrating a relationship between types in a set of conversion rules generated from the interface information based on the WSDL description illustrated in FIG. 11 according to the second embodiment of the present invention.

【図13】 本発明の実施形態2にかかる連携パス検出
部50が実行する連携パス検索処理を関数という形で記
述する場合のアルゴリズムの一例を示す図
FIG. 13 is a diagram showing an example of an algorithm when a cooperative path search process executed by a cooperative path detection unit 50 according to the second embodiment of the present invention is described in the form of a function.

【図14】 本発明の実施形態2にかかる銀行口座振り
込み処理を実行するアプリケーション例において、発見
した変換ルールの適用順序を模式的に示す図
FIG. 14 is a diagram schematically showing an application order of discovered conversion rules in an example of an application for executing a bank account transfer process according to the second embodiment of the present invention.

【図15】 本発明の実施形態2にかかる出張予約処理
を実行するアプリケーション例において、発見した変換
ルールの適用順序を模式的に示す図
FIG. 15 is a diagram schematically showing an application order of discovered conversion rules in an example of an application for executing a business trip reservation process according to the second embodiment of the present invention.

【図16】 本発明の実施形態2にかかるCORBAを
用いる場合の実行用パターンの生成処理の実行環境を示
す図
FIG. 16 is a diagram showing an execution environment of an execution pattern generation process when using CORBA according to the second embodiment of the present invention;

【図17】 本発明の実施形態2にかかる銀行口座振り
込み処理を実行するアプリケーション例におけるオブジ
ェクト連携実行を示す図
FIG. 17 is a view showing execution of object cooperation in an example of an application for executing a bank account transfer process according to the second embodiment of the present invention;

【図18】 本発明の実施形態2にかかる出張の予約処
理を実行するアプリケーション例におけるオブジェクト
連携実行を示す図
FIG. 18 is a diagram showing object cooperation execution in an example of an application for executing a business trip reservation process according to the second embodiment of the present invention.

【図19】 本発明の実施形態3にかかるオブジェクト
連携装置の概略を示した図
FIG. 19 is a diagram schematically illustrating an object cooperation apparatus according to a third embodiment of the present invention.

【図20】 本発明の実施形態4のオブジェクト連携装
置を実現する処理プログラムを記録した記録媒体の例を
示す図
FIG. 20 is a diagram showing an example of a recording medium on which a processing program for realizing the object cooperation apparatus according to the fourth embodiment of the present invention is recorded.

【図21】 従来技術のCORBAに基づいたクライア
ント/サーバシステムにおけるオブジェクト連携の例を
示す図
FIG. 21 is a diagram showing an example of object cooperation in a client / server system based on CORBA according to the related art.

【符号の説明】[Explanation of symbols]

10 オブジェクトインタフェース情報入力部 20 変換ルール生成部 30 変換ルールデータベース 40 利用者インタフェース 41 オブジェクトクラス指定部 42 連携パス選択部 43 値指定部 50,50a 連携パス検出部 51 オブジェクト連携実行用パターン生成部 52 学習部 53 連携パス知識部 60 オブジェクト連携関係構築部 70 オブジェクト連携実行部 100 オブジェクト群 101 変換ルール集合 102 連携パスの検出処理 103 オブジェクト連携の構築処理 104 オブジェクト連携処理 200 リアクター 201 メッセージ受信部 202 メッセージ送信部 203 制御部 204 反応テーブル 205 アクション実行部 206 アクション実行部205が管理する各種関数、
アプリケーション 207 フィールド 310 パターンフォルダ 320 CORBAオブジェクトプール 321 スタブ 330 CORBAオブジェクトファクトリ 340 オブジェクトリクエストブローカ 350 CORBAオブジェクト 360 CORBAホームサービス 1000 回線先のハードディスク等の記録媒体 1001 CD−ROMやフレキシブルディスク等の可
搬型記録媒体 1002 CD−ROM 1003 フレキシブルディスク 1004 コンピュータ 1005 コンピュータ上のRAM/ハードディスク等
の記録媒体
Reference Signs List 10 object interface information input unit 20 conversion rule generation unit 30 conversion rule database 40 user interface 41 object class specification unit 42 cooperation path selection unit 43 value specification unit 50, 50a cooperation path detection unit 51 object cooperation execution pattern generation unit 52 learning Part 53 cooperation path knowledge part 60 object cooperation relation construction part 70 object cooperation execution part 100 object group 101 conversion rule set 102 cooperation path detection processing 103 object cooperation construction processing 104 object cooperation processing 200 reactor 201 message reception part 202 message transmission part 203 control unit 204 reaction table 205 action execution unit 206 various functions managed by action execution unit 205,
Application 207 Field 310 Pattern folder 320 CORBA object pool 321 Stub 330 CORBA object factory 340 Object request broker 350 CORBA object 360 CORBA home service 1000 Recording medium such as a hard disk at the connection destination 1001 Portable recording medium such as CD-ROM or flexible disk 1002 CD-ROM 1003 Flexible disk 1004 Computer 1005 Recording medium such as RAM / hard disk on computer

───────────────────────────────────────────────────── フロントページの続き (72)発明者 岡田 誠 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 (72)発明者 雨宮 真人 福岡県春日市春日公園6丁目1番 九州大 学内 Fターム(参考) 5B045 BB28 BB48 KK06  ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Makoto Okada 4-1-1 Kamikadanaka, Nakahara-ku, Kawasaki-shi, Kanagawa Prefecture Inside Fujitsu Limited (72) Inventor Masato Amemiya 6-1-1 Kasuga Park, Kasuga-shi, Fukuoka Kyushu University F-term (reference) 5B045 BB28 BB48 KK06

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 ネットワーク上のオブジェクトのインタ
フェース情報を入力して解析し、オブジェクト間の連携
関係を変換ルールの集合として記述するルール記述部
と、 オブジェクト連携関係の始点となるオブジェクトクラス
と終点となるオブジェクトクラスを指定するオブジェク
トクラス指定部と、 前記変換ルールに従ってオブジェクト間の連携関係を調
べ、前記始点となるオブジェクトクラスと前記終点とな
るオブジェクトクラスをつなぐオブジェクトクラス間の
連携パスを検出するオブジェクト連携パス検出部と、 前記検出された連携パスに応じてオブジェクト間の連携
関係の実行環境を構築するオブジェクト連携構築部と、 前記始点となるオブジェクトクラスの値を指定する値指
定部と、 前記与えられた始点となるオブジェクトクラスの値を基
に連携処理を実行するオブジェクト群とを備えたことを
特徴とするオブジェクト連携装置。
1. A rule description unit that inputs and analyzes interface information of an object on a network and describes a cooperative relationship between objects as a set of conversion rules, and defines a starting point and an end point of the object cooperating relationship. An object class designating unit for designating an object class; an object cooperation path for examining a cooperation relationship between objects according to the conversion rule and detecting a cooperation path between the object classes connecting the object class serving as the start point and the object class serving as the end point A detecting unit; an object cooperation constructing unit configured to construct an execution environment of a cooperative relationship between the objects according to the detected cooperation path; a value specifying unit specifying a value of the object class serving as the starting point; The starting object Object collaboration apparatus being characterized in that a group of objects to perform cooperative processing based on the value of the scan.
【請求項2】 前記オブジェクト連携構築部は、前記オ
ブジェクト群の連携においてオブジェクト間に構造化メ
ッセージと当該構造化メッセージに対する反応であるア
クションとの関係づけによる連携関係を構築するもので
あり、連携元のオブジェクトに送信すべき構造化メッセ
ージパターンを通知して実装させ、連携先のオブジェク
トに受信により反応すべき前記構造化メッセージパター
ンおよび当該構造化メッセージパターンに対するアクシ
ョンとを通知して実装させる請求項1に記載のオブジェ
クト連携装置。
2. The object coordination constructing unit constructs a cooperative relationship between objects by associating a structured message and an action which is a reaction to the structured message between the objects in the coordination of the object group. 2. A structured message pattern to be transmitted is notified to and implemented by the object, and the linked object is notified and implemented by the structured message pattern to be responded to by reception and an action for the structured message pattern. An object cooperation device according to claim 1.
【請求項3】 前記オブジェクト群の各オブジェクト
が、ネットワーク上に送信される構造化メッセージをモ
ニタして取り込むメッセージ受信部と、構造化メッセー
ジと構造化メッセージに対する反応であるアクションの
セットを記憶する反応テーブルと、前記アクションの内
容に従って処理を実行するアクション実行部を備え、前
記メッセージ・アクションの反応関係に従って駆動する
請求項1または2に記載のオブジェクト連携装置。
3. A message receiving unit in which each object of the group of objects monitors and captures a structured message transmitted over a network, and a response that stores a structured message and a set of actions that are responses to the structured message. 3. The object cooperation apparatus according to claim 1, further comprising: a table; and an action execution unit configured to execute a process according to the content of the action, and driven in accordance with a reaction relationship between the message and the action.
【請求項4】 前記オブジェクト連携パス検出部が、検
出した一つながりの連携パスを構成する個々のサブ連携
パスに分離し、各々のサブ連携パスを区別して連携パス
の実行時コンテキストを生成し、前記連携パスをオブジ
ェクトクラス間の連携パスから連携実行時に渡される値
を変数としたオブジェクト連携実行用パターンの連携パ
スに変換するオブジェクト連携実行用パターン生成部を
備えた請求項1から3のいずれかに記載のオブジェクト
連携装置。
4. The object cooperative path detecting unit separates the detected cooperative cooperative paths into individual sub cooperative paths, generates a cooperative path execution context by distinguishing each sub cooperative path, 4. An object coordination execution pattern generation unit for converting the coordination path from a coordination path between object classes into a coordination path of an object coordination execution pattern using a value passed at the time of coordination execution as a variable. An object cooperation device according to claim 1.
【請求項5】 オブジェクト間にオブジェクト連携関係
を構築するオブジェクト連携装置を実現する処理プログ
ラムを記録したコンピュータ装置読み取り可能な記録媒
体であって、 ネットワーク上のオブジェクトのインタフェース情報を
入力して解析し、オブジェクト間の連携関係を変換ルー
ルの集合として記述するルール記述処理ステップと、 オブジェクト連携関係の始点となるオブジェクトクラス
と終点となるオブジェクトクラスを指定するオブジェク
トクラス指定処理ステップと、 前記変換ルールに従ってオブジェクト間の連携関係を調
べ、前記始点となるオブジェクトクラスと前記終点とな
るオブジェクトクラスをつなぐオブジェクトクラス間の
連携パスを検出するオブジェクト連携パス検出処理ステ
ップと、 前記検出された連携パスに応じてオブジェクト間の連携
関係の実行環境を構築するオブジェクト連携構築処理ス
テップと、 前記始点となるオブジェクトクラスの値を指定する値指
定処理ステップと、 前記与えられた始点となるオブジェクトクラスの値を基
に連携処理を実行するオブジェクトを生成する処理ステ
ップとを備えた処理プログラムを記録したことを特徴と
する記録媒体。
5. A computer-readable recording medium recording a processing program for realizing an object cooperation apparatus for establishing an object cooperation relationship between objects, comprising: inputting and analyzing interface information of an object on a network; A rule description processing step of describing a cooperative relation between objects as a set of conversion rules; an object class specifying processing step of specifying an object class serving as a start point and an end class of the object cooperative relation; An object cooperation path detection processing step of examining a cooperation relationship between the object classes, and detecting a cooperation path between the object classes connecting the object class serving as the start point and the object class serving as the end point; Object construction process step of constructing an execution environment of a cooperative relationship between objects in accordance with the process, a value designation process step of designating the value of the starting object class, and the given value of the starting object class A recording medium characterized by recording a processing program comprising: a processing step of generating an object for executing a cooperative processing based on the processing program.
JP2000339165A 2000-11-07 2000-11-07 Object linkage device Expired - Fee Related JP4145477B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000339165A JP4145477B2 (en) 2000-11-07 2000-11-07 Object linkage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000339165A JP4145477B2 (en) 2000-11-07 2000-11-07 Object linkage device

Publications (2)

Publication Number Publication Date
JP2002149405A true JP2002149405A (en) 2002-05-24
JP4145477B2 JP4145477B2 (en) 2008-09-03

Family

ID=18814272

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000339165A Expired - Fee Related JP4145477B2 (en) 2000-11-07 2000-11-07 Object linkage device

Country Status (1)

Country Link
JP (1) JP4145477B2 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005228309A (en) * 2004-01-23 2005-08-25 Microsoft Corp Deterministic rule-based dispatch of object to code
US7600218B2 (en) 2003-11-20 2009-10-06 Panasonic Corporation Association control apparatus, association control method and service association system
JP2010146551A (en) * 2008-12-19 2010-07-01 Korea Electronics Telecommun Method port arrangement and configuration method thereof for robot software component
JP2010191865A (en) * 2009-02-20 2010-09-02 Nippon Telegr & Teleph Corp <Ntt> Device and method for supporting scenario development
WO2010113242A1 (en) * 2009-03-31 2010-10-07 三菱電機株式会社 Execution order decision device
JP2013015974A (en) * 2011-07-01 2013-01-24 Mitsubishi Electric Corp Support device, support system, computer program, and support method
CN107506355A (en) * 2016-06-14 2017-12-22 阿里巴巴集团控股有限公司 Object group technology and device
JP2018073400A (en) * 2016-10-21 2018-05-10 富士通株式会社 Micro service based data processing device, method, and program

Cited By (16)

* Cited by examiner, † Cited by third party
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 (en) * 2004-01-23 2005-08-25 Microsoft Corp Deterministic rule-based dispatch of object to code
JP2010146551A (en) * 2008-12-19 2010-07-01 Korea Electronics Telecommun Method port arrangement and configuration method thereof for robot software component
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 (en) * 2009-02-20 2010-09-02 Nippon Telegr & Teleph Corp <Ntt> Device and method for supporting scenario development
JP5172009B2 (en) * 2009-03-31 2013-03-27 三菱電機株式会社 Execution order determination device
CN102334101A (en) * 2009-03-31 2012-01-25 三菱电机株式会社 Execution order decision device
US20110276976A1 (en) * 2009-03-31 2011-11-10 Mitsubishi Electric Corporation Execution order decision device
WO2010113242A1 (en) * 2009-03-31 2010-10-07 三菱電機株式会社 Execution order decision device
US8677367B2 (en) 2009-03-31 2014-03-18 Mitsubishi Electric Corporation Execution order decision device
CN102334101B (en) * 2009-03-31 2014-10-08 三菱电机株式会社 Execution order decision device
JP2013015974A (en) * 2011-07-01 2013-01-24 Mitsubishi Electric Corp Support device, support system, computer program, and support method
CN107506355A (en) * 2016-06-14 2017-12-22 阿里巴巴集团控股有限公司 Object group technology and device
CN107506355B (en) * 2016-06-14 2020-09-29 阿里巴巴集团控股有限公司 Object grouping method and device
JP2018073400A (en) * 2016-10-21 2018-05-10 富士通株式会社 Micro service based data processing device, method, and program
JP7043780B2 (en) 2016-10-21 2022-03-30 富士通株式会社 Microservices-based data processing equipment, methods and programs

Also Published As

Publication number Publication date
JP4145477B2 (en) 2008-09-03

Similar Documents

Publication Publication Date Title
US8738735B2 (en) System for designing and performing web application
JP5894724B2 (en) Distributed service of graph type calculation
US20060224702A1 (en) Local workflows in a business process management system
Inverardi et al. Deadlock-free software architectures for com/dcom applications
JPH11119986A (en) Communication link information generator, three-hierarchy client/server system and record medium recorded with communication link information generation program
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 (en) Analysis model construction method and system based on data stream mixed arrangement
CN113961332A (en) Method and device for realizing workflow engine, electronic equipment and storage medium
JP2002149405A (en) Object linkage device
Sheng et al. Separating operational and control behaviors: A new approach to Web services modeling
JP2002215394A (en) Web application development and execution system and web application generating device
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 (en) Network system and method for object linkage therein
Oaks et al. Guided interaction: A mechanism to enable ad hoc service interaction
JP4550085B2 (en) Object linkage device that uses message types
Hansel et al. Distributed prototyping from validated specifications
JP4266507B2 (en) Object linkage monitor system
JPH11249919A (en) Procedure call processing method and stub generation method
JP4266955B2 (en) Object linkage device
WO2000020967A1 (en) Object linking device
Youxin et al. Design of workflow engine based on wcf

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