[go: up one dir, main page]

JP2002543518A - Distributed software development environment - Google Patents

Distributed software development environment

Info

Publication number
JP2002543518A
JP2002543518A JP2000615895A JP2000615895A JP2002543518A JP 2002543518 A JP2002543518 A JP 2002543518A JP 2000615895 A JP2000615895 A JP 2000615895A JP 2000615895 A JP2000615895 A JP 2000615895A JP 2002543518 A JP2002543518 A JP 2002543518A
Authority
JP
Japan
Prior art keywords
interface
port
managed
determining
version
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.)
Withdrawn
Application number
JP2000615895A
Other languages
Japanese (ja)
Inventor
スルヤナラヤナ,マンジュナス,エム.
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of JP2002543518A publication Critical patent/JP2002543518A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 本発明は、分散型オブジェクト指向ソフトウェア開発環境に関する。関連したインタフェースが互換性のある場合、オブジェクト操作を実行するためのオブジェクトは相互に通信することができる。そのシステム環境は、そのオブジェクトに制御およびデータのシーケンスフローを提供する。オブジェクトの各々のインタフェースは、固有のグローバル識別値を有する。互換性があるインタフェースは、管理フレームワークを有するインタフェースのグローバル識別およびバージョンを登録することによって決定される。システム環境は、アプリケーションネットワークを確立し、アプリケーションネットワークの整合した即応型のダイナミックアップデートを実行するために使用されることができる。該管理フレームワークは、アプリケーションのオブジェクトと関連する管理オブジェクトを含むことができる。管理オブジェクトは、オブジェクトについての情報を管理人オブジェクトに伝達する。したがって、管理人オブジェクトは、オブジェクトによる関与なく、アプリケーションネットワークの設定あるいは再構成の間のオブジェクトの処理を制御することができる。デザインステージの間、管理フレームワークは、また、限界がないネゴシエーションを実行するために、ソフトウェア開発者によって使用されることができる。 (57) [Summary] The present invention relates to a distributed object-oriented software development environment. Objects for performing object operations can communicate with each other if the associated interfaces are compatible. The system environment provides a sequence of control and data to the object. Each interface of the object has a unique global identification value. Compatible interfaces are determined by registering the global identification and version of the interface with the management framework. The system environment can be used to establish an application network and perform consistent and responsive dynamic updates of the application network. The management framework may include a management object associated with an object of the application. The managed object communicates information about the object to the caretaker object. Thus, the caretaker object can control the processing of the object during application network setup or reconfiguration without object involvement. During the design stage, the management framework can also be used by software developers to perform limitless negotiations.

Description

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

【0001】 この出願は、発明の名称「分散型ソフトウェア開発環境」である仮出願番号第
60/131,506号に基づく優先権を請求し、この内容の全体がこの出願の
なかに引用されて組み込まれている。
This application claims priority under provisional application number 60 / 131,506, entitled "Distributed Software Development Environment," the entire contents of which are incorporated herein by reference. It has been incorporated.

【0002】 発明の背景 1. 発明の技術分野 本発明は、ソフトウェア開発、およびメンテナンスのための提供されるソフト
ウェア環境に関する。
[0002] Background of the Invention 1. TECHNICAL FIELD OF THE INVENTION The present invention relates to a provided software environment for software development and maintenance.

【0003】 2. 関連技術の説明 従来の線型プログラミングコードにおいて、大規模に展開しているソフトウェ
アシステムのエンジニアリングは、設計し、システムを維持することを必要とす
る複雑さのためにむずかしい。また、ユーザーの要求に応じたソフトウェアの小
さな変更は、全プログラムの主要部分を再設計し、書換えを必要とする。オブジ
ェクト指向プログラムの技術は、ソフトウェア開発の複雑さを減らした。大規模
に展開しているソフトウェアのエンジニアリングに関する問題の記述とその問題
の解決法の概要が、「OMSOFT:チェンジマネージメントパラダイム」、ネ
ットワーク、アンド、システムマネージメント誌、第6巻、第1号、1998年
”OMSOFT:A Change Management Paradigm
,” Journal of Network and Systems Ma
nagement,Vol. 6, No. 1, 1998の中で発明者によ
り開示されている。
[0003] 2. Description of the Related Art In conventional linear programming code, engineering a software system that is deployed on a large scale is difficult due to the complexity required to design and maintain the system. Also, small changes in the software at the request of the user require major parts of the entire program to be redesigned and rewritten. Object-oriented programming techniques have reduced the complexity of software development. A description of the problems related to software engineering that has been deployed on a large scale and an overview of solutions to those problems are described in "OMSOFT: Change Management Paradigm", Network, and, System Management, Vol. 6, No. 1, 1998. "OMSOFT: A Change Management Paradigm
, “Journal of Network and Systems Ma
nagement, Vol. 6, No. 1, 1998 by the inventor.

【0004】 オブジェクト指向プログラミングでは、オブジェクトは、一般的に、データと
、そのデータ上で実行される操作の組合せとして規定される。アプリケーション
ネットワークは、一般に、与えられたタスクを実行するために、オブジェクト(
プログラム)の集まりが共通インタフェースによって相互に連絡される。オブジ
ェクト指向ソフトウェアシステムは、典型的には、オブジェクトモデルと称され
るアーキテクチャスペックを提供する。そして、それは分散型オブジェクトに、
アプリケーションと一緒に働くことを可能にする。
[0004] In object-oriented programming, an object is generally defined as a combination of data and operations performed on the data. An application network typically consists of objects (
A collection of programs are interconnected by a common interface. Object-oriented software systems typically provide an architectural specification called an object model. And it becomes a distributed object,
Enable to work with the application.

【0005】 オブジェクト・マネジメント・グループ(Object Managemen
t Group :OMG)と呼ばれている産業界コンソーシアムは、コモン・
オブジェクト・リクエスト・ブローカー・アーキテクチャー(Common O
bject Request Broker Architecture:CO
RBA)スペックの下に、オブジェクト指向システムのための標準を開発した。
CORBAスペックは、オブジェクトに関して割り当てられたクライアント−サ
ーバシステム環境に、分散型コンピューティング環境を規定する。CORBAの
オブジェクトブローカーは、オブジェクトまたはほかのアプリケーションが要求
することができ、また、システムによって管理されている他のオブジェクトから
の応答を受けることができるメカニズムを提供する。CORBAアプローチは、
必要に応じて、システムリソースの成長または再配置を提供するために、分散し
たシステムの様々なコンポーネントと共に、多数のオブジェクトブローカーを利
用する。これら多数のオブジェクトブローカーの各々は、対応するインプリメン
テーションとインタフェースリポジトリ内の情報にアクセスすることができる。
オブジェクト要求は、多くのいくつかのコンピューティングデバイス上でオブジ
ェクトオペレーションを実行することができるという点でユーザーからは見えな
い。また、オブジェクトオペレーションを起動する実体は、オブジェクトオペレ
ーションがどこに存在するか、あるいは、実行されるか知っている必要がない。
したがって、CORBAアプローチの使用によって、個々のユーザーは、特定の
プログラムの存在、またはそれらが実行される場合に、それらの詳細はCORB
Aに基づいたシステムの管理人によって扱われるので、管理する責任から解放さ
れる。さらに、オペレーションの固定セットの定義によって、CORBAアプロ
ーチは、異なるベンダーからのオブジェクトブローカーに互いに通信することを
可能とし、システムにより普遍的な互換性をもたらす。
[0005] Object Management Group
An industry consortium called t Group (OMG) is a common consortium.
Object Request Broker Architecture (Common O
project Request Broker Architecture: CO
Under the (RBA) specification, standards were developed for object-oriented systems.
CORBA specifications define a distributed computing environment with a client-server system environment assigned for objects. CORBA's object broker provides a mechanism by which objects or other applications can request and receive responses from other objects managed by the system. The CORBA approach
As needed, multiple object brokers are utilized, with various components of a distributed system, to provide for the growth or relocation of system resources. Each of these multiple object brokers has access to information in the corresponding implementation and interface repositories.
Object requests are invisible to the user in that object operations can be performed on many some computing devices. Also, the entity that invokes the object operation does not need to know where the object operation resides or is executed.
Thus, the use of the CORBA approach allows individual users to see the existence of specific programs, or their details, when they are executed, in CORB
Because you are handled by the administrator of the system based on A, you are relieved of the responsibility to manage it. Further, by defining a fixed set of operations, the CORBA approach allows object brokers from different vendors to communicate with each other, providing more universal compatibility for the system.

【0006】 新しいオブジェクトは、単に、オブジェクトへ接続する方法についての情報に
続いて、それぞれのリポジトリの情報を更新することにより、CORBAに基づ
いたシステムに加えられ、実行されるオブジェクトは、インタフェースおよびイ
ンプリメンテーションリポジトリに含まれている。このように、CORBAに基
礎をおいたシステムは、新しいまたは変更されたオブジェクトを提供するために
簡単にアップグレードすることができる。なぜなら、オブジェクト指向のアプロ
ーチは、オブジェクトの操作の実際のインプリメンテーションがユーザーに見え
るようにし、既存のアプリケーションをCORBAに基づいたシステムで機能す
るために、それらのインタフェースを修正することだけを必要とする。したがっ
て、現存のアプリケーションを、システムで働かせるために、すべてを書き直す
必要はない。
[0006] New objects are added to the CORBA-based system simply by updating the information in the respective repositories, followed by information on how to connect to the objects, and the objects to be executed are interface and implementation. Included in the annotation repository. In this way, a CORBA-based system can be easily upgraded to provide new or changed objects. Because the object-oriented approach only needs to modify those interfaces to make the actual implementation of the operation of the objects visible to the user and to make existing applications work in a CORBA-based system. I do. Thus, it is not necessary to rewrite existing applications to work with the system.

【0007】 米国特許第5,838,970号は、CORBAがいくつかの限界を持つこと
を記述している。最初に、CORBAはオブジェクトが作成された後、オブジェ
クトを移動するためのメカニズムを提供しない。第2に、CORBAは、個々の
ユーザーの情報をネットワークを介してアクセス可能にしないし、また、システ
ムリソースがユーザーレベルまたはオブジェクトレベルのいずれかに管理される
ことを容認しない。さらに、CORBAは与えられたオブジェクトタイプの複数
のバージョンの使用をサポートしない。CORBAはまた、非常に多く使用され
るリソースを複製する有効な手段を備えていない。上記‘970の特許は、処理
の方法、オペレーションの進行の間に変更することができる情報を処理または送
信する方法におけるオブジェクト指向のコンピュータ環境について記述している
。この環境は、オブジェクトのライフサイクル中にアクセス可能な多くのリポジ
トリに格納すること、および、オブジェクト操作を開始するのに必要な情報によ
り管理される。リポジトリは、格納された情報の分配をコントロールするために
優先順位の異なるレベルを割り当てることができる。交換可能なリポジトリから
オブジェクト操作に影響を及ぼすために取り出された情報を使用することによっ
て、必要に応じて、コンピュータに基づく情報プロセシングは拡張することがで
きる。また、ソフトウェアアップグレードは、アプリケーションリポジトリのコ
ンテンツを変更することによって行うことができる。CORBAは、共有変数の
選択と解決、互換性をもつアプリケーションシステムの選択、再使用可能なCO
RBAコンポーネントの動的な再構築を提供しないし、また、シングルインタフ
ェースしかサポートしないといった追加の欠点を持っている。
US Pat. No. 5,838,970 describes that CORBA has several limitations. Initially, CORBA does not provide a mechanism for moving an object after the object has been created. Second, CORBA does not make individual user information accessible over a network and does not allow system resources to be managed at either the user level or the object level. Further, CORBA does not support the use of multiple versions of a given object type. CORBA also does not provide an effective means of duplicating highly used resources. The '970 patent describes an object-oriented computer environment in a method of processing, a method of processing or transmitting information that can change during the course of an operation. This environment is governed by the storage in many repositories accessible during the life cycle of the object and the information needed to initiate object operations. Repositories can be assigned different levels of priority to control the distribution of stored information. By using the information retrieved from the interchangeable repositories to affect object operations, computer-based information processing can be extended as needed. Also, a software upgrade can be performed by changing the contents of the application repository. CORBA selects and resolves shared variables, selects compatible application systems, reusable CO
It does not provide dynamic restructuring of the RBA component and has the additional disadvantage of supporting only a single interface.

【0008】 CORBA設備は、それ以前(大きなネットワーク向きのアプリケーションに
関する)に、議論されたシステム管理問題に取り組んでいないので、非常に初期
の発達段階にある。さらに、CORBAがオブジェクトおよびインタラクション
モデル上の実際のシステム(ネットワークの管理、ネットワークプロバイダの操
作、およびサービスをサポートするシステム)の強い影響を考慮することなく設
計されたことは注目される。例えば、CORBAは、受信器がそれを受け取り認
識するまで、メッセージの送信器を閉鎖する。これは、分散型アプリケーション
の並列処理を歪ませる。また、送信器と受取人の間にデッドロックがかかるかも
しれない。また、CORBAはマルチサイクルトランザクションをサポートせず
、オブジェクトとインタフェースのバージョニングをサポートしない。加えて、
CORBAは非同期通信に関連するバッファロスについて扱わない。したがって
、プログラマは、オブジェクトインタフェースの複雑さを増加させて、共有され
るインタフェースにこのように関連した構造およびプロトコルの一部として可能
なバッファロスを扱わなければならない。また、これは、CORBA IDLを
使用している非同期CORBAコンポーネントのインタフェース記述を非常に複
雑にする。
[0008] The CORBA facility is in a very early developmental stage since it has not addressed the system management issues discussed earlier (for large network oriented applications). It is further noted that CORBA was designed without considering the strong impact of the actual system (system supporting network management, network provider operation, and services) on the object and interaction model. For example, CORBA closes the sender of the message until the receiver receives and recognizes it. This distorts the parallel processing of distributed applications. There may also be a deadlock between the sender and the recipient. Also, CORBA does not support multi-cycle transactions and does not support object and interface versioning. in addition,
CORBA does not address buffer loss associated with asynchronous communication. Thus, the programmer must increase the complexity of the object interface and handle possible buffer losses as part of the structure and protocol thus associated with the shared interface. This also greatly complicates the interface description of asynchronous CORBA components using CORBA IDL.

【0009】 ソフトウェアアプリケーションに、オブジェクトまたはインタフェースのより
新しいバージョンをインストールする従来の方法は、アプリケーションをシャッ
トダウンして、より新しいバージョンをインストールする。この方法は、ソフト
ウェアのユーザーによりアプリケーションが否定されている間、承諾しがたい遅
れを招く。管理人は、それらが互換性をもつかどうか決めるためにバージョンを
チェックすることができる。オブジェクトの非互換性は、インタフェースを非互
換にするオブジェクトのインタフェースの少なくとも1つの修正に起因する。管
理人は、手動で互換性のあるシステムを見いだして、どれを実行するべきである
か決めることができる。マニュアル技術は、ラケシュ アグラウェイ(Rake
sh Agraway)、および、H.V.ジャガディシュ(H.V.Jaga
dish)による「バージョンされたオブジェクトを正確に形成することについ
て(On Correctly Configuring Versioned
Objects)」1989年、VLDBsにおける第15回インターナショ
ナルカンファレンスの会報(Proc. of the 15th.Intl.
Conf. on VLDBs, 1989.)において開示された。しかしな
がら、オブジェクトに多数のバージョンがある場合、管理人が互換性のあるオブ
ジェクトを決定することはむずかしい。
[0009] The conventional method of installing a newer version of an object or interface in a software application is to shut down the application and install a newer version. This method introduces an unacceptable delay while the application is denied by the user of the software. Administrators can check versions to determine if they are compatible. The object incompatibility results from at least one modification of the object's interface that makes the interface incompatible. Administrators can manually find compatible systems and decide which ones to run. Manual technology is Rakesh Agraway (Rake
sh Agraway) and H. et al. V. Jagadish (HV Jaga)
dish) "On Correctly Forming Versioned Objects" (On Correctly Configuring Versioned)
Objects), 1989, Proceedings of the 15th International Conference on VLDBs (Proc. Of the 15th. Intl.
Conf. on VLDBs, 1989. ). However, if there are multiple versions of an object, it is difficult for the administrator to determine compatible objects.

【0010】 従来の自動技術は、互換性をもつアプリケーションシステムを維持する規則に
基づいたアプローチを使用する。例えばR.H.カッツ(R.H. Katz)
、および、E.チャン(E. Chang)「コンピュータ支援設計データ・ベ
ースの変化の管理(Managing Change in a Comp−A
ided Design Database)」1987年、VLDBの第13
回カンファレンスの手続き(Proc. of the 13th VLDB
Conf., 1987.)を参照。しかしながら、大きいネットワークアプリ
ケーションの構成、および異なるインタフェース上のプロトコルは、複雑で、か
つルールで表すことが難しい。したがって、アプリケーションのより新しいバー
ジョンに動的に更新すること、互換性をもつシステムを動的にメンテナンスする
こと、および、アプリケーションが実行されている間に動的に再構築すること、
をサポートしているオブジェクト指向のソフトウェア開発環境を提供することが
望ましい。
[0010] Conventional automation techniques use a rules-based approach to maintaining compatible application systems. For example, R. H. Katz (RH Katz)
And E. E. Chang, "Managing Change in a Comp-A."
1987, VLDB's 13th edition (ided Design Database).
Conference Procedure (Proc. Of the 13th VLDB)
Conf. , 1987. ). However, the configuration of large network applications and protocols on different interfaces are complex and difficult to represent in rules. Thus, dynamically updating to a newer version of the application, dynamically maintaining compatible systems, and dynamically rebuilding while the application is running;
It is desirable to provide an object-oriented software development environment that supports

【0011】 発明の要約 本発明は、分散型オブジェクト指向のソフトウェア開発環境に関する。関連す
るインタフェースが互換性をもつ場合、オブジェクトオペレーションを実行する
ためのオブジェクトは互いに通信することができる。その環境は、オブジェクト
にコントロールとデータのシーケンシャルフローを供給する。
SUMMARY OF THE INVENTION The present invention relates to a distributed object oriented software development environment. Objects for performing object operations can communicate with each other if the associated interfaces are compatible. The environment provides the object with a sequential flow of control and data.

【0012】 オブジェクトの各インタフェースは、固有のグローバル識別値を持つ。互換性
があるインタフェースは、管理フレームワークを有するインタフェースのグロー
バルな識別番号、およびバージョンを登録することによって決定される。好まし
くは、管理フレームワークはオブジェクトバージョン、およびインタフェースバ
ージョンを増加させる方法で割り当てる。分散型選択方法は、管理フレームワー
クによって全ての固有の互換性があるインタフェースアプリケーションシステム
の部分的な命令を生成するために使用されることができる。
Each interface of an object has a unique global identification value. Compatible interfaces are determined by registering the global identification number and version of the interface with the management framework. Preferably, the management framework allocates object versions and interface versions in an increasing manner. The distributed selection method can be used by the management framework to generate partial instructions of all inherently compatible interface application systems.

【0013】 修正CORBA IDLフレームワークは、オブジェクト同調問題に依存しな
い、意味が明確な、および有意義なオブジェクトインタフェースによって、設計
プロセスを基本的に変える。この環境は、ネットワーク向きのアプリケーション
内で、依存し/独立したトランザクションの複合体の記述を単純化する。管理人
のためにサポートされた機能は、オブジェクトの状態を読み取り(read)/
書き込み(write)し、オブジェクトの状態をゲット(get)/セット(
set)する能力や、コンポーネントの協同なく外部からクロックの状態をゲッ
ト(get)/セット(set)する能力や、修正CORBA IDL記述から
タイプの詳細を得て、それから修正CORBA IDLフレームワークを使用す
るトランザクションに有意義な記述を置くことにより生データを有意義なデータ
に変換する能力のように、アプリケーションの外部監視、および制御を容易にす
る。
[0013] The modified CORBA IDL framework fundamentally changes the design process with a well-defined and meaningful object interface that does not rely on object synchronization problems. This environment simplifies the description of dependent / independent transaction complexes within network-oriented applications. Supported functions for the caretaker are to read / read the state of the object.
Write (write) and get / set (
set), the ability to get / set the state of the clock from outside without the cooperation of the components and the type details from the modified CORBA IDL description and then use the modified CORBA IDL framework Facilitates external monitoring and control of applications, such as the ability to transform raw data into meaningful data by placing meaningful descriptions in transactions.

【0014】 システム環境は、アプリケーションネットワークを確立し、矛盾がなく、透過
的で動的な該アプリケーションネットワークのアップデートを実行するために使
用することができる。管理フレームワークは、アプリケーションのオブジェクト
と関連する管理オブジェクトを含むことができる。管理オブジェクトは、管理人
オブジェクトに、オブジェクトに関する情報を伝える。管理人オブジェクトは、
オブジェクトによる協同のないアプリケーションネットワークの設立あるいは再
構築中にオブジェクトのトランザクションをコントロールすることができる。設
計段階において、管理フレームワークはまた、限界のないネゴシエーションを実
行するために、ソフトウェア開発者によって使用されることができる。
The system environment can be used to establish an application network and perform consistent, transparent and dynamic updates of the application network. The management framework may include managed objects associated with the objects of the application. The management object communicates information about the object to the manager object. The caretaker object is
Object transactions can be controlled during the establishment or reconfiguration of application networks without object collaboration. At the design stage, the management framework can also be used by software developers to perform limitless negotiations.

【0015】 発明は、以下の図面を参照することでより十分に記述される。[0015] The invention is more fully described with reference to the following drawings.

【0016】 詳細な記述 発明の好ましい実施例を、添付図面に図示されている実施例によって詳しく言
及する。可能なところは、同じ参照番号が、図面および記述の全体にわたって使
用される。
DETAILED DESCRIPTION Preferred embodiments of the present invention will be described in detail with reference to the embodiments illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings and description.

【0017】 図1は、本発明の教示による、分散型ソフトウェア開発環境10を簡単に示し
たアーキテクチャ図である。この開発環境10は、複数のフレームワークを含ん
でいる。各フレームワークは、設計、インプリメント、管理、およびネットワー
ク向きのアプリケーション12の態様を実現して、それぞれ独立して作用するこ
とができるか、または一つ以上のフレームワークと相互に作用することができる
。分散型ネットワークフレームワーク14は、オブジェクトを動的に設定すると
ともに、複数のオブジェクト間を接続する。トランザクションフレームワーク1
5は、オブジェクト間のトランザクションの制御を提供する。インタラクション
フレームワーク16は、オブジェクト間の対話の制御を提供する。修正COBR
A IDLフレームワーク18は、オブジェクトインタフェースを規定するため
のオブジェクト指向の操作と、インタフェース記述言語(interface
description language:IDL)を提供する。管理フレー
ムワーク19は、オブジェクトインタフェースとオブジェクトの情報の集中化し
た管理を提供する。ライフサイクルフレームワーク20は、ソフトウェア開発の
異なるステージを規定する。ヒューマンディメンションフレームワーク21は、
ライフサイクルフレームワーク20とともに人間の対話を規定する。
FIG. 1 is a simplified architectural diagram of a distributed software development environment 10 in accordance with the teachings of the present invention. This development environment 10 includes a plurality of frameworks. Each framework may implement aspects of the design, implementation, management, and network-facing application 12 and each may work independently or may interact with one or more frameworks. . The distributed network framework 14 dynamically sets objects and connects a plurality of objects. Transaction framework 1
5 provides control of transactions between objects. Interaction framework 16 provides control of interaction between objects. Modified COBR
The A IDL framework 18 includes an object-oriented operation for defining an object interface and an interface description language (interface).
(description language: IDL). The management framework 19 provides centralized management of object interfaces and object information. The life cycle framework 20 defines different stages of software development. Human Dimension Framework 21
It defines human interaction with the life cycle framework 20.

【0018】 分散型ネットワーク14のフレームワークは、互換性をもつインタフェースに
よって接続されたオブジェクトのインタラクションネットワークを含む。オブジ
ェクトは、非同期の処理実体であり、他のオブジェクトにトランザクション要求
を始めること、および接続されている他のオブジェクトからのトランザクション
要求を受けてサービスすることができる。オブジェクトは、データ構造の集まり
、およびデータ構造上の操作方法のセットとしてインプリメントされることがで
きる。オブジェクトは、オブジェクトポートを通して他のオブジェクトとそのイ
ンタフェースを共有する。互換性があるインタフェースでは、データ構造は同じ
ものであり、また、プロトコルはそのインタフェースに接続している全てのオブ
ジェクトポートによって、適切に理解される。オブジェクトポートは、オブジェ
クトによって動的に生成されることができる。あらゆるオブジェクトは状態を持
つ。その状態は、オブジェクトおよびそのランタイム動作を全体的に特徴づける
状態変数として指定された1セットの変数の値を集めたものである。オブジェク
トによって始められたトランザクションは、オブジェクトを受け取ってそれに対
応する状態に達する。各オブジェクトは、複数のオブジェクトポートと対応付け
することができる。分散型ネットワークの状態は、構成するオブジェクトの内部
状態、およびオブジェクト間のインタフェースの状態で構成される。
The framework of the distributed network 14 includes an interaction network of objects connected by compatible interfaces. An object is an asynchronous processing entity that can initiate a transaction request to another object and service a transaction request from another connected object. An object can be implemented as a collection of data structures and a set of operations on the data structures. An object shares its interface with other objects through an object port. For compatible interfaces, the data structure is the same and the protocol is properly understood by all object ports connecting to that interface. Object ports can be dynamically created by objects. Every object has a state. The state is a collection of values for a set of variables designated as state variables that globally characterize the object and its runtime behavior. A transaction initiated by an object receives the object and reaches a corresponding state. Each object can be associated with multiple object ports. The state of the distributed network is composed of the internal state of the constituent objects and the state of the interface between the objects.

【0019】 図2Aは、オブジェクト30aがオブジェクトポート32aを含んでいる分散
型ネットワークフレームワーク14のコンポーネントを示す図である。インタフ
ェース34aは、オブジェクトポート32aへ接続する。インタフェース34a
も、オブジェクト30cのオブジェクトポート32cに接続する。オブジェクト
30cのオブジェクトポート32dはインタフェース34bに接続する。インタ
フェース34bも、オブジェクト30bのオブジェクトポート32bに接続する
。したがって、オブジェクト30aはオブジェクト30cを通してオブジェクト
30bに接続される。例えば、オブジェクト30aは、トランザクションを始め
るクライアントまたはイニシエータオブジェクトである。オブジェクト30cは
、オブジェクト30aからのトランザクションの手順およびコンテンツを受ける
受信器またはサーバである。オブジェクト30cは、受信したコンテンツを変更
することができる。
FIG. 2A is a diagram illustrating components of the distributed network framework 14 in which the object 30a includes an object port 32a. Interface 34a connects to object port 32a. Interface 34a
Also connects to the object port 32c of the object 30c. The object port 32d of the object 30c connects to the interface 34b. The interface 34b also connects to the object port 32b of the object 30b. Therefore, the object 30a is connected to the object 30b through the object 30c. For example, object 30a is a client or initiator object that initiates a transaction. Object 30c is a receiver or server that receives transactional procedures and content from object 30a. The object 30c can change the received content.

【0020】 トランザクションフレームワーク15は、動的な外部記録、および処理フェー
ズを使用している制御を提供する。トランザクションは、2つまたはそれ以上の
オブジェクト間の一連のメッセージ交換の手順であり、それらオブジェクトのう
ちの1つによって始められる。したがって、本発明では、トランザクションは、
1つ以上の動的に変化する数のレシーバーオブジェクトとメッセージを交換する
イニシエータオブジェクトを含む。トランザクションは、イニシエータオブジェ
クトにおいて完了する。トランザクションが有限の時間で終わり、トランザクシ
ョンのイニシエータオブジェクトが、トランザクションの完了を認識していると
みなされる。各オブジェクトポートは、そのインタフェースのためのトランザク
ションを実行する構成とプロトコルを有する。依存しているトランザクションは
、該トランザクションの完了が他のトランザクションに依存するトランザクショ
ンである。独立したトランザクションは、他のトランザクションに依存すること
なく、独力で完成するトランザクションである。すべてのオブジェクトポートは
同時に多数の独立しているか依存するトランザクションを始めてサービスするこ
とができる。
The transaction framework 15 provides control using dynamic external recording and processing phases. A transaction is the sequence of a series of message exchanges between two or more objects, initiated by one of those objects. Thus, in the present invention, a transaction is
Includes an initiator object that exchanges messages with one or more dynamically changing numbers of receiver objects. The transaction is completed at the initiator object. The transaction ends in a finite amount of time, and the initiator object of the transaction is considered to be aware of the completion of the transaction. Each object port has a configuration and protocol that performs the transaction for that interface. A dependent transaction is a transaction whose completion depends on other transactions. An independent transaction is a transaction that can be completed on its own without depending on other transactions. All object ports can simultaneously service multiple independent or dependent transactions for the first time.

【0021】 トランザクションは、一つ以上のトランザクションサイクルを含むことができ
る。トランザクションフェーズは、トランザクションサイクルに割り当てられる
。各トランザクションフェーズは、値を割り当てられる。トランザクションフェ
ーズの数は、ネットワーク向きのアプリケーションに特有である。オブジェクト
ポートの動的に変化する数は、トランザクションフェーズと対応付けすることが
できる。直接より高いトランザクションフェーズに同調されたオブジェクトポー
トは、より低いフェーズに同調されたオブジェクトポートによって協同すること
なく、より低いトランザクションフェーズに同調されたオブジェクトポートを監
視し、制御することができる。トランザクションのコンテンツは、データがメー
ル・バッグで運ばれるメール配信システムに対応するデータバッグとして参照さ
れることができる。低いトランザクションフェーズおよび制御のデータバッグは
、直接高いフェーズに通される。一旦現在の最も高いフェーズが最も高いフェー
ズトランザクションのデータバッグを獲得すると、制御は直接最も低いフェーズ
のオブジェクトポートに戻される。
A transaction can include one or more transaction cycles. Transaction phases are assigned to transaction cycles. Each transaction phase is assigned a value. The number of transaction phases is specific to network oriented applications. The dynamically changing number of object ports can be associated with a transaction phase. An object port tuned directly to a higher transaction phase can monitor and control an object port tuned to a lower transaction phase without cooperating with an object port tuned to a lower phase. The content of the transaction can be referred to as a data bag corresponding to a mail delivery system where data is carried in a mail bag. The low transaction phase and control data bags are passed directly to the high phase. Once the current highest phase has acquired the data bag of the highest phase transaction, control is returned directly to the lowest phase object port.

