JPH02165239A - 大規模知識ベースにおけるデータアクセス方式 - Google Patents

大規模知識ベースにおけるデータアクセス方式

Info

Publication number
JPH02165239A
JPH02165239A JP63319518A JP31951888A JPH02165239A JP H02165239 A JPH02165239 A JP H02165239A JP 63319518 A JP63319518 A JP 63319518A JP 31951888 A JP31951888 A JP 31951888A JP H02165239 A JPH02165239 A JP H02165239A
Authority
JP
Japan
Prior art keywords
program
procedure
user
conversion
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.)
Granted
Application number
JP63319518A
Other languages
English (en)
Other versions
JP2718427B2 (ja
Inventor
Fumio Suzuki
文雄 鈴木
Hiroshi Ishikawa
博 石川
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 JP63319518A priority Critical patent/JP2718427B2/ja
Publication of JPH02165239A publication Critical patent/JPH02165239A/ja
Application granted granted Critical
Publication of JP2718427B2 publication Critical patent/JP2718427B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概   要〕 各種オブジェクト指向データベースシステムにおける大
規模データベースの効率的なデータアクセス方式に関し
、 大規模データベースに対してユーザが記述したプログラ
ムを、効率の良い手続に変換することを目的とし、 プログラム生成手段と手続き解析手段と手続き生成手段
とからなりユーザプログラムを変換し、変換プログラム
を得るための変換手段と、前記変換プログラムをオブジ
ェクトモジュールに翻訳するためのコンパイラ手段と、
生成された前記オブジェクトモジュールと実行ライブラ
リを結合しロードモジュールを生成するリンカ手段を有
するように構成する。
〔産業上の利用分野〕
本発明は、各種オブジェクト指向データベースシステム
における大規模データベースの効率的なデータアクセス
方式に関する。
(従来の技術) 従来のオブジェクト指向システムでは、集合全体に対す
る処理を行う場合に集合要素に対する処理を記述したプ
ログラムを集合の要素のひとつひとつに適用する。また
、この集合全体に対する処理プログラムは、要素に対す
るプログラムと別のプログラムとして、改めて作成する
必要がある。
〔発明が解決しようとする課題〕
しかし、このような従来の方法では、集合に対する処理
の際に要素のひとつひとつに対して関数を呼び出すこと
によるオーバーヘッドが生じて効率が著しく悪い。さら
に、集合用のプログラムと要素用のプログラムを別個に
用意しておく必要が有り、ソフトウェアの生産性を悪く
するという問題点があった。
このような問題点は、集合に対する処理と各要素に対す
る処理プログラムが統一されておらず、かつ集合に対す
る処理においては、要素用のプログラムを繰り返し呼び
出すことにある。
本発明は、大規模データヘースに対してユーザが記述し
たプログラムを、効率の良い手続に変換することを目的
とする。
[課題を解決するための手段] 本発明の機能ブロック図を第1図に示す。
変換手段2はプログラム生成手段と手続き解析手段と手
続き生成手段からなり、ユーザプログラムlから、大規
模データベースに対して効率の良い変換プログラム3を
生成する。
コンパイラ4は、生成された変換プログラム3を翻訳し
、オブジェクトモジュール5を生成する。
リンカ7は、オブジェクトモジュール5の中で外部参照
されるランクイムルーチンを実行ライブラリ6から検索
し、これらを結合して実行可能プログラムであるロード
モジュール8を生成する。
〔作   用〕
第1図において、変換手段2はユーザプログラムlを読
み込み、変換プログラム3を自動生成する。その際、ユ
ーザの記述したプログラムではデータヘースへアクセス
する処理の記述は要素と集合全体に対して統一されてい
る。
変換手段2は、この統一された記述文から要素と集合全
体のそれぞれに対して最も効率のよい形式の別関数を定
義する。
ユーザプログラム1のプログラム文のうち、このように
して定義された関数を参照している文は、その参照時の
処理対象が集合であるか否かによってそれぞれ前述した
別関数として変換され、効率のよい変換プログラム3が
生成される。
上記のようにして、ユーザはプログラミングの際に要素
用と集合用の差を意識する必要がないので、プログラム
作成、運用、保守に必要な労力が削減され、さらに、生
成された変換プログラムは集合全体に対する処理を高速
に実行することができる。
[実  施  例] 以下図面を参照しながら本発明の詳細な説明する。
第2図は、第1図の変換部2の一実施例における構成図
である。本実施例はユーザのプログラムから、要素と集
合のそれぞれに対して効率よく大規模知識データベース
にアクセスするための関数を自動生成し、さらにこれに
よってユーザがプログラミングを行う際の負担を少なく
することが中きることを示す。
まず、ユーザプログラム1のなかで記述されている集合
の要素と集合全体の両者を処理の対象とする手続きの定
義から、プログラム生成部1(10)とプログラム生成
部2(11)によって集合の要素用関数12と集合全体
用の集合用関数13が生成される。このユーザプログラ
ムlにおける手続きは、要素のひとつひとつをアクセス
する場合と、集合全体をアクセスする場合との区別のな
い記述であり、プログラマはアクセス対象の属性による
処理の差を意識してプログラミングする必要がない。
次に、ユーザプログラムlの中のこのような手続きを参
照する部分に関して、手続き解析部14と手続き生成部
15によりコンパイラによって翻訳可能な実行文への変
換が行われ、変換プログラム3が得られる。
第3図は、ユーザ記述言語Jasmine/C言語によ
ってユーザが定義したプログラムlから、関数を自動生
成する具体例を示したものである。この実施例では、文
字型ポインタ変換* nameで示される個人の名前と
5hort型の整数変数ageで示される年令を表示す
る手続き(void型関数) nameage()がユ
ーザプログラム1の中で定義されている。この手続き型
関数は引数を持たない記述形式であり、処理の対象は集
合の要素と集合全体の両方であり、プログラマは対象と
なるオブジェクトの違いによる関数の記述を意識しなく
てもよい。
このユーザによる関数定義から、要素用関数msing
lel()12と集合用関数m5et、1 () 13
が生成される。それぞれの手続き型関数は対象とするオ
ブジェクトに対して、最も処理効率のよい形式になるよ
うに生成され、第3図の一実施例ではループを関数の内
部に含むか否かで、最適化を図っている。その結果、ユ
ーザが要素と集合のそれぞれに対する処理の違いを意識
せずにプログラミングでき、ソフトウェアの生産性を向
上させ、さらに生成される関数の効率の良さから処理の
高速化が達成される。
第4図では集合用関数m5etl () 13の生成手
順を示した。まず関数の型定義が31で生成され、続い
て関数名が82で生成される。関数名は集合に対する処
理を表す文字列“m5et″°で始まり、その直後にひ
とつひとつの関数に固有の番号を連結したものである。
関数の最初のパラメータはデータベースファイルを指す
ための変数“5elves”°となる。さらに残りのパ
ラメータがユーザによって指定されている場合にはS3
において追加される。
本実施例においてはユーザプログラム1の関数name
age ()の定義から、ほかに引数はないので、処理
は次の84のパラメータ定義(引数宣言)の生成に移り
、変数“5elves”は変数型“’IDS ’″によ
って宣言される。ここでTDS型はユーザの定義した型
で、データベースファイルを示すことに用いられる。S
3と同様に他に関数のパラメータがある場合には、パラ
メータ定義の生成が引き続いて行われる。S6では、こ
の関数内部で用いられる局所変換のうち、“’5elf
’”と“5can”の定義の生成をする。ユーザ定義型
IDは、データベースファイルに含まれる個人を指すオ
ブジェクトアドレスを示す型であり、5CANはカレン
トリストヘのポインタ型である。残りの局所変数の定義
生成はS7で行う。集合全体に対するこの関数m5et
では、処理対象データベースファイルに対する。pen
/close処理と、集合全体を処理するためのループ
を関数内部に含み、S8ではデータベースファイルの0
pen文とループ文の生成を、sioでclose文を
それぞれ生成する。その両者に挟まれるS9で、関数の
本体である実行文の変換を行う。第3図の実施例では、
個人の名前*nameと、年令ageをprintf文
で出力するためのprintf文と、そのための個人情
報の代入文name=self、name  age=
self、ageがこの関数の本体に相当する。
以上述べた第4図の手順に従って生成された集合用関数
は、集合全体を処理するためのループを内部に含むため
、要素用関数を繰り返し呼び出すことによるオーバーヘ
ッドがないため高速な処理を実現できる。さらに、この
例は集合全体をアクセスする処理の一実施例であり、他
の集合に対しても容易に通用可能である。
第5図は、手続き解析部14と手続き生成部15の処理
手順であり、前述したプログラム生成部1およびプログ
ラム生成部2によって生成された関数定義を参照する。
ユーザプログラム1の変換を行うための手順を示したも
のである。ユーザプログラムlの中に記述されるプログ
ラム文の中で、第3図の手続き型関数を呼び出す手続き
文(例えば、$people、nameage ())
は、翻訳可能な形式となるように変換される。311で
ユーザプログラム1から読み込まれたプログラム文は、
S12において解析され、オブジェクト($peopl
e)手続き属性名(nameage())及びパラメー
タ(なし)に分解される。次に、S13ではS12で得
られたクラス情報と手続き属性をもとに、プログラム管
理テーブルを検索する。314では前述した要素用関数
定義12または集合用関数定義13を参照しているかど
うかを判定し、参照する場合にはさらに集合用か否かの
判定(S15)を行い、前述した生成プログラムの参照
形式へと変換される(S16と317)。最後に、31
8でコンパイラによって、翻訳可能な実行文が生成され
る。
第6図は、ユーザプログラムlにおいて生成された要素
用と集合用の関数の参照例と、その変換結果の一実施例
を示すものである。ユーザプログラムlの実行文のうち
、 $person、nameage ();と $people、nameage  ();の、2つの
文がそれぞれ、生成された要素用手続き型関数msin
glel (ρerson)と集合用手続き型関数m5
etl (people)に変換される。
本実施例において示した変換プログラム文は、処理手順
の説明のための例であり、呼び出される関数の処理の本
体は簡単なものである。しかし、本発明によれば、関数
の処理本体に依存することなく要素用、集合用プログラ
ムの生成と呼び出し形式の生成を自動的に行うことが可
能であり、その適用範囲は、大規模データベース全般に
わたる。
〔発明の効果〕
本発明によれば、データベースに対してアクセスする処
理を、ユーザは要素用、集合用の区別を意識することな
くプログラムを記述できる。これにより、ユーザのプロ
グラムの作成、保守、運用に要していた時間及びコスト
を激減でき、ソフトウェアの生産性を向上できる。さら
に自動生成される変換プログラムは、要素用と集合用に
区別して、それぞれの処理対象に関して効率の良い形式
を自動生成する。従って、従来のオブジェクト指向シス
テムで問題になっていた、大量なデータをアクセスする
際の動的リンクによる処理速度の低下という事態を招く
ことなく、オブジェクト指向システム特有の柔軟なシス
テム構築が可能である。
【図面の簡単な説明】
第1図は本発明の機能ブロック図、 第2図は本発明の一実施例における変換部の構成図、 第3図はプログラム生成の一実施例図、第4図は集合用
関数生成の手順を示すフローチャート、 第5図は手続き解析部と手続き生成部の手順を示すフロ
ーチャート、 第6図はプログラム利用と変換の例を示す図である。 ・ユーザプログラム、 ・変換部、 ・変換プログラム、 ・コンパイラ、 ・オブジェクトモジュール、 ・実行ライブラリ、 ・リンカ、 ・ロードモジュール。

Claims (1)

  1. 【特許請求の範囲】 1)プログラム生成手段と手続き解析手段と手続き生成
    手段とからなりユーザプログラム(1)を変換し、変換
    プログラム(3)を得るための変換手段(2)と、 前記変換プログラム(3)をオブジェクトモジュール(
    5)に翻訳するためのコンパイラ手段(4)と、 生成された前記オブジェクトモジュール(5)と実行ラ
    イブラリ(6)を結合しロードモジュール(8)を生成
    するリンカ手段(7)を有することを特徴とするデータ
    ベースアクセス方式。 2)前記プログラム生成手段は、集合の要素用の関数定
    義と集合全体用の関数定義をそれぞれ別関数として生成
    し、 前記手続き解析手段は、ユーザプログラム中の手続き文
    を解析して、その手続き文のオブジェクトと手続き属性
    名とパラメータを分離抽出し、前記手続き生成手段は、
    前記手続き解析手段によって得られた情報を用いて、前
    記ユーザプログラムから前記変換プログラムを生成する
    ことを特徴とする請求項1記載のデータベースアクセス
    方式。 3)前記プログラム生成手段は、前記ユーザプログラム
    から関数定義を自動生成するプログラム生成部(1)お
    よびプログラム生成部(2)から構成され、前記プログ
    ラム生成部(1)は前記ユーザプログラムから集合の要
    素を処理するための要素用関数定義を自動生成し、 前記プログラム生成部(2)は前記ユーザプログラムか
    ら集合全体を処理するための集合用関数定義を自動生成
    することを特徴とする請求項2記載のデータベースアク
    セス方式。 4)前記手続き解析手段は、前記ユーザプログラムのプ
    ログラム文から、オブジェクトと手続き属性名とパラメ
    ータを分離抽出し、前記手続き生成手段は、前記手続き
    解析部によって抽出された手続き属性名をもとに、前記
    プログラム生成手段によって生成された関数定義を参照
    するプログラム文を検出し、さらに集合用か否かを判定
    し、その結果によって前記変換プログラムの実行文を生
    成することを特徴とする請求項2記載のデータベースア
    クセス方式。
