JPH09204336A - トランザクション管理方法 - Google Patents

トランザクション管理方法

Info

Publication number
JPH09204336A
JPH09204336A JP8012406A JP1240696A JPH09204336A JP H09204336 A JPH09204336 A JP H09204336A JP 8012406 A JP8012406 A JP 8012406A JP 1240696 A JP1240696 A JP 1240696A JP H09204336 A JPH09204336 A JP H09204336A
Authority
JP
Japan
Prior art keywords
role
transaction
roll
objects
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP8012406A
Other languages
English (en)
Inventor
Yoshinori Katayama
佳則 片山
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP8012406A priority Critical patent/JPH09204336A/ja
Publication of JPH09204336A publication Critical patent/JPH09204336A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】 オブジェクト指向システムにおいてトランザ
クションの作業単位を明確にする。 【解決手段】 オブジェクトの各状況における振る舞い
を記述するロールを導入し、ロールを推移順に配列して
なるロールセットをオブジェクトに対応して設け、ま
た、各ロールに次のロールに推移するための推移条件を
含ませておく。オブジェクト実行部3は、メッセージに
より指定されたオブジェクトに対応するロールセットの
ロール順にロール記述に従ってオブジェクトを実行し、
トランザクション管理部1は、複数のオブジェクトにお
よぶトランザクションを、各オブジェクトに対応するロ
ールセットに基づいて管理する。また、トランザクショ
ン管理部1はトランザクションに関連している全オブジ
ェクトのロールを一斉に変更する条件を予め記憶してお
き、該条件が成立した時、各オブジェクトのロールを一
斉に所定のロールに変更し、一斉変更のタイミングをト
ランザクションの区切りとする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はトランザクション管
理方法に係わり、特に、オブジェクト指向システムにお
いて複数のオブジェクトにおよぶ作業単位であるトラン
ザクションの区切りを明確に把握できるようにしたトラ
ンザクション管理方法に関する。
【0002】
【従来の技術】トランザクションは、一般に、一連のま
とまりのある処理(作業単位)であり、実行、管理、制
御の単位と考えられ、その作業単位に関連する全ての処
理が正常に終了した時点で完了するものである。トラン
ザクションは作業単位であるから、その範囲が決まって
いなければならない。つまり、開始と終了のポイントが
はっきりしている必要がある。
【0003】オブジェクト指向システムは、オブジェク
ト指向プログラム言語で記述されたプログラムに基づい
て処理を行うシステムである。オブジェクト指向プログ
ラム言語では、プログラムをオブジェクトの集まりで記
述し、各オブジェクトをメッセージにより起動する。オ
ブジェクトは、データとプロシージャ(手続き)の両方
の性質を合わせ持つもので、データ格納のためのローカ
ル変数と、プロシージャの記述のためのメソッドをそれ
ぞれ備えている。オブジェクトのメソッドは、外部から
あるいは他のオブジェクトから送られてくるメッセージ
によって起動される。プログラム全体の動作は、各オブ
ジェクト間でのメッセージの交換によって進行し、メソ
ッドは特定のメッセージに対するオブジェクトの振舞を
決定するだけであり、また、各オブジェクトはメッセー
ジを通して外部と関係するだけである。オブジェクトは
以上のほか、(1) メッセージが来るまで起動せず、ま
た、結果は状態として保持する、(2) オブジェクトは状
態を持っており、オブジェクトの働きはメッセージだけ
でなく状態自身にも依存する、(3) オブジェクトの出力
は状態として他のオブジェクトにわたされるが、その行
先はメッセージと状態自身により自由に決められる、等
の機能を備えている。
【0004】オブジェクト指向システムにおいて、トラ
ンザクションを管理することの難しさは、トランザクシ
ョンとしての作業単位となるべき開始と終了のポイント
を明確に決めることが出来ないことにある。これは次の
3つの要因による。 (1)作業が複数のオブジェクトに渡って実行される。 (2)各作業の実行手順が予め静的に決められない。 (3)作業に関連するすべてのオブジェクト間のやり取り
はすべてメッセージ送信による。 これらのことにより、オブジェクト指向システムでは、
トランザクションとしての作業単位を明確に決めること
が出来ない。したがって、オブジェクト指向システムで
は、トランザクションなどの動作の補償は、実際に動か
してみて実証すること以外に他に有効な方法がなかっ
た。
【0005】ところで、一般のトランザクション処理に
おいて、その処理環境として複数のコンピュータシステ
ムで構成される分散処理環境を想定すると、分散トラン
ザクション処理が必要となる。かかる分散処理環境で
は、複数のコンピュータシステムにまたがる作業単位を
管理するためにトランザクションの識別子が設定され
る。このトランザクション識別子には、目的とする処理
が対象にしている環境内では、常に一意である値を与え
なければならない。オブジェクト指向システムも、動作
の処理環境は複数のオブジェクトで構成されるため、上
記分散処理環境としての捕え方を容易にあてはめること
ができ、動作の処理に関わる複数のオブジェクトにまた
がる作業単位を管理するための識別子の導入が考えられ
る。しかし、オブジェクト指向システムの特徴の一つで
あるメッセージパッシング機構は、任意のオブジェクト
に任意の時点でメッセージを送信できることが前提とな
っている。このため、オブジェクト指向システムでは、
個々の処理が対象としている環境内で一意の値を持たせ
るようなトランザクションの識別子を決めることは難し
い。
【0006】そこで、先の識別子を実現するために、動
作可能なすべてのオブジェクトを管理するためのメカニ
ズムが必要になり、構成が複雑になる。また、識別子を
与えた場合でも、識別子の管理のもとで全ての動作が実
現されるため、オブジェクトとしての動作のダイナミッ
ク性が抑制され、本来のオブジェクトとしての利点が弱
くなってしまう。
【0007】
【発明が解決しようとする課題】以上より、オブジェク
ト指向システムにおけるトランザクション管理の為に、
作業単位を明確にするためのトランザクション識別子に
代わるものを、オブジェクトとしての利点を損なわない
何らかの形で実現することが要望されている。従って、
本発明の第1の目的は、個々のオブジェクトが置かれて
いる各状況の振る舞いを明示的に規定するロール記述を
導入し、複数のオブジェクトにおよぶ作業単位をダイナ
ミックに変化するロールの推移グループであるロールセ
ットで捕えて、トランザクションの作業単位を明確にす
るトランザクション管理方法を提供することである。本
発明の別の目的は、トランザクションに関連している全
オブジェクトのロールを一斉に所定のロールに変更し、
該一斉変更のタイミングをトランザクションの区切りと
してトランザクションの作業単位を明確にするトランザ
クション管理方法を提供することである。本発明の更に
別の目的は、トランザクションの作業単位の実行途中で
エラーが発生しても該トランザクション実行前の正常な
状態に戻すことができるトランザクション管理方法を提
供することである。
【0008】
【課題を解決するための手段】図1は本発明の原理説明
図である。1はトランザクション管理部、2は多数のオ
ブジェクトを記憶するオブジェクト記憶部、3はオブジ
ェクト実行部である。トランザクション管理部1におい
て、1aはオブジェクト/ロールセット対応管理テーブ
ル、1bはオブジェクト/ロール対応テーブル、1cは
ロール一斉変更条件記憶部である。オブジェクト/ロー
ルセット対応管理テーブル1aには、オブジェクトと複
数のロールを推移順に配列してなるロールセットとの対
応が予め登録されている。ロールは、予めオブジェク
トが持つ振る舞いの中でオブジェクトのそれぞれの状況
において許容する振る舞いと、次のロールに推移する
ための推移条件を記述するものである。オブジェクト/
ロール対応テーブル1bには、メッセージにより指定さ
れたオブジェクトに対応するロールセットのロールであ
って、オブジェクトが現在置かれている状況の振る舞い
を明示的に規定するロールがオブジェクトに対応させて
ダイナミックにセットされる(張り付け)。ロール一斉
変更条件記憶部1cには、トランザクションに関連して
いる全オブジェクトのロールを一斉に所定のロールに変
更するためのロール一斉変更条件が予め記憶される。
【0009】オブジェクトのそれぞれの状況において許
容する振る舞いを記述するロールを導入し、複数のロー
ルを推移順に配列してなるロールセットをオブジェクト
に対応してオブジェクト/ロールセット対応管理テーブ
ル1aに登録しておく。また、ロールには次のロールに
推移するための推移条件も含ませておく。トランザクシ
ョン管理部1はメッセージが入力されると該メッセージ
により指定されたオブジェクトに対応するロールセット
の第1ロールをオブジェクト/ロール対応テーブル1b
に登録する。オブジェクト実行部2はオブジェクト/ロ
ール対応テーブル1bを参照し、該テーブルに登録され
ているオブジェクトのロールが許容する振舞を実行す
る。実行完了後、その旨及び内部状態をメッセージでト
ランザクション管理部1に送り、トランザクション管理
部1は該メッセージを参照して推移条件を満足していれ
ば次のロールをロールセットから読出してオブジェクト
/ロール対応テーブル1bに登録し、以後、同様にして
オブジェクトが実行される。また、トランザクション管
理部1はオブジェクト実行部3から送出されるメッセー
ジによって、別のオブジェクトが指定されている場合に
は別のオブジェクトについても上記制御を並行して行
う。
【0010】以上のように個々のオブジェクトが置かれ
ている各状況の振る舞いを明示的に規定するロール記述
を導入することにより、複数のオブジェクトにおよぶ作
業単位(トランザクション)をダイナミックに変化する
ロールの推移グループであるロールセットで捕えること
ができ、トランザクションの作業単位を明確にすること
ができる。また、トランザクションに関連している全オ
ブジェクトのロールを一斉に所定のロールに変更するロ
ール一斉変更条件を予め記憶部1cに記憶しておき、該
条件が成立した時、前記全オブジェクトのロールを一斉
に所定のロールに変更する。そして、該一斉変更のタイ
ミングをトランザクションの区切りと認識する。このよ
うにすれば、トランザクションの開始、終了の区切りを
明確に把握でき、トランザクションの実行途中にエラー
が生じた場合であっても、そのトランザクションを行う
前の正常な状態にロールバックすることができる。
【0011】
【発明の実施の形態】
(A)本発明の概略 オブジェクト指向システムにおいてトランザクション管
理を実現するためには、複数のオブジェクトのメッセー
ジパッシングによって実行する動作の作業単位が明らか
にされる必要がある。作業単位を明らかにすることの目
的は、複数のオブジェクトに渡って実行される動作に関
して一つのまとまりある処理となる区切りをはっきりさ
せることである。本発明では、作業単位としての区切り
をはっきりさせるために、個々のオブジェクトが置かれ
ている各状況の違いを振る舞いの制約として明示的に与
えるためのロール記述を導入する。ロール記述により作
業単位としてまとまりある処理の区切りをはっきりさ
せ、オブジェクト指向システムにおけるトランザクショ
ン管理を実現する。また、各オブジェクトに対応するロ
ールがダイナミックに変化することで状況の変化に対応
したオブジェクトの振る舞いに対する制約の変化を実現
する。
【0012】図2は以上のトランザクション管理方法の
動作イメージ説明図である。11はオブジェクト群、2
1はロールセット群である。オブジェクトは階層的に構
成され、共通に使用されるオブジェクト12a,12
b,12c・・・と共通でないオブジェクト(インスタ
ンス)12a-1,12a-2,・・・、12b-1、12b-2、・・・、12c-1,12
c-2・・・が階層的に接続されている。例えば、様々な「自
動車」の概念を表すオブジェクトが多数必要な場合、一
般的な「自動車」の概念を表すオブジェクト12aを1
つ作って、すべての「自動車」に共通する性質を定義し
ておき、特定の「自動車」のオブジェクト12a-1,12a-2,
・・・を共通オブジェクト12aの下位において、その性
質を相続させるようになっている。ロールセット22
a,22b,22c・・・は複数のロールを推移順に配
列してなるもので、それぞれ所定のオブジェクトに対応
して設けられている。図では、ロールセット22aはオ
ブジェクト群12a-1,12a-2,・・・に対応し、ロールセット
22bはオブジェクト群12b-1,12b-2,・・・に対応し、ロ
ールセット22cはオブジェクト群12c-1,12c-2・・・に対
応している。各ロールセット22a〜22cを構成する
ロール22a-1,22a-2,・・・、22b-1、22b-2、・・・、22c-1,22
c-2・・・は、対応するオブジェクト12a〜12cのそれ
ぞれの状況において許容する振る舞い(動作)と次のロ
ールに推移するための推移条件を記述する。
【0013】システムの動作は、作業単位としての処
理の目的に合わせたオブジェクトとロールとの対応関係
をダイナミックに変化すメカニズムと、複数のオブジ
ェクトに対応しているロールを一斉に所定のロールに置
き換えるメカニズムを用いて実現される。これら,
のメカニズムを用いることで、オブジェクトを直接管理
するのでなく、ロール側を管理することで作業単位とし
ての処理の区切りを捕え、オブジェクト指向システム全
体のトランザクションを管理できるようになる。すなわ
ち、システムは、メッセージにより指定されたオブジェ
クトに対応するロールセットのロール順にロール記述に
従って各オブジェクトを実行し、予め設定してあるロー
ル一斉変更条件が成立した時、各オブジェクトのロール
を一斉に所定のロールに変更し、一斉変更のタイミング
をトランザクションの区切りとする。
【0014】<ロールの役割>ロールの記述は、オブ
ジェクトとロールの対応を変化させるための条件、対
応するオブジェクトに与える振る舞い(あるいは振舞に
対する制約)の2つを基本とする。 (1)オブジェクトとの対応を変化させるための条件 ロールとオブジェクトの対応は、オブジェクトが持つ内
部状態の変化やメッセージの受け取り、あるいは処理の
実行終了等をトリガーにして、ダイナミックに変化す
る。はこの変化のトリガーと変化するための前提条件
を記述する部分である。 (2)オブジェクトに与える振る舞いに対する制約 ロールはオブジェクトが持っているメソッド(実行可能
な機能)のうち実際に実行できるものを制限すること
で、そのオブジェクトの置かれている状況を表す。ロー
ルを記述する際に、オブジェクトのすべての振る舞いを
理解している必要はないが、どのような振る舞いの実行
を許すかのみはロールの役割として明確に規定しなけれ
ばならない。なお、ロールで扱う各オブジェクトに対す
る振る舞いの制約は、各処理の動作の目的をはっきりさ
せることで決められるもので、オブジェクトごとに一意
に静的に規定されるものではない。
【0015】<ロールの一斉書き換えのメカニズム>ロ
ールとオブジェクトの対応(オブジェクトに張り付くロ
ール)は、オブジェクトが受け取るメッセージや内部状
態の変化に応じてダイナミックに変化する。これは、個
々のオブジェクトの処理に対する制約である。一方、シ
ステム全体の処理に対する制約は、複数のオブジェクト
に対応しているロールを一斉に他のロールに変更するこ
とである。かかる一斉変更は次の作業のための前準備と
して予め決められたロールに対応を変更することであ
り、複数のオブジェクトが一つのまとまった作業を終了
した時点を意味する。また、一斉変更する理由は、一斉
変更作業中はすべてのオブジェクトの処理が凍結し、メ
ッセージ交換が全く行なわれず、このためオブジェクト
の内部状態などが全く変わらないことを保証できるから
である。ロールの一斉書き換えはその条件を予め利用者
が設定するだけで良く、実行に関して利用者が意識しな
くてもシステムの内部処理として自動的に実行される。
ロールが個々のオブジェクトの処理に関する制約を扱う
ことから、処理の作業単位に区切りをつけるためには、
必ずこのロールの一斉変更が必要になる。
【0016】メッセージの処理メカニズムの観点から、
従来のオブジェクト指向システムとの比較を行ったもの
が図3のメッセージ処理メカニズムであり、ロールの
チェックステップ103、ロールの変更ステップ10
6が従来と異なり、他のステップは従来と同じである。
システムは、送り先、セレクタ、データを備えたメッセ
ージを受信すると(ステップ101)、対応するオブジ
ェクト(送り先により指示されたオブジェクト)を選択
する(ステップ102)。ついで、システムは、該オブ
ジェクトがセレクタにより指示された動作を実行できる
か、及び、メッセージ受け付け可能であるか判断する。
尚、選択したオブジェクトにロールが張り付いているか
チェックし、張り付いている場合にはメッセージの受け
付け不可能と判断する。メッセージで指示された動作が
可能であり、また、メッセージの受け付けが可能である
場合には、オブジェクトに対応するロールセットを検索
し、該ロールセットの第i番目(iの初期値は1)のロ
ールを選択し、オブジェクトに貼り付ける(ステップ1
03)。
【0017】しかる後、ロールが規定する振舞を実行す
るために、セレクタに対応する処理(オブジェクトのク
ラス)を検索し(ステップ104)、選んだ処理をメッ
セージにより与えられたデータを用いて実行する(ステ
ップ105)。そして、実行結果により推移条件が満た
されていれば、ロールをロールセットにおける次のロー
ルに変更すると共に、ロール一斉変更条件が満たされて
いるか調べる。ロール一斉変更条件が満たされている場
合には、動作しているオブジェクトに張り付いているロ
ール群を一斉に次の作業のための前準備として予め決め
られたロールに変更する(ステップ106)。しかし、
ロール一斉変更条件が満たされていない場合には、新た
なメッセージを必要に応じて他のオブジェクトに送信し
(ステップ107)、以後ステップ102以降の処理を
継続する。尚、ロールの変更のタイミングは、新たなメ
ッセージ送信時点や内部状態の変更時点である。
【0018】(B)実施例 簡単なグラフィック表示システムを例にして、ロール変
更のメカニズムを説明する。本例は、基本的なオブジェ
クト指向システムの手法を用いた具体的に目に見えて動
く簡単なシステムである。オブジェクト指向プログラム
は、方向性のない網状のグラフを表示、操作、変更する
ものである。実際には、アークによって接続された複数
のノードのグラフを表示、操作、変更するものである
(図4参照)。操作については、マウスを用いて指定あ
るいは、メッセージで直接指定することにより、グラフ
の形を自由に変えることが出来、グラフの操作として
は、ノードND1〜ND4の生成、削除、移動のほか、
ノードの名前付け、アークAC1〜AC4の追加・削除
・移動という処理を可能にする。かかる処理を行うため
のオブジェクトとして、 ノードと呼ばれる円として表示されるオブジェクト、 ノード間を接続するアークと呼ばれる線として表示さ
れるオブジェクト、 ラベルを現すオブジェクトの3つが基本になる。
【0019】ノードの大きさは、中に書かれるラベルの
長さに合わせて自動的に決定されるものとする。ノード
が移動されたり、ラベルが変更されてノードの大きさが
変わった場合には、それに伴って自動的にアークも変更
されるものとする。現実に、このプログラムでは、使用
者がノードのオブジェクトに対して移動や名前付けのメ
ッセージを送るとオブジェクト自身が移動し、それに伴
い変更されるアークのオブジェクトがあればそのオブジ
ェクトに対してメッセージが送られる。このようにして
基本的なオブジェクト指向システムが実現される。実際
には、ウインドウオブジェクトやメニューオブジェクト
など細かい入出力のためのオブジェクトが用いられる
が、ここでは説明を省略する。ノード、アーク、ラベル
の3つのオブジェクトは、通常のオブジェクト指向シス
テムのオブジェクトと基本的に変わらない。一般には、
図5の概念図に示すように、これらの3つのオブジェク
トを用いたグラフィック表示システムとしてのオブジェ
クトが用意されることになる。本発明のプログラミング
では、ノード、アーク、ラベルの各オブジェクトに貼り
付くロールとして図6に示す2つのロールセットRS
1,RS2を用意する
【0020】第1のロールセット 第1のロールセットRS1は、beginロール、close dis
playロール、 change attributeロール、 open display
ロールの4つのロールからなる。これらのロールは、こ
の順に推移関係がある。各ロールの果たす役割をそれぞ
れ次に示す。 beginロール:このロールは、動作の切れ目を明確にさ
せるために用意してあるすべてのオブジェクトに共通な
何らかの動作の開始を受け付ける初期状況を現すロール
である。 close displayロール:このロールがオブジェクトに貼
り付いている間は、そのオブジェクトは、ウインドウに
表示されている自分自身の表示を消すことしか出来な
い。すなわち、表示を消すメッセージしか受け付けな
い。第1のロールセットRS1では、自分自身の表示を
消し終えた時点で、このロールが剥がれ、次にchange a
ttributeロールが貼り付けられる。
【0021】change attributeロール:このロールがオ
ブジェクトに貼り付いている間は、そのオブジェクト
は、自分自身の持っている内部状態変数の変更しか出来
ない。すなわち、変更メッセージしか受け付けない。こ
のロールからは、次にopen displayロールに変化するこ
とだけが可能である。 open displayロール:このロールがオブジェクトに貼り
付いている間は、そのオブジェクトは、ウインドウに自
分自身の表示を行なうことしか出来ない。すなわち、表
示を行なうメッセージしか受け付けない。自分自身の表
示を行った時点で、このロールが剥がれ、次にbeginロ
ールが貼り付けられる。
【0022】第2のロールセット 第2のロールセットRS2は、beginロール,close dis
playロール、delete objectロールの3つのロールからな
る。これらのロールも、この順に推移関係ある。各ロー
ルの果たす役割をそれぞれ次に示す。尚、beginロー
ル、close displayロールは、第1のロールセットRS
1のものと同じである。 delete objectロール:このロールがオブジェクトに貼
り付いている間は、そのオブジェクトは、自分自身を削
除することしか出来ない。すなわち、オブジェクトの削
除メッセージしか受け付けない。各ロールセットRS
1、RS2のロールのダイナミックな貼り付きの変更
は、オブジェクトの内部状態の変更操作やロールごとに
定められたメッセージを受け取ることをトリガーにして
行なわれる。
【0023】例えば、図7(1)から図7(2)にグラフィッ
ク表示を変更する場合、関連するオブジェクトのロール
がどのように推移するかの関係を図8に示す。図7の変
更は、”third”とラベルの付いているノードND3の
位置を右側に移動させたものである。図8では、ノー
ド、ラベル、アークの3つのオブジェクトにそれぞれ第
1のロールセットRS1を対応させてロールの推移を示
した。図8に示した動作の大別では、thirdノードとthi
rdラベルのロールの推移を同ように捕えているが、現実
のシステム動作では、メッセージ通信による各処理のタ
イミングに応じて少しづつずれが生じている。実現シス
テムに対して、各オブジェクトに貼り付いているロール
を確認することで、グラフィック表示システムとしての
動作状況を把握することができるようになる。また図8
の動作内訳において、連結アークの表示から次の動作の
準備の間は、関連しているすべてのオブジェクトのロー
ルを一斉にstart(begin ロール)に変更している。この
部分がグラフィック表示システムとしての一連の動作の
区切り(トランザクションの区切り)である。このよう
にロールの一斉変更処理によって、実現システムにおけ
るオブジェクト群の動作の区切りをはっきりと確認でき
るようになる。
【0024】(C)システム構成 (a)構成 図9はオブジェクト指向システムの構成図であり、1は
トランザクション管理部、2は多数のオブジェクトを記
憶するオブジェクト記憶部、3はオブジェクト実行部で
あり、メッセージで指示されたオブジェクトに対応する
ロールセットのロール順にロール記述に従って該オブジ
ェクトを実行するものである。4は入出力インタフェー
ス制御やメッセージ受信に基づいたシステム全体の制御
等を実行する制御部である。トランザクション管理部1
において、1aはオブジェクト/ロールセット対応管理
テーブル、1bはオブジェクト/ロール対応テーブル、
1cはロール記述記憶部、1dはロール一斉変更条件記
憶部、1eはロール貼り付け処理部、1fはロール一斉
変更処理部である。
【0025】オブジェクト/ロールセット対応管理テー
ブル1aには、図10(A)に示すようにオブジェクト
01,02,03・・・と複数のロールを推移順に配列
してなるロールセットRole Setとの対応が予め登録され
る。ロールは、図10(B)に示すように、オブジェ
クトのそれぞれの状況において許容する振る舞いと、
次のロールに推移するための推移条件を記述するもので
あり、予めロール記述記憶部1cに登録される。オブジ
ェクト/ロール対応テーブル1bは、オブジェクトに応
じたロールセットのロールであって、該オブジェクトが
現在置かれている状況の振る舞いを明示的に規定するロ
ールをオブジェクトに対応させて保持するものである。
ロール張り付き処理部1eは、メッセージにより指定さ
れたオブジェクトに対応するロールセットのロールであ
って、該オブジェクトが現在置かれている状況の振る舞
いを明示的に規定するロールをロールセットより選択し
て、オブジェクト/ロール対応テーブル1bにセットす
る(オブジェクトにロールを張り付ける)。
【0026】ロール一斉変更条件記憶部1dは、図10
(C)に示すように、各トランザクションに関連してい
る全オブジェクトのロールを一斉に所定のロールに変更
するためのロール一斉変更条件が予め記憶される。ロー
ル一斉変更処理部1fはトランザクションに関連してい
る全オブジェクトO1〜O3のそれぞれに所定のロール
例えばrole 3が張り付いた状態になると(図8の場合は
すべてopen displayになると)、各オブジェクトのロー
ルを一斉に次の作業のための前準備として予め決められ
たロール、例えばbgein roleに変更する。オブジェクト
記憶部2はオブジェクトを記憶し、オブジェクト実行部
3はオブジェクト/ロール対応管理テーブル1bにセッ
トされているオブジェクトのロール記述に従ってオブジ
ェクトを実行する。
【0027】(b)動作 複数のロールを推移順に配列してなるロールセットをオ
ブジェクトに対応してオブジェクト/ロールセット対応
管理テーブル1aに登録すると共に、各ロールのロール
記述を記憶部1cに登録しておく。制御部4はメッセー
ジが入力されると該メッセージをロール張り付き処理部
1eに渡す。これにより、ロール張り付き処理部1e
は、メッセージで指定されたオブジェクトに対応するロ
ールセットをテーブル1aより検索し、該ロールセット
の第1ロールをオブジェクト/ロール対応テーブル1b
にセットする(張り付ける)。オブジェクト実行部2は
オブジェクト/ロール対応テーブル1bを参照し、該テ
ーブルに登録されているオブジェクトのロールが指示す
る振舞を実行する。実行完了後、その旨及び内部状態を
メッセージでロール張り付き処理部1eに送り、ロール
張り付き処理部1eは該メッセージを参照して推移条件
を満足していれば次のロールをロールセットから読出し
てオブジェクト/ロール対応テーブル1bにセットし
(ロールの張替)、以後、同様にしてオブジェクトを実
行する。
【0028】また、以上と並行して、ロール一斉変更処
理部1fは、ロール一斉変更管理テーブル1dに予め記
憶してあるロール一斉変更条件が成立したか監視し、成
立した時、トランザクションに関連している全オブジェ
クトのロールを一斉に所定のロールに変更する。そし
て、該一斉変更のタイミングをトランザクションの区切
りと認識し、以後次のメッセージを受信可能になる。こ
のように、トランザクションの開始、終了の区切りを明
確に把握できるため、オブジェクト実行部3によるトラ
ンザクションの実行途中にエラーが生じた場合であって
も、ロール張り付き処理部1eは該トランザクションを
行う前の正常な状態にオブジェクト/ロール対応テーブ
ル1bを戻し(ロールバック)、しかる後、リトライ、
デバッグ等の処理を行うことができる。以上、本発明を
実施例により説明したが、本発明は請求の範囲に記載し
た本発明の主旨に従い種々の変形が可能であり、本発明
はこれらを排除するものではない。
【0029】
【発明の効果】これまでのオブジェクト指向システムで
は、複数のオブジェクトによって実現されたシステムに
対して各動作のトランザクション管理を行う手段が用意
されていない。このため、システムの開発者が各動作の
トランザクションを把握して管理する、あるいは実現シ
ステムに現われるオブジェクトの動きを管理するための
新たなオブジェクトを用意する必要があった。しかし、
本発明によれば、ロールとしてオブジェクト動作の局面
を切り分け、局面毎の制限を明確にさせておき、オブジ
ェクトに対してダイナミックにロールの貼り付きを実現
させることにより、ロールの推移を確認することで複数
のオブジェクトのトランザクション管理を行うことがで
きる。
【0030】また、本発明によれば、ロールの推移関係
を予めロールセットとしてまとめておくことで、同じク
ラスの複数のインスタンスに対してもトランザクション
の単位をロールセットで扱うことが可能になる。またオ
ブジェクトの基本機能を変更することなく、ロールセッ
トを用いることで、トランザクションの単位を容易に変
更・改良できるようになる。
【0031】さらに、本発明によれば、ロールセットの
推移関係を明らかにしておくことができ、この結果、ト
ランザクション処理の途中でエラーが起こった場合に、
オブジェクトを一つ以前のトランザクションの開始時点
にロールバックさせる処理が明確になる。尚、オブジェ
クトの状態を含めたロールバックを有効に実現させるた
めには、各トランザクションの開始時に関連するオブジ
ェクト群の状態を記録しておく必要があるが、これらの
記録を行うべきタイミングもロールセットの単位で明確
にできる。このようなロールバック機能を実現すること
によって、動作の再実行のための前準備も完全に実現さ
れる。また、エラー処理に関しては、失敗として前のト
ランザクション終了状態に戻すだけでなく、失敗をトリ
ガーに他の動作を起動させることも可能になる。例え
ば、ある動作中にエラーが起こった場合、その前のトラ
ンザクションの終了状態に戻し、そこから、デバッガを
起動させて、失敗が起こった同じ動作を起動させ失敗の
起こった箇所を探索することも可能になる。
【0032】これまでのオブジェクト指向システムで
は、ロールバックをどの時点まで戻すべきかや、動作中
にエラーが起きた場合に正しい状況にまで戻らせること
などは、容易におこなえるメカニズムを持っていない。
しかし、本発明によれば、ロール記述と、ロールの一斉
変更メカニズムによって、これらを実現し、オブジェク
ト群のトランザクション管理を行うことができるように
なる。
【0033】また、本発明によれば、複数のオブジェク
トの動きを状況の違いや振る舞いの制約を扱うロールに
よって捕え、ロールの推移関係をロールユニットとして
扱う際に、ロールユニットを抽象的なレベル(開始、動
作、終了)から詳細な状況分析(例えば実施例のbegin,
close display, change attribute, open display等)
まで階層的に実現することで、複数のオブジェクトの動
作をこのロールユニットの階層レベルに合わせてモニタ
できるようになる。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】動作イメージ説明図である。
【図3】メッセージの処理メカニズム説明図である。
【図4】グラフィック表示における表示例説明図であ
る。
【図5】グラフィック表示システムとしてのオブジェク
ト概念図である。
【図6】ロールを用いたグラフィック表示システムの概
念図である。
【図7】グラフィック表示システムの動作例説明図であ
る。
【図8】thirdノードの動作におけるロールの推移説明
図表である。
【図9】システムの構成図である。
【図10】各種記憶例説明図である。
【符号の説明】
1・・トランザクション管理部 1a・・オブジェクト/ロールセット対応管理テーブル 1b・・オブジェクト/ロール対応テーブル 1c・・ロール一斉変更条件記憶部 2・・オブジェクト記憶部 3・・オブジェクト実行部

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 オブジェクト指向システムにおけるトラ
    ンザクション管理方法において、 オブジェクトのそれぞれの状況において許容する振る舞
    いを記述するロールを導入し、複数のロールを推移順に
    配列してなるロールセットをオブジェクトに対応して設
    け、 ロールに次のロールに推移するための推移条件を含ま
    せ、 メッセージにより指定されたオブジェクトに対応するロ
    ールセットのロール順にロール記述に従ってオブジェク
    トを実行し、 複数のオブジェクトにおよぶトランザクションを、各オ
    ブジェクトに対応するロールセットに基づいて管理する
    ことを特徴とするトランザクション管理方法。
  2. 【請求項2】 トランザクションに関連している全オブ
    ジェクトのロールを一斉に所定のロールに変更するロー
    ル一斉変更条件を予め記憶しておき、 該条件が成立した時、前記全オブジェクトのロールを一
    斉に所定のロールに変更し、該一斉変更のタイミングを
    トランザクションの区切りとすることを特徴とする請求
    項1記載のトランザクション管理方法。
  3. 【請求項3】 トランザクションの実行途中にエラーが
    生じた場合、そのトランザクションを行う前の正常な状
    態にロールバックすることを特徴とする請求項2記載の
    トランザクション管理方法。