【0022】 図2Bを参照する。トランザクションフレームワーク15の実例として、オブ
ジェクト30a、オブジェクト30b、およびオブジェクト30cは、円形の通
信経路36に接続されている。オブジェクト30aおよび30bは、フェーズ0
によって表示される低いフェーズに配置されている。オブジェクト30cは、フ
ェーズ1によって表示される高いフェーズに配置されている。オブジェクト30
cは、データバッグ35を受信するとともに、オブジェクト30aとオブジェク
ト30bから制御する。オブジェクト30cは、データバッグ35を変更できる
とともに、データバッグ35をオブジェクト30aとオブジェクト30bに返信
することができる。例えば、オブジェクト30cは、低いフェーズトランザクシ
ョンのコンテンツを知る必要があるテスタまたは管理オブジェクトブローカーで
ある。テスタは、テストフェーズの間、オブジェクトへの入力を変更することが
できる。管理オブジェクトブローカーは、トランザクションの失敗および回復を
サポートするために、低いフェーズトランザクションのコンテンツを使用するこ
とができる。
Referring to FIG. 2B. As an example of the transaction framework 15, the objects 30a, 30b, and 30c are connected to a circular communication path 36. Objects 30a and 30b are in phase 0
Are arranged in the lower phase indicated by. Object 30c is located in the higher phase displayed by phase one. Object 30
c receives the data bag 35 and controls from the objects 30a and 30b. The object 30c can change the data bag 35 and return the data bag 35 to the objects 30a and 30b. For example, object 30c is a tester or managed object broker that needs to know the contents of low phase transactions. The tester can change the input to the object during the test phase. Managed object brokers can use the contents of low phase transactions to support transaction failure and recovery.

【0023】 インタラクションフレームワーク16は、2つ以上のオブジェクトポート間の
接続またはコミュニケーションパスを提供するステップにインタラクションが進
んだグループインタラクションメカニズムである。たとえば、インタラクション
フレームワーク16は、S.ダースら(S. Das et al.)の「オブ
ジェクト中の一致の根拠」、COMPCON(1991年2月)、P.バッチャ
リヤら(Bhattacharya et al. )の「無線の情報ネットワ
ーク用マイクロカーネル」、クルワー アカデミック(Kluwer Acad
emic)(春1993年)に記述されており、その教示はこれらを参照するこ
とによって、すべての目的のためのこの出願のなかに組み入れられている。イン
タラクションフレームワーク16は、トランザクションに含まれる全てのオブジ
ェクトの分配された情報の選択と解決をサポートする。オブジェクトのあらゆる
インタフェースは、インタラクションポートクロックと関連し、接続されたオブ
ジェクトポートとの間の全てのトランザクションは、オブジェクトポートとイン
タラクションポートクロックを使用して実現される。インタラクションフレーム
ワーク16は、上記の通りのリング状をしており、円形の通信経路を持っている
インタラクションネットワークによって表すことができる。オブジェクトは、オ
ブジェクトポートを介してリングに接続されることができる。上述のデータバッ
グは、リングの周りを一つの方向で回って、接続されたオブジェクトのグループ
間を移動する。各オブジェクトポートは、リングと関連するクロックフェーズに
同調されることができる。特定のクロックフェーズに接続されているオブジェク
トポートの数は、動的に変化することができる。クロックフェーズは、また、ク
ロックポートと呼ばれている。
The interaction framework 16 is a group interaction mechanism where the interaction proceeds to provide a connection or communication path between two or more object ports. For example, the interaction framework 16 defines S. Das et al., "Basis for Matching in Objects", COMPCON (February 1991), Bhattacharya et al., "Microkernels for Wireless Information Networks," Kluwer Acad.
emic) (Spring 1993), the teachings of which are incorporated into this application for all purposes by reference thereto. Interaction framework 16 supports the selection and resolution of distributed information for all objects involved in a transaction. Every interface of an object is associated with an interaction port clock, and all transactions between connected object ports are implemented using the object port and the interaction port clock. The interaction framework 16 has a ring shape as described above, and can be represented by an interaction network having a circular communication path. Objects can be connected to rings via object ports. The data bags described above move around a ring in one direction, moving between groups of connected objects. Each object port can be tuned to a clock phase associated with the ring. The number of object ports connected to a particular clock phase can change dynamically. Clock phases are also called clock ports.

【0024】 各オブジェクトポートから、クロックポートは、データ、および、2つの(非
同期)制御信号を受ける。その制御信号は、リリース(そのフェーズのためにス
テップの終了を示す)、およびトリガー(そのフェーズのために他の接続された
オブジェクトポートの直接の意思を示す)である。一度すべてのポートがリリー
スされ、少なくとも1つがトリガーとなれば、クロックポートは、リングに沿っ
て存在する次のクロックポートへ、集めたデータバッグと同様に進行命令(アド
バンス)信号を送信する。この信号を受ける次のクロックポートは、そのクロッ
クポートに同調された全てのオブジェクトポートに、それを送信する。より高い
フェーズが存在しない場合、クロックポートは、同じフェーズに接続されたオブ
ジェクトポートへ進行命令を送り戻す。
From each object port, the clock port receives data and two (asynchronous) control signals. The control signals are release (indicating the end of the step for that phase) and trigger (indicating the direct will of the other connected object ports for that phase). Once all ports are released and at least one triggers, the clock port sends an advance signal as well as the collected data bag to the next clock port present along the ring. The next clock port receiving this signal will send it to all object ports tuned to that clock port. If no higher phase exists, the clock port sends a progress instruction back to the object port connected to the same phase.

【0025】 インタラクションがセットされたすべてのオブジェクトポートセットは、ステ
ップで進行する。各ステップは、前のフェーズ中のオブジェクトポートからのリ
リースおよび/またはトリガー信号の受取の後に、インタラクションクロックか
らの進行命令の受取とともに開始し、現在のフェーズのリリース/トリガー信号
で終わる。アプリケーションインタラクションの状態は、要素オブジェクト、お
よびそれらをリンクするクロックポートの中で共有される。任意の数のクロック
ポートは、アプリケーションの要求に応じて、生成および/または除去されるこ
とができる。除去の前に、全てのオブジェクトポートは、離調される。オブジェ
クトポートがアプリケーションで使用される場合、それは特定のフェーズに接続
され、それはクロックポートのそのフェーズに同調されているとして参照される
。特定のフェーズへの同調に成功した後、オブジェクトポートは、クロックポー
トから進行命令およびデータバッグを受けることができる。活動的なフェーズに
同調されたオブジェクトポートが現在進行命令を受け取り、フェーズのステップ
が完了していないので、フェーズが非活動的になった後に、オブジェクトポート
は、そのフェーズに単に同調される。オブジェクトポートがリングから切り離さ
れる場合、それはクロックポートの特定のフェーズから離調されることと呼ばれ
る。一旦離調されると、オブジェクトポートはデータバッグまたは進行命令をそ
のオブジェクトポートでは受信しない。
All object port sets for which an interaction has been set proceed in steps. Each step begins with the receipt of a release and / or trigger signal from the object port during the previous phase, followed by the receipt of a progress instruction from the interaction clock, and ends with the release / trigger signal of the current phase. The state of the application interaction is shared among the element objects and the clock ports linking them. Any number of clock ports can be created and / or removed as required by the application. Prior to removal, all object ports are detuned. When an object port is used in an application, it is connected to a particular phase, which is referred to as being tuned to that phase of the clock port. After successfully tuning to a particular phase, the object port can receive progress instructions and data bags from the clock port. After a phase becomes inactive, the object port is simply tuned to the active phase since the phase becomes inactive because the object port that is tuned to the active phase currently receives a progress command and the steps of the phase have not been completed. When an object port is detached from the ring, it is called detuning from a particular phase of the clock port. Once detuned, the object port does not receive data bags or progress commands on that object port.

【0026】 図3Aおよび3Bは、インタラクションネットワーク39を形成するインタラ
クションフレームワーク16のインプリメンテーションの例を示す図面である。
インタラクションネットワーク39は、リング36に沿って配置されるオブジェ
クト30a〜30dを含む。各オブジェクト30a〜dは、オブジェクトID値
によって識別される。各々のオブジェクトポート32a〜dは、固有のポートI
D値によって識別される。クロックリング36は、1のバッファーサイズを持つ
。各オブジェクトポート32a〜bは、クロックリング36のクロックポート3
8a(フェーズ0またはベースフェーズ)に同調される。同様に、オブジェクト
ポート32c〜dは、クロックリング36のクロックポート38b(フェーズ1
)に同調される。全てのこれらのオブジェクト30a〜dは、同じインタフェー
ス34を共有する。本実施例では、オブジェクト30aは、オブジェクトID1
、ポートID500、インタフェースID9を持ち、フェーズ0に同調される。
オブジェクト30bは、オブジェクトID1、ポートID600、インタフェー
スID9を持ち、フェーズ0に同調される。オブジェクト30cは、オブジェク
トID3,ポートID700,インタフェースID9を持ち、フェーズ1に同調
される。オブジェクト30dは、オブジェクトID4、ポートID800、イン
タフェースID9を持ち、フェーズ1に同調される。
FIGS. 3A and 3B are diagrams illustrating examples of implementations of the interaction framework 16 forming the interaction network 39.
The interaction network 39 includes objects 30a to 30d arranged along the ring 36. Each of the objects 30a to 30d is identified by an object ID value. Each object port 32a-d has its own port I
Identified by the D value. Clock ring 36 has a buffer size of one. Each object port 32a-b is connected to clock port 3 of clock ring 36.
8a (phase 0 or base phase). Similarly, the object ports 32c to 32d are connected to the clock port 38b (phase 1) of the clock ring 36.
Tuned to). All these objects 30a-d share the same interface 34. In the present embodiment, the object 30a has the object ID 1
, Port ID 500 and interface ID 9 and are tuned to phase 0.
Object 30b has object ID 1, port ID 600, and interface ID 9, and is tuned to phase 0. Object 30c has object ID3, port ID700, and interface ID9, and is tuned to phase 1. Object 30d has object ID 4, port ID 800, and interface ID 9, and is tuned to phase 1.

【0027】 クロックリング36が生成されるときに、ベースフェーズ0は自動的に生成さ
れる。図3Bに示すように、フェーズ0はステップ1、ステップ2、ステップ3
、およびステップnまで持つ。フェーズ1は、ポート32aまたは32bがフェ
ーズ0リリースに同調されるとき、およびポート32aまたは32bの少なくと
も一つがトリガーとなるとき、ステップ1進む。フェーズ0でのクロックリング
36は、データバッグ35を集めて、それから集められたデータバッグ35と進
行命令をフェーズ1に同調されるオブジェクトポート32cおよび32dに送信
する。フェーズ1に同調されるオブジェクトポート32cおよび32dは、受信
データバッグ35を読み取り、変更することができる。オブジェクトポート32
cおよび32dが読み取り/書き込み操作を終えるときに、オブジェクトポート
32cおよび32dはフェーズ1にリリースおよびトリガーして、再びフェーズ
1でのクロックリング36はデータバッグ35を集めて、集めたデータバッグ3
5と進行命令をフェーズ2に同調された全てのポートに送信する。図3Aでは、
フェーズ2に同調されたポート、またはより高いフェーズへ同調されたポートが
ないので、クロックリング36は、集められたデータバッグ35と進行命令をク
ロックリング36に沿って送信し、ベースフェーズに同調されたすべてのオブジ
ェクトポートは、ベースフェーズの次のステップで進行命令およびデータバッグ
35を得る。したがって、フェーズ0のためのステップ1が終了し、それに同調
されたオブジェクトポートがある場合、フェーズ1が開始する。同様に、フェー
ズ1のためのステップ1が終了したときに、フェーズ2のためのステップ1は開
始する。どれもフェーズ2に同調されない場合、そこからはベースフェーズのス
テップ2が始まる。全トランザクションが完了するまで、これが繰り返される。
When clock ring 36 is generated, base phase 0 is automatically generated. As shown in FIG. 3B, phase 0 includes steps 1, 2, 3
, And up to step n. Phase 1 proceeds to step 1 when the ports 32a or 32b are tuned to a phase 0 release and when at least one of the ports 32a or 32b is triggered. The clock ring 36 in phase 0 gathers the data bags 35 and sends the gathered data bags 35 and progress instructions to the object ports 32c and 32d that are tuned to phase one. Object ports 32c and 32d that are tuned to phase 1 can read and modify the received data bag 35. Object port 32
When c and 32d finish the read / write operation, object ports 32c and 32d release and trigger on phase 1 and again clock ring 36 in phase 1 collects data bag 35 and collects data bag 3
5 and a progress command are sent to all ports tuned to phase 2. In FIG. 3A,
Since there are no ports tuned to phase 2 or tuned to a higher phase, clock ring 36 transmits the gathered data bag 35 and progress instructions along clock ring 36 and is tuned to the base phase. All the object ports that have been obtained get the progress instruction and data bag 35 in the next step of the base phase. Thus, step 1 for phase 0 ends, and if there is an object port tuned to it, phase 1 begins. Similarly, when step 1 for phase 1 ends, step 1 for phase 2 starts. If none is tuned to phase 2, then step 2 of the base phase begins. This is repeated until all transactions are completed.

【0028】 一般に、進行命令の到着は、トランザクション中のすべての受取人にすべての
オブジェクトポートが配達されたことによる、前のステップで書き込まれたすべ
てのオブジェクトポートのそれぞれに対する応答を示す。データは他のパーティ
ーがそれにアクセスするまで保持されるから、クロックリングはデータへの持続
を提供する。特定のオブジェクトポートのために、進行命令が次のステップのた
めに配信されない場合、それは前のステップデータがまだ配信されていないこと
を示す。オブジェクトは、他の手段によっていかなる不良についても通知される
。一つのバッファーサイズは理解の複雑さを最小限にするためにクロックリング
によって、任意のフェーズの中のステップ間の各オブジェクト・ポートに供給さ
れ、それがオブジェクト不良、クロック不良、外部トランザクションリカバリ、
および、内部トランザクションリカバリのような欠点を扱うために必要である。
In general, the arrival of a progress order indicates a response to each of the object ports written in the previous step due to all object ports being delivered to all recipients in the transaction. Clocking provides persistence to the data because the data is retained until another party accesses it. If, for a particular object port, the progress instruction is not delivered for the next step, it indicates that the previous step data has not yet been delivered. The object is notified of any failures by other means. One buffer size is supplied to each object port between steps in any phase by clocking to minimize the complexity of understanding, which can be used for object failure, clock failure, external transaction recovery,
And it is needed to address shortcomings such as internal transaction recovery.

【0029】 あらゆるオブジェクトポートは、そのフェーズのための現在ステップのその完
了を示している復旧信号を送信する。このリリースは、有限の時間にトランザク
ションの継続した進行を確実にするために作られなければならない。このステッ
プの間、オブジェクトポートは、前のステップから集められたデータ、集め進め
ることが望まれた書き込みデータ(これは多数の書き込みを含んでもよい)を有
し、または、何もせず、直ちにリリースの信号を送る。どんな場合も、一度オブ
ジェクトは、リリースの信号を送ると、もはやデータバッグから読み込んだり、
それに書き込んだりすることはない。特別のインタラクションネットワークに同
調されたオブジェクトポートのリリースは、イベントである。それは、非同期オ
ブジェクトによって生成され、より高いフェーズの中で進むすべてのコミュニケ
ーションによってオブジェクトの状態が少しも影響されないこと、クロックから
のそのフェーズのための次の進行命令の最新の受取りを示している。リリースは
、動的な再構築、静止、健全、オブジェクトのポイントを示し、そして、オブジ
ェクト状態は、そのフェーズのための次の進行命令の最新の受取まで、そのイン
タラクションに関して安定している。
[0029] Every object port sends a recovery signal indicating its completion of the current step for that phase. This release must be made to ensure the continued progress of the transaction in a finite amount of time. During this step, the object port has the data collected from the previous step, the write data desired to be collected (which may include multiple writes), or does nothing and immediately releases Send a signal. In any case, once the object sends a release signal, it will no longer read from the data bag,
There is no writing to it. The release of an object port tuned to a particular interaction network is an event. It indicates that the state of the object is not affected in any way by any communication that is generated by the asynchronous object and proceeds during the higher phases, and the latest receipt of the next progress instruction for that phase from the clock. The release indicates the point of dynamic reconstruction, stationary, sound, object, and the object state is stable with respect to its interaction until the latest receipt of the next progression instruction for that phase.

【0030】 オブジェクトポートトリガーは、次に高いフェーズでクロックリングに同調さ
れた他のオブジェクトポートに対する即時の意思を示す。次のステップに進むた
めに、時間をモデル化するために意思を示すオブジェクトポートから少なくとも
一つのトリガーがクロックリングによって受け取られなくてはならない。この単
一の意思信号は現在のステップの終わりに、すぐ次の進行命令としてすべてのオ
ブジェクトポートへ配信される。クロックリングは、オブジェクトポートではな
く、どれだけのオブジェクトポートが各フェーズに同調されたかのトラックを維
持する。それが全てのリリース、および少なくとも一つのトリガーをそれらのオ
ブジェクトポートから受けるとすぐに、データバッグを作るために個々のエレメ
ントを集め、それから、データバッグおよび進行命令を次に高いフェーズに同調
される全てのオブジェクトポートに送信する。したがって、クロックは外側から
の同期を提供している。それは、異なるフェーズに同期されたオブジェクトポー
トの変化する数のトラックを保持し、それから、最後に一つの進行命令およびデ
ータバッグを次に高いフェーズに送る。これは、各オブジェクトポートがたった
一つのイベント、前進信号の到着、および、低いフェーズに同調された各オブジ
ェクトポートからの全てではない各イベントを獲得するので、高いフェーズに同
調されたオブジェクトポートの複雑さを減少し、これにより限界のない協同を提
供する。
An object port trigger indicates an immediate will for other object ports that have been tuned to the clock ring in the next higher phase. To proceed to the next step, at least one trigger must be received by the clock ring from the object port indicating willingness to model time. This single will signal is delivered to all object ports at the end of the current step as the immediate next run command. The clock ring keeps track of how many object ports are tuned to each phase, not object ports. As soon as it receives all the releases, and at least one trigger from their object port, collect the individual elements to create a data bag, then tune the data bag and progress instruction to the next higher phase Send to all object ports. Thus, the clock is providing synchronization from the outside. It keeps a varying number of tracks of object ports synchronized to different phases, and then finally sends one progression instruction and data bag to the next higher phase. This complicates the high-phase tuned object ports because each object port captures only one event, the arrival of the advance signal, and not all events from each low-phase tuned object port. And thereby provide unlimited cooperation.

【0031】 テーブル1は、下記のように、適切なサイズおよび数のオブジェクトポートを
作り、管理フレームワーク19を備えたオブジェクトポートを登録するためのソ
ースコードのインプリメンテーションを示す。
Table 1 shows an implementation of the source code for creating an object port of the appropriate size and number and registering the object port with the management framework 19 as described below.

【0032】[0032]

【表1】 [Table 1]

【0033】 [0033]

【0034】 修正CORBA IDLフレームワーク18は、環境10によってサポートさ
れるソフトウェア開発におけるオブジェクト指向技術である。修正CORBA
IDLフレームワーク18は、OMG(Object Management
Group)によって1992年に発行された「コモン オブジェクト リクエ
スト ブローカ: アーキテクチャおよびスペック」(”The Common
Object Request Broker: Architecture
and Specification”)(以下、CORBAスペックと称す
る)という名称の文献に記述されているようなCORBA標準を含み、その教示
は、本願明細書にすべての目的に対して引用したものとする。しかしながら、本
発明の機能は、オブジェクト指向システムの異なるインプリメンテーションに適
用され得ると理解されるであろう。CORBAスペックは、オブジェクトが分散
型環境において要求および応答を透過的に生成および受け取りできるように、オ
ブジェクト・リクエスト・ブローカ(Object Request Brok
er (ORB))を規定する。オブジェクトサービスは、CORBAサービス
:コモン・オブジェクト・サービス・スペック(Common Object
Service Specification)において記述されるように、オ
ブジェクトを使用およびインプリメントすることによって基本的な機能をサポー
トするインタフェースおよびオブジェクトをインプリメントする一まとまりのサ
ービスである。コモンファシリティーズは、CORBAファシリティーズ:コモ
ン・オブジェクト・ファシリティーズ・スペックにおいて記述されるように、オ
ブジェクトサービスよりも基本的でないアプリケーションが分担する一まとまり
のサービスである。
The modified CORBA IDL framework 18 is an object-oriented technology in software development supported by the environment 10. Modified CORBA
The IDL framework 18 uses OMG (Object Management).
The Common Object Request Broker: Architecture and Specs, published by The Group in 1992 ("The Common
Object Request Broker: Architecture
and CORBA standards, as described in a document entitled "Specifications and Specification" (hereinafter referred to as CORBA specifications), the teachings of which are incorporated herein by reference for all purposes. It will be appreciated that the features of the present invention may be applied to different implementations of an object-oriented system, and the CORBA specification specifies that objects can transparently generate and receive requests and responses in a distributed environment. Object Request Broker
er (ORB)). The object service is a CORBA service: Common Object Service Specification (Common Object)
A set of services that implements interfaces and objects that support basic functionality by using and implementing objects, as described in Service Specification. Common facilities are a group of services that are shared by applications that are less basic than object services, as described in CORBA Facilities: Common Object Facilities Spec.

【0035】 クライアントは、要求(リクエスト)を発行することによってサービスを要求
する。要求は、たとえば特定時に起こるもののような事象である。要求と関連す
る情報は、オペレーション、ターゲットオブジェクト、ゼロ(0)またはそれよ
りも大きい(実際の)パラメータ、およびオプションの要求コンテクストから構
成されている。オブジェクトリファレンスは、特定のオブジェクトを信頼可能に
示すオブジェクト名である。特に、オブジェクトリファレンスは、リファレンス
が要求に使用されるごとに、同じオブジェクトを識別する。オブジェクトは、複
数の異なったオブジェクトリファレンスによって示される。要求は、データをタ
ーゲットオブジェクトに渡すのに使用されるパラメータを有していてもよく、そ
れはまた、要求についての追加情報を提供する要求コンテクストを有していても
よい。結果および例外(もしあるなら)がクライアントに戻される。
The client requests a service by issuing a request. A request is an event, such as, for example, one that occurs at a particular time. The information associated with a request consists of an operation, a target object, zero (0) or greater (actual) parameters, and an optional request context. An object reference is an object name that reliably indicates a particular object. In particular, an object reference identifies the same object each time the reference is used in a request. Objects are indicated by a number of different object references. The request may have parameters that are used to pass data to the target object, and it may also have a request context that provides additional information about the request. Results and exceptions (if any) are returned to the client.

【0036】 オブジェクトは、生成され、および除去され得る。オブジェクト生成の結果は
、新しいオブジェクトを示すオブジェクトリファレンスの形で、クライアントに
明らかにされる。タイプは、バリュー上で規定される関連したプレディケイト(
ブール結果をともなう単一引数の数学関数)を備えた識別可能なエンティティー
である。プレディケイトがバリューに対して真である場合、バリューはタイプを
満足する。満足するバリューは、当該タイプのメンバーと呼ばれる。CORBA
標準には、2つの基本的なデータのタイプ:整数、浮動小数点数、キャラクタ、
ブール、計数、および列を含む基本的なタイプと、レコード、区別されたユニオ
ン、シーケンス、配列、およびインタフェースを含む構造的なタイプとが規定さ
れている。
Objects can be created and removed. The result of object creation is revealed to the client in the form of an object reference pointing to the new object. The type is the associated predicate defined on the value (
Identifiable entity with a single-argument mathematical function with a Boolean result). If predicate is true to value, value satisfies the type. Satisfied values are called members of that type. CORBA
The standard includes two basic types of data: integers, floats, characters,
Basic types, including Booleans, counts, and columns, and structural types, including records, distinct unions, sequences, arrays, and interfaces, are defined.

【0037】 インタフェースは、クライアントがオブジェクトに要求し得る一組の可能なオ
ペレーションの記述である。オブジェクトがインタフェースによって記述される
各々の可能性のある要求においてターゲットオブジェクトとして特定され得る場
合、オブジェクトはインタフェースを満足する。インタフェースタイプは、特定
のインタフェースを満足する任意のオブジェクトによって満足されるタイプであ
る。インタフェースおよびオペレーションは、修正CORBA IDLに規定さ
れる。インタフェースのオブジェクトに対する定義は、2つの方法で規定され得
る。インタフェースは、修正CORBA IDLにおいて静的に規定され得る。
この言語は、その上で実行され得るオペレーションとそれらのオペレーションに
対するパラメータにしたがって、オブジェクトのタイプを規定する。代替的に、
または付加的に、インタフェースは、CORBAインタフェースリポジトリサー
ビスに加えられ得る。
An interface is a description of a set of possible operations that a client may request from an object. An object satisfies an interface if the object can be identified as a target object in each possible request described by the interface. An interface type is a type that is satisfied by any object that satisfies a particular interface. Interfaces and operations are specified in the modified CORBA IDL. The definition for an object of an interface can be defined in two ways. The interface may be statically defined in the modified CORBA IDL.
This language defines the types of objects according to the operations that can be performed on them and the parameters for those operations. Alternatively,
Or, additionally, an interface may be added to the CORBA interface repository service.

【0038】 CORBAスペックに規定されているように、ORBによって、クライアント
はオブジェクトに対して要求を送る。クライアントは、オブジェクト上でオペレ
ーションを実行することを望むエンティティーであり、オブジェクトインプリメ
ンテーションは、実際にオブジェクトをインプリメントするコードおよびデータ
である。ORBは、要求のためのオブジェクトインプリメンテーションを見いだ
すために必要とされるメカニズムのすべてに対して責任を引き受け、要求を受け
るためにオブジェクトインプリメンテーションを準備し、および要求を構成する
データを通信する。クライアントが参照するインタフェースは、オブジェクトが
どこに配置されているか、どのプログラミング言語がインプリメントされている
か、あるいは他のどのアスペクトもオブジェクトのインタフェースに反映されて
いないか、ということと完全に独立している。
As specified in the CORBA specification, the ORB causes a client to send a request to an object. A client is an entity that wants to perform an operation on an object, and an object implementation is the code and data that actually implement the object. The ORB assumes responsibility for all of the mechanisms needed to find the object implementation for the request, prepares the object implementation to receive the request, and communicates the data that makes up the request. I do. The interface referenced by the client is completely independent of where the object is located, what programming language is implemented, or whether any other aspects are not reflected in the object's interface.

【0039】 要求を作成するために、クライアントは、CORBAダイナミックインボケイ
ションインタフェース、またはCORBA IDLスタブを使用することができ
る。クライアントはまた、いくらかの機能に関してORBと直接相互に作用する
ことができる。オブジェクトインプリメンテーションは、CORBA IDLに
よって作り出されたスケルトン、またはダイナミックスケルトンを通して、呼び
出しとして要求を受ける。要求の処理の間、または他の時に、オブジェクトイン
プリメンテーションは、オブジェクトアダプタ、およびORBを呼び出すことが
できる。クライアントは、オブジェクトについてのオブジェクトリファレンスに
アクセスすること、およびオブジェクトと実行される所望の操作とのタイプを知
ることによって、要求を実行する。
To make the request, the client can use a CORBA dynamic invocation interface, or a CORBA IDL stub. The client can also interact directly with the ORB for some functions. The object implementation receives requests as calls through skeletons created by CORBA IDL, or through dynamic skeletons. During the processing of the request, or at other times, the object implementation can invoke the object adapter and the ORB. The client performs the request by accessing the object reference for the object and knowing the type of object and the desired operation to be performed.

【0040】 CORBAアーキテクチャでは、ORBは、単一のコンポーネントとしてイン
プリメントされるのに必要とされず、むしろそのインタフェースによって規定さ
れる。適切なインタフェースを提供するどのORBインプリメンテーションでも
、許容される。インタフェースは、3つのカテゴリ、すなわち、すべてのORB
インプリメンテーションに対して同じである操作、オブジェクトの特定タイプに
特有である操作、およびオブジェクトインプリメンテーションの特定スタイルに
特有である操作に組織される。ORBインタフェースは、ORBに直接通じてお
り、すべてのORBに対して同じであって、オブジェクトのインタフェースまた
はオブジェクトアダプタに依存しないインタフェースである。
In the CORBA architecture, the ORB is not required to be implemented as a single component, but rather is defined by its interface. Any ORB implementation that provides a suitable interface is acceptable. The interface has three categories: all ORBs
It is organized into operations that are the same for implementation, operations that are specific to a particular type of object, and operations that are specific to a particular style of object implementation. The ORB interface is a direct interface to the ORB, the same for all ORBs, and is an interface that is independent of object interfaces or object adapters.

【0041】 修正CORBA IDLフレームワーク18もまた、本発明で使用されるイン
プリメンテーションを記述する以下の点を含む。修正CORBA IDLフレー
ムワーク18は、発呼側および被呼側が非同期である非同期コンポーネント用に
設計される。すべての機能の記述は、キー作業「非同期」と関連しており、非同
期動作を示している。したがって、送信側は、受信側から承認を受けるまで、遮
断される必要はない。さらに、オブジェクトはインタラクションフレームワーク
16を使用して相互に作用するので、設計者は、バッファロスについて関わる必
要がない。
The modified CORBA IDL framework 18 also includes the following that describes an implementation used in the present invention. The modified CORBA IDL framework 18 is designed for asynchronous components where the calling and called parties are asynchronous. All functional descriptions are associated with the key operation "asynchronous" and indicate asynchronous operation. Thus, the sender does not need to be blocked until it is acknowledged by the receiver. Further, since the objects interact using the interaction framework 16, the designer need not be concerned with buffer loss.

【0042】 修正CORBA IDLフレームワーク18は、トランザクションのマルチサ
イクルステップを規定する。以下は、インタラクションフレームワーク16を使
用するマルチサイクルのトランザクションの修正CORBA IDLフレームワ
ーク18におけるスケルトンスペックである。
The modified CORBA IDL framework 18 defines the multi-cycle steps of a transaction. The following is a skeleton specification in the modified CORBA IDL framework 18 for a multi-cycle transaction using the interaction framework 16.

【0043】[0043]

【表2】 [Table 2]

【0044】 インタフェース34は、修正CORBA IDLフレームワーク18を使用し
てインプリメントされ得る。システム全体に固有のグローバルハンドルが、リフ
ァレンス、オブジェクトID、ポートID、インタフェースID、クロックリン
グ36、およびクロックフェーズ38a、38bを含むオブジェクト30に提供
される。グローバルハンドルは、それらがどこに配置されるか、およびそれらが
どんなプログラミング言語でインプリメントされるかということから独立してい
る。
The interface 34 may be implemented using a modified CORBA IDL framework 18. A global handle specific to the entire system is provided to the object 30 including the reference, object ID, port ID, interface ID, clock ring 36, and clock phases 38a, 38b. Global handles are independent of where they are located and in what programming language they are implemented.

