JPH0764778A - オブジェクト指向コンピュータ・システム及びオブジェクト実行方法 - Google Patents

オブジェクト指向コンピュータ・システム及びオブジェクト実行方法

Info

Publication number
JPH0764778A
JPH0764778A JP6142964A JP14296494A JPH0764778A JP H0764778 A JPH0764778 A JP H0764778A JP 6142964 A JP6142964 A JP 6142964A JP 14296494 A JP14296494 A JP 14296494A JP H0764778 A JPH0764778 A JP H0764778A
Authority
JP
Japan
Prior art keywords
complex
objects
ruler
complex object
logical key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP6142964A
Other languages
English (en)
Other versions
JP2986051B2 (ja
Inventor
B Anderson James
ジェームズ・ビィ・アンダーソン
L Fitzpatrick Francis
フランシス・エル・フィッツパトリック
B Harvey Charles Jr
チャールズ・ビィ・ハーベィ、ジュニア
Chen Adrien
エイドリーン・チン
R Wesson James
ジェームズ・アール・ウェッソン
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH0764778A publication Critical patent/JPH0764778A/ja
Application granted granted Critical
Publication of JP2986051B2 publication Critical patent/JP2986051B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/449Object-oriented method invocation or resolution
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99948Application 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)

Abstract

(57)【要約】 【目的】 階層的に無関係のオブジェクトをオブジェク
ト指向環境内のコンプレックス・オブジェクトにグルー
プ化するために、コンプレックス・オブジェクト・クラ
スを提供する。 【構成】 各コンプレックス・オブジェクトが、階層的
に無関係な関連オブジェクトに対するポインタを含むコ
ンプレックス・オブジェクト・メンバ・フレーム、及び
階層的に無関係のオブジェクトに対してグループとして
アクションを実行するコンプレックス・オブジェクト・
メソッドを含む。従って、オブジェクト・マネージャは
関連するコンプレックス・オブジェクト・メソッドによ
り階層的に無関係の関連オブジェクトに対してアクショ
ンを実行するために、アクション・メッセージをコンプ
レックス・オブジェクトに送信する。これにより、コン
プレックス・オブジェクトを定義及び使用するカストマ
イズ・プログラミングが著しく減少する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデータ処理システム及び
方法に関し、特にオブジェクト指向コンピューティング
環境に関する。
【0002】
【従来の技術】オブジェクト指向プログラミング・シス
テム及び処理は "オブジェクト指向コンピューティング
環境" とも呼ばれ、最新のデータ処理環境における多く
の調査及び関心の対象であった。当業者には既知のよう
に、オブジェクト指向プログラミング・システムは非常
にたくさんの"オブジェクト"を含む。オブジェクトは "
フレーム" とも呼ばれるデータ構造とそのデータ構造を
アクセスする "メソッド" とも呼ばれるオペレーション
またはファンクションのセットである。フレームはたく
さんの"スロット"を有し、これらの各々はスロット内の
データの "属性"を含む。属性とは、プリミティブ(整
数またはストリングなど)、または別のオブジェクトに
対するポインタに相当するオブジェクト参照等である。
同一のデータ構造及び共通の振舞いを有するオブジェク
トは一緒にグループ化され、 "クラス" として集合的に
識別される。
【0003】各定義されたクラスのオブジェクトは、通
常、多数の"インスタンス"により明示される。各インス
タンスは特定例のオブジェクトに対応する特定のデータ
構造を含む。オブジェクト指向コンピューティング環境
においては、データはオブジェクトに"メッセージ"を送
信することによって、オブジェクトにそのメソッドの1
つを実行する様に要求することにより処理される。受信
オブジェクトはメッセージ名をインプリメントするメソ
ッドを選択することによりメッセージに応答し、このメ
ソッドを命名されたインスタンス上で実行し、メソッド
の結果と一緒に制御を呼出し側のハイレベル・ルーチン
に戻す。クラス、オブジェクト及びインスタンス間の関
係は、"ビルド・タイム(build time)"またはオブジェ
クト指向コンピューティング環境の生成の間に、すなわ
ち"ラン・タイム(run time)"またはオブジェクト指向
コンピューティング環境の実行以前に確立される。
【0004】上述のクラス、オブジェクト及びインスタ
ンスの関係に加え、継承(inheritance )関係が2つま
たは複数のクラスの間で存在する。すなわち、第1のク
ラスが第2のクラスの"親(parent)"と見なされ、第2
のクラスが第1のクラスの"子(child )"と見なされ
る。換言すると、第1のクラスは第2のクラスの先祖で
あり、第2のクラスは第1のクラスの子孫であり、従っ
て、第2のクラス(すなわち子孫)は第1のクラス(す
なわち先祖)から継承すると言われる。子クラスのデー
タ構造は親クラスの全ての属性を含む。
【0005】上述のように、オブジェクト指向プログラ
ミング・システムは非常にたくさんのオブジェクトを含
む。オブジェクトにより収容されるデータ及び処理の量
は、通常は、データベース・テーブルの単一行または単
一のデータ・エントリ・パネル内に含まれる程度に十分
に小さい。しかしながら、当業者には理解されるよう
に、オブジェクトのユーザ・ビューは相当により複雑な
ものとすることができる。このように、複数の単純オブ
ジェクトがコンプレックス・オブジェクト(複合オブジ
ェクト)として強固に結合(tightly bound )される。
なぜなら、これらのオブジェクトは全て事務処理に参加
するからである。或いは、複数の単純オブジェクトがデ
ータ・ナビゲーション及びプレゼンテーションのため
に、またはクロス・オブジェクト・データ検証のため
に、コンプレックス・オブジェクトとして強固に結合さ
れてもよい。多くの場合、単純オブジェクトはそのコン
テキストを理解することなしに正確に処理されることは
ない。このコンテキスト情報を提供する他のオブジェク
トは、この単純オブジェクトを包含するコンプレックス
・オブジェクトの1部である。例えば、エンジニアリン
グ変更(EC)を処理するために使用されるオブジェク
ト指向コンピューティング環境では、ECヘッダ、影響
項目(AI)、及びBill of Materials (BOM:デー
タ証明)は同一の継承階層にない別々のオブジェクトで
あるが、これらは表示、妥当性検証及びコンテキストの
ために一緒に結合される。
【0006】従来、個別化すなわちカストマイズ化され
たプログラミング(カストマイズ・プログラミング)を
生成することにより、コンプレックス・オブジェクトを
提供及び処理することが知られている。しかし残念なが
ら、コンプレックス・オブジェクトを支援するために生
成されるプログラミングは、あるアプリケーションの主
要部分のカストマイズ・プログラミングを含みうる。更
に、コンプレックス・オブジェクトのためのカストマイ
ズ・プログラミングを用意する必要があるために、アプ
リケーションのある部分がある方法によりコンプレック
ス・オブジェクトを処理する一方で、そのアプリケーシ
ョンの別の部分が別の方法によりコンプレックス・オブ
ジェクトを処理することもありうる。結局、コンプレッ
クス・オブジェクトを処理するために生成される高度に
特定化されたプログラミングのために、再利用性が低減
する。
【0007】
【発明が解決しようとする課題】本発明の目的は、オブ
ジェクト指向コンピューティング環境内でコンプレック
ス・オブジェクトを支援するシステム及び方法を提供す
ることである。
【0008】本発明の別の目的は、オブジェクト指向コ
ンピューティング環境内で、総称的にコンプレックス・
オブジェクトを支援するシステム及び方法を提供するこ
とであり、それにより生成されなければならないカスト
マイズ・プログラミングの量を低減することである。
【0009】
【課題を解決するための手段】これらの目的が本発明に
より、無関係のオブジェクトを階層的にグループ化する
ためのコンプレックス・オブジェクト・クラスを提供す
ることにより、すなわち親及び子オブジェクト・クラス
として互いに関係の無いオブジェクトをコンプレックス
・オブジェクトにグループ化することにより達成され
る。各コンプレックス・オブジェクトは、階層的に無関
係な関連オブジェクトに対するポインタを含むコンピュ
ータ・オブジェクト・フレーム、及び階層的に無関係な
当該オブジェクトに対して、グループとしてアクション
を実行するための複数のコンプレックス・オブジェクト
・メソッドを含む。従って、オブジェクト・マネージャ
はアクション・メッセージをコンプレックス・オブジェ
クトに送信することによって、関連するコンプレックス
・オブジェクト・メソッドにより、階層的に無関係な関
連オブジェクトにアクションを実行するように伝える。
コンプレックス・オブジェクトを定義及び使用するカス
トマイズ・プログラミングがそれにより著しく低減され
る。
【0010】特に、コンプレックス・オブジェクト・メ
ンバ・クラスの属性は、少なくとも1つのルーラ(rule
r )及びサブオブジェクトである。ルーラはコンプレッ
クス・オブジェクト・メンバのパフォーマンスを制御す
るオブジェクト・クラスを定義する。サブオブジェクト
は1つまたは複数のオブジェクト・クラスを定義し、そ
のパフォーマンスはコンプレックス・オブジェクトによ
り制御される。従って、ルーラ対サブオブジェクトの関
係は、主コンプレックス・オブジェクト構造を反映す
る。当業者には理解されるように、サブオブジェクトは
それ自身ルーラとすることができ、コンプレックス・オ
ブジェクト構造のネスティングを許容する。
【0011】論理キー・クラスが更に生成され、親及び
子の論理キー・オブジェクトの階層内に配置される。各
論理キー・クラスはコンプレックス・オブジェクト・メ
ンバである単純オブジェクトに関連する。論理キー・ク
ラスは、コンプレックス・オブジェクト・メンバのイン
スタンスを一意的に識別するために必要な属性を有す
る。これらの属性の幾つかは親論理キー・クラスから継
承される。(親論理キーから)継承される属性は、コン
プレックス・オブジェクト構造内のコンプレックス・オ
ブジェクト・メンバのルーラの特定のインスタンスを識
別するために使用される。コンプレックス・オブジェク
ト・メンバがサブオブジェクトを有する場合、その論理
キーはサブオブジェクトに対応する部分的論理キーであ
る。これは関連するサブオブジェクトのグループを選択
するために使用される。各コンプレックス・オブジェク
ト・メンバは論理キー属性を有し、これはその論理キー
・クラスのインスタンスを指示する。ルーラのインスタ
ンスからサブオブジェクトのインスタンスへの移動は、
論理キー関係を使用して達成され、具体的には一致する
サブオブジェクトを見い出すためにルーラの論理キーを
使用することにより達成される。これは含まれるオブジ
ェクトがバージョンを有することを可能とし、この場
合、バージョン・セット内の同一の論理キーを有する特
定のインスタンスを一意的に識別するために、追加のバ
ージョン制御選択がラン・タイム時に提供されなければ
ならない。このように、ルーラ対サブオブジェクト関係
は論理キー間(インスタンス間ではない)の関係であ
る。
【0012】本発明のコンプレックス・オブジェクト・
メソッド及びシステムは、コンプレックス・オブジェク
トがオブジェクト・クラスの継承階層の1部として定義
されない場合でも、オブジェクト指向コンピューティン
グ環境がコンプレックス・オブジェクトを全体的に処理
することを許可する。ユーザ・ビューまたは他のフレー
ム参照にもとづく別の関係が、継承階層的には無関係の
オブジェクトの間で定義され、これらのオブジェクトが
グループとして処理される。コンプレックス・オブジェ
クト・メンバ・インスタンスは、論理キーの継承階層を
提供することにより識別される。
【0013】ビルド・タイム時に、オブジェクトは、ユ
ーザ要求に応答して、コンプレックス・オブジェクトに
グループ化される。ルーラ及びサブオブジェクトが各コ
ンプレックス・オブジェクト・メンバに対応して定義さ
れる。各コンプレックス・オブジェクト・メンバの論理
キーが更に識別され、論理キー階層が生成される。適切
な論理キーが、コンプレックス・オブジェクトの1部で
ある各オブジェクトの属性内に配置される。
【0014】ラン・タイム時に、アクション・メッセー
ジがコンプレックス・オブジェクト・メンバ・インスタ
ンスに送信されると、ルーラ及びサブオブジェクトが識
別され、識別されたルーラ・オブジェクト及びサブオブ
ジェクトが実体化される。論理キーが獲得され、コンプ
レックス・オブジェクト・メンバのインスタンスを形成
するオブジェクトのインスタンスを識別するために使用
される。アクション・メッセージが次に全ての識別され
たインスタンスに対して実行される。従って、コンプレ
ックス・オブジェクトが総称的に(generically )支援
され、それにより個別のプログラミングの必要が低減さ
れる。このようにして効率的なオブジェクト指向コンピ
ューティング環境が生成され、維持される。
【0015】
【実施例】本発明は添付の図を参照しながら更に詳細に
述べられ、その中において本発明の好適な実施例が示さ
れる。しかしながら、本発明は多くの異なる形態におい
て具体化され、ここで述べられる実施例に限られるもの
と解釈されるべきではなく、これらの実施例は本開示が
十分で完全なものとなるように、また当業者に本発明の
範囲を伝えるために提供される。同一番号は全体を通じ
同一の要素を参照する。
【0016】本発明によるコンプレックス・オブジェク
トを支援するシステム及び方法について述べる以前に、
オブジェクト指向コンピューティング環境の一般概要に
ついて述べることにする。コンプレックス・オブジェク
トを支援するシステム及び方法の概要が次に提供され、
それに続き詳細な設計についての説明が提供される。
【0017】オブジェクト指向コンピューティング環
境:オブジェクト指向コンピューティング環境では、作
業はアクション要求メッセージをデータを含むオブジェ
クトに送信することにより実行される。オブジェクトは
予め定義されたメソッドに従い、要求アクションをデー
タに対して実行する。オブジェクトはオブジェクト・ク
ラスにグループ化され、これはデータの型及び意味、並
びにオブジェクトが尊重するアクション要求(メッセー
ジ)を定義する。データを含む個々のオブジェクトはク
ラスのインスタンスと呼ばれる。
【0018】オブジェクト・クラスは他のクラスのサブ
クラスとして定義できる。サブクラスは親クラスの全て
のデータ特性及びメソッドを継承する。これらは追加の
データ及びメソッドを追加し、親クラスのデータ要素ま
たはメソッドをオーバライドまたは再定義する。オブジ
ェクトは図式的に表され、ここではオブジェクト矩形内
の上段の矩形及び下段の矩形を含む矩形により表され
る。上段の矩形はスロットを有するフレームにより表さ
れるデータ構造を含み、それらスロットの各々はスロッ
ト内のデータの属性を含む。下段の矩形はオブジェクト
のメソッドを示し、これはフレームをカプセル化し、上
段の矩形のフレーム内にカプセル化されるデータに対し
てアクションを実行するために使用される。
【0019】図1を参照しながら、本発明が動作するハ
ードウェア環境及びソフトウェア環境について述べる。
図1に示されるように、本発明は1つまたは複数のコン
ピュータ・プラットフォーム12上で動作するオブジェ
クト指向コンピューティング環境11内のコンプレック
ス・オブジェクトを支援する方法及びシステムである。
当業者には理解されるように、コンピュータ・プラット
フォーム12は通常は、中央処理ユニット(CPU)1
4、主メモリ15、及び入出力(I/O)インタフェー
ス16などのコンピュータ・ハードウェア・ユニット1
3を含み、また表示端末21、キーボードまたはマウス
などの入力装置22、磁気または光ディスクなどの不揮
発データ記憶装置23、プリンタ24及び他の周辺装置
などの周辺コンポーネントを含む。コンピュータ・プラ
ットフォーム12はまた、通常、マイクロ命令コード2
6及びオペレーティング・システム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 OrientedEnvironment"、及びAbrahamらによる米
国特許第5161225号"PersistentStream for Proc
essing Time Consuming and Reusable Queries in an O
bjectOriented Database Management System"、Abraham
らによる同第5151987号"Recovery Objects in
an Object Oriented Computing Environment"、及びAbr
ahamによる同第5161223号"Resumeable Batch Qu
ery for ProcessingTime Consuming Queries in an Obj
ect Oriented Database Management System"、並びにBe
rtrand Meyerによる"Object Oriented Software Constr
uction" (1988年Prentice Hall発行)などの数多
くの文献に述べられている。
【0021】図2を参照すると、米国特許出願第425
607号の図5が再生されており、オブジェクト指向プ
ログラム(図1の11)の主なコンポーネントが述べら
れる。オブジェクト指向プログラムの設計及びオペレー
ションの詳細な説明は、Bertrand Meyerによる"Object
Oriented Software Construction" (1988年Prenti
ce Hall発行)に提供されている。
【0022】図2を参照すると、オブジェクト指向プロ
グラム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はポインタを実体化された
インスタンス・オブジェクトに戻す。
【0024】メッセンジャ51は次にロード・クラス・
テーブル53からメソッドBのアドレスを獲得する。イ
ンスタンスのクラスがロードされない場合、ロード・ク
ラス・テーブル53はこの時これをロードし、そのデー
タを実体化する。ロード・クラス・テーブル53は指定
されるメソッド(メソッドB)を探索し、そのメソッド
のアドレスをメッセンジャ51に戻す。
【0025】メッセンジャ51は次にメソッドBを呼出
し、それにシステム・データ領域、及びポインタを含む
メソッド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"関係によりそ
のクラスに関連付けされる。
【0027】各サブクラスはそのスーパクラスのフレー
ム及びメソッドを"継承"する。例えば、販売員フレーム
は従業員のスーパクラスから年齢及び雇用日オブジェク
トを継承し、また従業員スーパクラスからプロモート
(昇格)・メソッドを継承する。販売員は更に特定の割
当て属性及び報酬支払いメソッドを含む。各インスタン
スはそのスーパクラスの全てのメソッド及びフレームを
アクセスすることができる。従って、例えばB.G.Blue
を昇進させることができる。
【0028】コンプレックス・オブジェクト支援方法及
びシステム(全体設計及びオペレーション):図4を参
照すると、コンピューティング・プラットフォーム内の
複数のオブジェクトが図式的に表され、その幾つかは論
理キー属性を含む。図4に示されるように、複数のオブ
ジェクトがコンピューティング・プラットフォーム12
上のオブジェクト指向コンピューティング環境11内で
実行される。各オブジェクトはデータ属性を含むオブジ
ェクト・フレーム、及び関連オブジェクトにアクション
を実行するための少なくとも1つのオブジェクト・メソ
ッドを含む。図3の場合同様、各オブジェクトは矩形に
より表され、オブジェクト矩形内の上段の矩形内には属
性が含まれ、オブジェクト矩形内の下段の矩形内にはメ
ソッドが含まれる。また、オブジェクトはオブジェクト
・クラスの継承階層内に構成されて、親及び子クラスを
定義し、子クラスは親クラスのデータ属性及びメソッド
を継承する。当業者には理解されるように、オブジェク
ト・クラスの継承階層は、通常、オブジェクト指向コン
ピューティング環境内の何千ものオブジェクトを含む。
【0029】更に図4を参照すると、少なくとも幾つか
の階層的に関連するオブジェクトがコンプレックス・オ
ブジェクトにグループ化されることが理解される。コン
プレックス・オブジェクトは階層的に関連の無いオブジ
ェクト、すなわち親及び子オブジェクト・クラスとして
互いに関係しないオブジェクトのグループである。これ
らはむしろ、共通の表示要求または他の共通の外部要求
のために一緒にグループ化される。図4に示されるよう
に、コンプレックス・オブジェクトの1部であるオブジ
ェクト階層内の各オブジェクトは、属性として"論理キ
ー"を含む。論理キーはオブジェクトのインスタンスを
一意的に識別するために使用される。更に、ルーラ(ru
lar )の論理キーがサブオブジェクトの部分的論理キー
となる。後述されるように、論理キーの連続的拡張が、
特定のルーラに属するオブジェクトを見い出すために使
用される。
【0030】図5を参照すると、コンプレックス・オブ
ジェクト・クラスが図式的に表される。図示のように、
コンプレックス・オブジェクト・クラスはその属性とし
て、少なくとも1つのルーラ・オブジェクト及びサブオ
ブジェクトを含む。ルーラ・オブジェクトは、サブオブ
ジェクトに作用できる以前に存在しなければならないオ
ブジェクトである。従って、コンプレックス・オブジェ
クト内の各オブジェクトは、そのコンプレックス・オブ
ジェクト内の最高レベル・オブジェクトを除いては、ル
ーラを有さなければならない。サブオブジェクトは、継
承の特性によってはルーラに関連しないが、コンプレッ
クス・オブジェクト関係のために関連付けられるオブジ
ェクトである。ルーラ・オブジェクトは自身が統括する
複数のサブオブジェクトをもつこともできる。図5にお
いては更に、コンプレックス・オブジェクトがコピー及
び消去などの複数のメソッド含むように示される。これ
らはコンプレックス・オブジェクト・クラスに全体的に
作用する。これらのメソッドについては後に詳述され
る。
【0031】図6を参照すると、本発明の別の態様が論
理キー・クラスを生成する。論理キーはオブジェクトの
インスタンスを一意的に識別する。コンプレックス・オ
ブジェクトの構造内の各オブジェクトの論理キーは、図
6に示される継承階層により関連付けられる。よって、
コンプレックス・オブジェクト内の単純オブジェクトが
継承により関連付けられていなくても、それらの論理キ
ーが継承により関連付けされる。ルーラ対サブオブジェ
クト関係は従って論理キー間関係であり、論理キーの継
承構造はコンプレックス・オブジェクト構造に従う。
【0032】コンプレックス・オブジェクトの支援はコ
ンプレックス・オブジェクト・メンバ・クラスからの継
承により提供される。このクラスはコンプレックス・オ
ブジェクト処理の標準化を施行し、ほとんどのコンプレ
ックス・オブジェクト・アクションの支援を提供する。
これはバージョン制御や外部装置及びデータベースとの
インタフェースなどの他の総称的アプリケーション支援
と互換である。
【0033】コンプレックス・オブジェクト内の単純オ
ブジェクトは、論理キー及びデータ依存関係により一緒
に結合される。"論理キー"は単純オブジェクトからバー
ジョン選択までを識別する。コンプレックス・オブジェ
クトもまたバージョン制御することができる。データ依
存関係はルーラ対サブオブジェクト関係として記述され
る。コンプレックス・オブジェクト内において、サブオ
ブジェクトの論理キーはそのルーラの全ての論理キー属
性を有する。サブオブジェクトの特定のインスタンスに
おいて、論理キーのデータ値はそのルーラのデータ値に
一致する。オブジェクトは属性をそのルーラの論理キー
に追加してもよい。これが実施されると、ルーラ対サブ
オブジェクト関係は1対複数となる。サブオブジェクト
の論理キーがルーラの論理キーに同一の場合、ルーラ対
サブオブジェクト関係は1対1である。
【0034】コンプレックス・オブジェクト内におい
て、各サブオブジェクトはそのルーラとして1つのタイ
プのクラスだけを有することができる。しかしながら、
ルーラはそのサブオブジェクトとして幾つかのタイプの
クラスを有することができる。これにより、コンプレッ
クス・オブジェクト構造の階層化がすすめられる。同一
のオブジェクトがサブオブジェクト及びルーラの両方で
あってもよい。ルーラ及びサブオブジェクトのクラスの
識別は、コンプレックス・オブジェクト・クラスの属性
により提供される。これらのクラス属性はオーバライド
を許可し、それによりコンプレックス・オブジェクト構
造がカストマイズ中に変更される。コンプレックス・オ
ブジェクト支援は総称的バージョン制御支援と互換であ
り、これについては係属中の米国特許出願第10161
8号"System and Method forControlling Versions of
Objects in an Object Oriented ComputingEnvironmen
t"で述べられている。論理キーはオブジェクトのインス
タンスからバージョンまでを識別するだけであるため、
ルーラ対サブオブジェクト関係は "曖昧(fuzzy)" で
ある(すなわちバージョン選択までしか定義されな
い)。
【0035】コンテキスト情報を提供するために必要と
されるオブジェクトのリストは、コンプレックス・オブ
ジェクト・メンバ・クラスのインスタンス属性として伝
達される。対話式処理の間、このリストは動的に生成さ
れる。なぜなら、パネル間のデータ・ナビゲーションが
通常、コンプレックス・オブジェクト構造に従うからで
ある。しかしながら、バックグラウンド処理は、このリ
ストがバッチ・トランザクションの1部として提供され
るコンテキスト・キーから生成されることを要求しう
る。本発明はコンプレックス・オブジェクト内のルーラ
の連鎖をリストに追加する支援を提供し、これは追加の
コンテキスト情報を追加する遅延メソッド(deferred m
ethod)を提供する。
【0036】コンテキストは、処理されるデータがビュ
ーまたは更新できるかどうかを判断する。遅延メソッド
はコンテキスト情報をチェックするために提供される。
これらのメソッドに対する呼出しは、既に表示及び更新
メソッド内の適切な場所に提供されており、コンテキス
トのチェックは標準の処理に統合される。
【0037】特定のアクションがルーラであるオブジェ
クトに対して実行される時、これらのアクションはルー
ラが関連するサブオブジェクトの各々に対しても実行さ
れなければならない。任意のサブオブジェクトがそれ自
身ルーラである場合、同じアクションが主コンプレック
ス・オブジェクト構造を通じて下位にカスケード(後続
への伝達)されなければならない。本発明は幾つかのコ
ンプレックス・オブジェクト・アクション(コピー、消
去及びプロモート)に対する特定の支援を提供する。本
発明はまた、同一の機構を使用する追加のカスケード化
コンプレックス・オブジェクト・アクションを許可する
ための総称的支援を提供する。
【0038】コンプレックス・オブジェクトを通じての
データ・ナビゲーションは、主コンプレックス・オブジ
ェクト構造に従う傾向を示す。コンプレックス・オブジ
ェクトのプレゼンテーションは、係属中の米国特許出願
第101904号"Systemand Method for Providing a
Uniform External Interface for an ObjectOriented C
omputing System"に述べられている。コンプレックス・
オブジェクト・アクションのカスケードの間に、ルーラ
に関連するサブオブジェクトを選択するために使用され
る論理と同一の論理が、特定のパーツ・パネルに関連す
るリスト・パネル上に提示されるサブオブジェクトのリ
ストを選択するために使用できる。
【0039】通常はコンプレックス・オブジェクトに参
加する全てのオブジェクトが、それらがビューまたは更
新できるかどうかを判断するための共通のルールを有す
る。これは機密保護レベル及びカテゴリの確立を含む。
本発明はコンプレックス・オブジェクト内におけるこれ
らの判定の集中化を可能にする。本発明は更に、複数ユ
ーザが同一のコンプレックス・オブジェクトに対する同
時更新を処理する場合の保護を提供する。
【0040】図7を参照すると、総称コンプレックス・
オブジェクト処理を実施するために、次の処理がオブジ
ェクト指向環境のビルド・タイム時に実行される。ブロ
ック201に示されるように、コンプレックス・オブジ
ェクトを形成する階層的に無関係なオブジェクトがユー
ザ要求に応答して、コンプレックス・オブジェクトにグ
ループ化される。コンプレックス・オブジェクトが全体
として処理されるために、通常はユーザ要求が開始され
る。次にブロック202において、ルーラ及びサブオブ
ジェクト関係がユーザにより定義される。ブロック20
3では、論理キーが識別され、論理キー階層がブロック
204で生成される。最後にブロック205で、適切な
論理キーが上述の階層的に無関係なオブジェクト内のオ
ブジェクトの論理キー属性内に配置される。このように
して、図4乃至図6の構造が定義される。
【0041】図8を参照すると、ラン・タイム時に実行
されるオペレーションが示される。ラン・タイム時に
は、アクション・メッセージが開始され、ブロック21
0でコンプレックス・オブジェクト・メンバ・インスタ
ンスにより受信される。このインスタンスのルーラ及び
サブオブジェクトがブロック211で識別され、識別さ
れたルーラ/サブオブジェクトがブロック212で実体
化される。論理キーがブロック213で獲得され、コン
プレックス・オブジェクトのインスタンスを形成するオ
ブジェクトのインスタンスがブロック214で実体化さ
れる。最後に、ブロック215で、要求されたアクショ
ン・メッセージが識別されたインスタンスに対して実行
される。従って、当業者には理解されるように、コンプ
レックス・オブジェクトに送信されるアクション・メッ
セージに対して実行されるラン・タイム処理は、単純オ
ブジェクトに送信されるアクション・メッセージに対し
て実行されるラン・タイム処理の場合と同様に実行され
る。
【0042】コンプレックス・オブジェクト支援方法及
びシステム(詳細設計及びインプリメンテーション):
図9乃至図25を参照すると、本発明のコンプレックス
・オブジェクト支援方法及びシステムの詳細設計インプ
リメンテーションが示される。また、購買注文に対して
適用される実施例についても述べられる。
【0043】図9を参照すると、コンプレックス・オブ
ジェクト・メンバ・クラスを含むオブジェクト指向コン
ピューティング環境が記述される。コンプレックス・オ
ブジェクトは、一貫性のある外部化可能な単純オブジェ
クトを含む。クラス階層がこれを反映する。ここでは"
アプリケーション・オブジェクト"はコンプレックス・
オブジェクトの1部である単純オブジェクトである。こ
れはルーラまたはサブオブジェクト或いはその両方であ
る。
【0044】各アプリケーション・オブジェクトは、総
称論理キー(Generic Logical Key:EKNAA200)から継
承する論理キー属性を有する。アプリケーション・オブ
ジェクトはコンプレックス・オブジェクト・ストリーム
・クラス(EKNAS2A2)から継承するストリームに関連付
けられる。図10を参照されたい。柔軟性を提供するた
め、アプリケーション特有の判断は、EKNAA201から継承
するアプリケーション・メタクラスにおいて分離され
る。図11を参照されたい。
【0045】コンプレックス・オブジェクト・クラスEK
NAA2A2内の2つのクラス属性、すなわちサブオブジェク
ト及びルーラIDが、コンプレックス・オブジェクト構
造を結合するために使用される。サブオブジェクトはこ
のクラスの全ての直接サブオブジェクトであるクラスの
ショート名のリストである。ルーラIDは、コンプレッ
クス・オブジェクト構造内におけるこのクラスの直接ル
ーラに相当するクラスのショート名である。購買注文コ
ンプレックス・オブジェクト構造の例が図12に表され
る。
【0046】論理キー・クラスの継承階層は、主コンプ
レックス・オブジェクト構造に従う。図13を参照され
たい。論理キー・クラスは更新のために渡される"部分
的"論理キーを処理することができる。これはassign_ke
yメソッドにより実行される。このメソッドは渡された
論理キーを入力として受取り、それを現論理キーに割当
てる。渡されるキーは現論理キーの任意の親とすること
ができる。入力として渡されるフィールドだけが変更さ
れる。これは例えば購買注文ヘッダ・キーに購買注文4
56を渡すことにより、購買注文ライン・キー内の購買
注文番号が、購買番号123から購買番号456に更新
されることを可能にする。ライン番号は変更されない。
【0047】関連ストリーム内のカーソルもコンプレッ
クス・オブジェクト構造を反映する。各コンプレックス
・オブジェクト・ストリームは、コンプレックス・オブ
ジェクト・ルーラの論理キーにもとづき選択する"appli
cable_at" カーソルを有する。換言すると、これは継承
される論理キーの属性にもとづき選択する。例えば、購
買注文ラインに対するapplicable_at カーソルは購買注
文番号(親論理キーENOPA001の属性)にもとづき選択す
る。これらのストリームの各々は、(現タイプの)論理
キーをインスタンス属性として有する。例えば、購買注
文ラインENOPS002に対応するストリーム・クラスはタイ
プENOPA002(購買注文ライン・キー・クラス)のインス
タンス属性LOG_KEY を有する。しかしながら、選択基準
を割当て、applicable_atカーソルをオープンするgen_a
pplicable_strmメソッドは、購買注文ヘッダ・キー(EN
OPA001)を入力として受信することを期待する。コーデ
ィングは論理キー・クラスのassign_keyメソッドを利用
することにより最適化され、これは部分的論理キーを入
力として処理する。
【0048】コンプレックス・オブジェクト支援及びバ
ージョン制御は互換であるので、コンプレックス・オブ
ジェクト支援のための"find"メソッドは完全なまたは部
分的な論理キーに加え、バージョン選択を示すシーケン
ス番号を入力として受諾する。(複数バージョンの潜在
性なしに)基本コンプレックス・オブジェクト支援のた
めに要求されるfindはfind_applicable であり、渡され
た論理キーに一致する単純オブジェクトの1つのインス
タンスを見い出す。等価なストリーム・メソッドは完全
な論理キーの代わりに部分的論理キーを使用する。
【0049】カスケードされるコンプレックス・オブジ
ェクト・メソッドの内部論理は、これらのfindを実行す
る時にバージョン選択のために必要とされるシーケンス
番号を含む。しかしながら、シーケンス番号を含まな
い"find_simple" メソッドを有する追加のクラス(EKNA
A2B2)が提供される。find_applicableはfind_simpleを
呼出すためにEKNAA2B2内で再定義され、これはまだ遅延
メソッドである(なぜならSQL呼出しを含むため)。
これはバージョン制御されないアプリケーション・オブ
ジェクトがEKNAA2B2から継承することにより、また論理
キーをパラメータとして期待するだけのfindをインプリ
メントすることにより、コンプレックス・オブジェクト
支援を利用することを可能にする。
【0050】EKNAA2B2もまたバージョン選択フィールド
insert_by及びexact_by を一貫性の無い属性として扱
い、それらを適切な値に初期化する。これはバージョン
制御されないコンプレックス・オブジェクトのための一
貫性のある検索メソッドが、この継承される初期化を呼
出すことができ、バージョン制御に特有の属性を処理す
る必要の無いことを意味する。更に、デフォルト・アプ
リケーション・メタクラス(EKNAA201)は"バージョン
制御無し"オプションをインプリメントするので、バー
ジョン制御されないアプリケーションのために追加の仕
様論理が要求されることはない。
【0051】図14を参照すると、コンテキスト情報が
ルーラ・リストと呼ばれる属性内に含まれる。これは外
部化可能オブジェクト(Externalizable Object:EKNZE
XTO)の属性である。パネル・フローがコンプレックス
・オブジェクト構造に従う時、オンライン処理の間にル
ーラ・リストが動的に生成される。購買注文コンプレッ
クス・オブジェクトの例では、購買注文のリストが主メ
ニュー・パネルから選択される。選択ポップアップはリ
スト内に現れる購買注文を制限する。購買注文はコンプ
レックス・オブジェクトであるので、購買注文がオープ
ンされる時に、パーツ・パネルがデータ・エントリ・パ
ネルの代わりに表示される。パーツ・パネルに関連する
ルーラ・リストが、コンプレックス・オブジェクトのそ
の特定のバージョンをピックするために使用される"コ
ンテキスト"データから導出される。この場合、コンテ
キストはバージョン選択オブジェクト(Ver2)である。
【0052】パーツ・パネルは、ルーラ・リストの生
成、及びパーツ・パネルから呼出される他のパネルへの
そのルーラ・リストの受渡しを制御する。リスト・パネ
ルが次のパネルの場合、作業オブジェクトがルーラ・リ
ストに追加される。これは例えば、ラインがパーツ・パ
ネルから選択される場合にあてはまる。図15を参照さ
れたい。また、ライン及び新たなファイル・アクション
(File.Openの代わりに)を選択することが可能であ
る。この結果、ライン・データ・エントリ・パネル(ニ
ュー・モード)が表示される。この場合、ルーラ・リス
トはライン・パネルに割当てられるものと同じである。
【0053】次のパネルがデータ・エントリ・パネルの
場合、その作業オブジェクトがパーツ・パネルに対する
作業オブジェクトと同じであるかどうかがチェックされ
る。同じ場合、作業オブジェクトがデータ・エントリ・
パネルのルーラ・リストに追加される。図16を参照さ
れたい。作業オブジェクトが同じでない場合、パーツ・
パネルに対する作業オブジェクトがデータ・エントリ・
パネルのルーラ・リストに追加される。図17を参照さ
れたい。次のパネルがパーツ・パネルの場合、処理は次
のパネルがデータ・エントリ・パネルの場合と類似であ
る。ここでパーツ・パネルの連続は、データ・ナビゲー
ションがコンプレックス・オブジェクト構造に従ってい
る場合、ルーラ・リストを増加する。リスト・パネル内
のリスト・エントリがオープンされると、そのリスト・
パネルに対応するルーラ・リストがデータ・エントリま
たはパーツ・パネルに渡される。選択されるオブジェク
トが作業オブジェクトとなる。図18を参照されたい。
【0054】パネルがパーツ・パネルからオープンされ
る時にルーラ・リストに作業オブジェクトを追加するル
ールについては既に述べた。例えば、Line Text がオー
プンされると、Line1がLine Textデータ・エントリ・パ
ネルのルーラ・リストに追加される。図19を参照され
たい。リスト・パネル内のリスト・エントリがオープン
されると、そのリスト・パネルのルーラ・リストがデー
タ・エントリまたはパーツ・パネルに渡される。選択さ
れるオブジェクトが図20に示されるように作業オブジ
ェクトとなる。データ・エントリ・パネルは次にそのル
ーラ・リストを作業オブジェクトに割当て、作業オブジ
ェクトはこれを自己処理の間にコンテキスト情報及び妥
当性検証として使用する。
【0055】バックグラウンド(または"高速パス(fas
tpath)"オンライン)処理の間、トランザクションは、
コンプレックス・オブジェクトの1部である単純オブジ
ェクト(例えば購買注文ライン)に直接関連付けること
ができる。この場合、トランザクションは、処理する購
買注文ラインを識別するために、内部に十分なコンテキ
スト情報(購買注文Header Name及びVersion Name )を
有さなければならない。本発明により提供される総称コ
ンプレックス・オブジェクト支援は、ルーラidの連鎖
を追従することにより、主コンプレックス・オブジェク
ト内のルーラに対応するルーラ・リストを記入し、(サ
ブオブジェクトの論理キーを受渡す)各場合において"f
ind applicable" メソッドを使用する。バージョン制御
オブジェクトの場合には、トランザクション入力から導
出された同一の選択シーケンス番号が全てのfindに対し
て使用される。図21を参照されたい。
【0056】追加のコンテキスト・ルーラ(バージョン
2に対するバージョン選択オブジェクトなど)が、アプ
リケーション特有メタクラスの"build_ruler_list"メソ
ッドにより獲得される。このメソッドは総称メタクラス
内の遅延メソッドである。追加のコンテキスト・ルーラ
は通常は全コンプレックス・オブジェクトに対して共通
であり、そのコンプレックス・オブジェクトの全ての参
加対象は、共通のアプリケーション特有メタクラスを使
用することができる。
【0057】サブオブジェクトを有するオブジェクトに
適用される多くのアクションが、サブオブジェクトにも
適用されなければならない。本発明における特有の支援
を有する2つは、"コピー"及び"消去"である。本発明は
また、同じカスケード・パターンに従う追加のコンプレ
ックス・オブジェクト・アクションを容易に定義するた
めのコンテキストを提供する。
【0058】各カスケード化コンプレックス・オブジェ
クトは、2つの別々のメソッドすなわちクラス・メソッ
ド(例えばcopy_c)及びインスタンス・メソッド(copy
_i)に分割される。クラス・メソッドはルーラ・オブジ
ェクトのインスタンス・メソッドにより呼出されるか、
直接ユーザ・アクションとして直接呼出される。これは
ルーラの論理キー並びにバージョン選択、及び直接ルー
ラを含むルーラ・リスト並びにカスケードの間にそのル
ーラに渡されたルーラ・リストをパスされる。これはこ
のメソッドがこのオブジェクト・タイプに対して有効か
どうかを確認するために、クラス属性(例えば"copy_m
e" )をチェックする。クラス・メソッドは作業する1
つまたは複数のインスタンスを見い出すために使用され
る。パスされたルーラ・リストは、対応するインスタン
ス・メソッドが呼出される各関連インスタンスに割当て
られる。コピー及び消去などの純粋なコンプレックス・
オブジェクト・アクションに対して、作業するインスタ
ンスを見い出すためにfind_applicableまたはgen_appli
cable_strmが使用される。find_applicableはルーラの
論理キーが現オブジェクトに対する完全な論理キーであ
る場合に使用され、ストリーム・メソッドはルーラが部
分論理キーのみを提供する場合に使用される。
【0059】インスタンス・メソッドはインスタンスに
対する関連アクション(例えばコピー)を実行する。こ
こでruler_listは、"to"オブジェクトが生成される時に
もコピーされることを述べておく。コピー・メソッドの
場合、ルーラ・リストは"to"オブジェクトに対するリス
トであり、これはたとえ、その関連コンテキスト情報が
データベースにまだ記憶されていない場合でも、"to"オ
ブジェクトに対するコンテキスト検証を許可するために
使用される。
【0060】インスタンス・メソッドは次にクラス属性
を使用することにより、サブオブジェクトが存在するか
どうかをチェックする。存在する場合には、各サブオブ
ジェクトに対応するクラス・メソッドを呼出し、拡張論
理キー(通常それ自身)及び拡張ルーラ・リストを渡
す。追加のパラメータもまた拡張される。例えば、コピ
ー・モードでは、"new_key" が新たに生成された"to"オ
ブジェクトの完全なキーを含むように拡張される。
【0061】コンプレックス・オブジェクトのカスケー
ドの間にキーを拡張するメソッドは、特殊環境における
再定義を許可するように設計される。これはコンプレッ
クス・オブジェクトの1部分だけがコピーされる場合に
相当するが、その再定義はコンプレックス・オブジェク
ト構造の最上部においては明白でない。例えば、Billof
Material(BOM)データは計画、エンジニアリング
及び提供者のビューを有する。しかしながら、項目デー
タは全てのビューに共通である。新たな項目及びBOM
を生成するための計画ビューのコピーは、項目データを
含まなければならない。しかしながら、計画識別は項目
データに対応する論理キーの1部ではないために、コピ
ーが項目ヘッダからBOMヘッダにカスケードする時、
これはそのキー内では使用可能でない。図22は購買注
文コンプレックス・オブジェクト構造を使用してカスケ
ードされるコピーの例を示す。
【0062】コンプレックス・オブジェクトのプレゼン
テーションのパネル・フローは、コンプレックス・オブ
ジェクトの階層構造に従う。4つのタイプのパネルが使
用される。メニュー・パネルは処理される様々なタイプ
のコンプレックス・オブジェクトをリストする。リスト
・パネルは単純オブジェクトまたはコンプレックス・オ
ブジェクトをリストする。リスト内のオブジェクトがコ
ンプレックス(サブオブジェクトを有する)の場合、次
に表示されるパネルはパーツ・パネルである。パーツ・
パネルはコンプレックス・オブジェクト(サブオブジェ
クトを有するオブジェクト)に対して使用される。オブ
ジェクト自身、または任意のサブオブジェクトがパネル
から選択される。例えば、購買注文ヘッダは購買注文ラ
イン及び購買注文テキストをサブオブジェクトとして有
するため、購買注文ヘッダに対応するパーツ・パネルは
購買注文ヘッダ、購買注文ライン、または購買注文テキ
ストの選択を許可する。選択の結果、選択されたオブジ
ェクトのリストが表示される(サブオブジェクトの論理
キーがパーツ・パネルのルーラ・オブジェクトの論理キ
ーを拡張する場合)。論理キーが同じ場合、データ・エ
ントリまたはパーツ・パネル(サブオブジェクト自身が
コンプレックスの場合)が表示される。最後に、データ
・エントリ・パネルが単純オブジェクトに関連するデー
タのビュー及び更新を許可する。これらはパネル・フロ
ーのエンド・ノードである。
【0063】図23乃至図25は購買注文コンプレック
ス・オブジェクトを使用する例を表す。購買注文のリス
トが主メニュー・パネルから選択される。選択ポップア
ップはリスト内に現れる購買注文を制限する。購買注文
はコンプレックス・オブジェクトであるので、購買注文
がオープンされる時に、データ・エントリ・パネルの代
わりにパーツ・パネルが表示される。図23を参照され
たい。購買注文はバージョン制御されるので、この初期
リストからの選択の間に、任意のバージョン選択基準が
考慮されなければならない。リストを選択するための選
択ポップアップは選択するバージョンの制限を含む。既
に述べたように、バージョン選択情報は、第1のパーツ
・パネル及び全ての続くパネルに対応するルーラ・リス
トに含まれるコンテキスト・オブジェクトの1部とな
る。
【0064】選択が実行される時、パーツ・パネルはオ
ープンされるパネルがリスト・パネル、パーツ・パネル
またはデータ・エントリ・パネルかをチェックする。パ
ネルがリスト・パネルの場合、(作業オブジェクトが追
加された)ルーラ・リストを渡すことにより、open_par
tメソッドが呼出される。リスト・パネルopen_partは次
にルーラ・リスト内の情報を使用し、適切な種類のオブ
ジェクトのストリームを生成する。本発明はここで提供
される論理キー及びストリーム関係を利用するために、
ストリームの生成を特殊化する。例えば、図24に示さ
れるように、ラインが選択される場合、購買注文番号Pu
rchase Order1(PO1) に一致するラインのストリー
ムが選択される。
【0065】次のパネルがデータ・エントリ・パネルの
場合、作業オブジェクトがパーツ・パネルに対応する作
業オブジェクトと同じかどうかがチェックされる。同じ
でない場合、本発明によりfind_applicable を呼出すた
めに再定義される新たな作業オブジェクトに対するfind
_internal メソッドが、オープンする新たな作業オブジ
ェクトのインスタンスを見い出すために使用される。こ
れは属性が追加されない場合、すなわちルーラ対サブオ
ブジェクトの関係が1対1の場合に、論理キーが同じま
まであることを仮定する。従って、パーツ・パネルに対
応する作業オブジェクトの論理キー(例えば購買注文ヘ
ッダ論理キー)が、選択されるオブジェクト(例えば購
買注文テキスト)のfind_applicable メソッドに渡され
る。この例では、1つの購買注文(及びバージョン)に
対して、1つの購買注文テキスト・オブジェクトだけが
存在し、これが購買注文番号(Purchase Order1 )及び
バージョン(Ver2)により一意的に識別される。図25
を参照されたい。次のパネルがパーツ・パネルであれ
ば、処理は次のパネルがデータ・エントリ・パネルであ
る時と同様となる。
【0066】コンプレックス・オブジェクトのロックを
実施するために、2つのメソッドupdate_allowed及びop
en_allowedが使用される。これらは具体化オブジェクト
(EKNZEXTO)のメソッドであり、対話式及びバッチ処理
の両者により呼出される。これら両メソッドは現ルーラ
・リストをパスされる。メソッドはルーラ・リスト内の
対象のルーラを見い出すために、及び更新(または表
示)が許可されるかどうかを判断するためにルーラの適
切なメソッドを呼出すために、各アプリケーションによ
り再定義される。これらの決定は、通常、アプリケーシ
ョン領域内において一意的であるので、アプリケーショ
ン・メタクラスEKNAA201のopen_allowed及びupdate_all
owedメソッドを呼出すために、update_allowed及びopen
_allowedメソッドがEKNAA2A1内で再定義される。これは
特定のコンプレックス・オブジェクトが、EKNAA201内で
メソッドを再定義することにより、そのコンプレックス
・オブジェクトのロック方法を変更することを許可する
(それにより柔軟性を強化する)。EKNAA2A2はまたupda
te_allowedを呼出すためのcheck_tagsメソッドを再定義
し、更新が許可されない場合に限り、完全なパネル表示
を実施する。これはまたFile.Saveを禁止する。check_
tagsメソッドは上記引用された米国特許出願第1019
04号の中で述べられている。
【0067】幾人かのユーザが同時に同一のコンプレッ
クス・オブジェクト内のデータを更新する可能性があ
る。これはルーラがサブオブジェクトの更新をもはや許
可しない(例えばECにより影響されるBOMコンポー
ネントが更新される間に、そのECがリリース状態にプ
ロモートされる)、或いは新たなサブオブジェクトが追
加されるか、既存のサブオブジェクトが更新される時
に、ルーラ・オブジェクトが消去される(例えばBOM
コンポーネントがBOMに追加される間に、BOMヘッ
ダが消去される)などルーラが更新される場合にデータ
保全性の問題となる。これらの問題に対する保護のため
に、総称データ・エントリ・パネル及び総称リスト・パ
ネルが妥当性検証を呼出し、内部オブジェクト内で処理
する以前に、ルーラ・リスト内の一貫するオブジェクト
の再実体化を実施する。これは妥当性検証がルーラが使
用可能なほとんどの現データに対して実施されることを
保証する。
【0068】更に総称データ・エントリ・パネル内のFi
le.Saveメソッドはupdate_allowedへの追加呼出しを生
成し、再度ルーラ・リスト内の一貫するオブジェクトの
再実体化を実施する。追加オプションとして、File.De
lete及び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)記載の方法。
【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

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】各々が、データ属性を含むオブジェクト・
    フレームと関連オブジェクトに対してアクションを実行
    するための少なくとも1つのオブジェクト・メソッドと
    を含み、子が親のデータ属性及びメソッドを継承するよ
    うな継承階層で構成される複数のオブジェクトを含むコ
    ンピュータ・プラットフォームと、 上記オブジェクトにメッセージを送信して、関連オブジ
    ェクト・メッセージにより関連オブジェクト・フレーム
    にアクションを実行するオブジェクト・マネージャと、 ユーザ要求に応答して、親及び子オブジェクトとして互
    いに無関係な上記オブジェクトをコンプレックス・オブ
    ジェクトにグループ化する手段であって、各コンプレッ
    クス・オブジェクト・メンバが、親及び子オブジェクト
    として互いに無関係なグループ化されたオブジェクトに
    対するポインタを含むコンプレックス・オブジェクト・
    メンバ・フレームと、該グループ化されたオブジェクト
    に対してグループとしてアクションを実行するための複
    数のコンプレックス・オブジェクト・メソッドを含むグ
    ループ化手段とを具備し、 上記オブジェクト・マネージャが、関連コンプレックス
    ・オブジェクト・メソッドによりグループ化されたオブ
    ジェクトにアクションを実行するために、上記コンプレ
    ックス・オブジェクト・メンバにアクション・メッセー
    ジを送信する、オブジェクト指向コンピュータ・システ
    ム。
  2. 【請求項2】上記コンプレックス・オブジェクト・メン
    バ・フレームが、コンプレックス・オブジェクトにより
    制御されるサブオブジェクトとコンプレックス・オブジ
    ェクトのパフォーマンスを制御する少なくとも1つのル
    ーラ・オブジェクトに対する少なくとも1つのポインタ
    を含む、請求項1記載のオブジェクト指向コンピュータ
    ・システム。
  3. 【請求項3】上記コンプレックス・オブジェクト・メン
    バのインスタンスを識別する手段を含む、請求項2記載
    のオブジェクト指向コンピュータ・システム。
  4. 【請求項4】上記識別手段が、ユーザ要求に応答して、
    上記の各コンプレックス・オブジェクト・メンバに対応
    する論理キーの継承階層を生成する手段であって、各論
    理キー属性が関連コンプレックス・オブジェクトを形成
    するオブジェクトのインスタンスを識別する属性を有す
    る論理キー継承階層生成手段を含む、請求項3記載のオ
    ブジェクト指向コンピュータ・システム。
  5. 【請求項5】上記識別手段が、上記論理キー継承階層生
    成手段に応答して、関連コンプレックス・オブジェクト
    を形成するそれぞれのオブジェクトの論理キー属性を、
    関連コンプレックス・オブジェクトを形成するそれぞれ
    のオブジェクトのオブジェクト・フレーム内に配置する
    手段を含む、請求項4記載のオブジェクト指向コンピュ
    ータ・システム。
  6. 【請求項6】論理キー属性の上記継承階層が関連コンプ
    レックス・オブジェクト内のルーラ対サブオブジェクト
    関係を反映するように生成される、請求項4または5記
    載のオブジェクト指向コンピュータ・システム。
  7. 【請求項7】上記コンプレックス・オブジェクト・メソ
    ッドがコンプレックス・オブジェクトを消去するメソッ
    ド、及びコンプレックス・オブジェクトをコピーするメ
    ソッドを含む、請求項1記載のオブジェクト指向コンピ
    ュータ・システム。
  8. 【請求項8】コンピュータ・プラットフォーム上のオブ
    ジェクト指向コンピュータ・システムにおいてオブジェ
    クトにアクションを実行する方法であって、 上記オブジェクト指向コンピュータ・システムが、各々
    が、データ属性を含むオブジェクト・フレーム及び関連
    オブジェクトにアクションを実行する少なくとも1つの
    オブジェクト・メソッドを含むとともに、子が親のデー
    タ属性及びメソッドを継承するような継承階層内で構成
    される複数のオブジェクトと、該オブジェクトにメッセ
    ージを送信して、関連オブジェクト・メッセージにより
    関連オブジェクト・フレームにアクションを実行するオ
    ブジェクト・マネージャとを具備し、 上記アクション実行メソッドが、ユーザ要求に応答して
    上記オブジェクト指向コンピューティング・システムに
    より実行される以下のステップ、すなわち、 親及び子オブジェクトとして互いに無関係な上記オブジ
    ェクトをコンプレックス・オブジェクトにグループ化す
    るステップであって、各コンプレックス・オブジェクト
    ・メンバが、親及び子オブジェクトとして互いに無関係
    なグループ化されたオブジェクトに対するポインタを含
    むコンプレックス・オブジェクト・メンバ・フレーム
    と、該グループ化されたオブジェクトに対してグループ
    としてアクションを実行するための複数のコンプレック
    ス・オブジェクト・メソッドを含むようなグループ化ス
    テップと、 関連コンプレックス・オブジェクト・メソッドによりグ
    ループ化されたオブジェクトにアクションを実行するた
    めに、上記コンプレックス・オブジェクト・メンバにア
    クション・メッセージを送信するステップを含む、オブ
    ジェクト実行方法。
  9. 【請求項9】上記コンプレックス・オブジェクト・フレ
    ームが、コンプレックス・オブジェクトにより制御され
    るサブオブジェクトとコンプレックス・オブジェクトの
    パフォーマンスを制御する少なくとも1つのルーラ・オ
    ブジェクトに対する少なくとも1つのポインタを含む、
    請求項8記載の方法。
  10. 【請求項10】上記送信ステップに先立って実行され
    る、各上記コンプレックス・オブジェクトに対応する論
    理キー属性の継承階層の生成ステップを含み、各論理キ
    ー属性が関連コンプレックス・オブジェクトを形成する
    オブジェクトのインスタンスに対するポインタを含む、
    請求項9記載の方法。
  11. 【請求項11】上記継承階層生成ステップの次に、関連
    コンプレックス・オブジェクトを形成するそれぞれのオ
    ブジェクトの論理キー属性を、関連コンプレックス・オ
    ブジェクトを形成するそれぞれのオブジェクトのオブジ
    ェクト・フレーム内に配置するステップが実行される、
    請求項9記載の方法。
  12. 【請求項12】コンピュータ・プラットフォーム上のオ
    ブジェクト指向コンピュータ・システムにおいてオブジ
    ェクトにアクションを実行する方法であって、 上記オブジェクト指向コンピュータ・システムが、各々
    が、データ属性を含むオブジェクト・フレーム及び関連
    オブジェクトにアクションを実行する少なくとも1つの
    オブジェクト・メソッドを含むとともに、子が親のデー
    タ属性及びメソッドを継承するような継承階層内で構成
    される複数のオブジェクトと、該オブジェクトにメッセ
    ージを送信して、関連オブジェクト・メッセージにより
    関連オブジェクト・フレームにアクションを実行するオ
    ブジェクト・マネージャとを具備し、 上記アクション実行メソッドが、ユーザ要求に応答して
    上記オブジェクト指向コンピューティング・システムに
    より実行される以下のステップ、すなわち、 親及び子オブジェクトとして互いに無関係な上記オブジ
    ェクトをコンプレックス・オブジェクトにグループ化す
    るステップであって、各コンプレックス・オブジェクト
    ・メンバが、該コンプレックス・オブジェクト・メンバ
    により制御されるサブオブジェクトと該コンプレックス
    ・オブジェクト・メンバのパフォーマンスを制御する少
    なくとも1つのルーラ・オブジェクトに対する少なくと
    も1つポインタを含むコンプレックス・オブジェクト・
    メンバ・フレーム並びにグループ化されたオブジェクト
    に対してグループとしてアクションを実行するための複
    数のコンプレックス・オブジェクト・メソッドを含むよ
    うなグループ化ステップと、 ルーラ・オブジェクト及びサブオブジェクトに対するポ
    インタを関連コンプレックス・オブジェクト・メンバ・
    フレーム内に配置するステップと、 ルーラ・オブジェクト及びサブオブジェクトのインスタ
    ンスに対するポインタを含む、各コンプレックス・オブ
    ジェクト・メンバに対する論理キーを識別するステップ
    と、 関連コンプレックス・オブジェクト・メンバのルーラ対
    サブオブジェクト関係に従い、各コンプレックス・オブ
    ジェクトに対応する論理キーの継承階層を生成するステ
    ップと、 各コンプレックス・オブジェクト・メンバの論理キーを
    そのオブジェクト・フレーム内に配置するステップと、 を含む、オブジェクト実行方法。
  13. 【請求項13】上記コンプレックス・オブジェクトの1
    つのインスタンスに転送されるアクション・メッセージ
    に応答して実行される以下のステップ、すなわち、 上記コンプレックス・オブジェクトのルーラ・オブジェ
    クト及びサブオブジェクトを識別するステップと、 識別されたルーラ・オブジェクト及びサブオブジェクト
    を実体化するステップと、 上記コンプレックス・オブジェクトの論理キーを獲得す
    るステップと、 獲得された上記コンプレックス・オブジェクトの論理キ
    ー及び該論理キーの継承階層にもとづき、該コンプレッ
    クス・オブジェクトのインスタンスを識別するステップ
    と、 アクション・メッセージを上記コンプレックス・オブジ
    ェクトの識別されたインスタンスに対して実行するステ
    ップと、 を含む、請求項12記載の方法。