JP63319518A 1988-12-20 1988-12-20 大規模知識ベースにおけるデータアクセス方式 Expired - Lifetime JP2718427B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63319518A JP2718427B2 (ja) 1988-12-20 1988-12-20 大規模知識ベースにおけるデータアクセス方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63319518A JP2718427B2 (ja) 1988-12-20 1988-12-20 大規模知識ベースにおけるデータアクセス方式

Publications (2)

Publication Number Publication Date
JPH02165239A true JPH02165239A (ja) 1990-06-26
JP2718427B2 JP2718427B2 (ja) 1998-02-25

Family

ID=18111122

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63319518A Expired - Lifetime JP2718427B2 (ja) 1988-12-20 1988-12-20 大規模知識ベースにおけるデータアクセス方式

Country Status (1)

Country Link
JP (1) JP2718427B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6260020B1 (en) * 1998-11-02 2001-07-10 International Business Machines Corporation Method, system and program product for sizing a computer system migration programming effort
US6557008B1 (en) 1999-12-07 2003-04-29 International Business Machines Corporation Method for managing a heterogeneous IT computer complex
JP2014529832A (ja) * 2011-09-07 2014-11-13 マイクロソフト コーポレーション 変換コンテンツ・アウェア・データー・ソース管理

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6260020B1 (en) * 1998-11-02 2001-07-10 International Business Machines Corporation Method, system and program product for sizing a computer system migration programming effort
US6557008B1 (en) 1999-12-07 2003-04-29 International Business Machines Corporation Method for managing a heterogeneous IT computer complex
JP2014529832A (ja) * 2011-09-07 2014-11-13 マイクロソフト コーポレーション 変換コンテンツ・アウェア・データー・ソース管理
JP2017215999A (ja) * 2011-09-07 2017-12-07 マイクロソフト テクノロジー ライセンシング,エルエルシー 変換コンテンツ・アウェア・データー・ソース管理