【0045】 図4は、管理フレームワーク19のインプリメンテーションを、分散型管理ネ
ットワーク40として示す。オブジェクト30およびインタフェース34(図示
せず)は、管理オブジェクト42によって管理される。オブジェクト30のオブ
ジェクトバージョンは、管理オブジェクト42に分配される。管理オブジェクト
42は、連結されたオブジェクト30についての情報の集中管理の役を務める。
管理オブジェクト42は、ネットワーク発展のためのインタフェース(INE)
インタフェース45を通して、管理人オブジェクト44に情報を送信する。管理
人オブジェクト44は、管理オブジェクト42から受けた情報に基づいて、イン
タフェース発展上で決定を行う。管理人オブジェクト44は、管理オブジェクト
42によって提供される情報を結合する。各管理オブジェクト42における複雑
さは、O(TNLog(N)である。管理オブジェクト42がない場合、MxT
は、アプリケーションにおけるオブジェクト30の合計数である。互換性のある
システムの分散型選択の複雑さは、O((T+M)NLog(N))である。し
たがって、TおよびNが定数である場合、互換性のあるシステムの分散型選択の
複雑さは、N Log (N)である。管理人オブジェクト44は、アプリケー
ションの発展を形成およびコントロールするために、グラフィカル・ユーザ・イ
ンタフェース(GUI)をサポートしており、管理人47が管理オブジェクト4
2を通して相互作用的にオブジェクトを管理するのを許容する。オブジェクト3
0の設計は、アプリケーションに特有である。
FIG. 4 shows an implementation of the management framework 19 as a distributed management network 40. The object 30 and the interface 34 (not shown) are managed by the management object 42. The object version of the object 30 is distributed to the management object 42. The management object 42 serves to centrally manage information about the linked objects 30.
The management object 42 is an interface (INE) for network development.
The information is transmitted to the manager object 44 through the interface 45. The management person object 44 makes a decision on the interface development based on the information received from the management object 42. The manager object 44 combines information provided by the manager objects 42. The complexity of each managed object 42 is O (TNLog (N). If there is no managed object 42, MxT
Is the total number of objects 30 in the application. The complexity of distributed selection of compatible systems is O ((T + M) NLLog (N)). Thus, if T and N are constants, then the complexity of distributed selection of compatible systems is N Log (N). The caretaker object 44 supports a graphical user interface (GUI) to shape and control the evolution of the application, and the caretaker 47
2 to manage objects interactively. Object 3
A design of 0 is application specific.

【0046】 図5は、ライフサイクルフレームワーク20のステージのインプリメンテーシ
ョンを示す。要求ステージ50は、たとえばコスト、期限、信頼性、またはオブ
ジェクトコードのサイズなどの制約を決定する。プロジェクト管理計画ステージ
51は、プロジェクト管理計画を提供するために、配送可能性、マイルストーン
、および予算などのソフトウェア開発の重要コンポーネントを決定する。スペッ
クおよびオブジェクト指向分析ステージ52は、スペックを生成するために、要
求ステージ50で開発された要求を、インタフェース34を有する一組のオブジ
ェクト30に分割する。要求の分割は、プロジェクト管理計画ステージ51で開
発されたプロジェクト管理計画、およびオブジェクトの望ましいレベルの再使用
可能性に依存し得る。オブジェクトの再使用可能性は、オブジェクトが全体的ま
たは部分的に一致する、インタフェース34およびオブジェクト30をチェック
することによって決定され得る。完全に一致するオブジェクト30は、全体的に
再利用され得る。部分的に一致するオブジェクト30は、新しい要求を満足する
ように現存の機能性を拡張するために、開発者に割り当てられ得る。
FIG. 5 shows an implementation of a stage of the life cycle framework 20. Request stage 50 determines constraints such as, for example, cost, deadline, reliability, or size of object code. The project management planning stage 51 determines key components of software development, such as deliverability, milestones, and budget, to provide a project management plan. The spec and object oriented analysis stage 52 splits the requirements developed in the requirements stage 50 into a set of objects 30 having the interface 34 to generate the specifications. The splitting of requirements may depend on the project management plan developed in the project management planning stage 51 and the desired level of reusability of the object. The reusability of an object may be determined by checking the interface 34 and the object 30 for which the object matches wholly or partially. Perfectly matching objects 30 can be totally reused. Partially matching objects 30 may be assigned to developers to extend existing functionality to satisfy new requirements.

【0047】 設計ステージ53は、スペックおよびオブジェクト指向分析ステージ52で開
発されたスペックに基づいて、オブジェクト30およびインタフェース34を決
定する。複数の開発者は、相互に作用するオブジェクト30を開発している開発
者間でのネゴシエーションを用いて、オブジェクト30を決定することができる
。開発者は、インタフェース34のための構造(ストラクチャ)およびプロトコ
ルについて交渉する。
The design stage 53 determines the object 30 and the interface 34 based on the specifications and the specifications developed in the object-oriented analysis stage 52. A plurality of developers can determine the object 30 using negotiation between developers who are developing the interacting object 30. The developer negotiates a structure and protocol for the interface 34.

【0048】 インプリメンテーションステージ54は、オブジェクト30およびインタフェ
ース34のインプリメンテーションを決定する。単一ユニットテストは、自動単
一ユニットテストステージ55において第三者によって実行され得る。成功した
テストの後、インプリメンテーションは、下記のように、管理フレームワーク1
9とともに、登録され得る。互換性のあるシステムは、互換性のあるシステム検
出ステージ56において決定される。
The implementation stage 54 determines the implementation of the object 30 and the interface 34. The single unit test may be performed by a third party in the automatic single unit test stage 55. After a successful test, the implementation will proceed to Management Framework 1 as described below.
9 and can be registered. Compatible systems are determined in a compatible system detection stage 56.

【0049】 ネットワーク指向ソースコードウォークスルーステージ57の間、オブジェク
ト30およびインタフェース34のインプリメンテーション上でテストが実行さ
れる。テスト結果は、関係する開発者および管理人に結果を送る管理フレームワ
ーク19に送られる。
During the network-oriented source code walk-through stage 57, tests are performed on the implementation of the object 30 and the interface 34. The test results are sent to a management framework 19 that sends the results to the relevant developers and administrators.

【0050】 ネットワーク指向統合テストステージ58は、スペックおよびオブジェクト指
向分析ステージ52で決定されたスペックを満足するプロダクトを供給するよう
にオブジェクト30が正しく結合されているかをチェックするために、オブジェ
クト30の統合をテストする。オブジェクト30のインタフェース入出力は、テ
ストされ得る。テスト結果は、関係する開発者および管理人に結果を送る管理フ
レームワーク19に送られる。
The network-oriented integration test stage 58 integrates the objects 30 to check that the objects 30 are properly coupled to provide a product that meets the specifications determined in the specification and object-oriented analysis stage 52. To test. The interface input / output of the object 30 can be tested. The test results are sent to a management framework 19 that sends the results to the relevant developers and administrators.

【0051】 メンテナンスステージ59は、受け取り後、ステージ50〜58で開発された
ソフトウェアに対する変更のためのサポートを提供する。メンテナンスの間、オ
ブジェクト30のテストされたバージョンは、動的に更新され得る。メンテナン
スステージ59は、要求ステージ50、プロジェクト管理計画ステージ51、ス
ペックおよびオブジェクト指向分析ステージ52、設計ステージ53、インプリ
メンテーションステージ54、ネットワーク指向ソースコードウォークスルース
テージ57、またはネットワーク指向分散型意味テストステージ58に戻ること
ができる。
The maintenance stage 59, after receipt, provides support for changes to the software developed in stages 50-58. During maintenance, the tested version of the object 30 may be updated dynamically. The maintenance stage 59 includes a requirements stage 50, a project management planning stage 51, a specification and object-oriented analysis stage 52, a design stage 53, an implementation stage 54, a network-oriented source code walk-through stage 57, or a network-oriented distributed semantic test stage. 58.

【0052】 ヒューマンディメンジョンフレームワーク21は、ライフサイクルフレームワ
ーク20において説明したようなライフサイクルステージの間、関連活動をソフ
トウェア開発チームメンバーに割り当てる。ヒューマンディメンジョンフレーム
ワーク21による割り当てのインプリメンテーションは、テーブル2に示される
The human dimension framework 21 assigns relevant activities to software development team members during a life cycle stage as described in the life cycle framework 20. An implementation of the assignment by the human dimension framework 21 is shown in Table 2.

【0053】[0053]

【表3】 [Table 3]

【0054】 [0054]

【0055】 スペックおよびオブジェクト指向分析ステージ52では、開発者は、初期のオ
ブジェクト30およびインタフェース34を記述する各オブジェクト30につい
ての全体のスペックを得る。その後、開発者は、新しい要求を満足するように、
既に利用可能なオブジェクト30の特定のバージョンを強化するように依頼され
るかもしれないし、あるいは、インタフェースの各々についてのいかなるストラ
クチャおよびプロトコルも無しに、オブジェクト30についてのインタフェース
IDのみが与えられるかもしれない。第2のケースでは、開発者は、新しいオブ
ジェクト30を完全に設計しなければならない。
In the spec and object oriented analysis stage 52, the developer obtains the initial specs 30 and the overall specs for each object 30 describing the interface 34. After that, the developer, to satisfy the new requirements,
You may be asked to enhance a particular version of the object 30 that is already available, or you may be given only the interface ID for the object 30 without any structure and protocol for each of the interfaces. . In the second case, the developer must completely design the new object 30.

【0056】 設計ステージ53では、開発者は、他の開発者とのネゴシエーションプロセス
を使用することができる。たとえば、開発者は、ネゴシエーションの各ステップ
において、各々のインタフェース34について、修正CORBA IDLでネゴ
シエーションスクリプトを書くことができる。ネゴシエーションスクリプトは、
管理フレームワーク19とともに登録される。開発者は、他の関係のある開発者
から、修正CORBA IDL記述として書かれたネゴシエーションスクリプト
を受け取る。開発者は、ネゴシエーションスクリプトを修正するために、その特
定のインタフェースのためのストラクチャおよびプロトコルについての他開発者
の見解を表す受け取り情報を使用することができる。すべてのインタフェースの
ネゴシエーションが完了した後、開発者は、修正CORBA IDLでオブジェ
クトインタフェース記述を書き、そのオブジェクトインタフェース記述を管理フ
レームワーク19とともに登録する。管理フレームワーク19は、修正CORB
A IDL記述から作り出されたコードを、開発者まで戻す。好ましいネゴシエ
ーションプロセスのインプリメンテーションは、以下においてより詳細に説明さ
れる。
In the design stage 53, a developer can use a negotiation process with another developer. For example, a developer can write a negotiation script with a modified CORBA IDL for each interface 34 at each step of the negotiation. The negotiation script is
It is registered with the management framework 19. The developer receives a negotiation script written as a modified CORBA IDL description from another relevant developer. The developer can use the received information, which represents the other developer's views on the structure and protocol for that particular interface, to modify the negotiation script. After all interfaces have been negotiated, the developer writes an object interface description with the modified CORBA IDL and registers the object interface description with the management framework 19. The management framework 19 uses the modified CORB
A Return the code created from the IDL description to the developer. An implementation of a preferred negotiation process is described in more detail below.

【0057】 インプリメンテーションステージ54では、開発者はインプリメンテーション
を完成して、単一ユニットテストを実行する。開発者は、インプリメントされた
オブジェクト30を、管理フレームワーク19とともに登録し、たとえば、オブ
ジェクトバージョンは、テストの後、修正の結果として増加され得る。互換性の
あるアプリケーションシステムの検出56は、互換性のあるアプリケーションシ
ステムを作り上げる。開発者は、ネットワーク指向ソースコードウォークスルー
ステージ57、および分散型意味テストステージ58の結果に基づいて、必要な
行動をとる。
In the implementation stage 54, the developer completes the implementation and performs a single unit test. The developer registers the implemented object 30 with the management framework 19, for example, the object version may be incremented after testing as a result of modification. Detect compatible application system 56 creates a compatible application system. The developer takes necessary actions based on the results of the network-oriented source code walk-through stage 57 and the distributed semantic test stage 58.

【0058】 ネットワーク指向統合テストステージ58では、分散型意味テストは、スペッ
クを満足するプロダクトを達成するためにオブジェクト30が正しく結合されて
いることをチェックするために実行される。ネットワーク指向統合テストステー
ジ58の間、インタフェース34が慎重にテストされる。試験者が、オブジェク
トに対するインタフェース、ステータス、および、入力/出力をテストするのに
用いられ得る。試験者は、いかなる障害も識別して、それらを分類し、障害を修
正しないで管理フレームワーク19に結果を入力する。
In the network-oriented integration test stage 58, a distributed semantic test is performed to check that the objects 30 are correctly combined to achieve a product that meets the specifications. During the network-oriented integration test stage 58, the interface 34 is carefully tested. A tester can be used to test interfaces, status, and inputs / outputs for the object. The tester identifies any faults, categorizes them, and enters the results into the management framework 19 without correcting the faults.

【0059】 メンテナンスステージ59の間、メンテナンス管理人は、故障レポートまたは
現存のオブジェクト30を強化するためのスペックを配信することによって、メ
ンテナンスプログラマに通知する。メンテナンスプログラマは、上記したステー
ジ50〜59を使用して開発されたソフトウェアの中でバグを発見して修正する
ために、矯正的で適応性のあるメンテナンス変更を提供し、試験者と開発者の結
合としての役目を務める。
During the maintenance stage 59, the maintenance manager notifies the maintenance programmer by delivering failure reports or specifications to enhance existing objects 30. The maintenance programmer provides corrective and adaptive maintenance changes to find and fix bugs in software developed using stages 50-59 described above, and allows testers and developers to Serves as a bond.

【0060】 以下は、ライフサイクルフレームワーク20を使用する分散型ソフトウェア開
発環境10における、ネットワークアプリケーションの開発の一例である。要求
ステージ50の間、ネットワークアプリケーションについての情報は、エンドユ
ーザまたはクライアントから集められる。図6は、要求ステージ50によって作
り出されるネットワークアプリケーション60を示す。ネットワークアプリケー
ション60は、オブジェクトID01を持つオブジェクト30a(以下、オブジ
ェクト01と称する)、オブジェクトID02を持つオブジェクト30b(以下
、オブジェクト02と称する)、およびオブジェクトID03を持つオブジェク
ト30c(以下、オブジェクト03と称する)を有している。各オブジェクト3
0a〜cは、各オブジェクト30の状態をセットないし受信できるそれぞれの状
態オブジェクトポート61a〜cを有している。各オブジェクト30a〜30c
は、状態インタフェースID1、2、3としてそれぞれ割り当てられる状態イン
タフェース63a〜63cを有している。状態インタフェースID1、2、3は
、それぞれオブジェクト01、オブジェクト02、オブジェクト03に割り当て
られる。各オブジェクト30a〜cは、それぞれ、各オブジェクト30が要求を
送信または受信するときに通る基本サービスオブジェクトポート62a〜cを有
しており、要求を処理して、上記したようなオブジェクトポート32であり得る
基本サービスオブジェクトポート62を通してレスポンスを送り返す。基本サー
ビスインタフェース64は、各オブジェクト01、オブジェクト02、オブジェ
クト03の基本サービスオブジェクトポート62を接続する。インタフェース6
4は、インタフェースID4が割り当てられる。状態オブジェクトポート61a
〜cと基本サービスオペレーションポート62a〜cとはオブジェクトポート3
2を有し、状態インタフェース63と基本サービスインタフェース64とはイン
タフェース34を有することは理解されるであろう。
The following is an example of the development of a network application in the distributed software development environment 10 using the life cycle framework 20. During the request stage 50, information about network applications is gathered from end users or clients. FIG. 6 shows the network application 60 created by the request stage 50. The network application 60 includes an object 30a having an object ID 01 (hereinafter referred to as an object 01), an object 30b having an object ID 02 (hereinafter referred to as an object 02), and an object 30c having an object ID 03 (hereinafter referred to as an object 03). have. Each object 3
0a-c have respective state object ports 61a-c from which the state of each object 30 can be set or received. Each object 30a-30c
Has status interfaces 63a to 63c assigned as status interface IDs 1, 2, and 3, respectively. The state interface IDs 1, 2, and 3 are assigned to objects 01, 02, and 03, respectively. Each object 30a-c has a basic service object port 62a-c through which each object 30 sends or receives a request, processes the request, and is the object port 32 as described above. The response is sent back through the obtained basic service object port 62. The basic service interface 64 connects the basic service object ports 62 of the objects 01, 02, and 03. Interface 6
4 is assigned an interface ID 4. State object port 61a
-C and the basic service operation ports 62a-c are object port 3
It will be appreciated that the status interface 63 and the basic service interface 64 have an interface 34.

【0061】 ネットワークアプリケーション60では、2乗操作(square oper
ation)を実行するために、オブジェクト01は、基本サービスインタフェ
ース64を介してオブジェクト02に、要求メッセージを送る。オブジェクト0
1は、オブジェクト02から、基本サービスインタフェース64を介して、2乗
された数を受ける。オブジェクト01は、和算オペレーション(summati
on operation)を実行するために、基本サービスインタフェース6
4を介してオブジェクト03に、要求メッセージを送る。Summation(
n)は、n、n‐1、…、1を加え、結果的にn(n+1)/2となることによ
って実行される。オブジェクト01は、オブジェクト03から、基本サービスイ
ンタフェース64を介して、和算された数を受ける。整数が、オブジェクト01
、オブジェクト02、およびオブジェクト03の間を通過すると思われる。した
がって、オブジェクト02およびオブジェクト03は、サービスを提供するのみ
で、何ら要求を生成しない。
In the network application 60, a square operation (square operation)
object 01 sends a request message to the object 02 via the basic service interface 64 to perform the request. Object 0
1 receives the squared number from the object 02 via the basic service interface 64. Object 01 is a sum operation (summati)
on service), the basic service interface 6
4 sends a request message to the object 03. Summation (
n) is performed by adding n, n−1,..., 1, resulting in n (n + 1) / 2. Object 01 receives the summed number from object 03 via basic service interface 64. Integer is object 01
, Object 02, and object 03. Therefore, the objects 02 and 03 only provide services and do not generate any requests.

【0062】 スペックおよびオブジェクト指向分析ステージ52では、インタフェースID
1〜4は、ヌル(空白)にセットされ得る。以下のスペックが決定され得る。オ
ブジェクト01は、インタフェースID1、4を持つ2つのインタフェースを有
している。インタフェースID1は、ゲットおよびセット状態をサポートし、ま
たセット状態のオペレーションによってオブジェクト01を除去することをサポ
ートする、状態ポート61aのためのインタフェースである。基本サービスオブ
ジェクトポート62aは、スクエアまたは合計要求ペレーションを送信すること
ができ、適切なレスポンスを受け戻すことができる。オブジェクト02は、イン
タフェースID2、4を持つ2つのインタフェースを有している。インタフェー
スID2は、ゲットおよびセット状態をサポートし、またセット状態のオペレー
ションによってオブジェクト02を除去することをサポートする、状態ポート6
1bのためのインタフェースである。基本サービスオブジェクトポート62bは
、スクエア要求を受け、計算し、そしてレスポンスを出力する。オブジェクト0
3は、インタフェースID3、4を持つ2つのインタフェースを有している。イ
ンタフェースID3は、ゲットおよびセット状態をサポートし、またセット状態
のオペレーションによってオブジェクト03を除去することをサポートする、状
態ポート61cのためのインタフェースである。オブジェクト03の基本サービ
スオブジェクトポート62cは、合計要求を受け、計算し、そしてレスポンスを
出力する。設計ステージ63では、管理人は、オブジェクト01、オブジェクト
02、およびオブジェクト03を設計する仕事を、それぞれD1、D2、および
D3として識別される3人の開発者に割り当てる。
In the specification and object-oriented analysis stage 52, the interface ID
1-4 can be set to null (blank). The following specifications can be determined. Object 01 has two interfaces having interface IDs 1 and 4. Interface ID1 is an interface for state port 61a that supports get and set states and supports removing object 01 by set state operations. The basic service object port 62a can send a square or total request operation and receive an appropriate response. Object 02 has two interfaces having interface IDs 2 and 4. Interface ID2 supports get and set states, and also supports removing object 02 by set state operations.
1b. The basic service object port 62b receives, calculates, and outputs a response to the square request. Object 0
Reference numeral 3 has two interfaces having interface IDs 3 and 4. Interface ID3 is an interface for state port 61c that supports get and set states, and supports removing object 03 by set state operations. The basic service object port 62c of object 03 receives the total request, calculates, and outputs a response. In the design stage 63, the caretaker assigns the task of designing object 01, object 02, and object 03 to three developers identified as D1, D2, and D3, respectively.

【0063】 環境10は、設計ステージ53におけるアプリケーションのソフトウェア開発
の間、開発者間のネゴシエーションをインプリメントするのに使用され得る。図
7は、本発明の教示にしたがった、限界の無いネゴシエーション方法70のイン
プリメンテーションを示すフローチャートである。限界の無いネゴシエーション
は、ステップを進めることによってネゴシエーションを提供する。ブロック72
では、管理人オブジェクト44は、オブジェクトを設計およびインプリメントす
るタスクを開発者に割り当てる。ブロック73では、ネゴシエーションネットワ
ークが開発者と管理オブジェクト42との間で設立される。図8は、図6に示さ
れる類似したアプリケーションネットワーク60に対して使用され得るネゴシエ
ーションネットワーク80のインプリメンテーションである。ネゴシエーション
ネットワーク80は、開発者D1、D2、D3を有している。開発者D1、D2
、D3は、管理人オブジェクト44によって、オブジェクト01、オブジェクト
02、およびオブジェクト03と称されるオブジェクト30を開発するために、
それぞれ割り当てられる。ブロック73では、管理人オブジェクト44は、ネゴ
シエーションネットワーク80を設立する際にパラメータを特定することができ
る。たとえば、管理人オブジェクト44は、ネゴシエーションネットワーク80
を設立する際に、ログイン名、開発者D1、D2、およびD3の各パスワード、
オブジェクト01、02、および03に対するオブジェクトID、インタフェー
ス2Dを特定することができる。各開発者D1、D2、およびD3は、オブジェ
クト30a、オブジェクト30b、およびオブジェクト30cのためのそれぞれ
の開発者ネゴシエーションオブジェクトポート82a、82b、および82cを
生成する。各開発者D1、D2、およびD3は、開発者状態ポートとして、それ
ぞれのオブジェクトポート32a、32b、32cを作成する。開発者ネゴシエ
ーションおよび状態ポートは、管理オブジェクト42とともに登録される。開発
者は、設計スペック、オブジェクトID、インタフェースID、および開発者が
ライフサイクルフレームワーク20の一部として必要とする他のサービスを得る
ために、状態オブジェクトポートを使用する。インプリメンテーションおよび単
一ユニットテストステージ54の終わりに、開発者は、インプリメンテーション
とともに、管理オブジェクト42と一緒にオブジェクトをチェックする。管理オ
ブジェクト42は、開発者にオブジェクトバージョン情報を戻すために、同じイ
ンタフェースを使用する。各開発者は、ネゴシエーションプロセスの各ステップ
の終わりに、修正IDLをチェックするためにこのインタフェースを使用する。
管理人オブジェクト44は、管理オブジェクト42における対応する管理側状態
ポートオブジェクト84a〜84c、およびINE管理オブジェクトポート83
を作成する。開発者ネゴシエーションオブジェクトポート85b、および管理人
INEポート85aは、管理人オブジェクト44に設立される。
The environment 10 can be used to implement negotiation between developers during software development of the application in the design stage 53. FIG. 7 is a flowchart illustrating an implementation of an unbounded negotiation method 70 in accordance with the teachings of the present invention. Unlimited negotiation provides negotiation by going through the steps. Block 72
In, the caretaker object 44 assigns the task of designing and implementing the object to the developer. At block 73, a negotiation network is established between the developer and the managed object 42. FIG. 8 is an implementation of a negotiation network 80 that may be used for the similar application network 60 shown in FIG. The negotiation network 80 has developers D1, D2, and D3. Developers D1, D2
, D3 by the caretaker object 44 to develop objects 30, referred to as object 01, object 02, and object 03,
Assigned respectively. At block 73, the caretaker object 44 can specify parameters when establishing the negotiation network 80. For example, the custodian object 44 has a negotiation network 80
When establishing a, login name, each password of developers D1, D2, and D3,
The object ID and the interface 2D for the objects 01, 02, and 03 can be specified. Each developer D1, D2, and D3 generates a respective developer negotiation object port 82a, 82b, and 82c for object 30a, object 30b, and object 30c. Each developer D1, D2, and D3 creates a respective object port 32a, 32b, 32c as a developer state port. The developer negotiation and status port are registered with the management object 42. The developer uses the state object port to obtain design specifications, object IDs, interface IDs, and other services that the developer needs as part of the lifecycle framework 20. At the end of the implementation and single unit test stage 54, the developer checks the object with the managed object 42 along with the implementation. Managed object 42 uses the same interface to return object version information to the developer. Each developer uses this interface at the end of each step of the negotiation process to check for modified IDL.
The management person object 44 includes the corresponding management-side state port objects 84a to 84c in the management object 42 and the INE management object port 83
Create The developer negotiation object port 85b and the manager INE port 85a are established in the manager object 44.

【0064】 管理人INEポート85a、管理人ネゴシエーションポート85b、管理IN
Eポート83、管理ネゴシエーションポート84a〜cは、管理オブジェクト4
2とともに登録される。管理人オブジェクト44は、クロックを生成し、そして
管理側で、管理人INEポート85aと管理INEポート83とを接続する。I
NEインタフェース45を使用することによって、管理人オブジェクト44を使
用する管理人47(図示せず)は、全ネゴシエーションプロセスをコントロール
する。管理人オブジェクト44は、管理オブジェクト42にネゴシエーション関
連データを送信する。管理オブジェクト42は、開発者状態オブジェクトポート
32a〜cと管理オブジェクト42上の管理ネゴシエーションポート84a〜c
との間の接続を可能にする。このシナリオ、つまりネットワーク80では、管理
人47は、ネゴシエーションプロセスを直接見ることを決定する。ネゴシエーシ
ョンクロック86は、管理オブジェクト42で生成される。管理人オブジェクト
44の管理人ネゴシエーションオブジェクトポート85bは、クロック86のベ
ースフェーズに同調される。ポート85bは進行命令を得る(ゲット)すると、
それが保持される。3つの開発者ネゴシエーションオブジェクトポート82a〜
cのすべては、ネゴシエーションクロック86の高いフェーズに同調される。ポ
ート85bはそれからポートをリリースし、そして、開発者ネゴシエーションオ
ブジェクトポート82a〜cは進行命令信号をゲットする。
The administrator INE port 85a, the administrator negotiation port 85b, and the administrator IN
The E port 83 and the management negotiation ports 84a to 84c correspond to the management object 4
Registered with 2. The manager object 44 generates a clock, and connects the manager INE port 85a and the management INE port 83 on the management side. I
By using the NE interface 45, an administrator 47 (not shown) using the administrator object 44 controls the entire negotiation process. The manager object 44 transmits the negotiation-related data to the manager object 42. The management object 42 includes developer state object ports 32a-c and management negotiation ports 84a-c on the management object 42.
Allows connection to and from. In this scenario, the network 80, the administrator 47 decides to look directly at the negotiation process. The negotiation clock 86 is generated by the management object 42. The administrator negotiation object port 85b of the administrator object 44 is tuned to the base phase of the clock 86. When the port 85b obtains (gets) the progress command,
It is kept. The three developer negotiation object ports 82a-
All of c are tuned to the high phase of the negotiation clock 86. Port 85b then releases the port, and developer negotiation object ports 82a-c get a progress command signal.

【0065】 ブロック77では、開発者は、すべての開発者がネゴシエーション上で同意す
るまで互いに交渉する。たとえば、開発者D1、D2、およびD3は、開発者ネ
ゴシエーションオブジェクトポート82a〜cを通して、上記した進行命令、リ
リース、およびトリガメカニズムとともに、修正CORBA IDLフレームワ
ーク18および英語で書かれたネゴシエーションスクリプトを送ることによって
繰り返し同意し得る。ネゴシエーションの各ステップの終わりに開発者によって
書かれる修正CORBA IDLは、開発者環境においてサポートされるバック
エンドIDLコンパイラによって、構文的正当性がチェックされる。
At block 77, developers negotiate with each other until all developers have negotiated agreement. For example, developers D1, D2, and D3 send modified CORBA IDL framework 18 and a negotiation script written in English, along with the progress command, release, and trigger mechanisms described above, through developer negotiation object ports 82a-c. You can repeatedly agree by doing so. The modified CORBA IDL written by the developer at the end of each step of the negotiation is checked for syntactic correctness by a back-end IDL compiler supported in the developer environment.

【0066】 本実施例では、開発者D1、D2、およびD3は、コモングローバルインタフ
ェース・インタフェースID4であるインタフェースバージョン1.0のインタ
フェースのための構造およびプロトコル上で同意するために交渉する。どの開発
者D1、D2、D3も、個々の設計と整合するインタフェースID=4のための
ストラクチャおよびプロトコルの完全な記述について交渉することができる。た
とえば、ステップ1では、開発者D2およびD3は、何も提案したくないかもし
れない。したがって、D2およびD3は、ステップ1をリリースして、トリガす
るかもしれないししないかもしれない。ステップ1では、開発者D1は、提案を
作成する。テーブル3は、開発者D1のネゴシエーションスクリプトの一例であ
る。
In this embodiment, developers D1, D2, and D3 negotiate to agree on the structure and protocol for the interface of interface version 1.0, which is the common global interface interface ID4. Any developer D1, D2, D3 can negotiate a complete description of the structure and protocol for interface ID = 4 consistent with the individual design. For example, in step 1, developers D2 and D3 may not want to suggest anything. Thus, D2 and D3 may or may not release step 1 and trigger. In step 1, the developer D1 creates a proposal. Table 3 is an example of a negotiation script of the developer D1.

【0067】[0067]

【表4】 [Table 4]

【0068】 開発者D1は、ネゴシエーションスクリプトを、開発者ネゴシエーションオブ
ジェクトポート82aに送り、それから開発者ネゴシエーションオブジェクトポ
ート82aをリリースして、トリガする。トリガは、開発者D1のネゴシエーシ
ョンスクリプトを交換するために、最も早い可能なときに、開発者D2および開
発者D3に送信される。この時点で、開発者D1、D2、およびD3は、リリー
スして、トリガし、開発者D1のみが開発者ネゴシエーションオブジェクトポー
ト82aに書き込む。ネゴシエーションクロック86は、ネゴシエーションスク
リプトを集めて、データバッグ35(図示せず)を作り上げる。この場合、開発
者D1のみが現在のステップでネゴシエーションスクリプトを送信したので、一
つのネゴシエーション構造エレメントだけがデータバッグ35にある。ネゴシエ
ーションクロック86は、データバッグ35、および異なるフェーズ0に同調さ
れる管理人ネゴシエーションオブジェクトポート85bへの進行命令を配信する
。進行命令を受けると、管理人オブジェクト44は、データ、および受け取った
ネゴシエーションスクリプトを調査することができ、グループネゴシエーション
ステップ1のやり方を理解することができる。管理人オブジェクト44は、開発
者D1が変更を提案したことを理解する。検査を完了した後、管理人オブジェク
ト44は、管理人ネゴシエーションオブジェクトポート85bにデータを書き戻
し、それで、管理人ネゴシエーションオブジェクトポート85bによって受け取
ったエレメントは、除去ないし修正されることがなく、異なるフェーズ1に接続
されている開発者D2およびD3に配信され得る。管理人オブジェクト44は、
ベースフェーズのために、管理人ネゴシエーションオブジェクトポート85bを
リリースして、トリガする。ネゴシエーションクロック86は、この新しいフェ
ーズデータを集めて、データバッグ35を作り上げる。ネゴシエーションクロッ
ク86は、データバッグ35、およびフェーズ1に同調される開発者ネゴシエー
ションオブジェクトポート82a〜cへの進行命令を配信する。進行命令を受け
ると、開発者D1は、このステップ2で何も行わないかもしれない。開発者D1
はリリースして、トリガするかもしれないししないかもしれない。開発者D2お
よび開発者D3は、開発者D1からの提案された変更を読み取って理解し、そし
て、構造およびプロトコルの個々の部分に対して不同意、または完全に同意する
ことができる。両方の開発者D2および開発者D3が同意する場合、ネゴシエー
ションは完了される。あるいは、ネゴシエーションは、すべての開発者D1、D
2、およびD3が同意するまで繰り返される。テーブル4は、ステップ2につい
ての開発者のネゴシエーションスクリプトの一例である。
The developer D1 sends a negotiation script to the developer negotiation object port 82a, and then releases and triggers the developer negotiation object port 82a. Triggers are sent to developers D2 and D3 at the earliest possible time to exchange developer D1's negotiation script. At this point, developers D1, D2, and D3 release and trigger, and only developer D1 writes to developer negotiation object port 82a. The negotiation clock 86 collects negotiation scripts and creates a data bag 35 (not shown). In this case, only one developer D1 has transmitted the negotiation script in the current step, so only one negotiation structure element is in the data bag 35. The negotiation clock 86 distributes progress instructions to the data bag 35 and to the administrator negotiation object port 85b tuned to a different phase 0. Upon receiving the progress command, the caretaker object 44 can examine the data and the received negotiation script and understand the manner of the group negotiation step 1. The caretaker object 44 understands that the developer D1 has proposed a change. After completing the inspection, the caretaker object 44 writes the data back to the caretaker negotiation object port 85b, so that the elements received by the caretaker negotiation object port 85b are not removed or modified, but are in a different phase 1 Can be distributed to developers D2 and D3 connected to The manager object 44
Release and trigger the administrator negotiation object port 85b for the base phase. The negotiation clock 86 collects this new phase data and builds up the data bag 35. A negotiation clock 86 distributes progress instructions to the data bag 35 and to the developer negotiation object ports 82a-c that are tuned to phase one. Upon receiving the progress command, developer D1 may do nothing in this step 2. Developer D1
Release may or may not trigger. Developers D2 and D3 can read and understand the proposed changes from developer D1, and disagree or completely agree on individual parts of the structure and protocol. If both developers D2 and D3 agree, the negotiation is completed. Alternatively, the negotiation may involve all developers D1, D
2, and until D3 agrees. Table 4 is an example of a developer negotiation script for step 2.

【0069】[0069]

【表5】 [Table 5]

【0070】 テーブル5は、ステップ2による開発者D3のネゴシエーションスクリプトの
例である。
Table 5 is an example of a developer D3 negotiation script in step 2.

【0071】[0071]

【表6】 [Table 6]

【0072】 開発者D2および開発者D3の両者は、それぞれ個別に受諾可能なステートメ
ントを、修正COMRA IDLおよび英語により、各自の開発者ネゴシエーシ
ョンオブジェクトポート82bおよび82cに書き込み、各自の開発者ネゴシエ
ーションオブジェクトポート82bおよび82cをリリースし、トリガーをかけ
る。ネゴシエーションクロック86は、修正されたデータバッグ35bを再び引
き渡し、管理人オブジェクト44へ進行命令を与える。管理人オブジェクト44
は、開発者D2および開発者D3がすでに同意していることを確認する。したが
って、管理人オブジェクト44は、競合を避けるために、このステップにおいて
は、干渉しない。管理人オブジェクト44は、受け取ったエレメントについて、
何らの変更を加えることなく管理人ネゴシエーションオブジェクトポート85b
に書き込むとともに、リリースおよびトリガーを管理人ネゴシエーションオブジ
ェクトポート85bへ送る。ネゴシエーションクロック86は、この新たなデー
タバッグ35bを引き渡し、開発者オブジェクトポート32a〜32cへ進行命
令を与える。開発者D2および開発者D3は、何も行う必要はない。開発者D1
は、開発者D2および開発者D3がすでに同意しており、それはインタフェース
ID=4、インタフェースバージョン=1.0についての構造体およびプロトコ
ルであることを理解する。
Both developer D2 and developer D3 write their individually acceptable statements in their respective developer negotiation object ports 82b and 82c in modified COMRA IDL and English, and write their respective developer negotiation object ports. Release and trigger 82b and 82c. The negotiation clock 86 delivers the modified data bag 35b again, and gives a progress command to the manager object 44. Manager object 44
Confirms that the developers D2 and D3 have already agreed. Thus, the caretaker object 44 does not interfere at this step to avoid conflicts. The caretaker object 44, for the received element,
Negotiator negotiation object port 85b without any changes
And sends the release and trigger to the administrator negotiation object port 85b. The negotiation clock 86 delivers the new data bag 35b and gives a progress command to the developer object ports 32a to 32c. Developer D2 and developer D3 do not need to do anything. Developer D1
Understands that developers D2 and D3 have already agreed, which is the structure and protocol for interface ID = 4, interface version = 1.0.

【0073】 ブロック78において、複数の開発者D1、D2、およびD3は、インタフェ
ースID=4、インタフェースバージョン=1.0を含む彼らの個別のオブジェ
クトバージョンについてのインプリメンテーションステージ54において、イン
プリメンテーションを完了する。各開発者D1、D2、およびD3は、インプリ
メンテーションの完了メッセージとリリース/トリガーとを彼らのネゴシエーシ
ョンポートに書き込む。管理人ネゴシエーションオブジェクトポート85bが進
行命令を得て、そのコンテンツを調査するとき、管理人オブジェクト44は、開
発者がインプリメンテーションを完了したことを理解する。管理人オブジェクト
44は、管理人ネゴシエーションオブジェクトポート85bに書き込み、リリー
ス/トリガーをかける。オブジェクトポート32a〜32cは、第4ステップへ
の進行命令を得る。複数の開発者D1、D2、およびD3のすべては、インプリ
メンテーションが完了するとともにこの時点においてインタフェースID=4、
インタフェースバージョン=1.0についてのネゴシエーションのトランザクシ
ョンが完了したことを知る。この時点から、新たな開発者オブジェクトポート3
0がこのネゴシエーションプロセスに加わることができ、また、新たなトランザ
クションが、更新された構成において開発者により開始される。
At block 78, the developers D 1, D 2, and D 3 implement in the implementation stage 54 for their individual object versions, including interface ID = 4, interface version = 1.0 Complete. Each developer D1, D2, and D3 writes an implementation completion message and a release / trigger to their negotiation port. When the custodian negotiation object port 85b obtains a progress command and examines its contents, the custodian object 44 understands that the developer has completed the implementation. The manager object 44 writes to the manager negotiation object port 85b and releases / triggers. The object ports 32a to 32c obtain an instruction to proceed to the fourth step. All of the developers D1, D2, and D3 have completed implementation and at this point interface ID = 4,
It knows that the negotiation transaction for interface version = 1.0 has been completed. From this point, a new developer object port 3
0 can participate in this negotiation process and a new transaction is initiated by the developer in the updated configuration.

【0074】 上述したように、管理人オブジェクト44は、アプリケーション中ですべての
ネゴシエーションプロシーディングへと同調するとともに、透過的に観測し、ネ
ゴシエーションプロセスを制御する。大規模なネットワークアプリケーションに
おいては、何百もの活動中の異なるネゴシエーショングループが存在する場合も
ある。管理人オブジェクト44は、外部から観測し制御するために数百のポート
を必要とするかもしれない。管理人オブジェクト44が(管理人オブジェクトに
おいてポートを作成することによって)直接的にすべてのネゴシエーションプロ
シーディングへと同調する代わりに、管理人オブジェクト44が、アプリケーシ
ョン中のすべてのクロックへ既に同調されている管理ネゴシエーションオブジェ
クトをもった複数の管理オブジェクト42を、使用することができ、この結果、
すべての情報(ネゴシエーションプロシーディング)を取得する。このアプロー
チは、複数のコマンドを複数の管理オブジェクト42へと送る管理人オブジェク
ト44を含むものの、管理人オブジェクト44におけるポートの数を削減するも
のであり、元のアプローチは、管理人オブジェクト44と管理オブジェクト42
との間の要求メッセージの数を減らすものである。使用するアプローチは、ネッ
トワークアプリケーションに基づいて選択することができる。
As described above, the caretaker object 44 tunes to all negotiation proceedings in the application and observes transparently to control the negotiation process. In large network applications, there may be hundreds of different active negotiation groups. The caretaker object 44 may require hundreds of ports for external observation and control. Instead of the custodian object 44 tuning directly to all negotiation proceedings (by creating a port in the custodian object), the custodian object 44 is already tuned to all clocks in the application. A plurality of management objects 42 with management negotiation objects can be used, resulting in
Get all information (negotiation proceedings). Although this approach includes an admin object 44 that sends commands to the admin objects 42, it reduces the number of ports in the admin object 44, and the original approach was to Object 42
This reduces the number of request messages between them. The approach used can be selected based on the network application.

【0075】 一般的には、進行命令は、開発者自身ではなく、ネゴシエーションクロック8
6により送られるので、(進行命令が到着した場合の)新たな各ステップの開始
時においてのみ、開発者の思考が、デザインについての本質的な課題からそらさ
れるのみであり、上記の複数の要因の独立性によって、断絶のない交渉(共同開
発)となる。上述した交渉において、異なるフェーズにおける管理人オブジェク
ト42の状況は、全体的には複数の開発者に対して透過的である。管理人オブジ
ェクトが、基本フェーズにおいて進行命令を取得した場合、それによって、より
高いフェーズにおいては、開発者ネゴシエーションポートは、すでに自動的にリ
リースされ、複数の開発者は、そのデータが行き交う場所については無知でよい
。管理人オブジェクトポートは、一つの進行命令と、各ステップにおいて複数の
開発者のグループ全体によって修正されたバッグとを取得し、この結果、管理人
の生産性が向上し、複雑性が減少する。また、開発者は、ネゴシエーション処理
に接続している開発者の人数、開発者が位置付けられている場所、かれらが作業
している時期について、知る必要がない。これは、開発者の生産性を向上させる
ことができる。各開発者は、進行命令が次回のステップについてのネゴシエーシ
ョンポートに来るのを待っており、そしてそれは、上述したエレメントの独立性
ということである。進行命令に伴って受信されるバッグにおけるエレメントの数
は、関係している開発者の人数を示しており、それは動的なものであり、さらに
、クロックによってセットされる。異なるフェーズに同調された全てのポートへ
の進行命令の到着は、クロックによって制御されるとともに、クロックに対して
同調されて動的に変化する開発者の人数に依存する。
Generally, the progress command is not the developer itself, but the negotiation clock 8.
6 so that only at the beginning of each new step (if a progress order arrives) does the developer's thinking deviate from the essential issues of the design, Independence will lead to uninterrupted negotiations (joint development). In the negotiations described above, the status of the caretaker object 42 in the different phases is totally transparent to multiple developers. If the caretaker object gets a progress order in the base phase, then in the higher phases, the developer negotiation port will already be released automatically, and multiple developers will be asked about where their data traverses. You may be ignorant. The caretaker object port captures one progression instruction and a bag modified by an entire group of developers at each step, resulting in increased caretaker productivity and reduced complexity. Also, developers do not need to know the number of developers connected to the negotiation process, where they are located, and when they are working. This can increase developer productivity. Each developer is waiting for a progress instruction to come to the negotiation port for the next step, which is the independence of the elements described above. The number of elements in the bag received with the progress instruction indicates the number of developers involved, which is dynamic and set by a clock. The arrival of the advance command on all ports tuned to different phases is controlled by the clock and depends on the number of developers dynamically tuned to the clock.

【0076】 テーブル6は、修正CORBA IDLにおいて停止された交渉の終了のデザ
インである。
Table 6 is the design of the end of the negotiation stopped in the modified CORBA IDL.

【0077】 テーブル6 ステップ1:オブジェクトポートがステップ1に進む場合、D1のオブジェク
ト01は、基本サービスオブジェクトポートに適切なメッセージを書き込んでト
ランザクションを初期化する。ユーザの選択に応じて、2乗要求(square reque
st)の実行、または和算要求(summation request)のどちらも実行することが
できる。ユーザにより入力されたデータは、適切なメッセージ型で構造体上に複
写される。それから、オブジェクト01は、ステップ1の基本サービスオブジェ
クトポートについてリリースし、トリガーをかける。オブジェクト02およびオ
ブジェクト03は、ステップS1の進行命令を受けた場合に、リリースしトリガ
ーをかける。
Table 6 Step 1: If the object port goes to step 1, D1's object 01 writes an appropriate message to the basic service object port to initialize the transaction. Square reque (square reque)
Either st) or a summation request can be executed. Data entered by the user is copied onto the structure in the appropriate message type. Object 01 then releases and triggers on the basic service object port of step 1. The object 02 and the object 03 release and trigger when receiving the progress command of step S1.

