JPH09171473A - エラーを管理するための方法およびデータ処理システム - Google Patents

エラーを管理するための方法およびデータ処理システム

Info

Publication number
JPH09171473A
JPH09171473A JP8207996A JP20799696A JPH09171473A JP H09171473 A JPH09171473 A JP H09171473A JP 8207996 A JP8207996 A JP 8207996A JP 20799696 A JP20799696 A JP 20799696A JP H09171473 A JPH09171473 A JP H09171473A
Authority
JP
Japan
Prior art keywords
data structure
error
primary
storing
objects
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
JP8207996A
Other languages
English (en)
Inventor
Christopher James Pascoe
クリストファー・ジェームズ・パスコウ
Gregory Alan Wilson
グレゴリー・アラン・ウィルソン
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 JPH09171473A publication Critical patent/JPH09171473A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0718Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in an object-oriented system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0775Content or structure details of the error report, e.g. specific table structure, specific error fields
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/481Exception handling
    • 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/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 オブジェクト指向環境において複数のオブジ
ェクトの実行中に生じる例外を管理するための方法およ
び装置。 【解決手段】 本発明によれば、オブジェクトからのメ
ッセージが受け取られ、このメッセージは複数のオブジ
ェクトによる処理を必要とする。複数のオブジェクトの
それぞれにおけるエラーのそれぞれの発生に応答して、
エラー情報がデータ構造に記憶される。このデータ構造
が、オブジェクトに戻される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般に改良型デー
タ処理システムに関し、詳細には、データ処理システム
のエラーを管理するための改良された方法に関する。よ
り詳細には、本発明は、要求に応答して複数のオブジェ
クトが呼び出されたときに発生するエラーを管理するた
めの改良された方法および装置に関する。
【0002】
【従来の技術】データ処理システムのアプリケーション
およびシステム・ソフトウェアの開発は、伝統的に時間
のかかる仕事であった。ソフトウェア工学の分野は、新
しくて効率の高いソフトウェア開発モデルを提案するこ
とによって、従来技術の限界を克服しようとしてきた。
オブジェクト指向プログラミングは、オブジェクトの迅
速な開発、実施、およびカストマイズを可能にする有望
な技術として出現した。新しいそれぞれのオブジェクト
は、ある一定のデータ属性と、そのデータを操作するプ
ロセスおよびメソッドとを有する。データは、オブジェ
クトによって「カプセル化」されると言われ、メソッド
を識別するオブジェクトにメッセージを送り必要な引数
を供給することによって呼び出されるオブジェクト・メ
ソッドによってのみ修正することができる。
【0003】オブジェクト指向システムは、カプセル化
の他にも重要な2つの特性をもつ。「継承」は、既存の
オブジェクトから新しいオブジェクトを導出し、既存の
オブジェクトから、メソッドおよびデータ構造を含むす
べての属性を継承する能力である。新しいオブジェクト
は、既存クラスへの上書きまたは修正として供給される
ある一定の独特な機能を有することができる。たとえ
ば、新しいサブクラスは、既存のより一般的なクラスか
らそのクラスを区別する機能およびデータを指定するだ
けでよい。
【0004】既存のメソッドの記述を上書きする能力を
用いると、多相性、すなわち、あるオブジェクトによっ
て受け取られた単一のメッセージを、そのオブジェクト
自体によって決まる様々な方法で処理させる能力が可能
になる。
【0005】継承と多相性は、新しいソフトウェア・シ
ステムを実施するための強力な構造を作り出す。ソフト
ウェア開発者は、システムの各断片を開発する必要はな
く、システムの固有の機能を指定するだけでよい。
【0006】オブジェクト指向システムの能力は、シス
テムの「枠組」の開発によって実現される。枠組とは、
最終システムのプロダクトを作成するためにシステム作
成者が使用できる基本クラスの集合体である。枠組は、
システムとしてまとまって働くように定義され開発され
る。概念的には、枠組は、コンピュータ・ハードウェア
作成者によって使用される一組の標準的なハードウェア
構成要素とよく似ている。各構成要素は、定義されたあ
る一定の機能およびインターフェイスを有し、技術者
は、個々の設計に従ってこれらの構成要素を組み立てて
独特なハードウェア・システムを作成する。オブジェク
ト指向システムのさらに詳しい情報は、ブーチ(Booch)
著「Object Oriented Design With Applications」、Be
njamin/Cummings Publishing Company, Inc.(1991)に見
ることができる。
【0007】オブジェクト指向プログラミング・システ
ムの1つに、システム・オブジェクト・モデル(SO
M)がある。SOMのより詳しい情報は、インターナシ
ョナル・ビジネス・マシーンズ・コーポレイションから
入手可能な、「SOMobjects Developer Toolkit User's
Guide」、2.0版(1993年6月)に出ている。
【0008】今日のコンピュータ・ソフトウェア環境に
おいては、コードは可能ならばモジール手法を使って開
発される。将来のソフトウェア環境でも、モジュール手
法は引き続き使用され、再利用可能なソフトウェア構成
要素という概念をもたらす。この再利用可能性は、オペ
レーティング・システムから始まり、ネットワーク・ト
ランスポート、分散型計算層(distributed computing
layers)を通って上昇し、最終的にスペル・チェッカ、
サーチ・エンジン、データベースなどのアプリケーショ
ン構成要素に達する多数の競合層に及んでいる。
【0009】分散型計算環境(DCE:Distributed Co
mputing Environment)においては、様々なソフトウェ
ア構成要素が、分散型データ処理システムにおけるいく
つかのコンピュータなど複数の物理システム上に位置す
ることがある。そのようなサービスの例には、セキュリ
ティ・サービス、ディレクトリ・サービス、および時間
サービスがある。これらの様々な構成要素は、特定のサ
ービスの要求を満たす方法として、(あるオブジェクト
から別のオブジェクトに送られるメッセージの形で)互
いに内部呼出しを行うことにより、互いのサービスを利
用する。たとえば、アプリケーションが、セキュリティ
登録データベースに新しいユーザの追加を要求してセキ
ュリティ構成要素を呼び出すとき、そのメッセージが新
しいユーザの追加を要求すると、その要求を行っている
構成要素がデータベースにユーザを追加することが許可
されるかどうか検査するために、セキュリティ構成要素
の他の部分に対する他のメッセージが作成され、そのメ
ッセージは、遠隔手続き呼出し(RPC:Remote Proce
dure Call)構成要素を利用してそれらの要求を適切な
サービスに伝送する。
【0010】そのようなモジュール式ソフトウェア構成
要素環境は、プログラマに、アプリケーションに必要な
サービスを要求するための分かりやすく明確なインター
フェイスを提供する。しかしながら、これらの構成要素
のうちの1つに対する呼び出しが、プログラマまたはユ
ーザによって直接呼び出された構成要素ではなくプログ
ラマの要求を満たすために呼び出された他の構成要素に
よって出されたメッセージを呼出し側に戻すときに問題
が起こる。このような場合、プログラマまたはユーザに
戻されるメッセージが、プログラマまたはユーザが期待
する情報を戻さず、誤りのものになることがある。様々
な構成要素に対する一連の呼出しの長さはたいてい長
く、一連の呼び出しで呼び出された構成要素のうちのど
れでもエラー・メッセージを戻すことができる。
【0011】ユーザ・インターフェース・コードなどあ
る種の場合には、下層にあるソフトウェア構成要素に対
する呼出し側は、見つかったすべての問題をエンド・ユ
ーザによって入力されたデータと同一視しようとする。
たとえば、新しいユーザをセキュリティ登録データベー
スに追加するために呼び出しを行う状況に戻ると、ユー
ザに関するいくつかの特性(すなわち、名前、住所、場
所、電話番号)が、ユーザ・インターフェースに入力さ
れる。すべてのデータが入力された後、保存され処理さ
れる。1つまたは複数のエントリで検証の問題が生じた
場合、ユーザに1つの問題を是正し、それを保存し、是
正すべき別の問題の提示を受けるように要求するより
も、情報を入力するユーザにすべての問題に関する情報
を一度に提供する方が望ましい。
【0012】したがって、呼出しまたは要求に応答して
起こるエラーを識別するための改善された方法および装
置があると好都合である。
【0013】
【発明が解決しようとする課題】本発明の目的は、改良
型データ処理システムを提供することである。
【0014】本発明のもう1つの目的は、データ処理シ
ステムにおいてエラーを管理する改良された方法を提供
することである。
【0015】本発明のもう1つの目的は、要求に応答し
て複数のオブジェクトが呼び出されるときに生じるエラ
ーを管理するための改良された方法および装置を提供す
ることである。
【0016】
【課題を解決するための手段】本発明は、オブジェクト
指向環境において複数のオブジェクトの実行中に生じる
例外を管理するための方法および装置を提供する。本発
明によれば、オブジェクトから、複数のオブジェクトに
よる処理を必要とするメッセージを受け取る。複数の各
オブジェクトにおけるエラーの発生に応答して、エラー
情報がデータ構造に記憶される。このデータ構造が、オ
ブジェクトに戻される。
【0017】本発明の上記ならびにその他の目的、特徴
および利点は、以下の詳細な説明から明らかになるであ
ろう。
【0018】本発明の特徴と思われる新規な機能は、頭
記の特許請求の範囲で定める。一方、本発明自体ならび
に好ましい利用形態、さらにその目的および利点は、添
付した図面と共に、実施形態に関する詳細な以下の説明
を参照すれば最もよく理解されよう。
【0019】
【発明の実施の形態】次に、図面、特に図1に本発明を
利用できるデータ処理システム、すなわちパーソナル・
コンピュータ・システム10が描かれている。図示した
ように、パーソナル・コンピュータ・システム10は複
数の構成要素を含み、それらの構成要素は相互接続され
ている。より詳細には、システム・ユニット12は、任
意選択のモニタ14(従来のビデオ表示装置など)に結
合され、それを駆動することができる。また、システム
・ユニット12は、任意選択で、PCキーボード16や
マウス18などの入力装置に結合することもできる。マ
ウス18は、右ボタンと左ボタンを備える。左ボタン
が、通常、主選択ボタンとして利用され、第1マウス・
ボタンまたはマウス・ボタン1と呼ばれることもある。
右ボタンは、通常、後で説明するような補助機能を選択
するために利用される。右マウス・ボタンは、第2マウ
ス・ボタンまたはマウス・ボタン2とも呼ばれる。ま
た、システム・ユニット12には、プリンタ20など任
意選択の出力装置を接続することもできる。最後に、シ
ステム・ユニット12は、ディスケット・ドライブ22
などの1つまたは複数の大容量記憶装置を備えることも
できる。
【0020】後で説明するように、システム・ユニット
12は、PCキーボード16、マウス18、ローカル・
エリア・ネットワーク・インターフェースなどの入力装
置に応答する。さらに、システム・ユニット12には、
フロッピ・ディスク・ドライブ22、表示装置14、プ
リンタ、ローカル・エリア・ネットワーク通信システム
などの入出力(I/O)装置が周知の形で接続される。
もちろん、当業者なら、他の従来の構成要素をシステム
・ユニット12に対話のために接続できることを承知し
ていよう。本発明によれば、パーソナル・コンピュータ
・システム10は、ランダム・アクセス・メモリ(RA
M)と読取り専用メモリ(ROM)と複数の入出力装置
とに相互接続されたシステム・プロセッサを含む。
【0021】通常の使用では、パーソナル・コンピュー
タ・システム10は、サーバである小グループのユーザ
にあるいは単一ユーザに、独立した計算能力を提供する
ように設計され、個人または小企業で購入できるように
安価な値段が付けられている。動作において、システム
・プロセッサは、IBMのOS/2オペレーティング・
システムやDOSなどのオペレーティング・システムの
下で動作する。「OS/2」は、インターナショナル・
ビジネス・マシーンズ・コーポレイションの登録商標で
ある。このタイプのオペレーティング・システムは、入
出力装置とオペレーティング・システムとの間に基本入
出力システム(BIOS)を含む。BIOSは、マザー
ボードまたはプレーナ上のROMに記憶することがで
き、POSTと呼ばれる電源オン自己試験セクションに
診断ルーチンを含んでいる。
【0022】上記構造を本発明と関連付ける前に、パー
ソナル・コンピュータ・システム10の動作全体のまと
めについて復習するのが有益と思われる。図2を参照す
ると、本発明によるパーソナル・コンピュータ・システ
ム10の様々な構成要素を示すパーソナル・コンピュー
タ・システム10のブロック図が示されている。図2は
さらに、プレーナ11の構成要素と、プレーナ11から
入出力スロット46a〜46dおよびパーソナル・コン
ピュータ・システム10のその他のハードウェアへの接
続部を示す。プレーナ11は、マイクロプロセッサから
なるシステム中央演算処理装置(CPU)26に接続さ
れ、このマイクロプロセッサは、高速CPUローカル・
バス24によりバス制御タイミング・ユニット38を介
してメモリ制御ユニット50に接続され、メモリ制御ユ
ニット50は、さらに揮発性ランダム・アクセス・メモ
リ(RAM)58に接続されている。CPU26とし
て、適切などんなマイクロプロセッサを使用することも
できるが、適切なマイクロプロセッサの1つは、インテ
ル・コーポレーションから販売されているPentiu
mマイクロプロセッサである。「Pentium」は、
インテル・コーポレーションの登録商標である。
【0023】以後、本発明を、特に図2のシステム・ブ
ロック図を参照して説明するが、以下の説明の最初にあ
たり、本発明による装置および方法は、プレーナ・ボー
ドの他のハードウェア構成でも利用できることが企図さ
れていることを理解されたい。たとえば、システム・プ
ロセッサは、インテル80386、80486、または
Pentiumマイクロプロセッサでもよい。これらの
特定のマイクロプロセッサは、実アドレス・モードまた
は保護アドレス・モードで動作できる。各モードは、マ
イクロプロセッサのメモリの様々な領域にアクセスする
ためのアドレス指定方式を提供する。
【0024】次に、図2に戻ると、CPUローカル・バ
ス24(データ、アドレスおよび制御の各構成要素を含
む)が、CPU26、任意選択の数値計算補助プロセッ
サ27、キャッシュ制御装置28、およびキャッシュ・
メモリ30の接続を行う。CPUローカル・バス24に
は、バッファ32も結合されている。バッファ32は、
それ自体、やはりアドレス、データおよび制御構成要素
を含む低速(CPUローカル・バスと比べて)システム
・バス34に接続されている。システム・バス34は、
バッファ32と別のバッファ36との間に延びる。シス
テム・バス34は、さらに、バス制御/タイミング・ユ
ニット38および直接メモリ・アクセス(DMA)ユニ
ット40にも接続される。DMAユニット40は、中央
調停ユニット48とDMA制御装置41からなる。バッ
ファ36は、システム・バス34と、周辺構成要素イン
ターフェース(PCI)バス44など任意選択の機能バ
スとの間のインターフェースを提供する。バス44に
は、さらに入出力装置またはメモリに接続できるアダプ
タ・カードを受ける複数の入出力スロット46a〜46
dが接続されている。図示の例では、入出力スロット4
6aには、ハード・ディスク・ドライブが接続されてお
り、入出力スロット46bには、CD−ROMドライブ
が接続されており、入出力スロット46cには、アダプ
タ・カード上のROMが接続されている。モデムなどの
その他の装置を入出力スロットに接続することもでき
る。調整制御バス42は、DMA制御装置41と中央調
停ユニット48を入出力スロット46およびディスケッ
ト・アダプタ82に結合する。また、システム・バス3
4には、メモリ制御装置52とアドレス・マルチプレク
サ54とデータ・バッファ56からなるメモリ制御ユニ
ット50も接続されている。メモリ制御ユニット50は
さらに、RAMモジュール58で代表されるランダム・
アセクス・メモリに接続される。メモリ制御装置52
は、CPU26にまたはCPU26からRAM58の特
定領域にアドレスをマップする論理回路を含む。パーソ
ナル・コンピュータ・システム10は、基本1メガバイ
トRAMメモリを備えるものとして示してあるが、図2
に任意選択のメモリ・モジュール60ないし64で示し
たように、追加のメモリが相互接続できることを理解さ
れたい。
【0025】システム・バス34とプレーナ入出力バス
68の間には、さらにバッファ66が結合されている。
プレーナ入出力バス68は、アドレス、データ、および
制御構成要素を含んでいる。プレーナ・バス68に沿っ
て、表示装置アダプタ70(任意選択の表示装置14を
駆動するために使われる)、クロック72、不揮発性R
AM74(以後、「NVRAM」と呼ぶ)、RS232
アダプタ76、並列アダプタ78、複数のタイマ80、
ディスケット・アダプタ82、PCキーボード/マウス
制御装置84、読取り専用メモリ(ROM)86など、
様々な入出力アダプタや他の周辺構成要素が結合されて
いる。ROM86は、多数の入出力装置の間でユーザ・
トランスペアレントな通信を提供するBIOSを含んで
いる。
【0026】クロック72は、時刻計算に使用される。
NVRAM74は、システム構成データを記憶するため
に使用される。すなわち、NVRAMは、システムの現
在の構成を示す値を含む。たとえば、NVRAM74
は、固定ディスクまたはディスケットの容量、表示装置
のタイプ、メモリの量などを表す情報を含む。特に重要
なことであるが、NVRAM74は、システム・コンソ
ールの構成、すなわち、PCキーボードがキーボード/
マウス制御装置84に接続されているかどうか、ディス
プレイ制御装置が使用可能かどうか、あるいはASCI
I端子がRS232アダプタ76に接続されているかど
うかを表すために使用されるデータを含む。さらに、こ
れらのデータは、特別な構成プログラムが実行されると
きは必ずNVRAM74に記憶される。構成プログラム
の目的は、システムから電力が遮断されたときに保存さ
れるこのシステムの構成を特徴付ける値を、NVRAM
76に記憶することである。
【0027】キーボード/マウス制御装置84には、ポ
ートAとポートBが接続されている。これらのポート
は、PCキーボード(ASCII端子ではなく)とマウ
スをPCシステムに接続するために使用される。RS2
32アダプタ・ユニット76には、RS232コネクタ
が接続されている。このコネクタを介して、任意選択の
ASCII端子をシステムに接続することができる。
【0028】具体的には、パーソナル・コンピュータ・
システム10は、IBM PS/2コンピュータやIB
M RISC SYSTEM/6000コンピュータな
どの適切などんなコンピュータを利用して実施すること
もできる。これらは両方とも、米国ニューヨーク州アー
モンクのインターナショナル・ビジネス・マシーンズ・
コーポレイションの製品である。「RISC SYST
EM/6000」は、インターナショナル・ビジネス・
マシーンズ・コーポレイションの登録商標であり、「P
S/2」も、インターナショナル・ビジネス・マシーン
ズ・コーポレイションの登録商標である。
【0029】図4ないし図9に示したプロセスは、当業
者によって、図1および図2に示したデータ処理システ
ム内で実施される。これらの図に示したプロセスは、共
通オブジェクト要求仲介アーキテクチャ(CORBA:
Common Object Request Broker Architecture)に従う
例外処理を組み込んだSOMシステムにおいて実施する
ことができる。CORBAに関するより詳しい情報は、
オブジェクト・マネジメント・グループ(OMG)およ
びX/Openから刊行された、「The CommonObject R
equest Broker Architecture and Specification」に出
ている。
【0030】本発明の処理はまた、データ処理システム
によって読取り可能なプログラム記憶装置において実施
することもできる。このプログラム記憶装置は、本発明
のプロセスのために、データ処理システムで実行可能な
命令コードを符号化する。プログラム記憶装置は、たと
えば、当業者に周知のハード・ディスク・ドライブ、フ
ロッピ・ディスク、光ディスク、ROM、EPROMな
どを含めて、様々な形をとることができるが、これらに
限定されるものではない。プログラム装置に記憶された
プロセスは、プログラム記憶装置をデータ処理システム
と共に使用することによって活動化されるまでは休止し
ている。たとえば、本発明のためのデータ処理システム
で実行可能な命令を含むハード・ドライブをデータ処理
システムに接続してもよく、本発明のためのデータ処理
システムで実行可能な命令を含むプロッピ・ディスクを
データ処理システム内のフロッピ・ディスク・ドライブ
に差し込んでもよく、あるいは、本発明のためのデータ
処理システムで実行可能な命令を含むROMを、カード
またはアダプタを介して入出力ロットに接続されたデー
タ処理システムに接続してもよい。
【0031】図3を参照すると、本発明の好ましい実施
形態によるオブジェクト指向システムにおけるオブジェ
クトの図が示してある。オブジェクトは、データと、そ
のデータを操作するのに必要なメソッドをカプセル化す
る。オブジェクトは、図3に示したような「ドーナツ
図」によって表すことができる。オブジェクト・データ
は、適用可能なメソッド304ないし314で囲まれた
中心部分302中に示される。データ302は、そのオ
ブジェクトのメソッドによってのみ修正することができ
る。メソッド304ないし314は、他のオブジェクト
からメッセージを受け取ることによって呼び出される。
典型的なオブジェクト指向システムは、オブジェクト間
でメッセージを経路指定するメッセージ・ルータ316
を有する。したがって、オブジェクト318は、メッセ
ージをメッセージ・ルータ316に送り、メッセージ・
ルータ316がメッセージをオブジェクト300のメソ
ッド308に送ることによってメソッド308を呼び出
す。
【0032】アプリケーション開発者とシステム開発者
が配布システムを作成するために使用する一組のオブジ
ェクトを提供するようにオブジェクトの枠組が作成され
る。たとえば、IBMシステム・オブジェクト・モデル
(SOM)フレームワークは、システム開発に使用する
ための言語に依存しない一組のオブジェクトを提供す
る。
【0033】オブジェクトは、関連したオブジェクトの
クラスに分類される。クラス記述は、それぞれのオブジ
ェクトおよび使用可能なオブジェクト・メソッドによっ
て維持されるインスタンス変数の記述を含めて、クラス
内のすべてのオブジェクトに関連する情報を含んでい
る。オブジェクト・インスタンスは、その情報に基づい
て作成(または「インスタンス化」)され、オブジェク
ト・クラス内で定義された特性を有する。たとえば、オ
ブジェクト・クラスDOGは、インスタンス変数「dog_
type」と「dog_name」を含み、barkメッセージに対する
応答を実施する「bark」メソッドを含む。犬のインスタ
ンス、たとえばROVERは、それ自体のtypeインスタ
ンス変数とnameインスタンス変数を維持し、barkメッセ
ージに応答する。
【0034】抽象クラスは、それらのメソッドの実施に
関する詳細を提供せずにあるクラスが使用すると予想さ
れるインターフェースとメソッドを記述するために使用
される。抽象クラスは、実施形態の詳細を作成者に委ね
なくてはならない枠組で便利である。具体クラスは、抽
象クラスのサブクラスとして作成され、それらの抽象ク
ラスを実施する。
【0035】次に、図4および図5に移ると、本発明に
よる、クライアント・オブジェクトCO、オブジェクト
A、オブジェクトB、およびオブジェクトCのブロック
図が示してある。図示の例では、クライアント・オブジ
ェクトCOは、それが受け取った入力または要求に応答
してメッセージを送る、オブジェクト指向環境における
クライアント・アプリケーションまたはプログラムであ
る。図4は、様々なオブジェクトに対する一連のメッセ
ージに沿って様々なエラーが生じる可能性のある垂直例
外シナリオの例である。図4では、クライアント・オブ
ジェクトCOが、メッセージをオブジェクトAに送る。
オブジェクト指向環境以外の環境では、そのようなメッ
セージはしばしば「呼出し(call)」と呼ばれる。オブ
ジェクトAに送られたメッセージは、オブジェクトAに
対する操作を呼び出して、このオブジェクトから応答を
引き出す。オブジェクトAは、クライアント・オブジェ
クトCOからのメッセージを完全には処理できず、他の
オブジェクトにメッセージを送ることなく所望の応答を
提供する。
【0036】この例では、オブジェクトAがオブジェク
トBにメッセージを送り、オブジェクトBがオブジェク
トCにメッセージを送って、クライアント・オブジェク
トCOから送られたメッセージが必要とする応答を提供
する。それよりも前に、オブジェクトCがエラーと遭遇
した場合、このエラーは、オブジェクトBおよびAを介
してクライアント・オブジェクトCOに戻され、クライ
アント・オブジェクトCOはそれを使用するユーザに暗
号メッセージを提供することができる。本発明によれ
ば、オブジェクトCは、エラーまたは例外をオブジェク
トBに渡し、オブジェクトBは、オブジェクトCから戻
された例外に応じて追加のエラー・メッセージを加える
ことができる。次に、オブジェクトBは、オブジェクト
Cからの例外を含むデータ構造と、データ構造に追加し
た追加情報を戻す。次に、オブジェクトAは、オブジェ
クトBからの例外を含むデータ構造の受取りに応答し
て、データ構造に追加された追加情報を含むデータ構造
をクライアント・オブジェクトCOに戻す。
【0037】図5は、クライアント・オブジェクトCO
と、オブジェクトAないしDのブロック図である。この
図では、クライアント・オブジェクトCOがメッセージ
をオブジェクトAに送り、オブジェクトAがメッセージ
をオブジェクトB、CおよびDに送る水平例外シナリオ
の例を示す。クライアント・オブジェクトCOから見る
と、メッセージはセットAに送られ、このセットAが、
クライアント・オブジェクトCOからのメッセージの処
理に関連するすべての例外を戻す。この例では、クライ
アント・オブジェクトCOからメッセージを受け取る各
オブジェクトが、例外を含む可能性のある応答を提供す
る。この状況において、本発明は、データ構造をクライ
アント・オブジェクトCOに戻す前に、戻された例外を
すべてデータ構造に記憶する。
【0038】例外構造とは、ゼロ個または1個以上の例
外メッセージのスタックを指すポインタを有する例外メ
ッセージを含む構造である。これらのメッセージは、図
の例では、アレイと似たCORBAシーケンスの形であ
る。
【0039】次に、図6に移ると、本発明に従ってエラ
ーまたは例外を報告する機構を示すデータ構造の図が示
されている。図6は、例外が、本発明によってどのよう
に保存されオブジェクト間で渡されるかを示す。エラー
は、コードが適切にまたは期待通りに実行されないとき
に発生し、例外はエラーを記述する情報である。最初の
例外に応答して、例外構造500が作成され、引数とパ
ラメータがこのデータ構造に保存される。「例外構造」
とは、ゼロ個または1個以上の例外メッセージのスタッ
クを指すポインタを有する例外メッセージを含む構造で
ある。これらのメッセージは、この例ではアレイと似た
CORBAシーケンスの形である。
【0040】この例では、例外メッセージは、タイプの
エントリを含み、これは資源管理メッセージ・タイプた
とえばOS/2を示す。catalogエントリは、例外に追
加されるメッセージを含むカタログの名前である。key
エントリは、例外に追加されるメッセージの資源マネー
ジャ固有のメッセージの識別を示す。4番目のエントリ
def_msgは、デフォルト・メッセージ・テキストのため
のエントリである。time_stampエントリは、メッセージ
が報告された日時を示す。例外構造500でこの例に示
してない他の様々な項目を使用することもできる。例に
示した最後のエントリは、ポインタmsg_ctxである。ポ
インタmsg_ctxは、最初、例外が1つしか発生してない
ときは他のどのデータ構造も指さない。
【0041】第2の例外に応答して、例外構造502が
作成される。例外構造502は、例外構造500と似て
いるが、ポインタmsg_ctxは、スタック504、すなわ
ち例外構造500からのデータを記憶する例外メッセー
ジを指す。「スタック」とは、データ構造の一番上に、
複数のオブジェクトを後入れ先出し(LIFO:Last-I
n-First-Out)法で出し入れする機能をサポートするデ
ータ構造である。第3の例外に応答して、例外構造50
6が作成され、ポインタmsg_ctxがスタック508を指
す。スタック508内では、例外構造502からの例外
メッセージがスタックの一番上にコピーされ、前のデー
タ構造のコピーであるスタック504がスタック508
内でこれらのエントリよりも下にコピーされる。N番目
の例外に応答して作成される例外構造510は、この特
定のオブジェクトで発生する例外を含み、ポインタmsg_
ctxがスタック512を指し、スタック512はその一
番上に例外構造506からのデータを含み、それよりも
下にスタック508のコピーを含む。したがって、例外
構造510とスタック512が、図4および図5のクラ
イアント・オブジェクトCOのようなクライアント・オ
ブジェクトに戻されるデータ構造を構成する。例外はす
べて、検査と分析を行える。
【0042】次に、図7に移ると、本発明の好ましい実
施形態に従って水平型で発生する例外を管理するプロセ
スのフローチャートが示されている。このプロセスは、
クライアント・オブジェクトにおける更新要求の形でユ
ーザ要求を受け取ることによって始まる(ステップ60
0)。そのような要求は、アカウント・オブジェクトな
どのオブジェクトの1つまたは複数の特性(すなわち、
パスワード、アカウント満期、日付、最短パスワード長
など)を更新することを求めるものでよい。クライアン
ト・オブジェクトは、クライアント更新要求を処理する
(ステップ602)。
【0043】要求を処理する際、クライアント・オブジ
ェクトは、メッセージをいくつかの異なるオブジェクト
に送って、要求中で渡された特性を検証する。ここでエ
ラーが発生したとすると、各オブジェクトは、リスト内
の未処理の特性を検証する(ステップ606)。検証に
おいてエラーが生じたかどうか判定する(ステップ60
8)。検証においてエラーが生じた場合は、情報をデー
タ構造に追加するよう求めるメッセージを送る(ステッ
プ610)。その後、特性リストの最後に達したかどう
かを判定する(ステップ612)。特性リストの最後に
達していない場合は、リスト内の次の未処理の特性を処
理し、ステップ606に戻ってそれを検証する。特性リ
ストの最後に達した場合は、処理中にエラーが生じたか
どうかを判定する(ステップ614)。エラーが生じた
場合は、例外構造とスタックを含むデータ構造を、呼出
し側で利用するために戻す(ステップ616)。エラー
が生じなかった場合は、成功を示すメッセージが呼出し
側に戻される(ステップ618)。
【0044】次に、図8に移ると、本発明の好ましい実
施形態に従って、垂直型で発生する例外を処理するプロ
セスのフローチャートが示されている。このプロセス
は、ユーザの要求を受け取ることによって始まる(ステ
ップ700)。その後、クライアント・オブジェクトが
要求を処理する(ステップ702)。要求を処理する
際、エラーが発生したかどうか判定する(ステップ70
4)。エラーが発生しなかった場合、クライアント・オ
ブジェクトCOは、要求を処理するよう求めるメッセー
ジをオブジェクトAに送る(ステップ706)。オブジ
ェクトAは、クライアント・オブジェクトからの要求を
処理する(ステップ708)。
【0045】次に、要求の処理中にエラーが生じたかど
うかを判定する(ステップ710)。エラーが生じなか
った場合、オブジェクトAは、要求をさらに処理するよ
う求めるメッセージをオブジェクトBに送る(ステップ
712)。オブジェクトBが、要求を処理する(ステッ
プ714)。エラーが生じたかどうか判定する(ステッ
プ716)。その後、オブジェクトBは、要求をさらに
処理するよう求めるメッセージをオブジェクトCに送る
(ステップ718)。オブジェクトCは要求を処理し
(ステップ720)、エラーが発生したかどうかを判定
する(ステップ722)。エラーが生じなかった場合
は、その結果を、オブジェクトBとオブジェクトAを介
してクライアント・アプリケーションに戻し(ステップ
724)、その後プロセスが終了する。
【0046】再びステップ722を参照すると、エラー
が発生した場合は、メッセージを利用して例外オブジェ
クトを呼び出し、状況特有の情報をデータ構造に加える
(ステップ726)。その後、データ構造が、オブジェ
クトBに戻される(ステップ728)。この時点で、オ
ブジェクBは、オブジェクトCへの呼出し中でエラーが
発生したことを知っており、状況特有の情報をデータ構
造に追加するよう求めるメッセージを例外オブジェクト
に送る(ステップ730)。このデータ構造はオブジェ
クトAに戻され(ステップ732)、オブジェクトA
は、ステップ708で戻されたエラーを考慮して要求を
処理する。
【0047】再度、以前のエラーを考慮して、エラーが
発生したかどうかを判定する(ステップ710)。オブ
ジェクトAによる処理中にエラーが発生した場合は、例
外オブジェクトを呼び出して、状況特有の情報をデータ
構造に追加する(ステップ734)。その後、例外スタ
ックが、呼出し側オブジェクト、つまりクライアント・
オブジェクトに戻される(ステップ736)。クライア
ント・オブジェクトは、オブジェクトAに対するメッセ
ージ中でエラーが生じたことを知っており、ユーザの応
答(ステップ742)で使用するために例外スタックを
呼出し側に戻し(ステップ740)、その後処理を終了
する。
【0048】次に、図9を参照すると、本発明の好まし
い実施形態に従って、例外オブジェクトを使ってエラー
情報を含むデータ構造を管理する方法のフローチャート
が示されている。このプロセスは、ヌル・スタック・ポ
インタを有する新しい例外構造を割り振ることで始まる
(ステップ800)。プロセスは、次に、エラーに関す
る新しい例外構造パラメータに対する引数を記憶する
(ステップ802)。次に、呼出し側オブジェクトから
の既存の例外が存在するかどうかを判定する(ステップ
804)。呼出し側オブジェクトの既存の例外が存在す
る場合は、既存の例外を含む既存の例外スタックの現在
の長さが得られる(ステップ806)。新しい例外スタ
ックに新しい空間を割り振る(ステップ808)。新し
い例外スタック用に割り振られた新しい空間を、新しい
例外msg_ctxスタック・ポインタに割り当てる
(ステップ810)。
【0049】その後、既存の例外パラメータを、新しい
例外スタックの一番上のエントリにコピーする(ステッ
プ812)。既存のスタック長が1よりも大きいかどう
か判定する(ステップ814)。既存のスタックの長さ
が1よりも大きい場合、その既存のスタックを、例外構
造の新しいスタック・エントリにコピーする(ステップ
818)。次に、例外構造およびスタックを、呼出し側
オブジェクトに渡し(ステップ820)、処理の流れが
呼出し側オブジェクトに戻る(ステップ822)。再度
ステップ814を参照すると、既存の例外スタックのデ
ータ構造の長さが1以下の場合は、新しい既存スタック
を呼出し側オブジェクトに直接渡す(ステップ82
0)。また、既存の例外が、ステップ804の呼出しオ
ブジェクトと関連付けられていない場合は、新しい例外
構造を呼出し側オブジェクトに戻す。
【0050】本発明を、特に、好ましい実施形態に関し
て示し説明したが、当業者には、本発明の趣旨および範
囲から逸脱せずに形態および詳細に様々な変更を行える
ことが理解されよう。
【0051】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0052】(1)データ処理システムにおいて、複数
のオブジェクトの実行中に生じるエラーを管理するため
の方法であって、呼出し側オブジェクトから、複数のオ
ブジェクトによる処理を要求する呼出しを受け取る段階
と、複数のオブジェクトのそれぞれにおけるエラーの発
生に応答して、データ構造にエラー情報を記憶する段階
と、前記データ構造を前記呼出し側オブジェクトに戻す
段階とを含む方法。 (2)前記エラー情報を記憶する段階が、エラー情報を
記憶するために一次データ構造を割り振る段階と、エラ
ーが発生した複数のオブジェクトのそれぞれからのエラ
ー情報を前記一次データ構造に記憶する段階と、エラー
情報を含む既存の前記一次データ構造の存在に応答し
て、エラー情報を記憶するための二次データ構造を割り
振り、該二次データ構造を前記一次データ構造に関連付
け、既存の前記一次データ構造からのエラー情報を前記
二次データ構造に記憶する段階とを含むことを特徴とす
る、上記(1)に記載の方法。 (3)既存の前記二次データ構造の存在に応答して、既
存の前記二次データ構造からのエラー情報を前記二次デ
ータ構造に記憶する段階をさらに含むことを特徴とす
る、上記(2)に記載の方法。 (4)データ処理システムにおいて複数のオブジェクト
の実行中に生じるエラーを管理するためのデータ処理シ
ステムであって、呼出し側オブジェクトから、複数のオ
ブジェクトによる処理を要求する呼出しを受取る受け取
り手段と、前記複数のオブジェクトにおけるエラーのそ
れぞれの発生に応答して、エラー情報をデータ構造に記
憶する記憶手段と、前記データ構造を前記呼出し側オブ
ジェクトに戻す手段とを含むデータ処理システム。 (5)前記記憶手段が、エラー情報を記憶するために一
次データ構造を割り振る割振り手段と、エラーが発生し
た複数のオブジェクトのそれぞれからのエラー情報を前
記一次データ構造に記憶するエラー記憶手段と、エラー
情報を含む既存の前記一次データ構造の存在に応答し
て、エラー情報を記憶するための二次データ構造を割り
振り、該二次データ構造を前記一次データ構造と関連付
け、既存の前記一次データ構造からのエラー情報を前記
二次データ構造に記憶する手段とを含むことを特徴とす
る、上記(4)に記載のデータ処理システム。 (6)前記記憶手段がさらに、既存の前記二次データ構
造の存在に応答して、既存の前記二次データ構造からの
エラー情報を前記二次データ構造に記憶する手段を含む
ことを特徴とする、上記(5)に記載の方法。 (7)前記二次データ構造が最上部を有し、既存の前記
一次データ構造内のエラー情報がこの前記二次データ構
造の最上部に記憶されることを特徴とする、上記(6)
に記載のデータ処理システム。 (8)前記一次データ構造が、前記一次データ構造に記
憶されたポインタを使って前記二次データ構造と関連付
けられ、このポインタが前記二次データ構造を指示する
ことを特徴とする、上記(5)に記載のデータ処理シス
テム。 (9)データ処理システムにおいて、メッセージの処理
中に複数のオブジェクト内で生じるエラーを管理するた
めの方法であって、複数のオブジェクトによる処理を求
める、第1のオブジェクトから発生したメッセージを受
け取る段階と、複数のオブジェクトによるメッセージの
処理中に第1のエラーの発生に応答して、第1の一次エ
ラー・データ構造にエラー情報を記憶する段階と、第2
のエラーの発生に応答して第2の一次エラー・データ構
造にエラー情報を記憶し、前記第1の一次エラー・デー
タ構造内のエラー・データを二次データ構造に記憶し、
該二次データ構造を前記第1の一次エラー・データ構造
と関連付ける段階とを含む方法。 (10)後続のエラーの発生に応答して、後続の一次エ
ラー・データ構造にエラー情報を記憶し、前記第2の一
次エラー・データ構造内および二次データ構造内のエラ
ー・データを第2の二次データ構造に記憶し、該第2の
二次データ構造を後続の前記一次エラー・データ構造と
関連付ける段階をさらに含むことを特徴とする、上記
(9)に記載の方法。 (11)メッセージの処理中に複数のオブジェクト内で
生じるエラーを管理するためのデータ処理システムであ
って、複数のオブジェクトによる処理を求める、第1の
オブジェクトから発生したメッセージを受け取る受取り
手段と、複数のオブジェクトによるメッセージの処理中
に第1のエラーの発生に応答して、第1の一次エラー・
データ構造にエラー情報を記憶する記憶手段と、第2の
エラーの発生に応答して、第2の一次エラー・データ構
造にエラー情報を記憶し、前記第1の一次エラー・デー
タ構造内のエラー・データを二次データ構造に記憶し、
該二次データ構造を前記第1の一次エラー・データ構造
と関連付けるための記憶手段とを含むデータ処理システ
ム。 (12)後続のエラーの発生に応答して、後続の一次エ
ラー・データ構造にエラー情報を記憶し、前記第2の一
次エラー・データ構造内および前記二次データ構造内の
エラー・データを前記第2の二次データ構造に記憶し、
該第2の二次データ構造を後続の前記一次エラー・デー
タ構造と関連付けるための記憶手段をさらに含むことを
特徴とする、上記(11)に記載のデータ処理システ
ム。 (13)後続のエラー・データ構造が、後続の前記一次
エラー・データ構造に記憶されたポインタを使って前記
第2の二次エラー・データ構造と関連付けられ、ポイン
タが前記第2の二次データ構造を指示することを特徴と
する、上記(12)に記載のデータ処理システム。 (14)前記第2の二次データ構造が最上部を有し、前
記第2の一次データ構造内のエラー・データがこの前記
第2の二次データ構造の最上部に記憶されることを特徴
とする、上記(13)に記載のデータ処理システム。 (15)複数のオブジェクトの実行中に生じるエラーを
管理するために、データ処理システムによって読取り可
能でデータ処理システムで実行可能な命令をコード化す
する記憶装置であって、呼出し側オブジェクトから、複
数のオブジェクトの処理を要求するメッセージを受け取
る手段と、複数のオブジェクトのそれぞれにおけるエラ
ーのそれぞれの発生に応答して、エラー情報をデータ構
造に記憶する手段と、データ処理システムに接続され、
データ処理システムによってアクセスされたときに活動
化される、データ構造を前記呼出し側オブジェクトに戻
す手段とを備える記憶装置。
【図面の簡単な説明】
【図1】本発明を利用できるパーソナル・コンピュータ
の形のデータ処理システムを示す図である。
【図2】本発明によるパーソナル・コンピュータ・シス
テムの様々な構成要素を示すパーソナル・コンピュータ
・システムのブロック図である。
【図3】本発明の好ましい実施形態に従って描かれたオ
ブジェクト指向システムにおけるオブジェクトの図であ
る。
【図4】本発明によるクライアント・オブジェクトC
O、オブジェクトA、オブジェクトB、およびオブジェ
クトCのブロック図である。
【図5】本発明によるクライアント・オブジェクトC
O、オブジェクトA、オブジェクトB、オブジェクト
C、およびオブジェクトDのブロック図である。
【図6】本発明によるエラーまたは例外を報告する機構
を示すデータ構造の図である。
【図7】本発明の好ましい実施形態による水平型に生じ
る例外を管理するプロセスのフローチャートである。
【図8】本発明の好ましい実施形態による垂直型に発生
する例外を処理するプロセスのフローチャートである。
【図9】本発明の好ましい実施形態による、例外オブジ
ェクトを使って例外スタック・データ構造を管理するた
めのプロセスのフローチャートである。
【符号の説明】
10 パーソナル・コンピュータ・システム 11 プレーナ 12 システム・ユニット 14 モニタ 24 高速CPUローカル・バス 26 システム中央演算処理装置(CPU) 27 数値演算補助プロセッサ 28 キャッシュ制御装置 30 キャッシュ・メモリ 32 バッファ 34 システム・バス 36 バッファ 38 バス制御タイミング・ユニット 40 DMAユニット 41 DMA制御装置 42 調停制御バス 44 マイクロ・チャネルバス 46a 入出力スロット 46b 入出力スロット 46c 入出力スロット 48 中央調停ユニット 50 メモリ制御ユニット 52 メモリ制御装置 54 アドレス・マルチプレクサ 56 データ・バッファ 58 RAMモジュール 66 バッファ 68 プレーナ入出力バス 70 表示装置アダプタ 72 クロック 74 不揮発性RAM 76 RS232アダプタ 78 並列アダプタ 80 タイマ 82 ディスケット・アダプタ 84 PCキーボード/マウス制御装置 86 読取り専用メモリ(ROM)
フロントページの続き (72)発明者 グレゴリー・アラン・ウィルソン アメリカ合衆国78731 テキサス州オース チン ウォールナット・クレイ 3917

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】データ処理システムにおいて、複数のオブ
    ジェクトの実行中に生じるエラーを管理するための方法
    であって、 呼出し側オブジェクトから、複数のオブジェクトによる
    処理を要求する呼出しを受け取る段階と、 複数のオブジェクトのそれぞれにおけるエラーの発生に
    応答して、データ構造にエラー情報を記憶する段階と、 前記データ構造を前記呼出し側オブジェクトに戻す段階
    とを含む方法。
  2. 【請求項2】前記エラー情報を記憶する段階が、 エラー情報を記憶するために一次データ構造を割り振る
    段階と、 エラーが発生した複数のオブジェクトのそれぞれからの
    エラー情報を前記一次データ構造に記憶する段階と、 エラー情報を含む既存の前記一次データ構造の存在に応
    答して、エラー情報を記憶するための二次データ構造を
    割り振り、該二次データ構造を前記一次データ構造に関
    連付け、既存の前記一次データ構造からのエラー情報を
    前記二次データ構造に記憶する段階とを含むことを特徴
    とする、請求項1に記載の方法。
  3. 【請求項3】既存の前記二次データ構造の存在に応答し
    て、既存の前記二次データ構造からのエラー情報を前記
    二次データ構造に記憶する段階をさらに含むことを特徴
    とする、請求項2に記載の方法。
  4. 【請求項4】データ処理システムにおいて複数のオブジ
    ェクトの実行中に生じるエラーを管理するためのデータ
    処理システムであって、 呼出し側オブジェクトから、複数のオブジェクトによる
    処理を要求する呼出しを受取る受け取り手段と、 前記複数のオブジェクトにおけるエラーのそれぞれの発
    生に応答して、エラー情報をデータ構造に記憶する記憶
    手段と、 前記データ構造を前記呼出し側オブジェクトに戻す手段
    とを含むデータ処理システム。
  5. 【請求項5】前記記憶手段が、 エラー情報を記憶するために一次データ構造を割り振る
    割振り手段と、 エラーが発生した複数のオブジェクトのそれぞれからの
    エラー情報を前記一次データ構造に記憶するエラー記憶
    手段と、 エラー情報を含む既存の前記一次データ構造の存在に応
    答して、エラー情報を記憶するための二次データ構造を
    割り振り、該二次データ構造を前記一次データ構造と関
    連付け、既存の前記一次データ構造からのエラー情報を
    前記二次データ構造に記憶する手段とを含むことを特徴
    とする、請求項4に記載のデータ処理システム。
  6. 【請求項6】前記記憶手段がさらに、既存の前記二次デ
    ータ構造の存在に応答して、既存の前記二次データ構造
    からのエラー情報を前記二次データ構造に記憶する手段
    を含むことを特徴とする、請求項5に記載の方法。
  7. 【請求項7】前記二次データ構造が最上部を有し、既存
    の前記一次データ構造内のエラー情報がこの前記二次デ
    ータ構造の最上部に記憶されることを特徴とする、請求
    項6に記載のデータ処理システム。
  8. 【請求項8】前記一次データ構造が、前記一次データ構
    造に記憶されたポインタを使って前記二次データ構造と
    関連付けられ、このポインタが前記二次データ構造を指
    示することを特徴とする、請求項5に記載のデータ処理
    システム。
  9. 【請求項9】データ処理システムにおいて、メッセージ
    の処理中に複数のオブジェクト内で生じるエラーを管理
    するための方法であって、 複数のオブジェクトによる処理を求める、第1のオブジ
    ェクトから発生したメッセージを受け取る段階と、 複数のオブジェクトによるメッセージの処理中に第1の
    エラーの発生に応答して、第1の一次エラー・データ構
    造にエラー情報を記憶する段階と、 第2のエラーの発生に応答して第2の一次エラー・デー
    タ構造にエラー情報を記憶し、前記第1の一次エラー・
    データ構造内のエラー・データを二次データ構造に記憶
    し、該二次データ構造を前記第1の一次エラー・データ
    構造と関連付ける段階とを含む方法。
  10. 【請求項10】後続のエラーの発生に応答して、後続の
    一次エラー・データ構造にエラー情報を記憶し、前記第
    2の一次エラー・データ構造内および二次データ構造内
    のエラー・データを第2の二次データ構造に記憶し、該
    第2の二次データ構造を後続の前記一次エラー・データ
    構造と関連付ける段階をさらに含むことを特徴とする、
    請求項9に記載の方法。
  11. 【請求項11】メッセージの処理中に複数のオブジェク
    ト内で生じるエラーを管理するためのデータ処理システ
    ムであって、 複数のオブジェクトによる処理を求める、第1のオブジ
    ェクトから発生したメッセージを受け取る受取り手段
    と、 複数のオブジェクトによるメッセージの処理中に第1の
    エラーの発生に応答して、第1の一次エラー・データ構
    造にエラー情報を記憶する記憶手段と、 第2のエラーの発生に応答して、第2の一次エラー・デ
    ータ構造にエラー情報を記憶し、前記第1の一次エラー
    ・データ構造内のエラー・データを二次データ構造に記
    憶し、該二次データ構造を前記第1の一次エラー・デー
    タ構造と関連付けるための記憶手段とを含むデータ処理
    システム。
  12. 【請求項12】後続のエラーの発生に応答して、後続の
    一次エラー・データ構造にエラー情報を記憶し、前記第
    2の一次エラー・データ構造内および前記二次データ構
    造内のエラー・データを前記第2の二次データ構造に記
    憶し、該第2の二次データ構造を後続の前記一次エラー
    ・データ構造と関連付けるための記憶手段をさらに含む
    ことを特徴とする、請求項11に記載のデータ処理シス
    テム。
  13. 【請求項13】後続のエラー・データ構造が、後続の前
    記一次エラー・データ構造に記憶されたポインタを使っ
    て前記第2の二次エラー・データ構造と関連付けられ、
    ポインタが前記第2の二次データ構造を指示することを
    特徴とする、請求項12に記載のデータ処理システム。
  14. 【請求項14】前記第2の二次データ構造が最上部を有
    し、前記第2の一次データ構造内のエラー・データがこ
    の前記第2の二次データ構造の最上部に記憶されること
    を特徴とする、請求項13に記載のデータ処理システ
    ム。
  15. 【請求項15】複数のオブジェクトの実行中に生じるエ
    ラーを管理するために、データ処理システムによって読
    取り可能でデータ処理システムで実行可能な命令をコー
    ド化すする記憶装置であって、 呼出し側オブジェクトから、複数のオブジェクトの処理
    を要求するメッセージを受け取る手段と、 複数のオブジェクトのそれぞれにおけるエラーのそれぞ
    れの発生に応答して、エラー情報をデータ構造に記憶す
    る手段と、 データ処理システムに接続され、データ処理システムに
    よってアクセスされたときに活動化される、データ構造
    を前記呼出し側オブジェクトに戻す手段とを備える記憶
    装置。
