JPH09251377A - オブジェクト指向システムにおいて、オブジェクト・サービスをバイナリ・クラスに追加するシステム、方法及び商品 - Google Patents

オブジェクト指向システムにおいて、オブジェクト・サービスをバイナリ・クラスに追加するシステム、方法及び商品

Info

Publication number
JPH09251377A
JPH09251377A JP8174647A JP17464796A JPH09251377A JP H09251377 A JPH09251377 A JP H09251377A JP 8174647 A JP8174647 A JP 8174647A JP 17464796 A JP17464796 A JP 17464796A JP H09251377 A JPH09251377 A JP H09251377A
Authority
JP
Japan
Prior art keywords
class
service
creating
searching
constraints
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.)
Pending
Application number
JP8174647A
Other languages
English (en)
Inventor
Guylaine Cantin
ガイレイネ・カンティン
George Prentice Copeland
ジョージ・プレンティス・コープランド
Geoffrey Martin Hambrick
ジョフレイ・マーティン・ハンブリック
Roger Herward Sessions
ロジャー・ハワード・セションズ
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 JPH09251377A publication Critical patent/JPH09251377A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 持続性、同時性、回復性、セキュリティ及び
分配などのオブジェクト・サービスをバイナリ・オブジ
ェクト・クラスに自動的に挿入すること。 【解決手段】 クラスの記述をネーム・サービス・コン
テキストに登録しておく。属性に対する所望の制約につ
いて、それを有するファクトリであるようなクラス・オ
ブジェクトのネーム・サービス・コンテキストが探索さ
れ、オブジェクトが所定の動作環境において動作可能が
否かが判断される。このときオブジェクト・サービス制
約については除外される。探索によりクラスが見い出さ
れると、最初に既にオブジェクト・サービス制約をサポ
ートするクラスが選択され、その動作環境において所望
のオブジェクト・サービス機能を有するクラス・オブジ
ェクトが作成される。オリジナル・クラスが所望の機能
を提供しない場合には、特定のオブジェクト・サービス
機能が追加されて呼び出し側に返却される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は情報処理システム、
方法及び装置に関し、特に、オブジェクト指向システム
におけるコードの再利用を容易にする情報処理システム
及び方法に関する。
【0002】
【従来の技術】従来技術において、オブジェクト指向プ
ログラミング・システム(OOPS)を改善するための
多くの技術が存在する。次にそれらの例を示す。
【0003】米国特許第5093914号は一般に、定
義済みアクションを作用させるために、オブジェクト指
向プログラムの実行を制御するデジタル・コンピュータ
により使用される方法を教示し、例えばプログラムの実
行の間に指定オブジェクトに対して指定の仮想機能が呼
び出されるときに、プログラムを停止するなどの制御が
含まれる。
【0004】前記特許は一般に、オブジェクト指向プロ
グラムの実行を制御する方法を扱うが、本発明により教
示されるようにオブジェクト指向システム内のバイナリ
・クラス(binary classes)に、オブジェクト・サービ
スを自動的に挿入することを教示或いは提案していな
い。
【0005】米国特許第5343554号は、第1及び
第2のクラスのオブジェクトを作成するステップを含む
プロセスにより、問題を解決するコンピュータ・システ
ムを教示する。そこでは第2のクラス・オブジェクトが
外部的に呼び出し可能であり、外部的に呼び出し可能な
サブクラス・オブジェクトが、内部的に呼び出し可能な
サブクラス・オブジェクトの指示を含み、そのクラスの
オブジェクトを実行し、1つの外部的に呼び出し可能な
サブオブジェクトが内部的に呼び出し可能なサブオブジ
ェクトを呼び出し、第1のクラスの新たなオブジェクト
が結果に応答して生成される。
【0006】親は一般に、クラス及びサブクラスを含む
オブジェクト指向システムの使用を処理し、問題を解決
するが、親は本発明により教示されるようにオブジェク
ト指向システム内のバイナリ・クラスにオブジェクト・
サービスを自動的に挿入することを教示或いは提案して
いない。
【0007】持続性(persistence)、回復性(recover
ability)、同時性(concurrency)及びセキュリティな
どのオブジェクト・サービス機能を、バイナリ・クラス
に自動的に追加する必要性がある。時にクラスのソース
・コードは変更のために使用可能でない。ソース・コー
ドが使用可能であっても、オブジェクト・サービス機能
を追加するにはかなりな再プログラミング労力が要求さ
れる。
【0008】ユーザはユーザのクラス図表のサイズを増
加すること無く、オリジナル・クラスの多くの変更によ
り、オブジェクト・サービス機能を追加できるべきであ
る。ユーザはクラスを探索するときにこれらのオブジェ
クト・サービス機能を、クラスの機能を記述する制約と
一緒に制約として指定できるべきである。
【0009】オブジェクト指向プログラミング・システ
ムにおける総合的な目標は、容易に再利用可能なプログ
ラム・オブジェクトを開発することである。
【0010】ソース・コードに勝るバイナリ・コードの
重要性は、再利用の度合いと共に増加する。オブジェク
ト指向技術の主な目的はコードの再利用である。オブジ
ェクト指向技術が大規模な成功を達成するためにはバイ
ナリ・コードの再利用性が重要である。最新技術は個別
に適合化され、互いにプラグ挿入されうるオブジェクト
形式から生成されるアプリケーションに移行しているの
で、バイナリ・コードは非常に重要である。
【0011】オブジェクト管理グループは現在、共通オ
ブジェクト・サービスと名付けられるオブジェクト・シ
ステム・サービスのための一連のインタフェースを定義
する。
【0012】
【発明が解決しようとする課題】本発明の目的は、持続
性、同時性、回復性、セキュリティ及び分配などのオブ
ジェクト・サービスを、バイナリ・オブジェクト・クラ
スに自動的に挿入することである。
【0013】
【課題を解決するための手段】本発明によれば、オブジ
ェクト指向技術を用いる情報処理システムにおいて、持
続性、同時性、回復性、セキュリティ及び分配などのオ
ブジェクト・サービスを、バイナリ・クラスに自動的に
挿入する方法がクラスの記述をネーム・サービス・コン
テキストに登録するステップと、属性に対する所望の制
約を有するファクトリとして参照されるクラス・オブジ
ェクトのネーム・サービス・コンテキストを探索するス
テップであって、オブジェクトが所定の動作環境におい
て動作可能か否かを判断するステップと、オブジェクト
・サービス制約を除外するステップとを含む前記探索ス
テップと、探索により見い出されるクラスに対して、最
初に既にオブジェクト・サービス制約をサポートするク
ラスを選択するステップと、次にその動作環境におい
て、所望のオブジェクト・サービス機能を有するクラス
・オブジェクトを作成するステップと、オリジナル・ク
ラスが所望の機能を提供しない場合に、特定のオブジェ
クト・サービス機能を追加するステップと、クラス・オ
ブジェクトを呼び出し側に返却するステップとを含み、
呼び出し側は次にこのクラス・オブジェクトを用いて、
複数のインスタンスを作成することができる。
【0014】本発明の利点は、オブジェクト・サービス
の挿入のために再プログラミング労力が要求されず、ソ
ース・コードが要求されず、実際にも必要とされず、ユ
ーザのクラス図表及びライブラリがその複雑性またはサ
イズを増さないことである。
【0015】
【発明の実施の形態】図1及び図2を参照して、本発明
のための情報処理システム10及びオペレーティング・
システム環境について説明する。
【0016】情報処理システム10はグラフィックス・
ワークステーションなどであり、非常に強力なプロセッ
サ12、記憶システム14、システム・バス16、表示
装置20を制御する表示サブシステム18、カーソル制
御装置22、及びI/O制御装置24を有し、これらの
コンポーネントは全てシステム・バス16により接続さ
れる。図1に示される情報処理システム10は、OS/
2(IBM社の登録商標)などの市販の既知のマルチタ
スク・オペレーティング・システムにより動作されう
る。OS/2オペレーティング・システムが情報処理シ
ステム10を制御する多くのタスクの中にIBM社の市
販の製品であるプログラムSOMObjectの実行が含まれ
る。
【0017】本発明の方法及び商品は、SOMObjectプロ
グラムに組み込まれうる。
【0018】オブジェクト・プラットフォームによりサ
ポートされるオブジェクト・サービスには、次のものが
含まれる。
【0019】外部化(externalization)は、オブジェ
クトをアドレス・ベースに渡りコピーしたり、オブジェ
クトをアドレス・ベースに渡り移動したり、オブジェク
トをクライアント・アドレス・ベース内にキャッシング
したり、オブジェクトを値によりアドレス・ベースに渡
りパスしたり、或いはオブジェクト持続状態を記憶及び
復元するなどのためにオブジェクトにまたはオブジェク
トからデータを転送する技術である。
【0020】持続性は、オブジェクトの状態をデータベ
ースまたはファイル・システムなどのデータ記憶機構に
記憶することを可能にする。
【0021】オブジェクト・トランザクション・サービ
スは、回復可能なオブジェクト間の2フェーズ・コミッ
ト協調(two-phase commit coordination)を提供し、
そこではトランザクション・サービスが、トランザクシ
ョン・コンテキストを呼び出し側と被呼び出し側との間
で転送し、回復可能な資源の登録を確実に受諾し、2フ
ェーズ・コミットメントを調整する役割をする。
【0022】同時性サービスは、トランザクションまた
はスレッドのためにロックを制御するロック・マネージ
ャを提供し、トランザクション・ロックの処理におい
て、同時性はネスト化トランザクションのためにロック
・インヘリタンスを処理し、ロック競合がボトルネック
となるアプリケーションのために、明示的ロック及びロ
ック解除をサポートする。
【0023】オブジェクト・ネーム・サービス(図4参
照)は、オブジェクトがディレクトリ(ネーミング・コ
ンテキスト)に、人間にフレンドリな名前により結合さ
れることを可能にする。
【0024】オブジェクト・ネーム・サービスの特殊な
場合は、ファクトリ・ファインダ(図5参照)であり、
そこではクラス記述がディレクトリに、クラスを記述す
る属性と一緒に結合される。こうした属性には、機能、
クラス・ライブラリ、コスト、命令セット・タイプなど
が含まれる。
【0025】バイナリ・クラスの再利用をサポートする
ために、次に示す両者の役割の差異が解決されなければ
ならない。オブジェクト提供者がクラス外部インタフェ
ースを設計し、そのメソッドを実現し、それを外部イン
タフェースのIDL(インタフェース定義言語)記述、
並びにそのバイナリ・コードを含むDLL(ダイナミッ
ク・リンク・ライブラリ)を含む製品として、パッケー
ジ化する。オブジェクト消費者が前記のバイナリ・オブ
ジェクトを購入し、それを自身のアプリケーションに合
うように適応化する。これにはとりわけ、必要なあらゆ
るオブジェクト・サービスを追加するステップが含まれ
る。
【0026】オブジェクト・サービスは、オブジェクト
・プラットフォーム(例えばSOM(システム・オブジ
ェクト・モデル))によりサポートされる。しかしなが
ら、バイナリ・クラスはこれらのオブジェクト・サービ
スがバイナリ・クラスに適用されうるように、オブジェ
クト・プラットフォームと協動しなければならない。こ
のことは、オブジェクト提供者及び消費者の両者による
特定の作業を要求する。本発明は、これら両者の役割に
より要求される作業を最小化する。
【0027】本発明によれば、オブジェクト提供者がバ
イナリ・クラスIDL及びDLLに次のものを追加す
る。オブジェクトのメソッドが正しく作用するために必
要な全てのデータの外部ビューを含むオブジェクトの外
部データ・スキーマ。データをオブジェクトから及びオ
ブジェクトに転送する、それぞれexternalize_to_strea
m()メソッド及びinternalize_from_stream()メソッ
ド。
【0028】これは外部化サービスと一緒に使用され、
オブジェクトを移動またはコピーしたり、オブジェクト
をクライアント・アドレス空間にキャッシングしたり、
オブジェクトを値によりパスしたり、オブジェクト持続
状態をデータ記憶に(から)記憶(復元)したり、或い
はオブジェクト照会、回復性、初期化、エクスポート/
インポート及び他のオブジェクト・サービスを可能にす
る。
【0029】オブジェクト提供者もまた、トランザクシ
ョン・コミット・プロセスの間に呼び出されて、オブジ
ェクトの一貫性をチェックする方法を提供しうる。オブ
ジェクト提供者は、通常、オブジェクト・サービスを提
供するために他に何も実行しない。
【0030】本発明によれば、オブジェクト消費者は、
様々なオブジェクト・サービスをバイナリ・クラスに追
加するために、オブジェクト・プラットフォームを要求
し、オブジェクト消費者のアプリケーションにより的確
に適合する新たなクラスを生成する。オブジェクト・サ
ービスを容易にするために、バイナリ・クラスに対して
次の改良が施される。オブジェクトがトランザクション
に参加できるようにオブジェクトを回復可能にする。こ
れには複数の回復可能なオブジェクト間で、トランザク
ション・サービスの2フェーズ・コミット・プロセスを
調整するステップが含まれる。これはオブジェクトをビ
フォア・メソッド内のトランザクション・サービスのト
ランザクション・マネージャに登録するステップを含
む。オブジェクトの複数ユーザが正しく直列化されるよ
うに、オブジェクトをコンカレント(同時的)にする。
これはビフォア・メソッド内の同時性サービスを用い
て、オブジェクトに対するロックを獲得するステップを
含む。オブジェクトの状態がデータ記憶にコミットにて
(at commit)保管され、後にビフォア・メソッド内の
以前にあった場所に復元されうるように、オブジェクト
を持続的にする。オブジェクトのデータが記憶されるデ
ータベース・スキーマが存在する場合、オブジェクト消
費者はオブジェクトの外部データ・スキーマとデータベ
ース・スキーマとの間のスキーマ・マッピングを提供す
る。オブジェクト/メソッドの細分性アクセス制御が推
進されるように、オブジェクトを保護する。これはビフ
ォア・メソッド内でアクセス制御をチェックするステッ
プを含む。
【0031】一般にクラス提供者、すなわち本明細書に
おいてクラスとして参照される抽象化されたデータ・タ
イプを提供するエンティティがオブジェクト・サービス
に関係無しにクラスを構成する。ユーザがあるクラスの
インスタンスを望む場合、所望のサービスの組み合わせ
が指定される。そして所望のオブジェクト・サービスを
追加した新たなバイナリ・クラスが、オリジナルから構
成される。
【0032】本発明によれば、オブジェクト・サービス
の自動挿入を達成するために、2つの機構が使用され
る。
【0033】第1に、オリジナル・クラスと追加機能を
提供する特殊クラスとを混合することにより、新たなク
ラス(サブクラス)が作成される。
【0034】次に、BeforeAfterメタクラス(図6参
照)が、オリジナル・クラスのメソッドのビフォア・メ
ソッド及びアフタ・メソッドを挿入する。BeforeAfter
メタクラスの詳細については、Forman、Danforth及びMa
dduriによる論文"Compositionof Before/After metacla
ss SOM"(1994年、OOPSLA発行)に述べられてい
る。
【0035】例えばユーザがクラスAのコンカレント
で、持続的で、回復可能なバージョンを希望する場合、
クラスAの各オリジナル・メソッドに次のことが追加さ
れる必要がある。 1.ビフォア・メソッドが、オブジェクトがロックされ
るように保証する。 2.ビフォア・メソッドが、オブジェクトがトランザク
ション・マネージャに回復可能な資源として登録される
ように保証する。 3.ビフォア・メソッドが、オブジェクトの状態が旧式
(out-of-date)になるとき、そのデータ記憶から状態
がロードされるように保証する。
【0036】メソッドが読出し専用か否かを示す情報が
使用可能な場合、前記識別されたビフォア・メソッドが
最適化されうる。次のメソッドもまた追加されなければ
ならない。 4.事前準備:オブジェクトの状態をそのデータ記憶に
記憶する。 5.準備:保全性制約をチェックするオブジェクトのメ
ソッドを呼び出す。 6.コミット:オブジェクトの状態を旧式としてマーク
し、ロックを解除する。 7.打切り:オブジェクトの状態を旧式としてマーク
し、ロックを解除する。
【0037】ファクトリがファクトリに対するネーム・
サービス(NS)ExtendedNamingContext(ENC)内
で見い出される場合に、述語の一部として指定されるオ
ブジェクト・サービス制約を次に示す。 ネーム:持続的(persistent)。 値:オブジェクトが持続的か否か、すなわちオブジェク
トの状態が保管され、たとえオブジェクトのサーバが取
り去られたとしても、後に元の場所に戻されうるか否か
を示すブール代数。 ネーム:PO(PersistentObject)。 値:持続的==真(TRUE)の場合、POインタフェース
が要望されるか否かを示すブール代数。 ネーム:回復可能。 値:オブジェクトが回復可能か否か、すなわちトランザ
クションの2フェーズ・コミットに参加可能か否かを示
すブール代数。 ネーム:コンカレント。 値:オブジェクトがロックされるか否かを示すブール代
数。 ネーム:保護。 値:オブジェクトがアクセス制御のチェックにより保護
されるか否かを示すブール代数。 ネーム:キャッシング。 値:オブジェクトの状態がそのORBプロキシ内にキャ
ッシュ可能か否かを示すブール代数。
【0038】ファクトリが単一クラス・ファクトリに対
するNS ENC内で見い出される場合に、述語の一部
として指定される位置制約を次に示す。 ネーム:InstanceManager。 値:オブジェクトの識別、その活動化、メモリへのキャ
ッシングなどを提供するオブジェクトの管理役(careta
ker)。
【0039】オブジェクトに対するIDLオペレーショ
ンが、その持続的状態を更新するか否かに関する情報
は、持続性、同時性制御及び回復性の幾つかの実現にお
いて、多大な最適化を可能にする。持続性に関してはこ
の情報は、メソッドがそのデータ記憶内の状態との同期
から、オブジェクトの持続的状態を生成しようとしてい
るか否かを判断するために使用されうる。同時性に関し
てはこの情報は、オペレーションの実行を許可する以前
に、読出しまたは書込みロックを獲得するか否かを判断
するために使用されうる。回復性に関してはこの情報
は、オペレーションの実行を許可する以前に、オブジェ
クトの状態のコピーを作成するか否かを判断するために
使用されうる。この情報はIR(infomation retrieva
l:情報検索)に記憶されるべきである。IDLオペレ
ーションの持続性オプションを次に示す。 ネーム:CONST。 値:オペレーションがオブジェクトの状態を変更しうる
か否かを示すブール代数。デフォルト値は偽(FALSE)
(更新しうる)である。この情報はIRに記憶されるべ
きである。
【0040】次に図3を参照して、本発明による方法に
ついて説明する。
【0041】クラス記述がネーム・サービス(NS)・
コンテキストに登録される。この記述は、通常、クラス
の機能の記述を含み、例えばスピーカ・ドライバ、その
特性(例えば出力周波数が10CPS)、その価格、既
にサポートされているサービス機能、コンパイルされる
プロセッサ・タイプ(例えばインテルX86)及びその
ロード・モジュールのファイル・ネームなどが含まれ
る。
【0042】次に、属性に対する所望の制約(例えば2
0CPS以下の出力周波数を提供でき、価格が5ドル以
下のスピーカ・ドライバなど)を有するファクトリのネ
ーム・サービス・コンテキストが探索される。探索には
更に、オブジェクトがそのオブジェクトのInstanceMana
gerが存在するマシン(例えばインテルX86バイナ
リ)において、実行されうるか否かの判断を含む。持続
的及び回復可能などのオブジェクト・サービス制約は、
この探索から除外される。
【0043】前記探索において見い出されるクラスに対
して、既にオブジェクト・サービス制約をサポートする
クラスが最初に選択される。次に、持続的及び回復可能
などの所望のオブジェクト・サービス機能を有する所望
のサーバ内でクラス・オブジェクトが作成される。特定
のオブジェクト・サービス機能がオリジナル・クラス内
で提供される場合、アクションは実行されない。しかし
ながら、オリジナル・クラス内でそうした機能が提供さ
れない場合には、それが新たなクラス・オブジェクトに
追加される。
【0044】最後に、新たなクラス・オブジェクトが呼
び出し側に返却され、呼び出し側はそれを使用してクラ
スの複数のインスタンスを作成する。
【0045】オリジナル・クラスを新たに作成されたク
ラスと混合することにより、多くのオブジェクト・サー
ビス機能が提供されうる。実行時インヘリタンスを用い
て、オリジナル・クラスが新たに作成されたクラスによ
りオーバライドされうる。所望の属性を有する新たなク
ラス・オブジェクトの作成はユーザには透過的に達成さ
れる。
【0046】図6に示されるBeforeAfterメタクラスを
用いることにより、多くのOS機能が提供されうる。メ
タクラスはBeforeAfterのサブクラスとして作成される
ことができ、ビフォア・メソッド及びアフタ・メソッド
がオーバライドされる。この新たなメタクラスを有する
クラスは、そのクラスの各メソッドより先及び後に実行
される、それぞれビフォア・メソッド及びアフタ・メソ
ッドを有する。1対のビフォア/アフタ・メソッドは、
追加されるオブジェクト・サービスを記述する使用オブ
ジェクト(usage object)により駆動される。
【0047】インヘリタンス及びビフォア/アフタ・メ
タクラスをサポートしないオブジェクト・システムで
は、代わりに代理クラス(delegate class)が自動的に
構成される。代理クラス・インスタンス・オブジェクト
はオリジナル・クラス・インスタンス・オブジェクトを
参照する。代理クラスは上述された同一の追加メソッド
(例えば事前準備、準備、コミット、打切り)を追加さ
れる。代理クラスはまた、オリジナル・クラスの全ての
オペレーションをサポートするが、各メソッドを次のよ
うに実現する。
【0048】 DelegateClass::methodA(...){ Before method work; OriginalClass_instance_object−>methodA(...); after method work; }
【0049】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0050】(1)オブジェクト指向技術を使用する情
報処理システムにおいて、オブジェクト・サービスをバ
イナリ・クラスに自動的に挿入する方法であって、第1
のクラスの記述をネーム・サービス・コンテキストに登
録するステップと、ファクトリとして参照されるクラス
・オブジェクトに対する前記ネーム・サービス・コンテ
キストを探索するステップと、1つ以上のオブジェクト
・サービス機能を有する第2のクラス・オブジェクトを
作成するステップと、前記第1のクラスが所望の機能を
提供しない場合、1つ以上の前記オブジェクト・サービ
ス機能を前記第2のクラスに追加するステップと、前記
第2のクラス・オブジェクトを呼び出し側に返却するス
テップと、を含む、方法。 (2)前記探索ステップが、オブジェクト属性に対する
制約を識別するステップと、オブジェクトが所定動作環
境において動作可能か否かを判断するステップと、前記
探索により見い出されるクラスに対して、オブジェクト
・サービス制約を除外するステップと、識別された前記
オブジェクト属性制約をサポートするクラスを選択する
ステップと、を含む、前記(1)記載の方法。 (3)ビフォア・メソッドを含むクラスを作成するステ
ップと、前記第2のクラス・オブジェクトに対して前記
ビフォア・メソッドを実行するステップと、を含む、前
記(1)記載の方法。 (4)ビフォア・メソッド及びアフタ・メソッドを含む
クラスを作成するステップと、前記第2のクラス・オブ
ジェクトに対して、前記ビフォア・メソッド及び前記ア
フタ・メソッドを実行するステップと、を含む、前記
(1)記載の方法。 (5)オブジェクト指向技術を使用する情報処理システ
ムにおいて、オブジェクト・サービスをバイナリ・クラ
スに自動的に挿入する手段を含むコンピュータ読出し可
能媒体であって、第1のクラスの記述をネーム・サービ
ス・コンテキストに登録する手段と、ファクトリとして
参照されるクラス・オブジェクトに対する前記ネーム・
サービス・コンテキストを探索する手段と、1つ以上の
オブジェクト・サービス機能を有する第2のクラス・オ
ブジェクトを作成する手段と、前記第1のクラスが所望
の機能を提供しない場合、前記オブジェクト・サービス
機能を前記第2のクラスに追加する手段と、前記第2の
クラス・オブジェクトを呼び出し側に返却する手段と、
を含む、コンピュータ読出し可能媒体。 (6)前記探索手段が、オブジェクト属性に対する制約
を識別する手段と、オブジェクトが所定動作環境におい
て動作可能か否かを判断する手段と、前記探索により見
い出されるクラスに対して、オブジェクト・サービス制
約を除外する手段と、識別された前記オブジェクト属性
制約をサポートするクラスを選択する手段と、を含む、
前記(5)記載のコンピュータ読出し可能媒体。 (7)ビフォア・メソッドを含むクラスを作成する手段
と、前記第2のクラス・オブジェクトに対して前記ビフ
ォア・メソッドを実行する手段と、を含む、前記(5)
記載のコンピュータ読出し可能媒体。 (8)1つ以上のビフォア・メソッド及びアフタ・メソ
ッドを含むクラスを作成する手段と、前記第2のクラス
・オブジェクトに対して、1つ以上の前記ビフォア・メ
ソッド及び前記アフタ・メソッドを実行する手段と、を
含む、前記(5)記載のコンピュータ読出し可能媒体。
【図面の簡単な説明】
【図1】本発明による方法を実行するシステムのブロッ
ク図である。
【図2】本発明をサポートするオペレーティング・シス
テム・プラットフォーム及びシステム・オブジェクト・
モデル(SOM)・プログラムを示すブロック図であ
る。
【図3】本発明による方法のフローチャートを示す図で
ある。
【図4】本発明によるオブジェクト・ネーム・サービス
のブロック図である。
【図5】本発明によるファクトリ・ファインダ・ネーミ
ング・コンテキストのブロック図である。
【図6】本発明によりオブジェクト・サービス機能を提
供するBeforeAfterメタクラスの使用を示すオブジェク
ト図である。
【符号の説明】
10 情報処理システム 12 プロセッサ 14 記憶システム 16 システム・バス 18 表示サブシステム 20 表示装置 22 カーソル制御装置 24 I/O制御装置
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジョージ・プレンティス・コープランド アメリカ合衆国78746、テキサス州オース ティン、ミル・スプリングス・ドライブ 1708 (72)発明者 ジョフレイ・マーティン・ハンブリック アメリカ合衆国76861、テキサス州ラウン ド・ロック、チョーワン・ウェイ 2502 (72)発明者 ロジャー・ハワード・セションズ アメリカ合衆国78750、テキサス州オース ティン、ペンスウッド・ドライブ 11414

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】オブジェクト指向技術を使用する情報処理
    システムにおいて、オブジェクト・サービスをバイナリ
    ・クラスに自動的に挿入する方法であって、 第1のクラスの記述をネーム・サービス・コンテキスト
    に登録するステップと、 ファクトリとして参照されるクラス・オブジェクトに対
    する前記ネーム・サービス・コンテキストを探索するス
    テップと、 1つ以上のオブジェクト・サービス機能を有する第2の
    クラス・オブジェクトを作成するステップと、 前記第1のクラスが所望の機能を提供しない場合、1つ
    以上の前記オブジェクト・サービス機能を前記第2のク
    ラスに追加するステップと、 前記第2のクラス・オブジェクトを呼び出し側に返却す
    るステップと、 を含む、方法。
  2. 【請求項2】前記探索ステップが、 オブジェクト属性に対する制約を識別するステップと、 オブジェクトが所定動作環境において動作可能か否かを
    判断するステップと、 前記探索により見い出されるクラスに対して、オブジェ
    クト・サービス制約を除外するステップと、 識別された前記オブジェクト属性制約をサポートするク
    ラスを選択するステップと、 を含む、請求項1記載の方法。
  3. 【請求項3】ビフォア・メソッドを含むクラスを作成す
    るステップと、 前記第2のクラス・オブジェクトに対して前記ビフォア
    ・メソッドを実行するステップと、 を含む、請求項1記載の方法。
  4. 【請求項4】ビフォア・メソッド及びアフタ・メソッド
    を含むクラスを作成するステップと、 前記第2のクラス・オブジェクトに対して、前記ビフォ
    ア・メソッド及び前記アフタ・メソッドを実行するステ
    ップと、 を含む、請求項1記載の方法。
  5. 【請求項5】オブジェクト指向技術を使用する情報処理
    システムにおいて、オブジェクト・サービスをバイナリ
    ・クラスに自動的に挿入する手段を含むコンピュータ読
    出し可能媒体であって、 第1のクラスの記述をネーム・サービス・コンテキスト
    に登録する手段と、 ファクトリとして参照されるクラス・オブジェクトに対
    する前記ネーム・サービス・コンテキストを探索する手
    段と、 1つ以上のオブジェクト・サービス機能を有する第2の
    クラス・オブジェクトを作成する手段と、 前記第1のクラスが所望の機能を提供しない場合、前記
    オブジェクト・サービス機能を前記第2のクラスに追加
    する手段と、 前記第2のクラス・オブジェクトを呼び出し側に返却す
    る手段と、 を含む、コンピュータ読出し可能媒体。
  6. 【請求項6】前記探索手段が、 オブジェクト属性に対する制約を識別する手段と、 オブジェクトが所定動作環境において動作可能か否かを
    判断する手段と、 前記探索により見い出されるクラスに対して、オブジェ
    クト・サービス制約を除外する手段と、 識別された前記オブジェクト属性制約をサポートするク
    ラスを選択する手段と、 を含む、請求項5記載のコンピュータ読出し可能媒体。
  7. 【請求項7】ビフォア・メソッドを含むクラスを作成す
    る手段と、 前記第2のクラス・オブジェクトに対して前記ビフォア
    ・メソッドを実行する手段と、 を含む、請求項5記載のコンピュータ読出し可能媒体。
  8. 【請求項8】1つ以上のビフォア・メソッド及びアフタ
    ・メソッドを含むクラスを作成する手段と、 前記第2のクラス・オブジェクトに対して、1つ以上の
    前記ビフォア・メソッド及び前記アフタ・メソッドを実
    行する手段と、 を含む、請求項5記載のコンピュータ読出し可能媒体。