【0078】 ステップ2:オブジェクトポートがステップ2に進んだ場合、オブジェクト0
1は、リリースおよびトリガー以外は、実行しない。オブジェクト02およびオ
ブジェクト03は、データを読み込み、それを解釈する。2乗要求(スクエア要
求)である場合、オブジェクト02は、2乗を計算し、その応答を適切なメッセ
ージ型で出力構造体上に複写する。オブジェクト02は、その出力構造体を基本
サービスオブジェクトポートへ書き込み、そのポートをリリースし、トリガーを
かける。オブジェクト03は、リリースおよびトリガー以外は、実行しない。和
算要求(サメイション要求)である場合には、オブジェクト03は、その応答を
計算し、それをサービスオブジェクトポートに書き込み。オブジェクト03およ
びオブジェクト02は、それらの基本サービスオブジェクトポートをリリースし
、トリガーをかける。
Step 2: If the object port goes to step 2, the object 0
1 does not execute except release and trigger. Object 02 and object 03 read the data and interpret it. If it is a square request (square request), object 02 calculates the square and copies the response in the appropriate message type on the output structure. Object 02 writes its output structure to the base service object port, releases that port, and triggers. Object 03 does not execute other than release and trigger. If it is a summation request (summation request), object 03 calculates its response and writes it to the service object port. Object 03 and Object 02 release and trigger their basic service object ports.

【0079】 ステップ3:オブジェクトポートがステップ3に進んだ場合、オブジェクト0
1は、着信するデータを読み込み、それを解釈して、最終的な出力が既に受信さ
れたことを理解する。このことは、イニシエータ(オブジェクト01)における
トランザクションの終了を示す。オブジェクト02およびオブジェクト03は、
何かを書き込むことなく、オブジェクトポートをリリースしトリガーをかける。
オブジェクト01は、直ちに他のトランザクションサイクルを開始するか、また
は、そのポートに何かを書き込みことなく、単に、リリースしトリガーをかける
Step 3: If the object port goes to step 3, the object 0
1 reads the incoming data and interprets it to understand that the final output has already been received. This indicates the end of the transaction in the initiator (object 01). Object 02 and object 03 are
Release and trigger an object port without writing anything.
Object 01 either immediately initiates another transaction cycle, or simply releases and triggers without writing anything to its port.

【0080】 インプリメンテーション段階54においては、ある開発者は、図6に示される
ネットワークアプリケーション60をインプリメントするために、図9に示され
るステップに従うことができる。ブロック90において、オブジェクトの30a
〜cの状態が決定され、それぞれの状態インタフェース63a〜cは、オブジェ
クト30a〜cのセット(set)状態またはゲット(get)状態をサポート
し、オブジェクト30a〜cを廃棄するためにインプリメントされる。たとえば
、状態は、対応する整数として選択され、この整数は、ネットワークアプリケー
ション60におけるトランザクションに対応する。ネットワークアプリケーショ
ン60において、各状態ポート61a〜61cは、2つのフィールドを持つよう
に定義されている:第1のフィールドは、オペレーションのセット(set)オ
ペレーションまたはゲット(get)オペレーションを示すメッセージ型フィー
ルドであり、第2のフィールドは、オブジェクト30a〜cの状態を含む状態値
フィールドである。開発者D1は、オブジェクト01の初期状態が0となるよう
に選択する。したがって、オブジェクト01が1つのサービスのための1つの要
求を送信するときはいつでも、その状態は、1に変化する。応答を受け取ると、
オブジェクト01の状態は、0に変化させられる。同様に、開発者D2および開
発者D3は、それぞれに対応するオブジェクト02およびオブジェクト03のオ
ブジェクト状態を0に初期設定する。オブジェクト02またはオブジェクト03
がオブジェクト01から要求を受信するときに、その状態は、1に変化する。応
答が同じステップに進められると、直ちに、その状態は0へ戻るように変化する
。たとえば、状態メッセージ型は以下に定義するように割り当てられることがで
きる:1はセット(set)を示し、2はゲット(get)を示し、3はセット
についての応答(ack)を示し、4はゲットについての応答(get_ack
)を示し、5は消滅(die)の要求を示し、6は受信され更新された消滅を示
す。本発明の教示するところによれば、これらのメッセージ番号および状態の型
は、複数のオブジェクト間で変更可能であり、それは開発者によって決定される
が、全体のサポートは、オブジェクト毎に、対応する開発者によって提供されな
ければならない。
In the implementation stage 54, a developer may follow the steps shown in FIG. 9 to implement the network application 60 shown in FIG. In block 90, the object 30a
Are determined, each state interface 63a-c supports a set or get state of the objects 30a-c and is implemented to discard the objects 30a-c. For example, the state is selected as a corresponding integer, which corresponds to a transaction in network application 60. In the network application 60, each status port 61a-61c is defined to have two fields: the first field is a message type field indicating a set or get operation of the operation. Yes, the second field is a status value field that contains the status of the objects 30a-c. The developer D1 selects such that the initial state of the object 01 is 0. Thus, whenever object 01 sends one request for one service, its state changes to one. Upon receiving the response,
The state of object 01 is changed to 0. Similarly, the developers D2 and D3 initialize the object states of the corresponding objects 02 and 03 to 0, respectively. Object 02 or Object 03
Receives a request from object 01, its state changes to 1. As soon as the response goes to the same step, its state changes back to zero. For example, status message types can be assigned as defined below: 1 indicates a set, 2 indicates a get, 3 indicates an ack for the set, and 4 indicates Response about get (get_ack
), 5 indicates a request for extinction (die), and 6 indicates a received and updated extinction. According to the teachings of the present invention, these message numbers and state types can be changed between multiple objects, which is determined by the developer, but the overall support is per object. Must be provided by the developer.

【0081】 ブロック92においては、オブジェクトポートは、その複数のオブジェクトに
ついての各オブジェクトインタフェースに関連づけられる。したがって、状態ポ
ート61a〜61cは、それぞれの状態インタフェース63a〜63cに関係づ
けられ、基本サービスオブジェクトポート62a〜62cは、基本サービスイン
タフェース64に関連づけられる。ブロック94においては、トランザクション
(処理)が、処理する要求および着信するメッセージについて決定される。ブロ
ック96においては、インタフェースを、修正CORBA IDLを用いて記述
することが可能である。個々の修正CORBA IDLの記述内容は、各オブジ
ェクトインタフェースについて決定される。修正CORBA IDLの記述とし
て、たとえば、インタフェースID(インタフェース識別)、インタフェースバ
ージョン、およびイニシエータ/レシーバ情報(Initiator/Rece
iver Information)を含む、オブジェクトインタフェースの構
造体およびトランザクションを記述する。ネットワークアプリケーション60で
は、開発者D1は、オブジェクト01においてインタフェースID1および4を
持つ2つのインタフェースのために2つの個別の修正CORBA IDLを書き
込む。オブジェクト01のインタフェースID1のための修正CORBA ID
Lの記述のインプリメンテーションは、テーブル7に示される。
At block 92, an object port is associated with each object interface for the plurality of objects. Thus, status ports 61a-61c are associated with respective status interfaces 63a-63c, and basic service object ports 62a-62c are associated with basic service interface 64. At block 94, a transaction is determined for the request to process and the incoming message. At block 96, the interface may be described using a modified CORBA IDL. The description content of each modified CORBA IDL is determined for each object interface. The description of the modified CORBA IDL includes, for example, an interface ID (interface identification), an interface version, and initiator / receiver information (Initiator / Receiver).
Describes the structure and transactions of the object interface, including I.Information. In network application 60, developer D1 writes two separate modified CORBA IDLs for two interfaces with interface IDs 1 and 4 in object 01. Modified CORBA ID for interface ID1 of object 01
An implementation of the description of L is shown in Table 7.

【0082】[0082]

【表7】 [Table 7]

【0083】 [0083]

【0084】 オブジェクト01、インタフェースID4のための修正CORBA IDLの
記述のインプリメンテーションは、テーブル8に示される。
An implementation of the description of the modified CORBA IDL for object 01, interface ID4 is shown in Table 8.

【0085】[0085]

【表8】 [Table 8]

【0086】 [0086]

【0087】 オブジェクト02、インタフェースID4のための修正CORBA IDLの
記述のインプリメンテーションは、テーブル9に示される。インタフェースID
=2についての開発者D2のIDL記述、および開発者D3の修正CORBA
IDL記述は、同様に決定される。
An implementation of the description of the modified CORBA IDL for object 02, interface ID 4 is shown in Table 9. Interface ID
= 2 IDL description of developer D2 and modified CORBA of developer D3
The IDL description is determined similarly.

【0088】[0088]

【表9】 [Table 9]

【0089】 [0089]

【0090】 ブロック97においては、決定された各オブジェクトインタフェースは、分離
したソースファイルとしてインプリメントされる。分離した複数のソースファイ
ルは、ネットワークアプリケーション60についての全体のオブジェクトコード
を決定する。たとえば、オブジェクト01についてのソースコードは、2つのポ
ート、すなわち、適当なサイズを持つ、状態ポートIDを有する状態オブジェク
トポート61aと、サービスポートIDを有するベーシックサービスポート62
aと、を含む。ポートIDは、2つのポートサービスが異なること、およびそれ
らがアプリケーションシステムにおいて一意的に識別されること、を示している
。これらのポートによって提供されるサービスにアクセスするために、管理人は
、対応するポートIDを知らなければならない。ポートIDまたはサービスポー
トIDは、管理人がそのサービスを利用するためにオブジェクトから取得してお
かなければならないオブジェクトの特性と同様なものである。
At block 97, each determined object interface is implemented as a separate source file. The separated source files determine the overall object code for the network application 60. For example, the source code for object 01 comprises two ports: a state object port 61a having a state port ID of appropriate size and a basic service port 62 having a service port ID.
a. The port ID indicates that the two port services are different and that they are uniquely identified in the application system. In order to access the services provided by these ports, the administrator must know the corresponding port ID. The port ID or service port ID is similar to the property of the object that the manager must obtain from the object in order to use the service.

【0091】 ソースコードを生成するために使用される関数の例およびそれらの説明を以下
に示す。
Examples of functions used to generate source code and their descriptions are provided below.

【0092】 OMF_CreatePort(PortID, PortSize):
この方法は、オブジェクト30に、サイズがポートサイズ(PortSize
)であるポートを生成させる。オブジェクト30は、このオブジェクトポートを
通じてデータを受けて送る。ポートIDは、全体のアプリケーションシステムの
うちからオブジェクトサービスを一意的に識別する整数である。たとえば、オブ
ジェクトポートは、オブジェクトポート32、状態オブジェクトポート61、ま
たは基本サービスオブジェクトポート62である。
OMF_CreatePort (PortID, PortSize):
In this method, the object 30 has a port size (PortSize).
) Is generated. The object 30 receives and sends data through this object port. The port ID is an integer that uniquely identifies an object service from the entire application system. For example, the object port is an object port 32, a state object port 61, or a basic service object port 62.

【0093】 OMF_Registration (PortID): この方法は、
オブジェクト30に、ポートIDを有するポートの管理部へ登録させることによ
って、管理人がオブジェクトのサービスへアクセスすることを許可する。
OMF_Registration (PortID): The method
By allowing the object 30 to register with the management unit of the port having the port ID, the administrator is allowed to access the service of the object.

【0094】 OMF_Advanced (PortID): この方法は、オブジェ
クト30に、ポートIDを有するオブジェクトポートが進行命令をだしたかどう
か確認させる。進行命令がでていれば再び同調処理へ戻る、そうでなければ、誤
りとする。
OMF_Advanced (PortID): This method causes the object 30 to determine whether the object port having the port ID has issued a progress command. If a progress command has been issued, the process returns to the tuning process again; otherwise, it is an error.

【0095】 OMF_ReadData (PortID): この方法は、読み込む
べきバッグに1以上のエレメントが存在するか否かを、ポートIDを有するオブ
ジェクトポートに確認させる。正しければ、ゼロでない状態へ戻る。
OMF_ReadData (PortID): This method causes the object port with the port ID to check whether there is one or more elements in the bag to be read. If correct, return to non-zero state.

【0096】 OMF_LoadData (PortID, PortSize, I
nputStructure): この方法は、ポートIDを有するオブジェク
トポートから入力構造体(InputStructure)へポートサイズ(P
ortSize)バイトをロードすることを可能とする。
OMF_LoadData (PortID, PortSize, I
ninputStructure): This method uses the port size (P
ortSize) allows loading bytes.

