JPH0546398A - オブジエクト指向プログラミングにおけるオブジエクト管理装置 - Google Patents

オブジエクト指向プログラミングにおけるオブジエクト管理装置

Info

Publication number
JPH0546398A
JPH0546398A JP20080891A JP20080891A JPH0546398A JP H0546398 A JPH0546398 A JP H0546398A JP 20080891 A JP20080891 A JP 20080891A JP 20080891 A JP20080891 A JP 20080891A JP H0546398 A JPH0546398 A JP H0546398A
Authority
JP
Japan
Prior art keywords
dependent object
dependent
execution condition
execution
function
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
JP20080891A
Other languages
English (en)
Inventor
Miki Watanabe
美樹 渡辺
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP20080891A priority Critical patent/JPH0546398A/ja
Publication of JPH0546398A publication Critical patent/JPH0546398A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 (修正有) 【目的】依存オブジェクトの状態を統括的に管理して判
定することを可能にし、プログラムを簡単化させ、その
可読性、保守性を向上させる。 【構成】操作起動部1はオブジェクトに対する通常の操
作を起動する。依存関係検索部3は操作起動部1にてオ
ブジェクトに対する操作が実行されるに先立って、該オ
ブジェクトを被依存オブジェクトとする依存オブジェク
トを依存関係記憶部2から導き出す。実行条件検索部5
は依存オブジェクト、および被依存オブジェクトに適用
された操作を依存関係検索部3から通知され、この操作
に対応する実行条件を実行条件記憶部4から検索する。
実行条件評価部6は検索された実行条件を依存オブジェ
クトが満たしているか判定する。操作制御部7は実行条
件が満たされていれば、依存オブジェクトから被依存オ
ブジェクトへの操作の実行を操作起動部1に対して許可
する。これで依存オブジェクトから被依存オブジェクト
への操作が実行される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は被依存オブジェクトを該
被依存オブジェクトに依存する依存オブジェクトからの
操作に応答して起動するオブジェクト指向プログラミン
グにおけるオブジェクト管理装置に関する。
【0002】
【従来の技術】オブジェクト指向プログラミングにおい
ては、全体のオブジェクト(以下依存オブジェクトと称
す)と、この依存オブジェクトの要素である部分オブジ
ェクト(以下被依存オブジェクトと称す)とから構成さ
れ、依存オブジェクトは被依存オブジェクトに対する操
作を行い、これにより被依存オブジェクトが起動され
る。さらに、この被依存オブジェクトが依存オブジェク
トでもあって、該オブジェクトの要素である被依存オブ
ジェクトに依存している場合は、依存オブジェクトから
被依存オブジェクトへの操作が行われることとなる。こ
のような依存オブジェクトから被依存オブジェクトへの
操作が繰り返されることにより、一連の処理が実行され
ていく。
【0003】ところで、1つの依存オブジェクトのみが
1つの被依存オブジェクトに依存するとは限らず、複数
の依存オブジェクトが1つの被依存オブジェクトに依存
することがある。つまり、複数の依存オブジェクトが1
つの被依存オブジェクトを共有することがある。この場
合、被依存オブジェクトが1つの依存オブジェクトから
の操作によって起動されても、他の依存オブジェクトは
被依存オブジェクトの状態を知ることができない。この
とき、この他の依存オブジェクトは被依存オブジェクト
の状態を自己に反映することがなく、ここに矛盾を生じ
てしまうこととなる。
【0004】そこで、被依存オブジェクトから依存オブ
ジェクトへの方向、つまり通常とは逆方向の操作を行
い、これにより依存オブジェクトに矛盾を生じさせない
ようにしたデーモンと称される機能が提案されている
(1987年11月21日に日本ソフトウェア科学会第
4回全国大会で発表されている)。ここでは、例えば第
10図に示すように2つの各依存オブジェクトA,C
と、これらの依存オブジェクトが依存する被依存オブジ
ェクトBとがあって、依存オブジェクトCが被依存オブ
ジェクトBに対する操作mb を行うに際し、他方の依存
オブジェクトAがデーモン操作ma1を受けるようにして
いる。つまり、他方の依存オブジェクトAは自己以外の
オブジェクトからの操作mb によって被依存オブジェク
トが起動されるに際し、デーモン操作ma1を受ける。そ
して、この依存オブジェクトAはデーモン操作ma1に応
じた処理を行い、もって被依存オブジェクトBとの整合
を得る。さらに、このデーモンを利用することにより、
依存オブジェクトから被依存オブジェクトへの操作に先
立って、該依存オブジェクトの状態が被依存オブジェク
トへの操作を実行しうるものであるか否かを判定するこ
とができる。そして、依存オブジェクトの状態が被依存
オブジェクトへの操作を実行しうると判定されたときに
のみ、該依存オブジェクトから被依存オブジェクトへの
操作を許可する。すなわち、依存オブジェクトの状態が
被依存オブジェクトへの操作を実行しうるものであるか
否かに基づいて、被依存オブジェクトへの操作を制御す
ることができる。
【0005】しかしながら、このようなデーモンを利用
して依存オブジェクトの状態を判定する場合、そのプロ
グラミングにおいては依存オブジェクトの状態を判定す
るための記述(デーモンの処理)と、被依存オブジェク
トへの操作を起動するための記述(通常の処理)が混在
してしまうので、プログラムの可読性、保守性が低下す
るという不都合を生じていた。
【0006】
【発明が解決しようとする課題】このようにデーモンを
利用する場合、依存オブジェクトの状態が被依存オブジ
ェクトへの操作を実行しうるときにのみ、該依存オブジ
ェクトから被依存オブジェクトへの操作を許可するとい
う制御をなしうるものの、このための従来のプログラミ
ングにおいては依存オブジェクトの状態を判定するため
の記述(デーモンの処理)と、被依存オブジェクトへの
操作を起動するための記述(通常の処理)とを混在させ
ていたので、プログラムの可読性、保守性が低下すると
いう問題点があった。
【0007】そこで、本発明は依存オブジェクトの状態
を統括的に管理して判定することを可能にし、もってプ
ログラムを簡単化させ、プログラムの可読性、保守性を
向上させることができるオブジェクト指向プログラミン
グにおけるオブジェクト管理装置を提供することを目的
とする。
【0008】
【課題を解決するための手段】本発明では被依存オブジ
ェクトから依存オブジェクトを導き出すためのオブジェ
クト相互関係を第1の記憶手段に記憶するとともに、前
記依存オブジェクトから前記被依存オブジェクトへの操
作に対応して実行条件を第2の記憶手段に記憶してお
き、第1の検索手段は前記被依存オブジェクトへの操作
を行うに先立って、前記第1の記憶手段を検索すること
により前記依存オブジェクトを導き出し、第2の検索手
段は前記依存オブジェクトが導き出されると、前記第2
の記憶手段を検索することにより、前記被依存オブジェ
クトへの操作に対応する実行条件を求め、制御手段は前
記第2の検索手段によって導き出された前記実行条件が
満たされるか否かを判定し、該実行条件が満たされれ
ば、前記被依存オブジェクトへの操作の実行を許可する
ようにしている。
【0009】
【作用】本発明によれば、依存オブジェクトから被依存
オブジェクトへの操作を行うに先立って、第1の検索手
段は第1の記憶手段内のデータに基づいて例えば前記依
存オブジェクトを導き出し、第2の検索手段は第2の記
憶手段内のデータに基づいて前記依存オブジェクトから
前記被依存オブジェクトへの操作に対応する実行条件を
求め、制御手段は前記実行条件を判定し、この実行条件
が満たされれば、前記被依存オブジェクトへの操作の実
行を許可する。このように第1の記憶手段および第2の
記憶手段内のそれぞれのデータに基づいて例えば依存オ
ブジェクトから被依存オブジェクトへの操作に対応する
実行条件を求め、この実行条件が満たされるか否かを制
御手段で判定するようにすれば、被依存オブジェクトへ
の操作に係わるプログラムには実行条件の導出から判定
までの処理の記述を組み入れる必要がなく、よって該プ
ログラムを簡単化することができる。
【0010】
【実施例】以下、本発明の実施例を添付図面を参照して
詳細に説明する。
【0011】第1図は本発明に係わるオブジェクト管理
装置の一実施例を示すブロック図である。同図におい
て、操作起動部1はアプリケーションの処理で適用され
るオブジェクトに対する操作を実行するためのもので
る。
【0012】依存関係記憶部2は被依存オブジェクト
と、この被依存オブジェクトに依存する依存オブジェク
トとの相互間系を示すデータを記憶している。
【0013】依存関係検索部3は操作起動部1からオブ
ジェクトに対する操作が起動される旨を通知され、この
通知を受けると該オブジェクトを被依存オブジェクトと
する依存オブジェクトを依存関係記憶部2から導き出
す。
【0014】実行条件記憶部4は依存オブジェクトから
被依存オブジェクトへの操作に対応する実行条件を求め
るためのデータを記憶している。
【0015】実行条件検索部5は依存オブジェクト、お
よび被依存オブジェクトに適用される操作を依存関係検
索部3から通知され、この操作に対応する実行条件を実
行条件記憶部4から検索する。
【0016】実行条件評価部6は実行条件検索部5から
実行条件を通知され、この実行条件を依存オブジェクト
が満たしているか否かを判定する。
【0017】操作制御部7は実行条件が満たされている
か否かの判定結果を実行条件検索部5から通知され、実
行条件が満たされていれば、依存オブジェクトから被依
存オブジェクトへの操作の実行を操作起動部1に対して
許可する。これに応答して、依存オブジェクトから被依
存オブジェクトへの操作が実行されることとなる。
【0018】第2図は依存関係記憶部2内のデータであ
るポインタテーブル21を示している。ここで、例えば
第3図に示すように1つの被依存オブジェクトBが2つ
の各依存オブジェクトA,Cに直接に依存されるととも
に、この被依存オブジェクトBがオブジェクトDを通じ
て依存オブジェクトEに間接に依存されているとする
と、被依存オブジェクトBには1つのポインタテーブル
21が属し、このポインタテーブル21における3つの
各ポインタP1,P2,P3は各依存オブジェクトA,C,E
をそれぞれ指示している。したがって、このポインタテ
ーブル21を検索すれば、被依存オブジェクトBに依存
する各依存オブジェクトA,C,Eを導き出すことがで
きる。
【0019】なお、このポインタテーブルにおいては、
被依存オブジェクトに依存する依存オブジェクトが生じ
るとポインタを追加し、被依存オブジェクトに依存する
依存オブジェクトが消滅するとポインタを削除し、被依
存オブジェクトに依存する依存オブジェクトが変更され
るとポインタを変更する。したがって、被依存オブジェ
クトと依存オブジェクトとの相互間系は、被依存オブジ
ェクトに属するポインタテーブルにおけるポインタの追
加、削除および変更により、簡単に逐一定義することが
できる。
【0020】第4図は実行条件記憶部4内のデータであ
るデータテーブル41を示している。このデータテーブ
ル41において、各依存オブジェクトA,C,…毎に、
依存オブジェクトに対応して各関数並びに各操作が登録
されているとともに、各関数並びに各操作に対応してそ
れぞれの実行条件が登録されている。
【0021】ここで、依存オブジェクトに対応する関数
は、該依存オブジェクトが直接にまたは他のオブジェク
トを通じて間接に依存する被依存オブジェクトを導き出
すためのものである。依存オブジェクトが直接に依存し
ている被依存オブジェクトを導き出すための関数ri
は、次式(1)によって表される。
【0022】 ri (X)=X.vi =Y …(1) ただし、Xは依存オブジェクト。
【0023】Yは被依存オブジェクト。
【0024】vi は依存オブジェクトXの内部変数であ
って、被依存オブジェクトYに対応する内部変数。
【0025】例えば、依存オブジェクトAに対応する関
数rb は次の様に展開されて、被依存オブジェクトBが
導き出される。
【0026】rb (A)=A.vb =B また、依存オブジェクトが他のオブジェクトを通じて間
接に依存する被依存オブジェクトを導き出すための関数
ri は、次の各式(2),(3)によって表される。
【0027】 ri (X)=rki(X.vk ) …(2) rki(X.vk )=rki(Z)=Z.vi =Y …(3) ただし、Xは依存オブジェクト。
【0028】Yは被依存オブジェクト。
【0029】Zは他のオブジェクト。
【0030】rkiは他のオブジェクトZおよび被依存オ
ブジェクトYを導き出すための関数。
【0031】vk は依存オブジェクトXの内部変数であ
って、他のオブジェクトZに対応する内部変数。
【0032】vi は他のオブジェクトZの内部変数であ
って、被依存オブジェクトYに対応する内部変数。
【0033】この場合、まず上式(2)に従って、依存
オブジェクトXの内部変数vk に対応する他のオブジェ
クトZを導き出す。しかる後、上式(3)に従って、他
のオブジェクトZの内部変数vi に対応する被依存オブ
ジェクトYを導き出すこととなる。
【0034】例えば、依存オブジェクトEに対応する関
数rs は次の様に展開されて、この依存オブジェクトE
が他のオブジェクトDを通じて依存する被依存オブジェ
クトBが導き出される。
【0035】rs (E)=rfs(E.vf ) rfs(E.vf )=rfs(D)=D.vs =B また、データテーブル41における依存オブジェクトに
対応する関数に伴う操作は、該関数に基づいて導き出さ
れる被依存オブジェクトに対して行われる操作であっ
て、該依存オブジェクトから直接にまたは他のオブジェ
クトを通じて間接に被依存オブジェクトに対して行われ
る操作である。さらに、これらの関数並びに操作に対応
する実行条件は、被依存オブジェクトに対しての操作を
実行するに際し、該依存オブジェクトに課せられる条件
である。この実行条件を判定し、依存オブジェクトが条
件を満たすのであれば、その判定結果は「真」とされ
る。また、この実行条件を判定し、依存オブジェクトが
条件を満たさないのであれば、その判定結果は「偽」と
される。例えば、被依存オブジェクトへの操作を実行し
て得られる依存オブジェクトの状態を該依存オブジェク
トが肯定するのであれば、判定結果は「真」とされる。
また、被依存オブジェクトへの操作を実行して得られる
依存オブジェクトの状態を該依存オブジェクトが否定す
るのであれば、その判定結果は「偽」とされる。
【0036】ここで、データテーブル41における依存
オブジェクトAに対応する関数rbに伴う操作mb は、
関数rb に基づいて導き出される被依存オブジェクトB
に対して行われる操作であって、依存オブジェクトAか
ら直接に被依存オブジェクトBに対して行われる操作で
ある。さらに、これらの関数rb 並びに操作mb に対応
する実行条件ca1は、被依存オブジェクトBに対する操
作を実行するに際し、依存オブジェクトAに課せられる
条件である。そして、依存オブジェクトAが実行条件c
a1を満たすのであれば、この実行条件に対する判定結果
は「真」とされる。また、依存オブジェクトAが実行条
件ca1を満たさなければ、この実行条件に対する判定結
果は「偽」とされる。
【0037】また、データテーブル41における依存オ
ブジェクトCに対応する関数rd に伴う操作mb は、関
数rd に基づいて導き出される被依存オブジェクトBに
対して行われる操作であって、依存オブジェクトCから
直接に被依存オブジェクトBに対して行われる操作であ
る。さらに、これらの関数rd 並びに操作mb に対応す
る実行条件cc1は、被依存オブジェクトBに対する操作
を実行するに際し、依存オブジェクトCに課せられる条
件である。そして、依存オブジェクトCが実行条件cc1
を満たすのであれば、この実行条件に対する判定結果は
「真」とされ、また実行条件cc1を満たさなければ、こ
の実行条件に対する判定結果は「偽」とされる。
【0038】さらに、データテーブル41における依存
オブジェクトEに対応する関数rsに伴う操作mb は、
関数rs に基づいて導き出される被依存オブジェクトB
に対して行われる操作であって、依存オブジェクトEか
らオブジェクトDを通じて間接に被依存オブジェクトB
に対して行われる操作である。さらに、これらの関数r
s 並びに操作mb に対応する実行条件ce1は、被依存オ
ブジェクトBに対する操作を実行するに際し、依存オブ
ジェクトEに課せられる条件である。そして、依存オブ
ジェクトEが実行条件ce1を満たすのであれば、この実
行条件に対する判定結果は「真」とされ、また実行条件
ce1を満たさなければ、この実行条件に対する判定結果
は「偽」とされる。
【0039】さて、このような構成において、第1図に
示す装置による処理の概要を第5図に示すフローチャー
トに従って述べる。
【0040】まず、例えば操作起動部1によって依存オ
ブジェクトCから被依存オブジェクトBへの操作mb が
起動されるに際し、この旨が操作起動部1から依存関係
検索部3へ通知される。これに応答し、依存関係検索部
3は依存関係記憶部2を検索して、被依存オブジェクト
Bに依存する依存オブジェクトであって、未処理の依存
オブジェクトが有るか否かを判定する(ステップ10
1)。ここで、未処理の依存オブジェクトとして各依存
オブジェクトA,C,Eが有るとするならば(ステップ
101,YES )、依存関係検索部3は1つの依存オブジ
ェクトAを選択し(ステップ102)、被依存オブジェ
クトBへの操作mb および依存オブジェクトAを実行条
件検索部5に通知する。実行条件検索部5は被依存オブ
ジェクトBへの操作mb および依存オブジェクトAに基
づいて、依存オブジェクトAに対しての実行条件ca1を
実行条件記憶部4から検索し、依存オブジェクトAに対
しての実行条件ca1を実行条件評価部6に通知する。実
行条件評価部6は依存オブジェクトAが実行条件ca1を
満たすか否かを判定し、依存オブジェクトAについての
判定結果「真」または「偽」を内示しておく(ステップ
103)。この後、前記ステップ101に戻る。
【0041】引き続いて、未処理の依存オブジェクトC
が依存関係記憶部2内に有ると判定され(ステップ10
1,YES )、この依存オブジェクトCが選択される(ス
テップ102)。そして、被依存オブジェクトBへの操
作mbおよび依存オブジェクトCに基づいて、依存オブ
ジェクトCに対しての実行条件cc1が実行条件記憶部4
から検索され、依存オブジェクトCが実行条件cc1を満
たすか否かが判定されて、依存オブジェクトCについて
の判定結果「真」または「偽」が求められる(ステップ
103)。この後、前記ステップ101に再び戻る。
【0042】同様に、未処理の依存オブジェクトEが依
存関係記憶部2内に有ると判定されると(ステップ10
1,YES )、この依存オブジェクトEが選択され(ステ
ップ102)、被依存オブジェクトBへの操作mb およ
び依存オブジェクトEに基づいて実行条件ce1が実行条
件記憶部4から検索され、依存オブジェクトEについて
の判定結果「真」または「偽」が求められ(ステップ1
03)、前記ステップ101に再び戻る。
【0043】さらに、未処理の依存オブジェクトが無い
と判定されると(ステップ101,NO)、実行条件評価
部6は前記ステップ103で求められた各依存オブジェ
クトA,C,Eについての判定結果が全て「真」であっ
たか否かを判定する(ステップ104)。ここで、各依
存オブジェクトA,C,Eについての判定結果が全て
「真」であれば(ステップ104,YES )、実行条件評
価部6はその旨を操作制御部7に通知する。これに応答
して、操作制御部7は操作mb の起動を許可する旨を操
作起動部1に通知し、これにより操作起動部1は依存オ
ブジェクトCから被依存オブジェクトBへの操作mb を
起動する(ステップ105)。
【0044】また、各依存オブジェクトA,C,Eにつ
いての判定結果のうちの少なくとも1つが「偽」であれ
ば(ステップ104,NO)、実行条件評価部6はその旨
を操作制御部7に通知する。この場合、操作制御部7は
操作mbの起動を許可せず、操作起動部1は依存オブジ
ェクトCから被依存オブジェクトBへの操作mb を起動
しないまま、終了となる。
【0045】すなわち、被依存オブジェクトから依存オ
ブジェクトへの操作を起動するに先立って、被依存オブ
ジェクトに依存する各依存オブジェクトに対する実行条
件が満たされるか否かが判定され、該各依存オブジェク
トについての判定結果が全て「真」であれば、このとき
にのみ依存オブジェクトへの操作が起動されることとな
る。
【0046】次に、第5図に示すフローチャートにおけ
るステップ103の処理を第6図に示すフローチャート
に従って更に詳しく述べる。
【0047】まず、実行条件検索部5は被依存オブジェ
クトBへの操作mb および依存オブジェクトAに基づい
て、依存オブジェクトAに対しての条件を検索するに際
し、実行条件記憶部4内のデータテーブル41における
依存オブジェクトAに対応する関数並びに操作であっ
て、未処理の関数並びに操作が有るか否かを判定する
(ステップ201)。ここで、未処理の関数としてrb
,rc ,…が、未処理の操作としてmb ,mc ,…が
有るとするならば(ステップ201,YES )、1組の関
数rb 並びに操作mb を選択する(ステップ202)。
そして、この関数を先に述べたように展開し、その結果
が被依存オブジェクトBであり、かつ関数rbに伴う操
作mb が被依存オブジェクトBへの操作mb に一致する
ならば(ステップ203,YES )、これらの関数rb 並
びに操作mb に対応する実行条件ca1をデータテーブル
41から読出す。この実行条件ca1は実行条件検索部5
から実行条件評価部6へ通知され、ここで依存オブジェ
クトAが実行条件ca1を満たすか否かを判定し(ステッ
プ204)、この後に前記ステップ201に戻る。
【0048】なお、関数を展開した結果が被依存オブジ
ェクトBであり、かつ関数rb に伴う操作が操作mb で
なければ(ステップ203,NO)、前記ステップ204
をジャンプして前記ステップ201に戻る。
【0049】以降同様に、未処理の関数並びに操作があ
れば(ステップ201,YES )、1組の関数並びに操作
を選択し(ステップ202)、この関数を展開した結果
が被依存オブジェクトBであり、かつ関数に伴う操作が
被依存オブジェクトBへの操作mb に一致するならば
(ステップ203,YES)、これらの関数並びに操作に
対応する実行条件を読出して判定する(ステップ20
4)。また、関数を展開した結果が被依存オブジェクト
Bであり、かつ関数に伴う操作が被依存オブジェクトB
への操作mb に一致しなければ(ステップ203,N
O)、ステップ201に戻る。そして、依存オブジェク
トAに対応する未処理の関数並びに操作がなくなれば
(ステップ201,NO)、依存オブジェクトAについて
の処理を終了することとなる。
【0050】さらに、各依存オブジェクトC,Eについ
ての処理も同様に行われるのであって、データテーブル
41における依存オブジェクトに対応する1組の関数並
びに操作を順次選択し、この関数を展開した結果が被依
存オブジェクトBであり、かつ関数に伴う操作が被依存
オブジェクトBへの操作mb に一致するならば、これら
の関数並びに操作に対応する実行条件を読出して判定す
る。
【0051】このように本実施例では被依存オブジェク
トと依存オブジェクトの相互間系をポインタテーブル2
1に記憶するとともに、依存オブジェクトに対応して関
数並びに操作、実行条件をデータテーブル41に記憶し
ておき、被依存オブジェクトに対しての操作を実行する
に先立って、被依存オブジェクトに依存する依存オブジ
ェクトをポインタテーブル21から求めて、この依存オ
ブジェクトに対応する関数並びに操作をデータテーブル
41から求め、この関数によって導き出されるオブジェ
クトが被依存オブジェクトに一致し、かつ該関数に伴う
操作が被依存オブジェクトに対する操作に一致すれば、
これらの関数並びに操作に対応する実行条件をデータテ
ーブル41から求め、この実行条件を依存オブジェクト
が満たすか否かを判定するようにしている。
【0052】すなわち、依存オブジェクトに対する実行
条件は一括して管理されており、被依存オブジェクトに
対しての操作を実行するに先立って、その実行条件を判
定するようにしている。このため、依存オブジェクトに
対する実行条件の導出から判定までの処理の記述を被依
存オブジェクトへの操作に係わるプログラムに組み入れ
る必要がなく、このプログラムを簡単化することがで
き、よってプログラムの可読性、保守性を向上させるこ
とができる。
【0053】ところで、上記実施例におけるポインタテ
ーブル21およびデータテーブル41の代りに、第7図
に示すようなデータ、および第8図に示すようなデータ
を利用しても構わない。
【0054】第7図に示すデータは第9図に示す被依存
オブジェクトBと各依存オブジェクトA,Cとの相互関
係を示すものであり、被依存オブジェクトBに対応して
各依存オブジェクトA,Cが登録され、さらに依存オブ
ジェクトAに対応して該依存オブジェクト内で被依存オ
ブジェクトBを指示する識別子(b) が登録されるととも
に、依存オブジェクトCに対応して該依存オブジェクト
内で被依存オブジェクトBを指示する識別子(a) が登録
されている。
【0055】なお、依存オブジェクト内の識別子は該依
存オブジェクトに含まれる1つの内部変数を指示するも
のであり、この内部変数の値が1つの被依存オブジェク
トの状態に対応しているので、この識別子によって被依
存オブジェクトが指示されていると言って差支えない。
【0056】一方、第8図に示すデータは、依存オブジ
ェクトAに対応して該依存オブジェクトが依存する各被
依存オブジェクトを指示する識別子(b) ,(c) ,…並び
に該各被依存オブジェクトへのそれぞれの操作mb ,m
c ,…が登録されるとともに、これらの識別子並びに操
作に対応してそれぞれの実行条件ca1,ca2,…が登録
されている。同様に、依存オブジェクトCに対応して該
依存オブジェクトが依存する各被依存オブジェクトを指
示する識別子(a) ,(c) ,…並びに該各被依存オブジェ
クトへのそれぞれの操作mb ,mc ,…が登録されると
ともに、これらの識別子並びに操作に対応してそれぞれ
の実行条件cc1,cc2,…が登録されている。
【0057】このような第7図および第8図に示される
それぞれのデータを利用する場合、被依存オブジェクト
Bが操作mb により起動されるに際し、まず第7図に示
すデータを参照して、被依存オブジェクトBに対応する
各依存オブジェクトA,Cを求め、これらの依存オブジ
ェクトA,Cに対応するそれぞれの識別子(b) ,(a)を
求める。引き続いて、第8図に示すデータを参照し、各
依存オブジェクトA,Cに対応するそれぞれの識別子
(b) ,(a) に伴うそれぞれの操作mb が被依存オブジェ
クトBに対しての操作mb に一致することを確認し、依
存オブジェクトAの識別子(b) に対応する実行条件ca1
を求めるとともに、依存オブジェクトCの識別子(a) に
対応する実行条件cc1を求める。
【0058】ただし、これらのデータを利用する場合
は、被依存オブジェクトに直接に依存する依存オブジェ
クトに対しての実行条件を導き出すことしかできず、被
依存オブジェクトに他のオブジェクトを通じて間接に依
存する依存オブジェクトに対しての実行条件を導き出す
ことは望めない。
【0059】なお、上記実施例では依存オブジェクトか
ら被依存オブジェクトへの操作を制御するようにしてい
るが、これに限定されるものでなく、全く別のオブジェ
クトから被依存オブジェクトへの操作をも同様に制御す
ることができる。
【0060】
【発明の効果】以上説明したように本発明に係わるオブ
ジェクト管理装置によれば、第1の記憶手段および第2
の記憶手段内のそれぞれのデータに基づいて依存オブジ
ェクトに対する実行条件を一括して管理しており、被依
存オブジェクトに対しての操作を実行するに先立って、
その実行条件を判定するようにしているので、被依存オ
ブジェクトに対しての操作に係わるプログラムには実行
条件の導出から判定までの処理の記述を組み入れる必要
がなく、このためプログラムを簡単化し、もってプログ
ラムの可読性、保守性を向上させることが可能となる。
【図面の簡単な説明】
【図1】 第1図は本発明に係わるオブジェクト管理装
置の一実施例を示すブロック図。
【図2】 第1図に示した実施例における依存関係記憶
部内のポインタテーブルを示す図。
【図3】 被依存オブジェクトと依存オブジェクトを例
示する図。
【図4】 第1図に示した実施例における実行条件記憶
部内のデータテーブルを示す図。
【図5】 第1図に示した実施例における処理の概要を
示すフローチャート。
【図6】 第5図に示したフローチャートにおけるステ
ップ103の処理を示すフローチャート。
【図7】 第2図に示したポインタテーブルの代りとな
るデータを示す図。
【図8】 第4図に示したデータテーブルの代りとなる
データを示す図。
【図9】 被依存オブジェクトと依存オブジェクトを例
示する図。
【図10】被依存オブジェクトと依存オブジェクトを例
示する図。
【符号の説明】
1…操作起動部、2…依存関係記憶部、3…依存関係検
索部、4…実行条件記憶部、5…実行条件検索部、6…
実行条件評価部、7…操作制御部。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】被依存オブジェクトを該被依存オブジェク
    トに依存する依存オブジェクトからの操作に応答して起
    動するオブジェクト指向プログラミングにおいて、 前記被依存オブジェクトから前記依存オブジェクトを導
    き出すためのオブジェクト相互関係を記憶する第1の記
    憶手段と、 前記依存オブジェクトから前記被依存オブジェクトへの
    操作に対応して実行条件を記憶する第2の記憶手段と、 前記被依存オブジェクトへの操作を実行するに先立っ
    て、前記第1の記憶手段を検索することにより、前記依
    存オブジェクトを導き出す第1の検索手段と、 前記第1の検索手段によって前記依存オブジェクトが導
    き出されると、前記第2の記憶手段を検索することによ
    り、前記被依存オブジェクトへの操作に対応する実行条
    件を求める第2の検索手段と、 前記第2の検索手段によって導き出された前記実行条件
    が満たされるか否かを判定し、該実行条件が満たされれ
    ば、前記被依存オブジェクトへの操作の実行を許可する
    制御手段とを備えたことを特徴とするオブジェクト指向
    プログラミングにおけるオブジェクト管理装置。
