JPH04170642A - クラスの共有管理方式 - Google Patents

クラスの共有管理方式

Info

Publication number
JPH04170642A
JPH04170642A JP29721490A JP29721490A JPH04170642A JP H04170642 A JPH04170642 A JP H04170642A JP 29721490 A JP29721490 A JP 29721490A JP 29721490 A JP29721490 A JP 29721490A JP H04170642 A JPH04170642 A JP H04170642A
Authority
JP
Japan
Prior art keywords
class
shared
classes
access right
definition
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
JP29721490A
Other languages
English (en)
Inventor
Yoshihiro Masuda
佳弘 増田
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 JP29721490A priority Critical patent/JPH04170642A/ja
Publication of JPH04170642A publication Critical patent/JPH04170642A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、Sma I l ta 1k−80,Cam
mon  Li5p等のオブジェクト指向言語、または
オブジェクト指向データベースシステムにおいて、複数
のユーザ間でクラスを共有するためのクラス共有管理方
式に関する。
[従来の技術] オブジェクト指向言語、またはオブジェクト指向データ
ベースで扱われるデータは、すべて「クラス」と呼ばれ
るデータ構造を規定する単位がら生成される。
すなわち、オブジェクト指向言語では、計算は「オブジ
ェクト」と呼ばれる能動的な物体と、そのオブジェクト
間の通信(メツセージ)によって行われる。
オブジェクト指向言語においては、整数などのデータも
全て能動的な計算を行う物体と考え、例えば「整数A」
というオブジェクトに「整数Bを加算せよ」というメツ
セージを送ることにより、「整数A」というオブジェク
ト内で加算が実行され、その結果の値「Z」がメツセー
ジの送り元へ送り返される。
上記の「〜を加算せよ」というメツセージを解釈できる
のは、ある特定の性質を持ったオブジェクトのみであり
、この特定の性質を持ったオブジェクトの集まりを「ク
ラス」と呼ぶ。
共通の性質を持ったオブジェクト同士は一つのクラスと
して定義される。
クラスに属するオブジェクトは、そのクラスのインスタ
ンスと呼ばれ、それらは全て同形式のメツセージを受は
付け、そのメツセージで示された計算を行う。
メツセージを受信したときに、どのような計算を行うか
を規定した部分を「メソッド」と呼び、このメソッドは
各クラスごとに記述され、そのクラスのインスタンスの
ふるまいを規定する。
一般に、この「クラス」は階層構造を成しており、下位
のクラス(サブクラス)は上位のクラス(スーパクラス
)のデータ構造を包含する。
このことにより、下位のクラスでは、上位のクラスの持
つスロント、すなわち概念や属性の記述をアクセスする
ことが可能となる。
なお、この機能を、一般に「継承Jと呼んでいる。
一方、従来、Sma 11 ta Ik−80等のオブ
ジェクト指向言語においては、上記クラスの管理はすべ
てユーザ個人に任されていたために、ユーザはシステム
全体に影響を及ぼすようなりラスにさえも、自由に変更
を加えることが可能であった。
[発明が解決しようとする課題コ 上記従来の技術によると、上位クラスの定義が下位クラ
スの定義に影響を与えるようになっているため、「クラ
ス」をオブジェクト指向データベースのように、複数の
ユーザで共有するものにおいては、ユーザが個人的に定
義したクラスを、共有するクラスの上位クラスとして定
義することばできない。
共有しているクラスの定義に対して、あるユーザが勝手
に変更を加えると、システムを共有している他のユーザ
が共通の定義で共有することができないために、システ
ム全体に影響を及ぼし、該システムを円滑に運用するこ
とができないという問題があった。
本発明の目的は、上記従来技術の問題点を解消し、クラ
スをアクセス権によって区別することで、複数のユーザ
でクラスを共有しても、互いに影響を及ぼすことなくク
ラスの管理ができるようにしたオブジェクト指向言語、
またはオブジェクト指向データベースシステムにおける
クラス共有管理方式を提供することにある。
[課題を解決するための手段] 上記目的を達成するために、本発明は、通信ネットワー
ク(第1図の1)を介して接続された複数のユーザシス
テム(第1図の2)と、上記複数のユーザシステムによ
り共通にアクセスされるデータベースシステム(第1図
の3)とからなるクラスの共有管理方式において、前記
ユーザシステムに、ユーザのクラスへのアクセス権情報
をクラス定義中に保持させる手段(第1図のクラス格納
領域251)と、上記アクセス権情報にしたがって、共
存しているクラス定義を取り出し、上記通信ネットワー
クを介して上記データベースシステムに対して、クラス
定義を含むデータを複数ユーザ間で共通にアクセスする
ための手段(第1図のクラス管理装置24)とを備え、 前記データベースシステムに、ユーザのクラスへのアク
セス権情報をクラス定義中に保持させる手段(第1図の
共有クラスデータ領域321)と、前記アクセス権情報
にしたがって、共有しているクラス定義を取り出す手段
(第1図の共有クラス管理装置31)とを備えたこと、 を特徴とする。
[作用コ 本発明は、上記の構成としたことにより、あるアクセス
権情報をクラス定義にもたせ、当該アクセス権から′°
各クラスはそのクラスのアクセス権より共通度の強いア
クセス権をもつクラスを上位クラスとしない”という規
則のもとで、登録、参照される。
ユーザは、自己のユーザシステム2のクラス管理装置2
4に対してキーボード22およびマウス23を用いて共
有クラス登録の要求を行なう。
すると、クラス管理装置24は、通信ネットワーク1を
介してファイルサーバ3の共通りラス管理装置31に対
してユーザシステム2からの共有クラス登録の要求と登
録クラスのデータを転送する。
ファイルサーバ3の共有クラス管理装置31は、この要
求を認識し、クラスデータのアクセス権が正しいもので
ある場合は、このクラスをユーザシステム2のクラス管
理装置24に送る。
そして、送られてきたクラスは記憶装置25のクラス格
納領域251に格納される。
クラスを登録する場合は、クラスを定義して登録するた
めに、defclass構文を用いる。
そのクラス定義からクラスが生成される。
上記クラス定義から共有クラスを認識し、ユーザシステ
ム2のクラス管理装置24により、ネットワークlを介
して共有クラスを管理しているファイルサーバ3に当該
クラスが送られる。
ファイルサーバ3の共有クラス管理装置31では、送ら
れてきたクラスのスーパクラスのアクセス権が共有クラ
スであれば、共有クラスとしてファイルサーバの補助記
憶装置32の共有クラスデータ領域321にそのクラス
定義を書き込む。
そして、このクラス定義が登録されたことをユーザシス
テム側に知らせる。
また、ユーザシステムでは、通常のクラス定義と同様に
クラスが生成される。
クラスを参照する場合は、インスタンスの生成や、メソ
ッドの実行中にクラスの参照が行なわれ、ユーザシステ
ム2の記憶装置25のクラス格納領域251の中にクラ
ス定義が存在しない場合は、クラス管理装置24により
ネットワーク1を介してファイルサーバ3側の共有クラ
ス管理装置31に対してクラスの検索要求が送信される
共有クラス管理装置31は、この検索要求を解釈し、要
求クラスの定義をデータベース上で検索する。
その結果、対象とするクラスが発見できた場合には、そ
のクラスの定義をユーザシステム2側に送信する。
ユーザシステム2側では、送信された定義にしたがって
クラスを生成する。
これにより、たくさんのクラスで構成されるクラス階層
からアクセス権によって抽出し、その結果得られたクラ
スだけを集めてクラス階層として利用することができる
ので、プログラム開発効率を向上できる。
また、クラスが共用されるため、クラス定義を保存して
おくための記憶装置の領域を節約することができる。
[実施例] 以下、本発明の実施例につき、図面を参照して詳細に説
明する。
第1図は本発明によるクラス共有管理方式を適用するシ
ステムのブロック図であって、1はRAN等の通信ネッ
トワーク、2はユーザ側システム(以下、ユーザシステ
ムという)、3はファイルサーバ側システム(以下、フ
ァイルサーバという)である。
そして、ユーザシステム2は、表示装置21、キーボー
ド22、マウス等の指示装置23、クラス管理装置24
、記憶装置25からなり、また記憶装置25はクラス格
納領域251をもっている。
ファイルサーバ3は、共有クラス管理装置31、補助記
憶装置33からなり、補助記憶装置32は共有クラスデ
ータ領域321をもっている。
図示したように、本システム全体としては、共有クラス
に関するデータを記憶・管理するファイルサーバ3と、
ユーザ個人単位での開発環境であるユーザシステム2に
分かれている。
これらファイルサーバ3とユーザシステム2とは、通信
ネットワーク1で相互に結合されている。
なお、同図には、ユーザシステム2を一つのみ示してい
るが、実際のシステムでは、共通のファイルサーバ3に
対して複数のユーザシステム2が接続されている。
以下、第1図に示したシステムの動作を、共有クラスの
登録とその取り出し、クラスの登録とその参照の順で説
明する。
(1)共有クラスの登録 ユーザは、自己のユーザシステム2のクラス管理装置2
4に対してキーボード22およびマウス23を用いて共
有クラス登録の要求を行なう。
すると、クラス管理装置24は、通信ネットワーク1を
介してファイルサーバ3の共通りラス管理装置31に対
してユーザシステム2からの共有クラス登録の要求と登
録クラスのデータを転送する。
ファイルサーバ3の共有クラス管理装置31は、この要
求を認識し、クラスデータのアクセス権が正しいもので
ある場合は、このクラスをユーザシステム2のクラス管
理装置24に送る。
そして、送られてきたクラスは記憶装置25のクラス格
納領域251に格納される。
なお、上記において、“クラスデータのアクセス権が正
しい゛とは、「各クラスはそのクラスのアクセス権より
共有度の強いアクセス権を持つクラスを上位クラスとし
ない」ということを意味する。
第2図は第1図のクラス格納領域251に格納されるク
ラスのデータ構造の説明図であって、”name″l″
5uper″、direct−super″、” di
rect−slots″。
s l o t s ” 、”access″の各スロ
ットから構成される。
これらクラスを構成するデータ構造の一部に、アクセス
権情報(access指定子)を格納しておくための領
域を設けておく。
同図に示した例では、下線を引いたスロット“アクセス
”201がアクセス権を格納しておくための領域であり
、アクセス権に応じて、次のような値がセットされるよ
うになっている。
: private  個人だけで用いるクラス: p
ublic   誰でも使うことができるクラスなお、
以下の例では、Common  Li5pをベースに拡
張しである。
(2)クラスの登録 クラスを定義し、これを登録するために、第3図に示し
た構文のdefclassを用いる。
なお、defclassは、Common  Li5p
の標準機能であり、同図では下線を引いた部分 (: access access−1evel)30
1とaccess−1evel::l= :priva
te  1:publicが、本発明の実施のために拡
張した部分である。
また、同図において、1は「または」、(・・・・)”
は「0回以上の繰り返し」、[・・・・コは「省略可能
」を意味する。
例えば、以下のようなりラス定義を行なったとする。
(defclass foo (std−class)
  (a b c)  (:acsess」男1す±σ
) すると、このクラス定義から、fooという名前のクラ
スは、個人だけで使用されるクラスであると認識され、
従来のクラスと同様にクラスが生成される。
なお、この:privateはデフォルトとして使用さ
れるので、次のように省略しても、同じ意味となる。
(defclass foo (std−class)
  (a b c)一方、次のようなりラス定義を行な
ったとする。
(defclass baz (std−class)
 (c d e) (:acsess:public)
) すると、このクラス定義から、bazというクラスは共
有クラスであると認識され、ユーザシステム2のクラス
管理装置24に相当するプログラムにより、ネットワー
ク1を介して共有クラスを管理しているファイルサーバ
3に当該クラスが送られる。
ファイルサーバ3の共有クラス管理装置31に相当する
プログラムでは、送られてきたクラスのスーパクラスの
アクセス権が:publicであるかどうかを調べ、:
Publicであれば共有クラスとして補助記憶装置3
2の共有クラスデータ領域321にそのクラス定義を書
き込む。
そして、このクラス定義が登録されたことをユーザシス
テム側に知らせる。
また、ユーザシステムでは、通常のクラス定義と同様に
クラスが生成される。
一方、登録するクラスのスーパクラスが、:publi
cでない場合は、ファイルサーバ3の共有クラスデータ
領域321に登録できないことがユーザシステム2に報
告され、クラス定義がアボートされる。
第4図は上記のクラス登録の処理内容を説明するフロー
チャートで、(a)はユーザシステム側での処理、(b
)はファイルサーバ側での処理を示す。
まず、(a)において、第1図のクラス管理装置24は
、クラス定義中の:access指定子が:publi
cかどうかを判断しく5−1)、YESならば、ファイ
ルサーバ3に対して共有クラスデータベースへのクラス
の登録の依願を送信する(S−2)。
ユーザシステムのクラス管理装置24は、この登録依願
の結果をファイルサーバ3から受は取る(S−3)。
上記結果が、共有クラスデータベースに登録できたもの
である場合は、クラス定義を行い、クラスを生成する(
S−5)。
なお、(S−1)において、NOの場合すなわちクラス
定義中の:access指定子が:Publicでない
場合は、そのまま(S−5)に行き、クラス定義を行い
、クラスを生成する。
一方、同図(b)において、ファイルサーバ3側では、
ユーザシステム2からの共有クラスの登録要求を受は取
り(S−10)、要求されたクラスのスーパークラスが
既に共有クラスとして登録されているか否かを判断する
(S−11)。
登録要求のあったクラスが共有クラスとして登録されて
いる場合には、当該登録要求のあったクラスを共有クラ
スとして登録しくS−12)、登録されたことをユーザ
システム2側に通知する(S−13)。
また、(S−11)で登録要求のあったクラスが共有ク
ラスとして登録されていない場合には、それを共有クラ
スデータ領域321に登録することができないため、登
録できなかったことをユーザシステム2側に通知する(
S−14)。
(3)クラスの参照 インスタンスの生成や、メソッドの実行中にクラスの参
照が行なわれると、ユーザシステム2の記憶装置25の
クラス格納領域251の中にクラス定義が存在しない場
合は、クラス管理装置24によりネットワーク1を介し
てファイルサーバ3側の共有クラス管理装置31に対し
てクラスの検索要求が送信される。
共有クラス管理装置31は、この検索要求を解釈し、要
求クラスの定義をデータベース上で検索する。
その結果、対象とするクラスが発見できた場合には、そ
のクラスの定義をユーザシステム2側に送信する。
ユーザシステム2側では、送信された定義にしたがって
クラスを生成する。
一方、共有クラス管理装置31が、検索の結果、対象ク
ラスを発見できなかった場合、その旨をユーザシステム
2側に報告し、クラスの参照がエラーとなる。
第5図はクラスの参照処理を説明するフローチャートで
あって、(a)はユーザシステム側での処理を、(b)
はサーバ3側での処理を示す。
同図(a)において、ユーザシステム2の記憶装置25
内に存在しないクラスがアクセスされると(S−20)
:ファイルサーバ3に対して当該クラスが共有クラスと
して存在しないか否かを問い合わせ(S−21)、この
問い合わせに対する返事をファイルサーバ3から受は取
る(S−22)。
該当する共有クラスが発見された場合には(S−23L
発見された共有クラスのクラス定義を行い、クラスを生
成する(S−24)。
該当する共有クラスが発見されなかった場合には、その
旨ユーザシステム2側に通知し、当該クラスの参照がエ
ラーとなる。
同図(b)において、ファイルサーバ3側では、ユーザ
システム2側からクラス検索要求を受は取り(S−30
)、検索を要求されたクラスがすでに共有クラスとして
登録されているか否かを判断する(S−31)。
当該クラスがすでに登録されている場合には、そのクラ
スのクラス定義をユーザシステム2側に返信する(S−
32)。
ステップ(S−31)において、検索を要求されたクラ
スが共有クラスとして登録されていないと判断された場
合には、当該クラスが存在しなかったことをユーザシス
テム側に通知する(S−33)。
このようにして、クラスの参照に関する処理が行われる
以上、共有クラスの登録とその取り出し、クラスの登録
とその参照動作について説明した。
本発明は、上記したアクセス権を、クラスカテゴリのよ
うな単位で設定することにより、ユーザにとって関係が
ありそうだと考えられるクラスを抽出し、抽出したクラ
スだけでクラス階層を構築できるように拡張可能である
〔発明の効果〕
以上説明したように、本発明によれば、あるアクセス権
情報をクラス定義にもたせ、当該アクセス権から”各ク
ラスはそのクラスのアクセス権より共通層の強いアクセ
ス権をもつクラスを上位クラスとしない」という規則の
もとで、登録、参照される。
これにより、たくさんのクラスで構成されるクラス階層
からアクセス権によって抽出し、その結果得られたクラ
スだけを集めてクラス階層として利用することができる
ので、プログラム開発効率を向上できる。
また、クラスが共用されるため、クラス定義を保存して
おくための記憶装置の領域を節約することができる。
【図面の簡単な説明】
第1図は本発明によるクラス共有管理方式を適用するシ
ステムのブロック図、第2図は第1図のクラス格納領域
に格納されるクラスのデータ構造の説明図、第3図はd
efclassの構文説明図、第4図はクラス登録の処
理内容を説明するフローチャート、第5図はクラスの参
照処理を説明するフローチャートである。 1・・・・通信ネットワーク、2・・・・ユーザ側シス
テム、3はファイルサーバ側システム、21・・・・表
示装置、22・・・・キーボード、23・・・・マウス
等の指示装置、24・・・・クラス管理装置、25・・
・・記憶装置、251・・・・クラス格納領域251.
31・・・・共有クラス管理装置、32・・・・補助記
憶装置、321・・・・共有クラスデータ領域。

Claims (1)

  1. 【特許請求の範囲】 通信ネットワークを介して接続された複数のユーザシス
    テムと、上記複数のユーザシステムにより共通にアクセ
    スされるデータベースシステムとからなるクラスの共有
    管理方式において、 前記ユーザシステムに、ユーザのクラスへのアクセス権
    情報をクラス定義中に保持させる手段と、上記アクセス
    権情報にしたがって、共有しているクラス定義を取り出
    し、上記通信ネットワークを介して上記データベースシ
    ステムに対して、クラス定義を含むデータを複数ユーザ
    間で共通にアクセスするための手段とを備え、 前記データベースシステムに、ユーザのクラスへのアク
    セス権情報をクラス定義中に保持させる手段と、前記ア
    クセス権情報にしたがって、共有しているクラス定義を
    取り出す手段とを備えたこを特徴とするオブジェクト指
    向プログラミング環境におけるクラス共有管理方式。
JP29721490A 1990-11-05 1990-11-05 クラスの共有管理方式 Pending JPH04170642A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29721490A JPH04170642A (ja) 1990-11-05 1990-11-05 クラスの共有管理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29721490A JPH04170642A (ja) 1990-11-05 1990-11-05 クラスの共有管理方式

Publications (1)

Publication Number Publication Date
JPH04170642A true JPH04170642A (ja) 1992-06-18

Family

ID=17843655

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29721490A Pending JPH04170642A (ja) 1990-11-05 1990-11-05 クラスの共有管理方式

Country Status (1)

Country Link
JP (1) JPH04170642A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6308182B1 (en) 1997-05-20 2001-10-23 Fujitsu Limited Information processing apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6308182B1 (en) 1997-05-20 2001-10-23 Fujitsu Limited Information processing apparatus

Similar Documents

Publication Publication Date Title
US6772172B2 (en) Method, system, program, and computer readable medium for indexing object oriented objects in an object oriented database
US7599948B2 (en) Object relational mapping layer
US5995946A (en) System and method for establishing and managing links among customer accounts maintained within a telecommunications system
US7593951B2 (en) Application programming interface for centralized storage of principal data
KR100293795B1 (ko) 분산형데이터베이스시스템및데이터엔티티액세스방법
CN100484039C (zh) 网络管理装置与网络管理方法
Bearman et al. Federating Traders: An ODP Adventure.
WO1998030962A2 (en) Method for content-based dynamic formatting for interoperation of computing and edi systems
JPH05181814A (ja) オブジェクト指向コンピューティング・システム
US7613741B2 (en) Utilizing rules in a distributed information sharing system
CN110532068A (zh) 一种分布式事务的管理方法
Terry Distributed name servers: Naming and caching in large distributed computing environments
US6598093B1 (en) Method and apparatus for a core application programming interface
US20040025142A1 (en) Method and apparatus for managing objects in a CIM environment
Indulska et al. A Type Management System for an ODP Trader.
US7752225B2 (en) Replication and mapping mechanism for recreating memory durations
US20040034619A1 (en) Preventing change cycling using rules and redo tags in a redo log
US7970867B2 (en) Hypermedia management system
CN110119396A (zh) 数据管理方法及相关产品
CN106570056A (zh) 一种数据库实现方法及数据库
US7797626B2 (en) Managing different representations of information
Wang et al. Facilitating connectivity in composite information systems
US20040030707A1 (en) Partial evaluation of rule sets
JPH04170642A (ja) クラスの共有管理方式
CN111680069B (zh) 数据库访问方法及装置