【0097】 OMF_WriteData (PortID, PortSize,
OutputStructure): この方法は、出力構造体(Output
Structure)から、ポートIDを有するオブジェクトポートへポートサ
イズバイトを書き込むことを可能とする。
OMF_WriteData (PortID, PortSize,
OutputStructure: This method uses an output structure (Output
Structure) allows writing a port size byte to an object port having a port ID.

【0098】 OMF_Release (PortID): この方法は、ポートID
を有するポートをリリースすることを可能とする。オブジェクトポートの保持部
は、管理人によって(管理オブジェクトを通じて)要求された場合に、オブジェ
クトの安定的な状態を送出するために、これを用いる。
OMF_Release (PortID): This method uses the port ID
Can be released. The object port holder uses this to send out the stable state of the object when requested by the caretaker (through the managed object).

【0099】 OMF_Trigger (PortID): この方法は、ポートID
を有するオブジェクトポートにトリガーをかけることを可能とする。
OMF_Trigger (PortID): This method uses the port ID
To trigger on an object port with

【0100】 オブジェクト01のインプリメンテーションとして開発されたソースコードの
例がテーブル10に示される。
An example of source code developed as an implementation of object 01 is shown in Table 10.

【0101】[0101]

【表10】 [Table 10]

【0102】 [0102]

【0103】 [0103]

【0104】 [0104]

【0105】 ブロック98においては、インプリメントされた各オブジェクト30は、オブ
ジェクトバージョンナンバを返す管理フレームワーク19へ登録される。オブジ
ェクトのテストが、ステージ57を通じてのネットワーク指向ソースコードワー
クおよびネットワーク指向統合テストステージ58において指定されて、実行さ
れてもよい。開発者は、そのオブジェクトを管理フレームワーク19に登録する
。たとえば、開発者D1は、テーブル11に示されるような情報を入力すること
ができる。
At block 98, each implemented object 30 is registered with the management framework 19 which returns an object version number. Testing of the objects may be specified and performed in a network-oriented source code work and a network-oriented integration test stage 58 through stage 57. The developer registers the object in the management framework 19. For example, the developer D1 can input information as shown in the table 11.

【0106】[0106]

【表11】 [Table 11]

【0107】 管理フレームワーク19は、適切なオブジェクトバージョンナンバを返す。こ
の場合には、バージョン1.0を開発者D1へ返す。同様に、開発者D2および
D3も、かれらの夫々のオブジェクトの情報を登録する。両者のために、管理オ
ブジェクトは、オブジェクトバージョンナンバとして1.0を返す。
The management framework 19 returns an appropriate object version number. In this case, version 1.0 is returned to the developer D1. Similarly, developers D2 and D3 also register information on their respective objects. For both, the managed object returns 1.0 as the object version number.

【0108】 複数のオブジェクトと複数のインタフェースは、ネットワークアプリケーショ
ンの開発の間、徐々に発展することができる。開発の期間において、オブジェク
トのバージョンは以下の理由により互換性がなくなることもある。すなわち、こ
の理由としては、インタフェースのバージョンが適合しない、オブジェクト30
の管理フレームワーク19への登録が異なる時刻に生じる、または元のバージョ
ンのオブジェクト30が消去される、などの理由がある。図10は、環境10に
おいて互換性のあるアプリケーション100を決定するための方法のフローチャ
ートである。ブロック101において、オブジェクトバージョンとインタフェー
スバージョンとを結びつけるためのオブジェクトテーブルが決定される。欄名は
、オブジェクトID、オブジェクトバージョン、および インタフェースID(
たとえば、1、2、3、4)である。欄に関連づけられた値は、個々のインタフ
ェースと関連づけられたインタフェースバージョンである。オブジェクトバージ
ョン欄は、オブジェクトバージョンを示す。好ましい実施の形態によれば、m個
のインプリメンテーションが一つのブロックとして互いに存続し、オブジェクト
バージョンナンバのみが増加していくように、オブジェクト30はオブジェクト
テーブルに挿入され、この結果、複数のインタフェースバージョンの一意的なす
べての組み合わせ<I1・・・Im>を得るためにM番目までのすべてのインプリ
メンテーションが配置される。
Objects and interfaces can evolve gradually during the development of network applications. During development, object versions may become incompatible for the following reasons: That is, the reason for this is that the object 30
Is registered in the management framework 19 at a different time, or the original version of the object 30 is deleted. FIG. 10 is a flowchart of a method for determining compatible applications 100 in environment 10. At block 101, an object table for linking object versions and interface versions is determined. The column names are the object ID, object version, and interface ID (
For example, 1, 2, 3, 4). The value associated with the column is the interface version associated with the individual interface. The object version column indicates an object version. According to the preferred embodiment, the objects 30 are inserted into the object table so that the m implementations persist from one another as one block and only the object version number is incremented, resulting in multiple interfaces. All implementations up to the Mth are arranged to obtain all unique combinations of versions <I 1 ... I m >.

【0109】 好適な実施の形態によれば、複数のオブジェクトテーブルが作成され、このテ
ーブルが増加する。したがって、インタフェースの一意的な各バージョンに対し
て、オブジェクトバージョンは増加しつづける。固定された新しいインタフェー
スのバージョンが作成されると、それらは、テーブルが増加するように維持する
ために、オブジェクトテーブルへ挿入される。
According to the preferred embodiment, a plurality of object tables are created and this table is increased. Thus, for each unique version of the interface, the object version will continue to increase. As fixed new interface versions are created, they are inserted into the object table to keep the table growing.

【0110】 オブジェクトテーブルのすべては、Tで表示されているオブジェクトテーブル
の番号によってソートされる。アプリケーションにおけるインタフェースの番号
は、Iで表示される。オブジェクト30は、複数のインタフェースを有しており
、1つのオブジェクトにおけるインタフェースの最大の数は、Oimaxで表さ
れる。ネットワークアプリケーション60におけるインタフェース34、1〜4
、および63a〜cのすべてが、徐々に発展していくことが仮定される。アプリ
ケーションが徐々に発展するにしたがって、(アプリケーションにおける他のイ
ンタフェースと比較した場合)長期間にわたって変化しないまま残るインタフェ
ースはない。この仮定はレコードの数を限定するために、後述するように、結合
したオペレーションの中間段階において用いられる。Nはオブジェクトテーブル
におけるオブジェクトバージョンについての可変な数である。データテーブル選
択方法の複雑度は、NlogNとなる。
All of the object tables are sorted by the number of the object table denoted by T. The number of the interface in the application is denoted by I. The object 30 has a plurality of interfaces, and the maximum number of interfaces in one object is represented by Oimax. Interfaces 34, 1-4 in network application 60
, And 63a-c are all assumed to evolve gradually. As the application evolves over time, no interface remains unchanged over time (when compared to other interfaces in the application). This assumption is used at an intermediate stage of the combined operation, as described below, to limit the number of records. N is a variable number for the object version in the object table. The complexity of the data table selection method is NlogN.

【0111】 テーブル12は、図6に示される、アプリケーションネットワーク60のオブ
ジェクトテーブルのインプリメンテーションを示している。たとえば、オブジェ
クト01のバージョン1.0は、インタフェース1および4をインプリメントし
ており、各インタフェースは、インタフェースバージョン1.0を持つ。
Table 12 shows an implementation of the object table of the application network 60 shown in FIG. For example, version 1.0 of object 01 implements interfaces 1 and 4, each interface having interface version 1.0.

【0112】[0112]

【表12】 [Table 12]

【0113】 たとえば、オブジェクト1は、テーブル12に示されるように二つのオブジェ
クトバージョン1.0および1.1を含む。新たなバージョンは、インタフェー
スID4、インタフェースバージョン1.0、およびインタフェースID1、イ
ンタフェースVer1.0用に作成され、オブジェクトVer1.0およびオブ
ジェクトVer1.1の間に挿入される。この新しいオブジェクトバージョンは
、たとえば、オブジェクトVer1.01のように、オブジェクトVer1.0
およびオブジェクトVer1.1の間のオブジェクトバージョンであることを示
すように選定される。
For example, Object 1 contains two object versions 1.0 and 1.1 as shown in Table 12. A new version is created for interface ID4, interface version 1.0, and interface ID1, interface Ver1.0, and inserted between object Ver1.0 and object Ver1.1. This new object version is, for example, object Ver1.0, such as object Ver1.01.
And the object version between 1.1 and 1.1.

【0114】 ブロック102において、テーブル全体は、オブジェクトバージョンに関して
ソートされる。インタフェースバージョンの一意的なそれぞれの組み合わせにつ
いて取得可能な新たなインプリメンテーションが複数存在すれば、その組み合わ
せについて最も新しいバージョンが、そのソートされたテーブルにおいて使用さ
れる。たとえば、オブジェクト2は、オブジェクトバージョン1.0および1.
1を有しており、これらはテーブル10に示されるように、インタフェースバー
ジョン2および4と同様な組み合わせを有している。オブジェクトバージョン1
.1が、複数のインタフェースバージョンの組み合わせについての最新のバージ
ョン、M番目のバージョンである。オブジェクトバージョン1.1は、インタフ
ェースバージョンを変更することなく、バッグを固定したのちに決定される。こ
の新たなオブジェクトバージョン1.1は、複数のブロックが結合した複数のイ
ンプリメンテーションを保持するために、ソートされたテーブルに挿入される。
At block 102, the entire table is sorted for object versions. If there are multiple new implementations available for each unique combination of interface versions, the most recent version for that combination is used in the sorted table. For example, object 2 has object versions 1.0 and 1..
1 which have similar combinations as interface versions 2 and 4 as shown in Table 10. Object version 1
. 1 is the latest version of the combination of a plurality of interface versions, the M-th version. The object version 1.1 is determined after fixing the bag without changing the interface version. This new object version 1.1 is inserted into the sorted table to keep the implementations of the combined blocks.

【0115】[0115]

【表13】 [Table 13]

【0116】 ブロック103において、最初の二つのオブジェクトテーブルは、共通する複
数のインタフェースIDについてソートされる。たとえば、オブジェクト01お
よびオブジェクト02は、共通のインタフェースID4を有する。
At block 103, the first two object tables are sorted for a common plurality of interface IDs. For example, object 01 and object 02 have a common interface ID4.

【0117】 テーブル14は、オブジェクト01およびオブジェクト02に対するインタフ
ェースID4についてのソートを示している。
Table 14 shows the sorting for interface ID 4 for object 01 and object 02.

【0118】[0118]

【表14】 [Table 14]

【0119】 ブロック104においては、最初の二つのオブジェクトテーブルが、アプリケ
ーション60の共通基本サービスインタフェース64のすべてに関して結合され
、テーブル15に示されるような中間段階としての結合結果を作成する。オブジ
ェクトテーブル間に複数の共通するインタフェースが存在する場合、共通インタ
フェースのインタフェースバージョンのそれぞれが一致するときには、AND条
件によって決定された一対のオブジェクトバージョンが出力される。
At block 104, the first two object tables are joined for all of the common basic service interfaces 64 of the application 60 to produce an intermediate join result as shown in Table 15. When there are a plurality of common interfaces between the object tables, and each of the interface versions of the common interface matches, a pair of object versions determined by the AND condition are output.

【0120】[0120]

【表15】 [Table 15]

【0121】 ブロック105においては、次のオブジェクトのオブジェクトテーブルが、共
通インタフェースIDに関して、直前の結果を利用してソートされる。オブジェ
クト03は、一つの共通インタフェースID4をオブジェクト01およびオブジ
ェクト02と共有する。テーブル16は、オブジェクト03インタフェースID
4に関してソートした後の出力を示している。ブロック103〜105は、すべ
てのオブジェクトテーブルを処理するために繰り返される。
At block 105, the object table of the next object is sorted using the previous result with respect to the common interface ID. The object 03 shares one common interface ID4 with the objects 01 and 02. Table 16 contains object 03 interface ID
4 shows the output after sorting for No. 4. Blocks 103-105 are repeated to process all object tables.

【0122】[0122]

【表16】 [Table 16]

【0123】 ブロック106において、先のステップから決定されたソート後の次のオブジ
ェクトについての中間結果を結合することによって最終的な結合が決定される。
テーブル17は、オブジェクト01、02および03の最終的な結合結果を示し
ている。
At block 106, the final combination is determined by combining the intermediate results for the next sorted object determined from the previous steps.
Table 17 shows the final combination result of objects 01, 02, and 03.

【0124】[0124]

【表17】 [Table 17]

【0125】 図11A〜図11Bは、上述した例の発展を説明する。矩形の箱型の欄は、対
応するオブジェクトが、インタフェースバージョンのバッグ固定または変更によ
って徐々に発展していくことを示している。右側にある丸型の欄は、アプリケー
ションの要求の変化に適合するように、対応するインタフェースが徐々に発展し
ていくことを示してしる。接続するエッジは、オブジェクトバージョンによって
インプリメントされるインタフェースバージョンを示している。互換性のあるシ
ステムは、図11BにおいてCS−I、CS−II、およびCS−IIIで表示され
て”いる。この対応するインタフェースバージョンは、右側に示されている。第
1の互換性のあるシステムはCS−Iである。オブジェクト02バージョン1.
0における採集によって、新たなオブジェクト02バージョン1.1および第2
の互換性のあるシステムCS−IIが結果として得られる。インタフェースID4
における要求の変化は、インタフェースIDインタフェースバージョン1.0を
インタフェースバージョン1.1および第3の互換性のあるシステムCS−III
へ変化させる。
FIGS. 11A-11B illustrate the evolution of the example described above. The rectangular box-shaped columns indicate that the corresponding object evolves gradually with bag fixation or modification of the interface version. The circled columns on the right indicate that the corresponding interface will evolve to adapt to changing application requirements. The connecting edge indicates the interface version implemented by the object version. Compatible systems are labeled CS-I, CS-II, and CS-III in FIG. 11B. The corresponding interface version is shown on the right. The system is CS-I.Object 02 version 1.
0, the new object 02 version 1.1 and the second
Result in a compatible system CS-II. Interface ID 4
Changes in the interface ID interface version 1.0 to interface version 1.1 and the third compatible system CS-III
Change to

【0126】 図12は、オブジェクト01、オブジェクト02およびオブジェクト03から
分配されたインタフェース情報を得るために、管理フレームワーク19によるブ
ロック103の実行を示す。各オブジェクトのオブジェクト01、オブジェクト
02およびオブジェクト03は、それぞれM1、M2およびM3と呼ばれる複数
の管理オブジェクト42に分散される。各オブジェクトのオブジェクト01、オ
ブジェクト02およびオブジェクト03のために、管理人オブジェクト42は、
増加するオブジェクトバージョンナンバを割り当てる。例えば、テーブル15で
示す各オブジェクトテーブルは、分離した管理オブジェクト42の下に管理され
ることができる。オブジェクトテーブルにおけるテーブル数は、管理オブジェク
ト42と照会されたオブジェクトバージョンの数による。各管理オブジェクト4
2に分散され、記憶されたインタフェースについての情報を管理オブジェクト4
2が有するので、管理オブジェクト42はブロック103〜105を実行するこ
とができる。管理人オブジェクト44は、管理オブジェクト42からのブロック
103〜105の結果を考察して、ブロック106および107を実行する。
FIG. 12 shows the execution of the block 103 by the management framework 19 to obtain interface information distributed from the objects 01, 02 and 03. The objects 01, 02 and 03 of each object are distributed to a plurality of management objects 42 called M1, M2 and M3, respectively. For object 01, object 02 and object 03 of each object, the caretaker object 42
Assign increasing object version numbers. For example, each object table shown in the table 15 can be managed under a separate management object 42. The number of tables in the object table depends on the management object 42 and the number of queried object versions. Each managed object 4
The information about the interface distributed and stored in the management object 4
2, the management object 42 can execute the blocks 103 to 105. The caretaker object 44 considers the results of blocks 103-105 from the management object 42 and executes blocks 106 and 107.

【0127】 管理フレームワーク19は、ライフサイクルフレームワーク20と相互に作用
することができる。スペックステージ52(specification st
age 52)では、オブジェクト30のインタフェースIDは、管理人オブジ
ェクト44によって指定されており、管理オブジェクト42によって開発者に送
られる。開発者は、実行ステージ54を完了し、それから単一ユニットテストを
実行する。実行されたオブジェクトは、管理オブジェクト42に登録される。イ
ンタフェースIDと、関連するインタフェースバージョンナンバと、登録された
オブジェクト30に関連するソースおよびIDLファイルとは、管理オブジェク
ト42に送られる。例えば、テーブル18に示すように、2つのインタフェース
ID1および4を有するオブジェクト01は、下に続く情報を管理オブジェクト
42に送る。
The management framework 19 can interact with the life cycle framework 20. Specification stage 52
In an age 52), the interface ID of the object 30 is specified by the manager object 44 and sent to the developer by the management object 42. The developer completes execution stage 54 and then executes a single unit test. The executed object is registered in the management object 42. The interface ID, the associated interface version number, and the source and IDL files associated with the registered object 30 are sent to the management object 42. For example, as shown in Table 18, object 01 having two interface IDs 1 and 4 sends the following information to managed object 42.

【0128】[0128]

【表18】 [Table 18]

【0129】 管理オブジェクト42は、適切なオブジェクトバージョンナンバを返す。管理
オブジェクト42は、以下のトラックを保持する:例えば、オブジェクト30が
登録されるための現在のバージョンがすでに登録されており、この現在の登録が
インタフェースバージョンの同じ組合せにとって新しいインプリメンテーション
である場合、管理オブジェクト42はすぐ次のオブジェクトバージョンナンバを
返す。オブジェクトバージョンナンバは、インタフェースバージョンのその組合
せのためのベースオブジェクトバージョンから始まる。オブジェクト30のため
の現在バージョンがまだ登録されておらず、管理人オブジェクト44がそのイン
タフェースバージョンの組合せのためのいかなる増加するナンバも特定しなかっ
た場合、インタフェースバージョンの新しい組合せのために、管理オブジェクト
42は、その組合せのための全く新しいオブジェクトバージョンを戻す。他に、
管理オブジェクト42は、管理人オブジェクト44によって割り当てられたナン
バを返す。登録プロセスの不良は、開発者に登録を再試行させる結果となる。
The management object returns an appropriate object version number. The management object 42 holds the following tracks: for example, if the current version for which the object 30 is registered has already been registered and this current registration is a new implementation for the same combination of interface versions. , The management object 42 immediately returns the next object version number. The object version number starts with the base object version for that combination of interface versions. If the current version for object 30 has not yet been registered and admin object 44 has not identified any increasing numbers for that interface version combination, the management object 42 returns an entirely new object version for the combination. other,
The management object 42 returns the number assigned by the manager object 44. A bad registration process will result in the developer retrying the registration.

【0130】 スペックおよびオブジェクト指向の解析ステージ52の初めに、各オブジェク
ト30のためのグローバルインタフェースIDは、管理オブジェクト42に指定
されている。同開発者は、始めに、管理オブジェクト42からこの情報を得る。
各オブジェクト30のために、管理人オブジェクト44は、オブジェクトIDと
関連するインタフェースIDとしてのコラム名を有する管理オブジェクト42に
おいて、最近バージョンの(MRV)オブジェクトIDテーブルを生成すること
ができる。コラムと関連する値の範囲は、そのインタフェースと関連するインタ
フェースバージョンナンバである。登録が成功するたびに、MRVオブジェクト
IDテーブルは更新される。インタフェースバージョンのあらゆる固有の組合せ
のために、管理オブジェクト42は、このテーブルに最近のインプリメンテーシ
ョンだけを保持する。このテーブルは、管理人オブジェクト44によって、全て
の分配されたインタフェース上で結合(join)操作を実行するために、ブロ
ック106を行うために使用される。オブジェクト30の管理人オブジェクト4
4によって生成されるあらゆるテーブルのために、管理オブジェクト42は、オ
ブジェクトIDに関連するALLVERSIONSオブジェクトIDテーブルと
称される他のテーブルを生成し、その中のオブジェクトに関連する全てのオブジ
ェクトバージョンを保有する。このテーブルは、管理人オブジェクト44には知
られない。増加するオブジェクトバージョンナンバポリシーを使用する場合、管
理人オブジェクト44は、インタフェースバージョンの各固有の組合せのために
オブジェクトバージョンナンバを増加させることを管理オブジェクトに指示する
。管理オブジェクト42は、MRVオブジェクトIDテーブルにこの情報をアッ
プデートする。したがって、スターティン(始めの)グオブジェクトバージョン
ナンバのために、管理人オブジェクト44の全てのインタフェースバージョンお
よび選択は、MRVオブジェクトIDテーブルに入力される。
At the beginning of the spec and object oriented analysis stage 52, the global interface ID for each object 30 is specified in the managed object. The developer first obtains this information from the management object 42.
For each object 30, the caretaker object 44 can generate a recent version (MRV) object ID table in the managed object 42 having a column name as the interface ID associated with the object ID. The range of values associated with a column is the interface version number associated with that interface. Each time registration is successful, the MRV object ID table is updated. For any unique combination of interface versions, managed object 42 keeps only the most recent implementation in this table. This table is used by the caretaker object 44 to perform block 106 to perform a join operation on all distributed interfaces. Manager object 4 of object 30
For every table generated by 4, managed object 42 creates another table called the ALLVERSIONS object ID table associated with the object ID and holds all object versions associated with the objects therein. . This table is unknown to the caretaker object 44. When using the increasing object version number policy, the caretaker object 44 instructs the management object to increase the object version number for each unique combination of interface versions. The management object 42 updates this information in the MRV object ID table. Thus, for the starting object version number, all interface versions and selections of the caretaker object 44 are entered into the MRV object ID table.

【0131】 好ましくは、インタフェースバージョンの新しい組合せを有するあらゆる登録
のために、管理オブジェクト42は、オブジェクトバージョンとして、連続する
1、2、3、4、5…nの中から次の数を返す。返されるその次の数は、管理オ
ブジェクト42によってMRVオブジェクトIDテーブルから見つけ出される。
例えば、管理オブジェクト42は、入力されたインタフェースバージョンの第1
の固有の組合せのために、1.0を返す。続いて起こるインタフェースバージョ
ンの同じ組合せの実行には、管理オブジェクト42は、1.1、1.2、1.3
…1.nを順次に返す。インタフェースバージョンの第2の固有の組合せが入力
されるときに、管理オブジェクト42は、2.0を返す。
Preferably, for every registration having a new combination of interface versions, the managed object 42 returns the next number from the sequence of 1, 2, 3, 4, 5,... N as the object version. The next number returned is found by the managed object 42 from the MRV object ID table.
For example, the management object 42 has the first interface version of the input interface version.
Returns 1.0 for the unique combination of For subsequent executions of the same combination of interface versions, the managed object 42 will have 1.1, 1.2, 1.3
... 1. Returns n sequentially. When a second unique combination of interface versions is entered, managed object 42 returns 2.0.

【0132】 MRVの記録がない場合、それはインタフェースバージョンの全く新しい組合
せであり、管理人オブジェクト44は、いかなるスターティングオブジェクトバ
ージョンナンバも指定していないことを意味する。その組合せのために、管理オ
ブジェクト42は、1.0から(MRVオブジェクトIDテーブルから)始まる
どのナンバがすでに使用されているかを見つけ出すことによって、連続する1、
2…の中からその次の数を返す。管理オブジェクト42は、MRVオブジェクト
IDテーブルおよびALLVERSIONSオブジェクトIDテーブルをアップ
デートする。
If there is no MRV record, it is a completely new combination of interface versions, meaning that the caretaker object 44 has not specified any starting object version numbers. For that combination, the management object 42 determines which number, starting from 1.0 (from the MRV object ID table), has been used,
Returns the next number from 2 ... The management object 42 updates the MRV object ID table and the ALLVERSIONS object ID table.

【0133】 最近のバージョンが存在し、MRVオブジェクトIDテーブル中のMRVオブ
ジェクトバージョンが‐1である場合、それはインタフェースバージョンの全く
新しい組合せであるが、管理人オブジェクト44は、その組合せのためにスター
ティングオブジェクトバージョンナンバを指定している。(MRVオブジェクト
バージョンは、バージョンが今までのところ存在しないこと示すために−1とさ
れる)。この場合、管理オブジェクト42は、管理人オブジェクト44によって
開発者に指定されたナンバを返す。管理オブジェクト42は、MRVオブジェク
トIDテーブルタプルMRV_オブジェクトバージョン(old is −1)
を、管理人44に指定されたナンバ(第1の最新バージョンナンバを示すナンバ
)に変更する。その後は、ALLVERSIONSオブジェクトIDテーブルは
、オブジェクトバージョン情報を含む新しいタプルについて更新される。
If a recent version exists and the MRV object version in the MRV object ID table is -1, it is a completely new combination of interface versions, but the caretaker object 44 starts for that combination. Object version number is specified. (The MRV object version is set to -1 to indicate that the version does not yet exist). In this case, the management object 42 returns the number designated to the developer by the manager object 44. The management object 42 is an MRV object ID table tuple MRV_object version (old is -1).
Is changed to the number designated by the manager 44 (the number indicating the first latest version number). Thereafter, the ALLVERSIONS object ID table is updated with the new tuple containing object version information.

【0134】 最近のバージョンが存在せず、MRVオブジェクトバージョンが‐1でない場
合、それはインタフェースバージョンの繰り返された組合せである。この組合せ
のために、MRVオブジェクトIDテーブル中のオブジェクトバージョンを見つ
け出すためにルックアップが実行される。そのルックアップは、オブジェクトバ
ージョンの最新バージョンナンバを返す。例えば、それは、1.0または1.1
または1.2などのように、バージョンナンバに与えられた数に0.1を加えた
ものである。MRVオブジェクトIDテーブルへのMRVオブジェクトバージョ
ンの入力は、得られる新しいバージョンナンバを返すために変更される。ALL
VERSIONSオブジェクトIDテーブルも、より新しいバージョンナンバに
更新される。バージョンナンバは、管理オブジェクト42によって開発者に返さ
れる。
If there is no recent version and the MRV object version is not -1, it is a repeated combination of interface versions. For this combination, a lookup is performed to find the object version in the MRV object ID table. The lookup returns the latest version number of the object version. For example, it can be 1.0 or 1.1
Or, a value obtained by adding 0.1 to the number given to the version number, such as 1.2. The entry of the MRV object version into the MRV object ID table is changed to return the resulting new version number. ALL
The VERSIONS object ID table is also updated to a newer version number. The version number is returned to the developer by the management object 42.

【0135】 全てのオブジェクトバージョンがあるインタフェースに関連する同じインタフ
ェースバージョンナンバを有する場合、それら一組のオブジェクトバージョンは
「互換性があるインタフェース」である。分配された各インタフェースに関して
、その接続された一組のオブジェクトバージョンが互換性のあるインタフェース
である場合、一組のオブジェクトバージョンは、「互換性があるアプリケーショ
ン」を形成する。全ての固有の互換性のあるシステム(部分的なオーダー)に通
用するために、同じインタフェースIDを有する全てのコラムが等しく、関連す
るオブジェクトバージョンおよびインタフェースバージョンが設計される(出力
中にコラムのナンバは、アプリケーションにおけるオブジェクトのナンバにイン
タフェースのナンバに加えたものに等しい)ときはいつでも、全てのMRVオブ
ジェクトIDテーブルは結合される。したがって、行われる内部の結合は、複数
の分配されたインタフェースに関するAND状態である。管理人オブジェクト4
4は、同じもののためのSQL照会をメークアップすることができて、管理オブ
ジェクト42にそれを送信することができる。管理オブジェクト42は、それを
実行して、管理人オブジェクト44に全てのタプルを返す。全てのコンパチブル
システムの部分的なオーダーから、管理人は、展開(deployment)の
ためのコンパチブルシステムを適宜選択することができる。
If all object versions have the same interface version number associated with an interface, then the set of object versions is a “compatible interface”. For each distributed interface, the set of object versions forms a "compatible application" if the connected set of object versions is a compatible interface. All columns with the same interface ID are equal and the associated object version and interface version are designed (the number of columns in the output) to be valid for all unique compatible systems (partial order). Is equal to the number of the object in the application plus the number of the interface), all MRV object ID tables are merged. Thus, the internal coupling that occurs is an AND condition for multiple distributed interfaces. Janitor object 4
4 can make up an SQL query for the same and send it to the managed object 42. The management object 42 executes it and returns all tuples to the manager object 44. From the partial order of all compatible systems, the administrator can select compatible systems for deployment as appropriate.

【0136】 分散管理ネットワークのインプリメンテーションでは、管理人オブジェクト4
4は、各管理オブジェクト42のドメインのために分離したSQLストリングを
書き込む。各SQLストリングは、ローカルなオブジェクトしか含まない、しか
し、管理人オブジェクト44は、ローカルなものと同様に分配されたインタフェ
ースの両方に通用する。各管理オブジェクト42は、その発信インタフェースに
ついて完全な決定をできない。各管理オブジェクト42は、SQLストリングを
実行し、管理人オブジェクト44に結果を戻す。全ての管理オブジェクト42か
らの応答を得た後、対応するオブジェクトおよびインタフェースバージョンを得
る全ての分配されたインタフェースに関して、管理人オブジェクト44は、全て
の中間結果の高水準の結合を行う。割り当てられた選択アルゴリズムの複雑さは
、NLog(N)であり、ここで、Nは、オブジェクトバージョン(特有のイン
タフェースバージョン値のための選択性は、定数によって制限される)のナンバ
である。
In the implementation of the distributed management network, the management object 4
4 writes a separate SQL string for each managed object 42 domain. Each SQL string contains only local objects, but the admin object 44 works for both local and distributed interfaces as well. Each managed object 42 cannot make a complete decision on its outgoing interface. Each managed object 42 executes the SQL string and returns a result to the managed object 44. After obtaining responses from all managed objects 42, for all distributed interfaces that get the corresponding object and interface version, the manager object 44 performs a high-level combination of all intermediate results. The complexity of the assigned selection algorithm is NLog (N), where N is the number of the object version (the selectivity for a particular interface version value is limited by a constant).

【0137】 以下、管理人オブジェクト44に対してサポートされるコマンドの実例を記述
する。
Hereinafter, an example of a command supported for the administrator object 44 will be described.

【0138】 1.CreateObject/DestroyObject:管理人オブジ
ェクト44は、このコマンドをオブジェクトID、オブジェクトバージョン、お
よび、StartPortIDとともに管理オブジェクト42に送信する。オブ
ジェクトIDおよびオブジェクトバージョンは、実行するためのオブジェクト3
0のプログラムを独自に識別する。管理オブジェクト42は、どこにオブジェク
トIDおよびオブジェクトバージョンについての情報を保存したか、自身のデー
タベースを調査する。管理オブジェクト42は、開発者がチェックインに成功し
たときにこのデータベースの情報を更新する。管理オブジェクト42は、実行可
能な情報および引数を取り出し、適切なディレクトリに全てのDLLファイル(
あるとして)をコピーする。OS‐レベルのシステムコマンドを使用することに
よって、オブジェクト30はコマンド行引数とともに実行される。最初の2つの
引数は:クロックサーバが駆動しているホスト名、および、親クロックが子接続
のためにポーリングしているソケットIDである。3つ目の引数は、アプリケー
ションネットワーク全体におけるオブジェクト30のポート名空間(port
name space)を表示するStartPortIDである。異なるオブ
ジェクト30は、同じポート名空間を持たない。低いレベルのシステムからオブ
ジェクト30の生成の成功を受けると、管理オブジェクト42は、管理人44に
成功した旨のメッセージを返す。一方で、それは失敗した旨も返す。オブジェク
トの除去は、状態ポートを介してkill/dieプロトコルを使用して(適切
なセット操作を使用して)達成される 2.CreatePort/DestroyPort:このコマンドは、アプ
リケーションの異なるインタラクションに対して動的にオブジェクトポート32
を同調するために、管理オブジェクトにおいて(管理オブジェクトによって)、
オブジェクトポート32を生成するために使用される。オブジェクトポート32
は、オブジェクト30およびクロックの状態を得るために使用される。管理オブ
ジェクト42のポート32は、外部から透過的にインタラクションを不能/可能
にするために使用されることができる。インタラクションを不能/可能にするこ
とは、後述するHoldClock/Releaseコマンドを使用することに
よって達成される。管理人オブジェクト44は、生成されるPortID、イン
タフェースIDおよびインタフェースバージョンを送信する。前文の最後の2つ
の値は、インタフェースバージョンに関連するIDL記述と、構成において異な
るエレメントのサイズおよびオフセットを生成するIDLバックエンド(Bac
kend)とを使用して、オブジェクトポート32のサイズを抽出するために使
用される。CreatePort方法は、2つのパラメータを有する:Serv
iceIDを表示するPortIDと、オブジェクトポート32のサイズである
。オブジェクトポート32のサイズは、インタフェースID、インタフェースバ
ージョンおよびアーキテクチャに依存する。人間の管理人44がポートIDをホ
ールドすることによってオブジェクトポート32のサービスにアクセスすること
ができるので、生成されたオブジェクトポート32は管理オブジェクト42に登
録される。同じラインでは、オブジェクトポート32は、それらのサービスがネ
ットワークアプリケーションにもはや必要でない場合、除去されることができる
[0138] 1. CreateObject / DestroyObject: The manager object 44 sends this command to the management object 42 together with the object ID, the object version, and the StartPortID. The object ID and the object version are the object 3 to be executed.
0 is uniquely identified. The management object 42 checks its own database where the information about the object ID and the object version is stored. The management object 42 updates the information in this database when the developer succeeds in the check-in. The management object 42 extracts the executable information and the argument, and stores all DLL files (
Copy). By using OS-level system commands, object 30 is executed with command line arguments. The first two arguments are: the host name that the clock server is running on, and the socket ID that the parent clock is polling for child connections. The third argument is a port name space (port) of the object 30 in the entire application network.
StartPortID indicating the name space. Different objects 30 do not have the same port name space. Upon receiving a successful creation of the object 30 from the lower level system, the managed object 42 returns a success message to the manager 44. On the other hand, it also returns failure. 1. Removal of the object is achieved using the kill / die protocol (using the appropriate set operation) via the state port. CreatePort / DestroyPort: This command dynamically changes the object port 32 for different interactions of the application.
In order to tune in the managed object (by the managed object)
Used to create object port 32. Object port 32
Is used to obtain the state of the object 30 and the clock. Port 32 of managed object 42 can be used to transparently disable / enable interaction from the outside. Disabling / enabling the interaction is achieved by using the HoldClock / Release command described below. The manager object 44 transmits the generated PortID, interface ID, and interface version. The last two values in the preamble are the IDL description associated with the interface version and the IDL backend (Bac
kend) and is used to extract the size of the object port 32. The CreatePort method has two parameters: Serv
The port ID indicating the ice ID and the size of the object port 32. The size of the object port 32 depends on the interface ID, interface version, and architecture. Since the human manager 44 can access the service of the object port 32 by holding the port ID, the generated object port 32 is registered in the management object 42. On the same line, object ports 32 can be removed if those services are no longer needed for network applications.

【0139】 3.CreateClock/DestroyClock:このコマンドは、
管理オブジェクト42にクロックを生成するために使用される。これはパラメー
タを一つだけ有する:システム環境10において固有でなければならないClo
ckIDである。一度、ClockIDを有するクロックが生成されると、それ
は、そのサービスにアクセスするために管理システムに登録される。クロックが
生成されるとき、それは、ベースフェーズと共に現れる。そのフェーズに同調さ
れるいかなるオブジェクトポート32も、直ちに最初の進行命令を得る。第1の
進行命令を得た後に、あるものは、付加的なフェーズを生成し、より多くのオブ
ジェクトポート32(アプリケーション特有である)を同調する。そのサービス
がアプリケーションによってもはや必要でない場合、そのクロックもまた除去さ
れることができる。
[0139] 3. CreateClock / DestroyClock: This command is
Used to generate a clock for the management object 42. It has only one parameter: Clo which must be unique in the system environment 10
ckID. Once a clock with a ClockID is generated, it is registered with the management system to access its services. When the clock is generated, it appears with the base phase. Any object port 32 tuned to that phase immediately gets the first progress command. After obtaining the first progress instruction, some create additional phases and tune more object ports 32 (application specific). The clock can also be removed if the service is no longer needed by the application.

【0140】 4.AddPhase/DestroyClockPhase:このコマンド
は、クロックのベースフェーズに関する改良されたフェーズを動的に生成する。
それから、オブジェクトポート32は、その改良されたフェーズに同調される。
アプリケーションの行動は、観察および制御のために、より新しいフェーズを加
えることによって変化する。同様に、クロックフェーズは、除去されることがで
きる。フェーズを加える方法は、2つのパラメータを有する:BaseCloc
kIDと、RefinedClockIDである。クロックの各フェーズはクロ
ックによって提供される分離したサービスであり、管理人オブジェクト44は要
求に従い別々にそれらにアクセスする。
[0140] 4. AddPhase / DestroyClockPhase: This command dynamically generates an improved phase for the base phase of the clock.
The object port 32 is then tuned to the refined phase.
Application behavior changes by adding newer phases for observation and control. Similarly, clock phases can be eliminated. The method of adding a phase has two parameters: BaseCloc
kID and RefinedClockID. Each phase of the clock is a separate service provided by the clock, and the caretaker object 44 accesses them separately as required.

