JP2986051B2 - オブジェクト指向コンピュータ・システム及びオブジェクト実行方法 - Google Patents
オブジェクト指向コンピュータ・システム及びオブジェクト実行方法Info
- Publication number
- JP2986051B2 JP2986051B2 JP6142964A JP14296494A JP2986051B2 JP 2986051 B2 JP2986051 B2 JP 2986051B2 JP 6142964 A JP6142964 A JP 6142964A JP 14296494 A JP14296494 A JP 14296494A JP 2986051 B2 JP2986051 B2 JP 2986051B2
- Authority
- JP
- Japan
- Prior art keywords
- composite
- objects
- action
- logical key
- sub
- 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/449—Object-oriented method invocation or resolution
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
- Y10S707/99945—Object-oriented database structure processing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99948—Application of database or data structure, e.g. distributed, multimedia, or image
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【0001】
【産業上の利用分野】本発明はデータ処理システム及び
方法に関し、特にオブジェクト指向コンピューティング
環境に関する。
方法に関し、特にオブジェクト指向コンピューティング
環境に関する。
【0002】
【従来の技術】オブジェクト指向プログラミング・シス
テム及び処理は "オブジェクト指向コンピューティング
環境" とも呼ばれ、最新のデータ処理環境における多く
の調査及び関心の対象であった。当業者には既知のよう
に、オブジェクト指向プログラミング・システムは非常
にたくさんの"オブジェクト"を含む。オブジェクトは "
フレーム" とも呼ばれるデータ構造とそのデータ構造を
アクセスする "メソッド" とも呼ばれるオペレーション
またはファンクションのセットである。フレームはたく
さんの"スロット"を有し、これらの各々はスロット内の
データの "属性"を含む。属性とは、プリミティブ(整
数またはストリングなど)、または別のオブジェクトに
対するポインタに相当するオブジェクト参照等である。
同一のデータ構造及び共通の振舞いを有するオブジェク
トは一緒にグループ化され、 "クラス" として集合的に
識別される。
テム及び処理は "オブジェクト指向コンピューティング
環境" とも呼ばれ、最新のデータ処理環境における多く
の調査及び関心の対象であった。当業者には既知のよう
に、オブジェクト指向プログラミング・システムは非常
にたくさんの"オブジェクト"を含む。オブジェクトは "
フレーム" とも呼ばれるデータ構造とそのデータ構造を
アクセスする "メソッド" とも呼ばれるオペレーション
またはファンクションのセットである。フレームはたく
さんの"スロット"を有し、これらの各々はスロット内の
データの "属性"を含む。属性とは、プリミティブ(整
数またはストリングなど)、または別のオブジェクトに
対するポインタに相当するオブジェクト参照等である。
同一のデータ構造及び共通の振舞いを有するオブジェク
トは一緒にグループ化され、 "クラス" として集合的に
識別される。
【0003】各定義されたクラスのオブジェクトは、通
常、多数の"インスタンス"により明示される。各インス
タンスは特定例のオブジェクトに対応する特定のデータ
構造を含む。オブジェクト指向コンピューティング環境
においては、データはオブジェクトに"メッセージ"を送
信することによって、オブジェクトにそのメソッドの1
つを実行する様に要求することにより処理される。受信
オブジェクトはメッセージ名をインプリメントするメソ
ッドを選択することによりメッセージに応答し、このメ
ソッドを命名されたインスタンス上で実行し、メソッド
の結果と一緒に制御を呼出し側のハイレベル・ルーチン
に戻す。クラス、オブジェクト及びインスタンス間の関
係は、"ビルド・タイム(build time)"またはオブジェ
クト指向コンピューティング環境の生成の間に、すなわ
ち"ラン・タイム(run time)"またはオブジェクト指向
コンピューティング環境の実行以前に確立される。
常、多数の"インスタンス"により明示される。各インス
タンスは特定例のオブジェクトに対応する特定のデータ
構造を含む。オブジェクト指向コンピューティング環境
においては、データはオブジェクトに"メッセージ"を送
信することによって、オブジェクトにそのメソッドの1
つを実行する様に要求することにより処理される。受信
オブジェクトはメッセージ名をインプリメントするメソ
ッドを選択することによりメッセージに応答し、このメ
ソッドを命名されたインスタンス上で実行し、メソッド
の結果と一緒に制御を呼出し側のハイレベル・ルーチン
に戻す。クラス、オブジェクト及びインスタンス間の関
係は、"ビルド・タイム(build time)"またはオブジェ
クト指向コンピューティング環境の生成の間に、すなわ
ち"ラン・タイム(run time)"またはオブジェクト指向
コンピューティング環境の実行以前に確立される。
【0004】上述のクラス、オブジェクト及びインスタ
ンスの関係に加え、継承(inheritance)関係が2つま
たは複数のクラスの間で存在する。すなわち、第1のク
ラスが第2のクラスの"親(parent)"と見なされ、第2
のクラスが第1のクラスの"子(child )"と見なされ
る。換言すると、第1のクラスは第2のクラスの先祖で
あり、第2のクラスは第1のクラスの子孫であり、従っ
て、第2のクラス(すなわち子孫)は第1のクラス(す
なわち先祖)から継承すると言われる。子クラスのデー
タ構造は親クラスの全ての属性を含む。
ンスの関係に加え、継承(inheritance)関係が2つま
たは複数のクラスの間で存在する。すなわち、第1のク
ラスが第2のクラスの"親(parent)"と見なされ、第2
のクラスが第1のクラスの"子(child )"と見なされ
る。換言すると、第1のクラスは第2のクラスの先祖で
あり、第2のクラスは第1のクラスの子孫であり、従っ
て、第2のクラス(すなわち子孫)は第1のクラス(す
なわち先祖)から継承すると言われる。子クラスのデー
タ構造は親クラスの全ての属性を含む。
【0005】上述のように、オブジェクト指向プログラ
ミング・システムは非常にたくさんのオブジェクトを含
む。オブジェクトにより収容されるデータ及び処理の量
は、通常は、データベース・テーブルの単一行または単
一のデータ・エントリ・パネル内に含まれる程度に十分
に小さい。しかしながら、当業者には理解されるよう
に、オブジェクトのユーザ・ビューは相当により複雑な
ものとすることができる。このように、複数の単純オブ
ジェクトが複合オブジェクト(コンプレックス・オブジ
ェクト)として強固に結合(tightly bound )される。
なぜなら、これらのオブジェクトは全て事務処理に参加
するからである。或いは、複数の単純オブジェクトがデ
ータ・ナビゲーション及びプレゼンテーションのため
に、またはクロス・オブジェクト・データ検証のため
に、複合オブジェクトとして強固に結合されてもよい。
多くの場合、単純オブジェクトはそのコンテキストを理
解することなしに正確に処理されることはない。このコ
ンテキスト情報を提供する他のオブジェクトは、この単
純オブジェクトを包含する複合オブジェクトの1部であ
る。例えば、エンジニアリング変更(EC)を処理する
ために使用されるオブジェクト指向コンピューティング
環境では、ECヘッダ、影響項目(AI)、及びBill o
f Materials (BOM:データ証明)は同一の継承階層
にない別々のオブジェクトであるが、これらは表示、妥
当性検証及びコンテキストのために一緒に結合される。
ミング・システムは非常にたくさんのオブジェクトを含
む。オブジェクトにより収容されるデータ及び処理の量
は、通常は、データベース・テーブルの単一行または単
一のデータ・エントリ・パネル内に含まれる程度に十分
に小さい。しかしながら、当業者には理解されるよう
に、オブジェクトのユーザ・ビューは相当により複雑な
ものとすることができる。このように、複数の単純オブ
ジェクトが複合オブジェクト(コンプレックス・オブジ
ェクト)として強固に結合(tightly bound )される。
なぜなら、これらのオブジェクトは全て事務処理に参加
するからである。或いは、複数の単純オブジェクトがデ
ータ・ナビゲーション及びプレゼンテーションのため
に、またはクロス・オブジェクト・データ検証のため
に、複合オブジェクトとして強固に結合されてもよい。
多くの場合、単純オブジェクトはそのコンテキストを理
解することなしに正確に処理されることはない。このコ
ンテキスト情報を提供する他のオブジェクトは、この単
純オブジェクトを包含する複合オブジェクトの1部であ
る。例えば、エンジニアリング変更(EC)を処理する
ために使用されるオブジェクト指向コンピューティング
環境では、ECヘッダ、影響項目(AI)、及びBill o
f Materials (BOM:データ証明)は同一の継承階層
にない別々のオブジェクトであるが、これらは表示、妥
当性検証及びコンテキストのために一緒に結合される。
【0006】従来、個別化すなわちカストマイズ化され
たプログラミング(カストマイズ・プログラミング)を
生成することにより、複合オブジェクトを提供及び処理
することが知られている。しかし残念ながら、複合オブ
ジェクトを支援するために生成されるプログラミング
は、あるアプリケーションの主要部分のカストマイズ・
プログラミングを含みうる。更に、複合オブジェクトの
ためのカストマイズ・プログラミングを用意する必要が
あるために、アプリケーションのある部分がある方法に
より複合オブジェクトを処理する一方で、そのアプリケ
ーションの別の部分が別の方法により複合オブジェクト
を処理することもありうる。結局、複合オブジェクトを
処理するために生成される高度に特定化されたプログラ
ミングのために、再利用性が低減する。
たプログラミング(カストマイズ・プログラミング)を
生成することにより、複合オブジェクトを提供及び処理
することが知られている。しかし残念ながら、複合オブ
ジェクトを支援するために生成されるプログラミング
は、あるアプリケーションの主要部分のカストマイズ・
プログラミングを含みうる。更に、複合オブジェクトの
ためのカストマイズ・プログラミングを用意する必要が
あるために、アプリケーションのある部分がある方法に
より複合オブジェクトを処理する一方で、そのアプリケ
ーションの別の部分が別の方法により複合オブジェクト
を処理することもありうる。結局、複合オブジェクトを
処理するために生成される高度に特定化されたプログラ
ミングのために、再利用性が低減する。
【0007】
【発明が解決しようとする課題】本発明の目的は、オブ
ジェクト指向コンピューティング環境内で複合オブジェ
クトを支援するシステム及び方法を提供することであ
る。
ジェクト指向コンピューティング環境内で複合オブジェ
クトを支援するシステム及び方法を提供することであ
る。
【0008】本発明の別の目的は、オブジェクト指向コ
ンピューティング環境内で、総称的に複合オブジェクト
を支援するシステム及び方法を提供することであり、そ
れにより生成されなければならないカストマイズ・プロ
グラミングの量を低減することである。
ンピューティング環境内で、総称的に複合オブジェクト
を支援するシステム及び方法を提供することであり、そ
れにより生成されなければならないカストマイズ・プロ
グラミングの量を低減することである。
【0009】
【課題を解決するための手段】これらの目的が本発明に
より、無関係のオブジェクトを階層的にグループ化する
ための複合オブジェクト・クラスを提供することによ
り、すなわち親及び子オブジェクト・クラスとして互い
に関係の無い(即ち親子関係を有しない)オブジェクト
を複合オブジェクトにグループ化することにより達成さ
れる。各複合オブジェクトは、階層的に無関係な関連オ
ブジェクトに対するポインタを含むコンピュータ・オブ
ジェクト・フレーム、及び階層的に無関係な当該オブジ
ェクトに対して、グループとしてアクションを実行する
ための複数の複合オブジェクト・メソッドを含む。従っ
て、オブジェクト・マネージャはアクション・メッセー
ジを複合オブジェクトに送信することによって、関連す
る複合オブジェクト・メソッドにより、階層的に無関係
な関連オブジェクトにアクションを実行するように伝え
る。複合オブジェクトを定義及び使用するカストマイズ
・プログラミングがそれにより著しく低減される。
より、無関係のオブジェクトを階層的にグループ化する
ための複合オブジェクト・クラスを提供することによ
り、すなわち親及び子オブジェクト・クラスとして互い
に関係の無い(即ち親子関係を有しない)オブジェクト
を複合オブジェクトにグループ化することにより達成さ
れる。各複合オブジェクトは、階層的に無関係な関連オ
ブジェクトに対するポインタを含むコンピュータ・オブ
ジェクト・フレーム、及び階層的に無関係な当該オブジ
ェクトに対して、グループとしてアクションを実行する
ための複数の複合オブジェクト・メソッドを含む。従っ
て、オブジェクト・マネージャはアクション・メッセー
ジを複合オブジェクトに送信することによって、関連す
る複合オブジェクト・メソッドにより、階層的に無関係
な関連オブジェクトにアクションを実行するように伝え
る。複合オブジェクトを定義及び使用するカストマイズ
・プログラミングがそれにより著しく低減される。
【0010】特に、複合オブジェクト・メンバ・クラス
の属性は、少なくとも1つの統括オブジェクト(rule
r)及びサブオブジェクトである。統括オブジェクトは
複合オブジェクト・メンバのパフォーマンスを制御する
オブジェクト・クラスを定義する。サブオブジェクトは
1つまたは複数のオブジェクト・クラスを定義し、その
パフォーマンスは複合オブジェクトにより制御される。
従って、統括オブジェクト対サブオブジェクトの関係
は、主複合オブジェクト構造を反映する。当業者には理
解されるように、サブオブジェクトはそれ自身統括オブ
ジェクトとすることができ、複合オブジェクト構造のネ
スティングを許容する。
の属性は、少なくとも1つの統括オブジェクト(rule
r)及びサブオブジェクトである。統括オブジェクトは
複合オブジェクト・メンバのパフォーマンスを制御する
オブジェクト・クラスを定義する。サブオブジェクトは
1つまたは複数のオブジェクト・クラスを定義し、その
パフォーマンスは複合オブジェクトにより制御される。
従って、統括オブジェクト対サブオブジェクトの関係
は、主複合オブジェクト構造を反映する。当業者には理
解されるように、サブオブジェクトはそれ自身統括オブ
ジェクトとすることができ、複合オブジェクト構造のネ
スティングを許容する。
【0011】論理キー・クラスが更に生成され、親及び
子の論理キー・オブジェクトの階層内に配置される。各
論理キー・クラスは複合オブジェクト・メンバである単
純オブジェクトに関連する。論理キー・クラスは、複合
オブジェクト・メンバのインスタンスを一意的に識別す
るために必要な属性を有する。これらの属性の幾つかは
親論理キー・クラスから継承される。(親論理キーか
ら)継承される属性は、複合オブジェクト構造内の複合
オブジェクト・メンバの統括オブジェクトの特定のイン
スタンスを識別するために使用される。複合オブジェク
ト・メンバがサブオブジェクトを有する場合、その論理
キーはサブオブジェクトに対応する部分的論理キーであ
る。これは関連するサブオブジェクトのグループを選択
するために使用される。各複合オブジェクト・メンバは
論理キー属性を有し、これはその論理キー・クラスのイ
ンスタンスを指示する。統括オブジェクトのインスタン
スからサブオブジェクトのインスタンスへの移動は、論
理キー関係を使用して達成され、具体的には一致するサ
ブオブジェクトを見い出すために統括オブジェクトの論
理キーを使用することにより達成される。これは含まれ
るオブジェクトがバージョンを有することを可能とし、
この場合、バージョン・セット内の同一の論理キーを有
する特定のインスタンスを一意的に識別するために、追
加のバージョン制御選択がラン・タイム時に提供されな
ければならない。このように、統括オブジェクト対サブ
オブジェクト関係は論理キー間(インスタンス間ではな
い)の関係である。
子の論理キー・オブジェクトの階層内に配置される。各
論理キー・クラスは複合オブジェクト・メンバである単
純オブジェクトに関連する。論理キー・クラスは、複合
オブジェクト・メンバのインスタンスを一意的に識別す
るために必要な属性を有する。これらの属性の幾つかは
親論理キー・クラスから継承される。(親論理キーか
ら)継承される属性は、複合オブジェクト構造内の複合
オブジェクト・メンバの統括オブジェクトの特定のイン
スタンスを識別するために使用される。複合オブジェク
ト・メンバがサブオブジェクトを有する場合、その論理
キーはサブオブジェクトに対応する部分的論理キーであ
る。これは関連するサブオブジェクトのグループを選択
するために使用される。各複合オブジェクト・メンバは
論理キー属性を有し、これはその論理キー・クラスのイ
ンスタンスを指示する。統括オブジェクトのインスタン
スからサブオブジェクトのインスタンスへの移動は、論
理キー関係を使用して達成され、具体的には一致するサ
ブオブジェクトを見い出すために統括オブジェクトの論
理キーを使用することにより達成される。これは含まれ
るオブジェクトがバージョンを有することを可能とし、
この場合、バージョン・セット内の同一の論理キーを有
する特定のインスタンスを一意的に識別するために、追
加のバージョン制御選択がラン・タイム時に提供されな
ければならない。このように、統括オブジェクト対サブ
オブジェクト関係は論理キー間(インスタンス間ではな
い)の関係である。
【0012】本発明の複合オブジェクト・メソッド及び
システムは、複合オブジェクトがオブジェクト・クラス
の継承階層の1部として定義されない場合でも、オブジ
ェクト指向コンピューティング環境が複合オブジェクト
を全体的に処理することを許可する。ユーザ・ビューま
たは他のフレーム参照にもとづく別の関係が、継承階層
的には無関係のオブジェクトの間で定義され、これらの
オブジェクトがグループとして処理される。複合オブジ
ェクト・メンバ・インスタンスは、論理キーの継承階層
を提供することにより識別される。
システムは、複合オブジェクトがオブジェクト・クラス
の継承階層の1部として定義されない場合でも、オブジ
ェクト指向コンピューティング環境が複合オブジェクト
を全体的に処理することを許可する。ユーザ・ビューま
たは他のフレーム参照にもとづく別の関係が、継承階層
的には無関係のオブジェクトの間で定義され、これらの
オブジェクトがグループとして処理される。複合オブジ
ェクト・メンバ・インスタンスは、論理キーの継承階層
を提供することにより識別される。
【0013】ビルド・タイム時に、オブジェクトは、ユ
ーザ要求に応答して、複合オブジェクトにグループ化さ
れる。統括オブジェクト及びサブオブジェクトが各複合
オブジェクト・メンバに対応して定義される。各複合オ
ブジェクト・メンバの論理キーが更に識別され、論理キ
ー階層が生成される。適切な論理キーが、複合オブジェ
クトの1部である各オブジェクトの属性内に配置され
る。
ーザ要求に応答して、複合オブジェクトにグループ化さ
れる。統括オブジェクト及びサブオブジェクトが各複合
オブジェクト・メンバに対応して定義される。各複合オ
ブジェクト・メンバの論理キーが更に識別され、論理キ
ー階層が生成される。適切な論理キーが、複合オブジェ
クトの1部である各オブジェクトの属性内に配置され
る。
【0014】ラン・タイム時に、アクション・メッセー
ジが複合オブジェクト・メンバ・インスタンスに送信さ
れると、統括オブジェクト及びサブオブジェクトが識別
され、識別された統括オブジェクト及びサブオブジェク
トが実体化される。論理キーが獲得され、複合オブジェ
クト・メンバのインスタンスを形成するオブジェクトの
インスタンスを識別するために使用される。アクション
・メッセージが次に全ての識別されたインスタンスに対
して実行される。従って、複合オブジェクトが総称的に
(generically )支援され、それにより個別のプログラ
ミングの必要が低減される。このようにして効率的なオ
ブジェクト指向コンピューティング環境が生成され、維
持される。
ジが複合オブジェクト・メンバ・インスタンスに送信さ
れると、統括オブジェクト及びサブオブジェクトが識別
され、識別された統括オブジェクト及びサブオブジェク
トが実体化される。論理キーが獲得され、複合オブジェ
クト・メンバのインスタンスを形成するオブジェクトの
インスタンスを識別するために使用される。アクション
・メッセージが次に全ての識別されたインスタンスに対
して実行される。従って、複合オブジェクトが総称的に
(generically )支援され、それにより個別のプログラ
ミングの必要が低減される。このようにして効率的なオ
ブジェクト指向コンピューティング環境が生成され、維
持される。
【0015】
【実施例】本発明は添付の図を参照しながら更に詳細に
述べられ、その中において本発明の好適な実施例が示さ
れる。しかしながら、本発明は多くの異なる形態におい
て具体化され、ここで述べられる実施例に限られるもの
と解釈されるべきではなく、これらの実施例は本開示が
十分で完全なものとなるように、また当業者に本発明の
範囲を伝えるために提供される。同一番号は全体を通じ
同一の要素を参照する。
述べられ、その中において本発明の好適な実施例が示さ
れる。しかしながら、本発明は多くの異なる形態におい
て具体化され、ここで述べられる実施例に限られるもの
と解釈されるべきではなく、これらの実施例は本開示が
十分で完全なものとなるように、また当業者に本発明の
範囲を伝えるために提供される。同一番号は全体を通じ
同一の要素を参照する。
【0016】本発明による複合オブジェクトを支援する
システム及び方法について述べる以前に、オブジェクト
指向コンピューティング環境の一般概要について述べる
ことにする。複合オブジェクトを支援するシステム及び
方法の概要が次に提供され、それに続き詳細な設計につ
いての説明が提供される。
システム及び方法について述べる以前に、オブジェクト
指向コンピューティング環境の一般概要について述べる
ことにする。複合オブジェクトを支援するシステム及び
方法の概要が次に提供され、それに続き詳細な設計につ
いての説明が提供される。
【0017】オブジェクト指向コンピューティング環
境: オブジェクト指向コンピューティング環境では、作業は
アクション要求メッセージをデータを含むオブジェクト
に送信することにより実行される。オブジェクトは予め
定義されたメソッドに従い、要求アクションをデータに
対して実行する。オブジェクトはオブジェクト・クラス
にグループ化され、これはデータの型及び意味、並びに
オブジェクトが尊重するアクション要求(メッセージ)
を定義する。データを含む個々のオブジェクトはクラス
のインスタンスと呼ばれる。
境: オブジェクト指向コンピューティング環境では、作業は
アクション要求メッセージをデータを含むオブジェクト
に送信することにより実行される。オブジェクトは予め
定義されたメソッドに従い、要求アクションをデータに
対して実行する。オブジェクトはオブジェクト・クラス
にグループ化され、これはデータの型及び意味、並びに
オブジェクトが尊重するアクション要求(メッセージ)
を定義する。データを含む個々のオブジェクトはクラス
のインスタンスと呼ばれる。
【0018】オブジェクト・クラスは他のクラスのサブ
クラスとして定義できる。サブクラスは親クラスの全て
のデータ特性及びメソッドを継承する。これらは追加の
データ及びメソッドを追加し、親クラスのデータ要素ま
たはメソッドをオーバライドまたは再定義する。オブジ
ェクトは図式的に表され、ここではオブジェクト矩形内
の上段の矩形及び下段の矩形を含む矩形により表され
る。上段の矩形はスロットを有するフレームにより表さ
れるデータ構造を含み、それらスロットの各々はスロッ
ト内のデータの属性を含む。下段の矩形はオブジェクト
のメソッドを示し、これはフレームをカプセル化し、上
段の矩形のフレーム内にカプセル化されるデータに対し
てアクションを実行するために使用される。
クラスとして定義できる。サブクラスは親クラスの全て
のデータ特性及びメソッドを継承する。これらは追加の
データ及びメソッドを追加し、親クラスのデータ要素ま
たはメソッドをオーバライドまたは再定義する。オブジ
ェクトは図式的に表され、ここではオブジェクト矩形内
の上段の矩形及び下段の矩形を含む矩形により表され
る。上段の矩形はスロットを有するフレームにより表さ
れるデータ構造を含み、それらスロットの各々はスロッ
ト内のデータの属性を含む。下段の矩形はオブジェクト
のメソッドを示し、これはフレームをカプセル化し、上
段の矩形のフレーム内にカプセル化されるデータに対し
てアクションを実行するために使用される。
【0019】図1を参照しながら、本発明が動作するハ
ードウェア環境及びソフトウェア環境について述べる。
図1に示されるように、本発明は1つまたは複数のコン
ピュータ・プラットフォーム12上で動作するオブジェ
クト指向コンピューティング環境11内の複合オブジェ
クトを支援する方法及びシステムである。当業者には理
解されるように、コンピュータ・プラットフォーム12
は通常は、中央処理ユニット(CPU)14、主メモリ
15、及び入出力(I/O)インタフェース16などの
コンピュータ・ハードウェア・ユニット13を含み、ま
た表示端末21、キーボードまたはマウスなどの入力装
置22、磁気または光ディスクなどの不揮発データ記憶
装置23、プリンタ24及び他の周辺装置などの周辺コ
ンポーネントを含む。コンピュータ・プラットフォーム
12はまた、通常、マイクロ命令コード26及びオペレ
ーティング・システム28を含む。
ードウェア環境及びソフトウェア環境について述べる。
図1に示されるように、本発明は1つまたは複数のコン
ピュータ・プラットフォーム12上で動作するオブジェ
クト指向コンピューティング環境11内の複合オブジェ
クトを支援する方法及びシステムである。当業者には理
解されるように、コンピュータ・プラットフォーム12
は通常は、中央処理ユニット(CPU)14、主メモリ
15、及び入出力(I/O)インタフェース16などの
コンピュータ・ハードウェア・ユニット13を含み、ま
た表示端末21、キーボードまたはマウスなどの入力装
置22、磁気または光ディスクなどの不揮発データ記憶
装置23、プリンタ24及び他の周辺装置などの周辺コ
ンポーネントを含む。コンピュータ・プラットフォーム
12はまた、通常、マイクロ命令コード26及びオペレ
ーティング・システム28を含む。
【0020】図1に示されるように、オブジェクト指向
コンピューティング環境11はコンピュータ・プラット
フォーム12上で動作する。例えば、各コンピュータ・
プラットフォーム12はIBMシステム370アーキテ
クチャを有するコンピュータである。しかしながら、当
業者には理解されるように、オブジェクト指向コンピュ
ーティング環境11は複数のコンピュータ・プラットフ
ォームに跨って動作することができる。よって、オペレ
ーティング・システム28はIBM多重仮想記憶(MV
S)とすることができる。オブジェクト指向コンピュー
ティング環境11は、好適には中間C(Intermediate
C )により作成される。これはCコンピュータ・プロ
グラミング言語のオブジェクト指向用言語であり、C++
コンピュータ・プログラミング言語に類似する。オブジ
ェクト・マネージャの設計及びオペレーションを含むコ
ンピュータ・プラットフォーム、及びオブジェクト指向
コンピューティング環境の設計及びオペレーションは、
当業者には既知であり、例えば、Abraham らによる19
90年10月23日出願の米国特許出願第602442
号"A Messenger and Object Manager to Implement an
Object Oriented Environment"、及びAbrahamらによる
米国特許第5161225号"Persistent Stream for P
rocessing Time Consuming and Reusable Queries in a
n Object Oriented Database Management System"、Abr
aham らによる同第5151987号 "Recovery Object
s in an Object Oriented Computing Environment"、及
びAbrahamによる同第5161223号"Resumeable Bat
ch Query for Processing Time Consuming Queries in
an ObjectOriented Database Management System"、並
びにBertrand Meyerによる"ObjectOriented Software C
onstruction" (1988年Prentice Hall発行)などの
数多くの文献に述べられている。
コンピューティング環境11はコンピュータ・プラット
フォーム12上で動作する。例えば、各コンピュータ・
プラットフォーム12はIBMシステム370アーキテ
クチャを有するコンピュータである。しかしながら、当
業者には理解されるように、オブジェクト指向コンピュ
ーティング環境11は複数のコンピュータ・プラットフ
ォームに跨って動作することができる。よって、オペレ
ーティング・システム28はIBM多重仮想記憶(MV
S)とすることができる。オブジェクト指向コンピュー
ティング環境11は、好適には中間C(Intermediate
C )により作成される。これはCコンピュータ・プロ
グラミング言語のオブジェクト指向用言語であり、C++
コンピュータ・プログラミング言語に類似する。オブジ
ェクト・マネージャの設計及びオペレーションを含むコ
ンピュータ・プラットフォーム、及びオブジェクト指向
コンピューティング環境の設計及びオペレーションは、
当業者には既知であり、例えば、Abraham らによる19
90年10月23日出願の米国特許出願第602442
号"A Messenger and Object Manager to Implement an
Object Oriented Environment"、及びAbrahamらによる
米国特許第5161225号"Persistent Stream for P
rocessing Time Consuming and Reusable Queries in a
n Object Oriented Database Management System"、Abr
aham らによる同第5151987号 "Recovery Object
s in an Object Oriented Computing Environment"、及
びAbrahamによる同第5161223号"Resumeable Bat
ch Query for Processing Time Consuming Queries in
an ObjectOriented Database Management System"、並
びにBertrand Meyerによる"ObjectOriented Software C
onstruction" (1988年Prentice Hall発行)などの
数多くの文献に述べられている。
【0021】図2を参照すると、米国特許出願第425
607号の図5が再生されており、オブジェクト指向プ
ログラム(図1の11)の主なコンポーネントが述べら
れる。オブジェクト指向プログラムの設計及びオペレー
ションの詳細な説明は、Bertrand Meyerによる"Object
Oriented Software Construction" (1988年 Prent
ice Hall発行)に提供されている。
607号の図5が再生されており、オブジェクト指向プ
ログラム(図1の11)の主なコンポーネントが述べら
れる。オブジェクト指向プログラムの設計及びオペレー
ションの詳細な説明は、Bertrand Meyerによる"Object
Oriented Software Construction" (1988年 Prent
ice Hall発行)に提供されている。
【0022】図2を参照すると、オブジェクト指向プロ
グラム11は3つの主要コンポーネントを含み、それら
はメッセンジャ51、オブジェクト管理テーブル52、
及びロード・クラス・テーブル53である。メッセンジ
ャ51は呼出し側メッセージと被呼出し側メッセージ、
オブジェクト管理テーブル52及びロード・クラス・テ
ーブル53間の通信を制御する。オブジェクト管理テー
ブル52は、全ての活動オブジェクト・インスタンスに
対するポインタのリストを含む。ロード・クラス・テー
ブル53は、活動オブジェクト・クラスの全てのメソッ
ドに対するポインタのリストを含む。
グラム11は3つの主要コンポーネントを含み、それら
はメッセンジャ51、オブジェクト管理テーブル52、
及びロード・クラス・テーブル53である。メッセンジ
ャ51は呼出し側メッセージと被呼出し側メッセージ、
オブジェクト管理テーブル52及びロード・クラス・テ
ーブル53間の通信を制御する。オブジェクト管理テー
ブル52は、全ての活動オブジェクト・インスタンスに
対するポインタのリストを含む。ロード・クラス・テー
ブル53は、活動オブジェクト・クラスの全てのメソッ
ドに対するポインタのリストを含む。
【0023】オブジェクト指向プログラム12のオペレ
ーションについて、図2に表される例に対応して述べる
ことにする。ここではオブジェクトのメソッドA(ブロ
ック54)がメッセージをオブジェクトのメソッドB
(ブロック55)に送信する。メソッドAはメッセンジ
ャ51を呼出すことにより、メソッドBにメッセージを
送信する。メッセージは、(1)メッセージを受信する
インスタンスのオブジェクト参照、(2)オブジェクト
・インスタンスが自身がカプセル化するデータに対して
実行することを要求されるメソッド、及び(3)受信メ
ソッドにより必要とされるパラメータを含む。メッセン
ジャ51は、メソッドAにより指定されるインスタンス
・オブジェクトのデータ・フレーム56に対するポイン
タを、そのインスタンス・オブジェクトを求めてオブジ
ェクト管理テーブル52を探索することにより獲得す
る。指定されるインスタンス・オブジェクトが見い出さ
れない場合、オブジェクト管理テーブル52はインスタ
ンス・オブジェクトをテーブルに追加し、データベース
からそのデータを実体化するためにインスタンスを呼出
す。1度インスタンス・テーブル内に配置されると、オ
ブジェクト管理テーブル52はポインタを実体化された
インスタンス・オブジェクトに戻す。
ーションについて、図2に表される例に対応して述べる
ことにする。ここではオブジェクトのメソッドA(ブロ
ック54)がメッセージをオブジェクトのメソッドB
(ブロック55)に送信する。メソッドAはメッセンジ
ャ51を呼出すことにより、メソッドBにメッセージを
送信する。メッセージは、(1)メッセージを受信する
インスタンスのオブジェクト参照、(2)オブジェクト
・インスタンスが自身がカプセル化するデータに対して
実行することを要求されるメソッド、及び(3)受信メ
ソッドにより必要とされるパラメータを含む。メッセン
ジャ51は、メソッドAにより指定されるインスタンス
・オブジェクトのデータ・フレーム56に対するポイン
タを、そのインスタンス・オブジェクトを求めてオブジ
ェクト管理テーブル52を探索することにより獲得す
る。指定されるインスタンス・オブジェクトが見い出さ
れない場合、オブジェクト管理テーブル52はインスタ
ンス・オブジェクトをテーブルに追加し、データベース
からそのデータを実体化するためにインスタンスを呼出
す。1度インスタンス・テーブル内に配置されると、オ
ブジェクト管理テーブル52はポインタを実体化された
インスタンス・オブジェクトに戻す。
【0024】メッセンジャ51は次にロード・クラス・
テーブル53からメソッドBのアドレスを獲得する。イ
ンスタンスのクラスがロードされない場合、ロード・ク
ラス・テーブル53はこの時これをロードし、そのデー
タを実体化する。ロード・クラス・テーブル53は指定
されるメソッド(メソッドB)を探索し、そのメソッド
のアドレスをメッセンジャ51に戻す。
テーブル53からメソッドBのアドレスを獲得する。イ
ンスタンスのクラスがロードされない場合、ロード・ク
ラス・テーブル53はこの時これをロードし、そのデー
タを実体化する。ロード・クラス・テーブル53は指定
されるメソッド(メソッドB)を探索し、そのメソッド
のアドレスをメッセンジャ51に戻す。
【0025】メッセンジャ51は次にメソッドBを呼出
し、それにシステム・データ領域、及びポインタを含む
メソッドAにより生成された呼出しからのパラメータを
渡す。メソッドBはポインタを使用してデータ・フレー
ム56をアクセスする。メソッドBは次に制御をメッセ
ンジャ51に戻し、メッセンジャは制御をメソッドAに
戻す。
し、それにシステム・データ領域、及びポインタを含む
メソッドAにより生成された呼出しからのパラメータを
渡す。メソッドBはポインタを使用してデータ・フレー
ム56をアクセスする。メソッドBは次に制御をメッセ
ンジャ51に戻し、メッセンジャは制御をメソッドAに
戻す。
【0026】図3はオブジェクト指向コンピューティン
グ・プラットフォーム内の継承階層の例を表す。図示の
ように、"販売員"、"従業員"及び"人"に対応する3つの
オブジェクト・クラスが表され、販売員は従業員の1つ
の"種類(kind of )"であり、従業員は人の1つの"種
類"である。換言すると、販売員は従業員のサブクラス
であり、従業員は販売員のスーパクラスである。同様
に、従業員は人のサブクラスであり、人は従業員のスー
パクラスである。示される各クラスは3つのインスタン
スを含む。B.Soutter、W.Tipp及びB.G.Blueは販売
員である。B.Abraham、K.Yates 及びR.Mooreは従業
員である。J.McEnroe、R.Nader及びR.Reagan は人で
ある。換言すると、インスタンスは"is a"関係によりそ
のクラスに関連付けされる。
グ・プラットフォーム内の継承階層の例を表す。図示の
ように、"販売員"、"従業員"及び"人"に対応する3つの
オブジェクト・クラスが表され、販売員は従業員の1つ
の"種類(kind of )"であり、従業員は人の1つの"種
類"である。換言すると、販売員は従業員のサブクラス
であり、従業員は販売員のスーパクラスである。同様
に、従業員は人のサブクラスであり、人は従業員のスー
パクラスである。示される各クラスは3つのインスタン
スを含む。B.Soutter、W.Tipp及びB.G.Blueは販売
員である。B.Abraham、K.Yates 及びR.Mooreは従業
員である。J.McEnroe、R.Nader及びR.Reagan は人で
ある。換言すると、インスタンスは"is a"関係によりそ
のクラスに関連付けされる。
【0027】各サブクラスはそのスーパクラスのフレー
ム及びメソッドを"継承"する。例えば、販売員フレーム
は従業員のスーパクラスから年齢及び雇用日オブジェク
トを継承し、また従業員スーパクラスからプロモート
(昇格)・メソッドを継承する。販売員は更に特定の割
当て属性及び報酬支払いメソッドを含む。各インスタン
スはそのスーパクラスの全てのメソッド及びフレームを
アクセスすることができる。従って、例えばB.G.Blue
を昇進させることができる。
ム及びメソッドを"継承"する。例えば、販売員フレーム
は従業員のスーパクラスから年齢及び雇用日オブジェク
トを継承し、また従業員スーパクラスからプロモート
(昇格)・メソッドを継承する。販売員は更に特定の割
当て属性及び報酬支払いメソッドを含む。各インスタン
スはそのスーパクラスの全てのメソッド及びフレームを
アクセスすることができる。従って、例えばB.G.Blue
を昇進させることができる。
【0028】複合オブジェクト支援方法及びシステム
(全体設計及びオペレーション):図4を参照すると、
コンピューティング・プラットフォーム内の複数のオブ
ジェクトが図式的に表され、その幾つかは論理キー属性
を含む。図4に示されるように、複数のオブジェクトが
コンピューティング・プラットフォーム12上のオブジ
ェクト指向コンピューティング環境11内で実行され
る。各オブジェクトはデータ属性を含むオブジェクト・
フレーム、及び関連オブジェクトにアクションを実行す
るための少なくとも1つのオブジェクト・メソッドを含
む。図3の場合同様、各オブジェクトは矩形により表さ
れ、オブジェクト矩形内の上段の矩形内には属性が含ま
れ、オブジェクト矩形内の下段の矩形内にはメソッドが
含まれる。また、オブジェクトはオブジェクト・クラス
の継承階層内に構成されて、親及び子クラスを定義し、
子クラスは親クラスのデータ属性及びメソッドを継承す
る。当業者には理解されるように、オブジェクト・クラ
スの継承階層は、通常、オブジェクト指向コンピューテ
ィング環境内の何千ものオブジェクトを含む。
(全体設計及びオペレーション):図4を参照すると、
コンピューティング・プラットフォーム内の複数のオブ
ジェクトが図式的に表され、その幾つかは論理キー属性
を含む。図4に示されるように、複数のオブジェクトが
コンピューティング・プラットフォーム12上のオブジ
ェクト指向コンピューティング環境11内で実行され
る。各オブジェクトはデータ属性を含むオブジェクト・
フレーム、及び関連オブジェクトにアクションを実行す
るための少なくとも1つのオブジェクト・メソッドを含
む。図3の場合同様、各オブジェクトは矩形により表さ
れ、オブジェクト矩形内の上段の矩形内には属性が含ま
れ、オブジェクト矩形内の下段の矩形内にはメソッドが
含まれる。また、オブジェクトはオブジェクト・クラス
の継承階層内に構成されて、親及び子クラスを定義し、
子クラスは親クラスのデータ属性及びメソッドを継承す
る。当業者には理解されるように、オブジェクト・クラ
スの継承階層は、通常、オブジェクト指向コンピューテ
ィング環境内の何千ものオブジェクトを含む。
【0029】更に図4を参照すると、少なくとも幾つか
の階層的に関連するオブジェクトが複合オブジェクトに
グループ化されることが理解される。複合オブジェクト
は階層的に関連の無いオブジェクト、すなわち親及び子
オブジェクト・クラスとして互いに関係しないオブジェ
クトのグループである。これらはむしろ、共通の表示要
求または他の共通の外部要求のために一緒にグループ化
される。図4に示されるように、複合オブジェクトの1
部であるオブジェクト階層内の各オブジェクトは、属性
として"論理キー"を含む。論理キーはオブジェクトのイ
ンスタンスを一意的に識別するために使用される。更
に、統括オブジェクト(rular )の論理キーがサブオブ
ジェクトの部分的論理キーとなる。後述されるように、
論理キーの連続的拡張が、特定の統括オブジェクトに属
するオブジェクトを見い出すために使用される。
の階層的に関連するオブジェクトが複合オブジェクトに
グループ化されることが理解される。複合オブジェクト
は階層的に関連の無いオブジェクト、すなわち親及び子
オブジェクト・クラスとして互いに関係しないオブジェ
クトのグループである。これらはむしろ、共通の表示要
求または他の共通の外部要求のために一緒にグループ化
される。図4に示されるように、複合オブジェクトの1
部であるオブジェクト階層内の各オブジェクトは、属性
として"論理キー"を含む。論理キーはオブジェクトのイ
ンスタンスを一意的に識別するために使用される。更
に、統括オブジェクト(rular )の論理キーがサブオブ
ジェクトの部分的論理キーとなる。後述されるように、
論理キーの連続的拡張が、特定の統括オブジェクトに属
するオブジェクトを見い出すために使用される。
【0030】図5を参照すると、複合オブジェクト・ク
ラスが図式的に表される。図示のように、複合オブジェ
クト・クラスはその属性として、少なくとも1つの統括
オブジェクト及びサブオブジェクトを含む。統括オブジ
ェクトは、サブオブジェクトに作用できる以前に存在し
なければならないオブジェクトである。従って、複合オ
ブジェクト内の各オブジェクトは、その複合オブジェク
ト内の最高レベル・オブジェクトを除いては、統括オブ
ジェクトを有さなければならない。サブオブジェクト
は、継承の特性によっては統括オブジェクトに関連しな
いが、複合オブジェクト関係のために関連付けられるオ
ブジェクトである。統括オブジェクトは自身が統括する
複数のサブオブジェクトをもつこともできる。図5にお
いては更に、複合オブジェクトがコピー及び消去などの
複数のメソッド含むように示される。これらは複合オブ
ジェクト・クラスに全体的に作用する。これらのメソッ
ドについては後に詳述される。
ラスが図式的に表される。図示のように、複合オブジェ
クト・クラスはその属性として、少なくとも1つの統括
オブジェクト及びサブオブジェクトを含む。統括オブジ
ェクトは、サブオブジェクトに作用できる以前に存在し
なければならないオブジェクトである。従って、複合オ
ブジェクト内の各オブジェクトは、その複合オブジェク
ト内の最高レベル・オブジェクトを除いては、統括オブ
ジェクトを有さなければならない。サブオブジェクト
は、継承の特性によっては統括オブジェクトに関連しな
いが、複合オブジェクト関係のために関連付けられるオ
ブジェクトである。統括オブジェクトは自身が統括する
複数のサブオブジェクトをもつこともできる。図5にお
いては更に、複合オブジェクトがコピー及び消去などの
複数のメソッド含むように示される。これらは複合オブ
ジェクト・クラスに全体的に作用する。これらのメソッ
ドについては後に詳述される。
【0031】図6を参照すると、本発明の別の態様が論
理キー・クラスを生成する。論理キーはオブジェクトの
インスタンスを一意的に識別する。複合オブジェクトの
構造内の各オブジェクトの論理キーは、図6に示される
継承階層により関連付けられる。よって、複合オブジェ
クト内の単純オブジェクトが継承により関連付けられて
いなくても、それらの論理キーが継承により関連付けさ
れる。統括オブジェクト対サブオブジェクト関係は従っ
て論理キー間関係であり、論理キーの継承構造は複合オ
ブジェクト構造に従う。
理キー・クラスを生成する。論理キーはオブジェクトの
インスタンスを一意的に識別する。複合オブジェクトの
構造内の各オブジェクトの論理キーは、図6に示される
継承階層により関連付けられる。よって、複合オブジェ
クト内の単純オブジェクトが継承により関連付けられて
いなくても、それらの論理キーが継承により関連付けさ
れる。統括オブジェクト対サブオブジェクト関係は従っ
て論理キー間関係であり、論理キーの継承構造は複合オ
ブジェクト構造に従う。
【0032】複合オブジェクトの支援は複合オブジェク
ト・メンバ・クラスからの継承により提供される。この
クラスは複合オブジェクト処理の標準化を施行し、ほと
んどの複合オブジェクト・アクションの支援を提供す
る。これはバージョン制御や外部装置及びデータベース
とのインタフェースなどの他の総称的アプリケーション
支援と互換である。
ト・メンバ・クラスからの継承により提供される。この
クラスは複合オブジェクト処理の標準化を施行し、ほと
んどの複合オブジェクト・アクションの支援を提供す
る。これはバージョン制御や外部装置及びデータベース
とのインタフェースなどの他の総称的アプリケーション
支援と互換である。
【0033】複合オブジェクト内の単純オブジェクト
は、論理キー及びデータ依存関係により一緒に結合され
る。"論理キー"は単純オブジェクトからバージョン選択
までを識別する。複合オブジェクトもまたバージョン制
御することができる。データ依存関係は統括オブジェク
ト対サブオブジェクト関係として記述される。複合オブ
ジェクト内において、サブオブジェクトの論理キーはそ
の統括オブジェクトの全ての論理キー属性を有する。サ
ブオブジェクトの特定のインスタンスにおいて、論理キ
ーのデータ値はその統括オブジェクトのデータ値に一致
する。オブジェクトは属性をその統括オブジェクトの論
理キーに追加してもよい。これが実施されると、統括オ
ブジェクト対サブオブジェクト関係は1対複数となる。
サブオブジェクトの論理キーが統括オブジェクトの論理
キーに同一の場合、統括オブジェクト対サブオブジェク
ト関係は1対1である。
は、論理キー及びデータ依存関係により一緒に結合され
る。"論理キー"は単純オブジェクトからバージョン選択
までを識別する。複合オブジェクトもまたバージョン制
御することができる。データ依存関係は統括オブジェク
ト対サブオブジェクト関係として記述される。複合オブ
ジェクト内において、サブオブジェクトの論理キーはそ
の統括オブジェクトの全ての論理キー属性を有する。サ
ブオブジェクトの特定のインスタンスにおいて、論理キ
ーのデータ値はその統括オブジェクトのデータ値に一致
する。オブジェクトは属性をその統括オブジェクトの論
理キーに追加してもよい。これが実施されると、統括オ
ブジェクト対サブオブジェクト関係は1対複数となる。
サブオブジェクトの論理キーが統括オブジェクトの論理
キーに同一の場合、統括オブジェクト対サブオブジェク
ト関係は1対1である。
【0034】複合オブジェクト内において、各サブオブ
ジェクトはその統括オブジェクトとして1つのタイプの
クラスだけを有することができる。しかしながら、統括
オブジェクトはそのサブオブジェクトとして幾つかのタ
イプのクラスを有することができる。これにより、複合
オブジェクト構造の階層化がすすめられる。同一のオブ
ジェクトがサブオブジェクト及び統括オブジェクトの両
方であってもよい。統括オブジェクト及びサブオブジェ
クトのクラスの識別は、複合オブジェクト・クラスの属
性により提供される。これらのクラス属性はオーバライ
ドを許可し、それにより複合オブジェクト構造がカスト
マイズ中に変更される。複合オブジェクト支援は総称的
バージョン制御支援と互換であり、これについては係属
中の米国特許出願第101618号 "System and Metho
d for Controlling Versions ofObjects in an Object
Oriented Computing Environment" で述べられている。
論理キーはオブジェクトのインスタンスからバージョン
までを識別するだけであるため、統括オブジェクト対サ
ブオブジェクト関係は "曖昧(fuzzy)" である(すな
わちバージョン選択までしか定義されない)。
ジェクトはその統括オブジェクトとして1つのタイプの
クラスだけを有することができる。しかしながら、統括
オブジェクトはそのサブオブジェクトとして幾つかのタ
イプのクラスを有することができる。これにより、複合
オブジェクト構造の階層化がすすめられる。同一のオブ
ジェクトがサブオブジェクト及び統括オブジェクトの両
方であってもよい。統括オブジェクト及びサブオブジェ
クトのクラスの識別は、複合オブジェクト・クラスの属
性により提供される。これらのクラス属性はオーバライ
ドを許可し、それにより複合オブジェクト構造がカスト
マイズ中に変更される。複合オブジェクト支援は総称的
バージョン制御支援と互換であり、これについては係属
中の米国特許出願第101618号 "System and Metho
d for Controlling Versions ofObjects in an Object
Oriented Computing Environment" で述べられている。
論理キーはオブジェクトのインスタンスからバージョン
までを識別するだけであるため、統括オブジェクト対サ
ブオブジェクト関係は "曖昧(fuzzy)" である(すな
わちバージョン選択までしか定義されない)。
【0035】コンテキスト情報を提供するために必要と
されるオブジェクトのリストは、複合オブジェクト・メ
ンバ・クラスのインスタンス属性として伝達される。対
話式処理の間、このリストは動的に生成される。なぜな
ら、パネル間のデータ・ナビゲーションが通常、複合オ
ブジェクト構造に従うからである。しかしながら、バッ
クグラウンド処理は、このリストがバッチ・トランザク
ションの1部として提供されるコンテキスト・キーから
生成されることを要求しうる。本発明は複合オブジェク
ト内の統括オブジェクトの連鎖をリストに追加する支援
を提供し、これは追加のコンテキスト情報を追加する遅
延メソッド(deferred method)を提供する。
されるオブジェクトのリストは、複合オブジェクト・メ
ンバ・クラスのインスタンス属性として伝達される。対
話式処理の間、このリストは動的に生成される。なぜな
ら、パネル間のデータ・ナビゲーションが通常、複合オ
ブジェクト構造に従うからである。しかしながら、バッ
クグラウンド処理は、このリストがバッチ・トランザク
ションの1部として提供されるコンテキスト・キーから
生成されることを要求しうる。本発明は複合オブジェク
ト内の統括オブジェクトの連鎖をリストに追加する支援
を提供し、これは追加のコンテキスト情報を追加する遅
延メソッド(deferred method)を提供する。
【0036】コンテキストは、処理されるデータがビュ
ーまたは更新できるかどうかを判断する。遅延メソッド
はコンテキスト情報をチェックするために提供される。
これらのメソッドに対する呼出しは、既に表示及び更新
メソッド内の適切な場所に提供されており、コンテキス
トのチェックは標準の処理に統合される。
ーまたは更新できるかどうかを判断する。遅延メソッド
はコンテキスト情報をチェックするために提供される。
これらのメソッドに対する呼出しは、既に表示及び更新
メソッド内の適切な場所に提供されており、コンテキス
トのチェックは標準の処理に統合される。
【0037】特定のアクションが統括オブジェクトであ
るオブジェクトに対して実行される時、これらのアクシ
ョンは統括オブジェクトが関連するサブオブジェクトの
各々に対しても実行されなければならない。任意のサブ
オブジェクトがそれ自身統括オブジェクトである場合、
同じアクションが主複合オブジェクト構造を通じて下位
にカスケード(後続への伝達)されなければならない。
本発明は幾つかの複合オブジェクト・アクション(コピ
ー、消去及びプロモート)に対する特定の支援を提供す
る。本発明はまた、同一の機構を使用する追加のカスケ
ード化複合オブジェクト・アクションを許可するための
総称的支援を提供する。
るオブジェクトに対して実行される時、これらのアクシ
ョンは統括オブジェクトが関連するサブオブジェクトの
各々に対しても実行されなければならない。任意のサブ
オブジェクトがそれ自身統括オブジェクトである場合、
同じアクションが主複合オブジェクト構造を通じて下位
にカスケード(後続への伝達)されなければならない。
本発明は幾つかの複合オブジェクト・アクション(コピ
ー、消去及びプロモート)に対する特定の支援を提供す
る。本発明はまた、同一の機構を使用する追加のカスケ
ード化複合オブジェクト・アクションを許可するための
総称的支援を提供する。
【0038】複合オブジェクトを通じてのデータ・ナビ
ゲーションは、主複合オブジェクト構造に従う傾向を示
す。複合オブジェクトのプレゼンテーションは、係属中
の米国特許出願第101904号 "System and Method
for Providing a Uniform External Interface for an
Object Oriented Computing System" に述べられてい
る。複合オブジェクト・アクションのカスケードの間
に、統括オブジェクトに関連するサブオブジェクトを選
択するために使用される論理と同一の論理が、特定のパ
ーツ・パネルに関連するリスト・パネル上に提示される
サブオブジェクトのリストを選択するために使用でき
る。
ゲーションは、主複合オブジェクト構造に従う傾向を示
す。複合オブジェクトのプレゼンテーションは、係属中
の米国特許出願第101904号 "System and Method
for Providing a Uniform External Interface for an
Object Oriented Computing System" に述べられてい
る。複合オブジェクト・アクションのカスケードの間
に、統括オブジェクトに関連するサブオブジェクトを選
択するために使用される論理と同一の論理が、特定のパ
ーツ・パネルに関連するリスト・パネル上に提示される
サブオブジェクトのリストを選択するために使用でき
る。
【0039】通常は複合オブジェクトに参加する全ての
オブジェクトが、それらがビューまたは更新できるかど
うかを判断するための共通のルールを有する。これは機
密保護レベル及びカテゴリの確立を含む。本発明は複合
オブジェクト内におけるこれらの判定の集中化を可能に
する。本発明は更に、複数ユーザが同一の複合オブジェ
クトに対する同時更新を処理する場合の保護を提供す
る。
オブジェクトが、それらがビューまたは更新できるかど
うかを判断するための共通のルールを有する。これは機
密保護レベル及びカテゴリの確立を含む。本発明は複合
オブジェクト内におけるこれらの判定の集中化を可能に
する。本発明は更に、複数ユーザが同一の複合オブジェ
クトに対する同時更新を処理する場合の保護を提供す
る。
【0040】図7を参照すると、総称複合オブジェクト
処理を実施するために、次の処理がオブジェクト指向環
境のビルド・タイム時に実行される。ブロック201に
示されるように、複合オブジェクトを形成する階層的に
無関係なオブジェクトがユーザ要求に応答して、複合オ
ブジェクトにグループ化される。複合オブジェクトが全
体として処理されるために、通常はユーザ要求が開始さ
れる。次にブロック202において、統括オブジェクト
及びサブオブジェクト関係がユーザにより定義される。
ブロック203では、論理キーが識別され、論理キー階
層がブロック204で生成される。最後にブロック20
5で、適切な論理キーが上述の階層的に無関係なオブジ
ェクト内のオブジェクトの論理キー属性内に配置され
る。このようにして、図4乃至図6の構造が定義され
る。
処理を実施するために、次の処理がオブジェクト指向環
境のビルド・タイム時に実行される。ブロック201に
示されるように、複合オブジェクトを形成する階層的に
無関係なオブジェクトがユーザ要求に応答して、複合オ
ブジェクトにグループ化される。複合オブジェクトが全
体として処理されるために、通常はユーザ要求が開始さ
れる。次にブロック202において、統括オブジェクト
及びサブオブジェクト関係がユーザにより定義される。
ブロック203では、論理キーが識別され、論理キー階
層がブロック204で生成される。最後にブロック20
5で、適切な論理キーが上述の階層的に無関係なオブジ
ェクト内のオブジェクトの論理キー属性内に配置され
る。このようにして、図4乃至図6の構造が定義され
る。
【0041】図8を参照すると、ラン・タイム時に実行
されるオペレーションが示される。ラン・タイム時に
は、アクション・メッセージが開始され、ブロック21
0で複合オブジェクト・メンバ・インスタンスにより受
信される。このインスタンスの統括オブジェクト及びサ
ブオブジェクトがブロック211で識別され、識別され
た統括オブジェクト/サブオブジェクトがブロック21
2で実体化される。論理キーがブロック213で獲得さ
れ、複合オブジェクトのインスタンスを形成するオブジ
ェクトのインスタンスがブロック214で実体化され
る。最後に、ブロック215で、要求されたアクション
・メッセージが識別されたインスタンスに対して実行さ
れる。従って、当業者には理解されるように、複合オブ
ジェクトに送信されるアクション・メッセージに対して
実行されるラン・タイム処理は、単純オブジェクトに送
信されるアクション・メッセージに対して実行されるラ
ン・タイム処理の場合と同様に実行される。
されるオペレーションが示される。ラン・タイム時に
は、アクション・メッセージが開始され、ブロック21
0で複合オブジェクト・メンバ・インスタンスにより受
信される。このインスタンスの統括オブジェクト及びサ
ブオブジェクトがブロック211で識別され、識別され
た統括オブジェクト/サブオブジェクトがブロック21
2で実体化される。論理キーがブロック213で獲得さ
れ、複合オブジェクトのインスタンスを形成するオブジ
ェクトのインスタンスがブロック214で実体化され
る。最後に、ブロック215で、要求されたアクション
・メッセージが識別されたインスタンスに対して実行さ
れる。従って、当業者には理解されるように、複合オブ
ジェクトに送信されるアクション・メッセージに対して
実行されるラン・タイム処理は、単純オブジェクトに送
信されるアクション・メッセージに対して実行されるラ
ン・タイム処理の場合と同様に実行される。
【0042】複合オブジェクト支援方法及びシステム
(詳細設計及びインプリメンテーション): 図9乃至図25を参照すると、本発明の複合オブジェク
ト支援方法及びシステムの詳細設計インプリメンテーシ
ョンが示される。また、購買注文に対して適用される実
施例についても述べられる。
(詳細設計及びインプリメンテーション): 図9乃至図25を参照すると、本発明の複合オブジェク
ト支援方法及びシステムの詳細設計インプリメンテーシ
ョンが示される。また、購買注文に対して適用される実
施例についても述べられる。
【0043】図9を参照すると、複合オブジェクト・メ
ンバ・クラスを含むオブジェクト指向コンピューティン
グ環境が記述される。複合オブジェクトは、一貫性のあ
る外部化可能な単純オブジェクトを含む。クラス階層が
これを反映する。ここでは"アプリケーション・オブジ
ェクト"は複合オブジェクトの1部である単純オブジェ
クトである。これは統括オブジェクトまたはサブオブジ
ェクト或いはその両方である。
ンバ・クラスを含むオブジェクト指向コンピューティン
グ環境が記述される。複合オブジェクトは、一貫性のあ
る外部化可能な単純オブジェクトを含む。クラス階層が
これを反映する。ここでは"アプリケーション・オブジ
ェクト"は複合オブジェクトの1部である単純オブジェ
クトである。これは統括オブジェクトまたはサブオブジ
ェクト或いはその両方である。
【0044】各アプリケーション・オブジェクトは、総
称論理キー(Generic Logical Key:EKNAA200)から継
承する論理キー属性を有する。アプリケーション・オブ
ジェクトは複合オブジェクト・ストリーム・クラス(EK
NAS2A2)から継承するストリームに関連付けられる。図
10を参照されたい。柔軟性を提供するため、アプリケ
ーション特有の判断は、EKNAA201から継承するアプリケ
ーション・メタクラスにおいて分離される。図11を参
照されたい。
称論理キー(Generic Logical Key:EKNAA200)から継
承する論理キー属性を有する。アプリケーション・オブ
ジェクトは複合オブジェクト・ストリーム・クラス(EK
NAS2A2)から継承するストリームに関連付けられる。図
10を参照されたい。柔軟性を提供するため、アプリケ
ーション特有の判断は、EKNAA201から継承するアプリケ
ーション・メタクラスにおいて分離される。図11を参
照されたい。
【0045】複合オブジェクト・クラスEKNAA2A2内の2
つのクラス属性、すなわちサブオブジェクト及び統括オ
ブジェクトIDが、複合オブジェクト構造を結合するた
めに使用される。サブオブジェクトはこのクラスの全て
の直接サブオブジェクトであるクラスのショート名のリ
ストである。統括オブジェクトIDは、複合オブジェク
ト構造内におけるこのクラスの直接統括オブジェクトに
相当するクラスのショート名である。購買注文複合オブ
ジェクト構造の例が図12に表される。
つのクラス属性、すなわちサブオブジェクト及び統括オ
ブジェクトIDが、複合オブジェクト構造を結合するた
めに使用される。サブオブジェクトはこのクラスの全て
の直接サブオブジェクトであるクラスのショート名のリ
ストである。統括オブジェクトIDは、複合オブジェク
ト構造内におけるこのクラスの直接統括オブジェクトに
相当するクラスのショート名である。購買注文複合オブ
ジェクト構造の例が図12に表される。
【0046】論理キー・クラスの継承階層は、主複合オ
ブジェクト構造に従う。図13を参照されたい。論理キ
ー・クラスは更新のために渡される"部分的"論理キーを
処理することができる。これはassign_keyメソッドによ
り実行される。このメソッドは渡された論理キーを入力
として受取り、それを現論理キーに割当てる。渡される
キーは現論理キーの任意の親とすることができる。入力
として渡されるフィールドだけが変更される。これは例
えば購買注文ヘッダ・キーに購買注文456を渡すこと
により、購買注文ライン・キー内の購買注文番号が、購
買番号123から購買番号456に更新されることを可
能にする。ライン番号は変更されない。
ブジェクト構造に従う。図13を参照されたい。論理キ
ー・クラスは更新のために渡される"部分的"論理キーを
処理することができる。これはassign_keyメソッドによ
り実行される。このメソッドは渡された論理キーを入力
として受取り、それを現論理キーに割当てる。渡される
キーは現論理キーの任意の親とすることができる。入力
として渡されるフィールドだけが変更される。これは例
えば購買注文ヘッダ・キーに購買注文456を渡すこと
により、購買注文ライン・キー内の購買注文番号が、購
買番号123から購買番号456に更新されることを可
能にする。ライン番号は変更されない。
【0047】関連ストリーム内のカーソルも複合オブジ
ェクト構造を反映する。各複合オブジェクト・ストリー
ムは、複合オブジェクト・統括オブジェクトの論理キー
にもとづき選択する"applicable_at" カーソルを有す
る。換言すると、これは継承される論理キーの属性にも
とづき選択する。例えば、購買注文ラインに対するappl
icable_at カーソルは購買注文番号(親論理キーENOPA0
01の属性)にもとづき選択する。これらのストリームの
各々は、(現タイプの)論理キーをインスタンス属性と
して有する。例えば、購買注文ラインENOPS002に対応す
るストリーム・クラスはタイプENOPA002(購買注文ライ
ン・キー・クラス)のインスタンス属性LOG_KEY を有す
る。しかしながら、選択基準を割当て、applicable_at
カーソルをオープンするgen_applicable_strmメソッド
は、購買注文ヘッダ・キー(ENOPA001)を入力として受
信することを期待する。コーディングは論理キー・クラ
スのassign_keyメソッドを利用することにより最適化さ
れ、これは部分的論理キーを入力として処理する。
ェクト構造を反映する。各複合オブジェクト・ストリー
ムは、複合オブジェクト・統括オブジェクトの論理キー
にもとづき選択する"applicable_at" カーソルを有す
る。換言すると、これは継承される論理キーの属性にも
とづき選択する。例えば、購買注文ラインに対するappl
icable_at カーソルは購買注文番号(親論理キーENOPA0
01の属性)にもとづき選択する。これらのストリームの
各々は、(現タイプの)論理キーをインスタンス属性と
して有する。例えば、購買注文ラインENOPS002に対応す
るストリーム・クラスはタイプENOPA002(購買注文ライ
ン・キー・クラス)のインスタンス属性LOG_KEY を有す
る。しかしながら、選択基準を割当て、applicable_at
カーソルをオープンするgen_applicable_strmメソッド
は、購買注文ヘッダ・キー(ENOPA001)を入力として受
信することを期待する。コーディングは論理キー・クラ
スのassign_keyメソッドを利用することにより最適化さ
れ、これは部分的論理キーを入力として処理する。
【0048】複合オブジェクト支援及びバージョン制御
は互換であるので、複合オブジェクト支援のための"fin
d"メソッドは完全なまたは部分的な論理キーに加え、バ
ージョン選択を示すシーケンス番号を入力として受諾す
る。(複数バージョンの潜在性なしに)基本複合オブジ
ェクト支援のために要求されるfindはfind_applicable
であり、渡された論理キーに一致する単純オブジェクト
の1つのインスタンスを見い出す。等価なストリーム・
メソッドは完全な論理キーの代わりに部分的論理キーを
使用する。
は互換であるので、複合オブジェクト支援のための"fin
d"メソッドは完全なまたは部分的な論理キーに加え、バ
ージョン選択を示すシーケンス番号を入力として受諾す
る。(複数バージョンの潜在性なしに)基本複合オブジ
ェクト支援のために要求されるfindはfind_applicable
であり、渡された論理キーに一致する単純オブジェクト
の1つのインスタンスを見い出す。等価なストリーム・
メソッドは完全な論理キーの代わりに部分的論理キーを
使用する。
【0049】カスケードされる複合オブジェクト・メソ
ッドの内部論理は、これらのfindを実行する時にバージ
ョン選択のために必要とされるシーケンス番号を含む。
しかしながら、シーケンス番号を含まない"find_simpl
e" メソッドを有する追加のクラス(EKNAA2B2)が提供
される。find_applicableはfind_simpleを呼出すために
EKNAA2B2内で再定義され、これはまだ遅延メソッドであ
る(なぜならSQL呼出しを含むため)。これはバージ
ョン制御されないアプリケーション・オブジェクトがEK
NAA2B2から継承することにより、また論理キーをパラメ
ータとして期待するだけのfindをインプリメントするこ
とにより、複合オブジェクト支援を利用することを可能
にする。
ッドの内部論理は、これらのfindを実行する時にバージ
ョン選択のために必要とされるシーケンス番号を含む。
しかしながら、シーケンス番号を含まない"find_simpl
e" メソッドを有する追加のクラス(EKNAA2B2)が提供
される。find_applicableはfind_simpleを呼出すために
EKNAA2B2内で再定義され、これはまだ遅延メソッドであ
る(なぜならSQL呼出しを含むため)。これはバージ
ョン制御されないアプリケーション・オブジェクトがEK
NAA2B2から継承することにより、また論理キーをパラメ
ータとして期待するだけのfindをインプリメントするこ
とにより、複合オブジェクト支援を利用することを可能
にする。
【0050】EKNAA2B2もまたバージョン選択フィールド
insert_by及びexact_by を一貫性の無い属性として扱
い、それらを適切な値に初期化する。これはバージョン
制御されない複合オブジェクトのための一貫性のある検
索メソッドが、この継承される初期化を呼出すことがで
き、バージョン制御に特有の属性を処理する必要の無い
ことを意味する。更に、デフォルト・アプリケーション
・メタクラス(EKNAA201)は"バージョン制御無し"オプ
ションをインプリメントするので、バージョン制御され
ないアプリケーションのために追加の仕様論理が要求さ
れることはない。
insert_by及びexact_by を一貫性の無い属性として扱
い、それらを適切な値に初期化する。これはバージョン
制御されない複合オブジェクトのための一貫性のある検
索メソッドが、この継承される初期化を呼出すことがで
き、バージョン制御に特有の属性を処理する必要の無い
ことを意味する。更に、デフォルト・アプリケーション
・メタクラス(EKNAA201)は"バージョン制御無し"オプ
ションをインプリメントするので、バージョン制御され
ないアプリケーションのために追加の仕様論理が要求さ
れることはない。
【0051】図14を参照すると、コンテキスト情報が
統括オブジェクト・リストと呼ばれる属性内に含まれ
る。これは外部化可能オブジェクト(Externalizable O
bject:EKNZEXTO )の属性である。パネル・フローが複
合オブジェクト構造に従う時、オンライン処理の間に統
括オブジェクト・リストが動的に生成される。購買注文
複合オブジェクトの例では、購買注文のリストが主メニ
ュー・パネルから選択される。選択ポップアップはリス
ト内に現れる購買注文を制限する。購買注文は複合オブ
ジェクトであるので、購買注文がオープンされる時に、
パーツ・パネルがデータ・エントリ・パネルの代わりに
表示される。パーツ・パネルに関連する統括オブジェク
ト・リストが、複合オブジェクトのその特定のバージョ
ンをピックするために使用される"コンテキスト"データ
から導出される。この場合、コンテキストはバージョン
選択オブジェクト(Ver2)である。
統括オブジェクト・リストと呼ばれる属性内に含まれ
る。これは外部化可能オブジェクト(Externalizable O
bject:EKNZEXTO )の属性である。パネル・フローが複
合オブジェクト構造に従う時、オンライン処理の間に統
括オブジェクト・リストが動的に生成される。購買注文
複合オブジェクトの例では、購買注文のリストが主メニ
ュー・パネルから選択される。選択ポップアップはリス
ト内に現れる購買注文を制限する。購買注文は複合オブ
ジェクトであるので、購買注文がオープンされる時に、
パーツ・パネルがデータ・エントリ・パネルの代わりに
表示される。パーツ・パネルに関連する統括オブジェク
ト・リストが、複合オブジェクトのその特定のバージョ
ンをピックするために使用される"コンテキスト"データ
から導出される。この場合、コンテキストはバージョン
選択オブジェクト(Ver2)である。
【0052】パーツ・パネルは、統括オブジェクト・リ
ストの生成、及びパーツ・パネルから呼出される他のパ
ネルへのその統括オブジェクト・リストの受渡しを制御
する。リスト・パネルが次のパネルの場合、作業オブジ
ェクトが統括オブジェクト・リストに追加される。これ
は例えば、ラインがパーツ・パネルから選択される場合
にあてはまる。図15を参照されたい。また、ライン及
び新たなファイル・アクション(File.Openの代わり
に)を選択することが可能である。この結果、ライン・
データ・エントリ・パネル(ニュー・モード)が表示さ
れる。この場合、統括オブジェクト・リストはライン・
パネルに割当てられるものと同じである。
ストの生成、及びパーツ・パネルから呼出される他のパ
ネルへのその統括オブジェクト・リストの受渡しを制御
する。リスト・パネルが次のパネルの場合、作業オブジ
ェクトが統括オブジェクト・リストに追加される。これ
は例えば、ラインがパーツ・パネルから選択される場合
にあてはまる。図15を参照されたい。また、ライン及
び新たなファイル・アクション(File.Openの代わり
に)を選択することが可能である。この結果、ライン・
データ・エントリ・パネル(ニュー・モード)が表示さ
れる。この場合、統括オブジェクト・リストはライン・
パネルに割当てられるものと同じである。
【0053】次のパネルがデータ・エントリ・パネルの
場合、その作業オブジェクトがパーツ・パネルに対する
作業オブジェクトと同じであるかどうかがチェックされ
る。同じ場合、作業オブジェクトがデータ・エントリ・
パネルの統括オブジェクト・リストに追加される。図1
6を参照されたい。作業オブジェクトが同じでない場
合、パーツ・パネルに対する作業オブジェクトがデータ
・エントリ・パネルの統括オブジェクト・リストに追加
される。図17を参照されたい。次のパネルがパーツ・
パネルの場合、処理は次のパネルがデータ・エントリ・
パネルの場合と類似である。ここでパーツ・パネルの連
続は、データ・ナビゲーションが複合オブジェクト構造
に従っている場合、統括オブジェクト・リストを増加す
る。リスト・パネル内のリスト・エントリがオープンさ
れると、そのリスト・パネルに対応する統括オブジェク
ト・リストがデータ・エントリまたはパーツ・パネルに
渡される。選択されるオブジェクトが作業オブジェクト
となる。図18を参照されたい。
場合、その作業オブジェクトがパーツ・パネルに対する
作業オブジェクトと同じであるかどうかがチェックされ
る。同じ場合、作業オブジェクトがデータ・エントリ・
パネルの統括オブジェクト・リストに追加される。図1
6を参照されたい。作業オブジェクトが同じでない場
合、パーツ・パネルに対する作業オブジェクトがデータ
・エントリ・パネルの統括オブジェクト・リストに追加
される。図17を参照されたい。次のパネルがパーツ・
パネルの場合、処理は次のパネルがデータ・エントリ・
パネルの場合と類似である。ここでパーツ・パネルの連
続は、データ・ナビゲーションが複合オブジェクト構造
に従っている場合、統括オブジェクト・リストを増加す
る。リスト・パネル内のリスト・エントリがオープンさ
れると、そのリスト・パネルに対応する統括オブジェク
ト・リストがデータ・エントリまたはパーツ・パネルに
渡される。選択されるオブジェクトが作業オブジェクト
となる。図18を参照されたい。
【0054】パネルがパーツ・パネルからオープンされ
る時に統括オブジェクト・リストに作業オブジェクトを
追加するルールについては既に述べた。例えば、Line T
extがオープンされると、Line1がLine Textデータ・エ
ントリ・パネルの統括オブジェクト・リストに追加され
る。図19を参照されたい。リスト・パネル内のリスト
・エントリがオープンされると、そのリスト・パネルの
統括オブジェクト・リストがデータ・エントリまたはパ
ーツ・パネルに渡される。選択されるオブジェクトが図
20に示されるように作業オブジェクトとなる。データ
・エントリ・パネルは次にその統括オブジェクト・リス
トを作業オブジェクトに割当て、作業オブジェクトはこ
れを自己処理の間にコンテキスト情報及び妥当性検証と
して使用する。
る時に統括オブジェクト・リストに作業オブジェクトを
追加するルールについては既に述べた。例えば、Line T
extがオープンされると、Line1がLine Textデータ・エ
ントリ・パネルの統括オブジェクト・リストに追加され
る。図19を参照されたい。リスト・パネル内のリスト
・エントリがオープンされると、そのリスト・パネルの
統括オブジェクト・リストがデータ・エントリまたはパ
ーツ・パネルに渡される。選択されるオブジェクトが図
20に示されるように作業オブジェクトとなる。データ
・エントリ・パネルは次にその統括オブジェクト・リス
トを作業オブジェクトに割当て、作業オブジェクトはこ
れを自己処理の間にコンテキスト情報及び妥当性検証と
して使用する。
【0055】バックグラウンド(または"高速パス(fas
tpath)"オンライン)処理の間、トランザクションは、
複合オブジェクトの1部である単純オブジェクト(例え
ば購買注文ライン)に直接関連付けることができる。こ
の場合、トランザクションは、処理する購買注文ライン
を識別するために、内部に十分なコンテキスト情報(購
買注文Header Name及びVersion Name )を有さなければ
ならない。本発明により提供される総称複合オブジェク
ト支援は、統括オブジェクトidの連鎖を追従すること
により、主複合オブジェクト内の統括オブジェクトに対
応する統括オブジェクト・リストを記入し、(サブオブ
ジェクトの論理キーを受渡す)各場合において"find ap
plicable" メソッドを使用する。バージョン制御オブジ
ェクトの場合には、トランザクション入力から導出され
た同一の選択シーケンス番号が全てのfindに対して使用
される。図21を参照されたい。
tpath)"オンライン)処理の間、トランザクションは、
複合オブジェクトの1部である単純オブジェクト(例え
ば購買注文ライン)に直接関連付けることができる。こ
の場合、トランザクションは、処理する購買注文ライン
を識別するために、内部に十分なコンテキスト情報(購
買注文Header Name及びVersion Name )を有さなければ
ならない。本発明により提供される総称複合オブジェク
ト支援は、統括オブジェクトidの連鎖を追従すること
により、主複合オブジェクト内の統括オブジェクトに対
応する統括オブジェクト・リストを記入し、(サブオブ
ジェクトの論理キーを受渡す)各場合において"find ap
plicable" メソッドを使用する。バージョン制御オブジ
ェクトの場合には、トランザクション入力から導出され
た同一の選択シーケンス番号が全てのfindに対して使用
される。図21を参照されたい。
【0056】追加のコンテキスト・統括オブジェクト
(バージョン2に対するバージョン選択オブジェクトな
ど)が、アプリケーション特有メタクラスの"build_rul
er_list"メソッドにより獲得される。このメソッドは総
称メタクラス内の遅延メソッドである。追加のコンテキ
スト・統括オブジェクトは通常は全複合オブジェクトに
対して共通であり、その複合オブジェクトの全ての参加
対象は、共通のアプリケーション特有メタクラスを使用
することができる。
(バージョン2に対するバージョン選択オブジェクトな
ど)が、アプリケーション特有メタクラスの"build_rul
er_list"メソッドにより獲得される。このメソッドは総
称メタクラス内の遅延メソッドである。追加のコンテキ
スト・統括オブジェクトは通常は全複合オブジェクトに
対して共通であり、その複合オブジェクトの全ての参加
対象は、共通のアプリケーション特有メタクラスを使用
することができる。
【0057】サブオブジェクトを有するオブジェクトに
適用される多くのアクションが、サブオブジェクトにも
適用されなければならない。本発明における特有の支援
を有する2つは、"コピー"及び"消去"である。本発明は
また、同じカスケード・パターンに従う追加の複合オブ
ジェクト・アクションを容易に定義するためのコンテキ
ストを提供する。
適用される多くのアクションが、サブオブジェクトにも
適用されなければならない。本発明における特有の支援
を有する2つは、"コピー"及び"消去"である。本発明は
また、同じカスケード・パターンに従う追加の複合オブ
ジェクト・アクションを容易に定義するためのコンテキ
ストを提供する。
【0058】各カスケード化複合オブジェクトは、2つ
の別々のメソッドすなわちクラス・メソッド(例えばco
py_c)及びインスタンス・メソッド(copy_i)に分割さ
れる。クラス・メソッドは統括オブジェクトのインスタ
ンス・メソッドにより呼出されるか、直接ユーザ・アク
ションとして直接呼出される。これは統括オブジェクト
の論理キー並びにバージョン選択、及び直接統括オブジ
ェクトを含む統括オブジェクト・リスト並びにカスケー
ドの間にその統括オブジェクトに渡された統括オブジェ
クト・リストをパスされる。これはこのメソッドがこの
オブジェクト・タイプに対して有効かどうかを確認する
ために、クラス属性(例えば"copy_me")をチェックす
る。クラス・メソッドは作業する1つまたは複数のイン
スタンスを見い出すために使用される。パスされた統括
オブジェクト・リストは、対応するインスタンス・メソ
ッドが呼出される各関連インスタンスに割当てられる。
コピー及び消去などの純粋な複合オブジェクト・アクシ
ョンに対して、作業するインスタンスを見い出すために
find_applicable または gen_applicable_strm が使用
される。find_applicable は統括オブジェクトの論理キ
ーが現オブジェクトに対する完全な論理キーである場合
に使用され、ストリーム・メソッドは統括オブジェクト
が部分論理キーのみを提供する場合に使用される。
の別々のメソッドすなわちクラス・メソッド(例えばco
py_c)及びインスタンス・メソッド(copy_i)に分割さ
れる。クラス・メソッドは統括オブジェクトのインスタ
ンス・メソッドにより呼出されるか、直接ユーザ・アク
ションとして直接呼出される。これは統括オブジェクト
の論理キー並びにバージョン選択、及び直接統括オブジ
ェクトを含む統括オブジェクト・リスト並びにカスケー
ドの間にその統括オブジェクトに渡された統括オブジェ
クト・リストをパスされる。これはこのメソッドがこの
オブジェクト・タイプに対して有効かどうかを確認する
ために、クラス属性(例えば"copy_me")をチェックす
る。クラス・メソッドは作業する1つまたは複数のイン
スタンスを見い出すために使用される。パスされた統括
オブジェクト・リストは、対応するインスタンス・メソ
ッドが呼出される各関連インスタンスに割当てられる。
コピー及び消去などの純粋な複合オブジェクト・アクシ
ョンに対して、作業するインスタンスを見い出すために
find_applicable または gen_applicable_strm が使用
される。find_applicable は統括オブジェクトの論理キ
ーが現オブジェクトに対する完全な論理キーである場合
に使用され、ストリーム・メソッドは統括オブジェクト
が部分論理キーのみを提供する場合に使用される。
【0059】インスタンス・メソッドはインスタンスに
対する関連アクション(例えばコピー)を実行する。こ
こでruler_listは、"to"オブジェクトが生成される時に
もコピーされることを述べておく。コピー・メソッドの
場合、統括オブジェクト・リストは"to"オブジェクトに
対するリストであり、これはたとえ、その関連コンテキ
スト情報がデータベースにまだ記憶されていない場合で
も、"to"オブジェクトに対するコンテキスト検証を許可
するために使用される。
対する関連アクション(例えばコピー)を実行する。こ
こでruler_listは、"to"オブジェクトが生成される時に
もコピーされることを述べておく。コピー・メソッドの
場合、統括オブジェクト・リストは"to"オブジェクトに
対するリストであり、これはたとえ、その関連コンテキ
スト情報がデータベースにまだ記憶されていない場合で
も、"to"オブジェクトに対するコンテキスト検証を許可
するために使用される。
【0060】インスタンス・メソッドは次にクラス属性
を使用することにより、サブオブジェクトが存在するか
どうかをチェックする。存在する場合には、各サブオブ
ジェクトに対応するクラス・メソッドを呼出し、拡張論
理キー(通常それ自身)及び拡張統括オブジェクト・リ
ストを渡す。追加のパラメータもまた拡張される。例え
ば、コピー・モードでは、"new_key" が新たに生成され
た"to"オブジェクトの完全なキーを含むように拡張され
る。
を使用することにより、サブオブジェクトが存在するか
どうかをチェックする。存在する場合には、各サブオブ
ジェクトに対応するクラス・メソッドを呼出し、拡張論
理キー(通常それ自身)及び拡張統括オブジェクト・リ
ストを渡す。追加のパラメータもまた拡張される。例え
ば、コピー・モードでは、"new_key" が新たに生成され
た"to"オブジェクトの完全なキーを含むように拡張され
る。
【0061】複合オブジェクトのカスケードの間にキー
を拡張するメソッドは、特殊環境における再定義を許可
するように設計される。これは複合オブジェクトの1部
分だけがコピーされる場合に相当するが、その再定義は
複合オブジェクト構造の最上部においては明白でない。
例えば、Bill of Material(BOM)データは計画、エ
ンジニアリング及び提供者のビューを有する。しかしな
がら、項目データは全てのビューに共通である。新たな
項目及びBOMを生成するための計画ビューのコピー
は、項目データを含まなければならない。しかしなが
ら、計画識別は項目データに対応する論理キーの1部で
はないために、コピーが項目ヘッダからBOMヘッダに
カスケードする時、これはそのキー内では使用可能でな
い。図22は購買注文複合オブジェクト構造を使用して
カスケードされるコピーの例を示す。
を拡張するメソッドは、特殊環境における再定義を許可
するように設計される。これは複合オブジェクトの1部
分だけがコピーされる場合に相当するが、その再定義は
複合オブジェクト構造の最上部においては明白でない。
例えば、Bill of Material(BOM)データは計画、エ
ンジニアリング及び提供者のビューを有する。しかしな
がら、項目データは全てのビューに共通である。新たな
項目及びBOMを生成するための計画ビューのコピー
は、項目データを含まなければならない。しかしなが
ら、計画識別は項目データに対応する論理キーの1部で
はないために、コピーが項目ヘッダからBOMヘッダに
カスケードする時、これはそのキー内では使用可能でな
い。図22は購買注文複合オブジェクト構造を使用して
カスケードされるコピーの例を示す。
【0062】複合オブジェクトのプレゼンテーションの
パネル・フローは、複合オブジェクトの階層構造に従
う。4つのタイプのパネルが使用される。メニュー・パ
ネルは処理される様々なタイプの複合オブジェクトをリ
ストする。リスト・パネルは単純オブジェクトまたは複
合オブジェクトをリストする。リスト内のオブジェクト
が複合(サブオブジェクトを有する)の場合、次に表示
されるパネルはパーツ・パネルである。パーツ・パネル
は複合オブジェクト(サブオブジェクトを有するオブジ
ェクト)に対して使用される。オブジェクト自身、また
は任意のサブオブジェクトがパネルから選択される。例
えば、購買注文ヘッダは購買注文ライン及び購買注文テ
キストをサブオブジェクトとして有するため、購買注文
ヘッダに対応するパーツ・パネルは購買注文ヘッダ、購
買注文ライン、または購買注文テキストの選択を許可す
る。選択の結果、選択されたオブジェクトのリストが表
示される(サブオブジェクトの論理キーがパーツ・パネ
ルの統括オブジェクトの論理キーを拡張する場合)。論
理キーが同じ場合、データ・エントリまたはパーツ・パ
ネル(サブオブジェクト自身が複合の場合)が表示され
る。最後に、データ・エントリ・パネルが単純オブジェ
クトに関連するデータのビュー及び更新を許可する。こ
れらはパネル・フローのエンド・ノードである。
パネル・フローは、複合オブジェクトの階層構造に従
う。4つのタイプのパネルが使用される。メニュー・パ
ネルは処理される様々なタイプの複合オブジェクトをリ
ストする。リスト・パネルは単純オブジェクトまたは複
合オブジェクトをリストする。リスト内のオブジェクト
が複合(サブオブジェクトを有する)の場合、次に表示
されるパネルはパーツ・パネルである。パーツ・パネル
は複合オブジェクト(サブオブジェクトを有するオブジ
ェクト)に対して使用される。オブジェクト自身、また
は任意のサブオブジェクトがパネルから選択される。例
えば、購買注文ヘッダは購買注文ライン及び購買注文テ
キストをサブオブジェクトとして有するため、購買注文
ヘッダに対応するパーツ・パネルは購買注文ヘッダ、購
買注文ライン、または購買注文テキストの選択を許可す
る。選択の結果、選択されたオブジェクトのリストが表
示される(サブオブジェクトの論理キーがパーツ・パネ
ルの統括オブジェクトの論理キーを拡張する場合)。論
理キーが同じ場合、データ・エントリまたはパーツ・パ
ネル(サブオブジェクト自身が複合の場合)が表示され
る。最後に、データ・エントリ・パネルが単純オブジェ
クトに関連するデータのビュー及び更新を許可する。こ
れらはパネル・フローのエンド・ノードである。
【0063】図23乃至図25は購買注文複合オブジェ
クトを使用する例を表す。購買注文のリストが主メニュ
ー・パネルから選択される。選択ポップアップはリスト
内に現れる購買注文を制限する。購買注文は複合オブジ
ェクトであるので、購買注文がオープンされる時に、デ
ータ・エントリ・パネルの代わりにパーツ・パネルが表
示される。図23を参照されたい。購買注文はバージョ
ン制御されるので、この初期リストからの選択の間に、
任意のバージョン選択基準が考慮されなければならな
い。リストを選択するための選択ポップアップは選択す
るバージョンの制限を含む。既に述べたように、バージ
ョン選択情報は、第1のパーツ・パネル及び全ての続く
パネルに対応する統括オブジェクト・リストに含まれる
コンテキスト・オブジェクトの1部となる。
クトを使用する例を表す。購買注文のリストが主メニュ
ー・パネルから選択される。選択ポップアップはリスト
内に現れる購買注文を制限する。購買注文は複合オブジ
ェクトであるので、購買注文がオープンされる時に、デ
ータ・エントリ・パネルの代わりにパーツ・パネルが表
示される。図23を参照されたい。購買注文はバージョ
ン制御されるので、この初期リストからの選択の間に、
任意のバージョン選択基準が考慮されなければならな
い。リストを選択するための選択ポップアップは選択す
るバージョンの制限を含む。既に述べたように、バージ
ョン選択情報は、第1のパーツ・パネル及び全ての続く
パネルに対応する統括オブジェクト・リストに含まれる
コンテキスト・オブジェクトの1部となる。
【0064】選択が実行される時、パーツ・パネルはオ
ープンされるパネルがリスト・パネル、パーツ・パネル
またはデータ・エントリ・パネルかをチェックする。パ
ネルがリスト・パネルの場合、(作業オブジェクトが追
加された)統括オブジェクト・リストを渡すことによ
り、open_partメソッドが呼出される。リスト・パネルo
pen_partは次に統括オブジェクト・リスト内の情報を使
用し、適切な種類のオブジェクトのストリームを生成す
る。本発明はここで提供される論理キー及びストリーム
関係を利用するために、ストリームの生成を特殊化す
る。例えば、図24に示されるように、ラインが選択さ
れる場合、購買注文番号Purchase Order1(PO1) に
一致するラインのストリームが選択される。
ープンされるパネルがリスト・パネル、パーツ・パネル
またはデータ・エントリ・パネルかをチェックする。パ
ネルがリスト・パネルの場合、(作業オブジェクトが追
加された)統括オブジェクト・リストを渡すことによ
り、open_partメソッドが呼出される。リスト・パネルo
pen_partは次に統括オブジェクト・リスト内の情報を使
用し、適切な種類のオブジェクトのストリームを生成す
る。本発明はここで提供される論理キー及びストリーム
関係を利用するために、ストリームの生成を特殊化す
る。例えば、図24に示されるように、ラインが選択さ
れる場合、購買注文番号Purchase Order1(PO1) に
一致するラインのストリームが選択される。
【0065】次のパネルがデータ・エントリ・パネルの
場合、作業オブジェクトがパーツ・パネルに対応する作
業オブジェクトと同じかどうかがチェックされる。同じ
でない場合、本発明によりfind_applicable を呼出すた
めに再定義される新たな作業オブジェクトに対するfind
_internal メソッドが、オープンする新たな作業オブジ
ェクトのインスタンスを見い出すために使用される。こ
れは属性が追加されない場合、すなわち統括オブジェク
ト対サブオブジェクトの関係が1対1の場合に、論理キ
ーが同じままであることを仮定する。従って、パーツ・
パネルに対応する作業オブジェクトの論理キー(例えば
購買注文ヘッダ論理キー)が、選択されるオブジェクト
(例えば購買注文テキスト)のfind_applicable メソッ
ドに渡される。この例では、1つの購買注文(及びバー
ジョン)に対して、1つの購買注文テキスト・オブジェ
クトだけが存在し、これが購買注文番号(Purchase Ord
er1 )及びバージョン(Ver2)により一意的に識別され
る。図25を参照されたい。次のパネルがパーツ・パネ
ルであれば、処理は次のパネルがデータ・エントリ・パ
ネルである時と同様となる。
場合、作業オブジェクトがパーツ・パネルに対応する作
業オブジェクトと同じかどうかがチェックされる。同じ
でない場合、本発明によりfind_applicable を呼出すた
めに再定義される新たな作業オブジェクトに対するfind
_internal メソッドが、オープンする新たな作業オブジ
ェクトのインスタンスを見い出すために使用される。こ
れは属性が追加されない場合、すなわち統括オブジェク
ト対サブオブジェクトの関係が1対1の場合に、論理キ
ーが同じままであることを仮定する。従って、パーツ・
パネルに対応する作業オブジェクトの論理キー(例えば
購買注文ヘッダ論理キー)が、選択されるオブジェクト
(例えば購買注文テキスト)のfind_applicable メソッ
ドに渡される。この例では、1つの購買注文(及びバー
ジョン)に対して、1つの購買注文テキスト・オブジェ
クトだけが存在し、これが購買注文番号(Purchase Ord
er1 )及びバージョン(Ver2)により一意的に識別され
る。図25を参照されたい。次のパネルがパーツ・パネ
ルであれば、処理は次のパネルがデータ・エントリ・パ
ネルである時と同様となる。
【0066】複合オブジェクトのロックを実施するため
に、2つのメソッド update_allowed及びopen_allowedが使用される。これら
は具体化オブジェクト(EKNZEXTO)のメソッドであり、
対話式及びバッチ処理の両者により呼出される。これら
両メソッドは現統括オブジェクト・リストをパスされ
る。メソッドは統括オブジェクト・リスト内の対象の統
括オブジェクトを見い出すために、及び更新(または表
示)が許可されるかどうかを判断するために統括オブジ
ェクトの適切なメソッドを呼出すために、各アプリケー
ションにより再定義される。これらの決定は、通常、ア
プリケーション領域内において一意的であるので、アプ
リケーション・メタクラスEKNAA201のopen_allowed及び
update_allowedメソッドを呼出すために、update_allow
ed及びopen_allowedメソッドがEKNAA2A1内で再定義され
る。これは特定の複合オブジェクトが、EKNAA201内でメ
ソッドを再定義することにより、その複合オブジェクト
のロック方法を変更することを許可する(それにより柔
軟性を強化する)。EKNAA2A2はまたupdate_allowedを呼
出すためのcheck_tagsメソッドを再定義し、更新が許可
されない場合に限り、完全なパネル表示を実施する。こ
れはまたFile.Saveを禁止する。check_tagsメソッドは
上記引用された米国特許出願第101904号の中で述
べられている。
に、2つのメソッド update_allowed及びopen_allowedが使用される。これら
は具体化オブジェクト(EKNZEXTO)のメソッドであり、
対話式及びバッチ処理の両者により呼出される。これら
両メソッドは現統括オブジェクト・リストをパスされ
る。メソッドは統括オブジェクト・リスト内の対象の統
括オブジェクトを見い出すために、及び更新(または表
示)が許可されるかどうかを判断するために統括オブジ
ェクトの適切なメソッドを呼出すために、各アプリケー
ションにより再定義される。これらの決定は、通常、ア
プリケーション領域内において一意的であるので、アプ
リケーション・メタクラスEKNAA201のopen_allowed及び
update_allowedメソッドを呼出すために、update_allow
ed及びopen_allowedメソッドがEKNAA2A1内で再定義され
る。これは特定の複合オブジェクトが、EKNAA201内でメ
ソッドを再定義することにより、その複合オブジェクト
のロック方法を変更することを許可する(それにより柔
軟性を強化する)。EKNAA2A2はまたupdate_allowedを呼
出すためのcheck_tagsメソッドを再定義し、更新が許可
されない場合に限り、完全なパネル表示を実施する。こ
れはまたFile.Saveを禁止する。check_tagsメソッドは
上記引用された米国特許出願第101904号の中で述
べられている。
【0067】幾人かのユーザが同時に同一の複合オブジ
ェクト内のデータを更新する可能性がある。これは統括
オブジェクトがサブオブジェクトの更新をもはや許可し
ない(例えばECにより影響されるBOMコンポーネン
トが更新される間に、そのECがリリース状態にプロモ
ートされる)、或いは新たなサブオブジェクトが追加さ
れるか、既存のサブオブジェクトが更新される時に、統
括オブジェクトが消去される(例えばBOMコンポーネ
ントがBOMに追加される間に、BOMヘッダが消去さ
れる)など統括オブジェクトが更新される場合にデータ
保全性の問題となる。これらの問題に対する保護のため
に、総称データ・エントリ・パネル及び総称リスト・パ
ネルが妥当性検証を呼出し、内部オブジェクト内で処理
する以前に、統括オブジェクト・リスト内の一貫するオ
ブジェクトの再実体化を実施する。これは妥当性検証が
統括オブジェクトが使用可能なほとんどの現データに対
して実施されることを保証する。
ェクト内のデータを更新する可能性がある。これは統括
オブジェクトがサブオブジェクトの更新をもはや許可し
ない(例えばECにより影響されるBOMコンポーネン
トが更新される間に、そのECがリリース状態にプロモ
ートされる)、或いは新たなサブオブジェクトが追加さ
れるか、既存のサブオブジェクトが更新される時に、統
括オブジェクトが消去される(例えばBOMコンポーネ
ントがBOMに追加される間に、BOMヘッダが消去さ
れる)など統括オブジェクトが更新される場合にデータ
保全性の問題となる。これらの問題に対する保護のため
に、総称データ・エントリ・パネル及び総称リスト・パ
ネルが妥当性検証を呼出し、内部オブジェクト内で処理
する以前に、統括オブジェクト・リスト内の一貫するオ
ブジェクトの再実体化を実施する。これは妥当性検証が
統括オブジェクトが使用可能なほとんどの現データに対
して実施されることを保証する。
【0068】更に総称データ・エントリ・パネル内のFi
le.Saveメソッドはupdate_allowedへの追加呼出しを生
成し、再度統括オブジェクト・リスト内の一貫するオブ
ジェクトの再実体化を実施する。追加オプションとし
て、File.Delete及びFile.Saveアクションが統括オブ
ジェクト・リスト内の各オブジェクトに対して通知を実
行する。これは統括オブジェクト・リスト内のオブジェ
クトに対して、これらが最後に再実体化された時から、
更新されたオブジェクトが実際にデータベースに記憶さ
れるまでの間に、更新が発生しないことを保証する。こ
の追加チェックはクラス属性により制御され、選択的に
呼出される。
le.Saveメソッドはupdate_allowedへの追加呼出しを生
成し、再度統括オブジェクト・リスト内の一貫するオブ
ジェクトの再実体化を実施する。追加オプションとし
て、File.Delete及びFile.Saveアクションが統括オブ
ジェクト・リスト内の各オブジェクトに対して通知を実
行する。これは統括オブジェクト・リスト内のオブジェ
クトに対して、これらが最後に再実体化された時から、
更新されたオブジェクトが実際にデータベースに記憶さ
れるまでの間に、更新が発生しないことを保証する。こ
の追加チェックはクラス属性により制御され、選択的に
呼出される。
【0069】まとめとして、本発明の構成に関して以下
の事項を開示する。
の事項を開示する。
【0070】(1)各々が、データ属性を含むオブジェ
クト・フレームと関連オブジェクトに対してアクション
を実行するための少なくとも1つのオブジェクト・メソ
ッドとを含み、子が親のデータ属性及びメソッドを継承
するような継承階層で構成される複数のオブジェクトを
含むコンピュータ・プラットフォームと、上記オブジェ
クトにメッセージを送信して、関連オブジェクト・メッ
セージにより関連オブジェクト・フレームにアクション
を実行するオブジェクト・マネージャと、ユーザ要求に
応答して、親及び子オブジェクトとして互いに無関係な
上記オブジェクトを複合オブジェクトにグループ化する
手段であって、各複合オブジェクト・メンバが、親及び
子オブジェクトとして互いに無関係なグループ化された
オブジェクトに対するポインタを含む複合オブジェクト
・メンバ・フレームと、該グループ化されたオブジェク
トに対してグループとしてアクションを実行するための
複数の複合オブジェクト・メソッドを含むグループ化手
段とを具備し、上記オブジェクト・マネージャが、関連
複合オブジェクト・メソッドによりグループ化されたオ
ブジェクトにアクションを実行するために、上記複合オ
ブジェクト・メンバにアクション・メッセージを送信す
る、オブジェクト指向コンピュータ・システム。 (2)上記複合オブジェクト・メンバ・フレームが、複
合オブジェクトにより制御されるサブオブジェクトと複
合オブジェクトのパフォーマンスを制御する少なくとも
1つの統括オブジェクトに対する少なくとも1つのポイ
ンタを含む、上記(1)記載のオブジェクト指向コンピ
ュータ・システム。 (3)上記複合オブジェクト・メンバのインスタンスを
識別する手段を含む、上記(2)記載のオブジェクト指
向コンピュータ・システム。 (4)上記識別手段が、ユーザ要求に応答して、上記の
各複合オブジェクト・メンバに対応する論理キーの継承
階層を生成する手段であって、各論理キー属性が関連複
合オブジェクトを形成するオブジェクトのインスタンス
を識別する属性を有する論理キー継承階層生成手段を含
む、上記(3)記載のオブジェクト指向コンピュータ・
システム。 (5)上記識別手段が、上記論理キー継承階層生成手段
に応答して、関連複合オブジェクトを形成するそれぞれ
のオブジェクトの論理キー属性を、関連複合オブジェク
トを形成するそれぞれのオブジェクトのオブジェクト・
フレーム内に配置する手段を含む、上記(4)記載のオ
ブジェクト指向コンピュータ・システム。 (6)論理キー属性の上記継承階層が関連複合オブジェ
クト内の統括オブジェクト対サブオブジェクト関係を反
映するように生成される、上記(4)または(5)記載
のオブジェクト指向コンピュータ・システム。 (7)上記複合オブジェクト・メソッドが複合オブジェ
クトを消去するメソッド、及び複合オブジェクトをコピ
ーするメソッドを含む、上記(1)記載のオブジェクト
指向コンピュータ・システム。 (8)コンピュータ・プラットフォーム上のオブジェク
ト指向コンピュータ・システムにおいてオブジェクトに
アクションを実行する方法であって、上記オブジェクト
指向コンピュータ・システムが、各々が、データ属性を
含むオブジェクト・フレーム及び関連オブジェクトにア
クションを実行する少なくとも1つのオブジェクト・メ
ソッドを含むとともに、子が親のデータ属性及びメソッ
ドを継承するような継承階層内で構成される複数のオブ
ジェクトと、該オブジェクトにメッセージを送信して、
関連オブジェクト・メッセージにより関連オブジェクト
・フレームにアクションを実行するオブジェクト・マネ
ージャとを具備し、上記アクション実行メソッドが、ユ
ーザ要求に応答して上記オブジェクト指向コンピューテ
ィング・システムにより実行される以下のステップ、す
なわち、親及び子オブジェクトとして互いに無関係な上
記オブジェクトを複合オブジェクトにグループ化するス
テップであって、各複合オブジェクト・メンバが、親及
び子オブジェクトとして互いに無関係なグループ化され
たオブジェクトに対するポインタを含む複合オブジェク
ト・メンバ・フレームと、該グループ化されたオブジェ
クトに対してグループとしてアクションを実行するため
の複数の複合オブジェクト・メソッドを含むようなグル
ープ化ステップと、関連複合オブジェクト・メソッドに
よりグループ化されたオブジェクトにアクションを実行
するために、上記複合オブジェクト・メンバにアクショ
ン・メッセージを送信するステップを含む、オブジェク
ト実行方法。 (9)上記複合オブジェクト・フレームが、複合オブジ
ェクトにより制御されるサブオブジェクトと複合オブジ
ェクトのパフォーマンスを制御する少なくとも1つの統
括オブジェクトに対する少なくとも1つのポインタを含
む、上記(8)記載の方法。 (10)上記送信ステップに先立って実行される、各上
記複合オブジェクトに対応する論理キー属性の継承階層
の生成ステップを含み、各論理キー属性が関連複合オブ
ジェクトを形成するオブジェクトのインスタンスに対す
るポインタを含む、上記(9)記載の方法。 (11)上記継承階層生成ステップの次に、関連複合オ
ブジェクトを形成するそれぞれのオブジェクトの論理キ
ー属性を、関連複合オブジェクトを形成するそれぞれの
オブジェクトのオブジェクト・フレーム内に配置するス
テップが実行される、上記(9)記載の方法。 (12)コンピュータ・プラットフォーム上のオブジェ
クト指向コンピュータ・システムにおいてオブジェクト
にアクションを実行する方法であって、上記オブジェク
ト指向コンピュータ・システムが、各々が、データ属性
を含むオブジェクト・フレーム及び関連オブジェクトに
アクションを実行する少なくとも1つのオブジェクト・
メソッドを含むとともに、子が親のデータ属性及びメソ
ッドを継承するような継承階層内で構成される複数のオ
ブジェクトと、該オブジェクトにメッセージを送信し
て、関連オブジェクト・メッセージにより関連オブジェ
クト・フレームにアクションを実行するオブジェクト・
マネージャとを具備し、上記アクション実行メソッド
が、ユーザ要求に応答して上記オブジェクト指向コンピ
ューティング・システムにより実行される以下のステッ
プ、すなわち、親及び子オブジェクトとして互いに無関
係な上記オブジェクトを複合オブジェクトにグループ化
するステップであって、各複合オブジェクト・メンバ
が、該複合オブジェクト・メンバにより制御されるサブ
オブジェクトと該複合オブジェクト・メンバのパフォー
マンスを制御する少なくとも1つの統括オブジェクトに
対する少なくとも1つポインタを含む複合オブジェクト
・メンバ・フレーム並びにグループ化されたオブジェク
トに対してグループとしてアクションを実行するための
複数の複合オブジェクト・メソッドを含むようなグルー
プ化ステップと、統括オブジェクト及びサブオブジェク
トに対するポインタを関連複合オブジェクト・メンバ・
フレーム内に配置するステップと、統括オブジェクト及
びサブオブジェクトのインスタンスに対するポインタを
含む、各複合オブジェクト・メンバに対する論理キーを
識別するステップと、関連複合オブジェクト・メンバの
統括オブジェクト対サブオブジェクト関係に従い、各複
合オブジェクトに対応する論理キーの継承階層を生成す
るステップと、各複合オブジェクト・メンバの論理キー
をそのオブジェクト・フレーム内に配置するステップ
と、を含む、オブジェクト実行方法。 (13)上記複合オブジェクトの1つのインスタンスに
転送されるアクション・メッセージに応答して実行され
る以下のステップ、すなわち、上記複合オブジェクトの
統括オブジェクト及びサブオブジェクトを識別するステ
ップと、識別された統括オブジェクト及びサブオブジェ
クトを実体化するステップと、上記複合オブジェクトの
論理キーを獲得するステップと、獲得された上記複合オ
ブジェクトの論理キー及び該論理キーの継承階層にもと
づき、該複合オブジェクトのインスタンスを識別するス
テップと、アクション・メッセージを上記複合オブジェ
クトの識別されたインスタンスに対して実行するステッ
プと、を含む、上記(12)記載の方法。
クト・フレームと関連オブジェクトに対してアクション
を実行するための少なくとも1つのオブジェクト・メソ
ッドとを含み、子が親のデータ属性及びメソッドを継承
するような継承階層で構成される複数のオブジェクトを
含むコンピュータ・プラットフォームと、上記オブジェ
クトにメッセージを送信して、関連オブジェクト・メッ
セージにより関連オブジェクト・フレームにアクション
を実行するオブジェクト・マネージャと、ユーザ要求に
応答して、親及び子オブジェクトとして互いに無関係な
上記オブジェクトを複合オブジェクトにグループ化する
手段であって、各複合オブジェクト・メンバが、親及び
子オブジェクトとして互いに無関係なグループ化された
オブジェクトに対するポインタを含む複合オブジェクト
・メンバ・フレームと、該グループ化されたオブジェク
トに対してグループとしてアクションを実行するための
複数の複合オブジェクト・メソッドを含むグループ化手
段とを具備し、上記オブジェクト・マネージャが、関連
複合オブジェクト・メソッドによりグループ化されたオ
ブジェクトにアクションを実行するために、上記複合オ
ブジェクト・メンバにアクション・メッセージを送信す
る、オブジェクト指向コンピュータ・システム。 (2)上記複合オブジェクト・メンバ・フレームが、複
合オブジェクトにより制御されるサブオブジェクトと複
合オブジェクトのパフォーマンスを制御する少なくとも
1つの統括オブジェクトに対する少なくとも1つのポイ
ンタを含む、上記(1)記載のオブジェクト指向コンピ
ュータ・システム。 (3)上記複合オブジェクト・メンバのインスタンスを
識別する手段を含む、上記(2)記載のオブジェクト指
向コンピュータ・システム。 (4)上記識別手段が、ユーザ要求に応答して、上記の
各複合オブジェクト・メンバに対応する論理キーの継承
階層を生成する手段であって、各論理キー属性が関連複
合オブジェクトを形成するオブジェクトのインスタンス
を識別する属性を有する論理キー継承階層生成手段を含
む、上記(3)記載のオブジェクト指向コンピュータ・
システム。 (5)上記識別手段が、上記論理キー継承階層生成手段
に応答して、関連複合オブジェクトを形成するそれぞれ
のオブジェクトの論理キー属性を、関連複合オブジェク
トを形成するそれぞれのオブジェクトのオブジェクト・
フレーム内に配置する手段を含む、上記(4)記載のオ
ブジェクト指向コンピュータ・システム。 (6)論理キー属性の上記継承階層が関連複合オブジェ
クト内の統括オブジェクト対サブオブジェクト関係を反
映するように生成される、上記(4)または(5)記載
のオブジェクト指向コンピュータ・システム。 (7)上記複合オブジェクト・メソッドが複合オブジェ
クトを消去するメソッド、及び複合オブジェクトをコピ
ーするメソッドを含む、上記(1)記載のオブジェクト
指向コンピュータ・システム。 (8)コンピュータ・プラットフォーム上のオブジェク
ト指向コンピュータ・システムにおいてオブジェクトに
アクションを実行する方法であって、上記オブジェクト
指向コンピュータ・システムが、各々が、データ属性を
含むオブジェクト・フレーム及び関連オブジェクトにア
クションを実行する少なくとも1つのオブジェクト・メ
ソッドを含むとともに、子が親のデータ属性及びメソッ
ドを継承するような継承階層内で構成される複数のオブ
ジェクトと、該オブジェクトにメッセージを送信して、
関連オブジェクト・メッセージにより関連オブジェクト
・フレームにアクションを実行するオブジェクト・マネ
ージャとを具備し、上記アクション実行メソッドが、ユ
ーザ要求に応答して上記オブジェクト指向コンピューテ
ィング・システムにより実行される以下のステップ、す
なわち、親及び子オブジェクトとして互いに無関係な上
記オブジェクトを複合オブジェクトにグループ化するス
テップであって、各複合オブジェクト・メンバが、親及
び子オブジェクトとして互いに無関係なグループ化され
たオブジェクトに対するポインタを含む複合オブジェク
ト・メンバ・フレームと、該グループ化されたオブジェ
クトに対してグループとしてアクションを実行するため
の複数の複合オブジェクト・メソッドを含むようなグル
ープ化ステップと、関連複合オブジェクト・メソッドに
よりグループ化されたオブジェクトにアクションを実行
するために、上記複合オブジェクト・メンバにアクショ
ン・メッセージを送信するステップを含む、オブジェク
ト実行方法。 (9)上記複合オブジェクト・フレームが、複合オブジ
ェクトにより制御されるサブオブジェクトと複合オブジ
ェクトのパフォーマンスを制御する少なくとも1つの統
括オブジェクトに対する少なくとも1つのポインタを含
む、上記(8)記載の方法。 (10)上記送信ステップに先立って実行される、各上
記複合オブジェクトに対応する論理キー属性の継承階層
の生成ステップを含み、各論理キー属性が関連複合オブ
ジェクトを形成するオブジェクトのインスタンスに対す
るポインタを含む、上記(9)記載の方法。 (11)上記継承階層生成ステップの次に、関連複合オ
ブジェクトを形成するそれぞれのオブジェクトの論理キ
ー属性を、関連複合オブジェクトを形成するそれぞれの
オブジェクトのオブジェクト・フレーム内に配置するス
テップが実行される、上記(9)記載の方法。 (12)コンピュータ・プラットフォーム上のオブジェ
クト指向コンピュータ・システムにおいてオブジェクト
にアクションを実行する方法であって、上記オブジェク
ト指向コンピュータ・システムが、各々が、データ属性
を含むオブジェクト・フレーム及び関連オブジェクトに
アクションを実行する少なくとも1つのオブジェクト・
メソッドを含むとともに、子が親のデータ属性及びメソ
ッドを継承するような継承階層内で構成される複数のオ
ブジェクトと、該オブジェクトにメッセージを送信し
て、関連オブジェクト・メッセージにより関連オブジェ
クト・フレームにアクションを実行するオブジェクト・
マネージャとを具備し、上記アクション実行メソッド
が、ユーザ要求に応答して上記オブジェクト指向コンピ
ューティング・システムにより実行される以下のステッ
プ、すなわち、親及び子オブジェクトとして互いに無関
係な上記オブジェクトを複合オブジェクトにグループ化
するステップであって、各複合オブジェクト・メンバ
が、該複合オブジェクト・メンバにより制御されるサブ
オブジェクトと該複合オブジェクト・メンバのパフォー
マンスを制御する少なくとも1つの統括オブジェクトに
対する少なくとも1つポインタを含む複合オブジェクト
・メンバ・フレーム並びにグループ化されたオブジェク
トに対してグループとしてアクションを実行するための
複数の複合オブジェクト・メソッドを含むようなグルー
プ化ステップと、統括オブジェクト及びサブオブジェク
トに対するポインタを関連複合オブジェクト・メンバ・
フレーム内に配置するステップと、統括オブジェクト及
びサブオブジェクトのインスタンスに対するポインタを
含む、各複合オブジェクト・メンバに対する論理キーを
識別するステップと、関連複合オブジェクト・メンバの
統括オブジェクト対サブオブジェクト関係に従い、各複
合オブジェクトに対応する論理キーの継承階層を生成す
るステップと、各複合オブジェクト・メンバの論理キー
をそのオブジェクト・フレーム内に配置するステップ
と、を含む、オブジェクト実行方法。 (13)上記複合オブジェクトの1つのインスタンスに
転送されるアクション・メッセージに応答して実行され
る以下のステップ、すなわち、上記複合オブジェクトの
統括オブジェクト及びサブオブジェクトを識別するステ
ップと、識別された統括オブジェクト及びサブオブジェ
クトを実体化するステップと、上記複合オブジェクトの
論理キーを獲得するステップと、獲得された上記複合オ
ブジェクトの論理キー及び該論理キーの継承階層にもと
づき、該複合オブジェクトのインスタンスを識別するス
テップと、アクション・メッセージを上記複合オブジェ
クトの識別されたインスタンスに対して実行するステッ
プと、を含む、上記(12)記載の方法。
【0071】
【発明の効果】以上説明したように、本発明によれば、
オブジェクト指向コンピューティング環境内で複合オブ
ジェクトを支援するシステム及び方法が提供され、それ
により生成されなければならないカストマイズ・プログ
ラミングの量が著しく低減される。
オブジェクト指向コンピューティング環境内で複合オブ
ジェクトを支援するシステム及び方法が提供され、それ
により生成されなければならないカストマイズ・プログ
ラミングの量が著しく低減される。
【図1】本発明が動作するハードウェア環境及びソフト
ウェア環境を表す図である。
ウェア環境を表す図である。
【図2】オブジェクト指向コンピューティング・システ
ムの主コンポーネントを表す図である。
ムの主コンポーネントを表す図である。
【図3】オブジェクト指向コンピューティング・システ
ム内の継承階層の例を表す図である。
ム内の継承階層の例を表す図である。
【図4】複数のオブジェクトの内の少なくとも幾つかが
本発明による論理キー属性を含む、複数のオブジェクト
を表す図である。
本発明による論理キー属性を含む、複数のオブジェクト
を表す図である。
【図5】本発明による複合オブジェクト・メンバ・クラ
スを表す図である。
スを表す図である。
【図6】本発明による論理キー・クラスの継承階層を表
す図である。
す図である。
【図7】本発明による複合オブジェクト処理を実施する
ために、オブジェクト指向環境のビルド・タイム時に実
行されるオペレーションを表す図である。
ために、オブジェクト指向環境のビルド・タイム時に実
行されるオペレーションを表す図である。
【図8】本発明による複合オブジェクト処理を実施する
ために、オブジェクト指向環境のラン・タイム時に実行
されるオペレーションを表す図である。
ために、オブジェクト指向環境のラン・タイム時に実行
されるオペレーションを表す図である。
【図9】本発明による複合オブジェクト・クラスを含む
オブジェクト指向コンピューティング環境を表す図であ
る。
オブジェクト指向コンピューティング環境を表す図であ
る。
【図10】本発明による論理キー・オブジェクト・クラ
スを表す図である。
スを表す図である。
【図11】本発明によるオブジェクト階層内のアプリケ
ーション・メタクラスを表す図である。
ーション・メタクラスを表す図である。
【図12】本発明による購買注文複合オブジェクト構造
の例を表す図である。
の例を表す図である。
【図13】図12の購買注文複合オブジェクト構造にお
ける論理キー・クラスの継承階層を表す図である。
ける論理キー・クラスの継承階層を表す図である。
【図14】図12の購買注文複合オブジェクト構造の統
括オブジェクト・リストを表す図である。
括オブジェクト・リストを表す図である。
【図15】本発明による統括オブジェクト・リストの生
成を表す図である。
成を表す図である。
【図16】本発明による統括オブジェクト・リストの生
成を表す図である。
成を表す図である。
【図17】本発明による統括オブジェクト・リストの生
成を表す図である。
成を表す図である。
【図18】本発明による統括オブジェクト・リストの生
成を表す図である。
成を表す図である。
【図19】本発明による統括オブジェクト・リストの生
成を表す図である。
成を表す図である。
【図20】本発明による統括オブジェクト・リストの生
成を表す図である。
成を表す図である。
【図21】統括オブジェクト・リストを本発明によるバ
ージョン制御オブジェクトと一緒に使用する様子を表す
図である。
ージョン制御オブジェクトと一緒に使用する様子を表す
図である。
【図22】本発明による複合オブジェクトのコピーを表
す図である。
す図である。
【図23】購買注文複合オブジェクトを使用する例を表
す図である。
す図である。
【図24】購買注文複合オブジェクトを使用する例を表
す図である。
す図である。
【図25】購買注文複合オブジェクトを使用する例を表
す図である。
す図である。
11 オブジェクト指向コンピューティング 12 コンピュータ・プラットフォーム 13 コンンピュータ・ハードウェア・ユニット 14 中央処理ユニット(CPU) 15 主メモリ 16 入出力(I/O)インタフェース 21 表示端末 22 入力装置 23 不揮発データ記憶装置 24 プリンタ 26 マイクロ命令コード 28 オペレーティング・システム 51 メッセンジャ 52 オブジェクト管理テーブル 53 ロード・クラス・テーブル 56 データ・フレーム 123 購買番号 456 購買注文
───────────────────────────────────────────────────── フロントページの続き (72)発明者 フランシス・エル・フィッツパトリック アメリカ合衆国78750、テキサス州オー スティン、バーリーウッド・トレイル 12507 (72)発明者 チャールズ・ビィ・ハーベィ、ジュニア アメリカ合衆国78727、テキサス州オー スティン、ターキー・ラン 13005 (72)発明者 エイドリーン・チン アメリカ合衆国07660、ニュージャージ ー州リッジフィールド・パーク、エル ム・ストリート 56 (72)発明者 ジェームズ・アール・ウェッソン アメリカ合衆国10987、ニューヨーク州 タキシード、ボックス 155、ルーラ ル・ルート 1 (56)参考文献 特開 平5−20080(JP,A) 特開 平3−172942(JP,A) 特開 平3−3039(JP,A) 「情報処理学会研究報告」Vol. 92,No.86(92−DBS−91)(1992 −11−5)P.31−36 (58)調査した分野(Int.Cl.6,DB名) G06F 9/44,9/06
Claims (13)
- 【請求項1】各々が、データ属性を含むオブジェクト・
フレームと関連オブジェクトに対してアクションを実行
するための少なくとも1つのオブジェクト・メソッドと
を含み、子が親のデータ属性及びメソッドを継承するよ
うな継承階層で構成される複数のオブジェクトを含むコ
ンピュータ・プラットフォームと、 上記オブジェクトにメッセージを送信して、関連オブジ
ェクト・メッセージにより関連オブジェクト・フレーム
にアクションを実行するオブジェクト・マネージャと、 ユーザ要求に応答して、親子関係を有しない互いに無関
係な上記オブジェクトを複合オブジェクトにグループ化
する手段であって、各複合オブジェクト・メンバが、親
子関係を有しない互いに無関係なグループ化されたオブ
ジェクトに対するポインタを含む複合オブジェクト・メ
ンバ・フレームと、該グループ化されたオブジェクトに
対してグループとしてアクションを実行するための複数
の複合オブジェクト・メソッドを含むグループ化手段と
を具備し、 上記オブジェクト・マネージャが、関連複合オブジェク
ト・メソッドによりグループ化されたオブジェクトにア
クションを実行するために、上記複合オブジェクト・メ
ンバにアクション・メッセージを送信する、オブジェク
ト指向コンピュータ・システム。 - 【請求項2】上記複合オブジェクト・メンバ・フレーム
が、複合オブジェクトにより制御されるサブオブジェク
トと複合オブジェクトのパフォーマンスを制御する少な
くとも1つの統括オブジェクトに対する少なくとも1つ
のポインタを含む、請求項1記載のオブジェクト指向コ
ンピュータ・システム。 - 【請求項3】上記複合オブジェクト・メンバのインスタ
ンスを識別する手段を含む、請求項2記載のオブジェク
ト指向コンピュータ・システム。 - 【請求項4】上記識別手段が、ユーザ要求に応答して、
上記の各複合オブジェクト・メンバに対応する論理キー
の継承階層を生成する手段であって、各論理キー属性が
関連複合オブジェクトを形成するオブジェクトのインス
タンスを識別する属性を有する論理キー継承階層生成手
段を含む、請求項3記載のオブジェクト指向コンピュー
タ・システム。 - 【請求項5】上記識別手段が、上記論理キー継承階層生
成手段に応答して、関連複合オブジェクトを形成するそ
れぞれのオブジェクトの論理キー属性を、関連複合オブ
ジェクトを形成するそれぞれのオブジェクトのオブジェ
クト・フレーム内に配置する手段を含む、請求項4記載
のオブジェクト指向コンピュータ・システム。 - 【請求項6】論理キー属性の上記継承階層が関連複合オ
ブジェクト内の統括オブジェクト対サブオブジェクト関
係を反映するように生成される、請求項4または5記載
のオブジェクト指向コンピュータ・システム。 - 【請求項7】上記複合オブジェクト・メソッドが複合オ
ブジェクトを消去するメソッド、及び複合オブジェクト
をコピーするメソッドを含む、請求項1記載のオブジェ
クト指向コンピュータ・システム。 - 【請求項8】コンピュータ・プラットフォーム上のオブ
ジェクト指向コンピュータ・システムにおいてオブジェ
クトにアクションを実行する方法であって、 上記オブジェクト指向コンピュータ・システムが、各々
が、データ属性を含むオブジェクト・フレーム及び関連
オブジェクトにアクションを実行する少なくとも1つの
オブジェクト・メソッドを含むとともに、子が親のデー
タ属性及びメソッドを継承するような継承階層内で構成
される複数のオブジェクトと、該オブジェクトにメッセ
ージを送信して、関連オブジェクト・メッセージにより
関連オブジェクト・フレームにアクションを実行するオ
ブジェクト・マネージャとを具備し、 上記アクション実行メソッドが、ユーザ要求に応答して
上記オブジェクト指向コンピューティング・システムに
より実行される以下のステップ、すなわち、 親子関係を有しない互いに無関係な上記オブジェクトを
複合オブジェクトにグループ化するステップであって、
各複合オブジェクト・メンバが、親子関係を有しない互
いに無関係なグループ化されたオブジェクトに対するポ
インタを含む複合オブジェクト・メンバ・フレームと、
該グループ化されたオブジェクトに対してグループとし
てアクションを実行するための複数の複合オブジェクト
・メソッドを含むようなグループ化ステップと、 関連複合オブジェクト・メソッドによりグループ化され
たオブジェクトにアクションを実行するために、上記複
合オブジェクト・メンバにアクション・メッセージを送
信するステップを含む、オブジェクト実行方法。 - 【請求項9】上記複合オブジェクト・フレームが、複合
オブジェクトにより制御されるサブオブジェクトと複合
オブジェクトのパフォーマンスを制御する少なくとも1
つの統括オブジェクトに対する少なくとも1つのポイン
タを含む、請求項8記載の方法。 - 【請求項10】上記送信ステップに先立って実行され
る、各上記複合オブジェクトに対応する論理キー属性の
継承階層の生成ステップを含み、各論理キー属性が関連
複合オブジェクトを形成するオブジェクトのインスタン
スに対するポインタを含む、請求項9記載の方法。 - 【請求項11】上記継承階層生成ステップの次に、関連
複合オブジェクトを形成するそれぞれのオブジェクトの
論理キー属性を、関連複合オブジェクトを形成するそれ
ぞれのオブジェクトのオブジェクト・フレーム内に配置
するステップが実行される、請求項9記載の方法。 - 【請求項12】コンピュータ・プラットフォーム上のオ
ブジェクト指向コンピュータ・システムにおいてオブジ
ェクトにアクションを実行する方法であって、 上記オブジェクト指向コンピュータ・システムが、各々
が、データ属性を含むオブジェクト・フレーム及び関連
オブジェクトにアクションを実行する少なくとも1つの
オブジェクト・メソッドを含むとともに、子が親のデー
タ属性及びメソッドを継承するような継承階層内で構成
される複数のオブジェクトと、該オブジェクトにメッセ
ージを送信して、関連オブジェクト・メッセージにより
関連オブジェクト・フレームにアクションを実行するオ
ブジェクト・マネージャとを具備し、 上記アクション実行メソッドが、ユーザ要求に応答して
上記オブジェクト指向コンピューティング・システムに
より実行される以下のステップ、すなわち、 親子関係を有しない互いに無関係な上記オブジェクトを
複合オブジェクトにグループ化するステップであって、
各複合オブジェクト・メンバが、該複合オブジェクト・
メンバにより制御されるサブオブジェクトと該複合オブ
ジェクト・メンバのパフォーマンスを制御する少なくと
も1つの統括オブジェクトに対する少なくとも1つポイ
ンタを含む複合オブジェクト・メンバ・フレーム並びに
グループ化されたオブジェクトに対してグループとして
アクションを実行するための複数の複合オブジェクト・
メソッドを含むようなグループ化ステップと、 統括オブジェクト及びサブオブジェクトに対するポイン
タを関連複合オブジェクト・メンバ・フレーム内に配置
するステップと、 統括オブジェクト及びサブオブジェクトのインスタンス
に対するポインタを含む、各複合オブジェクト・メンバ
に対する論理キーを識別するステップと、 関連複合オブジェクト・メンバの統括オブジェクト対サ
ブオブジェクト関係に従い、各複合オブジェクトに対応
する論理キーの継承階層を生成するステップと、 各複合オブジェクト・メンバの論理キーをそのオブジェ
クト・フレーム内に配置するステップと、 を含む、オブジェクト実行方法。 - 【請求項13】上記複合オブジェクトの1つのインスタ
ンスに転送されるアクション・メッセージに応答して実
行される以下のステップ、すなわち、 上記複合オブジェクトの統括オブジェクト及びサブオブ
ジェクトを識別するステップと、 識別された統括オブジェクト及びサブオブジェクトを実
体化するステップと、 上記複合オブジェクトの論理キーを獲得するステップ
と、 獲得された上記複合オブジェクトの論理キー及び該論理
キーの継承階層にもとづき、該複合オブジェクトのイン
スタンスを識別するステップと、 アクション・メッセージを上記複合オブジェクトの識別
されたインスタンスに対して実行するステップと、 を含む、請求項12記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US101913 | 1987-09-28 | ||
US10191393A | 1993-08-04 | 1993-08-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0764778A JPH0764778A (ja) | 1995-03-10 |
JP2986051B2 true JP2986051B2 (ja) | 1999-12-06 |
Family
ID=22287136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6142964A Expired - Lifetime JP2986051B2 (ja) | 1993-08-04 | 1994-06-24 | オブジェクト指向コンピュータ・システム及びオブジェクト実行方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5832268A (ja) |
JP (1) | JP2986051B2 (ja) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69628073D1 (de) * | 1995-03-22 | 2003-06-18 | Sun Microsystems Inc | Vorrichtung und Verfahren zur Verwaltung von Objektsammlungen |
EP0825506B1 (en) | 1996-08-20 | 2013-03-06 | Invensys Systems, Inc. | Methods and apparatus for remote process control |
US6687761B1 (en) * | 1997-02-20 | 2004-02-03 | Invensys Systems, Inc. | Process control methods and apparatus with distributed object management |
US6718534B1 (en) * | 1997-07-14 | 2004-04-06 | Microsoft Corporation | System for application independent programming of controls |
US5946694A (en) * | 1997-09-29 | 1999-08-31 | International Business Machines Corporation | Apparatus and method for transparent application of service to business objects |
US6862736B2 (en) | 1998-02-06 | 2005-03-01 | Microsoft Corporation | Object manager for common information model |
US6662164B1 (en) * | 1998-05-19 | 2003-12-09 | Trilogy Development Group, Inc. | Method and apparatus for determining commission |
AU5025600A (en) | 1999-05-17 | 2000-12-05 | Foxboro Company, The | Process control configuration system with parameterized objects |
US7089530B1 (en) | 1999-05-17 | 2006-08-08 | Invensys Systems, Inc. | Process control configuration system with connection validation and configuration |
US6788980B1 (en) | 1999-06-11 | 2004-09-07 | Invensys Systems, Inc. | Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network |
US7143108B1 (en) | 2000-04-06 | 2006-11-28 | International Business Machines Corporation | Apparatus and method for deletion of objects from an object-relational system in a customizable and database independent manner |
US6938260B1 (en) * | 2000-07-14 | 2005-08-30 | International Business Machines Corporation | Complex data navigation, manipulation and presentation support for visualage Java |
US6857103B1 (en) | 2000-07-14 | 2005-02-15 | International Business Machines Corporation | Flexible help support in an object oriented application |
US7086067B1 (en) | 2000-07-14 | 2006-08-01 | International Business Machines Corporation | Dynamic Java bean for VisualAge for Java |
US6850922B1 (en) * | 2000-07-14 | 2005-02-01 | International Business Machines Corporation | Business logic support |
US7568152B1 (en) * | 2000-07-14 | 2009-07-28 | International Business Machines Corporation | Text file interface support in an object oriented application |
US20030018481A1 (en) * | 2001-03-15 | 2003-01-23 | Cheng Zhou | Method and apparatus for generating configurable documents |
US7925513B2 (en) * | 2001-03-15 | 2011-04-12 | Versata Development Group, Inc. | Framework for processing sales transaction data |
US8239312B2 (en) * | 2001-03-15 | 2012-08-07 | Versata Development Group, Inc. | Method and apparatus for net-pay and debt consolidation |
US7958024B2 (en) * | 2001-03-15 | 2011-06-07 | Versata Development Group, Inc. | Method and apparatus for processing sales transaction data |
US7908304B2 (en) | 2001-03-15 | 2011-03-15 | Versata Development Group, Inc. | Method and system for managing distributor information |
US7904326B2 (en) * | 2001-06-29 | 2011-03-08 | Versata Development Group, Inc. | Method and apparatus for performing collective validation of credential information |
US20040065681A1 (en) * | 2001-12-19 | 2004-04-08 | Floyd Timothy H | Apparatus in selected housings for producing and dispensing automobile appearance care products |
US7613994B2 (en) | 2002-05-29 | 2009-11-03 | International Business Machines Corporation | Document handling in a web application |
US9495691B1 (en) | 2002-12-13 | 2016-11-15 | Versata Development Group, Inc. | Efficient large-scale compensation calculation system |
US7055147B2 (en) * | 2003-02-28 | 2006-05-30 | Sun Microsystems, Inc. | Supporting interactions between different versions of software for accessing remote objects |
US7890852B2 (en) * | 2003-06-26 | 2011-02-15 | International Business Machines Corporation | Rich text handling for a web application |
FI115930B (fi) * | 2003-07-28 | 2005-08-15 | Nolics Oy | Olioiden ryhmitteleminen oliopohjaisessa järjestelmässä |
US7761923B2 (en) | 2004-03-01 | 2010-07-20 | Invensys Systems, Inc. | Process control methods and apparatus for intrusion detection, protection and network hardening |
US7860857B2 (en) | 2006-03-30 | 2010-12-28 | Invensys Systems, Inc. | Digital data processing apparatus and methods for improving plant performance |
US8635251B1 (en) * | 2007-06-29 | 2014-01-21 | Paul Sui-Yuen Chan | Search and computing engine |
EP2304536A4 (en) | 2008-06-20 | 2012-08-15 | Invensys Sys Inc | SYSTEMS AND METHOD FOR IMMERSIBLE INTERACTION WITH ACTUAL AND / OR SIMULATED DEVICES FOR PROCESS, ENVIRONMENTAL AND INDUSTRIAL CONTROL |
US8327323B2 (en) * | 2008-12-08 | 2012-12-04 | International Business Machines Corporation | Automatic copying by ancestor in object-oriented languages |
US8463964B2 (en) | 2009-05-29 | 2013-06-11 | Invensys Systems, Inc. | Methods and apparatus for control configuration with enhanced change-tracking |
US8127060B2 (en) | 2009-05-29 | 2012-02-28 | Invensys Systems, Inc | Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware |
US9444860B1 (en) * | 2014-01-31 | 2016-09-13 | Intuit Inc. | Method and system for data driven checklist sharing |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS647231A (en) * | 1987-06-30 | 1989-01-11 | Toshiba Corp | Parallel processing device for object directional system |
US5206951A (en) * | 1987-08-21 | 1993-04-27 | Wang Laboratories, Inc. | Integration of data between typed objects by mutual, direct invocation between object managers corresponding to object types |
US5369778A (en) * | 1987-08-21 | 1994-11-29 | Wang Laboratories, Inc. | Data processor that customizes program behavior by using a resource retrieval capability |
US5050074A (en) * | 1988-03-28 | 1991-09-17 | Digital Equipment Corporation | System for facilitating coordination of activities by a plurality of actors with an object database and state/action identification |
US4953080A (en) * | 1988-04-25 | 1990-08-28 | Hewlett-Packard Company | Object management facility for maintaining data in a computer system |
US5115504A (en) * | 1988-11-01 | 1992-05-19 | Lotus Development Corporation | Information management system |
US5297283A (en) * | 1989-06-29 | 1994-03-22 | Digital Equipment Corporation | Object transferring system and method in an object based computer operating system |
US5057996A (en) * | 1989-06-29 | 1991-10-15 | Digital Equipment Corporation | Waitable object creation system and method in an object based computer operating system |
JPH0833862B2 (ja) * | 1989-10-23 | 1996-03-29 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | オブジエクト指向コンピユータ・システム |
US5161225A (en) * | 1989-10-23 | 1992-11-03 | International Business Machines Corporation | Persistent stream for processing time consuming and reusable queries in an object oriented database management system |
US5161223A (en) * | 1989-10-23 | 1992-11-03 | International Business Machines Corporation | Resumeable batch query for processing time consuming queries in an object oriented database management system |
US5313629A (en) * | 1989-10-23 | 1994-05-17 | International Business Machines Corporation | Unit of work for preserving data integrity of a data-base by creating in memory a copy of all objects which are to be processed together |
US5075848A (en) * | 1989-12-22 | 1991-12-24 | Intel Corporation | Object lifetime control in an object-oriented memory protection mechanism |
US5075842A (en) * | 1989-12-22 | 1991-12-24 | Intel Corporation | Disabling tag bit recognition and allowing privileged operations to occur in an object-oriented memory protection mechanism |
US5075845A (en) * | 1989-12-22 | 1991-12-24 | Intel Corporation | Type management and control in an object oriented memory protection mechanism |
US5265206A (en) * | 1990-10-23 | 1993-11-23 | International Business Machines Corporation | System and method for implementing a messenger and object manager in an object oriented programming environment |
JP2556189B2 (ja) * | 1990-10-29 | 1996-11-20 | 富士ゼロックス株式会社 | オブジェクト指向計算機システムにおけるメソッド起動装置 |
US5307499A (en) * | 1990-11-30 | 1994-04-26 | Singapore Computer Systems Limited | Interpretive object-oriented facility which can access pre-compiled classes |
US5187786A (en) * | 1991-04-05 | 1993-02-16 | Sun Microsystems, Inc. | Method for apparatus for implementing a class hierarchy of objects in a hierarchical file system |
JPH0520081A (ja) * | 1991-07-11 | 1993-01-29 | Nec Corp | 管理対象操作の個別記述方式 |
JPH0520079A (ja) * | 1991-07-16 | 1993-01-29 | Fujitsu Ltd | 計算機における拡張オブジエクト指向方式 |
JPH0520080A (ja) * | 1991-07-16 | 1993-01-29 | Fujitsu Ltd | 計算機における拡張オブジエクト指向方式 |
US5361350A (en) * | 1991-12-12 | 1994-11-01 | International Business Machines Corporation | Object oriented method management system and software for managing class method names in a computer system |
-
1994
- 1994-06-24 JP JP6142964A patent/JP2986051B2/ja not_active Expired - Lifetime
-
1995
- 1995-12-08 US US08/569,521 patent/US5832268A/en not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
「情報処理学会研究報告」Vol.92,No.86(92−DBS−91)(1992−11−5)P.31−36 |
Also Published As
Publication number | Publication date |
---|---|
JPH0764778A (ja) | 1995-03-10 |
US5832268A (en) | 1998-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2986051B2 (ja) | オブジェクト指向コンピュータ・システム及びオブジェクト実行方法 | |
US5499365A (en) | System and method for controlling versions of objects in an object oriented computing environment | |
US5732263A (en) | Systems, methods and computer program products for generating and validating user defined object classes in an object oriented programming environment after build time | |
US5535389A (en) | Business process objects with associated attributes such as version identifier | |
JP2843763B2 (ja) | オブジェクト指向コンピュータ・システムにおけるインタフェース方法及び装置 | |
US5553282A (en) | Software project history database and method of operation | |
US5659735A (en) | Object-oriented system for program version and history database management system for various program components | |
US7711919B2 (en) | Methods and apparatus for digital data processing with mutable inheritance | |
US5752245A (en) | Object-oriented system for configuration history management with a project workspace and project history database for draft identification | |
US5557793A (en) | In an object oriented repository, a method for treating a group of objects as a single object during execution of an operation | |
US5497491A (en) | System and method for importing and exporting data between an object oriented computing environment and an external computing environment | |
US5963947A (en) | Technique of dynamically adding functionality from a client to manipulated data at a server | |
US5644764A (en) | Method for supporting object modeling in a repository | |
US7644099B2 (en) | Dynamic generation and automated distribution of user interface from database model | |
US6970883B2 (en) | Search facility for local and remote interface repositories | |
US5721925A (en) | Method for generically invoking operation in an object oriented repository | |
US5893912A (en) | Thread context manager for relational databases, method and computer program product for implementing thread context management for relational databases | |
US5758348A (en) | Method for generically manipulating properties of objects in an object oriented repository | |
JP2004520635A (ja) | 石油会社のモデル資産のアプリケーション・フレームワークを有するオブジェクト指向ソフトウェア・アプリケーション | |
JP2004280821A (ja) | ソフトウェアビジネスプロセスモデル | |
JP2004280820A (ja) | ビジネスソフトウェアアプリケーションをサポートするフレームワーク | |
CA2346924A1 (en) | Apparatus and method for building modeling tools | |
US20070157167A1 (en) | Service adaptation of the enterprise services framework | |
WO1994029804A1 (en) | Process management system | |
EP0841612A2 (en) | Framework for software development |