JP20080891A 1991-08-09 1991-08-09 オブジエクト指向プログラミングにおけるオブジエクト管理装置 Pending JPH0546398A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20080891A JPH0546398A (ja) 1991-08-09 1991-08-09 オブジエクト指向プログラミングにおけるオブジエクト管理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20080891A JPH0546398A (ja) 1991-08-09 1991-08-09 オブジエクト指向プログラミングにおけるオブジエクト管理装置

Publications (1)

Publication Number Publication Date
JPH0546398A true JPH0546398A (ja) 1993-02-26

Family

ID=16430542

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20080891A Pending JPH0546398A (ja) 1991-08-09 1991-08-09 オブジエクト指向プログラミングにおけるオブジエクト管理装置

Country Status (1)

Country Link
JP (1) JPH0546398A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6751508B2 (en) 2000-07-07 2004-06-15 Denso Corporation Control information output apparatus and information system
US6957207B2 (en) 2000-09-20 2005-10-18 Denso Corporation User information inferring system
JP2007088551A (ja) * 2005-09-20 2007-04-05 Kenwood Corp オーディオ装置、録音装置、オーディオシステム、及び音声信号出力方法
US9301045B2 (en) 2007-01-05 2016-03-29 Apple Inc. Audio I O headset plug and plug detection circuitry

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6751508B2 (en) 2000-07-07 2004-06-15 Denso Corporation Control information output apparatus and information system
US6957207B2 (en) 2000-09-20 2005-10-18 Denso Corporation User information inferring system
JP2007088551A (ja) * 2005-09-20 2007-04-05 Kenwood Corp オーディオ装置、録音装置、オーディオシステム、及び音声信号出力方法
JP4497544B2 (ja) * 2005-09-20 2010-07-07 株式会社ケンウッド オーディオ装置、録音装置、オーディオシステム、及び音声信号出力方法
US9301045B2 (en) 2007-01-05 2016-03-29 Apple Inc. Audio I O headset plug and plug detection circuitry
US10659874B2 (en) 2007-01-05 2020-05-19 Apple Inc. Audio I O headset plug and plug detection circuitry