【0141】 5.Tune/Detune Port:このコマンドは、異なるオブジェク
トポート32をアプリケーションにおいて異なるクロックの異なるフェーズに同
調(接続)するために使用される。これは、特定のアプリケーションであり、3
つのパラメータを必要とする:PortID、ClockID、PhaseHa
ndle(ベースフェーズはClockIDを意味し、RefinedCloc
kIDを使用する他のどのフェーズにも上記のように指定される)である。複数
のオブジェクトポート32は、異なるインタラクションの一部としてそれらの役
目が完了されるときに、離調(detune)されることができる。
[0141] 5. Tune / Detune Port: This command is used to tune (connect) different object ports 32 to different phases of different clocks in the application. This is a specific application, 3
Requires two parameters: PortID, ClockID, PhaseHa
ndle (base phase means ClockID, RefinedClock
is specified as above for any other phase that uses the kID). The plurality of object ports 32 can be detuned when their role is completed as part of a different interaction.

【0142】 6.Set/Get State of object:オブジェクト30の
状態のセット/ゲットのために、管理人44は、まず、状態インタフェースID
およびインタフェースバージョンを識別しなければならない。オブジェクトの状
態インタフェースのためにIDL記述を得た後、管理人オブジェクト44はそれ
をIDL Backendに与える。そのバックエンドIDLのコンパイラは、
全てのインタフェース構造の各エレメントのために、FieldNumber、
FieldType、FieldOffsetおよびFieldSizeを生成
する。それは、また、オブジェクトポート32の実際のサイズも生成する。管理
人47は、データバッグ35およびその状態の個々のエレメントを理解する必要
がある。この機能は、インタラクションへの透過的なアクセスを可能とするため
に必要である。例えば、インタフェースID=1、2、3のために、IDLバッ
クエンドは下記のとおりに出力する:
[0142] 6. Set / Get State of object: To set / get the state of the object 30, the manager 44 first sets the state interface ID.
And the interface version must be identified. After obtaining the IDL description for the object's state interface, the caretaker object 44 provides it to IDL Backend. The compiler for that backend IDL is:
For each element of all interface structures, a FieldNumber,
Generate FieldType, FieldOffset, and FieldSize. It also generates the actual size of the object port 32. The administrator 47 needs to understand the data bag 35 and the individual elements of its state. This feature is needed to allow transparent access to interactions. For example, for interface ID = 1,2,3, the IDL backend outputs as follows:

【0143】[0143]

【表19】 [Table 19]

【0144】 状態をセットするために、管理人オブジェクト44は、MessageTyp
e1のDataフィールドに書き込むことができる。それから、管理人オブジェ
クト44は、StateValueを書く。1、0などについての情報は、状態
のIDLから得られる。このように、管理人オブジェクト44は、上記の生バイ
ト(上記の実例では情報の4バイト)を用意する。それから、セット(Set)
コマンドは、生バイトデータおよび生バイトのサイズとともに、オブジェクトの
状態インタフェースに接続される管理オブジェクト42に送信される。管理オブ
ジェクト32は、また、オブジェクトの状態インタフェースIDおよびインタフ
ェースバージョンを受信することによって、生バイトのサイズを得ることもでき
る。一度セットコマンドを受けると、管理オブジェクトポート32は、それのオ
ブジェクトポート32を介して、そのことをオブジェクト30に先立って書き込
む。それがオブジェクト30から応答を受けた場合、管理オブジェクト42は、
管理人オブジェクト44へ応答を返信する。
To set the state, the caretaker object 44 has a MessageType
The data field of e1 can be written. Then, the manager object 44 writes the StateValue. Information about 1, 0, etc. is obtained from the state IDL. In this way, the manager object 44 prepares the above raw bytes (4 bytes of information in the above example). Then, Set
The command is sent to the managed object 42, which is connected to the object's state interface, along with the raw byte data and the size of the raw byte. Managed object 32 may also obtain the raw byte size by receiving the object's state interface ID and interface version. Once a set command is received, the managed object port 32 writes that fact to the object 30 via its object port 32. If it receives a response from object 30, managed object 42
A response is returned to the manager object 44.

【0145】 状態を得るために、管理人オブジェクト44は、MessageType2の
Data分野に書き込むことができる。2についての情報は、状態のIDLから
得られる。状態をセットするために、同様のステップが実行される。加えて、管
理人オブジェクト44は、管理オブジェクト42から受信した生の4バイトを適
当な意味のあるデータに分割するために先の技術を使用する。管理人47が意味
のあるデータを参照する方法はサポートされている。例えば、管理人47は、以
下のことを参照することができる:
To obtain the status, the caretaker object 44 can write to the Data field of MessageType2. Information about 2 is obtained from the IDL of the state. Similar steps are performed to set the state. In addition, the caretaker object 44 uses the previous technique to split the raw four bytes received from the management object 42 into appropriately meaningful data. A method in which the manager 47 refers to meaningful data is supported. For example, the administrator 47 can refer to the following:

【0146】[0146]

【表20】 [Table 20]

【0147】 7.SetState/GetState of Clocks (link
s) (CollectBag, WriteBag):オブジェクト30の状
態インタフェースと関連する構成の代わりに、異なるインタラクションと関連す
るIDL構成を使用する。例えば、インタフェースID=4、インタフェースバ
ージョン=1.0を使用する。IDL Backendは、以下を生成する:
[0147] 7. SetState / GetState of Clocks (link
s) (CollectBag, WriteBag): Instead of the configuration associated with the state interface of object 30, use the IDL configuration associated with a different interaction. For example, an interface ID = 4 and an interface version = 1.0 are used. IDL Backend generates the following:

【0148】[0148]

【表21】 [Table 21]

【0149】 8.Hold/Release Clock:HoldClockコマンドは
、管理人オブジェクト44によって通知されるまで、指定されたオブジェクトポ
ート32で次の進行命令をホールドすることを管理オブジェクト42に伝える。
管理人オブジェクト44によって通知される場合を除き、管理オブジェクト42
はオブジェクトポート32をリリースしない。同じクロック内で他の異なるフェ
ーズに接続されるオブジェクトポート32は、進行通知を得ず、それゆえ、静止
した安定状態のままである。管理人オブジェクト44は、アプリケーション状態
を分析するために、必要なだけ進行信号をホールドすることができる。そのホー
ルドは、管理人オブジェクト44からの特有のリリースクロックコマンドによっ
てリリースされる。管理オブジェクト42がそのポートオブジェクト32に沿っ
てリリースを送信する場合にだけ、次のより高いまたはより低いフェーズに同調
される複数のオブジェクトポート32は、相互に通信が可能とされる。
[0149] 8. Hold / Release Clock: The Hold Clock command tells the managed object 42 to hold the next progress command at the specified object port 32 until notified by the manager object 44.
Unless notified by the manager object 44, the management object 42
Does not release object port 32. Object ports 32 connected to other different phases within the same clock do not get progress notification and therefore remain stationary and stable. The caretaker object 44 can hold the progress signal as needed to analyze the application status. The hold is released by a specific release clock command from the manager object 44. Only when the managed object 42 sends a release along its port object 32 can the plurality of object ports 32 tuned to the next higher or lower phase communicate with each other.

【0150】 9.GetIDLs of Interfaces:このコマンドを使用する
ことによって、管理人オブジェクト44は、異なるインタフェースと関連するオ
ブジェクト30のIDL記述を得ることができる。管理人オブジェクト44が管
理オブジェクト42からIDL記述を受ける場合、それらのIDL記述はローカ
ルデータベースへのコピーである。この機能は、管理人47が望むときにIDL
を見ることを可能にする。
[0150] 9. GetIDLs of Interfaces: By using this command, the caretaker object 44 can obtain the IDL description of the object 30 associated with different interfaces. If the manager object 44 receives IDL descriptions from the management object 42, those IDL descriptions are copies to the local database. This function is available when IDL
To be able to see.

【0151】 10.Register/Deregister ports:これらのコマ
ンドは、オブジェクト30内に生成されるオブジェクトポート32が管理オブジ
ェクト42に登録されることを可能とする。ただそれから、管理人オブジェクト
44は、そのサービスにアクセスすることができる。管理人オブジェクト44は
、アプリケーションシステムにおける各オブジェクト30のためのポートネーム
空間を規定する。アプリケーションによってもはや必要でないときに、ポートサ
ービスは、登録が削除されることができる。
[0151] 10. Register / Deregister port: These commands allow object ports 32 created within object 30 to be registered with managed object 42. Just then, the caretaker object 44 can access the service. The caretaker object 44 defines a port name space for each object 30 in the application system. Port services can be unregistered when no longer needed by the application.

【0152】 管理フレームワーク19は、矛盾なく、透過的にアプリケーションをセットア
ップするために使用されることができる。図12は、管理人オブジェクト44に
よってセットアップされたネットワークアプリケーションの実例を示す。管理人
オブジェクト44は、ネットワークアプリケーション109をセットアップして
、初期条件を指定して、発展の変更および分析を開始および制御する。管理人オ
ブジェクト44は、オブジェクト01、02および03の状態を決定し、状態オ
ブジェクトポート61a〜cおよび基本サービスオブジェクトポート62a〜c
をそれぞれのオブジェクト01、02および03に関連させる。管理人オブジェ
クト44は、オブジェクト01、02および03のインタフェースのために全て
のIDL記述を受信する。バックエンドIDLコンパイラは、受信された修正C
ORBA IDLの意味のある説明を提供することができる。図13は、トラン
ザクションネットワーク110をセットアップする方法のフローチャートである
。ブロック111に示すように、そのネットワークアプリケーションのセットア
ップの前に、そのINEは、活動的(アクティブ)にされる。図12を参照して
、INEインタフェース45は作動される。管理人オブジェクト44および管理
オブジェクト42は、それぞれのINEポートを生成し、登録するための以下の
方法を実行できる。
The management framework 19 can be used to set up applications transparently and consistently. FIG. 12 shows an example of a network application set up by the administrator object 44. The caretaker object 44 sets up the network application 109, specifies initial conditions, and initiates and controls development changes and analysis. The caretaker object 44 determines the state of the objects 01, 02 and 03, and the state object ports 61a-c and the basic service object ports 62a-c
Are associated with the respective objects 01, 02 and 03. The caretaker object 44 receives all IDL descriptions for the interface of objects 01, 02 and 03. The backend IDL compiler receives the modified C
A meaningful description of ORBA IDL can be provided. FIG. 13 is a flowchart of a method for setting up the transaction network 110. Prior to setting up the network application, the INE is activated, as shown in block 111. Referring to FIG. 12, INE interface 45 is activated. The manager object 44 and the manager object 42 can execute the following methods for generating and registering the respective INE ports.

【0153】[0153]

【表22】 [Table 22]

【0154】 図13のブロック112を参照して、クロックは、管理人オブジェクト44お
よび管理オブジェクト42に生成され、登録される。図12に示すように、クロ
ック86mは、管理人オブジェクト44によって生成されて、管理人オブジェク
ト44および管理オブジェクト42に登録される。例えば、ClockID=5
0を有するクロックは、コマンドOMF_CreateClock(Clock
ID)とともに生成される。INEポート85aは、以下のコマンドを使用して
、クロック86mのベースフェーズに同調される:
Referring to block 112 of FIG. 13, a clock is generated and registered in manager object 44 and management object 42. As shown in FIG. 12, the clock 86m is generated by the manager object 44 and registered in the manager object 44 and the management object 42. For example, ClockID = 5
The clock with 0 is the command OMF_CreateClock (Clock
ID). INE port 85a is tuned to the base phase of clock 86m using the following command:

【0155】[0155]

【表23】 [Table 23]

【0156】 ブロック113では、管理人オブジェクト44は、管理オブジェクト42に各
インタフェースのためにポートを生成するように指示する。例えば、ネットワー
クアプリケーション109では、4つのポートが生成されること、各々がインタ
フェースID1、2、3および4に関連させられる。管理人オブジェクト44は
、インタフェースIDおよびインタフェースバージョンを送信する。管理オブジ
ェクトポートは、ポート2、ポート3、ポート4、および、ポート5が割り当て
られる。管理オブジェクトポート2〜5のサイズは、管理人オブジェクト44に
よって確立される。例えば、管理オブジェクトポート2〜5は、それぞれ4バイ
トのサイズを有し、この値はアプリケーションに特有である。
At block 113, the caretaker object 44 instructs the management object 42 to create a port for each interface. For example, in network application 109, four ports are created, each associated with interface IDs 1, 2, 3, and 4. The manager object 44 transmits the interface ID and the interface version. Port 2, port 3, port 4, and port 5 are assigned to the management object ports. The sizes of the managed object ports 2 to 5 are established by the manager object 44. For example, managed object ports 2-5 each have a size of 4 bytes, this value being application specific.

【0157】 ブロック114では、管理人オブジェクト44は、管理オブジェクト42にオ
ブジェクトを生成するように指示する。例えば、管理人オブジェクト44は、3
つのオブジェクト(:オブジェクトIDは1、オブジェクトVerは1.0;オ
ブジェクトIDは2、オブジェクトVerは1.0;オブジェクトIDは3、オ
ブジェクトVerは1.0である)を生成するためにメッセージを管理オブジェ
クト42に送信する。3つのオブジェクトは、それぞれ、それらに対応する状態
オブジェクトポート61a〜cおよび基本サービスオブジェクトポート62a〜
cを生成し、登録する。
At block 114, the caretaker object 44 instructs the managed object 42 to create the object. For example, the manager object 44 is 3
Manage messages to generate one object (: object ID is 1, object Ver is 1.0; object ID is 2, object Ver is 1.0; object ID is 3, object Ver is 1.0) Send to object 42. The three objects have their corresponding state object ports 61a-c and basic service object ports 62a-62c respectively.
Generate and register c.

【0158】 ブロック115では、管理オブジェクト42は、各オブジェクト状態ポート6
1a〜cを管理オブジェクト状態ポート2〜4に接続するために、クロックを生
成する。例えば、ClockID=1は、オブジェクト01の状態ポートと、オ
ブジェクト01のために生成された管理状態ポート2とを接続するために生成さ
れる。ClockID=2は、オブジェクト02の状態ポートと、オブジェクト
02のために生成された管理状態ポート3とを接続するために生成される。Cl
ockID=3は、オブジェクト03の状態ポートと、オブジェクト03のため
に生成された管理状態ポートPort4とを接続するために生成される。 ClockID=4は、インタフェースID=4のための管理状態ポート5をベ
ースフェーズに接続するために生成される。
At block 115, the managed object 42 displays each object status port 6
A clock is generated to connect 1a-c to managed object state ports 2-4. For example, ClockID = 1 is generated to connect the status port of the object 01 and the management status port 2 generated for the object 01. ClockID = 2 is generated to connect the status port of the object 02 and the management status port 3 generated for the object 02. Cl
OckID = 3 is generated to connect the state port of the object 03 to the management state port Port4 generated for the object 03. ClockID = 4 is generated to connect management state port 5 for interface ID = 4 to the base phase.

【0159】 ブロック116では、管理人オブジェクト44は、オブジェクト状態ポートお
よび管理状態ポート2〜4を同調する。例えば、オブジェクト01の状態ポート
および管理状態ポートPort2は、ClockID=1のベースフェーズに同
調される。オブジェクト02の状態および管理状態ポートPort3は、Clo
ckID=2のベースフェーズに同調される。オブジェクト03の状態ポートお
よび管理状態ポートPort4は、ClockID=3のベースフェーズに町長
される。管理状態ポートPort5は、ClockID=4のベースフェーズに
同調される。
At block 116, the caretaker object 44 tunes the object status port and the management status ports 2-4. For example, the status port and management status port Port2 of object 01 are tuned to the base phase with ClockID = 1. The state of the object 02 and the management state port Port3 are Clo
Tune to base phase with ckID = 2. The status port and the management status port PORT4 of the object 03 are set to the base phase of ClockID = 3. The management state port Port5 is tuned to the base phase of ClockID = 4.

【0160】 ブロック117では、管理人44は、オブジェクト30の状態を初期化する。
例えば、管理人44は、オブジェクト30の状態を始めに0にセットするために
、(IDL出力を使用する)4バイトの生データを取りまとめ、INEインタフ
ェース45を介して管理オブジェクト42に送信する。管理オブジェクト42は
、対応する管理状態ポートに接続されている適切なポートにその4バイトを書き
込む。管理オブジェクト42が受け取った応答は、INE45を介して、管理人
オブジェクト44に返信される。全てのオブジェクトの状態について、同じこと
が繰り返される。
At block 117, the manager 44 initializes the state of the object 30.
For example, the manager 44 collects 4-byte raw data (using IDL output) and sends it to the management object 42 via the INE interface 45 in order to initially set the state of the object 30 to 0. The management object 42 writes the four bytes to the appropriate port connected to the corresponding management status port. The response received by the management object 42 is returned to the manager object 44 via the INE 45. The same is repeated for all object states.

【0161】 管理人オブジェクト44は、管理オブジェクト42の管理状態ポート5に関連
するクロックのホールドを指示する。すぐ次の進行命令で、そのクロックは、管
理オブジェクト42によってホールドされる。それは、現在のステップをリリー
スしない。それは、管理人オブジェクト44に応答を送信する。その後は、管理
人オブジェクト44は、フェーズを加えることができ、3つのアプリケーション
サービスポート62a〜cをクロックの新しいフェーズに動的に同調することが
できる。管理人オブジェクト44は、管理オブジェクト42にクロックをリリー
スするように指示する。管理オブジェクト42が管理人オブジェクト44からの
コマンドを実行した後、アプリケーションサービスポートは、進行命令および空
バッグを第一に得る。この時、オブジェクト01は、他のどのオブジェクト02
、03にもあらゆる要求(リクエスト)を送信することができる。ベースフェー
ズに同調されたオブジェクトは、管理人オブジェクト44によるクロックをホー
ルドする旨の要求がある場合を除き、データを転送し、リリースされたポートを
ホールドしなくてはならない。これにより、この時間でのアプリケーションの連
続した進行を確保する。アプリケーションのセットアップは完了する。管理人オ
ブジェクト44は、オブジェクト状態およびクロックの状態をモニターし続ける
ことができる。管理オブジェクトポート42は、下記のように動的な再構成が必
要となるまで、動的にアプリケーションから離調(detune)されることが
できる。
The manager object 44 instructs to hold the clock related to the management status port 5 of the management object 42. On the immediately following advance command, the clock is held by managed object 42. It does not release the current step. It sends a response to the caretaker object 44. Thereafter, the caretaker object 44 can add phases and dynamically tune the three application service ports 62a-c to a new phase of the clock. The management person object 44 instructs the management object 42 to release the clock. After the management object 42 executes the command from the caretaker object 44, the application service port first obtains a progress command and an empty bag. At this time, object 01 is any other object 02
, 03 can be sent to any request. Objects tuned to the base phase must transfer data and hold released ports unless there is a request by the custodian object 44 to hold the clock. This ensures continuous progress of the application at this time. Application setup is complete. The caretaker object 44 can continue to monitor the state of the object and the state of the clock. Managed object ports 42 can be dynamically detuned from the application until dynamic reconfiguration is required, as described below.

【0162】 ネットワークアプリケーションの動的な再構成は、現存のオブジェクトのサー
ビスをシャットダウンすることなく、アプリケーションネットワークのオブジェ
クト状態およびサービスポートに新しいオブジェクトバージョンを追加および削
除するインプリメントを含む。例えば、バグの解決はより新しいバージョンの結
果となる。例えば、独立のトランザクションが完了または途中である場合、オブ
ジェクトポートは、同調または離調されることができる。本発明の方法では、動
的な再構成はアプリケーションの静止ポイントに発生する。静止ポイントは、全
てのオブジェクトポートベースがリリースされ、少なくとも一つのポートが開始
されたときだけ中の管理オブジェクト42が進行命令を受けるインタラクション
フレームワーク16に従うことによって、管理オブジェクト42によって確立さ
れる。管理オブジェクト42による進行命令の受け取りは、静止ポイントである
。したがって、あらゆる変更が組み込まれる前に、オブジェクトに任意にメッセ
ージを送信することを許し、クロックによってメッセージを収集し管理オブジェ
クトへ送信し、および、クロックから進行命令を得るために管理を待つ静止状態
を強制することなく、静止は自動的に達成される。
Dynamic reconfiguration of network applications involves the implementation of adding and deleting new object versions to the object state and service ports of the application network without shutting down services of existing objects. For example, bug resolution will result in a newer version. For example, if an independent transaction is completed or in progress, the object ports can be tuned or detuned. In the method of the present invention, dynamic reconfiguration occurs at the quiesce point of the application. The quiesce point is established by the managed object 42 by following the interaction framework 16 in which the managed object 42 in progress only receives when all object port bases are released and at least one port is started. Receipt of the progress command by the management object 42 is a stationary point. Therefore, before any changes are incorporated, the object can be arbitrarily sent a message, the clock collects the message and sends it to the managed object, and a quiesce state waiting for management to get progress instructions from the clock. Without forcing, quiescence is achieved automatically.

【0163】 図12Bは、静止を達成するための分裂(disruption)の最小化を
図示する。アプリケーションオブジェクトは、静止状態になることを強制されな
い。オブジェクト01、02および03は、自発的に応答を送信する。クロック
は、データを集めて、管理にそれを送信する。管理は、クロックからの進行命令
を待つ。これは、管理の複雑さを低減する。管理が進行命令を得て、コントロー
ルを有する場合にだけ、管理人は、変更を組み込むことができる。ホールドする
ことは、進行命令の受信にだけ行われる。管理人は、外側から、独立したトラン
ザクションの完了を透過的に理解する。
FIG. 12B illustrates the minimization of disruption to achieve quiescence. Application objects are not forced to become quiescent. Objects 01, 02 and 03 spontaneously send responses. The clock collects the data and sends it to management. Management waits for a progress command from the clock. This reduces management complexity. The administrator can incorporate changes only if the administrator has a progress order and has control. The holding is performed only for receiving the progress command. The caretaker transparently understands the completion of an independent transaction from the outside.

【0164】 図14は、オブジェクトの新しいバージョンが動的にインプリメントされるネ
ットワークアプリケーション109の概要図である。現存のオブジェクト02は
、状態インタフェース2、および、BasicServicePortインタフ
ェース4という2つの活動的なインタフェースを有する。オブジェクト02は、
それぞれのクロックフェーズから離調する前は、これらの両方のインタフェース
に関して非活動でなくてはならない。最初に、管理人オブジェクト44は、イン
タフェースID=4メッセージに関連するホールドクロックを管理オブジェクト
42に送信する。インタフェースID=4に接続される管理ポートPort5の
すぐ次の進行命令では、そのクロックは、管理オブジェクト42によってホール
ドされる。管理人オブジェクト44は、クロックホールドについての通知を得る
。その通知では、管理人オブジェクト44は、データバッグ35(図示せず)を
得る。サイズ、タイプおよびオフセットを生成されたIDLバックエンドコンパ
イラから、管理人オブジェクト44は、データバッグ35内の構成エレメントが
わかる。管理人オブジェクト44によって得られた情報は、クロックの初期条件
である。この点で、管理オブジェクト42はインタフェースID=4に関連する
そのクロックの進行命令をホールドしているので、オブジェクト01、02およ
び03は、すでに前のステップのためにリリース、および、少なくとも一つのト
リガーを自発的に送り、次に最も早く来る進行命令を待つ。この点で、オブジェ
クト状態01、02および03はこのインタフェースに関して安定している。オ
ブジェクト01、02および03は、ステップ間でメッセージがだれにわたって
いるのかわからず、むしろ、データ、リリース、および、トリガー(必要なら)
を自発的に配り、情報を含む管理は作用するオブジェクトに透過的である。管理
人オブジェクト44は、IDL Backendを使用している分配されたイン
タフェースID=4に関する管理オブジェクト42から受信した生バイトをデコ
ードすることができる。例えば、出力は以下のうちの1つとなる:
FIG. 14 is a schematic diagram of a network application 109 in which a new version of an object is dynamically implemented. The existing object 02 has two active interfaces: a state interface 2 and a BasicServicePort interface 4. Object 02 is
Before detuning from each clock phase, both of these interfaces must be inactive. Initially, the manager object 44 sends the hold clock associated with the interface ID = 4 message to the manager object 42. In the next immediately proceeding command of the management port Port5 connected to the interface ID = 4, the clock is held by the management object. The caretaker object 44 gets a notification about the clock hold. In the notification, the manager object 44 obtains the data bag 35 (not shown). From the IDL backend compiler for which the size, type, and offset were generated, the caretaker object 44 knows the components in the data bag 35. The information obtained by the manager object 44 is the initial condition of the clock. At this point, objects 01, 02 and 03 have already been released for the previous step and at least one trigger has been issued since managed object 42 is holding its clock advance instruction associated with interface ID = 4. , And wait for the next earliest progress order. At this point, object states 01, 02 and 03 are stable for this interface. Objects 01, 02 and 03 do not know who the message spans between steps, but rather data, release and trigger (if necessary)
Is voluntarily distributed, and management including information is transparent to the object on which it operates. The caretaker object 44 can decode the raw bytes received from the managed object 42 for the distributed interface ID = 4 using IDL Backend. For example, the output will be one of the following:

【0165】[0165]

【表24】 [Table 24]

【0166】 目的は、オブジェクト02 バージョン1.0をオブジェクト02 バージョ
ン1.1に置き換えることである。状況によって、管理人オブジェクト44は、
現在作動しているバージョンに関連するIDL記述に状況をマップし、トランザ
クションがどのように進行し、いつがこのポイントかを理解しなくてはならない
。管理人オブジェクト44は、入力がオブジェクトの状態に影響を及ぼすかどう
か見いださなければならない。オブジェクト02のIDLから、以下のシナリオ
は、確立されることができる: 1. 状況#1の場合、オブジェクト01はちょうどトランザクションを始め
た;オブジェクト01の状態は1である;オブジェクト02の状態は0である;
オブジェクト03の状態は0である;古い、および、新しいオブジェクトバージ
ョンが同一の状態遷移(state transitions)を有する場合、
古いバージョンは新しいものに置き換えられることができ、オブジェクト02の
新しいバージョンは0に初期化されることができる。その後、トランザクション
を続けさせることができ、管理人オブジェクト44は、ホールドしたクロックを
リリースしなければならない。古い、および、新しいオブジェクトバージョンが
同一の状態遷移を有さない場合、管理人オブジェクト44は、新しいバージョン
の同等の状態を見つけ出し、それを初期化しなくてはならない。管理人オブジェ
クト44が同等の状態を見つけ出すことができない場合、トランザクションをも
う一ステップ進行させ、再びホールドする。独立のトランザクションがイニシエ
ータで完了するまで、前のステップを繰り返す。トランザクションの終わりに、
必要ならば、全てのオブジェクトは置き換えられることができる。
The purpose is to replace object 02 version 1.0 with object 02 version 1.1. Depending on the situation, the caretaker object 44
You must map the situation to the IDL description associated with the currently running version and understand how the transaction proceeds and when this point. The caretaker object 44 must find out whether the input affects the state of the object. From the IDL of object 02, the following scenarios can be established: For situation # 1, object 01 has just begun a transaction; the state of object 01 is 1; the state of object 02 is 0;
The state of object 03 is 0; if the old and new object versions have the same state transitions,
The old version can be replaced by a new one and the new version of object 02 can be initialized to zero. Thereafter, the transaction can be continued and the caretaker object 44 must release the held clock. If the old and new object versions do not have the same state transition, the caretaker object 44 must find the new version's equivalent state and initialize it. If the caretaker object 44 cannot find an equivalent state, it proceeds the transaction another step and holds again. Repeat the previous steps until the independent transaction completes at the initiator. At the end of the transaction,
If necessary, all objects can be replaced.

【0167】 2. 状況#2または#3または#4の場合、オブジェクト02の状態は0で
あり、古い、および、新しいオブジェクトバージョンが同一の状態遷移を有する
場合、古いバージョンは新しいものに置き換えられることができ、オブジェクト
02の新しいバージョンは0に初期化されなければならない。その後、トランザ
クションを継続させ、管理人オブジェクトは、ホールドしたクロックをリリース
しなければならない。古い、および、新しいオブジェクトバージョンが同一の状
態遷移を有さない場合、管理人オブジェクト44は、より新しいバージョンに同
等の状態を見つけ出し、それを初期化しなくてはならない。管理人オブジェクト
44が同等の状態を見つけ出すことができない場合、トランザクションをもう一
つステップ進行させ、再びそれをホールドする。イニシエータで独立した処理を
完了するまで、前のステップを繰り返す。トランザクションの終わりに、必要な
らば、全てのオブジェクトは置き換えられることができる。
[0167] 2. For situation # 2 or # 3 or # 4, the state of object 02 is 0, and if the old and new object versions have the same state transition, the old version can be replaced by the new one The new version of 02 must be initialized to 0. Thereafter, the transaction must be continued and the caretaker object must release the held clock. If the old and new object versions do not have the same state transition, the caretaker object 44 must find an equivalent state for the newer version and initialize it. If the caretaker object 44 cannot find an equivalent state, it proceeds the transaction another step and holds it again. Repeat the previous step until the initiator completes its independent processing. At the end of the transaction, all objects can be replaced if necessary.

【0168】 IDL記述への状況のマッピングによって管理人47が描画することができる
結果、古いオブジェクト02はトランザクションのいかなるステップでも置き換
えられることができる:TRANSAC_NAME_SQUARESUM。管理
人オブジェクト44が新しいオブジェクトバージョンにマッピング状態を見つけ
出すことができない場合、トランザクションを他のサイクルに行かせ、再度それ
をホールドする。イニシエータでトランザクションが終了するまで、チェックお
よびこのプロセスを繰り返す。また、必要なときに、同等の状態を見つけ出す。
本実施例では、管理人オブジェクト44は、入力を注目することによって、オブ
ジェクト01、02および03の状態を完結することができる。あるいは、管理
人オブジェクト44は、オブジェクト30のステータスを決定する前、オブジェ
クトおよびリンクの状態を必要とする。
The old object 02 can be replaced at any step of the transaction, as a result of which the manager 47 can draw by mapping the situation to the IDL description: TRANSAC_NAME_SQUARESUM. If the caretaker object 44 cannot find the mapping state for the new object version, it causes the transaction to go to another cycle and hold it again. Check and repeat this process until the transaction is completed at the initiator. Also, when necessary, find an equivalent state.
In this embodiment, the manager object 44 can complete the states of the objects 01, 02, and 03 by paying attention to the input. Alternatively, the caretaker object 44 needs the state of the object and the link before determining the status of the object 30.