JP8207996A 1995-08-18 1996-08-07 エラーを管理するための方法およびデータ処理システム Pending JPH09171473A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/516736 1995-08-18
US08/516,736 US5778369A (en) 1995-08-18 1995-08-18 Method and apparatus for managing exceptions

Publications (1)

Publication Number Publication Date
JPH09171473A true JPH09171473A (ja) 1997-06-30

Family

ID=24056880

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8207996A Pending JPH09171473A (ja) 1995-08-18 1996-08-07 エラーを管理するための方法およびデータ処理システム

Country Status (4)

Country Link
US (1) US5778369A (ja)
JP (1) JPH09171473A (ja)
DE (1) DE19633002C2 (ja)
GB (1) GB2304430B (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6282580B1 (en) * 1996-07-02 2001-08-28 Sun Microsystems, Inc. Bridge providing communication between different implementations of object request brokers
US5911069A (en) * 1996-09-30 1999-06-08 Apple Computer, Inc. Exception handling techniques for native methods bound to SOM classes
US5948107A (en) * 1997-05-28 1999-09-07 Intel Corporation Method of handling errors in complex inheritance hierarchies
US6205561B1 (en) * 1997-12-11 2001-03-20 Microsoft Corporation Tracking and managing failure-susceptible operations in a computer system
US6205491B1 (en) * 1997-12-18 2001-03-20 Sun Microsystems, Inc. Method and apparatus for deferred throwing of exceptions in C++
US7086066B2 (en) * 2000-03-31 2006-08-01 Schlumbergersema Telekom Gmbh & Co. Kg System and method for exception handling
US7512935B1 (en) * 2001-02-28 2009-03-31 Computer Associates Think, Inc. Adding functionality to existing code at exits
US6922796B1 (en) 2001-04-11 2005-07-26 Sun Microsystems, Inc. Method and apparatus for performing failure recovery in a Java platform
US6687690B2 (en) 2001-06-14 2004-02-03 International Business Machines Corporation Employing a combined function for exception exploration in multidimensional data
US7426521B2 (en) * 2002-07-19 2008-09-16 Microsoft Corporation Property and object validation in a database system
US7194744B2 (en) * 2002-12-17 2007-03-20 International Business Machines Corporation System and method for dynamic exception handling using an external exception handler
US20090183160A1 (en) * 2008-01-16 2009-07-16 Morinville Paul V Automated Execution of Business Processes Using Dual Element Events
US11442739B2 (en) * 2019-09-16 2022-09-13 International Business Machines Carporation Exception handling

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4381540A (en) * 1978-10-23 1983-04-26 International Business Machines Corporation Asynchronous channel error mechanism
US4550278A (en) * 1982-07-21 1985-10-29 Mitsubishi Denki Kabushiki Kaisha Control device
US5182811A (en) * 1987-10-02 1993-01-26 Mitsubishi Denki Kabushiki Kaisha Exception, interrupt, and trap handling apparatus which fetches addressing and context data using a single instruction following an interrupt
JPH03175537A (ja) * 1989-12-04 1991-07-30 Nec Corp デバッグ用マイクロプロセッサのエラー制御装置
US5175735A (en) * 1990-09-28 1992-12-29 Xerox Corporation Method and apparatus for handling object faults in an electronic reprographic printing system
US5291583A (en) * 1990-12-14 1994-03-01 Racal-Datacom, Inc. Automatic storage of persistent ASN.1 objects in a relational schema
US5295256A (en) * 1990-12-14 1994-03-15 Racal-Datacom, Inc. Automatic storage of persistent objects in a relational schema
GB2268292A (en) * 1992-06-16 1994-01-05 Ibm Error handling in a state-free system
US5408218A (en) * 1993-03-19 1995-04-18 Telefonaktiebolaget L M Ericsson Model based alarm coordination
US5418793A (en) * 1993-06-22 1995-05-23 At&T Corp. Method and apparatus for testing a complex entity
US5404529A (en) * 1993-07-19 1995-04-04 Taligent, Inc. Object-oriented interprocess communication system interface for a procedural operating system
US5628016A (en) * 1994-06-15 1997-05-06 Borland International, Inc. Systems and methods and implementing exception handling using exception registration records stored in stack memory
US5481719A (en) * 1994-09-09 1996-01-02 International Business Machines Corporation Exception handling method and apparatus for a microkernel data processing system
GB2293470A (en) * 1994-09-22 1996-03-27 Ibm Message encapsulation in Object Oriented Programming.

Also Published As

Publication number Publication date
GB9617121D0 (en) 1996-09-25
GB2304430B (en) 2000-02-16
GB2304430A (en) 1997-03-19
DE19633002C2 (de) 2001-03-15
US5778369A (en) 1998-07-07
DE19633002A1 (de) 1997-03-20

Similar Documents

Publication Publication Date Title
US6226693B1 (en) Method and system for logical event management
US5729739A (en) Persistent object mapping system and method with abstract schema mapper
JP3595340B2 (ja) オブジェクト指向環境における回復可能プロキシ・オブジェクト
US5301270A (en) Computer-assisted software engineering system for cooperative processing environments
AU724513B2 (en) Computerized system and associated method for optimally controlling storage and transfer of computer programs on a computer network
Yokote et al. A Reflective Architecture for an Object-Oriented Distributed Operating System.
US5893106A (en) Object oriented server process framework with interdependent-object creation
US8689232B2 (en) Object synchronization in shared object space
US8141104B2 (en) Integrating non-compliant providers of dynamic services into a resource management infrastructure
US7543301B2 (en) Shared queues in shared object space
US6263498B1 (en) Method and apparatus for enabling server side distributed object modification
JPH0877117A (ja) デジタル署名を用いた進行オブジェクト指向型プログラムの有効利用方法および装置
JPH09512358A (ja) インタフェース装置及び方法
JPH09171473A (ja) エラーを管理するための方法およびデータ処理システム
EP1489504B1 (en) Mechanism for asynchronous components to be application framework agnostic
AU5680894A (en) Interception system and method including user interface
US6378002B1 (en) Object oriented server process framework with implicit data handling registry for remote method invocations
US20030212761A1 (en) Process kernel
US6202098B1 (en) Method and system for object oriented notification
EP1221085A2 (en) Method and system for dynamic injection of execution logic into a windowed operating system
Fleisch et al. Workplace microkernel and OS: a case study
US7779430B2 (en) Method, system, and article of manufacture for providing service components
US20030093425A1 (en) System, method, and computer program product for accessing batch job service requests
US20040073598A1 (en) System-to-system inter-operation interface
Akbay et al. Design and implementation of an enterprise information system utilizing a component based three-tier client/server database system

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070731

Year of fee payment: 9

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 10

Free format text: PAYMENT UNTIL: 20080731

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080731

Year of fee payment: 10

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090731

Year of fee payment: 11

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090731

Year of fee payment: 11

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 12

Free format text: PAYMENT UNTIL: 20100731

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110731

Year of fee payment: 13

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110731

Year of fee payment: 13

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120731

Year of fee payment: 14

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120731

Year of fee payment: 14

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 15

Free format text: PAYMENT UNTIL: 20130731

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250