JP8174647A 1995-10-02 1996-07-04 オブジェクト指向システムにおいて、オブジェクト・サービスをバイナリ・クラスに追加するシステム、方法及び商品 Pending JPH09251377A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/537648 1995-10-02
US08/537,648 US6226691B1 (en) 1995-10-02 1995-10-02 System, method, and article of manufacture for adding object services to a binary class in an object oriented server

Publications (1)

Publication Number Publication Date
JPH09251377A true JPH09251377A (ja) 1997-09-22

Family

ID=24143534

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8174647A Pending JPH09251377A (ja) 1995-10-02 1996-07-04 オブジェクト指向システムにおいて、オブジェクト・サービスをバイナリ・クラスに追加するシステム、方法及び商品

Country Status (9)

Country Link
US (1) US6226691B1 (ja)
EP (1) EP0767434B1 (ja)
JP (1) JPH09251377A (ja)
KR (1) KR100259447B1 (ja)
CN (1) CN1141654C (ja)
CA (1) CA2180781A1 (ja)
DE (1) DE69617860T2 (ja)
SG (1) SG66316A1 (ja)
TW (1) TW301730B (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6625641B1 (en) * 1996-06-03 2003-09-23 Sun Microsystems, Inc. Method and apparatus for providing client support without installation of server software
US6405264B1 (en) * 1997-12-18 2002-06-11 Sun Microsystems, Inc. Marshaling and unmarshaling framework for supporting filters in a distributed object system
WO1999041683A1 (en) * 1998-02-17 1999-08-19 Intergraph Corporation Apparatus and method for transmitting documents between a server computer and a client computer
FR2780529B1 (fr) * 1998-06-30 2000-08-04 Bull Sa Procede pour l'optimisation des acces a une base de donnees
US7035895B1 (en) * 1998-12-17 2006-04-25 International Business Machines Corporation Manager object for management of multiple resources on dataless clients in a distributed computing environment
DE10128958A1 (de) * 2000-12-22 2002-11-07 Siemens Ag Addon-Mechanismus für ein Steuerungssystem basierend auf einem Erweiterungsdatenfeld
KR101757407B1 (ko) 2015-06-11 2017-07-12 라인 가부시키가이샤 바이너리 병합 장치, 방법 및 컴퓨터 프로그램

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5343554A (en) 1988-05-20 1994-08-30 John R. Koza Non-linear genetic process for data encoding and for solving problems using automatically defined functions
US5093914A (en) 1989-12-15 1992-03-03 At&T Bell Laboratories Method of controlling the execution of object-oriented programs
US5421016A (en) * 1991-12-12 1995-05-30 International Business Machines Corporation System and method for dynamically invoking object methods from an application designed for static method invocation
US5339430A (en) * 1992-07-01 1994-08-16 Telefonaktiebolaget L M Ericsson System for dynamic run-time binding of software modules in a computer system
JPH06103075A (ja) * 1992-07-06 1994-04-15 Internatl Business Mach Corp <Ibm> オブジェクト指向適用業務
US5369766A (en) * 1993-03-25 1994-11-29 Taligent, Inc. Object-oriented loader system with support for different load formats
US5473777A (en) * 1993-07-19 1995-12-05 Moeller; Christopher P. Wrapper for enabling an object otented application to maintain virtual memory using procedural function calls
US5581761A (en) * 1993-07-20 1996-12-03 Sun Microsystems, Inc. Methods and apparatus for providing an extensible set of auxiliary services for objects in an object-oriented system
US5396626A (en) * 1993-08-04 1995-03-07 Taligent, Inc. Object-oriented locator system
US5465362A (en) * 1993-12-30 1995-11-07 Taligent, Inc. Object-oriented view-system for displaying information in a windowing environment

Also Published As

Publication number Publication date
CA2180781A1 (en) 1997-04-03
CN1154518A (zh) 1997-07-16
SG66316A1 (en) 1999-07-20
DE69617860D1 (de) 2002-01-24
DE69617860T2 (de) 2002-08-29
EP0767434A2 (en) 1997-04-09
EP0767434A3 (en) 1998-08-12
EP0767434B1 (en) 2001-12-12
TW301730B (en) 1997-04-01
KR970022745A (ko) 1997-05-30
CN1141654C (zh) 2004-03-10
US6226691B1 (en) 2001-05-01
KR100259447B1 (ko) 2000-06-15

Similar Documents

Publication Publication Date Title
US5692183A (en) Methods and apparatus for providing transparent persistence in a distributed object operating environment
DeMichiel et al. Enterprise javabeans tm specification, version 2.0
JP2842714B2 (ja) アプリケーションのオブジェクト指向呼出しをデータベースで行うための方法
US6564377B1 (en) Self-describing components within a software catalog
US5864866A (en) Apparatus and method for providing externalization in an object-oriented environment
US5915253A (en) Method and system for implementing objects in a storage system
US6766324B2 (en) System and method for defining, configuring and using dynamic, persistent Java classes
US7752637B2 (en) System and method for software component plug-in framework
EP0613083B1 (en) Transaction management in object oriented systems
US6959307B2 (en) Process and system for a client object to perform a remote method invocation of a method in a server object
US5842220A (en) Methods and apparatus for exposing members of an object class through class signature interfaces
JPH10511202A (ja) オブジェクト指向環境における回復可能プロキシ・オブジェクト
US8037479B2 (en) Implementing container managed batch jobs in an enterprise java bean environment
US7150001B1 (en) System and method to facilitate design-time component discovery
US6892202B2 (en) Optimistic transaction compiler
JPH10505693A (ja) 異種オブジェクトシステム相互間にインタオペラビリティを提供するシステム及び方法
JPH08115223A (ja) コンピュータで実施する方法及びデータ処理システム
JPH09251377A (ja) オブジェクト指向システムにおいて、オブジェクト・サービスをバイナリ・クラスに追加するシステム、方法及び商品
US6944643B1 (en) Method for deployment modification of transactional behavior in corba OTS
US7958172B2 (en) Apparatus for implementing container managed uses, ownerships, and references in an enterprise javabean environment
US5867708A (en) System, method, and article of manufacture for adding concurrency to a binary class in an object oriented system
Pautet et al. GLADE users guide
Newell et al. Interoperable object models for large scale distributed systems
Tuma Persistence in CORBA
Lee et al. Interfacing Oz with the PCTE OMS