【0169】 それがシナリオ#1である場合、例えば、管理人オブジェクト44は、新しい
オブジェクトバージョンが0に初期化されうる状態を有しており、そのふるまい
が古いバージョンと同一であることを見いだす。管理人オブジェクト44は、オ
ブジェクト02サービスポートをクロックから離調するために管理オブジェクト
42に通知する。管理オブジェクト42は、それを実行する。オブジェクト02
は、これ以上の進行命令またはデータを交換することができない。オブジェクト
01およびオブジェクト03も、進行命令またはデータを受けることができず、
それゆえに、それ以上通信もできない。管理人オブジェクト44は、管理オブジ
ェクト42にオブジェクト02の状態を得るためにメッセージを送信する。管理
オブジェクト42は、オブジェクト02のオブジェクト状態に状態獲得要求を送
信する。オブジェクト02は安定状態を公表し、管理オブジェクト42は、ポー
ト3で受ける。
If it is scenario # 1, for example, the caretaker object 44 finds that the new object version has a state that can be initialized to 0, and that its behavior is the same as the old version. Manager object 44 notifies manager object 42 to detune the object 02 service port from the clock. The management object 42 executes it. Object 02
Cannot exchange any further progress commands or data. Object 01 and Object 03 also cannot receive progress instructions or data,
Therefore, no further communication is possible. The manager object 44 sends a message to the management object 42 to obtain the status of the object 02. The management object 42 sends a state acquisition request to the object state of the object 02. Object 02 announces a stable state and managed object 42 receives on port 3.

【0170】 管理オブジェクト42は、管理人オブジェクト44にその状態情報を返し、再
び管理人オブジェクト44は実際の状態情報を理解する。管理人オブジェクト4
4は、オブジェクト02を除去(destroy)するために除去メッセージを
送信する。その除去メッセージが、オブジェクト02に送信されて、応答が管理
オブジェクト42によって受けられる。このとき、古いオブジェクト02の状態
ポートおよびclockID=2は、02の状態ポートおよび管理オブジェクト
ポート3の接続を除去される。このメッセージを受けると、古いオブジェクト0
2は、自身を、更にはBasicサービスポート62bを除去する。管理人オブ
ジェクト44は、除去について通知される。管理人オブジェクト44がベースフ
ェーズでさらにClockID=4をホールドしていることは言及される。管理
オブジェクトポート3は除去される。
The management object returns the state information to the manager object 44, and the manager object 44 understands the actual state information again. Janitor object 4
4 sends a removal message to destroy object 02. The removal message is sent to object 02 and a response is received by managed object 42. At this time, the connection of the status port of the old object 02 and clockID = 2 is removed from the connection of the status port of 02 and the managed object port 3. When this message is received, the old object 0
2 removes itself and further the Basic service port 62b. The caretaker object 44 is notified of the removal. It is noted that the caretaker object 44 also holds ClockID = 4 in the base phase. Managed object port 3 is removed.

【0171】 管理人オブジェクト44は、オブジェクトの新しいバージョン、例えば1.1
を生み出す。管理人オブジェクト44は、管理オブジェクトポート6にポートを
生み出し、ClockID=5を有するクロックを生み出し、それから、新しい
オブジェクト状態ポート、および、クロックのベースフェーズに生み出される新
しい管理ポートPort6を同調する。直接の1対1の状態マッピングがある場
合、管理人オブジェクト44は、古いオブジェクトから得られる値に、新しいオ
ブジェクト状態をセットし、さもなければ、それは新しいオブジェクトに同等の
状態をセットすることができる。後に、新しいオブジェクトのサービスポートは
、クロックのフェーズ1に同調される。クロックのホールドの後直ちに管理人に
受け取られたクロックデータは、管理人オブジェクト44によってクロックに書
き込まれ、管理人オブジェクト44はクロックをリリースする。それから、オブ
ジェクト01、02および03のための全ての3つのオブジェクトポートは、進
行信号を得る。オブジェクト02は、管理人オブジェクト44によってホールド
された通路にあるオブジェクト01からの要求を直ちに受け取る。初期の形態で
あったように、アプリケーションは継続する。隣接したオブジェクト01および
オブジェクト03は、オブジェクト02の置換についてなにもわからない。
The caretaker object 44 contains a new version of the object, for example, 1.1
Produces. The caretaker object 44 creates a port at managed object port 6, creates a clock with ClockID = 5, and then tunes the new object state port and the new management port Port6 created at the base phase of the clock. If there is a direct one-to-one state mapping, the caretaker object 44 sets the new object state to the value obtained from the old object, otherwise it can set the new object to the equivalent state. . Later, the service port of the new object is tuned to phase one of the clock. Clock data received by the caretaker immediately after the hold of the clock is written to the clock by the caretaker object 44, which releases the clock. Then, all three object ports for objects 01, 02 and 03 get a progress signal. Object 02 immediately receives a request from object 01 in the path held by the caretaker object 44. The application continues as in the earlier form. Neighboring objects 01 and 03 have no knowledge of the replacement of object 02.

【0172】 図15は、インタフェースの新しいバージョンを動的にインプリメントするこ
とを示す概要図である。例えば、インタフェースID=4は、どのオブジェクト
から来たかを示すオブジェクトIDを指示する第三フィールド(third f
ield)を含むために変更されうる。最初に、管理人オブジェクト44は、イ
ンタフェースID=4のメッセージと関連するホールドクロックを管理オブジェ
クト42に送信する。インタフェースID=4に接続されている管理オブジェク
トポート5のすぐ次の進行命令では、クロックは、管理オブジェクト42によっ
てホールドされる。管理人オブジェクト44は、クロックのホールドについての
通知を得る。通知にもとづいて、管理人オブジェクト44は、データバッグ35
(図示せず)にデータを得て、それを理解する。管理人オブジェクト44によっ
て得られるこの情報は、クロックの初期条件である。この点で、インタフェース
ID=4と関連するクロックの進行命令をホールドしているので、オブジェクト
01、02および03は、前のステップのためにすでに全てのリリースおよび、
少なくとも一つのトリガーを送り、次の進行命令が最も早く来る次の進行命令を
待っている。
FIG. 15 is a schematic diagram illustrating dynamically implementing a new version of an interface. For example, the interface ID = 4 indicates a third field (third f) indicating an object ID indicating from which object the object came.
field). First, the manager object 44 sends the hold clock associated with the message of interface ID = 4 to the management object 42. On the next proceeding instruction of managed object port 5 connected to interface ID = 4, the clock is held by managed object 42. The caretaker object 44 receives a notification about the hold of the clock. Based on the notification, the manager object 44 stores the data bag 35
(Not shown) to get the data and understand it. This information obtained by the caretaker object 44 is the initial condition of the clock. At this point, since holding the clock advance instruction associated with interface ID = 4, objects 01, 02 and 03 have already been released for all previous and
At least one trigger has been sent and the next progress command is waiting for the earliest next progress command.

【0173】 上記説明されるように、4つの状況が考えられる。三つ全て置き換える必要が
あるので、トランザクションはイニシエータオブジェクト01で完了されなけれ
ばならならず、または、同等の状態が見いだされなければならない。この場合、
全てのオブジェクトは除去され、新しいインタフェースバージョンを有する新し
いオブジェクトバージョンがシステムに入れられる。状況によって、管理人オブ
ジェクト44は、オブジェクト02サービスポートをクロックから離調するため
に管理オブジェクト42に通知する。管理オブジェクト42は、それを実行する
。オブジェクト02は、これ以上の進行命令またはデータを交換することができ
ない。オブジェクト01およびオブジェクト03も、進行命令またはデータを受
けることができず、それゆえに、もう通信することができない。管理人オブジェ
クト44は、オブジェクト02の状態を得るためのメッセージを管理オブジェク
ト42に送信する。管理オブジェクト42は、状態獲得要求をオブジェクト02
のオブジェクト状態インタフェースに送る。オブジェクト02は、安定状態を公
表し、管理オブジェクト42はポート3で受ける。
As explained above, four situations are possible. Since all three need to be replaced, the transaction must be completed at initiator object 01, or an equivalent state must be found. in this case,
All objects are removed and a new object version with a new interface version is entered into the system. In some situations, the caretaker object 44 notifies the management object 42 to detune the object 02 service port from the clock. The management object 42 executes it. Object 02 cannot exchange any further progress commands or data. Object 01 and Object 03 also cannot receive progress instructions or data, and therefore cannot communicate anymore. The manager object 44 sends a message for obtaining the state of the object 02 to the manager object 42. The management object 42 sends the status acquisition request to the object 02
To the object state interface. Object 02 announces a stable state and managed object 42 receives on port 3.

【0174】 同様に、古いオブジェクト01およびオブジェクト03のサービスポートは、
クロックから離調される。管理人オブジェクト42は、オブジェクト01および
オブジェクト03の状態を得る。管理オブジェクト42は、管理人オブジェクト
44にその状態情報を返し、再び、管理人オブジェクト44は実際の状態情報を
理解する。
Similarly, the service ports of the old objects 01 and 03 are
Detuned from clock. The manager object 42 obtains the states of the object 01 and the object 03. The management object 42 returns the status information to the manager object 44, and the manager object 44 understands the actual status information again.

【0175】 管理人オブジェクト44は、オブジェクト02を除去するために除去メッセー
ジを送信する。その除去メッセージは、オブジェクトに送信され、応答が管理オ
ブジェクト42によって受けられる。古いオブジェクト02の状態ポートは、そ
れから離調される。オブジェクト02の状態ポートおよびオブジェクト02のた
めに生み出された管理オブジェクトポート3を接続するClockID=2は、
除去される。古いオブジェクト02は、自身を、さらには、このメッセージの受
け取りに基づいてベーシックサービスポートを除去する。管理人オブジェクト4
4は、その除去について通知される。同様のステップが、オブジェクト01およ
び03のために繰り返される。管理オブジェクト42がベースフェーズでまだC
lockID=4をホールドしていることは、言及される。管理ポートPort
2、3および4は除去される。
The caretaker object 44 sends a removal message to remove the object 02. The removal message is sent to the object and a response is received by managed object 42. The state port of the old object 02 is then detuned. ClockID = 2 connecting the state port of object 02 and the managed object port 3 created for object 02 is
Removed. Old object 02 removes itself and also the basic service port based on receipt of this message. Janitor object 4
4 is notified about its removal. Similar steps are repeated for objects 01 and 03. Managed object 42 is still in base phase C
It is noted that lockID = 4 is being held. Management port Port
2, 3 and 4 are removed.

【0176】 管理人オブジェクト44は、オブジェクト01のバージョン1.1の新しいバ
ージョンを生み出す。管理人オブジェクト44は、管理オブジェクトポート6に
ポートを生み出し、ClockID=5を有するクロックを生み出し、それから
、新しいオブジェクトの状態ポート、および、クロックのベースフェーズに生み
出される新しい管理ポートを同調する。直接1対1の状態がある場合、管理人オ
ブジェクト44は、古いオブジェクトから手に入れられる値に、新しいオブジェ
クト状態をセットし、さもなければ新しいオブジェクトに同等の状態にセットす
る。同じことが、オブジェクト02およびオブジェクト03のために繰り返され
る。その状態は、適宜管理人オブジェクト44によってセットされる。すぐに、
管理人オブジェクト44は、サイズが6バイトのポート9を生み出す。管理人オ
ブジェクト44は、クロックを生み出して、ポート9をそのクロックのベースに
同調する。管理人オブジェクト44は、そのクロックをホールドすることを、管
理オブジェクト42に指示する。次の進行命令の到着で、管理オブジェクト42
は、それについて管理人オブジェクト44に通知する。管理人オブジェクト44
は、クロックにフェーズ1を生み出し、新しいオブジェクトの全ての3つの新し
いBasicサービスポートをそのフェーズに同調でき、それからクロックをリ
リースする。
The caretaker object 44 creates a new version of version 1.1 of object 01. The caretaker object 44 creates a port at managed object port 6, creates a clock with ClockID = 5, and then tunes the new object's state port and the new management port created at the base phase of the clock. If there is a direct one-to-one state, the caretaker object 44 sets the new object state to the value obtained from the old object, otherwise sets the new object to an equivalent state. The same is repeated for object 02 and object 03. The state is appropriately set by the manager object 44. Soon,
The caretaker object 44 creates a port 9 that is 6 bytes in size. The caretaker object 44 creates a clock and tunes port 9 to the base of that clock. The manager object 44 instructs the manager object 42 to hold the clock. Upon the arrival of the next progress command, the management object 42
Informs the manager object 44 about it. Manager object 44
Can create a phase 1 in the clock, tune all three new Basic service ports of the new object to that phase, and then release the clock.

【0177】 クロック4をホールドした直後に管理人オブジェクト44が受けたクロックデ
ータは、4バイトの情報だけを有する。しかし、新しいクロックは、6バイトの
情報を有する。アプリケーションを展開することは整合しているので、管理人オ
ブジェクト44は、適宜インタフェースの初期条件を変更しなくてはならない。
管理人オブジェクト44は、古いクロックデータを変更することができ、それか
ら、それは管理オブジェクト42を介してクロック8へ書き込まれる。後に、管
理人オブジェクト44は、クロックをリリースする。たった今、オブジェクトの
全ての3つのポートは進行命令を得て、管理人はデータバッグ35に書いたので
、アプリケーションはそれが初めの形態であったように継続する。古いオブジェ
クト01、02および03は、どれも、関係しない。
The clock data received by the manager object 44 immediately after holding the clock 4 has only 4 bytes of information. However, the new clock has 6 bytes of information. Since deploying the application is consistent, the caretaker object 44 must change the initial conditions of the interface as appropriate.
The caretaker object 44 can change the old clock data, which is then written to the clock 8 via the management object 42. Later, the caretaker object 44 releases the clock. Right now, all three ports of the object have obtained a progress command and the caretaker has written to the data bag 35 so that the application continues as it was in its original form. None of the old objects 01, 02 and 03 are relevant.

【0178】 依存しているトランザクションは、独立のトランザクションが管理人オブジェ
クト44によって取り扱われるのと同じ方法で取り扱われる。管理人オブジェク
ト44は、管理ポートが進行命令を受けるインタフェースに同調されるまで待機
しなくてはならない。そのインタフェースは、依存するトランザクションをサポ
ートする。インタフェースに関する全ての他の依存および/または独立するトラ
ンザクションが完了した後にだけ、管理オブジェクトポートは、進行命令を受け
る。進行命令はなかなか受信されないが、いつか進行命令は受けられるだろう(
依存している、および、独立しているトランザクションの両方が限定された時間
内にイニシエータで完了するので)。最終的に、上記の管理ポートが進むときに
、管理人はそれをホールドし、状態を分析し、それから、適切な変更を行うこと
ができる。従属グラフ(dependency graph)は、オブジェクト
の状態を決定するために使用される。管理人は、従属グラフによって全てのオブ
ジェクトの状態を分析することができる。IDL記述では、独立のトランザクシ
ョンを使用するかわりに、その記述は依存度を示す。
Dependent transactions are handled in the same way that independent transactions are handled by the caretaker object 44. The caretaker object 44 must wait until the management port is tuned to the interface receiving the progress command. The interface supports dependent transactions. Only after all other dependent and / or independent transactions on the interface have completed the managed object port receives a progress command. A progress order is not easily received, but a progress order will be received someday (
Both dependent and independent transactions are completed at the initiator in a limited amount of time). Eventually, as the management port goes forward, the caretaker can hold it, analyze the state, and then make the appropriate changes. Dependency graphs are used to determine the state of an object. The administrator can analyze the state of all objects by the dependency graph. In an IDL description, instead of using an independent transaction, the description indicates the degree of dependence.

【0179】 上述の実施形態は、本発明の方式のアプリケーションを表す多くの特有の実施
形態のうちほんの少しを証明しただけであることがわかる。さまざまなおよび改
良された他のアレンジが、本発明の技術的範囲から逸脱することなく、当業者に
よって上記方式に従って容易に発明される。
It can be seen that the above-described embodiments have demonstrated only a few of the many specific embodiments that represent applications of the scheme of the present invention. Various and improved other arrangements are readily invented by those skilled in the art according to the above schemes without departing from the scope of the invention.

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

【図1】 本発明の教示による分散型ソフトウェア開発環境のアーキテクチ
ャ図である。
FIG. 1 is an architecture diagram of a distributed software development environment according to the teachings of the present invention.

【図2A】 複数のオブジェクトの分散型ネットワークの概要図である。FIG. 2A is a schematic diagram of a distributed network of multiple objects.

【図2B】 2つのフェーズトランザクションにおける複数のオブジェクト
の分散型ネットワークの概要図である。
FIG. 2B is a schematic diagram of a distributed network of multiple objects in a two-phase transaction.

【図3A】 インタラクションネットワークとフェーズの概要図である。FIG. 3A is a schematic diagram of an interaction network and phases.

【図3B】 インタラクションクロック内の異なるフェーズのステップの概
要図である。
FIG. 3B is a schematic diagram of the steps of the different phases in the interaction clock.

【図4】 分散型管理ネットワークの概要図である。FIG. 4 is a schematic diagram of a distributed management network.

【図5】 ライフサイクルのステージの概要図である。FIG. 5 is a schematic diagram of a stage of a life cycle.

【図6】 ネットワークアプリケーションの概要図である。FIG. 6 is a schematic diagram of a network application.

【図7】 限界のないネゴシエーションの方法のフローチャートである。FIG. 7 is a flowchart of a method of unlimited negotiation.

【図8】 ネゴシエーションネットワークの概要図である。FIG. 8 is a schematic diagram of a negotiation network.

【図9】 ネットワークアプリケーションを実現するためのステップのブロ
ック図である。
FIG. 9 is a block diagram of steps for realizing a network application.

【図10】 互換性があるアプリケーションを決定する方法のフローチャー
トである。
FIG. 10 is a flowchart of a method for determining compatible applications.

【図11A】 展開しているネットワークアプリケーションの概要図である
FIG. 11A is a schematic diagram of a deployed network application.

【図11B】 図11Aに示される展開による複数の互換性があるアプリケ
ーションの概要図である。
11B is a schematic diagram of a plurality of compatible applications according to the development shown in FIG. 11A.

【図12A】 人間の管理人によってセットされた整合性があり、透過的な
ネットワークアプリケーションを示す概要図である。
FIG. 12A is a schematic diagram illustrating a consistent, transparent network application set by a human caretaker.

【図12B】 非活動を達成するために分裂の最小化を示す概要図である。FIG. 12B is a schematic diagram showing minimization of splitting to achieve inactivity.

【図13】 整合性があり、透明なアプリケーションネットワークをセット
アップする方法のフローチャートである。
FIG. 13 is a flowchart of a method for setting up a consistent and transparent application network.

【図14】 オブジェクトの置換のための再配置の間、図11に示されたネ
ットワークアプリケーションの概要図である。
FIG. 14 is a schematic diagram of the network application shown in FIG. 11 during relocation for object replacement.

【図15】 インタフェースの新しいバージョンを実現するための再配置の
間、図11に示されたネットワークアプリケーションの概要図である。
FIG. 15 is a schematic diagram of the network application shown in FIG. 11 during relocation to implement a new version of the interface.

───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,TZ,UG,ZW ),EA(AM,AZ,BY,KG,KZ,MD,RU, TJ,TM),AE,AL,AM,AT,AU,AZ, BA,BB,BG,BR,BY,CA,CH,CN,C R,CU,CZ,DE,DK,DM,EE,ES,FI ,GB,GD,GE,GH,GM,HR,HU,ID, IL,IN,IS,JP,KE,KG,KP,KR,K Z,LC,LK,LR,LS,LT,LU,LV,MA ,MD,MG,MK,MN,MW,MX,NO,NZ, PL,PT,RO,RU,SD,SE,SG,SI,S K,SL,TJ,TM,TR,TT,TZ,UA,UG ,US,UZ,VN,YU,ZA,ZW (72)発明者 スルヤナラヤナ,マンジュナス,エム. アメリカ合衆国,ニュー ジャージー州, ハイランド パーク,シダー レーン 110エイ Fターム(参考) 5B076 AC01 DB00 DC07 DD05 【要約の続き】 御することができる。デザインステージの間、管理フレ ームワークは、また、限界がないネゴシエーションを実 行するために、ソフトウェア開発者によって使用される ことができる。──────────────────────────────────────────────────続 き Continuation of front page (81) Designated country EP (AT, BE, CH, CY, DE, DK, ES, FI, FR, GB, GR, IE, IT, LU, MC, NL, PT, SE ), OA (BF, BJ, CF, CG, CI, CM, GA, GN, GW, ML, MR, NE, SN, TD, TG), AP (GH, GM, KE, LS, MW, SD, SL, SZ, TZ, UG, ZW), EA (AM, AZ, BY, KG, KZ, MD, RU, TJ, TM), AE, AL, AM, AT, AU, AZ, BA, BB, BG, BR, BY, CA, CH, CN, CR, CU, CZ, DE, DK, DM, EE, ES, FI, GB, GD, GE, GH, GM, HR, HU, ID , IL, IN, IS, JP, KE, KG, KP, KR, KZ, LC, LK, LR, LS, LT, LU, LV, MA, MD, MG, MK, MN, MW, MX, NO, NZ, PL, PT, RO, RU, SD, SE, SG, SI, SK, SL, TJ, TM, TR, TT, TZ, UA, UG, US, UZ, VN, YU, ZA, ZW (72 ) Inventors: Surya Narayana, Manjunas, M. Highland Park, New Jersey, United States, Cedar Lane 110A F-Term (Reference) 5B076 AC01 DB00 DC07 DD05 [Continued Summary] Yes. During the design stage, the management framework can also be used by software developers to perform limitless negotiations.

Claims (58)

