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