Similar Documents

Publication Publication Date Title
US7127470B2 (en) Documents control apparatus that can share document attributes
JP4117265B2 (ja) ファイルシステムのバージョンを管理する方法およびシステム
JPH07105064A (ja) ファイル名検出方式
US8521768B2 (en) Data storage and management system
JPH086831A (ja) ファイルの属性をトラッキングするための方法およびシステム
JPH06337807A (ja) データベースにおける制約の実行の自動化のためのシステム及び方法
US7269589B2 (en) Database managing method and system having data backup function and associated programs
CN112948099B (zh) 任务发布流程方法、装置、计算机设备和存储介质
JPH0546398A (ja) オブジエクト指向プログラミングにおけるオブジエクト管理装置
CN115757172A (zh) 测试执行方法、装置、存储介质及计算机设备
JPH06215037A (ja) インデックスの自動更新装置
CN114969061A (zh) 一种工业时序数据分布式存储方法、装置
CN114416689A (zh) 数据迁移方法、装置、计算机设备、存储介质
JP2624170B2 (ja) 論理削除データ物理削除方式
JPH0546397A (ja) オブジエクト指向プログラミングにおけるオブジエクト管理装置
CN117494173B (zh) 一种控制策略的管理方法、系统、设备及介质
US20220188339A1 (en) Network environment synchronization apparatus and method
CN115470249A (zh) 数据路由方法及装置
JPH0456344B2 (ja)
JP3170795B2 (ja) ファイルのグループ処理装置
JPH03282966A (ja) ハッシュエントリ領域管理方法
JP2616686B2 (ja) 業務処理中データベース再編成方式
JPH113345A (ja) 重複処理制御方式
JPS62211748A (ja) デ−タベ−ス管理システムにおける格納記憶域管理方式
US20200233646A1 (en) Method for assisting a utilizer in creating a software application and computer program having an implementation of the method and also programming interface usable for such method