JP6142964A 1993-08-04 1994-06-24 オブジェクト指向コンピュータ・システム及びオブジェクト実行方法 Expired - Lifetime JP2986051B2 (ja)

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 true JPH0764778A (ja) 1995-03-10
JP2986051B2 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)

* Cited by examiner, † Cited by third party
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
US6857103B1 (en) 2000-07-14 2005-02-15 International Business Machines Corporation Flexible help support in an object oriented application
US6938260B1 (en) * 2000-07-14 2005-08-30 International Business Machines Corporation Complex data navigation, manipulation and presentation support for visualage Java
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
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
US8239312B2 (en) * 2001-03-15 2012-08-07 Versata Development Group, Inc. Method and apparatus for net-pay and debt consolidation
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
WO2007123753A2 (en) 2006-03-30 2007-11-01 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
CN104407518B (zh) 2008-06-20 2017-05-31 因文西斯系统公司 对用于过程控制的实际和仿真设施进行交互的系统和方法
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

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0520080A (ja) * 1991-07-16 1993-01-29 Fujitsu Ltd 計算機における拡張オブジエクト指向方式
JPH0520081A (ja) * 1991-07-11 1993-01-29 Nec Corp 管理対象操作の個別記述方式
JPH0520079A (ja) * 1991-07-16 1993-01-29 Fujitsu Ltd 計算機における拡張オブジエクト指向方式