【特許請求の範囲】[Claims] 【請求項1】 オブジェクト操作を実行するための複数のオブジェクトを有
し、 それぞれのオブジェクトはオブジェクトインタフェースを含み、 少なくとも1つのオブジェクトポートは、前記オブジェクトの前記それぞれの
オブジェクトインタフェースに接続され、 前記オブジェクトの1つの前記オブジェクトポートを、前記オブジェクトの他
の1つの前記オブジェクトポートに接続するインタラクション手段を備え、 前記オブジェクトインタフェースに互換性があって、前記インタラクション手
段が、前記互換性のあるインタフェースを持つ前記ポートの動的に変更される設
定により、前記オブジェクト操作からの制御とデータのシーケンシャルフローを
与える場合、前記オブジェクトの1つは前記オブジェクトの他の1つと通信する
ことができる分散オブジェクト指向ソフトウェア開発環境。
1. An object comprising: a plurality of objects for performing an object operation; each object including an object interface; at least one object port connected to the respective object interface of the object; An interaction means for connecting one of the object ports to another of the object ports of the object, wherein the object interface is compatible, and the interaction means has the compatible interface. One of the objects communicates with the other one of the objects when the dynamically changing settings provide control from the object operation and sequential flow of data. Distributed object-oriented software development environment that can.
【請求項2】 前記インタラクション手段は、円形の通信経路で表現され、
第1の前記オブジェクトポートは、前記円形の通信経路に接続されている少なく
とも第2の前記オブジェクトポートから情報を受信するために前記円形の通信経
路に接続されている請求項1の開発環境。
2. The interaction means is represented by a circular communication path,
The development environment of claim 1 wherein a first said object port is connected to said circular communication path for receiving information from at least a second said object port connected to said circular communication path.
【請求項3】 前記インタフェースは、修正CORBAインタフェース記述
言語で記述されている請求項1の開発環境。
3. The development environment according to claim 1, wherein said interface is described in a modified CORBA interface description language.
【請求項4】 複数の管理オブジェクトを有し、 それぞれの前記管理オブジェクトは前記オブジェクトの少なくとも1つと関連
しており、 管理人オブジェクトと、 前記管理オブジェクトを前記管理人オブジェクトに接続するネットワークの発
展のためのインタフェースとをさらに含み、 管理人オブジェクトは、前記管理オブジェクトにより前記オブジェクトを管理
する請求項1の開発環境。
4. A management system comprising a plurality of managed objects, each said managed object being associated with at least one of said objects, comprising: a manager object; and an evolution of a network connecting said managed object to said manager object. The development environment according to claim 1, further comprising an interface for managing an object by the management object.
【請求項5】 前記管理人オブジェクトは、増加するオブジェクトバージョ
ンナンバを前記オブジェクトに割り当てる請求項4の開発環境。
5. The development environment according to claim 4, wherein said manager object assigns increasing object version numbers to said objects.
【請求項6】 前記管理人オブジェクトは、前記オブジェクトインタフェー
スに単調に増加するインタフェースバージョンを割り当て、 それぞれの前記オブジェクトインタフェースは、前記アプリケーションネット
ワーク内の唯一のグローバルIDを有する請求項5の開発環境。
6. The development environment of claim 5, wherein the caretaker object assigns a monotonically increasing interface version to the object interface, and each of the object interfaces has a unique global ID in the application network.
【請求項7】 前記グローバルIDと前記管理オブジェクトを有する前記オ
ブジェクトの前記オブジェクトバージョンナンバとを登録することによって、前
記オブジェクトの前記互換性のあるインタフェースを決定するための手段をさら
に含む請求項6の開発環境。
7. The apparatus of claim 6, further comprising means for determining the compatible interface of the object by registering the global ID and the object version number of the object having the managed object. Development environment.
【請求項8】 前記ネットワークアプリケーションにおける前記オブジェク
トの前記オブジェクトバージョンを表現する行と、オブジェクトIDとインタフ
ェースIDを表現するコラムを含むオブジェクトテーブルを決定する手段と、 オブジェクトバージョンに関する前記決定されたオブジェクトテーブルをソー
トする手段と、 第1の前記オブジェクトのために第1の前記ソートされたオブジェクトテーブ
ルと共通の前記インタフェースIDに関する第2の前記オブジェクトのために第
2の前記ソートされたオブジェクトテーブルとをソートする手段と、 前記インタフェースIDに関する前記第1の前記ソートされたオブジェクトテ
ーブルと前記第2の前記ソートされたオブジェクトとを接続する手段と、 前記互換性があるオブジェクトを前記オブジェクトテーブルの前記接続から抜
き出す手段と、 をさらに含む請求項7の開発環境。
8. A means for determining a row representing the object version of the object in the network application, and an object table including a column representing an object ID and an interface ID; and determining the determined object table for the object version. Means for sorting; sorting the first sorted object table for the first object and the second sorted object table for the second object with a common interface ID. Means for connecting the first sorted object table with respect to the interface ID and the second sorted object, 7. Development of serial further comprising means for extracting from the connection of the object tables, the.
【請求項9】 前記共通の前記インタフェースIDに関する次のオブジェク
トテーブルをソートする手段と、 前記接続された第1の前記ソートされたオブジェクトテーブルと前記第2の前
記ソートされたオブジェクトテーブルを用いて前記次のオブジェクトテーブルを
接続する手段と、 をさらに含む請求項8の開発環境。
9. A means for sorting a next object table relating to the common interface ID, and using the connected first sorted object table and the second sorted object table. 9. The development environment of claim 8, further comprising: means for connecting a next object table.
【請求項10】 前記オブジェクトと前記インタフェースが規定されている
スペックステージ、前記オブジェクトの前記インタフェースが交渉されるデザイ
ンステージ、前記オブジェクトの前記交渉されたインタフェースがインプリメン
トされるインプリメンテーションステージ、および、前記インプリメントされた
インタフェースがテストされるテストステージを含んだライフサイクルフレーム
ワークをさらに含む請求項1の開発環境。
10. A specification stage in which the object and the interface are defined, a design stage in which the interface of the object is negotiated, an implementation stage in which the negotiated interface of the object is implemented, and The development environment of claim 1, further comprising a life cycle framework that includes a test stage in which the implemented interface is tested.
【請求項11】 a.管理人オブジェクトを決定するステップと、 b.少なくとも1つの管理オブジェクトを決定するステップと、 c.前記管理人オブジェクトによって、オブジェクト操作実行用の複数のオブ
ジェクトを生成する前記少なくとも1つの管理オブジェクトを有するオブジェク
ト(それぞれの前記オブジェクトはオブジェクトインタフェースを含む)指示す
ることによって、前記管理人オブジェクトと前記管理オブジェクトとの間のネッ
トワークの発展(INE)のためのインタフェースを決定するステップと、 d.前記管理オブジェクトに前記少なくとも1つのオブジェクトを接続するイ
ンタラクション手段を生成するステップと、 e.前記管理オブジェクトに関連する少なくとも1つの管理オブジェクトポー
トを決定するステップと、 f.前記オブジェクトに関連する少なくとも1つのオブジェクトポートを決定
するステップと、 g.前記オブジェクトポートから前記管理オブジェクトポートへのネゴシエー
ションを進めるステップと、 を含むソフトウェア開発の間ネゴシエーションをインプリメントする方法。
11. A. Determining a caretaker object; b. Determining at least one managed object; c. The manager object and the management object by indicating by the manager object an object having the at least one management object that generates a plurality of objects for performing object operations (each of the objects includes an object interface). Determining an interface for network evolution (INE) between d. And d. Generating interaction means for connecting the at least one object to the managed object; e. Determining at least one managed object port associated with the managed object; f. Determining at least one object port associated with the object; g. Advancing negotiations from the object port to the managed object port. A method for implementing negotiation during software development.
【請求項12】 前記管理人オブジェクトから、前記オブジェクトの少なく
とも1つに関連する開発者のそれぞれに前記オブジェクトを設計するタスクを割
り当てるステップをさらに含む請求項11の方法。
12. The method of claim 11, further comprising: assigning from the caretaker object a task of designing the object to each of developers associated with at least one of the objects.
【請求項13】 開発される前記オブジェクトのそれぞれのために、前記開
発者によって開発者ネゴシエーションポートを生成するステップをさらに含む請
求項12の方法。
13. The method of claim 12, further comprising the step of creating a developer negotiation port by said developer for each of said objects to be developed.
【請求項14】 前記開発者ネゴシエーションポートを前記管理人オブジェ
クトに登録するステップをさらに含む請求項13の方法。
14. The method of claim 13, further comprising registering the developer negotiation port with the caretaker object.
【請求項15】 前記開発者ネゴシエーションポートのそれぞれの1つにそ
れぞれが関連する前記管理オブジェクトに、管理ネゴシエーションポートを生成
することをさらに含む請求項14の方法。
15. The method of claim 14, further comprising: creating a management negotiation port for the managed object, each of which is associated with a respective one of the developer negotiation ports.
【請求項16】 ステップgは、 指示されたオブジェクトに進めるための前記それぞれの管理人ネゴシエーショ
ンポートに、前記それぞれの開発者ネゴシエーションポートを介して、前記開発
者によって修正CORBA IDLで記述されたネゴシエーションスクリプトを
送ることを含む請求項15の方法。
16. The step g, wherein said respective administrator negotiation port for proceeding to a designated object is transmitted to said respective developer negotiation port via said respective developer negotiation port, said negotiation script being described in the modified CORBA IDL by said developer. 16. The method of claim 15, comprising sending
【請求項17】 前記管理オブジェクトで受けられた修正CORBA ID
Lで記述された前記スクリプトを前記INEを通して前記管理人オブジェクトに
送るステップをさらに含む請求項16の方法。
17. The modified CORBA ID received at the managed object.
17. The method of claim 16, further comprising sending the script written in L to the caretaker object through the INE.
【請求項18】 前記管理人オブジェクトで受けられた修正CORBA I
DLで記述された前記スクリプトを人間が読み出し可能なデータに翻訳するステ
ップをさらに含む請求項17の方法。
18. The modified CORBA I received on the caretaker object.
The method of claim 17, further comprising translating the script written in DL into human-readable data.
【請求項19】 ネゴシエーションを進めるステップは、すべての開発者が
一致するまで繰り返される請求項11の方法。
19. The method of claim 11, wherein advancing the negotiation is repeated until all developers agree.
【請求項20】 前記ネゴシエーションは、修正CORBA IDLにおい
て定義されているオブジェクトインタフェースを決定する請求項19の方法。
20. The method of claim 19, wherein the negotiation determines an object interface defined in a modified CORBA IDL.
【請求項21】 複数のオブジェクトを決定するステップと、 オブジェクトポートをそれぞれの前記オブジェクトに関連させるステップと、 前記オブジェクト間でメッセージを交わすためのトランザクションを決定する
ステップと、 前記オブジェクトのそれぞれに対するオブジェクトインタフェースを決定する
ステップと、 それぞれの決定されたオブジェクトインタフェースをインプリメントするステ
ップと、を含み、 前記メッセージが、互換性のある前記オブジェクトインタフェースを持つ前記
オブジェクト間でシーケンシャルに交わされる、ネットワークアプリケーション
をインプリメントする方法。
21. determining a plurality of objects; associating an object port with each of the objects; determining a transaction for exchanging messages between the objects; and an object interface to each of the objects. And implementing a respective determined object interface, wherein the messages are sequentially exchanged between the objects having the compatible object interface. .
【請求項22】 前記インプリメントされたオブジェクトと管理フレームワ
ークを有する前記オブジェクトインタフェースを登録するステップをさらに含み
、前記管理フレームワークはオブジェクトIDとオブジェクトバージョンIDと
インタフェースバージョンIDを戻す請求項21の方法。
22. The method of claim 21, further comprising registering the object interface with the implemented object and a management framework, wherein the management framework returns an object ID, an object version ID, and an interface version ID.
【請求項23】 前記インプリメントステップは、 互換性のある前記オブジェクトバージョンIDを持つネットワークアプリケー
ションを決定するステップをさらに含む請求項22の方法。
23. The method of claim 22, wherein said implementing step further comprises determining a network application having said object version ID that is compatible.
【請求項24】 互換性のあるオブジェクトバージョンを持つネットワーク
アプリケーションを決定する前記ステップは、 a.前記オブジェクトIDと前記オブジェクトバージョンIDを表現する行と
、前記インタフェースバージョンIDを表現するコラムとを含んでいるオブジェ
クトテーブルを決定するステップと、 b.前記オブジェクトバージョンIDに関して前記決定されたオブジェクトテ
ーブルをソートするステップと、 c.共通の前記インタフェースIDに関して、第1の前記オブジェクトのため
の第1の前記ソートされたオブジェクトテーブルと第2の前記オブジェクトのた
めの第2の前記ソートされたオブジェクトテーブルとをソートするステップと、 d.前記オブジェクトテーブルの接続を形成する前記インタフェースIDに関
して、前記第1の前記ソートされたオブジェクトと前記第2の前記ソートされた
オブジェクトとを接続するステップと、 e.前記互換性があるオブジェクトを前記オブジェクトテーブルの前記接続か
ら抜き出すステップと、 前記互換性があるオブジェクトを前記オブジェクトテーブルの前記接続から抜
き出すステップと、 をさらに含む請求項23の方法。
24. The step of determining a network application having a compatible object version comprises the steps of: a. Determining an object table that includes a row representing the object ID and the object version ID, and a column representing the interface version ID; b. Sorting the determined object table with respect to the object version ID; c. Sorting a first said sorted object table for a first said object and a second said sorted object table for a second said object with respect to said common interface ID; d. . Connecting said first sorted object and said second sorted object with respect to said interface ID forming a connection of said object table; e. 24. The method of claim 23, further comprising: extracting the compatible object from the connection in the object table; and extracting the compatible object from the connection in the object table.
【請求項25】 f.前記共通の前記インタフェースIDに関して次のオブ
ジェクトテーブルをソートするステップと、 g.ステップdの前記接続されたオブジェクトテーブルを用いて前記次のオブ
ジェクトテーブルを接続するステップと、 をさらに含む請求項24の方法。
25. f. Sorting the next object table with respect to the common interface ID; g. 25. The method of claim 24, further comprising: using the connected object table of step d to connect the next object table.
【請求項26】 前記オブジェクトテーブルは、前記行と前記コラムとで増
加する前記オブジェクトバージョンIDと前記インタフェースバージョンIDを
得るために生成される請求項24の方法。
26. The method of claim 24, wherein said object table is generated to obtain said object version ID and said interface version ID incrementing in said row and said column.
【請求項27】 それぞれの前記管理オブジェクトが前記オブジェクトの少
なくとも1つと関連する複数の管理オブジェクトを決定するステップと、 管理人オブジェクトを決定するステップと、 前記管理人オブジェクトに前記管理オブジェクトを接続するためにネットワー
クの発展のためのインタフェースを決定するステップと、 前記管理オブジェクトと相互に作用する前記管理人オブジェクトによって前記
オブジェクトを管理するステップと、 をさらに含む請求項21の方法。
27. Determining a plurality of managed objects, each said managed object being associated with at least one of said objects; determining a manager object; connecting said managed object to said manager object. 22. The method of claim 21, further comprising: determining an interface for network evolution; and managing the object by the administrator object interacting with the managed object.
【請求項28】 前記決定されたオブジェクトを更新するステップと、 前記管理オブジェクトを介して前記更新されたオブジェクトに前記管理人オブ
ジェクトによって増加するオブジェクトバージョンナンバを割り当てるステップ
と、 をさらに含む請求項27の方法。
28. The method of claim 27, further comprising: updating the determined object; and assigning an updated object version number to the updated object via the managed object by the manager object. Method.
【請求項29】 前記オブジェクトインタフェースを更新するステップと、 前記管理オブジェクトを介して前記更新されたオブジェクトに前記管理人オブ
ジェクトによって増加するインタフェースバージョンナンバを割り当てるステッ
プと、 をさらに含む請求項27の方法。
29. The method of claim 27, further comprising: updating the object interface; and assigning the updated object via the managed object an interface version number that is incremented by the manager object.
【請求項30】 a.管理人オブジェクトを決定するステップと、 b.少なくとも1つの管理オブジェクトを決定するステップと、 c.前記管理人オブジェクトによって、前記管理人オブジェクトと前記管理オ
ブジェクトとの間のネットワークの発展(INE)のためのインタフェースを決
定し、オブジェクト操作実行用の少なくとも1つのオブジェクト(それぞれの前
記オブジェクトはオブジェクトインタフェースを含む)を生成する前記管理人オ
ブジェクトによって前記少なくとも1つの管理オブジェクトに指示するステップ
と、 d.前記管理オブジェクトに前記オブジェクトを接続するための、前記INE
と前記管理人オブジェクトにも接続されているインタラクション手段を生成する
ステップと、 e.前記管理オブジェクトを前記初期化された状態に進めるために前記初期化
された状態を前記INEによって前記オブジェクトに進め、前記管理オブジェク
トを前記管理オブジェクトから前記オブジェクトまで前記初期化された状態に進
め、前記オブジェクトの前記管理人オブジェクトでの状態を初期化するステップ
と、 を含むネットワークアプリケーションをセットアップする方法。
30. a. Determining a caretaker object; b. Determining at least one managed object; c. The custodian object determines an interface for network evolution (INE) between the custodian object and the managed object, and at least one object for performing an object operation (each of the objects has an object interface). Indicating the at least one managed object by the caretaker object that generates the d. The INE for connecting the object to the managed object;
Generating an interaction means also connected to the manager object and the manager object; e. Advancing the initialized state to the object by the INE to advance the managed object to the initialized state; advancing the managed object from the managed object to the object to the initialized state; Initializing the state of the object at the caretaker object.
【請求項31】 f.前記管理人オブジェクトのための管理人オブジェクト
INEポートを決定するステップと、 g.前記管理オブジェクトのための管理オブジェクトINEポートを決定する
ステップと、 h.前記マネージャーオブジェクトのための前記INEポートと前記管理オブ
ジェクトのための前記INEポートとを前記INEに関連させるステップと、 をステップcの後にさらに含む請求項30の方法。
31. f. Determining an administrator object INE port for the administrator object; g. Determining a managed object INE port for the managed object; h. 31. The method of claim 30, further comprising: after step c, associating the INE port for the manager object and the INE port for the managed object with the INE.
【請求項32】 前記管理オブジェクトに関連する少なくとも1つのポート
を決定するステップと、 それぞれの前記オブジェクトに関連する少なくとも1つのオブジェクトポート
を決定するステップと、 をさらに含む請求項31の方法。
32. The method of claim 31, further comprising: determining at least one port associated with the managed object; and determining at least one object port associated with each of the objects.
【請求項33】 前記オブジェクトインタフェースは、修正CORBA I
DLで定義されている請求項30の方法。
33. The object interface of claim 28, wherein the modified CORBA I
31. The method of claim 30, defined in DL.
【請求項34】 管理人オブジェクトを決定するステップと、 少なくとも1つの管理オブジェクトを決定するステップと、 前記管理人オブジェクトによって、オブジェクト操作実行用の少なくとも1つ
のオブジェクトを生成する前記少なくとも1つの管理オブジェクトを有するオブ
ジェクト(それぞれの前記オブジェクトはオブジェクトインタフェースを含み、
オリジナル状態を持つ)を指示することによって、前記管理人オブジェクトと前
記管理オブジェクトとの間のネットワークの発展(INE)のためのインタフェ
ースを決定するステップと、 前記管理オブジェクトに前記少なくとも1つのオブジェクトを接続するための
インタラクション手段を生成するステップと、 前記管理オブジェクトに関連する少なくとも1つの管理オブジェクトポートを
決定するステップと、 前記オブジェクトに関連する少なくとも1つのオブジェクトポートを決定する
ステップと、 前記管理オブジェクトによって変更される前記オブジェクトのうちの少なくと
も1つに静止ポイントを確立するステップと、 を含むネットワークアプリケーションを動的に変更する方法。
34. A step of determining a manager object; determining at least one management object; and determining, by the manager object, the at least one management object that generates at least one object for performing an object operation. Objects (each said object includes an object interface,
Determining an interface for network evolution (INE) between the manager object and the managed object by indicating the original state) and connecting the at least one object to the managed object. Generating at least one managed object port associated with the managed object; determining at least one managed object port associated with the managed object; and modifying the managed object by the managed object. Establishing a quiesce point for at least one of said objects to be dynamically modified.
【請求項35】 前記オブジェクトから前記管理人オブジェクトまで前記少
なくとも1つのオブジェクトを更新するためのデータを送るステップをさらに含
む請求項34の方法。
35. The method of claim 34, further comprising sending data to update said at least one object from said object to said caretaker object.
【請求項36】 変更される前記オブジェクトの前記ポートを決定するステ
ップと、 変更される前記ポートを再構成するために前記管理人オブジェクトから除去コ
マンドを送信するステップと、 前記管理人オブジェクトで変更される前記オブジェクトの新しいバージョンを
生成するステップと、 前記オブジェクトの前記新しいバージョンを前記管理オブジェクトに送るステ
ップと、 前記オブジェクトの前記新しいバージョンを持つ新しいオブジェクトを生成す
るステップと、 前記新しいオブジェクトに関連する新しいオブジェクトポートを決定するステ
ップと、 をさらに含む請求項35の方法。
36. determining the port of the object to be changed; sending a remove command from the caretaker object to reconfigure the port to be changed; Generating a new version of the object, sending the new version of the object to the managed object, generating a new object with the new version of the object, and creating a new object associated with the new object. 36. The method of claim 35, further comprising: determining an object port.
【請求項37】 前記オブジェクトの該オリジナル状態が前記オブジェクト
の前記新しいバージョンの状態と同じものである場合、管理人オブジェクトで決
定するステップと、 前記オリジナルオブジェクトバージョンと前記新しいバージョンが同じ状態を
持つ場合、前記オリジナルオブジェクトバージョンを前記新しいバージョンに置
き換えるステップと、 前記オリジナルオブジェクトバージョンと前記新しいバージョンが同じ状態を
持たない場合、前記管理人オブジェクトで同等の状態を決定して前記オリジナル
バージョンを前記新しいバージョンに置き換えるステップと、 をさらに含む請求項36の方法。
37. If the original state of the object is the same as the state of the new version of the object, determining at the caretaker object; and if the original object version and the new version have the same state. Replacing the original object version with the new version; and if the original object version and the new version do not have the same state, determine an equivalent state in the caretaker object and replace the original version with the new version. 37. The method of claim 36, further comprising: replacing.
【請求項38】 前記オブジェクトの1つから前記管理人オブジェクトまで
前記少なくとも1つのインタフェースバージョンを更新するためのデータを進め
るステップをさらに含む請求項37の方法。
38. The method of claim 37, further comprising advancing data for updating said at least one interface version from one of said objects to said caretaker object.
【請求項39】 前記インタフェースバージョンの前記更新のために変更さ
れる前記オブジェクトのナンバを決定するステップと、 変更されるオブジェクトの前記ナンバを再構成するために前記管理人から除去
コマンド送信するステップと、 前記管理人オブジェクトで変更される前記オブジェクトの各ナンバの新しいバ
ージョンを生成するステップと、 前記管理オブジェクトに前記新しいバージョンを送るステップと、 前記新しいバージョンを持つ新しいオブジェクトに一致するナンバを生成する
ステップと、 をさらに含む請求項38の方法。
39. determining a number of the object to be changed for the update of the interface version; and sending a removal command from the administrator to reconstruct the number of the object to be changed. Generating a new version of each number of the object that is changed in the caretaker object; sending the new version to the managed object; and generating a number that matches the new object with the new version. 39. The method of claim 38, further comprising:
【請求項40】 前記オブジェクトインタフェースは、修正CORBA I
DLで定義されている請求項34の方法。
40. The object interface of claim 1, wherein the modified CORBA I
35. The method of claim 34 defined in DL.
【請求項41】 管理人オブジェクトを決定する手段と、 少なくとも1つの管理オブジェクトを決定する手段と、 前記管理人オブジェクトによって、オブジェクト操作実行用の複数のオブジェ
クトを生成する前記少なくとも1つの管理オブジェクトを有するオブジェクト(
それぞれの前記オブジェクトはオブジェクトインタフェースを含む)を指示する
ことによって、前記管理人オブジェクトと前記管理オブジェクトとの間のネット
ワークの発展(INE)のためのインタフェースを決定するステップと、 前記管理オブジェクトに前記少なくとも1つのオブジェクトを接続するインタ
ラクション手段を生成する手段と、 前記管理オブジェクトに関連する少なくとも1つの管理オブジェクトポートを
決定する手段と、 前記オブジェクトに関連する少なくとも1つのオブジェクトポートを決定する
手段と、 前記オブジェクトポートから前記管理オブジェクトポートへのネゴシエーショ
ンを進める手段と、 を含むソフトウェア開発の間ネゴシエーションをインプリメントするシステム
41. A means for determining a manager object, a means for determining at least one management object, and the at least one management object for generating a plurality of objects for executing an object operation by the manager object. object(
Determining an interface for network evolution (INE) between the caretaker object and the managed object by indicating each of the objects includes an object interface; and Means for generating interaction means for connecting one object, means for determining at least one managed object port associated with the managed object, means for determining at least one object port associated with the object, and the object Means for facilitating negotiation from a port to the managed object port; and a system for implementing negotiation during software development.
【請求項42】 発展するそれぞれの前記オブジェクトのために前記開発者
によって開発者ネゴシエーションポートを生成するための手段をさらに含む請求
項41のシステム。
42. The system of claim 41, further comprising means for generating a developer negotiation port by said developer for each said evolving object.
【請求項43】 前記管理人オブジェクトを有する前記開発者ネゴシエーシ
ョンポートを登録するための手段をさらに含む請求項42のシステム。
43. The system of claim 42, further comprising means for registering said developer negotiation port having said caretaker object.
【請求項44】 それぞれが前記開発者ネゴシエーションポートの1つに関
連する前記管理オブジェクトで管理ネゴシエーションポートを生成する手段をさ
らに含む請求項43のシステム。
44. The system of claim 43, further comprising means for generating a management negotiation port at the management object associated with one of the developer negotiation ports.
【請求項45】 前記ネゴシエーションは、修正CORBA IDLで書か
れる請求項44のシステム。
45. The system of claim 44, wherein the negotiation is written with a modified CORBA IDL.
【請求項46】 複数のオブジェクトを決定するための手段と、 オブジェクトポートをそれぞれの前記オブジェクトに関連させる手段と、 前記オブジェクト間でメッセージを交わすためのトランザクションを決定する
手段と、 前記オブジェクトのそれぞれに対するオブジェクトインタフェースを決定する
手段と、 それぞれの決定されたオブジェクトインタフェースをインプリメントするため
の手段と、を含み、 前記メッセージが、互換性のある前記オブジェクトインタフェースを持つ前記
オブジェクト間でシーケンシャルに交わされる、ネットワークアプリケーション
をインプリメントするシステム。
46. A means for determining a plurality of objects; means for associating an object port with each of said objects; means for determining a transaction for exchanging messages between said objects; A network application, comprising: means for determining an object interface; and means for implementing each determined object interface, wherein the messages are sequentially exchanged between the objects having the compatible object interfaces. A system that implements
【請求項47】 前記インプリメントされたオブジェクトと管理フレームワ
ークを有する前記オブジェクトインタフェースを登録する手段をさらに含み、前
記管理フレームワークはオブジェクトIDとオブジェクトバージョンIDとイン
タフェースバージョンIDを戻す請求項46のシステム。
47. The system of claim 46, further comprising means for registering said implemented object and said object interface having a management framework, said management framework returning an object ID, an object version ID, and an interface version ID.
【請求項48】 インプリメントするための前記手段は、 前記オブジェクトバージョンIDと互換性のあるネットワークアプリケーショ
ンを決定する手段を含む請求項47のシステム。
48. The system of claim 47, wherein said means for implementing comprises means for determining a network application compatible with said object version ID.
【請求項49】 互換性のあるオブジェクトバージョンを持つネットワーク
アプリケーションを決定する前記手段は、 前記オブジェクトIDと前記オブジェクトバージョンIDを表現する行と、前
記インタフェースバージョンIDを表現するコラムとを含んでいるオブジェクト
テーブルを決定する手段と、 前記オブジェクトバージョンIDに関して前記決定されたオブジェクトテーブ
ルをソートする手段と、 共通の前記インタフェースIDに関して、第1の前記オブジェクトのための第
1の前記ソートされたオブジェクトテーブルと第2の前記オブジェクトのための
第2の前記ソートされたオブジェクトテーブルとをソートする手段と、 前記オブジェクトテーブルの接続を形成する前記インタフェースIDに関して
、前記第1の前記ソートされたオブジェクトと前記第2の前記ソートされたオブ
ジェクトとを接続する手段と、 前記互換性があるオブジェクトを前記オブジェクトテーブルの前記接続から抜
き出す手段と、 を含む請求項48のシステム。
49. The means for determining a network application having a compatible object version comprises: an object including the object ID, a line representing the object version ID, and a column representing the interface version ID. Means for determining a table; means for sorting the determined object table with respect to the object version ID; and first and second sorted object tables for the first object with respect to a common interface ID. Means for sorting a second said sorted object table for said two objects; and said first said sorting with respect to said interface ID forming a connection of said object table. The system of claim 48 comprising been a means for connecting the object and the second of said sorted objects, means for extracting an object in said compatible from the connection of the object table, the.
【請求項50】 前記オブジェクトインタフェースは、修正CORBA I
DLで定義されている請求項46のシステム。
50. The object interface according to claim 50, wherein the modified CORBA I
47. The system of claim 46 defined in DL.
【請求項51】 管理人オブジェクトを決定する手段と、 少なくとも1つの管理オブジェクトを決定する手段と、 前記管理人オブジェクトによって、前記管理人オブジェクトと前記管理オブジ
ェクトとの間のネットワークの発展(INE)のためのインタフェースを決定し
、オブジェクト操作実行用の少なくとも1つのオブジェクト(それぞれの前記オ
ブジェクトはオブジェクトインタフェースを含む)を生成する前記管理人オブジ
ェクトによって前記少なくとも1つの管理オブジェクトを指示する手段と、 前記管理オブジェクトに前記オブジェクトを接続するための、前記INEと前
記管理人オブジェクトにも接続されているインタラクション手段を生成する手段
と、 前記管理オブジェクトを前記初期化された状態に進めるために前記初期化され
た状態を前記INEによって前記オブジェクトに進め、前記管理オブジェクトを
前記管理オブジェクトから前記オブジェクトまで前記初期化された状態に進め、
前記オブジェクトの前記管理人オブジェクトでの状態を初期化する手段と、 を含むネットワークアプリケーションをセットアップするシステム。
51. A means for determining a custodian object; means for deciding at least one managed object; and wherein said custodian object comprises an evolving network (INE) between said custodian object and said managed object. Means for determining an interface for performing the object operation and pointing to the at least one managed object by the caretaker object generating at least one object (each said object including an object interface) for performing an object operation; Means for generating interaction means also connected to the INE and the caretaker object for connecting the object to the object, and the first means for advancing the managed object to the initialized state. Reduction to the state proceeds to the object by the INE was advances the managed objects state of being the initialization from the managed object to said object,
Means for initializing the state of the object at the caretaker object.
【請求項52】 前記管理人オブジェクトのための管理人オブジェクトIN
Eポートを決定する手段と、 前記管理オブジェクトのための管理オブジェクトINEポートを決定する手段
と、 前記マネージャーオブジェクトのための前記INEポートと前記管理オブジェ
クトのための前記INEポートとを前記INEに関連させる手段と、 をさらに含む請求項51のシステム。
52. An administrator object IN for the administrator object
Means for determining an E port; means for determining a managed object INE port for the managed object; and associating the INE port for the manager object and the INE port for the managed object with the INE. 52. The system of claim 51, further comprising:
【請求項53】 前記管理オブジェクトに関連する少なくとも1つのポート
を決定するための手段と、 それぞれの前記オブジェクトに関連する少なくとも1つのオブジェクトポート
を決定するための手段と、 をさらに含む請求項52のシステム。
53. The apparatus of claim 52, further comprising: means for determining at least one port associated with the managed object; and means for determining at least one object port associated with each of the objects. system.
【請求項54】 前記オブジェクトインタフェースは、修正CORBA I
DLで定義されている請求項51のシステム。
54. The object interface according to claim 54, wherein the modified CORBA I
52. The system of claim 51 defined in DL.
【請求項55】 管理人オブジェクトを決定する手段と、 少なくとも1つの管理オブジェクトを決定する手段と、 前記管理人オブジェクトによって、オブジェクト操作実行用の少なくとも1つ
のオブジェクトを生成する前記少なくとも1つの管理オブジェクトを有するオブ
ジェクト(それぞれの前記オブジェクトはオブジェクトインタフェースを含み、
オリジナル状態を持つ)を指示することによって、前記管理人オブジェクトと前
記管理オブジェクトとの間のネットワークの発展(INE)のためのインタフェ
ースを決定する手段と、 前記管理オブジェクトに前記少なくとも1つのオブジェクトを接続するための
インタラクション手段を生成する手段と、 前記管理オブジェクトに関連する少なくとも1つの管理オブジェクトポートを
決定する手段と、 前記オブジェクトと関連する少なくとも1つのオブジェクトポートを決定する
手段と、 前記管理オブジェクトによって変更される前記オブジェクトのうちの少なくと
も1つに静止ポイントを確立する手段と、 を含むネットワークアプリケーションを動的に変更するシステム。
55. A means for determining an administrator object; means for determining at least one management object; and said at least one management object generating at least one object for executing an object operation by said administrator object. Objects (each said object includes an object interface,
Means for determining an interface for network evolution (INE) between the manager object and the managed object by indicating the original state) and connecting the at least one object to the managed object. Generating at least one managed object port associated with the managed object; determining at least one managed object port associated with the managed object; and modifying the managed object by the managed object. Means for establishing a quiesce point for at least one of said objects to be dynamically modified.
【請求項56】 前記オブジェクトから前記管理人オブジェクトまで前記少
なくとも1つのオブジェクトを更新するためのデータを進める手段と、 変更される前記オブジェクトの前記ポートを決定する手段と、 変更される前記ポートを除去するために前記管理人オブジェクトから除去コマ
ンド送信する手段と、 前記管理人オブジェクトで変更される前記オブジェクトの新しいバージョンを
生成する手段と、 前記オブジェクトの前記新しいバージョンを前記管理オブジェクトに進める手
段と、 前記オブジェクトの前記新しいバージョンを持つ新しいオブジェクトを生成す
る手段と、 前記新しいオブジェクトに関連する新しいオブジェクトポートを決定する手段
と、 をさらに含む請求項55のシステム。
56. A means for advancing data for updating the at least one object from the object to the caretaker object; means for determining the port of the object to be changed; removing the port to be changed Means for sending a remove command from the caretaker object to generate a new version of the object that is changed in the caretaker object; means for advancing the new version of the object to the managed object; The system of claim 55, further comprising: means for creating a new object having the new version of the object; and means for determining a new object port associated with the new object.
【請求項57】 前記オブジェクトのうちの1つから前記管理人オブジェク
トまで前記少なくとも1つのインタフェースバージョンを更新するためのデータ
を進める手段と、 前記インタフェースバージョンの前記更新のために変更される前記オブジェク
トのナンバを決定する手段と、 変更される前記オブジェクトのナンバを再構成するために前記管理人から除去
コマンド送信する手段と、 前記管理人オブジェクトで変更される前記オブジェクトのナンバのそれぞれの
新しいバージョンを生成する手段と、 前記管理オブジェクトに前記新しいバージョンを進める手段と、 前記新しいバージョンを持つ新しいオブジェクトと一致するナンバを生成する
手段と、 をさらに含む請求項56のシステム。
57. Means for advancing data for updating said at least one interface version from one of said objects to said caretaker object; and for said object being modified for said updating of said interface version. Means for determining a number; means for sending a remove command from the manager to reconstruct the number of the object to be changed; generating a new version of each of the number of the object to be changed in the manager object. 57. The system of claim 56, further comprising: means for advancing the new version to the managed object; and means for generating a number that matches a new object with the new version.
【請求項58】 前記オブジェクトインタフェースは、修正CORBA I
DLで定義されている請求項55のシステム。
58. The object interface of claim 28, wherein the modified CORBA I
56. The system of claim 55 defined in DL.
JP2000615895A 1999-04-29 2000-04-28 Distributed software development environment Withdrawn JP2002543518A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13150699P 1999-04-29 1999-04-29
US60/131,506 1999-04-29
PCT/US2000/011428 WO2000067121A1 (en) 1999-04-29 2000-04-28 Distributed software development environment

Publications (1)

Publication Number Publication Date
JP2002543518A true JP2002543518A (en) 2002-12-17

Family

ID=22449751

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000615895A Withdrawn JP2002543518A (en) 1999-04-29 2000-04-28 Distributed software development environment

Country Status (6)

Country Link
EP (1) EP1222535A4 (en)
JP (1) JP2002543518A (en)
CN (1) CN1349626A (en)
AU (1) AU4674100A (en)
CA (1) CA2371660A1 (en)
WO (1) WO2000067121A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7636172B2 (en) * 2002-07-31 2009-12-22 Ricoh Company, Ltd. Image forming apparatus, information processing apparatus and version check method using an API from an application
US7676785B2 (en) * 2004-02-13 2010-03-09 Microsoft Corporation Hosted application as a designer in an integrated development environment
CN100342340C (en) * 2004-06-10 2007-10-10 罗泽文 Software Execution Environment Using External Links Formation Method
US9753712B2 (en) * 2008-03-20 2017-09-05 Microsoft Technology Licensing, Llc Application management within deployable object hierarchy
JP5341916B2 (en) * 2008-12-30 2013-11-13 彼方株式会社 Information processing system, first information processing apparatus, second information processing apparatus, and third information processing apparatus
CN106610837A (en) * 2016-12-26 2017-05-03 中国建设银行股份有限公司 Application development method and development platform

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5640546A (en) * 1993-02-23 1997-06-17 Network Programs, Inc. Composition of systems of objects by interlocking coordination, projection, and distribution
CA2128387C (en) * 1993-08-23 1999-12-28 Daniel F. Hurley Method and apparatus for configuring computer programs from available subprograms
US5634114A (en) * 1993-11-18 1997-05-27 Intel Corporation Dynamic link library version negotiation
US5485617A (en) * 1993-12-13 1996-01-16 Microsoft Corporation Method and system for dynamically generating object connections
US5884078A (en) * 1997-01-31 1999-03-16 Sun Microsystems, Inc. System, method and article of manufacture for creating an object oriented component having multiple bidirectional ports for use in association with a java application or applet

Also Published As

Publication number Publication date
EP1222535A1 (en) 2002-07-17
EP1222535A4 (en) 2005-02-16
CA2371660A1 (en) 2000-11-09
WO2000067121A1 (en) 2000-11-09
AU4674100A (en) 2000-11-17
CN1349626A (en) 2002-05-15

Similar Documents

Publication Publication Date Title
US5586312A (en) Method and apparatus for using an independent transaction processing application as a service routine
US6272675B1 (en) Development system for automatically enabling a server application to execute with an XATMI-compliant transaction manager managing transactions within multiple environments
US6226788B1 (en) Extensible network management system
US6205465B1 (en) Component extensible parallel execution of multiple threads assembled from program components specified with partial inter-component sequence information
US6769124B1 (en) Persistent storage of information objects
US6505228B1 (en) Dynamic determination of execution sequence
US5680610A (en) Method and apparatus for testing recovery scenarios in global transaction processing systems
US7735097B2 (en) Method and system to implement a deploy service to perform deployment services to extend and enhance functionalities of deployed applications
KR100546973B1 (en) Methods and apparatus for managing dependencies in distributed systems
US7415522B2 (en) Extensible framework for transferring session state
US6466965B1 (en) Centralized affinity maintenance in a workload managed client/server data processing system
EP0707265A2 (en) A system and method for creating an object oriented transaction service that interoperates with procedural transaction coordinators
US7610305B2 (en) Simultaneous global transaction and local transaction management in an application server
US20050251533A1 (en) Migrating data integration processes through use of externalized metadata representations
US20050256892A1 (en) Regenerating data integration functions for transfer from a data integration platform
US7743083B2 (en) Common transaction manager interface for local and global transactions
US20050243604A1 (en) Migrating integration processes among data integration platforms
US20050278274A1 (en) Transaction model for deployment operations
Dye Oracle distributed systems
US7082432B2 (en) Specifying transaction manager type at various application levels
US20050278338A1 (en) Application cloning
GB2316777A (en) Operating a transaction manager with a non-compliant resource manager
US7720884B1 (en) Automatic generation of routines and/or schemas for database management
US7072912B1 (en) Identifying a common point in time across multiple logs
JP2002543518A (en) Distributed software development environment

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070703