JP8012406A 1996-01-29 1996-01-29 トランザクション管理方法 Withdrawn JPH09204336A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8012406A JPH09204336A (ja) 1996-01-29 1996-01-29 トランザクション管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8012406A JPH09204336A (ja) 1996-01-29 1996-01-29 トランザクション管理方法

Publications (1)

Publication Number Publication Date
JPH09204336A true JPH09204336A (ja) 1997-08-05

Family

ID=11804390

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8012406A Withdrawn JPH09204336A (ja) 1996-01-29 1996-01-29 トランザクション管理方法

Country Status (1)

Country Link
JP (1) JPH09204336A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011070364A (ja) * 2009-09-25 2011-04-07 Nec Corp 運用管理サーバ、ロールバック実行方法およびロールバック実行プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011070364A (ja) * 2009-09-25 2011-04-07 Nec Corp 運用管理サーバ、ロールバック実行方法およびロールバック実行プログラム

Similar Documents

Publication Publication Date Title
Yan et al. Application of multiagent systems in project management
US5247651A (en) Interactive computer program specification and simulation system
CA2296391C (en) Visualisation in a modular software system
US20040205691A1 (en) Interactive agent for a topological multi-tier business application composer
JP4627491B2 (ja) クラスタコンピュータミドルウェアプログラム、クラスタコンピュータシミュレータプログラム、クラスタコンピュータ用アプリケーションプログラム、およびアプリケーションプログラム開発支援方法
JPH0644256A (ja) 資源のロットとの関連を効率的に調整するための装置および方法
US5434952A (en) System and method for specifying an expert system
JP2002094532A (ja) ピアトゥピア配信ネットワーク環境におけるリソーススケジュールの管理方法及び装置
JPH09204336A (ja) トランザクション管理方法
CN107483640A (zh) 一种缓存更新方法、服务器及业务系统
US20030041311A1 (en) Topological multi-tier business application composer
KR960014980B1 (ko) 랜(lan) 감시장치 및 통신절차 감시방법
US20050132332A1 (en) Multi-location coordinated test apparatus
Nigro et al. Verification of a Smart Power Control System Using Hybrid Actors
JP2005164338A (ja) 制御装置の検査装置、パターン信号作成装置及び検査プログラム生成装置
CN110268390A (zh) 相干互连系统中的读取交易跟踪器生命期
JP2002230062A (ja) 設計支援装置及び設計支援方法並びにシステム設計支援装置
JP2012088933A (ja) ソフトウェアプロダクトライン開発支援装置、その方法およびそのプログラム
JP2002049507A (ja) テスト管理装置
Sacha Embedded systems software specification and design methods
Al Ali et al. Extended coloured Petri nets with structured tokens formal method for distributed systems.
JP2928139B2 (ja) 試験プログラム走行装置
CN112988118A (zh) 一种支持实验流程的控制引擎架构及其构建方法
JPH09185528A (ja) ソフトウェア検査方法およびその装置
CN117415813A (zh) 机器人关节控制方法、装置、系统和计算机设备

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20030401