Family Cites Families (20)

* Cited by examiner, † Cited by third party
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
US5369778A (en) * 1987-08-21 1994-11-29 Wang Laboratories, Inc. Data processor that customizes program behavior by using a resource retrieval capability
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
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
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
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
JPH0833862B2 (ja) * 1989-10-23 1996-03-29 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン オブジエクト指向コンピユータ・システム
US5075848A (en) * 1989-12-22 1991-12-24 Intel Corporation Object lifetime control 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
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
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
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0520081A (ja) * 1991-07-11 1993-01-29 Nec Corp 管理対象操作の個別記述方式
JPH0520080A (ja) * 1991-07-16 1993-01-29 Fujitsu Ltd 計算機における拡張オブジエクト指向方式
JPH0520079A (ja) * 1991-07-16 1993-01-29 Fujitsu Ltd 計算機における拡張オブジエクト指向方式

Also Published As

Publication number Publication date
US5832268A (en) 1998-11-03
JP2986051B2 (ja) 1999-12-06

Similar Documents

Publication Publication Date Title
JP2986051B2 (ja) オブジェクト指向コンピュータ・システム及びオブジェクト実行方法
US5499365A (en) System and method for controlling versions of objects in an object oriented computing environment
US5535389A (en) Business process objects with associated attributes such as version identifier
JP2843763B2 (ja) オブジェクト指向コンピュータ・システムにおけるインタフェース方法及び装置
US5659735A (en) Object-oriented system for program version and history database management system for various program components
US5752245A (en) Object-oriented system for configuration history management with a project workspace and project history database for draft identification
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
US5497491A (en) System and method for importing and exporting data between an object oriented computing environment and an external computing environment
US7644099B2 (en) Dynamic generation and automated distribution of user interface from database model
US5557793A (en) In an object oriented repository, a method for treating a group of objects as a single object during execution of an operation
US7130863B2 (en) Method for enhancing object-oriented programming through extending metadata associated with class-body class-head by adding additional metadata to the database
US5893912A (en) Thread context manager for relational databases, method and computer program product for implementing thread context management for relational databases
US6970883B2 (en) Search facility for local and remote interface repositories
US5721925A (en) Method for generically invoking operation in an object oriented repository
US6976144B1 (en) Methods and apparatus for digital data processing with mutable inheritance
EP1061431A2 (en) Configuring computer systems
CA2403624A1 (en) Method and system for top-down business process definition and execution
WO1994029804A1 (en) Process management system
US7117293B1 (en) Method and apparatus for archiving and unarchiving objects
EP0841612A2 (en) Framework for software development
US5463769A (en) Method and apparatus using dictionary of methods and states for high performance context switching between build and run modes in a computer application builder program
Lhotka Expert C# 2005 Business Objects
JPH0950370A (ja) 高機能作成者クラス・パターン、マシン実行手続きおよびオブジェクト指向プログラミング・システム
Lochovsky et al. OTM: Specifying office tasks
US6886172B2 (en) Method for mapping procedural C++ code to java object-oriented classes