Also Published As

Publication number Publication date
JP2718427B2 (ja) 1998-02-25

Similar Documents

Publication Publication Date Title
JPS63181033A (ja) プログラム自動生成方式
JPH0383153A (ja) メツセージ処理システム及び方法
JPH02165239A (ja) 大規模知識ベースにおけるデータアクセス方式
JPH07182179A (ja) オブジェクト指向データベース管理装置
JP2000194548A (ja) ソフトウェアの稼働環境生成装置および方法、記録媒体
JP2942414B2 (ja) 仮想データベース方式
JPH06231181A (ja) 分散データベース制御方式
JPH11272524A (ja) データ変換装置および記憶媒体
JPS63156229A (ja) デ−タ・ベ−ス検索装置
JP3670305B2 (ja) データベース検索文作成装置
JP3305782B2 (ja) ソフトウェア標準化方法およびソフトウェア生産物の解析方法
JPH0468436A (ja) 自動コンパイルアンドリンク装置
JPH03242727A (ja) 計算機システムの新旧交換時における移行システム
JPH05204699A (ja) デバッグ時識別子探索方式
JPH05289919A (ja) データベースアクセスプログラム生成方式
JPH0340033A (ja) 呼び出し元のコード系認識処理方式
JPS6386031A (ja) プログラム生成装置
JP2004302840A (ja) データベースアクセス方法
JPS6232557A (ja) 通信プロトコ−ル変換装置
JPH04248624A (ja) プログラム変換処理装置
JPH0567049A (ja) 外部コマンド処理装置
JPH04273328A (ja) クロスリファレンスリスト生成方式
JPH02178845A (ja) データベース操作言語のプリコンパイル方式
JPH0342727A (ja) プリコンパイラによる名前生成方式
JPH04275624A (ja) モジュール分割されたプログラム管理装置