JPH05502527A - オペレーティングシステム及びデータベース - Google Patents

オペレーティングシステム及びデータベース

Info

Publication number
JPH05502527A
JPH05502527A JP2513420A JP51342090A JPH05502527A JP H05502527 A JPH05502527 A JP H05502527A JP 2513420 A JP2513420 A JP 2513420A JP 51342090 A JP51342090 A JP 51342090A JP H05502527 A JPH05502527 A JP H05502527A
Authority
JP
Japan
Prior art keywords
rule
access
data
rules
name
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
JP2513420A
Other languages
English (en)
Other versions
JP3478820B2 (ja
Inventor
クヌードセン ヘルガ
チョン ダニエル ティー
ヤッフェ ジョン
トーガー ジェイムズ イー
ロバートソン マイケル
プラザク ズビグニュー
Original Assignee
アムダール コーポレイション
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 アムダール コーポレイション filed Critical アムダール コーポレイション
Publication of JPH05502527A publication Critical patent/JPH05502527A/ja
Application granted granted Critical
Publication of JP3478820B2 publication Critical patent/JP3478820B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9017Indexing; Data structures therefor; Storage structures using directory or table look-up
    • G06F16/902Indexing; Data structures therefor; Storage structures using directory or table look-up using more than one table in sequence, i.e. systems with three or more layers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Programmable Controllers (AREA)
  • Selective Calling Equipment (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Information Transfer Between Computers (AREA)
  • Remote Monitoring And Control Of Power-Distribution Networks (AREA)
  • Numerical Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 発明の名称 オペレーティングシステム及びデータベース著作権許可 本特許文書の開示部分は著作権保護を必要とする資料を含む。著作権の所有者は 、本特許文書が特許商標子の特許ファイルまたは記録に出現する場合には本特許 文書または本特許開示を誰がファクシミリ再生しても異存はないが、それ以外の どのようなものに対しても全ての著作権を留保する。
発明の詳細な説明 発皿曵背景 本発明はデータアクセス及びプログラム開発環境のための高水準コンピュータイ ンタフェースに関する。具体的には、本発明はデータアクセス方法に基づくデー タヘースを有するコンピュータオペレーティングシステムである。
従来■技術 ソフトウェアエンジニアによる応用プログラムの開発は複雑なタスクである。
この複雑さは、部分的には、種々のデータの型、ハードウェアの型、オペレーテ ィングシステムの型、プログラムの監査技術、及び他の細部のような環境パラメ タによってもたらされる。普通はコード内にパラメタの明示認識を要求すること によって、これらの環境パラメタの全てを処理するコンピュータプログラミング 言語が開発されている。従って典型的な応用プログラマは、考慮中の応用を達成 するための基本アルゴリズムに加えて、データの定義、入力データの編集及び妥 当性検査、プログラムに使用可能なデータの選択及びIIIJ(序付け、そのプ ログラムに関するシステムのルーピング制約条件、出力の編集及び妥当性検査規 定、誤りの処理、プログラムの監査その他の複雑なタスクを遂行しなければなら ない。
これらの環境パラメタは、高水準言語で書かれたプログラムの走行をも複雑にす る。これらのプログラムは実行に先立ってコンパイルまたはロードしなければな らず、コンパイルまたはロード時間中にその応用に関連する全ての物理資源、デ ータ、及び規則を互いに結び付けなくてはならない。
コンパイル時またIよロード時における所与の応用に必要な資源のこの結び付け は、真に事象駆動プログラムまたはデータ駆動プログラムを実現することを困難 にする。
若干のプログラミング言語を解釈的にする、つまり、プログラムが走っている間 にそれらが若干の資源をプログラムに結び付けることができるようにする試みが なされてきた。しかし、これらの解釈プログラムは極めて制限された性能を有し ており、産業に広く受け入れられるものは得られていない。
従って環境パラメタによってもたられる複雑さから応用プログラムを解放するオ ペレーティングシステム、データベース、及びデータアクセス方法に対する要望 が存在しているのである。
発呵Φ概要 本発明はオペレーティングシステム、データベース、及びアクセス方法を提供す るものであり、この方法はデータの定義、入力の編集及び妥当性検査、選択及び 順序付け、ルーピング、出力の編集及び妥当性検査、誤りの処理、及びデータア クセス方法内への監査をブンンユし、それによってプログラムに明示9を要求す るこれらの環境パラメタから応用プログラムを解放する。
本システムは、簡単な命令集合に基づいて動作して命令のプログラムを実行する 仮想スタックマシンからなる。更に、独特なアクセス構造を有するデータベース は、そのデータベース内に記憶されている目的の実行時間中に、実行中のプログ ラムと結び付けるのに必要な全ての辞書情報を記憶する。最後に、本アクセス構 造に対して最適化されたデータアクセス方法は、実行中のプログラムが使用する 辞書、サブルーチン、及びデータに対する全てのアクセス機能を遂行する。シス テムは現プログラムの実行中にアクセス方法を通して検索された目的の実行時間 中に結び付けを遂行する。更に、システムは+715のような他のデータアクセ ス構造、及び他の周辺サブシステムに基づく表示画面、記憶サブシステムのため のサーバを含む。これらのサーバも実行時間中に所与のプログラムに動的に結び 付けられる。
本アクセス構造は複数のテーブルからなり、各テーブルは複数の行を有し、各行 は複数のフィールドを存する。アクセス構造内の各行はその行のフィールドの1 つの中の独特な一次キーによって、及びテーブル識別子によって識別される。
アクセス構造を通して検索可能な目的は、フィールドとしてテーブル内に記憶さ れる。アクセス構造内のテーブルは更にサブテーブルに細分することができ、各 サブテーブルはテーブルパラメタによって識別される。テーブルは、テーブル名 と、そのテーブルに割当てられた何れかのテーブルパラメタとによって識別され る。
本アクセス方法は、アクセス構造内に記憶されているテーブル内への索引を維持 する。これらの索引は先ずテーブル名に対して順序付けられ、次いで所与のテー ブルに関連付けられた1または複数のパラメタに対してIIP付けられる。最後 にこれらの索引はテーブル内の各行の一次キーに対して順序付けられる。
アクセス構造内に記憶されているテーブルの部分集合は辞書データまたはメタデ ータからなり、このデータはデータベース内に記憶されている目的と、現在実行 中のプログラムとを結び付けるために使用される。辞書データは事象規則を含み 、これらの事象規則はデータアクセス事象と、データベース内の目的へのアクセ スを制御可能ならしめる選択基準と、アクセス事象中にアクセス構造内の目的の 順序付けを可能にする順序付はアルゴリズムと、複数の周辺装置サーバとに応答 して実行される。
アクセス方法内にサーバを実現することによって単一のインタフェースを通して (処理されるデータ処理システムに使用可能な)目的の共通ビューを拡大するこ とができる。従ってプログラマは、IMs 、 DB2または他のデータベース 管理システムのような他のシステム内に記憶されているアクセス方法の固有記憶 装置内の目的を、単一のアクセス構造に従って視ることができる。
更に、本発明によるオペレーティングシステムは同形プログラミング表現に基づ いて動作する。高水準言語は、仮想スタックマシン上で直接実行されるプログラ ムの内部表現に1対1で相関する。従って所与のプログラムモジュールの1つの コピーだけがデータベース内りこ記憶される。このアスペクトによればプログラ ム開発機能を遂行する応用プログラマは翻訳プログラム/逆翻訳プログラムを使 用する。プログラミングが遂行される場合内部表現は高水準原始へ翻訳される。
得られたプログラムを記憶する場合原始は元の内部表現に翻訳される。これによ りプログラムはシステムからシステムへの大きい易動度を取得し、多くの利用者 が作動できるプログラムの一貫したビューの維持に伴う諸問題が排除される。
本発明の他のアスペクト及び長所は添付図面、以下の詳細な説明、及び請求の範 囲の検討から明白になるであろう。
凹皿9固単バ説朋 図1は、本発明を実現するデータ処理システムの概要ブロック線図。
図2は、本発明による仮想データ処理マシンのブロック線図。
図3は、本発明によるトランザクションプロセッサの概念図。
図4は、規則呼出しに関するトランザクションプロセッサの動作を説明する概要 図。
図5は、規則名ハンシング法を示す図。
図6は、テーブル名ハンシング法を示す概要図。
図7は、本発明による複数のサーバ及びバッファを有するテーブルアクセスマシ ンの概念図。
図8は、テーブルアクセスマシン内の記憶装置の概念図。
図9は、テーブル型と、所与のテーブル型に関して作動するテーブルオペランド とを示すテーブル。
図10は、CTABLEの概念図。
図11は、原始テーブル及びサブビニ−テーブルの概念図。
図12は、意図リストの動作を示す図。
図13は、本発明の仮想マシンのトランザクションの概念図。
、 図14は、テーブルデータ記憶装置アクセス方法の概要図。
ワ15は、テーブルデータ記憶装置内のデータの頁のレイアウトを示す図。
図16は、本発明による規則エディタ成分の概要図。
図17は、規則エディタが使用するトークン及び長い列を示す図。
図18.19.20A〜20C1及び21A〜21Eは、本発明による逆翻訳プ ログラムの動作を示す図。
謀桓バ説朋 ■、 システムの概要 図1は、本発明によるデータ処理システムの基本的な実施例を示す。このシステ ムは本体コンピュータ10上の仮想マシンとして実現される。本体コンピュータ はホストオペレーティングシステム(好ましいシステムではMVS )を走らせ る。
ホストオペレーティングシステムの下で、IMS 11のようなデータベースア クセスシステムが走ることができる。同時に、本発明によるデータ処理システム ()IOs12として知られている)はMVSの下で走る。本体にはモデル32 70のような複数の利用者端末13.14が結合されている。またUNIXのよ うな他のオペレーティングシステムで走るワークステーション15も本体10に 結合することができる。
IMS 11のような本体データサーバには集合データを記憶する直接アクセス 記憶装置16及び17が接続されている。また直接アクセス記憶装置18及び1 9がHOSシステム12に接続されている。
図2は、HOSデータ処理システムの概念的なブロック線図である。このシステ ムはトランザクションプロセッサ20と、テーブルアクセスマシン21と、i接 アクセス記憶装置23に結合されているテーブルデータ記憶装置サーバ22とを 含む。テーブルアクセスマシン21は、利用者端末25に結合されている画面サ ーバ24、及びデータファイルの他の原始27及び28に結合されているインボ ート/エクスホトサーバ26をも駆動する。
更にテーブルアクセスマシン21は、直接アクセス記憶装置30に結合されてい るIMSサーバ29のような異種データベースシステムサーバに対するインタフ ェースをも提供する。
トランザクンヨンブロセノサ20は、規則の目的コード水準表現を実行する仮想 スタックマシンとして実現されている。これらの規則は各トランザクション毎に 関連付けられた規則ライブラリ3I内に記憶されている。規則ライブラリは典型 的には、プログラマに画面メニュー及び基本ユーティリティを提供するセツショ ン管理者39を含む。ユーティリティは、規則エディタ32と、テーブルエディ タ走査検索装置33と、RPW及び印字ユーティリティ34と、(もし必要なら ば)間合わせプロセッサ35と、所与のトランザクションに関して呼出される応 用プログラム36.37.38とを含む。
直接アクセス記憶装置23.30.27.28内に記憶されている物理データは 、あたかもそれがテーブルデータ記憶装置システム内にだfflされているかの ようにテーブルアクセスマシン21を通してトランザクションプロセッサ20に 提示される。
サーバ22.24.26.29と、テーブルアクセスマシン21と、トランザク ションプロセッサ20は全てホストオペレーティングシステム上の仮想マシンと して実現されている。従って好ましいシステムでは、これらの仮想マシンはシス テム370アセンブラ言語を用いて実現されており、以下に詳述する機能を遂行 する。
+1.規則言語 規則言語は、システムのためのプログラミングインタフェースである。この言語 は、データヘースアクセスコマンド、第4世代構築、及び構造化プログラミング を応用開発の自然結果と見做す普通の言語文の統合集合からなる。
これらの規則は以下のような4つの部分を有する。
1、規則定義 2 条件 3、動作 4、例外ハンドラ 規見にヒゴuμ形状 表1に1つの引き数名年(YEAR)を有する閏年(LEAPYEAR)と名付 けられたサンプル規則を示す。閏年はそれが実行の結果としである値、 °Y゛ または°N゛の何れかに「戻る」ので1つの関数である。
LEAPYEAII (YEAR) 。
RETuRN (“N’): 11 この規則の定義は規則の見出しLEAPYEAII (YEAR) : を含み 、またもし存在すれば、ローカル変数定義を含むことになろう。条件は実行順序 を決定する。この規則には1つの条件即ち比較R2M酊NDEI?(YEAR, 4)= O;″だけが存在している。動作は規則内の実行可能文であり、何等か の特定呼出しに対してそれらの若干だけが実行されよう。第1の動作“RETU RN(’Y’) ;”はもし条件が満たされれば実行さ瓢箪2の動作“RETU RN(’N’) ;”はもし条件が満たされなければ実行される。
表2はより複雑な規則を示す、2つのGET文は、パラメタ間によって参照され た月がテーブルMONTH5内に出現すること、及びパラメタ[10によって参 照された日がその月の最大より小さいかまたは等しいことを検査する。GET文 の失敗は例外[;ETFAILをもたらし、例外ハンドラはあるメツセージを発 生して値°N°を戻す。
VALID−DATE(YY、 MM、 DD);l1ETURN(’Y’);  l 22ON GETFAIL: CALL MSGLOG(’INVALID MONT)I/DAY COMB INA丁1ON’):RETURN(’N’); 表2=規則 有効日付 表3は、規則「有効日付」が参照するテーブル「月」を示す。閏年及び非閏年の 2つの列内のある月の日数にに注目されたい。
表4は、FORALL文を含む規則を示す。規則「自動車計数」は所与のモデル 及び年式を有する所有者の数を計算し、次いで結果(モデル及び年式はテーブル 自動車のフィールドである)を印刷する。この規則は条件を有していない。標準 ル−チンMSLOGはメソセージログの加算の結果を提示する(記号gは連結演 算子で表5は、規則「自動車計数」が参照するテーブル「自動車」を示す規定定 義 規則定義、HO5規則の第1の部分は規則見出しく必須)と、ローカル変数の宣 言(任意選択)とを含む。
規則見出しは規則の名前を与え、そのパラメタ(もしあれば)を限定する。規則 間で渡されるパラメタは値による。呼出された規則はノぐラメツの値を変えるこ とはできない、パラメタのデータ表現は動的であり、それに割り当てられた値の 意味データ型及び構文に従う。パラメタの範囲が、そのノぐラメツを限定してし )る規則である。表6は規則見出しの例である。
LEAPYEAR(YEAR) ; 表6−規則「閏年−の規則見出し ローカル変数は規則見出しの次に宣言される。ローカル変数の範囲が、それ力( 限定する規則及び子孫規則である。ローカル変数は演算値(列)を割り当てるこ とができ、また動作中の何処ででも使用することができる。ローカル変数のデー タ表現は動的であり、それに割り当てられた値の意味データ型及び構文に従う。
ローカル変数はヌル(即ち用途に依存して、ゼロ、論理°N゛、または空文字列 )に初期化される」表7は、ローカル変数宣言の例である。
LOCAL 5IIN、 R[1SULT;表7−ローカル変数合計及び結果の 宣言条件 それらの真理値に関して評価された論理式である条件は、規則内の制御の流れを 決定する0条件は順次に評価キ顛もしそれらの1つが満たされればそれに対応す る動作が実行可能になり、さらなる条件は評価されない。もし条件が存在しなけ れば(表4の規則のように)、その規則の動作が実行可能になる。
表8は、条件の若干の例である。REMAINDER及び5IIPPLIEII −LOCは値を戻す関数である。それらの1つはシステム供給積重ルーチンであ り、また1つは利用者ルーチンであるが、呼出しに区別はない。
CaP5. PRICE > INPUT、 MIN;11HMAINDEIi (YEAIl、4)・0:INVOICE、LOCA丁1011 = 5UPP LIEIjLOC(INPIIT、5UPP#);表8=条件 前記の表に例示した庸規則は、条件を含む規則の部分がY/N (“yes/n o”)値を表示するYハ象限をも含む。Y/N値は条件と動作とを対応させる。
)IO5はY/N値を供給するが、利用者は供給しない。Yハ象限の機能は動作 の節において明らかにする。
動作 動作は実行可能な文である。動作順序番号は、各特定条件毎にどの動作が実行さ れるのかを決定する。同一の動作を、異なる条件に対して実行することができる 。
寞質的に、規則は拡張されたケース文である。条件及び動作は次のように読乙こ とができる。
CASE : condition 1 : actionscondition 2 : a ctionscondition n : actionselse : ac tions E)10 CASE。
例えば、表9の規則を考えよう。
規則「有効日付」内の条件及び動作は以下のケース文のように読むことができる 。
CASE: DD<・O: CALL門5GLOG (“INν牝ID DAY ENTEI IED“);11ETIJIIN (“N゛); LEAPYEAR(YY) : GET MONT)Is圓HEIIE MON TH+開& LDAYS >= DD ;RETljllN (’ Y”); ELSE:GETヒ10!IT)Is WHERE MONTH、朋& DAYS >−DD ;111ETIIRN( ’Y’); END CASE: 規則言語内の使用可能な動作を以下に記述する。
VALID−DATE(YY、 DD);↑ DD < = O; □ YNN LEAPYEAR(YY); Y N ON GETFAIL: CALL MSGLOG(’INVAIJD ?l0NTH/DAY COMB INATION’);RETUl?N(’N’); 表り=動作1頃序数 割り当て文には2種類がある。単純な割り当てでは、単一値がテーブルのフィー ルドまたはローカル変数に割り当てられる。表1○は単純割り当てを示す。
CaP2. PRICE = (PRICE、 BASE + PRICE、  5HIPPTNG)車TAχES、 RETAIL;AMOIINT w Pl nNCIPAL本(1傘INTEREST) ** YEAR3;表10:単純 割り当て 名前による割り当てでは、右側のテーブルのフィールドの全ての値が左側のテー ブルの同一名のフィールドへ割り当てられる。表11は1つの例を示す。名前に よる割り当ては、画面テーブルのフィールドの全ての値をデータテーブルのフィ ールドへ、またはその逆に、割り当てる普通の方法である。
0RDER5,* = 0RDER35CREEN、本。
表1に名前による割り当て 1つの規則は、関数表記法を使用する論理式または算数式を通して暗示的に、ま たはCALL文を使用して明示的に、別の規則を呼出すことができる。表12は 整数を戻す標準ルーチンである関数1?HMAINDER(YEAR,4)の暗 示呼出しを示す。
R=REMAINDERCYEAR,4):表12:規則の暗示呼出し 規則は、もしそれが結果を指定するRETIIRN文を含んでいれば、関数であ る。
表13はRETIIRN文の例を示す。
11ETIIRN(’Y’) ; 12ETUIIN(CAIIS、 PRICE −REBATE);表13 :  IIETIIt?N文 CALL文は、ある規則を、その名前によって参照することによって直接的に、 またはテーブルのフィールドまたはその規則の名前を含むパラメタを参照するこ とによって間接的に呼出すことができる。CALL文内の引き数は、引き数リス トによって、または−1(ERE文節によって渡すことができる。WHERE文 節内のパラメタキーワードは、呼出された規則の規則見出し内のパラメタの名前 でなければならない。全てのパラメタは、ある規則が呼出される時を指定されて いなければならない。
HOSデータヘースはテーブルの収集である。規則は出現を根拠としてテーブル にアクセスする。ある規則がテーブルを参照すると、それはそのテーブルへの窓 として働くテーブルテンプレートを作成する。規則は先ず新しいデータをテーブ ルテンプレートの適切なフィールド内に配置し、次いでREPLACE文または lN5ERT文の何れかを実行することによって、新しい情報をテーブル内に入 力する。規則ハGET文またはFORALL文を用いて情報をテーブルからテー ブルテンプレート内へ検索する。規則は情報をテーブルテンプレート内に配置し 、次にDELETE文を実行することによって情報を削除する(テーブルテンプ レートはDELETE文の後に無定義化される)。
GET 、 FOIIALL、またはDELETE文の場合、選択基準は咄ER E文節内に指定することができる。WHERE文節は1またはそれ以上の比較か らなる述語を含む。この述語は、データがテーブルテンプレート内に配置される 前に評価される。
テーブルパラメタはリストの形状で、または1ll(ERE文節で指定すること ができる(これら2つの形状はCALL文においてパラメタを渡す2つの方法に 対応する)。
GET文は、テーブル内において指定された選択基準を満たす最初の出現を検索 する。もし選択基準に合致する出現が存在しなければ、GETFAIL例外が告 知される。
ルーピング構成体であるFORALL文は出現の集合を処理する。ループのボデ ィは選択基準を満たす各出現毎に実行される文からなる。FORALLのネステ ィングが許される。
FORALL文は、テーブル名と、任意選択−〇EIIIE文節と、任意選択0 RDERED文節と、任意選択11NTIL文節と、動作とを含む。任意選択文 節(またはもし任意文節が存在しなければテーブル名)の後にコロン(:)が続 く。ループのボディからなる動作はコロンの後の分離行止に書かれる。ある分離 行止の“END、”文節はFOI?A比文節の終りをマークする。全てのテーブ ルアクセス文を用いる場合のようにパラメタは引き数リストで、または−HER E文節で措定することができる。フィールド上の選択も−HERE文節で指定す ることができる。FOIIALL文内のWHE交円文節は、GET文におけるの と同一の効果を有する。−IIEIIE文節は星印(*)を用いて現テーブルを 参照することができる。
袖εIIE文節は、不完全に指定されたデータ列の比較を可能にする“部分突き 合せ”演算子LIKEを含むことができる。不完全に指定されたデータ列は、星 印(*)を有するOまたはそれ以上の無指定文字と呼ぶことができ、またそれら は疑問符(?)を有する1つの未知文字と呼ぶことができる。
FORALL文が実行される場合、lまたはそれ以上の0RCIEREI)文; こよって異なる順序を指定されでいなければ、テーブル出現は一次キー順序で検 索される。表5の例では、出現は、フィールド「価格」の値を降順し、次にフィ ールド「モデル」の値を昇順し、次いで一次キー「ライセンス」の値を昇順する ことによって提示され分類される(順序付けを省略すると「昇)頃」になる)。
FORALL文の実行は(11FO箱+、L選択基準を満たす全ての8現が処理 済である、(2)ループを構成する文の実行中に例外を検出した、の2つの環境 の何れかの下で終了する。テーブルテンプレートはFORALL文の終りには無 定義である。
lN5ERT文は、新しい出現をデータベース内のテーブルに付加する。フィー ルドの選択は不可能であり、−)IERE文節はパラメタ値だけを指定できる。
テーブル内の出現は独特な一次キーを有していなければならない。既に存在して いる一次キーを用いて出現を挿入しようと試みると、lN5ERTFALL例外 がもたらされる。
REPLAcE文は、データベース内の出現を更新する。フィールドの選択は不 可能であり、1lHERE文節はパラメタ値だけを指定できる。
もし出現が存在しなければ、lN5ERTFALL例外が告知される。出現の一 次キー値を変更するためには古い出現を「削除」して新しい出現を「挿入」する 必要がある。
DELETε文は、出現をデータベース内のテーブルから除去する。もし指定さ れた関係が同等であれば、Wl(ERE文節は一次キーフィールド上でフィール ド選択を指定することができる。他のフィールド選択は許されないや通常通り、 WHEI?E文節はパラメタ値を指定することができる。
もしW)IERE文節内に一次キーが指定されていれば、その出現は削除される 。もし−次キーが指定されていなければ、テーブルテンプレート内の一次キーに よって参照された出現が削除される。もしテーブル内に出現が存在しなければ、 DELETEFALL例外が告知される。
画面は、標′cJJ11用者インタフェースである。これらはキーボードからの 入力を支援し、端末への出力を発生する。
DISPLAY文は、指定された画面を表示させ、画面に人力された入力は処理 のために利用可能である。
ルーピング構築であるIINTIL 、、、 DISPLAY文は、ある画面を 繰り返して表示させる。このループのボディは、画面が表示される度に実行され る文からなる。ループのボディの内部では、如何なる入力も処理のために利用可 能である。
UNTIL文節を含むことができルFORALL文と、UNTiL 、、、 D iSPLAY文の2つの構築がルーピングを可能にする。FOIIIALL部分 、またはコロン(:)で終了する11NTIL 、、、 DISPLAY部分と “END:”との間の文がループのボディを1成する。
11NT比文節は1つの例外、またはキーワードORによって分離された2また はそれ以上の例外を指定する。もし例外が検出されればルーピングは終了する。
もしループが例外によって終了されれば、制御は以下のようにして動作に渡され る。
もし例外がそのループのためのUNTIL文節内に指定されていれば、次に実行 される動作はそのループのEND文節に続く動作である(たとえ規則の例外ハン ドラ部分内にその例外のための08文が存在していても、制御はこれらの動作に 渡される)。これらの動作が完了すると、規則の実行は終了して制ネπは呼出者 に渡される。例外が検出された点から実行が再開されることは「ない」。
例外がそのループのためのIINTTL文節内には指定されていないが、規則の 例外ハンドラ部分内のON文中に指定されていれば、その例外は通常の態様で処 理される。即ち次に実行される動作はONN円内リストされている動作である。
もし例外がそのループのためのUNTIL文節内にも、または規則の例外ハンド ラ部分内のON文中にも指定されていなければ、その例外は通常の態様で処理さ れる。即ち例外が呼出し階層内のより高い規則内の例外ハンドラによってトラッ プされるか、またはトランザクションが終了する。
COMMIT文、ROLLBACK文、5CI(EDIILE文、TRANSF ERCALL文、及びEXECIJTE文の5つの文がトランザクションの同期 を制御する。
文COMMIT及びROLLBACIは、トランザクション同期点を確立する。
同期点間の全ての変化、または無変化がデータベースに印加される。
トランザクションの正常終了はCOM?lITを暗示し、異常終了はIIOLL BACMを暗示している。
5C)IEDIJLE文は、現トランザクションには関係なく実行を待ち合わせ ることを規則に許容することによって、非同期処理を可能にする。実行される規 則は、5C)lEDtlLE文が実行される時に存在していなければならない。
待ち行列の名前は任意選択TO文節によって指定することができる。待ち行列の 定義はシステムパラメタによって処理され、規則言語内では行われない。
待ち合わせは、現トランザクションの正常完了、即ちトランザクンヨンプロトコ ルに従う完了に依存する。
TRANSFERCALL文は現トランザクションを終了させ、新しいトランザ クションを呼出す。制御が呼出し規則へ渡されることはない。呼出された規則の 実行が終ると、そのトランザクションは完了である。
TRANSFERCALL文は、CA比文と同様に、ある規則をその名前によっ て参照することによって直接的に、またはテーブルのフィールドまたはその規則 の名前を含むパラメタを参照することによって間接的に呼出すことができる。
EXECtlTE文は子孫トランザクションを呼出す。実行されたトランザクシ ョンが完了すると、制御は元のトランザクションに戻されて渡される。CCAL L文が現トランザクションの範囲内で規則を呼出し、一方EXECIJTE文が 独立トランザクションを開始させる規則を呼出すことに注目されたい。〕EXE CtlTE文は、CALL文と同様に、ある規則をその名前によって参照するこ とによって直接的に、またはテーブルのフィールドまたはその規則の名前を含む パラメタを参照することによって間接的に呼出すことができる。
5IGIIAL文は、その交円に指定されている例外を生じさせる。08文また はIINTIL文節は、5IGN牝文によってもたらされた例外を引き続き検出 し、処理することができる。
例外処理 例外ハンドラは、例外の名前と、(それに続く)実行が検出された事象内で実行 される動作の順序とを含む08文である。
08文は、それが出現する規則の動作の実行中だけ効力を有している。08文は 、規則と、その規則の子孫(呼出し階層においてその規則より下の規則〕の何れ かとの両者において生成された例外をトラップする。
呼出し階層内の異なるレベルの2またはそれ以上の規則内の08文が同一の例外 を処理することができる場合には、最下レベルの規則内の08文がその例外を処 理する。
システム例外は階層的に定義される(階層に関しては次の区分で説明する)。
もしある規則内の1以上のハンドラが1つの例外を処理できれば、最上の特定ハ ンドラがそれを処理する。例えば、例外階層においてはGETFAILはACC ESSFAILより下位にある。もし規則がGETFAILハンドラ及びACC ESSFA ILハンドラの両方を有していてGETFA[L例外が発生すれば 、GETFAILハンドラが呼出される。もしその規則力%ETFATLハンド ラは有していないがACCESSFAILハンドラを有していれば、ACCES SFAILハンドラが呼出される。
規則が呼出されている時にテーブルへのGETアクセス上でGETFAIL例外 が発生するか、またはGETFAIL例外力<GE例外中に発生すれば、GET FAILハンドラがそのGETFAIL例外を処理する。
データアクセス例外ハンドラは(GETFArL 、lN5ERTFAIL、  DELEREFAIL、ACCESSFA IL及び[]EFINITIONF AILのためのハンドラ〕は、例外階層テーブルにおけるように、テーブル名を 指定することによってそれらの範囲を制限することができる。テーブル名が指定 されている場合、そのテーブルにアクセス中にもし対応する例外が検出されれば ハンドラはその例外だけをトランプする。もしテーブルが指定されていなければ 、どのテーブルがアクセスされていようともハンドラはその例外をトラップする 。
例外ハンドラを構成する文が同一例外をもたらすかも知れない。もしこのような ことが起これば(そして第2の例外が呼出し階層内の下位の何処においても処理 されなければ)、現在実行中のハンドラは第2の例外を処理しない。規則実行者 は考え得る“無限ループ”条件を検出し、トランザクションを打ち切る。
実行時間環境はシステム例外を信号しである応用が誤りから回復することを可能 にする。システム例外は名前の階層を形成する。 EIIIiOI1例外は全て の検出可能な誤りをトラップするが、GETFAIL例外はGET文の実行には 見出されないテーブル出現のみをトラップする。以下の図は全てのシステム例外 名を、階層内のそれらの相対位置と共に示す。
ERROR □ + 11 □ ACCESSFへIL IN丁EGRITYFAIL tllLEFAll、  user definedDELETFAIL CO悶ITLIMIT C0N VEIISIONDTSPLAYFAII、 DEFINITIONF^IL  DATA[1EFEI?ENCEGETFAIL LOCXFAIL EXEC UTEFAILINsERTFAIL 5ECURITYFAIL 0VERF LOWREPLACEFAIL VALIDATEFAIL 5TIIIIIG SIZE11NAssIGNED IJN[1ERFLO1l ZEIIODIVIDE 表:例外階層 3レベルの階層が定義されており、ある例外は階層内のその下にあるどの例外名 もトラップする。これらの各例外が信号される条件を以下に示す。
ACCESSFAIL −テーブルアクセス誤りを検出したCOMMITLIM IT −1つのトランザクションに到達した場合に更新の数を制限する C0NVER5ION −値が構文のための無効データを含むか、または目標構 文に変換できない DATAREFERε+1CE−選択基準の明細書に誤りが検出されたDEFI lilTIONFAIL−テーブルの定義に誤りが検出されたDELETEFA IL −DELETE文のためのキーが存在しないDISPLAYFAIL − 画面表示に誤りが検出されたERROR−誤りが検出された EXECIITEFA IL −子トランザクシヨンに誤りが検出されたGET FAIL −どの出現も選択基準を満たしていないlN5ERTFAIL −I NsERT文のためのキーが既に存在しているLOCKFAIL −ある出現に ロックが存在しているか、またはテーブルが使用不能であるか、またはデッドロ ックが発生した0VERFLOW −目標構文に割り当てるには値が大き過ぎる REPLACEFAIL −REPLACE文のためのキーが存在しないR1: LEFAIL −算数計算に起因する誤り5ECLIRITYFAIL −要求 された動作に対する許可が拒絶される5TRINGSTZE −1つの列を別の 列に割り当てる際にサイズの誤りが検出された 11NAss IGNED −値が割り当てられていないテーブルのフィールド が参町された 11NDERFLOW −目標構文で表現するには値が小さ過ぎる(殆どは指数 誤差)VALIDATEFAIL −妥当性検査出口キーを通して妥当性検査か ら出ることが要求された ZERODIVIDE −ゼロによって除算する試みが検出された式や演算工及 グヂニl型 条件、動作、及び例外ハンドラは式を含む。これらの式は算術演算子及び列連結 演算子の両者または何れか一方を含むことができる。これらの演算子は普通の表 記法に準拠し、また以下に示す優先順位に従う(累乗が最高の優先順位を存する )。
** 累乗 *、/ 乗算、除算 +、−単項士、単項− +、−1g 加算、減算、列連結 同−優先JllI位の算術演算子または列連結演算子の順序は左から右へ評価さ れる。
以下の表は穴内の演算子を示す。
(PRICES、 BASE + PRICES、 5HIPPING) *  TAXES、 RETAILPRINCIPAL 本 (1+ INTERES T ) ネ本 YEARS表二式 弐の各要素は構文及び意味データ型を有している。構文はデータを如何に記憶す るかを記述し、意味データ型は要素を如何に使用できるかを記述している。
構文 あるテーブルのあるフィールドの値のための構文はテーブル定義の中に指定され る。フィールドの最大長もテーブル定義の中に指定される。
構文のための有効仕様は以下の通りである。
B (2進数) −有効長は2及び4バイトP (バック10進数)−有効長は 1乃至8バイトに亙る。これは10進数の1乃至15桁を保持することができ、 10進桁数はテーブル定義内に指定される。
F (浮動小数点) −−次キーフィールドに対する有効長は4.8、及び16 ハイト、または他のフィールドに対しては1乃至256ハイト。
C(固定長文字列) −−次キーフィールドに対する有効長は1乃至128バイ ト、または他のフィールドに対しては1乃至256バイ ト。
■ (可変長文字列) −−次キーフィールドに対する有効長は3乃至128バ イト、または他のフィールドに対しては3乃至256ハイト、記憶装置は指定さ れた長さを確保するが、副演算は現長さを使用する。
意味ガニl型 あるテーブルのあるフィールドの値のための意味データ型はテーブル定義の中に 指定される。意味データ型はそのフィールドの値に対してどの演算を遂行できる かを決定する。言語内の演算子は有意味の意味データ型に対してのみ定義される 。例えば、列の否定、またはある数を識別子へ付加することは無効演算である( ライセンスプレートナンバーに3を加えることを考えられたい)。
有効意味データ型及びそれらの許容される構文は以下の通りである。
■(廊I11子) C(同定長文字列) V (可変長文字列) B (2進数) P (バンク10進数) S(列) C(固定長文字列) V (可変長文字列) L(論理) C(長さ1の固定長文字列) 考え得る値、Y (yes) 、N (no)C(カウント) C(固定長文字列) V (可変長文字列) B (2進数) P (10進数を伴わないパックIO進数)Q(量) C(固定長文字列) ■ (可変長文字列) B (2進数) P (パンクlO進数) F (浮動小数点) 規則言語は、比較を行わせるための演算子 =、H=、く、く−、〉、〉=を含 んでいる。比較の結果は常にある論理値(Y゛または“N’)である。規則言語 は符号(−)を代入演算子として使用する。規則言語は算数を行うだめの演算子 **、*、/、−1−を含む。規則言語は連結演算子として二重垂直ノ\−(g )を使用する。連結演算子は任意の2つの意味データ型の間で有効であり、結果 は常に可変長の列である。
総称ルーチン及びユーティリティー関数のコーティングを援助するために規則言 語はテーブル名及びフィールド名の間接的参照を可能にする。規則1カウントは 全ての出現に関係するフィールドの合計を決定する総称ルーチンである。この規 則はパラメタを用いずに仔會のテーブルの任意のフィールドを合計する。
構文 ハノカスナウル形式(BNF )の規則言語の完全な、形式構文は以下の通りで ある。
竪り表記法 (a) かぎ括弧く〉で括られた小文字語は構文カテゴリを表す。例えば、<  5tart character>℃)代替のリストにおいて、各代替は新しい 行で始動する。
(C) 繰り返される項目は中括弧()で括る。項目は0またはそれ以上の回数 現れ得る。例えば、 (< digit>) (dJ 任意選択カテゴリは大括弧[コで括る。例えば、[<exponent > ] 文字集合 全ての規則言語構築は以下のように細分された文字集合で表される。
(a) 文字 ABCDEFGHIJKLMNOPQR5TIIV−χVZ(b) 数字 (C) 特別な文字 i#$vtl&*()−=+::’、、/<>主刃要素 規則は字句要素の順序である。字句要素は類11子(確保した語を含む)、数値 直定数、列置定数、及び区切り文字である。区切り文字は以下の特別な文字、v H&*()−+=”; ’ 、 /<>01つまたは、以下の複合記号 隣接する字句要素はスペースまたは新しい行によって分離される。識別子または 数値字句はこのようにして隣接する識別子または数値字句から分離しなければな らない。スペースを含み得る唯一の字句要素iよ列字句である。列字句は1以上 の行にまたがることができ、他の全ての字句要素は単一の行内に納めなければな らない。
識別子 規則言語識別子の長さは16文字を超えてはならない。
<1dentjfjer> : : −<5tart character >  (<follow character>1<5tart characte r > : : =ABCDEFGI(IJXLMNOPQR5TIJVWXY Zi#$<follow character> : : =<5tart c haracter >数値字句 規則言語は以下の形状の数値字句を支援する。
<numericlitera+>::−<digits> [、<digit s>] [<exponent>]<digits> : ニー digit (<digit >1 <digit > : :社 <exponent> : : = E (<sign>] <digits+>列宇勺 列字句は単引用符で包まれた0またはそれ以上の文字である。
<string 1iteral> : : =’ (<character  >ビ 列字句内の単引用符は2回書かれる。従って° ” ° ゛なる列字句は単引用 符である。
確保主れに語 以下の名前のリストは規則言語内のキーワードとしてシステムによって確保され ている。
AND ASCENDING CALL Co門門IT DELETEDESC ENDING DISPLAY END EXECUTE FOIIALLGE T lN5EIIT LOCAL NOT 0NOR0RDEIIED REP LACE RETURN ROLLBACKSCI(EDULE 5IGNAL  To TIIANSFERCALL IINTILW)IERE LIKε 雄則二逍文 <rule> : : = <rule declare><cond 1ist ><action 1i st ><exception 1ist><rule declare> :  : =<rule header > [<1ocal name decl aration>]<rule header> : : =<rule na me > [<rule header parIllist >1<rule  header parm 1ist > : : =(<rule para meter name > (、<rule parameter nalIe  >1 )<1ocal name declaration> : : =L OCAL <1ocal name> (、<1ocal naIIe>l ; <cond 1ist > : : =(<condition > ; 1 <condition > : ; =<logical value > NOT <logical value ><expression><rel op ><expression><logical value > : :  =<field of a table><rule parameter  tease ><function call > <action 1ist > : : =<action> (<actio n>)<exception 1ist> : : =(<on except ion>1 <on exception> : : =ON<exception des ignation > : (<action>1<action> : :  = <Statement > ; <statement > : : =<assignment> <rule call > <function return ><tabje access stmt  ><5ync processing ><display process ing><signal exception><asynchronous  call ><1terative display processing> <assigr++eent> : : =<assignment targ et >=<expression><assign by name> <assignment targeL > : : =<field of  a table><1ocal name> <aSsign by name> : : =<table ref > 、 *=<table ref > 、*<rule call > : : =C ALL<call 5pec > [<call arguments>]<c all 5pec > : : =<rule nalIIe > <rule paraieter name ><table name> 、 <field name><call arguments> : : =<a rg 1ist> WIIERE <where arg 1ist><i+here arg 1 ist> : : =<where arg item> i<and ><i +here arg item>1<where arg item> : :  =<1dentifier>=<expression><function  return > : : =RETIIRN (<expresion > )<table access stmt > : : =<get stmt > <1nsert 5ttat > <replace stmt> <delete stmt > <forall stmt > <get stmt> : : = GET <occ 5pec> <occ 5pec> : : = <table 5pec> [WIIERE <where predicat e >)<table 5pe(> : : =<table name> f <arglist>j<rule parameter name > [<a rg 1ist>1<table name> 、<field name>  [<arg 1ist>]<1rhere predicate > : :″ <where nexpr > (<logical op><where n expr >]<where nexpr > : : =r<not >コ  <where expr><where expr> : : =<where  relation> (<where predicate >)<where relation>  : : =<4ieldnawe ><relational op ><w here expression><where expression> :  : =[<unary op>] <where expr term >( <add op><where expr term >1<where ex pr term > : : =<where expr factor >  (<mult op ><where expr factor >1<whe re expr factor > : : =<where expr pr iIIary> (<exp op><where expr primary >1<where expr primary> : : z(<where  expression>)<mhere field of a table> <rule parameter naa+e ><1ocal na+me> <function call > <constant> <IIIhere field of a table> : : =<whe re table ref > 、<field ref ><where t able ref > : : =<table navle> (<rule paraseter name >)(<table name > 、 <field name>)<where table ref >プ ロダクションが、′*”をテーブル名として指定可能ならしめていることに注目 されたい。
<1nsert 5tnt > : : =INsEl?丁<table 5p ec> [WHERE<where arg 1ist>]<replace  st+wt> : : =REPLACE<tablespec>[WHERE <wherearglist>]<delete stmt > : : =D ELETE<table 5pec> [WHERE<where arg 1 ist>]<forallstmt> : : =FORALL<occ 5p ec>[<table order >] [<until clause>]  :<for alisL > END <until clause> : ニーUNTTL <exceptions ><exceptions> : : =<exception design ation > (<or><exception designation  >1<exception designation > : : =<exc eption naIIe> [<table name>]<excepti on narae> : : =<1dentifier> <foralist>::= (<for action> ; ) <for action> : : =<assigr+ment> <rule call > <table access stmt ><display process ing><asynchronus call><1nteractive + lsρlayρrocessing>OMar <table order > : : −<table order ite +*> (AND<table order item>1<table or der item> : : =ORDERED [<ordering>]  <fie14 name><ordering> :: = ASCENDING DESCENDING <order clause> : : =ORDER<order item > (<and ><order item>1<order 1te11>  : : =ORDERED <fieldnama >0RDERED ASC ENDING <fieldname >0RDERED DESCENDIN G<fieldname ><5ync procsssing > : :  =CO開lT 1110LLBAfJ <display processing> : : =DISPLAY <5 creen ref><5creen ref> : : =<5creen  naffie > <table naxe>、<field name><rule param eter name ><5creen name > : : =<1den tifier> <signal eXception> : : =SIGNAL <exce ption name><asynchronous call > : :  =SCHEDIJLE [<queue 5pec>] <rule name  >[<call arguments>j<queue 5pec> : :  =To<expreasion> <1terattve display processing> : : = UNTIL <exceptions><display pcoressin g>: (<action>l END<field ref > : : = <field name> (<rule parameter name >)(<table name >、 <field nan+e>)<function call > :  : =<functio name>[<arg 1ist>]<arg 1i st> : : = (<expression> (、<expression>) )<expr essIon>::= [<unary opal <expr tarn > i<add op>< expr term >1<expr term > : : =<expr  factor > (>mult op ><expr factor >)< expr factor > : : =<expr primary> [< exp op><expr primary>]<expr primary>  : : =(<expression>) <field of a table><rule parameter na me ><1ocal name> <funcion call> <constant> <field of table> : : =<table ref > 、 <field ref ><table ref > : : =<table  name> (<rule parameter name >)いサーバにアクセスさせる 。
−物理アクセス方法およびデータ編成がTDS (テーブルデータ記憶装置)で ある。
−データストアはB十樹木関係データ構造である。
−HOSはトランザクションシステムであるから、利用者が大量のデータへアク セスしてもそれらの従漠域のみに影響するだけである。
TDSテーブルの ・け −テーブルデフィイナはワークベンチメニューからのコマンドDT<table name >、またはセツション管理者ルーチンによって作られた一次コマント ラインを使用して呼出される。テーブルデファイナの画面レイアウトはテーブル 定義表において説明する。
− テーブル名は標準命名規則に準拠することができる。
−I?lS、rインボート・エクスポート (順次)等のような他のテーブル型 が使用可能である。
−各テーブル型はセンジョン管理者内にそれ自体のテーブル定義画面を存してい る。
− テーブルはシステムに対して汎用である。
−個々のテーブルの機密保護システムが、定義及びデータの両者または何れか一 方への無許可アクセスを阻止する。
−意味仕様は、応用に対してデータを如何に使用すべきかを記述する。
−データ定義時に事象処理を呼出すことはできるが、実際の規則は一般化された プログラミング言語を使用してコード化されている。事象処理はデータがアクセ スされる時に呼出される。
: テーブル・百 レイアウト コマンドーー〉 テーブル定義 テーブル:従業員 型: TDS ユニット:educ IDGEll:Nパラ メタ名 型 構文 長さ 小数 事象規則型アクセス −−m− 利用者ID1c16 U≦」型献 財」辷 l開用 PFKEYS: 3=保管 12.取り消し 22.削除 13−印刷 21・ 編集 2.[1OC6・検索 二般的説朋・刊鉦任意選沢 定義テーブルのフィールド・画面レイアウトを以下に説明する。
型: テーブル型はアクセス方法を指定する。テーブルデータ記憶装置(“Tl l5” )は省略時の値であり、参照テンプレートとして使用される。
各テーブル型は表示のための組み合わされたテンプレートを有している。テーブ ル型を変更する時は何れかの機能キーまたはENTERキーを押すと対応するテ ンプレートが表示される。有効テーブル型は、 ’TE−′(一時的)、 “I MP’(インポート)、 ’EXP’ (エクスポート)、’PRM ’ (パ ラメタ)、 “5IIB’ (サブビュー)及び“I門S’ (IMs)、及び 利用者が定義したその他を含む。
ユニット二表が関連付けられている利用者ユニットはこのフィールドに入れられ る。有効ユニットはデータベース管理によって提供される。
IDGEN: これは、各出現毎に独特な一次キーを提供する責を負っているこ とをシステムに通報する。
パラメタ:パラメタ情報成分は多重エントリのためのスクロール可能な領域であ る。最大4エントリが許される。
この機能によってシステムはそのデータストアを独特なフィールドに基づいて細 分することができる。これは、実世界においては真に関係的であるより一般的な 、データの階層構造に似ている。
名前: テーブル内で独特であるべきフィールド名。
型: 構文型・応用設計制御卸。
構文: 記憶装置のための内部表現。
長さ: ハイドで表された長さ。システムは記憶装置を最適化するためにそのデ ータを可変長データとして記憶する。
小数: もし指定されていれば、それは小数点の右側の桁数を措示する。
キー: 有効エントリは一次の場合の“P”、及び空白(非キーフィールド)で ある。テーブルは、その−次キーとして定義された1つのフィールドを有してい なければならない。
一次キー仕様は実効的にそのフィールドを所要のフィールドにする。
テーブル内の各出現はその一次キー値によって独特に識別される。
RQD: このフィールドの省略時の値は空白(要求されなかった)である。
他の有効エントリは要求された時に′Y°、または要求されなかった時の°N° である。
適切な値を持たない出現を要求されたフィールド内に挿入または編集は許されな い。
省略時: フィールドの省略時の値。新しい出現が付加された時にもしそのフィ ールドが空白のままであれば、これは入力であろう。
意味i二ダ型及び構文 テーブルの全てのフィールドは意味データ型と構文とに束縛される。構文はデー タがどのように記憶されるかを記述し、一方意味型はフィールドをどのように仕 様するかを記述する。有効意味データ型及びそれらの許容された構文は以下の通 りである。
■−識別子 P バンク10進数 82進数 V 可変長文字列 り一 論理 C長さ1の固定長文字列 一値“Y′はyes −値”N”はn。
C−カウント C固定長文字列 ■ 可変長文字列 82進数 P 小数を持たないパック10進数 ■ 可変長文字列 82進数 P パック10進数 F 浮動小数点 六フィールド I 82進数 P パック10進数 F 浮動小数点 デニズ匹文書化 文書化は、テーブルを含む全ての目的に関連付けられる。利用者は、テーブルデ ファイナから呼出される表34に示すような文書化画面を使用して、短い要約、 キーワード、及び長い記述を指定して定義されたテーブルを文書化することがで きる。要約は1行の情報に制限される。指定されたキーワードは、キーワード探 索機能が使用するために利用可能にすることができる。詳細なテーブル記述を得 るためにスペースを利用できる。長い記述内にスクリプト書式化コマンドを含ま せることができる。
文書化 表34 従業員テーブル用文書化画面 テーブルの記述 ユニット 変更日: 変更者: 作成日: 88.181 作成者: educキーワード : 要約: 記述 PFKEYS: 3−目的編集 5−文書編集/ビューサブとニーテーブル サブビューはデータ上に窓を与える。テーブルのフィールドの部分集合、または 選択基準に基づく部分集合を利用者に与えることができる。
−テーブルデファイナは、画面上のワークヘンチメニューまたはコマンドライン からのDT <subview table name>コマンドを使用して呼 出される。
−サブビューテーブル名は標準命名規則に準拠する。
−サブビューテーブルデファイナ画面は、省略時テーブル型“TDS”をSUB ”に変えて表35に示すデファイナ画面にすることによって呼出される。
−個々のサブビューの機密保護システムが、定義及び使用の両者または何れか一 方への無許可アクセスを阻止する。
−サブビューには分離スペースは割り当てられていない。実際には全てのデータ 維持は関連付けられた原始丁DSテーブル上で遂行される。
表35 サブビューテーブルの頁 レイアウト DT サブテーブル コマンド:=〉 テーブル定義 テーブル:サブテーブル 型:サブユニット 原始: 選択:今ム陥型献七拷  難au斬りゴ吐奥− ユ≦」型献駁」:L:肚が用J股銘 PFKLYS: 3−保管 12=取り消し 13=印刷 15−セーブ 21 −編集 22−削除6−検索 2=DOC テーブル型変化済(RF 6原始定義取り戻し)。
−・云゛日・サブビュー 全てのフィールドはTDS’ に関して説明したものと同一である。サブビjL −独自のフィールドを以下に示す。
原始: そのサブビューがこのテーブルによって定義されている原始テーブルの 名前。原始テーブルはそのサブビューが定義可能になる前に存在していなければ ならない。
選択二 選択基準の目的は選択された出現の数をサブグループ化することである 。もし存在しなければ全ての出現を選択する。
パラメタ:もしTDSテーブル内に対応するフィールドが存在すれば、新しいパ ラメタをサブビュー内に指定することができる。原始テーブルパラメタは再命名 することができ、その原始名は5OURCE PAIIM内に指定することがで きる。
順序付け=これはスクロール可能な領域である。
順序付けはサブビュー内に定義されていないフィールド上に指定することができ る。
順序付けは表示の目的だけに使用される。
SEQ −A (昇順)またはD(陣順)ヱ土二次上定義・サブビュー SRC: これは原始標識フィールドである。フィールド名はサブビューテーブ ルと同一であっても、再命名しても、または独特であってもよい。原始標識フィ ールドは原始テーブルに関してそのフィールドのステータスを識別する。
有効エントリは以下の通りである。
−空白 フィールド定義は原始及びサブビューの両者において同一である。
= S=原始: 再命名されたフィールドはこのエントリで指示される。原始テーブル内のフィー ルド名が後続する。
−D=導出済ニ ー サブビューテーブルに対して独特なフィールドは導出されたフィーJレドと してこのエントリによって指示される。
−導出されたフィールドは、このフィールドのためのある値へ戻る関数規則であ るべきである。
実用性 −この機能の実用的な長所によってテーブル操作及びサブビューテーブルレヘル における「特別な」報告が可能になる。
−この「特別」処理では、導出されたフィールドはテーブルがアクセスされた時 に受信される。例えば、 ED (テーブル名) のようにテーブルを編集する時である。
事象規則 データ定義内の事象規則は、通常は妥当性検査またはトリガの何些かの混合体で 構成される。
−妥当性検査は、情報をテーブル内に人力する時にそのデータを別のテーフ゛ル に対して妥当性検査しなければならないというような規則である。例えば、従業 員テーブルを維持する場合、部門番号がその部門テーブル内に存在していなけれ ばならない。これは一連の他のテーブルまたは外部ファイルへ拡張することがで きる。
−トリガは単なる検査ではなく、監査証跡、他のテーブルの更新、またシま他の ジョブのスケジューリングのような動作を生しさせる。
事象規則を用いると完全に“開かれた”環境が利用者に提供さ娠データに対して 厳格な検査及び制御を実現することができる。
事象規剋Ω定義 −事象規則区分は、スクロール可能な部分である。
−事象規則は、実行順にコード化される。
−事象規則は、挿入またはより一般的には入手及び書き込みのような特定データ アクセスコードに関して定義することができる。
−同一の動作に対して異なる事象規則を呼出すことができる。
例 書き込み一事象規則一妥当性検査 書き込み −トリガ ー もし、挿入または更新のようなデータ維持動作が呼出されれば、書き込みも 呼出される。
−実行すべき事象規則をローカルライブラリから試験することはできるが、生産 時間にはサイトライブラリ内に常駐していよう。
−例えばテーブルエディタを使用する試験が必要である場合にもし規則がローカ ルライブラリ内にあれば、ワークベンチ機能を使用することはできない。
探索経路をアクセスさせるためには、ローカルライブラリはあたかもそれが規則 であるかのようにテーブルエディタを実行する。即ちEX =====> ST E (’table name (parameters)’ )または コマンドライン===> EX STE (’table name (par aneters)’ )−事象規則をコーディングする場合、テーブルの出現が 既に入手されてGすることを思い出されたい。従ってそのテーブルへのデータア クセスは必要としない。
−事象規則をコーディングする場合、以下のことが真でなければならなし)。
トリガ − サブルーチン 妥当性検査 −“Yo、もしY′でなければ“N′またはあるメツセージに戻る 関数。
コマンド=−〉 テーブル定義 テーブル: 型: TDS ユニット: IDGEN:パラメタ名 型 構文  長さ 小数 事象規則 型利用者10 1 C100部門検査 Vム≦」型 献  ■ 」 辷」 硼 ■、辞書データ 1(OSデータ処理マシン内の全てのデータは、テーブルアクセスマシンに従っ て直接的にテーブルデータ記憶装置内に、または仮想、的に池のデータ記憶装置 内に記憶される。所与の出現が記憶されているテーブルの実際の位置及び型は、 そのテーブルデータ記憶装置内の複数の辞書テーブルによって定義される。これ らの辞書テーブルは、それらがテーブルデータ記憶装置として知られている構造 を有する事前指定されるテーブルであることからメタデータと考えることができ 、また総称テーブル内の出現にアクセスするために使用される制御テーブルを築 くためにそれらを自動的に調べることができることがらテーブルアクセスマシン と考えることもできる。
辞書テーブルは、図3に示す構造を有するTABLEと名付:すられたテーブル を含む。このテーブルは、マノン内の所与のセノノヨンに使用可能な全てのテー ブルの名前及び型を含む。
また辞書は、システム内の全てのデータ要素の属性を含み圓4に示す構造を有す るテーブルであるFIELDS (テーブル名)と名付けら、れたテーブルを含 む。このテーブルはテーブル名に関巳てパラメタ化さね、ている。従ってテーブ ルアクセスマシンは、所与のテーブルのフィールドに制困されるFIELDSと 呼ばれるテーブルのビューを生成する。
辞書は図5に示すPARMS (テーブル名)と呼ばれるテーブルをも含む。
このテーブルは各テーブルに関連付けられたパラメタ(もし存在すれば)を識別 する。
辞書は、図6に示す5ELECTION (テーブル名)と呼ぶテーブルをも含 み、このテーブルはそのテーブルへアクセスするために適用される選択列または フィルタを記憶する。
他の辞書テーブルには、そのテーブルにアクセスする際に実現される順序付は操 作の集合を限定する図7に示す0RDERING (テーブル名)と、そのテー ブル内の出現に対する事象にアクセスする際に実行される規則を指定する図8に 示すEVE!lTl?1ILEs (テーブル名)と、そのセツションのための 実行可能な規則の実際の目的コードを記憶する閲9に示すaRljLEsLIB RA[iY (テーブル名)とが含まれる。
パラメタライブラリ名は、規則ライブラリを種々の名前により細分するための基 本的な方法である。
辞書は、テーブルデータ記憶装置以外のサーバを通してアクセスするために必要 な辞書テーブルをも含む。例えば、図10.11、及び12はl1ISサーバが 使用するテーブルIMSTABFIELDS (テーブル名) 、IMSSEG FIELDS (db名、Seg名)、及び団5ACCESS(テーブル名)を 示す。 IMSTABFIELDSテーブルは、名前がファイルされたテーブル アクセス方法を、IMsフィールド名へ写像する。 IMSSEG−FIELD Sテーブルは、IMSTABFIELDS テーブルから検索されたパラメタに 基づいてアクセスのための構文及び写像パラメタを供給する。IMSACCES Sテーブルはサーバを使用してIMSデータヘースヘ伝送するために実際のアク セス順序を生成する。
また辞書テーブルは、図13〜15に示すように画面サーバが使用するテーブル をも含む。図13に示すテーブル5CIIEE!ISは、所与のセンジョン中に テーブルアクセスマシンを通じてアクセス可能な全ての画面を識別する。図14 に示すテーブル5CIIEENTABLES (画面)は、ある窓のための画面 内にある位置にあるその窓の画面定義を供給する。
更に図15に示すテーブル5CREE〜FIELDS (画面テーブル)は、画 面自体上へ直接写像を行う。
この辞書データは如何なる数のサーバにもサービスするように拡張することが可 能であるが、好ましいシステムではその構造はハードコード(゛″メタメタデー タ”)されている。
以上にシステムの基本的な応用プログラマのビューを説明し、システム内のデー タ及び辞書データの表現を説明したので、仮想マシンの動作の内部仕様が理解さ れたであろう。
■、規則の内部表現 規則は、仮想スタックマシンが直接実行可能な内部表現内に記憶される。規則エ ディタ内に規則を保管するプロセスは、その原文原始コードから仮想マシン目的 コードへの翻訳を含む。規則の原文表現が要求される場合には、逆翻訳プロセス が仮想マシン目的コードを原文に変換する。規則の1つの表現だけを記憶するこ との明白な長所は、表現間の不一致が決して生しないことである。
本節では、規則の内部表現を詳述する。先ず目的コードの総合レイアウトの説明 から始め、種々のデータ項目、及び仮想マシン演算コード(opcodes ) の詳細な説明はその後に行う。種々の種類の規則文に対応する目的コードの例が 含まれている。
規追Ω書式 規則目的コードは1iRULEsLIBRARYテーブル内に記憶される。この テーブルはライブラリ塩によってパラメタ化され、その−次キーとして規則名を 有している。
概念的には、ある規則のための目的コードは4つの成分、即ち52ハイドの見出 し情報と、“n”バイトのコードと、“m”バイトの静的(変更できない)デー タと、°“p”ハイドの変更可能なデータとに細分できる。これらの成分の最初 の3つだけが目的コード内に実際に記憶さね−変更可能域は規則が実行のために ロードされた時に割り当てられる。
以下の表“目的コードのレイアウトは規則目的コードの詳細なレイアウトを示す 。見出し及びコード区分は、静的データ域内の目的に対する参照を含む。これら の参照は見出しの始めに対して2ハイド2進オフセツトである。パラメタ、ロー カル変数、例外ハンドラ名、テーブル 、フィールド名、規則名、及び定数区分 は全て静的データ領域に属する。
し 52バイト パラメタ 、′ 一二二左凹紹1μ7、゛ 一条件但閲Iゑユニ旦−一 に るコード 」恣に するコード 1、 ハンドラ (壬1.゛ (壬、′) テーブル 、フィールド 、′ 月−一(1,F 表:規則目的コードのレイアウト 規則見聞長 上表“規則目的コードのレイアウト”の見出し部分は規則の名前を、コード、静 的データ及び変更可能なデータ領域を記述する種々の他の値と共に含む。
見出し内に記憶される長さは、長さ値の右のバイト数である。従って規則の合計 長は「長さ」内の値プラス28(「長さ値」を含むその左のハイド数)である。
値 オフセット 傳−文 旦−一一約 Rulename 00 Char(16) 規則の名前Date 16 Ch ar(6) 翻訳の日付Time 22 Char(4) 翻訳の時間Leng th 26 Bin(2) 規則の残余の長さNullparms 28 Bi n(2) 形式の番号parame ters Parv off 30 Bin(2) ローカルリストに対するオフセットN u+11ocs 32 Bin(2) ローカル変数の数Loc off 34  Bin(2) ローカルリストに対するオフセットCond off 36  Bin(2) 条件に対するオフセントAct off 38 Bin(2)  動作に対するオフセント[!xcp off 40 Bin(2) 例外名に対 するオフセントFunction 42 Char(1) 規則は関数(Y/N  )であるTabFld off 43 Bin(2) t、f名に対するオフ セントCon5t off 45 Bin(2) 定数に対するオフセ・ノドR u1e off 47 Bin(2) 規則名に対するオフセットVersio n 49 Bin(1) 目的コードバージョン#門od data 50 B in(2) 変更可能なデータ域のサイズ表47:規則目的コード見出しのレイ アウト現凰静的元二り 本節では静的データ域の内容の概要を説明する。静的データ区分内の若干の目的 名は、変更可能なデータ域内の項目に対する参照を含む。各参照は、変更可能な データ域の始めに対して2バイトオフセツトである。
静的データ域のレイアウトを記述する見出し内の値は、適切な時に識別される。
ぺ旦ムえ 目的コードのパラメタ区分は、この規則に関して宣言された形式パラメタの名前 のリストを含む。リスト内の各項目は16ハイド名前である。“Nui par ms”はこの規則に関して宣言された形式パラメタの数のリストを含み、一方“ Par糟off”値はこのリストの始めに対するオフセットである。
ユニ左上変数 目的コートのローカル変数区分は、この規則内で宣言されたローカル変数の名前 のリストを含む。リスト内の各項目は16ハイド名前と、それに続く変更可能な データ域に対する2ハイトオフセ、トとを含む。“Num Iocs”はこの規 則内で宣言されたローカル変数の数を含み、一方“Locs off”はこのリ ストの始めに対するオフセットを金色。
桝外二Z上旦名 例外名区分は、この規則によって処理される例外の名前のリストを含む。リスト 内の各区分は16バイト名前と、それに続(1対の2バイトオフセツトとからな る。第1の2バイトオフセツトは、この例外に関連するテーブルの名前を参照す る。テーブル名は16バイト名前として静的データ域内に記憶される。もし関連 付けられたテーブル名が存在しなければ、このオフセットはOである。第2のオ フセットは例外を処理するコードを参照する。“Excp off”はこのリス トの始めに対するオフセントを含み、このリストは2ハイドのOで終了する。
−一ブルのフィールド 規則目的コードのテーブル 、フィールド区分は、規則内の全ての直接テーブル  、フィールド名のリストである。リスト内の各項目は2つの16バイト名前( 1つがテーブル用、1つがフィールド用)と、それに続く変更可能なデータ域に 対する2バイトオフセツトとからなる。“TabFld off”はリストの始 めを参照し、このリストは“Con5t off ”オフセットで終る。
規則名 規則名区分は、この規則によって呼出される全ての直接規則でまたはこの規則内 に宣言されていないローカル変数〕の名前のリストである。リスト内の各項目は 16バイト名前と、それに続く変更可能なデータ域に対する2バイトオフセツト とからなる。“Ru1e off″はリストの始めを参照し、リストは°“Ta bFld off”で終る。
定数 定数区分は規則内の全ての定数(直定数または翻訳プログラムによって内部的に 生成された定数の何れか)のリストである。リスト内の各項目は6ハイト記迷子 と、それに続くデータとを有している。データ自体は1または2バイト長(もし データの長さがO,,127バイトならば1ハイド、128+ならば2ハイド) に事前に固定される。CLenの高次ビットは、もしCLenが2ハイドならば オンであり、それ以外の場合にはCLenはlハイドである。
型は、定数の意味型を含む単一のバイトである。全ての定数は未知(空白)の意 味型を有する。構文は、データの表現を指示するハイドである。有効構文は、B (2進数)、P(バンク10進数)、F(浮動小数点)、C(固定文字列)及び V(可変文字列)である。DLenは2ハイドであり、データの定義(または最 大)長を含む、CLenはデータの現長さを含む。Decも2バイトであり、小 数点の右側の桁数を含む。Decはバック10進数定数に対してのみ意味を有し ている。
“Con5t off ”は定数のリストの始めを参照し、このリストは′°長 さ°+28によって与えられる目的コードの終りに終了する。
規見演夏ユニ上 仮想スタノクマノンはスタックアーキテクチャに基づいている。殆どの仮想マシ ン命令は、スタ、りの頂上の項目を操作する。全てのろタック項目は4ハイド長 である。多くの項目は、テーブルのフィールド、規則定数、または実行中に築か れた一時的な値の何れかである値を指すポインタである。全ての値は6バイトの 言己述子と、それに続(実際のデータを指す4ハイドのポインタとからなる。デ ータ自体は1または2ハイド長に事前に固定されている。スタックは、規則呼出 し及び戻しを実現するのに必要な情報のような他の情報を含むことができる。
仮想マシンは実行中に築かれた値に対する一時域を維持する。一時的値がスタッ クからポツプすると、一時域内のそれらの記憶装置が自由になる。
全ての仮想マシン命令は単一ハイドの演算コード(opcode )を含む。o pcodeに依存して、Oll、または2つの2バイトオペランドを必要としよ う。
各opcodeの意味を記述する目的のために、項目1がスタックの頂上項目を 表し、項目2がスタックの第2項目を表しているものとする。またオペランド1 及びオペランド2がそれぞれ第1及び第2即値オペランドであるものとする。
名前 岨並臼 左岨し 4. 1iADD 4 0 2つの値を加算する。項目1と項目2をポツプする。
項目2+項目1の一時的値を作成し、ブツシュする。
asllB 8 0 1つの値を別の値から減算する。項目1と項目2をポツプ する。項目2−項目1の一時的値を作成し、ブノンユする。
aMUL7 12 0 2つの値を乗算する。項目1と項目2をポツプする。
項目2*項目1の一時的値を作成し、プノソユする。
1iDIV 16 0 1つの値を別の値で除算する。項目1と項目2をポツプ する。項目2/項目!の一時的値を作成し、ブツシュする。
aEXP 20 0 1つの値を別の値の「べき」とする。項目1と項目2をポ ツプする。項目2**項目1の一時的値を作成し、ブツシュする。
aUNM 24 0 値を算術的に否定する。項目1をポツプする。=(項目1 )の一時的値を作成し、ブツシュする。
1iiCAT 28 0 2つの値を連結する。項目1と項目2をポツプする。
項目lに連結された項目2の一時的値を作成し、ブツシュする。
1iE0 32 0 2つの値が等しいか比較する。項目1と項目2をポツプす る。項目2−項目1の一時的値(Y ′またはN ′を作成し、ブツシュする。
iNε 36 0 2つの値が不等であるか比較する。項目1と項目2をポツプ する。項目2−一項目1の一時的値(Y ゛またはN’)を作成し、ブツシュす る。
aT 40 0 1つの値が別の値より小さいことを決定するために比較する。
項目1と項目2をポツプする。項目2〈項目1の一時的値(Y°または“N”) を作成し、ブツシュする。
1liLE 44 0 1つの値が別の値より小さいかまたは等しいことを決定 するために比較する。項目1と項目2をポンプする。
項目2く=項目1の一時的値(y°またはN’ )を作成し、ブツシュする。
aG7 48 0 1つの値が別の値より大きいことを決定するために比較する 。項目1と項目2をポツプする。項目2〉項目1の一時的値(“Y゛または°N ″)を作成し、プ。
シュする。
aGE 52 0 1つの値が別の値より大きいかまたは等しいことを決定する ために比較する。項目1と項目2をポツプする。
項目2〉=項目1の一時的値(“YoまたはN’ )を作成し、ブツシュする。
acALL 56. 0 手順向き規則またはビルトインを呼出す。オペランド 1は渡される引き数の数であり、それらは既にスタック上にブツシュ済である。
オペランド2は呼出しのための規則の名前に対するオフセットであり、正のオフ セットは静的データ域内の名前に対する参照である。
正ではないオフセットは間接規則名を表し、その場合項目1は呼出しのための規 則の名前を含む。間接呼出しでは項目1がポツプされる。呼出者の環境が保管さ れ、実行は呼出された規則の始まりで開始される。
1iF8 60 0 関数的規則またはビルトインを呼出す。オペランド1は渡 される引き数の数であり、それらは既にスタック上にプッンユ済である。オペラ ンド2は呼出しのための規則の名前に対するオフセットである。呼出者の環境が 保管され、実行は呼出された規則の始まりで開始される。
64 未使用 1iRETURN 68 0 関数的規則または手順向き規則から戻る。呼出さ れた規則へ渡された全ての引き数をポツプし、呼出者の環境を回復する。もし呼 出された規則が関数であれば戻り値をスタック上へブノンユする。
alJN丁IL 72 2 いTILループの実行を初期化する。オペランド1 はループが終了すると実iテされるopcodeに対するオフセットである。オ ペランド2はこれがし’fTll1..DISPLAYループ(1)であるのか 、また:ま将に、いT11.ループ(0)であるのかを指示する。
iiPARM 76 1 形式的規則パラメタをスタック上ヘブノノユする。オ ペランドlは形式的パラメタの数である。(Nパラメタを有する規則の場合には 、1番目のパラメタは(N−1)の番号付けがなされる。)パラメタ値はスタッ ク上ヘプッシュする。
acONsT 80 1 定数をスタック上ヘブ、シュする。オペランド1は静 的データ域内の値に対するオフセントである。値の記述子を一時域内ヘコピーし 、4バイトポインタをそれに追加する。静的データ域内の値のデータを参照する ようにポインタをセットする。定数値をスタック上ヘプソシュする。
iTEMP 84 0 値の一時的コピーを作成する。もし項目1が一時的値で なければ一時的コピーを作成し、項目1をポツプして一時的値をブツシュする。
1i11FIEL0 88 1 テーブルのフィールドをスタンク上ヘプッシュ する。
オペランド1はテーブル 、フィールド名に対するオフセントであり、正のオフ セットは静的データ域内の名前を参照する。正ではないオフセントは間接テーブ ル 、フィールドを表し、その場合項目1はテーブルの名前であり、項目2はフ ィールドの名前である9間接参照では項目l及び項目2がポンプされる。フィー ルド値をスタック上ヘプノンユする。フィールドをプノノユする際の検査はその フィールドがある値を有していることを確認し、そうでなければ例外IJNAs s IGNEDが掲げられる。
aWFIELD 92 1 テーブルのフィールドをスタック上ヘプノンユする 。
オペランド1はテーブル 、フィールド名に対するオフセットであり、正のオフ セットは静的データ域内の名前を参照する。正ではないオフセットは間接テーブ ル 、フィールドを表瞑その場合項目1はテーブルの名前であり、項目2はフィ ールドの名前である。間接参照では項目I及び項目2がポツプされる。フィール ド値をスタック上ヘプノシュする。
1iAEND 96 0 現コード区分の終りをマークする。条件をandから 分離するために例外からの動作を使用する。仮想マシンはaAENDを「決して 」実行しない。
1iSET 100 0 テーブルのフィールドに値を割り当てる。項目lはテ ーブルのフィールドである。項目2は目標テーブルの名前である。項目1のデー タを項目2のデータにセットし、両項目をポツプする。
aABN 104 0 共通して名付けられたフィールドをテーブルに割り当て る。項目1は原始テーブルの名前である。項目2は目標テーブルの名前である。
目標テーブル内の共通して名付けられた全てのフィールドを原始テーブル内のフ ィールドのデータにセットする。項目1と項目2をポツプする。
1scl(ED 108 2 規則の非同期実行をスケジュールする。オペラン ドlは渡される引き数の数であり、それらは既にスタック上にブツシュ済である 。オペランド2はスケジュールするだめの規則の名前に対するオフセットである a ″)999これらの引き数を用いて何が行われるのか及び待ち行列名は9? 9.全ての引き数をスタックからポツプする。非同期事象のための待ち行列の名 前である項目1をポンプして続行する。
aDROP 112 1 規則内のオフセットへ条件付きで分岐する。項目1を ボノフ゛する。もし項目1がY′でなければオペランド1によって与えられるオ フセットへ分岐する。
aNEXT 116 1 規則内のオフセットへ無条件で分岐する。オペランド 1によって与えられるオフセットへ分岐する。
aBRC1201規則内のオフセットへ条件付きで分岐する。最後のaTAM  opcodeの結果としてセットされた戻りコードを検査する。もしそれが非○ であれば、オペランド1によって与えられるオフセットへ分岐する。
aFOlll 124 0 FOI?ALL ループの実行のために初期化する 。
iiTAM 128 1 テーブルアクセス要求を遂行するためにTAMを呼出 す。
オペランド1はスタック上の引き数の数を含む。これらの引き数からパラメタリ ストを築き、TAMを呼出す。
もしアクセスがFORALLまたはllNT11. 、、DISPLAY以外で れば引き数をスタックからポツプする。もしアクセスがFOIIALLまたはυ N丁IL 、、DISPLAYであり戻りコードがO(出現の終り)であれば引 き数をポツプする。
そうでなければ引き数をスタック上に残す。TAM呼出しからの戻りコードを保 管する。
aTA?lP 132 1 TAM選択列またはパラメタリスト内へ参照を挿入 する。
項目1は選択列またはパラメタリスト内へ挿入すべき値である。項目2は選択列 またはパラメタリストである。オペランド1は項目1に対する参照が挿入される 項目2内のオフセットである。必要ならば項目1及び項目2の両者の一時的コピ ーを作成する。項目1に対する参照を項目2内へ挿入し項目1をポツプする。
(項目2はaTAM opcodeの実行の途中でポンプされよう、) aTAMN 136 1 テーブル名をTAMテーブル名引き数円ヘコビーする 。
項目1はTAMへ渡されるテーブル名である。項目2は16バイト空白文字列で ある。オペランド1はテーブル名がコピーされる項目2内のオフセットである。
必要ならば項目1及び項目2の一時的コピーを作成する。
項目1を項目2内ヘコビーし、項目1をポツプする。
(項目2はaTAM opcodeの実行の途中でポツプされよう。) iisIGNAL 140 0 例外を掲げる。項目lは掲げられる例外の名前 である。
項目1をポツプし、例外を掲げる。
144 未使用 aAcALL 148 1 条件から動作を呼出す。次の命令(′″retur n address’)に対するオフセットをブツシュし、オペランド1によっ て与えられるオフセットへ分岐する。
aARETl]RN 152 0 動作から(条件へ)戻る。項目1は実行され る次のopcodeのオフセットである。項目1をポツプし、そのオフセットへ 分岐する。
aEXEC1562手順向き規則を実行する。オペランド1は渡される引き数の 数であり、それらは既にスタック上にブツシュ済である。オペランド2は実行の ための規則の名前に対するオフセットであり、正のオフセットは静的データ域内 の名前に対する参照である。正ではないオフセントは間接規則名を表し、その場 合項目1は実行のための規則の名前を含む。間接実行では項目1がポツプされる 。現トランザクションの環境が保管され、新トランザクションは実行中の規則の 始まりで開始される。
160 未使用 2SET1 164 1 ローカル変数シこ値を割り当てる。項目1は割り当て られる値である。オペランド)はローカル変数である。
オペランド1のデータを項目1のテ°−夕にセットし、項目1をポツプ“する。
州ARG 168 2 名前によって渡される引き数のリストを位置によって渡 される引き数のリストに変換する。スタック:まパラメタ名/パラメタ値対から なる。オペランドlは名前/値対の数である。オペランド2は引き数が渡される 規則の名前に対するオフセットであり、正のオフセントは静的データ域内の名前 に対する参照である。正ではないオフセットは間接規則名を表し、その場合項目 1は規則の名前を含む。間接実行では項目1がポツプされる。全ての名前/値対 がポツプ8h、and値が位置順にブフンユされる。
1NOT 172 0 値を論理的に否定する。項目1をポツプする。−(項目 l)の一時的値を作成し、ブツシュする。
176 未使用 180 未使用 aXcALL 184 2 手順向き規則を転送呼出しする。オペランド1は渡 される引き数の数であり、それらは既にスタック上にブツシュ済である。オペラ ンド2は転送呼出しのための規則の名前に対するオフセットであり、正のオフセ ットは静的データ域内の名前に対する参照である。正ではないオフセットは間接 規則名を表し、その場合項目1は転送呼出しのための規則の名前を含む。間接転 送呼出しでは項目1がポツプされる。現トランザクションの環境が破棄さ粗断ト ランザクションは転送呼出しされた規則の始まりで開始される。
駆l更鳴Sたj 仮想、マシンは、実行時間と静的データ域内に命名された目的、特に規則、o  −カル変数及びテーブルのフィールドに対する参照との結び付けを遂行する。結 び付けは目的の探索を含み、目的が最初に参照された時に行われる。結び付けは 目的のアドレス(または“スレッド”)を変更可能なデータ域内に記憶すること によって憶えられる。目的のアドレスが全トランザクンヨンのための定数である ことから、結び付けられた目的に対する爾後の参照は単にスレッドを使用すれば よい。
変更可能な域のサイズIよ、規則が原始から目的コードに翻訳される時に計算さ れる。このサイズは’ Mod data″値として規則見出し内に記憶される 。トランザクションの途上で規則が最初に呼出される時に、その変更可能なデー タ域が割り当てられてOを含むようにセットされる。規則が実行されるにつれて テーブルのフィールド、ローカル変数、及び規則は、それらのアドレスがこの規 則の変更可能な域内の指定されたオフセットに保管されることによって、結び付 けられる。
規則の変更可能なデータ域はトランザクゾョンが終了すると割り当てから解放さ れる。
変更可能なデータ域は間接規則及び間接テーブル 、フィールド参照の名前を保 管するためにも使用される。規則opcodeの節で説明したように、間接参照 は正ではないオフセットによッ7 aRFIEI、D、 兼FIELD 、 1 iCALL 、 1EXEc 、 1iXCALLまたはaWARG opco deのためのオペランドとして表示される。正ではないオフセットは、参照され ている規則またはテーブル、フィールドの名前が仮想、マシンスタック上にある ことを指示する。この名前はオフセットの絶対値で、そのスレッドと共に変更可 能なデータ域に内に保管される。
表 B:結び付は後のテーブル 、フィールド参照変更可能なデータ域 表 C:結び付は前の間接規則呼出し 規則ツユ上順序 以上に種々の仮想マシン命令が利用できることを説明した。今度は種々の言語機 能を実現するためにそれらをどのように組合わせるかを説明する。
に実行される動作(動作リスト)に対する”呼出し”の順序(iiAcAl、L )である。
これらのaACALL opcodeは、ある条件と、もしこの条件が満たされ なければ次の条件に分岐する1iDROP opcodeとを評価するためにコ ードによって“保護”することができる、評価するさらなる条件が存在しない場 合には、結果として1iAcALLopcodeの未保護+191亨が発汁し得 る。
1iAcALL opcodeは次の命令に対するオフセットをスタック上にプ ノンユし、次いで動作へ分岐する。動作の最後のopcodeは、保管されたオ フセットをその条件のための次の動作を処理するために戻すδRETIIII! iである。aRETLIRN opcode は規則から戻すために各順序内に 最後の1AcA比を伴う。
条件から動作を“呼出す”ことの王便益は、ある動作が1以上の条件の動作リス トのメンバーである場合、その動作のためのコードを1回だけ生成すればよい表 Eに例を示す。
□ 規則目的コード オフセット opcode オペランド 摘要条件 54 : aPARM I Xの値をブツシュ57 : 5PARM OYの値 をブツシュ5A: 5LT X、Yをポツプ、X<Yをブ、ツユ5B : 1i DROP 62 IF X < Y TEHN5E、 aACALL 67 オ フセット67で動作′°呼出巳゛61 : El’lETしRN ELSE62  : aAcALL 6Ct 7セノ)6Cテ動作□“呼出し“65 : aR ETURN ENDIF66 : aAEND 条件(7)Rす動作 67 : aPARM OYの値をブツシュ6A : 1iRETIIRN 規 則から戻る6B : 2ARET[l1lIN ある動作の終り5C: 1iP AR)I XO値をプノノユ6F : 1iRETuRN 規則から戻る70:  1iAI’tETじRN ある動作の終り71・ 1AEND 動作の終り 表 E・ 条件及び動作のための原始コード及び目的コード荊−半て 割り当て文のために生成されるコードは、ある式の事後固定表現と、それに続く δ5ET1. (ローカル変数への割り当て)または1isET (テーブルの フィールドへの割り当て)の何れかとからなる。表Fは識別子Gに対する参照を 示す。規則ASSIGNが翻訳される時に、それはGがASSIGNの祖先の1 つ内に定義されているローカル変数であるのか、または引き数を取らない関数で あるのかを知っていない。翻訳プログラムはGが関数であるものとしてコードを 生成し、1iFN opcodeが実行される時にGが実際シこローカル変数で あるか否かを決定するための検査が行われる。
現胆呼坦ρ 規則のための引き数:ま位置によって、または名前によって(WHERE文節を 使用して1渡すことができる。パラメタが位置によって渡される場合に規則呼出 しのために生成されるコードは極めて直接的である。先ず各引き数が評価されス タック上に一時扱いにされる。それに続いて託ALL(または関数規則の場合に はaFN)opcodeが引き数の数及び規則の名前をそのオペランドとして取 る。呼出されている規則内のaRETUllN opcodeが実行される時、 呼出された規則へ渡された全ての引き数:よポツプされる。もし呼出された規則 が関数であるば、戻り値はスタックの頂上に残される。
引き数が名前によって渡される場合には、生成されるコードはやや複雑である。
各引き数が評価され一時扱いにされるのは位Iによってパラメタが渡される場合 と全く同しである。しかし、各引き数が対応する形式的パラメタの名前も引き数 の直後にブツシュされる。これによりスタック上にはパラメタ名の後に各引き数 毎のパラメタ値が伴うことになる。aCALL opcodeの直前は1WAR G opcodeである。
2WARGはスタック上の名前/値対を、引き数が位置によって渡された時と同 し形状で通報する。これによって実際に引き数が名前によって渡されていること に気付かずに、託ALL opcodeを実行する、二とができる。
規則呼出しによって生成されるコードの例を表Fに示す。
表ヱ久i各 表アクセス方法、即ちTAMは、データベースにアクセスする種々の言語文を実 現するために使用される。TAMへのインタフェースは極めて単純であって、実 行時間スタック上のaTAM opcode及びN(1乃至5)引き数である。
テーブルアクセス文のために生成されるコードは、先ず必要引き数をスタック上 へブツシュし、次いでTAMを呼出す。TAMから戻った後、aTAM o匹o deはその引き数をポツプしく LINTIL 、、 DISPLAYまたはF ORALLの遂行途上でない限り)、TAMから戻されたコードを保管する。
スタック上ヘプンシュされる最初の引き数は常に74M演算コードである。それ はTAi−にどの種類のテーブルアクセスが遂行されつつあるのかを告げる。7 4M演算コードは唯一要求される引き数である。他の各引き数は任意選択であり 、必要に応して渡されるものである。
規則原始コード 割り当て; 規則目的コード: オフセット opcode オペランド 摘 要条件 1 46 : 1iAcALL 4E 動作1呼出し l動作 1 4E: aFN OG GO’)値をブツシュ53 : acONsT 1 1 をブツシュ56、 籟DD G+1を計算 5B: asETL L 値をLに割り当て5E : 2ARETURN 動作 1から戻り5F: 2FN OL Lの値をブツシュ第2の引き数は、アクセス されているテーブルまたは画面の名前である。この名前は常に長さが16文字と なるようにバッドされる。第3の引き数はそのテーブルのためにパラメタ値のリ ストを含む。パラメタリスト内の要素はiTAMPopcodeによって挿入さ れる。
規則原始コード: 呼出し: 規則目的コード: オフセット opcode オペランド 摘 要条件 34 : aAcALL 3C動作1呼出し37 : aACALL 4A 動 作2呼出し3A : attETURN 規則から戻り3B : 1iAEND 動作 3C: 1icONsT 5ELECTION″ “選択”をブツシュ3F:  1iTE門P それを一時扱いにする40 : acONsT ’5ELECT  F=5’ “選択F=5をブツシュ43 : aTE?IP それを一時扱い にする44 : acALL 2 PAR5E 2引き数を有すルハースを呼出 し49 : aARETUllN 動作1から戻り4A : acONsT 5 ELECTION”選択”をプッシュ4D : aTEMP それを一時扱いに する4E : acONsT GRAMMAR” 形式の名前をブツシュ51  : 1icONsT 5ELECT F=5” ’“選択F=5をブツシュ54  : aTEMP それを一時扱いにする55: acONsT ”lNP[I T” 形式の名前をブツシュ58: 釦^11G 2 PAR5E 位置リスト に変換5D : 2CALL 2 PAR5E 2引き数を有するバーズを呼出 し62: 楯RET;Ri+ 動作2から戻り63 : aAEND 表 G: 規則呼出しのために1成されるコードテーブルに加えるべき選択を含 む4番目の議論は、説明するのに最も複雑なものである。基本的にこれは、WH EREクローズの後置による表示を含んでいる。これは、論理演算子によって結 合されている1つ以上の項によって構成される。各項はフィールド参照によって 始まり、これに表現式(フィールド参照、値および算術演算子によって構成され る)が続き、関係演算子によって終了する。各フィールド参照は17バイト長で あり、1個の1ハイドの2aコードは、これがフィールド参照であり、その次に このフィールドの名前が続くことを示す。各値は、この値のための1個の1バイ トの2進コードであり、これにはこの値に対する4バイトのポインタが続く、各 演算子はこの特定の演算子を表す1バイトの2進コードである。パラメータ・リ スト内の要素と共に2TAMP演算コードをイ吏用して参照を選択列内の値に挿 入する。
5番目の議論は、検索した事象に加えるべき全ての順序付けを含んでいる。順序 付けした列内の各項は16バイトのフィールド名を含み、これに「AJまたは「 D」が続いてそのフィールドが昇順にl1l(寸けされるべきであるか降順に順 序付けされるべきであるかを示す。テーブルHはテーブル・アクセス・コードの 例を示す。
間接参照 ルールの名称(CAL、 TRANSFERCALLまたはEXECUTE ス テートメントにおける)種々のテーブルのアクセス・ステートメン[・における テーブルまたはスクリーンの名称、割当の左側または表現式におけるテーブルお よびフィールドの名称を指定するため間接参照を使用してもよい。
間接参照用に発生されたコードは、先ず参照をスタックに!!置することによっ てこの参照を評価する。間接参照を使用する演算コードは、そのオペランドの1 つとして非圧オフセットを有する。この非圧オフセットは、この名称が(直接参 照の場合の静的データ領域にあるのではなく)走行時間スタックにあることを示 す。テーブルIは間接参照コードの例を示す。
テーブル・アクセス・ステートメント用の間接テーブルおよびスクリーンの名称 は、上で説明したのとは若干異なった挙動を行う。テーブルまたはスクリーンの 名称の値をスタックに載置した後、特別の演算コード(aTAMN)が発生され る。
これほこの値を取出し、これをスタックの上部で一時的な値にコピーする。
GETTABLES; :t GET TABLES WHERE NA門E=T;12FOIIALL aR ULEsDOctlMENT (LTBT[l) 0RDERED ASCEN DING CREATED: : 3−一一一一工垣ユー−一−−一−ユ一一一 −−−一一−−−−−−−−−−−−−−−ルール・オブジェクト・コード: オフセット 演算コード オペランド コメントC0NDITIONS 44 、 aAcALL 4F 呼び出し動作147 : aacALL 59  呼び出し動作24^: 籟CALL 6F 呼び出し動作34D : 1iR ETtlRN ルールからの復帰4E : 1iAEND ACTIONS 4F : acONsT “G ″ T計演算コードをブツシュ52 : 1i cONsT “TABLES″ テーブル名をブツシュ55 、 9TAM 2  TAMを呼び出す(2args)58 : aARETLIRN 動作1から 復帰59 : acONsT ’G ” TAM演算コードをブツシュ5(;  acONsT ” TABLES ’ テーブル名をプンソユ5Fよ aicO NsT “TABLES″ ダミー・パラメータプンンユ62 : acONs T ” NAME ” 選択列をブツシュ65 : aPARM OT(7)値 をブツシュ68 : aTAMP 14 参照を挿入68 : iTAM 4  TAごを呼び出す(4args)6E : aARETllRN 動作2から復 帰6F : aFORI FO1?ALLの初期化7Q : 1icONsT  ” A ″ TAM演算コードをブツシュ76 : 1icONsT RULE SDOC1!MEN?” テーブル名をブyシュア9: aFN 0+、IBI II LIBIDを呼び出す7E : aTAMP 2 参照を挿入81: a cONsT #” グミ−5elstrをブツシュ84 : 1icONsT  ” CREATED A″ 順序strをブツシュ87 : aTA?I 5  TAl’lを呼び出す(5args)8A : aBRc 90 ブランチをc ond。
8D : 1iNEχT 87 ブランチをuncond。
90 : aARETUI?N 動作3から復帰91 : aAEND テーブルH: テーブル・アクセス用に発生されたコードルール・ソース・コー ド: 11NDREFs (R,T); DELETE T、 (3 ルール・オブジェクト・コード; オフセット 演算コード オペランド コメントC0NDITIONS 44 : aAcALL 4F 動作1を呼び出す47 : aACALL 5 8 動作2を呼び出す4A : aACALL 66 動作3を呼び出す4D  : 1iRETURN ルールから復帰4E : aAEND ACTIO)is 4F: aPARM I Rの値をブツシュ52 : aCALL O−4間接 呼び出し57 : 1iARETURN 動作lから復帰5B: acONsT  7 7をブy’/ユ5B : acONsT F ″ “F”をフッツユ(フ ィールド名)5E: aPARM OTt7)値をフッツユ(テーブル)61:  崖FIELD −18間接t、5:64: 1isET 7をフィールドに割 当てる65 : 1iARETURN 動作2からの復帰66 : 2CONS T “D ″ TAM演算コードをブツシュ69 : FiCONSl ″ ”  ダミー・テーブル名をブツシュ6C: apa叶 OTの値をフッツユ6F:  aTAMN Oタブ名をダミーに載置72 : iiTAM 2 TAMを呼 び出す(2args)75 : 1iARETlノRN 動作3から復帰76  : 1iAEND テーブルI: 間接参照用に発生されたコードV1. )ランザクノヨン・プロ セッサ第3図はトランザクンヨン プロセッサのブロック図であり、このトラン ザクノヨン・プロセッサは前の節で説明したように、オブジェクトコード水準の ルールを実行するための仮想、スタック・マシンを実行する。
この仮恐スタック・マシンはこれらのルールの実行を管理するソフトウェア・モ ジュール100である。セノンヨンが開始されると、仮想スタック・マシン10 0は複数のルール・ライブラリ101を検索して1Miのバッファl○2を設定 する。更に、演算コード・テーブル103が設定され、スタック104がセット アツプされる。これらのバッファは、データ管理領域102A、作業領域102 B、および1次領域102Cを有する。
実行を行う場合、仮想スタック・マシンは行105を介して命令ポインタをルー ル・ライブラリ101に発生する。スタック・ポインタが発生さ私行106を介 してこのスタックに供給される。仮想スタック・マシン100は行107を介し て演算コード・テーブル103と通信を行い、かつ行108を介してバッファ1 02と通信を行う。データ・アクセス命令は行109を介してテーブル・アクセ ス・マシンに供給される。仮想スタック・マシンは下記のようにアルゴリズムを 実行する。
1、 ルール内の命令ポインタによって示されるべき演算コードを取り出す。
2、 演算コード・テーブル103内の演算コードを探索し、この演算コードに よって識別されるホスト・システム・ルーチンを検索する。
3、 このホスト・システム・ルーチンを引き渡す。
4、 命令ポインタを前進させる。
5、 演算コードを取出すステップに戻る。
第17図は、r C)IEcKTRA IL Jという名称のルールを呼び出す ために仮想スタック・マシンが行う実行例を示す。この例では、tJIEcKT l?A ILルールは2つのパラメータ、すなわちTORONTO°とPER5 0Nを有する。このルールのオブジェクト・コードはルール・ライブラリのロケ ーション120に記憶されている。命令ポインタは、トップ−:l−F 1ic ONsT ’TORONTO’から最後フォノx’)トacALL2、オフセッ トに前進され、ここでオフセットは行121によって示される。このオフセット は、オフセット122を有するルール塩CIIECKTIIAILが記憶されて いるこのルールの静的データ領域内の位置を識別する。オフセット122は、C )IECK−TRAILオジエクト・コードの値が記憶されているこのルールの 変更可能碩域内のロケーションを記憶する。この値はCHECMTRAILを見 つけることができるルール・ライブラリ124内のロケーションを行123を介 して示す。スタック125は下記のようにインパクトをうける。
先ず、+IC0NST演算コードに応答して、可変TOIIONTOの値が仮想 スタック・マシンの作業領域内に載置される。;TEMP演算コートに応答して 、TOIIONTOパラメータの一時コピーが記憶される。このスタックには一 時コビー128のための値127に対するオフセット126がロードされる。次 に、パラメータ °PER50N’が仮想スタック・マシンの作業領域に移動さ ねへ一時コピーが行われる。このスタックには、定数PER30N 131の一 時コピーの値132に対するポインタ129がロードされる。次に、1iCAL L 2.オフセット・ルールが実行される。もし1iCALL演算コード内のオ フセットが呼び出されるべき静的データ領域内の名称とオフセットを指していれ ば、呼び出すべきルールを記憶しているルールの記憶装置内のロケーションを識 別する値はオフセント122によってff111されるロケーション132の変 更可能データ領域に記憶されている。仮想スタック・マシン内の命令ポインタは 次にCIIECKTRAILが見付かるルールの記憶装置124内のロケーショ ンに移動し、CHECKT[1AILを実行する。
第T図に示すルール・ライブラリ101は、複数のルール・ライブラリによって 構成される。1iCALL演蒐コードを実行すると、適当なルールに対するサー チがルール塩によって実行される。このルールは、ライブラリの1つの中のルー ルオブジェクト・コードとして、ビルトイン機能またはサブルーチン(例えば、 ユーザの入力に応答するENTEIIキーのサブルーチン)、恐ら< Cobo lまたはPLIのような異なったソース言語で書かれた顧客の定義する外部ルー チンとして見出ことが可能であり、またはこれは実際のルールに対する呼び出し ではなくて局部的で可変の参照である。従って、ルールの名称のサーチは、先ず ステートメントが実行されたルール内の局部的な変数のリストによって進行され 、第2に所定のセツションに対してユーザがセットアツプした局部的なルールの ライブラリによって行われ、次に所定の実行及びプログラム環境に対して顧客が 設定した標準的な組のルーチンである導入ルール・ライブラリを介して行われ、 第4に動作システムの全ての標準的な機能を含むビルトイン・ルーチン・ライブ ラリによって行わ九第5に、データの管理及びその他のビルトイン動作で使用さ れるHOSシステム・ルールを記憶するシステム・ルール・ライブラリを介して 行ね瓢箪6すなわち最後に、外部ルーチンのライブラリを介して行われる。
セノンヨン・マぶ−ジャのような前のルールからルールが呼び出される場合、後 続のルールの実行を開始する前に、以前のルールのスタックをスタ・ツク内の文 脈保存領域に保存する。復帰ステートメントを実行すると、スタック・ポインタ は以前のルールに戻る。
仮想スタック・マシン内のデータ管理領域102Aは、ルール塩のサーチを行う テーブルを有している。第5図はこれらのテーブルを示す。ルール塩の場合、ル ール名ハンソユ・テーブル150が発生さね、これはエントリの長さが127で ある。ルール名ハンンユの各エントリは、このエントリにハツシュされる最初の ルールに対するポインタを有する0例えば1、CHECKTRAILルールに対 するポインタ151は第1エントリである。C)IEcKTRA ILルールは ハツシュテーブル内のこのエントリに対応する第2ルールに対するポインタ15 2を記憶する(例えば、この図に示す5IIORTルール)。5HO1?Tルー ルは次にこのリストの終わりである後続のエントリに対するポインタ153を有 し、これはルール名ハツシュ・テーブル内の所定のロケーションにハツシュされ る。
もし呼び出したルールがハツシュ・テーブル内に位置していなければ、次にこれ はテーブル・アクセス・マシンによって検索さ九センジョン用のルール・ライブ ラリに挿入されなければならない。
第6図は、仮想スタック・マシンのデータ管理領域内にビルトインされたテーブ ルの定義を示す。このテーブルの名前は、先ずテーブル名称ハツシュ・テーブル 160にハノンユされる。次に、ハソンユ・テーブル160のエントリをテーブ ル・リスト161に示し、このテーブル・リスト161をサーチして問題のテー ブルrFRυIT Jの名前を見つける。このエントリは、パラメータ・リスト 163に対する第1ポインタ162とこのテーブルのフィールド・リスト165 に対する第2ポインタ164を存する。このフィールド・リストは、問題の領域 を有するテーブルの発生した場合の行バッファ167に対するポインタ166を 有する。
仮想スタック・マシンは、全てのデータ・アクセスおよび局部的な変数に対する バッファを有している。従って、ルールのプログラムが、GET CARS W HERE LICPLATE−“878BBC’ 。
であれば、VSM (virtual 5tack machine)はテーブ ルCAll5に対するデイク’/ヨナリ情報を取得し、これに対するバッファを 設定しなければならない。
同様に、ルールのプログラムが、 CUSTOMER,NAME−INPUT、 NAME。
であれば、データ・アクセス命令を発生することなく、仮想スタック・マシンは テーブルCUSTOMEHに対するディクシ目ナリ情報を取得し、これに対する バッファを設定しなればならない。
特定のテーブルに対するバッファが設定されると、これは現在のトランザクショ ンにおける全てのルールに対して以降使用可能になる。仮想スタック・マシンは 、GETまたはFORALL命令を介してまたは割当ステートメントを介してい ずれのフィールドといずれのテーブルが値を割り当てたかを追跡しつづける。
仮想スタック・マシンは、1組のアクセス命令を発生することにより、全てのア プリケーション・プログラムが正に行っているように、そのデータ管理領域を形 成するためのディクノヨナリを取得する。
GET TABLES WIIERE NAME=TABLHNAME。
FORALL F置DS (TABLE NAME);FORALL PA!? 門S (TABLHNAME)。
ディクショナリ・データとその他のデータの均一なビューはこのテーブル・アク セス・マシン上に厳密に保存される。このテーブル・アクセス・マシン上のシス テムのいずれの構成要素も正規化されないディクショナリ・データを見ることは ない。
■、子テーブルアクセス・マシン 第20図は 、テーブル・アクセス・マシンをブロック回で示す。
このマシンすなわち方法は、ホスト・アセンブラ・ソフトウェア・モジュール2 00によって構成され、このモジュールは仮想スタック・マシンとvA201を 介して通信を行う。このモジュール200はバッファ202を設定し、このバッ ファ202はデータ管理領域バッファ202Aと作業領域202Bを有する。更 に、テーブル・アクセス法モジュール200によって複数のサーバに対するイン ターフェース401が設けられ、このインターフェース401は、ネイティブ・ テーブル・データ記憶装置に対するTDSサーバ203、ホスト・マシンと関連 するINSデータ・ヘース内に記憶されたデータ用の1MSサーバ204、ホス ト・マシンに接続された表示システムに対するインターフェースを設けるスクリ ーン・サーバ205、インボート/エクスポート・サーバ(図示せず)およびテ ーブル・アクセス法200を介して仮想スタ・7り・マシンに対してデータの検 索を行うために必要なその他のサーバを有する。インターフェース402を介し てこれらのサーバと接続されているのは選択エバリュエータ・モジュール206 であり、これはサーバの水準で選択列を解釈する。
テーブル・アクセス法(TAM、 Table Access Method) はこのシステムの構成要素であり、これはシステム内の全てのデータ・アクセス を管理し、ディクショナリ・テーブルとセツションによって使用されている全て の他のテーブルの収容場所の有効なオーナである。
丁AMに対する呼び出しは下記の情報を有している。
1、動作 2、 データおよび復帰領域のアドレス3、 テーブルの名称 4、 パラメータ 5、 選択列 6、順序付けした列 動作は下記の通りである。
A : FORALLの最初の要求 B : FO[1ALLの後続の要求 N: キーによらない入手 R: 取替え り、 削除 T: トランザクション 特定のテーブルに対する最初の要求で、TAMはテーブル・データ記憶装置から CTABLEを得る。CTABLEは正規化されていない形態のディクシゴナリ ・データによって構成される制御ブロックである。 CTABLEはTAMと全 てのデータ・サーバの両方によって行われる処理に使用され、これらのTDSは lである。CTABLEはTABLES、 FIELDS、 PARMS、 5 ELECTION、 0RDERING およびEVENTRtlLES ニオ はルノと同様に等価なデータを含んでいる。TA−は、GET TABLE W HERE NAME−テーブルの名称;のような呼び出しを与えられると、直ち にテーブル用のCTABMEを得ることに留意のこと。
通常、このことは、TAM上の構成要素はくテーブルの名称〉に対するバッファ を構築することを欲し、したがってGETを要求した直後下記を発生する。
FORALL FIELDS (テーブルの名称);およびFORALL PA RMS (テーブルの名称)これらの要求は、CTABLEからTAMによって サービスされる。
CTABLE以外にTA門はデータ行用のデータ構造をセットアツプし、ここで アクセスされた最後の行が保持されると共にベンディングのインチトリストがデ ータ・サーバに更新される。
TAMはデータ・ヘース内の配置を管理する。TDSのようなデータ・サーバは 、TA?+からの要求をいずれの情報網も要求毎に保持することなく1つ1つ処 理する。
LOCKMANAGER(TDS内)のみがトランザクションの持続期間中情報 を保持する。
パラメータ化されるテーブルの場合、TAMはバッファおよび設定されたテーブ ル内でアクセスされる各テーブルに対する位置を保持する。
REPLACE、 lN5ERTまたはDELETE要求がTAMによって受け 取られると、これはそこ(DELETEおよびREPLACE)で発生したもの であるか、またはそこ(INSERT)で発生したものでないかをサーバに尋ね ることによって、このTAMはこの要求が可能であるかどうかを確かめ、この事 象に基づいて排他的なルックを得る。従って、TAMはCOO12、ROLl、 BA(JまたはTRANSACnON END要求を受け取る迄11EPLAc E。
lN5ERTまたはDELETEの発生をインチトリストに載置する(リストを 作成するための作り。
TAMはサブビューと論理ビューの間で変換を行い、これは下記によって構成さ れる。
* 異なった表示の間のデータの変換 車 選択(サブビューは論理ビューよりもより少ない行を有している)* 順序 付け(論理ビューと異なった)水 取出したまたは計算したフィールドサブビュ ーは論理ビューに対するウィンドであることが効率的であり、これは記憶装置で は決して具体化せず、実行の期間中にバッファ内に現れるだけである。
しかし、ユーザおよびVS?Iにとって、サブビューのテーブルと論理ビューの テーブルの間に明確な差は存在しない。
取出したフィールドはサブビューのフィールドであり、これはGETの処理また はFOALLの処理中に計算される。妥当性の検査(validation)と トリガのルールはEVENTRuLES情報に基づいて実行される。
3つの場合全てにおいて、TAMは(再帰的)呼び出しを仮想スタツク・マシン に対して発生してルールを実行する。その上に妥当性の検証またはトリガがスケ ジュールされているテーブル・バッファは、インチリントリストと同様に、再帰 水準によって共有されている。
TAMは一時的テーブルの概念を実行し、これはトランザクション(TAMのデ ータ領域に於ける)の期間中のみに存在するが、TDSのようないずれのデータ ・サーバ内でも具体化しない。
TAMは、データ・サーバ内で保持されている順序とは異なったj@序でサブビ ューとFORALLの要求の両方に対する全ての必要なソートを実行する。
データに対するアクセス要求は、特定のテーブルに対するTABLESテーブル 内の情報に基づいて適当なサーバに与えられる。
第21図は、TAMのバッファ記憶領域の図である。TAMのバッファ記憶領域 は、テーブル・インデックスを有するアンカー記憶領域250を有する。このテ ーブル・インデックスはテーブルT1−T3等などの各々に対するCTABLE をハフファする1組のCTABLES251に示される。
更に、所定のテーブルT1に対するバッファ・ポインタはこのテーブルT1に対 するバッファの組252に供給される。この組252は、テーブルlに対するト リガーとパラメータのインデックス253を有する。このインデックスは、必要 に応して実際のデータ発生バッファ254.255.256等に供給される。
更に、インデックス・ページ253は、ページ257における、選択列等の他の T1の情報に示される。更に、テーブルTl用のインテント・リストは、必要に 応してページ258と259内で保持される。
更に、アンカー記憶袋ff250は組260内のフリー・バッファに示され、こ れは複数のシングル・リンク・エンプティ・バッファを有する。
バッファ動作は連続して前方向に行われる。テーブルのアンカーは「T」の演算 コードに応答してトランザクションの終了時点でクリアされる。
第9図は、テーブルの種類対これらのテーブルの種類に対して実行可能なテーブ ルの演算コードを示すチャートである。第9閲において、テーブルの種類5II BはTBSのテーブルの種類1またはINSのテーブルの種類2のいずれかのサ ブビニ−である、更に、IMPの種類のテーブルとEXPの種類のテーブルはP DSのメンバに等しいパラメータPARM 1を有している。
第10図は、テーブル・アクセス・マシン内のCTABLE f*報を示す。C TABLEは、バッファ280に記憶されている対応するテーブルの特性のテー ブルである。
このバッファは行データ281から発生され、この行データ281は、テーブル データ記憶装置におけるディクノヨナリ・テーブル282から検索されたもので ある。これらのディクソヨナリ・テーブルは、今度はシステム内における全ての 他のデータのようにテーブル・データ記憶装置のバランスした記憶構造283内 に保持される。従って、CTABLE内のメタデータはそれに基づいてトランザ クションが実行されている関係のあるオブジェクト指向データ・ヘースに記憶さ れる。
しかし、「メタ−メタ−データ(meta−meta−data ) 」はハー トによって符号化されている。すなわち、ディクンヨナリ構造はユーザのために 設定され変更することができない。従って、所定のトランザクションがうまく完 了するには最小組のディクノヨナリ・チーフルがなければならない。
所定のCTABLEはトランザクションの持続時間中拘束されている。従って、 これが検索された後、テーブルの一部を最初に呼び出すと、そのテーブルに対し てその後に行われる全ての呼び出しはテーブル・アクセス・マシンのトランザク ション記憶領域内のこのCTABLHによって行われる。
第11図は、ソース・テーブル(T)とサブビュー・テーブル(S)を示す。
サブビューは、ソース・テーブル内のある長方形のマツプである。従って、第1 1図から分かるように、サブビューは、ソース・テーブルTの行2.3および5 の第1および第3列を有している。このサブビューは、データ・バッファを1組 しか有していないが、CTABLESを2つ有しているテーブル・アクセス・マ シンによって実行される。サブビューは、インターフェース時間が発生する度に 構築される。しかし、取り出されたフィールドは、ソース・テーブルからのみ発 生される。従って、サブビュー・テーブルSにアクセスする必要のあるルール内 の要求に応答して、テーブル・アクセス・マシンはソース・テーブルTとサブビ ュー・テーブルSの両方に対して制御テーブルを構築する。
アクセスはソース・テーブルTに対するテーブル・データ記憶装置内で発生する 。従って、ソース・テーブルのページはテーブル・アクセス・マシンに戻される 。次に、このテーブル・アクセス・マシンはページをバ・ノファし、これを論理 サブビューに変換し、サブビュー内の最初の事象を実行子(executor  )に戻す。
トリガーは事象のルールとしておよびそうでなければ所定のテーブルに対するC TAPLHのエントリーに応答して実行することができる。ルールを呼び出すと 、呼び出しルール実行環境が保存され、TA−はトリガーされたルールを解釈す るために実行子に送る。トリガーされたルールはまたテーブル動作を発生するこ とが可能であり、これらのテーブル動作によって実行子はテーブル・アクセス・ マシンに復帰する。トリガーされたルールを完了すると、制御は呼び出しルール に戻る。
パラメータ化されたテーブルはアクセス モデルで実行されるが、発生水準では 実行されない。従って、これらはサブビューと同し方法で実行される。これらの パラメータ化されたテーブルにより、連結されたキー、改良された同時実行、仮 想マシン内の保管記憶スペースおよび単純化された保管力呵能になる。これらは 、テーブル・データ記憶装置内のディクショナリからテーブル・アクセス・マシ ン内にパラメータ・テーブルを構築することによって実行される。この制御テー ブルは、TAMからテーブル・データ記憶装置に対するrT、呼び出しに応答し て構築される。このテーブル・アクセス・マシンは次にパラメータの事象を実行 子に送り、テーブル・ルンクアップ・インデックスに入力する。
TAMは、テーブル・データ記憶装置からのデータをソース・テーブルから検索 する。これはソース・テーブル用のバッファを構築し、次に複数の事象を実行子 に送る前にパラメータの選択を実行する。
また、サブビューの選択は、オペレータのfills上にソース・パラメータの 名前を指定することができる。一時テーブルとインテント・リストは同しコード を有するテーブル・アクセス・マシンによって作られる。テンポラリ・テーブル によりまた選択が可能になる。これらのテーブルは直線的な方法でサーチされる 。しかし、アクセスはランダムに行うことができる。
第12図は、所定の動作に対するインテント・リストのコードと追加を示す。
インテント・リストにはインテントが記憶され、値に=5と値に=4を記憶して いることが分かる。終了時点で実行されるFORALLステートメントによって ソートが呼び出され、挿入を行なう。取替え、削除およびゲノ) (get ) のような他の演算子は同し方法でインテント・リストを使用する。
第13図は、トランザクションの図である。本発明によるこのオブジェクト指向 動作システムは、トランザクション指向である。従って実行子はトランザクショ ンを決定し、テーブル・アクセス・マシンはこのトランザクションの認識によっ て動作する。これムこより、動作は同時性と完全性を得るための小片にブレーク ダウンされることが可能になる。また、これは転送呼び出しおよび実行機能を除 いてユーザにとって明白なものまたは暗黙のものになることができる。第13図 に示すように、トランザクションが開始されると、第1のルールは点300にお けるCALLである。このルールは、第2のルールが点301で呼び出されるま で実行される。この第2のルールは、テーブル・アクセス・マシンに対する再帰 的呼び出しを有する実行子によって実行される。第2のルールは点302で第3 のルールを呼び出すことができる。この第3のルールは、これが動作を完了して 点303で第2ルールに対する復帰を発生するまで実行される。次に、第2ルー ルは実行を完了し、点304で第1ルールに対する復帰を発生する。次に、第1 ルールは実行を完了して終了する。概念上第1ルールはセツション・マネージャ と考えることが可能であり、ここでこの第1ルールは演算子にメニュー・スクリ ーンを提供する。演算子は次に第2ルールを呼び出して所定のアブケーションを 実行する。この第2ルールは、所定のアブケーンヨンによって要求される幾つの 数のトランザクション・レベルを有することも可能である。
テーブル・アクセス・マシンは、またデータ・ベース内のオブジェクトに対して 2相のロック・プロトコルを実行する。全てのロックはトランザクションの終了 時点でクリアされ、トランザクション中に口より弱くコされることはできない。
これらのロックはテーブル・アクセス・マシンによって要求さ演テーブル・デー タ記憶装置または他の種類のデータ・ソースのサーバのようなネイテブ・アクセ ス・メソッド・サーバによって承認されまたは承認されない。
テーブル・アクセス・マシンは、また選択評価子に対する転送用の選択列を構築 し、この選択評価子は、テーブル・データ・ストア・サーバまたはその他の不イ テブ・データ・ストア・サーバと関連する。選択評価子は、サーバによって呼び 出される。サーバは、選択列と共にテーブルから行を供給する。選択評価子に供 給されるデータの定義は存在しない。選択評価子は選択動作を実行する。選択の 結果は適当なサーバによってテーブル・アクセス・マシンに戻される。
本データ処理システムの種々のテーブル、スクリーン、およびその他のサブシス テムにアクセスするため、vSh内のオブジェクト・コード・ルーチンは@TA l’1アーギュメントを構築し、これらのアーギュメントはvS門< −−−> TAMインターフェースでTAMに供給される。TAMはテーブル、スクリーン 等に対する実際のアクセスを実行するサーバに種々の要求を伝達する。これらの サーバは、次に要求を選択評価子に供給してもよく、この選択評価子は評価を実 行してサーバに応答を戻す。これらのサーバは次にデータまたは応答をTA−に 戻し、TAMはこれらをVSMオブジェクト・コード・ルーチンに供給する。
TA?Iは、サーバを介して演算環境の種々のエンティティと通信を行なう。ス クリーン、IMs 、インボート/エクスポート、ネイテブ・テーブル・データ ・ストア、およびその他のエンティティに対するサーバが存在する。TAMはサ ーバに対して要求を送り、これに続いて1つ以上のデータ列を送る。データ列は 、もしこれの長さが128バイト未満であれば(ピッ)Oはクリア)、1バイト 長の標識によって開始さmもしこの列の長さが127バイトよりも長ければ、2 ハイド長の標識(ビット0はセット)によって開始される。テーブル64は、T へ門が作ることができる有効なサーバの要求をリストアノブする。
−−フ゛ル64 六TA門−−〉サーバの ンコード 名 前 CCtableの要求 テーブル65〜69は要求のデータの内容に関する詳細な情報を与え、要求コー ドの各々に対する通信を戻す。
TAM−一>サーバ Cの要求・ 2 4 トランザクションID 6 1 要求コード 7 3 データの種類 10 変 数 テーブル名、ユーザ10、およびグループIDデータ列 サーバー−>TA門Cの復帰: 2 2 復帰コード 4 4 トランザクションID 8 ・ Cテーブル・データI TAM−−>サーバ Rの要求: 2 4 トランザクションID 6 1 要求コード サーバー−>TAM Rの復帰・ TAM −−>サーバ G の要求′ バイト・オフセット 長−血 コメント2 4 トランザクションID 8 変 数 チーフリに名、 サーバー−>TA−G の復帰: 2 2 復帰コード 4 4 トランザクンヨンID TA−−−〉サーバ N の要求: 2 4 トランザクション+0 8 変 数 テーフリン名、ノイラメータ、最後の行、選択、 キーの名前の順序付け、 およびキーの名前 :01ll:値 データ サーバー−>TA?I N の復帰: 2 2 復帰コード TAM −−>サーバ P の要求: 8 変 数 テーブル名、 最後のパラメータ・セット、 および選択、データ列 サーバー−>TAM P の復帰・ 8 変 数 パラメータ・セント・データ更に、更新(同期化)メツセージがT AMによって送られてもよい。テーブル70は、そのメツセージのデータの内容 とその復帰解答に関する詳細な情報を与える。
TAM−−>サーバ更新メ、セージ: 2 2 トランザクションの数 4 1 ロック要求 5 変 数 1つ以上のトランザクション更新記録、各々下記を含む: 4 トランザクションID 2 更新の数、各更新は下記によ って構成される : 1 更新要求 (1、R,D) 1′ 変 数 テーブル名 パラメータ、および テーブル行データ サーバー−>TAM更新復帰: 2 2 復帰コード 4 4 トーンザクジョンID サーバー−〉 駆 イン −フェース TMAは、サーバに種々のメンセージを送りこれらのメンセージは処理のために 選択評価子に供給しなければならない情報を含んでいる。選択評価子は、下記の レジスタが支持されたデータを含んでいることを期待している。
レジスタ 古−一容 15 人力点の選択評価子に対するアドレス13 標準保存領域のアドレス 01 パラメータ・リストのアドレス パラメータ・リストは、所定のハイド・オフセットに下記の情報を含む・バイト ・オフセット 古−一容 0 選択列のアドレス 4 比較されるテーブル行のアドレス 8 4080−バイトの作業領域のアドレス選択列は2ハイド長のフィールドに よって構成され、これに後置表記の1つ以上の選択項目が続く。各選択項目は1 ハイドの演算コードで始まり、テーブル71にリストするカテゴリふこグループ 化することができる。
環貝Ω種声 機−一能 演算子 1−バイトの算術、関係または論理演算コードフィールド参照 1−バ イトの演算コード(“44゛)とこれに続く6−ハイドのフィールド記述子と2 −バイトのフィールド数オフセット参照 1−バイトの演算コード(“4C′) とこれに続く6−ハイドのフィールド記述子と2−バイトの行におけるフィール ドのオフセット。一時、インポート、スクリーンおよび1MSテーブルに使用す る。
値 I−ハイドの演算コード(’48’)とこれに続く6−バイトの値の記述子 と1つの値。これらの値は1−ハイド(長さく128、ビット0はクリア)また は2−ハイド(長さ〉127、ビット0はセット〕長の後置。
フィールドおよび値の記述子の内容に関する詳細な情報、および選択何項目の演 算コードは、それぞれ、テーブル72と73に与えられる。
テーブル726−バイト・フィールドと の”木バイト・オフセット 長−uE !1jiEO1意味の種類 1 1 データの構文 2 2 最大データ長 4 2 10’惺亡 の −一ブル2佳 コード 演算ユニ上 機−一能 (算術) ’04’ + (加算) “08’−(減算) ′OC” * (乗算) “10’/(除算) 14° **(指数) “18’−(単項負) ’tc’ :: <連続) (関係) “20’=(等しい) ’24’ −一 (等しくない) “28’<(未満) “2C’ <=(以下) ’30’>(超える) “34’ >=(以上) (論理) °38° & (および) (その他) ’44’ R(行のi番目のフィールドを参照)“48’V(値) ”4C’ O(行のオフセントのフィールドを参照)54“ a (選択の場合 に置換されたパラメータであり常に真に評価される) ’BC’ LIKE (関係) 同し関係の演算子は2つのオペランド、すなわち、フィールド名とパターンを有 している。もし行に於けるフィールドの値がパターンと一致すれば、この関係の 結果は真である。このパターンはワイルドカード、かなわち、 °*′(ゼロ以 上の文字の列)および“?′ (1の文字)を有することができる。
アドレスを通って選択評価子に供給されるテーブルの行は2つのフォーマットの 内のいずれか、すなわち、拡張可変長行フォーマット(一時、インポート、スク リーン、および1MSテーブルで使用される)または可変長打フォーマント(そ の他の場所で使用される)である。
可変長打フォーマットは2バイトの打製の指定子で始まり、この指定子は指定子 自身を含む行全体の長さを与える。打製の指定子に付加されているのは1つ以上 のフィールドであり、第1フイールドは「キー」フィールドである。このような 各フィールドは、もし長さのインジケータを除いてフィールドの長さが128バ イト未満であれば1バイトのフィールド長の標識によって開始され(ビット0は クリア)またはもしこの長さが127バイト以上であれば、2ハイドのフィール ド長の標識によって開始される(ビット0は七ノド)。フィールドの値は所定数 のバイトによって表される。ブランクは、構文文字を含む全てのフィールドの右 端から取り除かれる。もし要求されたフィールドが行内に存在しなければ、この フィールドはヌル(null )値を有すると仮定される。
拡張可変長行フォーマットは、打製の指定子が使用されていないという点で若干 異なっている。また、固定数のハイドが各フィールドの値のために確保され、各 フィールド用の長さのインジケータは単にこれらのバイトの内の幾つが実際使用 されているかを示すにすぎない。最終的な相違点は、もし要求されたフィールド が行内に存在しなければ、このフィールドがヌルの列と比較されているのでなけ れば、この行を選択しないことである。
′ テ・市−−〉サーバ・インターフェース復帰すると、選択評価子がサーバに 行き、レジスタ15に以下の復帰コードが0 行はM択基準と一致する 4 行はMIR基準と一致しない 8 エラーを検出 もしエラーを検出すると、選択評価子は作業領域に復帰し、テーブル74にデー タが示される。
デニブ匹り」−jW妬H配ト屈l縁と 3 変換 4 ゼロによる除算 5 指数演算の結果は虚数である 2 2 エラー・メッセージ長の標識 □4 ・ エラー・メツセージ・テキストエラーメツセージは「%Fnnnn」 のホームの列を有することが可能であり、ここでrnnnnJは可変長打フォー マット行の4桁のフィールド番号または固定長のフォーマットの行の4桁のフィ ールド・オフセットである。例えば、エラー メツセージは“TYPE ERR OR,FIELD %FOOIO″ COMPARED WITHTYPEID ENTIFIER’と読まれ、呼び出しエンティティは、そこで適当なフィール ド名を「%FOOIOJの代わりの列に代替することができる。
従って、テーブル・アクセスは実行子のオブジェクト・コートのデープル・アク セス・ステートメントで開始されると要約することができる。従って、オブジェ クト コードは、aTAMアーギュメント、およびこのようなアーギュメントで 使用される定数を構築するコードを存する。このコードは、ルール編集子によっ てソース・レヘルで個々の形式に再構築することができる。オブジェクト・コー ド内のテーブル・アクセス・ステートメントは次に訂へ1演算コードのフォーマ 2トに変換される。これは、演算コード、テーブル名、パラメータ、選択列、ス タックに対する順序付は情報を含む。これらの値は記述子フォーマットに記憶さ れ、データ管理データ構造に基づいている。アクセスはフィールド名を使用して 行なわれる。次に、TABLHACCESS門ACHIME INTEI?FA CEが実行胡tこれの演算コード、テーブル名、パラメータ、選択列、および順 序付けがマシン・コード・フォーマットにセットされる。
サーバは次にネイティブ・データ記憶装置との必要な通信を実行して識別された 事象を復帰される。選択評価子が適当な時期にサーバによって呼び出される。
■、グイナミンク・バインディング 仮想スタック・マシンで実行されるグイナミノク・バインディングは、3つの主 要なステンプを有する実行例として要約することができる。先ず、ルール・オブ ジェクト・コードが変更可能なデータ領域で実行される。第2に、実行子はルー ルおよびテーブル用のハツシュ・テーブルを構築し、これによって結び付けるべ きオブジェクトを速やかに見つけることができる。第3に、センジョンのログで 、仮想スタック・マシンは固定されたデータをバッファするが、これらのデータ は、システムとインストレーンヨン・ライブラリからのルール、およびディクシ ョナリ等のための固定されたテーブルの定義を含む。
結び付けられないルール内のオブジェクトにはテーブルに記憶されているルール またはデータが含まれる。1つのルールが名前によって他のルールを呼び出す場 合、このルールは、呼び出されるべきルールの値を記憶することができるこのル ールの変更可能データ領域内の1つの位置に対するオフセン)を有する。次に、 実行子はハフシュ・テーブルとそのバッファを介して名前シこよってルールをサ ーチする。もしこれがハノノユ・テーブル内で見付からなければ、次にテーブル ・アクセス、マシンに対する呼び出しが実行されてノ\ノシュ・テーブルにノ\ 7フアと正しい値を挿入する。実行子が呼び出されるべきルールのバッファを見 出だせば、このバッファの値はこのルールの変更可能な部分に挿入される。同様 に、オブジェクトがテーブルによって呼び出され、フィールド′の名前がルール によって呼び出される場合、そのテーブルはハツシュ・テーブルまたはライブラ リを介して仮想スタック・マシンによって見出だされる。呼び出されたフィール ドが見出だされるテーブルの事象に対する値は、次に特定のオフセントにおける ルールの変更可能な部分に記憶される。
データ・ベース内の全てのオブジェクトは、これらのフォーマントを使用して実 行時に結び付けることが可能である。事実、その中でルールが見出だされるテー ブルは、上述したように、所定の組のライブライをサーチすることによって決定 されることを除いて、ルールの結び付けはテーブル・フィールドの結び付けと同 様である。
セツションのログにおいて、テーブル・データ・スI・アおよびホストと関連す る他の記憶システムからのかなりの数のデータ・テーブルを仮想スタック・マシ ンに取り出して1つのルールの実行の期間中にテーブル・アクセス・マシンとネ イティブ・データ・ストアを介する呼び出しを最小にすることができる。
IX、テーブル・データ・ストア テーブル・データ・ストアは、本発明によるオブジェクト指向動作システム用の ネーテブ・アクセス法である。このシステムのデータは、バランスした構造内に 記憶され、ここで各テーブルはこのテーブル内の1次キーに基づいてIIIJ! !付けられる。第14図は、このテーブル・データ・ストアによって実行される アクセス法の基本的な構造を示す。テーブル・データ・ストアは、テーブル・イ ンチ・ンクス・ページ500によって構成される。テーブル・インディクス・ペ ージは、これが適当である場合、パラメータ・インディクス・ページ501に対 するポインタを有するチーフリ酩のリストを有する。テーブル・インディクス・ ページに於ける他のエントリは1次キー・インディクス503に直接示される。
パラメータ・インディクス・ページ501に於けるエントリは1次キー・インデ ィクス502に示される。1次キー・インディクスは1次キーに基づいて順序付 けられたB+ツリー組織に基づくバランスした2進ツリー507である(ここで インデックス502はこのツリーの上部である)。B±ツリーのボトムはこのテ ーブルに対する事象を記憶するデータ・ページに対する実際のリンクに示される 。
パラメータ・インディクス501またはテーブル・インディクス・ページ500 もまた2次キー・インディクス508に示されることができる。2次キー・イン ディクス508は、B+キー構造に基づいて2次キーのインディクスの下位の組 509に示される。これらのインディクスは1次キー507の8士ツリーと同し リンクされたデータ・ページ510に示される。
第15図は、全てのページの種類に対するページのレイアウトを示す。このペー ジは32バイトのヘッダ520を有する。このヘッダは、ページ番号521、前 のページのポインタ522、次のページのポインタ523、ページの種類の指標 524、およびデータ値525によって構成される。タイム・スタンプ526が 含まれ、またトランザクション+、D、527、チェック・ポイント番号528 、ページ529内の行の番号およびページ530内の各行のサイズが含まれる。
データ領域531は、4,051バイトの行データによって構成される。ページ の終端部には13バイトの記録定義領域がホスト・システムによって使用される ’15A)IINFORMATION 532用に確保される。
このページ内の記録は、下記のホーマットで1行のテーブルを記憶する。
LL/1/値/1/値/1/fF! ・・・ 1/値/l/値、ここでLLは2 バイト長の行に等しく、1はこの値に対しで1ハイドまたは2バイト長に等しく 、この値は実際のデータ入力またはヌル値である。
1次インディクス記録は、下記のフォーマットである。
value / pointer 2次インディクス記録は、下記のフォーマットである。
5econdary key value/primary key valu e/pointerグループ・インディクス入力は、下記のフォーマットである 。
parm/parm/ 1 °/pointer/−タ構造はB+ツリーによっ て自動的にバランスされる。所定の水率のツリー内に3つ以上のエントリが発生 される場合には常に周知の技術にしたがってB+ツリーが自動的に独立した水準 のツリーを実行する。
従って、1次キーによるテーブル内の事象のサーチは極めて迅速に行われる。
非順序領域をサーチする場合、テーブル全体が選択のためにサーノ・・に対して 検索されなければならず、また:よりブビュー等を発生するためにテーブル・ア クセス・マシンに対して検索が行われなければならない。
χ、変換プログラム/逆変換プログラムルールの発生と変更は3つの構成要素す なわち編集子、変換プログラムおよび逆変換プログラムの相互作用によって行わ れる。ルール編集子は、ユーザがルールの内容にテキストに基づく変更を行うこ とを可能にする対話型のツールである。
この変換プログラムは、ルールのテキストに基づくイメージを「仮想マシン・コ ード」に変換し、これは、HO8の仮想マシンによって実行することができる。
逆変換プログラムは逆変換を実行し、ルールの仮想マシン・イメージからそのテ キストに基づく表現を発生する。
ルールが編集されると、逆変換プログラムはその(反想マシン・コードをソース のトークン化した表現に変換する。構成装置はトークン化した形態を採用してこ のルールのテキストに基づく表現を行毎に構築する。これが編集子によってユー ザに表示されるものである。ユーザが変更を行うと、スキャナは更新された行の 語案分析を行う。語賃分析によってこれらの行がそれらのトークン化された形式 に変換さね−変換プログラム入力される準備が整う。ユーザがルールを保存する と、変換プログラムはこれを横文解析し、もし有効であれば、このルールに対す る仮想マシン・コードを発生する。一度このルールをその実行可能な形式で保存 すると、このルールのテキストは廃棄される。
第16図は、変換プログラム/逆変換プログラムシステムの概略を示す。これは ルール・ソース600を走査することによって動作し、このコードはこれをトー クン化されたソース・コード601に変換する。この変換プログラムは次に仮想 、マシン・コード602を発生する。編集を行うためにユーザが要求すれば、こ の仮想マシン・コードはトークン化されたソース・コード603に逆変換される 。
これは、ルール・ソース・コードとして構成装置によってユーザに戻される。
トークン化されたソース・コードは、逆変換プログラムによって構築さ娠論理行 によってパラメータ化されたTOXENSに記憶されているデータによって構成 される。語粟分析mlを使用してこのTOKENSテーブルを変更する。このテ ーブル:よ下記のフールドによって構成される。
5TRIliG−トークンのテキスト;TYPE−)−クンの種類; LEN−トークンの文字長; DEC−)−クンのIO道点の右側の桁数;TABREF、 MAl?に−この トークンがtable、 field referenceの一部であるかどう かを示す。
TOXENSテーブルにとって長すぎるトークンは、LON[; 5TRING Sテーブルに記憶される。これは、長さが16文字を超えるトークン引用した列 、および大きい数字を含む。このテーブルは、下記のフィールドいよって構成さ れる。
INDEX −1次キー; 5TRIN[、−トークンのテキスト;TYPE−トークンの種類; LEN−トークンの文字長; DEC−10進点の右側の桁数; TOKENSテーブル内で識別される。
第17図は、代表的なTOKENSテーブルとLONG 5TRINGSテーブ ルを示す。論理行は1000で示され、この行のトークン化された表現は表10 01.1002に示される。
変換プログラムはトークン化されたルールの表現を仮想マシン・コードに変換す る。これは文脈に関係のない構文のチェ、りと幾つかの文脈に関係のある構文の チェックを実行する。更に、これは実行時の)1インドに適したスレノブノド・ オブジェクト・コードを発生する。
アルゴリズムの構造は、オブジェクト指向動作システムのルールで書かれる。
これはトップ・ダウン再帰的降下変換アルゴリズムを実行し、ここで言語の構文 は条件によってハード的にコード化される。この変換プログラムは挿入形式のル −ル言語をスタック・マシンで実行するのに通した後1形式の目的言語に変換す る。最後に、ルールのデータに関する情報を保存する。この変換プログラムは、 上で説明したホーマットでルール・オブジェクト・コードを発生する。変更可能 なデータ領域は、実際上実行時のみに割当あてられる。ルールは、プログラム内 でυチラル的であるかまたは変換プログラムによって達成される定数、例外ノ\ ンドラの名称、ルールまたはローカル変数のような大域(アンバウンド)の名称 、およびテーブル・フィールドの名称を含む種々の種類のデータを有している。
変換プログラムは、C0N5TANTS 、 EXCEPTIONS、、SY? 1TAB、およびTABLE REFSとそれぞれ呼ぶ各種類のデータ項目に対 するテーブルを有している。これはまたRELOCATTONとして知られるテ ーブルを有し、このテーブルにより変換プログラムによって分析されるべきデー タ項目に対する見掛は上の参照が可能になる。
C0NTANTテーブルは下記のフィールドを有する。
TYPE−目標の種類(常に「S」) ;S’l’NTAX−内部表示; LEN−ハイド数; DEC−10進法の点の右側の桁数; REAL ADDRESS一対数に対するオフセット;従って、定数のオブジェ クト・コード・フォーマットはC0N5TANTSテーブルから発生することが 可能である。
SYMTABテーブルは、ルール内で直接的または間接的に呼び出されるローカ ル変数、パラメータ、および大域アンバウンド名称のようなルールに関する情報 を有している。SYMTABテーブルのフィールドは下記を含む。
INDENT−1次キー(識別子の名前);KIND−パラメータ、局部または 大域;REF−データ項目に対するオフセット(もし間接名なら、負):IND EX一種謬内でユニーク(キー)。
再び、オブジェクト・コード・フォーマント内のパラメータとローカルおよびグ ローバルはSYMTABテーブルから発生することができる。TABLE RE FSテーブルはテーブル、フィールド参照に関する情報を有する。これらのフィ ールドは下記を含む。
INDEX−テーブルの名前(もし間接的なら、引用する);TABLE NA ?lE−テーブルの名前(もし間接的なら、引用する):FIELD NAME −フィールドの名前(もし間接的なら、引用する);REAL ADDRESS −データ項目に対するオフセント(もしいずれかの名前が間接的なら、負)。
再び、オブジェクレコード内のこのテーブル、フィールド参照はこのテーブルか ら発生することができることが分かる。
RELOCATIONテーブルはデータ・オブジェクトに対する「ダミー」リフ ァレンスに関する情報を有している。これは、データおよびオブジェクトが割り 当てられてしまうと、これらの基準を分析するのに使用される。RELOCAT IONテーブルは下記のフィールドを有する。
0CCIII? ADDトダミー・リファレンスに対するオフセット;TYPE −ダミー・リファレンスの種類(定数、大域、・・・);TABLE INDE X一対応するテーブルに対するインデックス:0FFSET−これはオブジェク トに対するオフセットを含む。
全てのデータ・オブジェクトが割り当てられてしまうと、変換プログラムはRE LOCAT IONテーブルを検討してこれらのオブジェクトい対する全ての参 照を分析する。
EXCEPTIONテーブルは以下のフィールドを有する。
EX NLI−−1次キー; INDENT−例外名; FORALL#−もし迄クローズ(until clause )内であればル ープ番号、そうでなければ、ゼロ: 0FFSET−ハンドラに対するオフセット復号;TABLE NAME−オブ ジェクト・コード内のテーブルの名前に対するオフセット。
例外ハンドラの名称はこのEXCEPTIONSテーブルから発生される。もし このハンドラが関連するテーブルの名称を有していれば、これもまたこのテーブ ルから発生することが可能である。
逆変換プログラムは、仮想マシン・コードをルール言語のトークン化された表現 に変換する。このアルゴリズム構造は、オブジェクト指向動作システム内のルー ルで書かれる。これは後置形式のオブジェクト水準の表現を挿入形式のルール言 語に変換する。この逆変換プログラムはテーブルによって駆動される。大部分の オブジェクト・コード構造は逆変換プログラムが参照するテーブル内で符号化さ れる。
逆変換プログラムは、後置から挿入への変換のために幾つかのスタ、りを使用す る。
この逆変換プログラムは、基本的にスタック・マシンである。この逆変換プログ ラムは、後置コードを実行するのではなく、これをそのトークン化された表現に 変換する。各々の演算コードにより、逆変換プログラムの内部スタックの処理が 行われる。ステートメントの左側の演算コードに到達すると、1つまたは複数の スタックの内容がトークン・テーブルに移動される。逆変換プログラムは、調和 して動作し対応するテーブル内で識別される3つのスタックを有する。各演算コ ードが訪問を受けると、複数のオブジェクトがこのスタックに載置される。複数 のマーカの間のスタック・エレメントは1つのエレメントとして移動されるので 、これはマークされたスタックである。DET、 5TACKテーブルは下記の フィールドを有する。
1)iDEX −1次キー; TYPE−逆変換の種類(パラメータ、定数、テーブル、フィールド、リファレ ンス、・・・); 0FFSET−静的データ領域におけるデータ項目に対するオフセット;ITE 片−ンンポル・テキスト; 5IIBTYPE−これは変換プログラムの種類(演算子、予約した語、・・・ )。
次のテーブルは、DET PIIED ST子テーブルして知られる。このテー ブルはDET、 5TACKの項目の優先順位を有する。これらのフィールドは 下記を有する。
INDEX −1次キー。
PRECEDE!1cE−項目の優先11Jj位最後のスタックは、DET 1 10Rに、IREAテーブル内で識別される。複数の項目がDET 5TACK テーブルからこのテーブルに載置される。これは後置から挿入への変換中に役立 つ。複数の項目がDET l、10RXAI?EAからDET 5TACKに転 送される。
これは、DET 5TACKテーブルと同しフィールドを有する。
逆変換プログラムの1例を第T/D1〜T/D 4 Cに示す。この逆変換プロ グラムに対するソースはL=1+2:T:あり、オブジェクトは1 : acO NsT 1.2:1icONsT 2.3 : 1iADD 、 4 : aS ETL Lテある。
第1ステツプを第18図に示す。値「1」をDET 5TACKに挿入し、ここ でマーカXは境界要素を示す。DET PliEI) STには第1データー素 の優先J順位10が与えられる。DET WORKAREAは空である。
次のステップを第19図に示す。このステップでは、定数値2がDET 5TA CKの要素として人力され、その優先順位は値10としてDET PRED S Tに設定される。作業領域は空のままである。次のステップでは、aADD演算 子が発生する。
このステップでは、定数2が作業領域に移動されその優先順位がスタックから取 り除かれる。次に「+」演算子が17−ク領域のスタックに定数2を含む要素の 一部として付加される。最後に、定数1が定数2と「+」と同し要素の一部とし てスタックから作業領域に移動される。これらのステップを、第20A図、第2 0B図、および第20C図に示す。
第21A図において、作業領域の内容はメイン・スタックに戻される。第21B [ffi、第21C図、第21D圓および第21E図において、TOKEMSテ ーブルが満たされる。このことは、第21B図に示すように第1および第2トー クンを挿入する1isETL演算コードに応答して発生する。従って、第1トー クンに対するトークン・テーブルの領域には、値しS識別子■が与えられる。こ れは10進小数点の右側にゼロ1を有する1の文字列である。これはテーブル・ フィールド・リファレンスの一部ではない。次のエントリ2は同じ符号である。
これは10進小数点の右側のいずれの点もをしない1文字長の演算子であり、テ ーブル・フィールド・リファレンスの一部ではない。次シこ、スタ、りの内容は 、これが第21C図に示すように、ルール言語で現れると、作業領域で再び順序 を定められて挿入形式になる。最後に、第34D図に示すように、TOKENS テーブルのバランスが作業領域のエントリから構築される。1は作業領域の上部 から取り出されてTOMENSテーブルの第3人力として挿入される。「+」演 算子は第4人力として挿入される。定数2は第5人力として挿入さ娠行の端部で ある「;」は最後の入力として挿入される。これが発生した後、スタック、優先 順位テーブルおよび作業領域が第21. E図に示すようにクリアされる。
この変換プログラム/逆変換プログラムの対によって、全ての所定のプログラム の唯一のバージョンすなわち表現をコンピュータ上に保持する手段が提供される 。1つのプログラムのオブジェクト・コードのバージョンのみが2次記憶媒体に 記憶される。ソース・コードのバージョンは、要求があった場合にオブジェクト ・コードからの逆変換によって発生されるだけである。このオブジェクト・コー ド・バージョンは変換プロセスを支援するのに必要な全ての情報を有する。これ によって、プログラムのソースおよびオブジェクト・バージタンを確保するため の努力を行う必要がなくなるため、メンテナンス費用が大幅に削減される。オブ ジェクト・コード・バージョンのみを記憶する必要があるため、2次記憶領域を 小さぐすることができる。更に、幾つかの変換プログラム/逆変換プログラム対 を実行することが可能であり、その結果、プログラムが異なった場合に同一のプ ログラムを別のものとして表示することが可能である。この技術を使用すること により、フランス語、ドイツ語または英語のような種々の異なった話し言葉、プ ログラム構造の異なったグラフまたは図形による表現、または、例えば、目視可 能または音のような異なった通信媒体でルール言葉を実行することが可能になる 。
第8図 第7図 規 契I)τ) 第4図 第5図 第6図 TAN fi! 4T、 e 、i’ 第10図 浄書・′内容に変更なし) CALL R(’THIS Is A L口NG 5TRNG、45、τF)J T口KENS(−) 第17図 DET 5TACK DET PRED ST DETrqロRKARロAFI G、−書I8 D口TjTACK DET−PRED−ST DEI:T−W口RKAR[AD 口T 5TACK DET、、、PREDjT IX丁−’、10RKAREA FIG、−1111F 、104 DETjTACK D[jPRED−ST DET−W口RKAREADETJ TACK DEI−PRED−ST DEI:T−’、10RKAREADET −STACK DET−PREJST DET−W口RKAREA2 = 口  1 ON T口KENS (−’) DET−STACK DE”jPR[D−ST DET W[IRKAR口八F IGへ−mさ1己 1N1ON 4 + 0 1ON 2N1ON 6 J 5ION T口KENS (−) DET−STACK DET PREII−ST DET−V口RKAREA平 成 年 月 日

Claims (42)

    【特許請求の範囲】
  1. 1.複数のサブシステムを有するホスト・データ処理装置でプログラムを実行す るシステムにおいて、上記のシステムは:バッファのアドレスによって識別され るバッファを有し、ルールとデータを有するオブジェクトを上記のバッファに記 憶する手段;上記のホスト・データ処理装置に接続されてカレント・ルールを実 行する手段であって、上記のルールは静的データ領域と変更可能データ領域を有 し、上記の静的データ領域は、識別されたオブジェクトを記憶するバッファのバ ッファ・アドレスが実行時に載置されるべき上記の変更可能データ領域内の複数 の位置に対するオフセットを有するオブジェクト識別子を記憶する上記の手段; 上記の記憶手段と上記の実行手段に接続され、上記の実行手段に応答して上記の バッファ内のオブジェクトを見付け、実行時に上記のカレント・ルール内で識別 されたオブジェクトを保持するバッファのバッファ・アドレスを上記のカレント ・ルールの変更可能データ領域に供給する手段;アクセス構造を有し、ルール・ メタデータおよびデータを有するオブジェクトを上記のアクセス構造に記憶する データ記憶手段;および上記のデータ記憶手段および実行手段に接続され、上記 の実行手段に応答して上記のアクセス構造内のオブジェクトをアクセスする手段 ;によって構成されることを特徴とするシステム。
  2. 2.上記のホスト・データ処理装置はスクリーンを表示し入力データを供給する ための表示サブシステムを有し、上記のアクセス手段は:上記の表示サブシステ ムに接続され、上記のアクセス構造内のオブジェクトから上記の表示サブシステ ムのためのスクリーンを発生し、上記の表示サブシステムから入力データを受け て上記のカレント・ルールの変更可能データ領域に供給された上記のオブジェク トのアドレスでバッファ内に記憶するサーバー手段を有することを特徴とする請 求の範囲第1項記載のシステム。
  3. 3.上記のホスト・データ処理装置はデータを記憶する記憶サブシステムを有し 、上記のアクセス手段は: 上記の記憶サブシステムに接続され、上記のアクセス構造のオブジェクトから上 記の記憶サブシステムにデータを記憶し、上記の記憶サブシステムからデータを 受けて上記のカレント・ルールの変更可能データ領域に供給されたオブジェクト のアドレスでバッファ内に記憶するサーバー手段を有することを特徴とする請求 の範囲第1項記載のシステム。
  4. 4.上記のホスト・データ処理装置は入力データを供給し出力データを受ける周 辺サブシステムを有し、上記のアクセス手段は:上記のアクセス構造のオブジェ クトから上記の周辺サブシステムに出力データを供給し、上記の周辺サブシステ ムから入力データを受けて上記のカレントルールの変更可能データ領域に供給さ れたオブジェクトのアドレスでバッファ内に記憶するサーバー手段を有すること を特徴とする請求の範囲第1項記載のシステム。
  5. 5.ホスト・データ処理装置でプログラムを実行するシステムにおいて、上記の システムは: アクセス構造を有し、オブジェクトを上記のアクセス構造に記憶する手段であっ て、上記のオブジェクトはルール、メタデータおよびデータを有し、ルールは実 行可能な命令を有し、メタデータは上記のアクセス構造内のオブジェクトの仕様 を有し、データは総称情報を有する上記の手段;上記のホスト・データ処理装置 に接続され、カレント・ルールを実行し、オブジェクトアクセス命令を発生し、 オブジェクトにアクセスしてオブジェクトアドレスに記憶する手段;および 上記の記憶手段と上記の実行手段に接続され、上記のオブジェクトアクセス命令 に応答して上記のアクセス構造内のオブジェクトにアクセスする手段であって、 上記のメタデータは1つのオブジェクトの特定のアクセス事象で呼び出されるべ きルールを有する上記の手段;によって構成され、上記のアクセス手段は:アク セスされたオブジェクトに関するメタデータをアクセスし、上記のメタデータと 上記の特定のアクセス事象に応答し、上記のカレント・ルールを保管し上記のメ タデータ内で識別されたルールの実行を呼び出す手段;を更に有することを特徴 とするシステム。
  6. 6.要求されたオブジェクトを識別する要求に応答してオブジェクトを検索する オブジェクト・アクセス・システムにおいて、上記のシステムは:複数のテーブ ルによって構成されるアクセス構造であって、各テーブルは複数の行を有し、各 行は複数のフィールドを有し、各行は上記の行のフィールドの1つのユニークな 1次キーとテーブル識別子によって識別される上記のアクセス構造; 複数の行インデックスであって、各行インデックスは対応するテーブル内の行の 上記の1次キーに基づいて順序付けられたエントリを有し、各行インデックスの エントリは1行のフィールドに示されたオブジェクトは複数の行のフィールドに 記憶される上記の行インデックス;上記のテーブル識別子に基づいて順序付けら れたテーブル・インデックスであって、上記のテーブル識別子によって識別され たテーブルに対する上記の行インデックスに示されるエントリを有する上記のテ ーブル・インデックス;および オブジェクトに対する要求に応答し、上記のテーブル・インデックスをサーチし てテーブル・インデックスのエントリを検索し、上記のテーブル・インデックス のエントリが示された上記の行インデックスをサーチして行インデックスをエン トリ検索し、上記の行インデックスのエントリが示された上記の行をサーチして 上記の要求されたオブジェクトを検索するアクセス手段;によって構成されるこ とを特徴とするシステム。
  7. 7.上記の行インデックスは2進のツリーによって構成されることを特徴とする 請求の範囲第6項記載のシステム。
  8. 8.上記の複数のテーブルのサブセント内の各テーブルはサブテーブルに分割さ れ、各サブテーブルはテーブル・パラメータによって識別され、上記のテーブル 識別子はテーブル名とテーブル・パラメータを有し、上記のテーブル・インデッ クスは: 複数のテーブル・パラメータ・インデックスであって、各テーブル・パラメータ ・インデックスは対応するテーブル名に対するテーブル・パラメータに基づいて 順序付けされたテーブル・インデックスのエントリを有する上記の複数のテーブ ル・パラメータ・インデックス;および対応するテーブル・パラメータ・インデ ックスに示されるテーブル名に基づいて順序付けされたエントリを有する上記の テーブル名;を有し、上記のテーブル・インデックスをサーチする場合上記のア クセス手段は上記のテーブル名のインデックスをサーチしてテーブル・パラメー タ・インデックスに示されたテーブル名のインデックスのエントリを検索し、上 記のテーブル・パラメータ・インデックスをサーチして上記のテーブル行インデ ックスを示された上記のテーブル・インデックスのエントリを検索することを特 徴とする請求の範囲第6項記載のシステム。
  9. 9.上記のテーブル・パラメータ・インデックスと上記のテーブル名のインデッ クスは2進のツリーによって構成されることを特徴とする請求の範囲第8項記載 のシステム。
  10. 10.上記のアクセス構造内の上記のオブジェクトはメタデータを有し、上記の 複数のテーブルは上記のアクセス構造内の全てのテーブルを識別する第1テーブ ルのメタデータおよび上記のアクセス構造内のテーブル内のフィールドを識別す る第2テーブルのメタデータを有することを特徴とする請求の範囲第6項記載の システム。
  11. 11.上記のメタデータは上記のアクセス構造内のテーブル内のパラメータを識 別する第3テーブルのメタデータを有することを特徴とする請求の範囲第10項 記載のシステム。
  12. 12.上記のオブジェクトをアクセスする手段は;オブジェクトに対する要求に 応答し、実行時に上記のメタデータから制御テーブルを発生して上記のオブジェ クトを記憶する上記のテーブルを後でアクセスする場合に使用する手段; を有することを特徴とする請求の範囲第10項記載のシステム。
  13. 13.上記のアクセス構造内の上記のオブジェクトはメタデータを有し、上記の 複数のテーブルは上記のアクセス構造内の全てのテーブルを識別する第1テーブ ルのメタデータおよび上記のアクセス構造内のテーブル内のフィールドを識別す る第2テーブルのメタデータを有することを特徴とする請求の範囲第8項記載の システム。
  14. 14.上記のメタデータは上記のアクセス構造内のテーブル内のパラメータを識 別する第3テーブルのメタデータを有することを特徴とする請求の範囲第13項 記載のシステム。
  15. 15.上記のオブジェクトをアクセスする手段は:オブジェクトに対する要求に 応答し、実行時に上記のメタデータから制御テーブルを発生して上記のオブジェ クトを記憶する上記のテーブルを後でアクセスする場合に使用する手段; を有することを特徴とする請求の範囲第14項記載のシステム。
  16. 16.ルールを実行するためにコンピュータをプログラムする方法において、上 記の方法は; ルールの名前と上記のルールと関連するパラメータを有する上記のルールの定義 を入力する第1ステップ; 上記のルールの実行中に真の値を順に評価すべき論理表現形式の条件のリストを 上記のコンピュータに入力して真の値または偽の値のいずれかを戻す第2ステッ プ; 実行可能なステートメントの形式の動作リストを上記のコンピュータに入力する 第3ステップであって、各動作は上記の条件のリスト内の1つ以上の対応する条 件と結合され、上記の対応する条件の評価に応答して実行される上記のステップ ;および 上記のコンピュータ内でイエスとノーの象限を定義するステップであって、所定 の条件の場合、上記のイエスとノーの象限は、真の値を戻す評価に応答して実行 されるべき1つ以上の動作の各シーケンスに対する欄、および偽の値を戻す評価 に応答して実行されるべき1つ以上の動作の各シーケンスに対する欄を有し、各 動作は一連に動作におけるその位置を示すシーケンス番号を上記の所定の条件の 欄に有する上記のステップ;によって構成されることを特徴とする方法。
  17. 17.上記のルールの実行の間、上記のコンピュータは例外事象を検出し、例外 事象を検出する例外の名前を戻し; 例外の名前を入力し、焼いて上記の例外の名前によって識別された上記の例外事 象が検出されると一連の動作を実行する実行するステップを更に有することを特 徴とする請求の範囲第16項記載の方法。
  18. 18.ルールを実行し、プログラマが上記のルールを定義するプログラム手段を 有するプログラマブル・コンピュータにおいて、上記のコンピュータ;i)上記 のルール名および上記のコンピュータが上記のルールに入力データを与える場合 に使用するゼロ以上のパラメータを含むパラメータ・リスト、ii)真と偽のブ ール値を有する論理表現形式であってゼロ以上の条件を有する条件のリスト、お よび iii)実行可能なステートメントの形式であってゼロ以上の動作を有する動作 のリスト; を受け入れる手段; 上記の受入手段に接続され、上記の条件のリストから第1条件の第1および第2 のブール値を上記の動作のリストからの第1および第2の一連の動作とそれぞれ 関連させる手段; 上記の関連手段に接続され、上記のコンピュータによって上記のルールを実行し ている間上記のリスト内の上記の条件のそれぞれのブール値に対する上記の条件 のリストを評価し、上記のブール値を指示する手段;および上記の評価手段に接 続され、上記の第1条件に対する上記の第1および第2ブール値に応答して上記 の第1および第2の一連の動作を実行する手段;によって構成されることを特徴 とするコンピュータ。
  19. 19.例外のリストを更に受け入れる上記の受入手段であって、各例外は一連の ゼロ以上の例外動作と結合された例外名を有する上記の受入手段;上記の実行手 段と接続され、上記ルールの実行中例外事象を検出し、所定の例外事象の検出に 応答して上記の所定の例外事象を発生した例外の例外名を戻す手段;および 上記の受入手段に接続されると共に上記の検出手段による所定の例外名の戻しに 応答し、上記の所定の例外名が上記の例外リストにあると、上記の所定の例外名 と結合された上記の一連の例外動作を実行する手段;によって更に構成されるこ とを特徴とする請求の範囲第18項記載の方法。
  20. 20.上記のプログラム手段は: 上記のルール名およびパラメータのリスト、上記の条件のリスト、および上記の 動作のリストのテキストを入力するテキスト入力手段を受け入れる上記の手段; 上記のテキスト入力手段に接続され、 i)テキストの行としての上記のルール名とパラメータのリスト、ii)テキス トの行としての上記の条件のリストからの各条件と列としての上記の条件のテキ ストのそれぞれの行、およびiii)テキストの行としての上記の動作のリスト からの各動作と列としての上記の動作のテキストのそれぞれの行;を表示する表 示手段; 上記のテキスト手段に接続され、ブール標識の行と列に構成されたイエスとノー の象限を発注して表示する手段であって、ブール指標の所定の行は上記の条件の リストからの所定の条件に対するブール値を指示し、ブール指標の各所定の列は 上記の条件のリストに対するブール値の論理的組み合わせを指示する上記の手段 ;および 上記の発生手段に接続され、列内に構成された動作の象限を受け入れて表示する 手段であって、上記の動作象限の各所定の列は各々が所定の動作のテキストの行 を上記のブール指標の所定の列と関連させる動作のシーケンス番号を有し、上記 の動作のシーケンス番号は上記の所定の列と関連する上記の所定の動作の実行の シーケンスを決定する順序を有する上記の手段;によって構成されることを特徴 とする請求の範囲第18項記載のコンピュータ。
  21. 21.例外のりストを更に受け入れる上記の受入手段であって、各例外は一連の ゼロ以上の例外動作と結合された例外名を有し、上記のテキスト入力手段は上記 の例外リストのテキストを更に入力するものである上記の受入手段;上記の実行 手段に接続され、上記のルールの実行中例外事象を検出し、所定の例外事象の検 出に応答し、上記の所定の例外事象を発生する例外の例外名を戻す上記の手段; 上記の受入手段に接続されると共に上記の検出手段による所定の例外名の戻しに 応答し、上記の所定の例外名が上記の例外リストにあると、上記の所定の例外名 と結合された上記の一連の例外動作を実行する手段;および上記の例外リストか らの各所定の例外のテキストを更に表示する上記の表示手段; によって更に構成されることを特徴とする請求の範囲第20項記載の方法。
  22. 22.コンピュータ・システムの実行を制御し、各々が複数のエントリを記憶す る手段を含む複数のテキストを有する関係データベースを含むプログラミング構 造において、上記のプログラミング構造は:上記の複数のテーブルの内の1つの テーブルを指定するテーブル名を有し、かつ選択および順序付け基準を有するF ORALLステートメントによって構成され、上記のFORALLステートメン トの実行によって、上記のコンピュータ・システムがループで実行され、この実 行中に次のエントリのシーケンスが上記の指定されたテーブルから選択され、1 つのループは上記の指定された1つのテーブル内の各々の選択されたエントリに 対して実行され、非ヌル選択基準によって上記のコンピュータ・システムは上記 の選択基準に適合する上記の指定されたテーブルからのエントリのみを選択し、 ヌル選択基準によって上記の指定されたテーブルからの全てのエントリが選択さ れ、非ヌル順序付け基準によって選択されたエントリは上記の順序付け基準によ って特定された順序で選択されることを特徴とするプログラミング構造。
  23. 23.上記のコンピュータによって実行可能なステートメントを有すると共に各 々が複数のエントリを記憶する手段を含む複数のテーブルを有するデータベース を含むコンピュータにおいて、上記のステートメントは:選択基準と実行可能な ステートメントのボディーを有するFORALLステートメントを有し、上記の FORALLステートメントの実行によって、上記のコンピュータは上記の選択 基準に従って上記の複数のテーブルから1つのテーブルを選択し、上記の選択基 準に従って上記のコンピュータが上記の1つのテーブル内のゼロ以上のエントリ を直列に選択し、上記のボディーの上記のコンピュータがループによる実行を行 い、1つのループは各々の選択されたエントリに対して実行されることを特徴と するコンピュータ。
  24. 24.上記のFORALLステートメントは順序付け基準を更に有し、上記の基 準を実行することによって1つの順序での上記のゼロ以上のエントリの上記の選 択は上記の順序付け基準によって決定されることを特徴とする請求の範囲第23 項記載のコンピュータ。
  25. 25.複数のテーブルを有するコンピュータをプログラミングするソフトウェア であって、各テーブルは複数のエントリを記憶する手段を有し、各エントリは複 数のフィールドを有する行によって構成され、1つのフィールドは所定のエント リに対する1次キーであり、上記のソフトウェアは組み合わされて上記のコンピ ュータの実行を定義するルールを形成し、上記のコンピュータは各上記のテーブ ルに対してエントリを含むテンプレートを保持する上記のソフトウェアにおいて 、上記のステートメントは: 選択基準と上記のステートメントのボディーを有するFORALLステートメン トであって、上記のFORALLステートメントの実行によって、上記のコンピ ュータは上記の選択基準に従って上記の複数のテーブルから1つのテーブルを選 択し、上記の選択基準に従って上記のコンピュータに上記の1つのテーブル内の ゼロ以上のエントリを直列に選択させ、各々の選択されたエントリは上記の選択 されたテーブルのテンプレートにロードされ、上記のボディーの上記のコンピュ ータがループによる実行を行い、1つのループは各々の選択されたエントリに対 して実行される上記のFORALLステートメント;テーブルを指示するINS ERTステートメントであって、上記のINSERTステートメントの実行によ って上記のコンピュータは上記の指示されたテーブルのテンプレートを上記の指 示されたテーブルにコピーすることにより1つのエントリを上記の指示されたテ ーブルに加え、コピーは上記の指示されたテーブル内の全ての1次キーと適合し ない上記のテンプレートの1次キーを条件としている上記のINSERTステー トメント;テーブルを指示するREPLACEステートメントであって、上記の REPLACEステートメントの実行によって上記のコンピュータは上記の指示 されたテーブルからその1次キーが上記の指示されたテーブルのテンプレートの 1次キーと適合しないエントリを除去し、上記の指示されたテーブルに上記の指 示されたテーブルのテンプレートを挿入する上記のREPLACEステートメン ト;テーブルを指示するDELETEステートメントであって、上記のDELE TEステートメントを実行することによって上記のコンピュータは上記の指示さ れたテーブルからその1次キーが上記の指示されたテーブルのテンプレート内の 1次キーと適合するエントリを削除する上記のDELETEステートメント;テ ーブルを指示するGETステートメントであって、上記のGETステートメント を実行することによって上記のコンピュータは次のエントリを上記の指示された テーブルから上記の指示されたテーブルのテンプレートにコピーし、上記のテン プレートの全ての内容を重ね書きし、上記のGETステートメントは上記の次の エントリの選択を決定する選択基準をオプションとして有する上記のGETステ ートメント; によって構成されることを特徴とするソフトウェア。
  26. 26.ホスト・データ処理装置でプログラムを実行するシステムにおいて、上記 のシステムは: アクセス構造を有し、上記のアクセス構造にオブジェクトを記憶する手段であっ て、上記のオブジェクトはルール、メタデータおよびデータを有し、ルールは静 的データ領域と変更可能データ領域を有し、上記の静的データ領域は実行時にオ ブジェクト・アドレスが位置すべき上記の変更可能データ領域内の複数の位置に オフセットを記憶し、メタデータは上記のアクセス構造内のオブジェクトの仕様 を有し、データは総称情報を有する上記の手段;上記のホスト・データ処理装置 に接続され、カレント・ルールを実行し、オブジェクト・アクセス命令を発生す る手段;上記の記憶手段と上記の実行手段に接続され、上記のオブジェクト・ア クセス命令に応答して上記のアクセス構造内のオブジェクトをアクセスしてオブ ジェクト・アドレスを有するバッファ内に記憶し、上記のカレント・ルールによ って要求されると、アクセスされたオブジェクトを保持するバッファのオブジェ クト・アドレスを実行時に上記のカレント・ルールの変更可能なデータ領域に供 給する手段; によって構成され、 上記のオブジェクト・アクセス命令に応答し、上記のオブジェクト・アクセス命 令によって指定されアクセスされたオブジェクトのビューを発生し、上記のビュ ーを上記のカレント・ルールの変更可能領域に供給されたオブジェクトアドレス のバッファに記憶する手段; を有することを特徴とするシステム。
  27. 27.上記のオブジェクト・アクセス命令は選択基準を示すビューの仕様を有し 、ビューを発生する上記の手段は上記の選択基準に応答して要求のオブジェクト の対象を濾過して上記のビューを発生する手段を有することを特徴とする請求の 範囲第26項記載のシステム。
  28. 28.上記のオブジェクト・アクセス命令は順序付け基準を示すビューの仕様を 有し、ビューを発生する上記の手段は上記の順序付け基準に応答して要求のオブ ジェクトの対象を順序付けして上記のビューを発注する手段を有することを特徴 とする請求の範囲第26項記載のシステム。
  29. 29.ホスト・データ処理装置でプログラムを実行するシステムにおいて上記の システムは: アクセス構造を有し、オブジェクトを上記のアクセス構造に記憶する手段であっ て、上記のオブジェクトはルール、メタデータおよびデータを有し、ルールは実 行可能な命令を有し、メタデータは上記のアクセス構造内のオブジェクトの仕様 を有し、データは総称情報を有する上記の手段;上記のホスト・データ処理装置 に接続され、カレント・ルールを実行し、オブジェクト・アクセス命令を発生し 、ビューの仕様を有するオブジェクト・アクセス命令を発注し、オブジェクトを アクセスしてオブジェクト・アドレスに記憶する手段;および 上記の記憶手段と上記の実行手段に接続され、上記のオブジェクト・アクセス命 令に応答して上記のアクセス構造内のオブジェクトにアクセスする手段;によっ て構成され、 ビューの仕様を有するオブジェクトのアクセス命令に応答し、上記のビューの仕 様によって特定されアクセスされたオブジェクトのビューを発生し、上記のビュ ーをオブジェクト・アドレスを有するバッファに記憶して上記のカレント・ルー ルによって使用する手段; を有することを特徴とするシステム。
  30. 30.上記のオブジェクト・アクセス命令は選択基準を示すビューの仕様を有し 、ビューを発生する上記の手段は上記の選択基準に応答して要求のオブジェクト の対象を濾過して上記のビューを発生する手段を有することを特徴とする請求の 範囲第29項記載のシステム。
  31. 31.上記のオブジェクト・アクセス命令は順序付け基準を示すビューの仕様を 有し、ビューを発生する上記の手段は上記の順序付け基準に応答して要求のオブ ジェクトの対象を順序付けして上記のビューを発生する手段を有することを特徴 とする請求の範囲第29項記載のシステム。
  32. 32.上記のメタデータは特定されたアクセスの事象に基づいて呼び出されるべ きルールを有し、上記のアクセス手段は:アクセスされたオブジェクトに関する メタデータをアクセスし、上記のメタデータとアクセスに応答し、上記のカレン ト・ルールをセーブして上記のメタデータ内で識別されたルールの実行を呼び出 す手段;を更に有することを特徴とする請求の範囲第29項記載のシステム。
  33. 33.上記のシステムは周辺データ記憶システムと通信を行う1つ以上のサーバ を有し、上記のメタデータはオブジェクトにアクセスするのに必要とされるサー バを特定する情報を有し、上記のアクセス手段は:アクセスされたオブジェクト に関するメタデータをアクセスし、上記のメアデータとアクセスに応答し、特定 されたサーバを呼び出す手段;を更に有することを特徴とする請求の範囲第29 項記載のシステム。
  34. 34.上記のメタデータは上記のアクセス構造内の複数のテーブルによって構成 され、上記の複数のテーブルは上記のアクセス構造内のテーブルを識別する第1 テーブル、および上記のアクセス構造内のテーブルのフィールドを識別する第2 テーブルを有し、オブジェクトをアクセスする上記の手段は:上記の実行手段に 応答し、実行時に上記のカレント・ルールのメタデータから制御テーブルを発生 してアクセスされたオブジェクトのビューを発生する上記の手段によって使用す る手段; を有することを特徴とする請求の範囲第29項記載のシステム。
  35. 35.有効な文法を有する言語に従って定義されたルールを実行するコンピュー タにおいて、上記のコンピュータは: プログラマによって、上記のコンピュータにルールの第1ソース・コードの表示 を入力する手段; 上記の入力手段に応答して、上記の第1ソース・コードの表示を上記のコンピュ ータによって実行可能な第1オブジェクト・コード表示に変換する手段;上記の 変換手段に応答して、上記の第1オブジェクト・コード表示を記憶する手段;お よび 上記の記憶手段に応答して、上記の記憶手段によって上記の第1オブジェクト・ コード表示を記憶する自動的に上記の第1ソース・コードの表示を自動的に廃棄 し、かつ、 i)上記の手段が上記のルールを記憶するために必要な記憶域を最小にすること 、および ii)上記のルールのソース・コード表示またはオブジェクト・コード表示のみ が上記の記憶手段に記憶されていることを保証することによって、上記のルール に対するバージョン制御行うこと、の両方について両方は行わない手段; によって構成されることを特徴とするコンピュータ。
  36. 36.上記の第1オブジェクト・コード表示をテキストの行を有する第2ソース ・コード表示に逆変換する手段; 上記の逆変換手段に応答して、上記の第2ソース・コード表示のテキストの上記 の行の1行以上を種々削除、追加、または変更する上記のプログラマによって上 記の第2ソース・コード表示を編集する手段;上記の編集手段に応答して、編集 された上記の第2ソース・コード表示を第2オブジェクト・コード表示に再変換 する手段;上記の再変換手段に応答して、上記の第2オブジェクト・コード表示 を記憶する手段;および 上記の記憶手段に応答して、上記の記憶手段が上記の第2オブジェクト・コード 表示を記憶すると上記の第1オブジェクト・コード表示と第2ソース・コード表 示を自動的に廃棄する手段; によって構成されることを特徴とする請求の範囲第35項記載のコンピュータ。
  37. 37.上記の逆変換手段は: i)上記の第1オブジェクト・コード表示を第1トークン化表示に変形する手段 、 ii)上記の第1トークン化表示を上記の第2ソース・コード表示のテキストの 上記の行を含むテキストに基づくコード表示に構成する手段、iii)上記のテ キストに基づくコード表示を表示する手段;によって更に構成され、 上記の編集手段は: i)編集された上記の第2ソース・コード表示を語彙的に分析する手段、ii) 上記の語彙分析手段に応答して、テキストの上記の編集した行をトークン化する 手段、 iii)上記のプログラマによって制御可能であり、上記のコンピュータ内の上 記のルールを保存する手段、および iv)上記の保存手段に応答して、上記の有効な文法にしたがってそれぞれのソ ース・コード表示を解析し、その語彙的有効性または無効性を示す手段、によっ て更に構成され、 上記の排気手段は: i)上記の解析手段に応答して、上記の語彙の有効性の解析手段による指示を条 件として、上記の第1ソース・コード表示、第1オブジェクト・コード表示およ び第2ソース・コード表示の上記の廃棄を行う手段、によって更に構成されるこ とを特徴とする請求の範囲第36項記載のコンピュータ。
  38. 38.プログラマによってコンピュータをプログラムしてデータおよびルールの データベースを処理する方法であって、上記のコンピュータは、所定のオブジェ クト・コード文法に従って定義されたオブジェクト・コード化ルールに従って動 作し、テーブルを記憶するメモリを有し、上記のデータと上記のオブジェクト・ コード化ルールを上記のテーブルに記憶し、上記のデータと上記のオブジェクト ・コード化ルールを上記のテーブルから検索して削除する手段を更に有し、ソー ス・コード化ルールをオブジェクト・コード化ルールに変換する変換手段とオブ ジェクト・コード化ルールをソース・コード化ルールに逆変換する逆変換手段を 更に有し、上記の文法に従ってオブジェクト・コード化ルールの語彙的有効性を 判定するスキャナ手段を更に有する上記の方法は:上記のプログラマによって、 第1ソース・コード化ルールを書き込むステップ; 上記の記憶手段によって、上記のテーブルに上記の第1ソース・コード化ルール を記憶するステップ; 上記の変換手段によって、上記の第1ソース・コード化ルールを第1オブジェク ト・コード化ルールに変換するステップ;上記の記憶手段によって、上記の第1 オブジェクト・コード化ルールを上記のテーブルに記憶するステップ;および上 記の記憶手段によって、上記の第1ソース・コード化ルールを上記のテーブルか ら廃棄するステップ; によって上記のステップの順序で構成されることを特徴とする方法。
  39. 39.上記の廃棄ステップの後; 上記の記憶手段によって、上記のテーブルから上記の第1オブジェクト・・コー ド化ルールを検索するステップ; 上記の逆変換手段によって上記の第1オブジェクト・コード化ルールを第2ソー ス・コード化ルールに逆変換するステップ;上記のプログラマによって、上記の 第2ソース・コード化ルールを変更して書き替えるステップ; 上記の記憶手段によって、変更された上記の第2ソース・コード化ルールを上記 のテーブルに記憶するステップ; 上記の変換手段によって、上記の第2ソース・コード化ルールを第2オブジェク ト・コード化ルールに変換するステップ;上記の記憶手段によって、上記の第2 オブジェクト・コード化ルールを上記のテーブルに記憶するステップ;および上 記の記憶手段によって、上記の第1オブジェクト・コード化ルールと上記の第2 ソース・コード化ルールを上記のテーブルから廃棄するステップ;によって上記 のステップの順序で更に構成されることを特徴とする請求の範囲第38項記載の 方法。
  40. 40.上記のスキャナ手段によって、上記の第1および第2オブジェクト・コー ド化ルールの語彙的有効性または無効性をそれぞれ判定するステップを更に有す る上記の変換ステップ; 上記のスキャナ手段による、上記の第1および第2オブジェクト・コード化ルー ルのそれぞれの有効性の判定を条件として、上記の第1および第2オブジェクト ・コード化ルールを上記のテーブルに記憶する上記のステップ;および上記の第 1および第2オブジェクト・コード化ルールをそれぞれ上記のテーブルに記憶す ることを条件として行われる上記の第1および第2ソース・コード化ルールを廃 棄する上記のステップ;によって更に構旗されることを特徴とする請求の範囲3 9記載の方法。
  41. 41.ホスト・データ処理装置でプログラムを実行するシステムにおいて、上記 のシステムは: オブジェクトの複数のテーブルを記憶するテーブル記憶手段であって、上記のテ ーブルに1つにおける上記のオブジェクトは実行可能なルールを有し、上記のテ ーブルの他における上記のオブジェクトはルールを実行する場合に有用なデータ を有する上記のテーブル記憶手段;上記のオブジェクトのサブセットを上記のテ ーブル記憶手段に記憶するバッファ手段; 上記のバッファ手段内の第1オブジェクトからカレント・ルールを実行する実行 手段であって、上記のカレント・ルールは上記のバッファ手段における1つ以上 の第2オブジェクトに対するポインタを有し、上記の第2オブジェクトは上記の カレント・ルールの実行と関連して使用される上記の実行手段;および 上記のカレント・ルールの実行に応答して、上記のテーブル記憶手段から上記の 第2オブジェクトをアクセスし、上記の第2オブジェクトを上記のバッファ手段 にロードして上記のカレント・ルールの実行を可能にするテーブル・アクセス手 段; によって構成されることを特徴とするシステム。
  42. 42.プログラムがルールによって形成されている場合に上記のプログラムを実 行するコンピュータ・システムにおいて、上記のコンピュータ・システムは:オ ブジェクトの複数のテーブルを記憶するテーブル記憶手段であって、上記のテー ブルの1つにおける上記のオブジェクトは実行可能なルール・オブジェクトを有 し、上記のテーブルの他における上記のオブジェクトはルールを実行する場合に 有用な−データ・オブジェクトを有し、上記のテーブルの他における上記のオブ ジェクトは他のオブジェクトの意味を判定するメタデータ・オブジェクトを有す る上記のテーブル記憶手段;上記のテーブル記憶手段に上記のオブジェクトのサ ブセットを記憶する実行記憶手段であって、上記のオブジェクトのサブセットは ルール・オブジェクト、データ・オブジェクトおよびメタデータ・オブジェクト を有する上記の実行記憶手段; 上記の実行記憶手段内特定のルール・オブジェクトからカレント・ルールを実行 する実行手段であって、上記のカレント・ルールは上記の実行記憶手段における 1つ以上の他のオブジェクトに対するポインタを有し、上記の第2オブジェクト は上記のカレント・ルールの実行と関連して使用される上記の実行手段;および 上記のカレント・ルールの実行に応答して、上記のテーブル記憶手段から上記の 他のオブジェクトをアクセスし、上記の他のオブジェクトを上記の実行記憶手段 にロードして上記のカレント・ルールの実行を可能にするテーブル・アクセス手 段; によって構成されることを特徴とするコンピュータ・システム。
JP51342090A 1989-09-01 1990-09-04 プログラムを実行するシステム Expired - Fee Related JP3478820B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US40286289A 1989-09-01 1989-09-01
US402,862 1989-09-01
US45029889A 1989-12-13 1989-12-13
US450,298 1989-12-13

Publications (2)

Publication Number Publication Date
JPH05502527A true JPH05502527A (ja) 1993-04-28
JP3478820B2 JP3478820B2 (ja) 2003-12-15

Family

ID=27018061

Family Applications (1)

Application Number Title Priority Date Filing Date
JP51342090A Expired - Fee Related JP3478820B2 (ja) 1989-09-01 1990-09-04 プログラムを実行するシステム

Country Status (9)

Country Link
US (5) US5596752A (ja)
EP (4) EP0489861B1 (ja)
JP (1) JP3478820B2 (ja)
AT (4) ATE182014T1 (ja)
AU (4) AU646408B2 (ja)
CA (4) CA2284245C (ja)
DE (4) DE69033203T2 (ja)
ES (3) ES2132175T3 (ja)
WO (1) WO1991003791A1 (ja)

Families Citing this family (289)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5566330A (en) * 1991-08-20 1996-10-15 Powersoft Corporation Method for forming a reusable and modifiable database interface object
FR2681451B1 (fr) * 1991-09-13 1993-11-12 Bull Sa Procede de gestion d'objets structures.
US5666526A (en) * 1993-09-02 1997-09-09 Microsoft Corp. Method and system for supporting scrollable, updatable database queries
JPH0778742B2 (ja) * 1992-08-12 1995-08-23 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピユータ・プログラム言語変換装置及びその方法
US5963931A (en) * 1992-10-05 1999-10-05 Expert Systems Publishing Co. Computer-assisted decision management system
US5459860A (en) * 1992-10-05 1995-10-17 International Business Machines Corporation Computerized system and process for managing a distributed database system
GB9320404D0 (en) * 1993-10-04 1993-11-24 Dixon Robert Method & apparatus for data storage & retrieval
EP0682318B1 (de) * 1994-05-10 2000-08-09 Siemens Aktiengesellschaft Datenverwaltungssystem
SE505844C2 (sv) * 1994-09-21 1997-10-13 Qliktech International Ab Metod för extrahering av information från en databas
US5768480A (en) * 1994-10-21 1998-06-16 Lucent Technologies Inc. Integrating rules into object-oriented programming systems
JP2771951B2 (ja) * 1994-11-10 1998-07-02 インターナショナル・ビジネス・マシーンズ・コーポレイション リアクティブ・システムのためのプログラム作成装置
US5732274A (en) * 1995-11-08 1998-03-24 Electronic Data Systems Corporation Method for compilation using a database for target language independence
US6035300A (en) * 1995-12-15 2000-03-07 International Business Machines Corporation Method and apparatus for generating a user interface from the entity/attribute/relationship model of a database
US5950210A (en) * 1996-01-29 1999-09-07 Nelson; Paul M. Database row version differentiation process
US5805893A (en) * 1996-03-01 1998-09-08 Electronic Data Systems Corporation Assembly language program converter
US5815720A (en) * 1996-03-15 1998-09-29 Institute For The Development Of Emerging Architectures, L.L.C. Use of dynamic translation to collect and exploit run-time information in an optimizing compilation system
US5857106A (en) * 1996-05-31 1999-01-05 Hewlett-Packard Company Runtime processor detection and installation of highly tuned processor specific routines
US5826031A (en) 1996-06-10 1998-10-20 Sun Microsystems, Inc. Method and system for prioritized downloading of embedded web objects
US5826250A (en) * 1996-06-19 1998-10-20 Pegasystems Inc. Rules bases and methods of access thereof
JP4533974B2 (ja) * 1996-08-01 2010-09-01 康 清木 異種データベース統合システム
US5745890A (en) * 1996-08-09 1998-04-28 Digital Equipment Corporation Sequential searching of a database index using constraints on word-location pairs
US6745194B2 (en) 2000-08-07 2004-06-01 Alta Vista Company Technique for deleting duplicate records referenced in an index of a database
US5745894A (en) * 1996-08-09 1998-04-28 Digital Equipment Corporation Method for generating and searching a range-based index of word-locations
EP0825506B1 (en) * 1996-08-20 2013-03-06 Invensys Systems, Inc. Methods and apparatus for remote process control
JP3777666B2 (ja) * 1996-08-28 2006-05-24 株式会社日立製作所 データベース処理方法およびシステム
US5794048A (en) * 1996-08-29 1998-08-11 Matridigm Corporation Method for classification of year-related data fields in a program
US6226665B1 (en) * 1996-09-19 2001-05-01 Microsoft Corporation Application execution environment for a small device with partial program loading by a resident operating system
US5884304A (en) * 1996-09-20 1999-03-16 Novell, Inc. Alternate key index query apparatus and method
US5884327A (en) * 1996-09-25 1999-03-16 International Business Machines Corporation System, method and program for performing two-phase commit with a coordinator that performs no logging
US5950209A (en) * 1996-10-02 1999-09-07 Alcatel Usa Sourcing, L.P. Software release control system and method
US5970247A (en) * 1996-10-07 1999-10-19 Wolf; William M. Methods for encoding decoding and processing six character date designations for the year 2000 and beyond
US5920873A (en) * 1996-12-06 1999-07-06 International Business Machines Corporation Data management control system for file and database
US5881290A (en) * 1996-12-09 1999-03-09 Allen-Bradley Company, Llc Industrial controller decompiler accommodating an expandable instruction set
US5819097A (en) * 1996-12-09 1998-10-06 Allen Bradley Company, Llc Industrial controller compiler with expandable instruction set
US5966717A (en) * 1996-12-20 1999-10-12 Apple Computer, Inc. Methods for importing data between database management programs
US6687761B1 (en) 1997-02-20 2004-02-03 Invensys Systems, Inc. Process control methods and apparatus with distributed object management
US5946484A (en) * 1997-05-08 1999-08-31 The Source Recovery Company, Llc Method of recovering source code from object code
US6025838A (en) * 1997-07-11 2000-02-15 International Business Machines Corporation Interactive display interface for media presentation with direct access to media sequences
JPH1153223A (ja) * 1997-08-01 1999-02-26 Sony Corp データ処理方法、記録媒体及び電子機器
US6728699B1 (en) * 1997-09-23 2004-04-27 Unisys Corporation Method and apparatus for using prior results when processing successive database requests
US6144965A (en) * 1997-09-24 2000-11-07 Sony Corporation Performing memory management in an object-oriented programming environment
JPH11112652A (ja) 1997-09-29 1999-04-23 Sony Corp 留守番機能付き電話装置
US6006232A (en) * 1997-10-21 1999-12-21 At&T Corp. System and method for multirecord compression in a relational database
US6134558A (en) * 1997-10-31 2000-10-17 Oracle Corporation References that indicate where global database objects reside
US6108664A (en) * 1997-10-31 2000-08-22 Oracle Corporation Object views for relational data
US6134544A (en) * 1997-11-21 2000-10-17 Telefonaktiebolaget Lm Ericsson (Publ) Query supporting interface between a customer administrative system and database network elements in a telecommunications system
US6108670A (en) * 1997-11-24 2000-08-22 International Business Machines Corporation Checking and enabling database updates with a dynamic, multi-modal, rule based system
US6003025A (en) * 1997-11-24 1999-12-14 International Business Machines Corporation Data transformer system for accessing database information
US5946681A (en) * 1997-11-28 1999-08-31 International Business Machines Corporation Method of determining the unique ID of an object through analysis of attributes related to the object
US6195795B1 (en) 1997-12-19 2001-02-27 Alcatel Usa Sourcing, L.P. Apparatus and method for automatic software release notification
US6002874A (en) * 1997-12-22 1999-12-14 International Business Machines Corporation Method and system for translating goto-oriented procedural languages into goto-free object oriented languages
US7391698B2 (en) * 1998-07-23 2008-06-24 Samsung Electronics Co., Ltd. Adaptive writing method for high-density optical recording apparatus and circuit thereof
US6260047B1 (en) * 1998-01-02 2001-07-10 Maxagrid International, Inc. Inventory management system
US6889358B1 (en) * 1998-01-08 2005-05-03 Lucent Technologies Inc. Concurrency control in materialized views of a database
CN1087454C (zh) * 1998-02-27 2002-07-10 英业达股份有限公司 WinCE作业环境下的数据结构处理方法
US6145120A (en) * 1998-03-24 2000-11-07 Lockheed Martin Corporation Declaration programming language extension for procedural programming languages
US6085188A (en) * 1998-03-30 2000-07-04 International Business Machines Corporation Method of hierarchical LDAP searching with relational tables
US6233586B1 (en) 1998-04-01 2001-05-15 International Business Machines Corp. Federated searching of heterogeneous datastores using a federated query object
US6272488B1 (en) 1998-04-01 2001-08-07 International Business Machines Corporation Managing results of federated searches across heterogeneous datastores with a federated collection object
US6263342B1 (en) 1998-04-01 2001-07-17 International Business Machines Corp. Federated searching of heterogeneous datastores using a federated datastore object
US6167402A (en) * 1998-04-27 2000-12-26 Sun Microsystems, Inc. High performance message store
US6539397B1 (en) 2000-03-31 2003-03-25 International Business Machines Corporation Object-oriented paradigm for accessing system service requests by modeling system service calls into an object framework
US6539398B1 (en) 1998-04-30 2003-03-25 International Business Machines Corporation Object-oriented programming model for accessing both relational and hierarchical databases from an objects framework
US7171426B2 (en) * 1998-05-12 2007-01-30 Shell Oil Company Hazard communication system
US6691183B1 (en) 1998-05-20 2004-02-10 Invensys Systems, Inc. Second transfer logic causing a first transfer logic to check a data ready bit prior to each of multibit transfer of a continous transfer operation
US6112300A (en) * 1998-06-03 2000-08-29 International Business Machines Corporation Method and apparatus for performing multi-way branching using a hardware relational table
US6253194B1 (en) * 1998-06-16 2001-06-26 Microsoft Corporation System and method for performing database queries using a stack machine
US6112209A (en) 1998-06-17 2000-08-29 Gusack; Mark David Associative database model for electronic-based informational assemblies
US6308166B1 (en) * 1998-08-20 2001-10-23 Sap Aktiengesellschaft Methodology for advanced quantity-oriented cost assignment using various information sources
US6061691A (en) * 1998-08-31 2000-05-09 Maxagrid International, Inc. Method and system for inventory management
US6338067B1 (en) 1998-09-01 2002-01-08 Sector Data, Llc. Product/service hierarchy database for market competition and investment analysis
WO2000022884A1 (en) 1998-10-09 2000-04-20 Microwave Science, Llc Interpretive language architecture for controlling the attributes of a physical, chemical, or thermodynamic process
US6401089B2 (en) * 1998-10-27 2002-06-04 Computer Associates Think, Inc. Method for maintaining exception tables for a check utility
US6339839B1 (en) 1998-11-12 2002-01-15 International Business Machines Corporation Enabling multiple code generators in a translator-based embedded scripting system
US6292936B1 (en) 1998-11-12 2001-09-18 International Business Machines Corporation Enabling multiple runtime processors in an interpreter-based embedded scripting system
US6237003B1 (en) * 1998-11-30 2001-05-22 Platinum Technology Ip, Inc. Method and apparatus for supporting dynamic run-time object definition in a relational database management system
US6920464B2 (en) * 1998-12-03 2005-07-19 Grantley Patent Holdings, Ltd. System for generating an advertising revenue projection
US6332215B1 (en) 1998-12-08 2001-12-18 Nazomi Communications, Inc. Java virtual machine hardware for RISC and CISC processors
US20050149694A1 (en) * 1998-12-08 2005-07-07 Mukesh Patel Java hardware accelerator using microcode engine
US6338160B1 (en) * 1998-12-08 2002-01-08 Nazomi Communications, Inc. Constant pool reference resolution method
US6281892B1 (en) * 1998-12-16 2001-08-28 Alcatel Usa Sourcing, L.P. System and method of table-driven computer interface
US6334122B1 (en) * 1998-12-23 2001-12-25 Advanced Micro Devices, Inc. Method and apparatus for translating variable names to column names for accessing a database
US6848111B1 (en) * 1999-02-02 2005-01-25 Sun Microsystems, Inc. Zero overhead exception handling
US6308168B1 (en) 1999-02-09 2001-10-23 Knowledge Discovery One, Inc. Metadata-driven data presentation module for database system
US6714928B1 (en) 1999-03-19 2004-03-30 Sybase, Inc. Development system providing HTML database control object
US6457014B1 (en) * 1999-03-26 2002-09-24 Computer Associates Think, Inc. System and method for extracting index key data fields
US6589291B1 (en) 1999-04-08 2003-07-08 International Business Machines Corporation Dynamically determining the most appropriate location for style sheet application
US6463440B1 (en) 1999-04-08 2002-10-08 International Business Machines Corporation Retrieval of style sheets from directories based upon partial characteristic matching
US6622300B1 (en) 1999-04-21 2003-09-16 Hewlett-Packard Development Company, L.P. Dynamic optimization of computer programs using code-rewriting kernal module
US6938041B1 (en) 1999-04-30 2005-08-30 Sybase, Inc. Java-based data access object
US7089530B1 (en) * 1999-05-17 2006-08-08 Invensys Systems, Inc. Process control configuration system with connection validation and configuration
US6754885B1 (en) 1999-05-17 2004-06-22 Invensys Systems, Inc. Methods and apparatus for controlling object appearance in a process control configuration system
WO2000070417A1 (en) 1999-05-17 2000-11-23 The Foxboro Company Process control configuration system with parameterized objects
US6501995B1 (en) 1999-06-30 2002-12-31 The Foxboro Company Process control system and method with improved distribution, installation and validation of components
US6788980B1 (en) * 1999-06-11 2004-09-07 Invensys Systems, Inc. Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network
US6393606B1 (en) * 1999-06-25 2002-05-21 Agilent Technologies, Inc. Inverse assembler
US6952741B1 (en) * 1999-06-30 2005-10-04 Computer Sciences Corporation System and method for synchronizing copies of data in a computer system
US6339772B1 (en) 1999-07-06 2002-01-15 Compaq Computer Corporation System and method for performing database operations on a continuous stream of tuples
US6304873B1 (en) * 1999-07-06 2001-10-16 Compaq Computer Corporation System and method for performing database operations and for skipping over tuples locked in an incompatible mode
US6453313B1 (en) 1999-07-06 2002-09-17 Compaq Information Technologies Group, L.P. Database management system and method for dequeuing rows published to a database table
US6510352B1 (en) 1999-07-29 2003-01-21 The Foxboro Company Methods and apparatus for object-based process control
CA2279222C (en) * 1999-07-30 2002-07-16 Ibm Canada Limited-Ibm Canada Limitee Direct call threaded code
US6578194B1 (en) * 1999-09-08 2003-06-10 International Business Machines Corporation System and method using extended relocation types and operations in relocating operations
US6965888B1 (en) * 1999-09-21 2005-11-15 International Business Machines Corporation Method, system, program, and data structure for cleaning a database table using a look-up table
US7120638B1 (en) * 1999-09-21 2006-10-10 International Business Machines Corporation Method, system, program, and data structure for cleaning a database table
JP4462676B2 (ja) * 1999-10-27 2010-05-12 富士通株式会社 プログラム変換装置、コンパイラ装置およびプログラム変換プログラムを記録したコンピュータ読み取り可能な記録媒体
US7693844B1 (en) 1999-10-29 2010-04-06 Computer Sciences Corporation Configuring processing relationships among entities of an organization
US7546304B1 (en) * 1999-10-29 2009-06-09 Computer Sciences Corporation Configuring keys for use in processing business data
US6473660B1 (en) 1999-12-03 2002-10-29 The Foxboro Company Process control system and method with automatic fault avoidance
US20020112078A1 (en) * 1999-12-03 2002-08-15 David Yach Virtual machine web browser
US7133873B1 (en) * 1999-12-14 2006-11-07 United Parcel Service Of America, Inc. System and method for modifying output of computer program without source code modifications
US6546394B1 (en) * 1999-12-28 2003-04-08 Oracle International Corporation Database system having logical row identifiers
US6393424B1 (en) * 1999-12-29 2002-05-21 Networks Associates, Inc. Method and apparatus for using a static metadata object to reduce database accesses
US6779128B1 (en) 2000-02-18 2004-08-17 Invensys Systems, Inc. Fault-tolerant data transfer
US6681383B1 (en) 2000-04-04 2004-01-20 Sosy, Inc. Automatic software production system
US7334216B2 (en) * 2000-04-04 2008-02-19 Sosy, Inc. Method and apparatus for automatic generation of information system user interfaces
US6675163B1 (en) 2000-04-06 2004-01-06 International Business Machines Corporation Full match (FM) search algorithm implementation for a network processor
KR20010110097A (ko) * 2000-06-03 2001-12-12 포만 제프리 엘 작업흐름-관리-시스템에서의 보관 방법
JP2002007169A (ja) * 2000-06-23 2002-01-11 Nec Corp 文法網羅率計測方式
US8688474B2 (en) * 2000-06-26 2014-04-01 Epic Systems Corporation Patient health record access system
US6934696B1 (en) * 2000-09-15 2005-08-23 Bently Nevada, Llc Custom rule system and method for expert systems
US8050944B2 (en) * 2000-09-20 2011-11-01 Epic Systems Corporation Intelligent patient visit information management and navigation system
US7251610B2 (en) * 2000-09-20 2007-07-31 Epic Systems Corporation Clinical documentation system for use by multiple caregivers
EP1197847A3 (en) * 2000-10-10 2003-05-21 Nazomi Communications Inc. Java hardware accelerator using microcode engine
DE10052408B4 (de) * 2000-10-23 2005-03-31 British American Tobacco (Germany) Gmbh Verfahren und Vorrichtung zur Zuführung Flavour zum Tabak eines Rauchartikels
US20020055918A1 (en) * 2000-11-08 2002-05-09 Patrick Hlathein Operating room resource management system incorporating an interactive, visual method for coordinating multiple, interdependent
US8312429B2 (en) * 2000-11-10 2012-11-13 Oracle International Corporation Cell based data processing
US6941291B1 (en) * 2000-12-07 2005-09-06 Cisco Technology, Inc. Method and device for a user profile repository
US6647386B2 (en) * 2000-12-14 2003-11-11 International Business Machines Corporation Method, system, and program for reverse index scanning
US7275220B2 (en) * 2000-12-22 2007-09-25 Epic Systems Corporation System and method for a seamless user interface for an integrated electronic health care information system
US6983423B2 (en) * 2000-12-22 2006-01-03 Epic Systems Corporation Electronic system for collecting and communicating clinical order information in an acute care setting
US6629098B2 (en) * 2001-01-16 2003-09-30 Hewlett-Packard Development Company, L.P. Method and system for validating data submitted to a database application
US7047420B2 (en) 2001-01-17 2006-05-16 Microsoft Corporation Exclusive encryption
US20020099834A1 (en) * 2001-01-19 2002-07-25 Neoplanet, Inc. Rules-based decision engine
US20040199522A1 (en) * 2001-01-25 2004-10-07 Hanna Edpalm Method and apparatus for optimised indexing records of static data with different lengths
US6738779B1 (en) 2001-02-21 2004-05-18 Telecom Italia S.P.A. Apparatus for and method of multiple parallel string searching
US6907435B2 (en) * 2001-02-27 2005-06-14 Microsoft Corporation Converting numeric values to strings for optimized database storage
US7043637B2 (en) 2001-03-21 2006-05-09 Microsoft Corporation On-disk file format for a serverless distributed file system
US20020138636A1 (en) * 2001-03-23 2002-09-26 Mark Buttner Method for automatically mass generating personalized data report outputs
US6981138B2 (en) 2001-03-26 2005-12-27 Microsoft Corporation Encrypted key cache
US7062490B2 (en) 2001-03-26 2006-06-13 Microsoft Corporation Serverless distributed file system
US7231417B2 (en) * 2001-04-25 2007-06-12 Sun Microsystems, Inc. Assessment engine
US20020165898A1 (en) * 2001-05-03 2002-11-07 Joe Duffy Recipient-determined method for sharing tasks in an advanced electronic messaging/workflow system
KR20040004619A (ko) * 2001-05-11 2004-01-13 컴퓨터 어소시에이츠 싱크, 인코포레이티드 구식 소프트웨어 애플리케이션을 최신의 객체 지향시스템으로 전환하는 방법과 시스템
FI111107B (fi) * 2001-05-15 2003-05-30 Softageneraattori Oy Menetelmä translaattorin kehittämiseksi ja vastaava järjestelmä
US6988124B2 (en) 2001-06-06 2006-01-17 Microsoft Corporation Locating potentially identical objects across multiple computers based on stochastic partitioning of workload
US6981250B1 (en) * 2001-07-05 2005-12-27 Microsoft Corporation System and methods for providing versioning of software components in a computer programming language
US8001523B1 (en) 2001-07-05 2011-08-16 Microsoft Corporation System and methods for implementing an explicit interface member in a computer programming language
US7904454B2 (en) * 2001-07-16 2011-03-08 International Business Machines Corporation Database access security
US6751627B2 (en) * 2001-07-23 2004-06-15 Networks Associates Technology, Inc. Method and apparatus to facilitate accessing data in network management protocol tables
US20030061073A1 (en) * 2001-08-01 2003-03-27 Khiang Seow Method and system for displaying patient information
US8769508B2 (en) 2001-08-24 2014-07-01 Nazomi Communications Inc. Virtual machine hardware for RISC and CISC processors
US7024658B1 (en) * 2001-09-28 2006-04-04 Adobe Systems Incorporated Extensible help facility for a computer software application
US7158994B1 (en) 2001-09-28 2007-01-02 Oracle International Corporation Object-oriented materialized views
US7480854B2 (en) * 2001-10-02 2009-01-20 International Business Machines Corporation Data conversion system and method
CA2359277A1 (en) * 2001-10-18 2003-04-18 Ibm Canada Limited-Ibm Canada Limitee Slow materialization of scrollable cursor result sets
US7444619B2 (en) * 2001-10-22 2008-10-28 Sun Microsystems, Inc. Inter-process communication using different programming languages
US8156471B2 (en) * 2001-11-09 2012-04-10 Oracle International Corporation Multi-language execution method
US20030154110A1 (en) * 2001-11-20 2003-08-14 Ervin Walter Method and apparatus for wireless access to a health care information system
US20030130872A1 (en) * 2001-11-27 2003-07-10 Carl Dvorak Methods and apparatus for managing and using inpatient healthcare information
US7386492B2 (en) * 2002-01-15 2008-06-10 Clear Channel Communications, Inc. Inventory and revenue maximization method and system
US7240331B2 (en) * 2002-01-16 2007-07-03 Xerox Corporation Bi-valuation of programming statements
WO2003065180A2 (en) * 2002-02-01 2003-08-07 John Fairweather System and method for creating a distributed network architecture
US7111020B1 (en) * 2002-03-26 2006-09-19 Oracle International Corporation Incremental refresh of materialized views containing rank function, and rewrite of queries containing rank or rownumber or min/max aggregate functions using such a materialized view
US20030187755A1 (en) * 2002-04-01 2003-10-02 Kamal Acharya Method and system for providing portable shopping information
AU2003234106A1 (en) * 2002-04-15 2003-11-03 Invensys Systems, Inc. Methods and apparatus for process, factory-floor, environmental, computer aided manufacturing-based or other control system with real-time data distribution
US20030220821A1 (en) * 2002-04-30 2003-11-27 Ervin Walter System and method for managing and reconciling asynchronous patient data
US20030220816A1 (en) * 2002-04-30 2003-11-27 Andy Giesler System and method for managing interactions between machine-generated and user-defined patient lists
US20030220817A1 (en) * 2002-05-15 2003-11-27 Steve Larsen System and method of formulating appropriate subsets of information from a patient's computer-based medical record for release to various requesting entities
US20040010422A1 (en) * 2002-05-20 2004-01-15 Cliff Michalski Method and apparatus for batch-processed invoicing
US20040010465A1 (en) * 2002-05-20 2004-01-15 Cliff Michalski Method and apparatus for exception based payment posting
JP2004062227A (ja) * 2002-07-24 2004-02-26 Casio Comput Co Ltd 電子辞書端末、辞書システムサーバ、および端末処理プログラム、サーバ処理プログラム
US7979294B2 (en) * 2002-07-31 2011-07-12 Epic Systems Corporation System and method for providing decision support to appointment schedulers in a healthcare setting
US6952690B2 (en) * 2002-08-22 2005-10-04 International Business Machines Corporation Loop detection in rule-based expert systems
US7228529B2 (en) * 2002-08-27 2007-06-05 International Business Machines Corporation Restructuring computer programs
US7047254B2 (en) * 2002-10-31 2006-05-16 Hewlett-Packard Development Company, L.P. Method and apparatus for providing aggregate object identifiers
US7761346B2 (en) * 2002-11-07 2010-07-20 Agentsmith, Inc. System, method and computer program product for providing a multidimensional inventory management system
US8321235B2 (en) * 2002-11-27 2012-11-27 Hewlett-Packard Development Company, L.P. Validating an electronic transaction
US7065745B2 (en) * 2002-12-16 2006-06-20 Sun Microsystems, Inc. System and method for evaluating and executing hierarchies of rules
US7103588B2 (en) * 2003-05-05 2006-09-05 International Business Machines Corporation Range-clustered tables in a database management system
US6976144B1 (en) * 2003-05-06 2005-12-13 Pegasystems, Inc. Methods and apparatus for digital data processing with mutable inheritance
US7340480B2 (en) * 2003-05-08 2008-03-04 International Business Machines Corporation Iterative data analysis enabled through query result abstraction
US7251650B2 (en) * 2003-08-25 2007-07-31 International Business Machines Corporation Method, system, and article of manufacture for processing updates to insert operations
CN100338571C (zh) * 2003-09-27 2007-09-19 英特尔公司 处理器的扩展寄存器空间装置和方法
US20050071195A1 (en) * 2003-09-30 2005-03-31 Cassel David A. System and method of synchronizing data sets across distributed systems
US8825502B2 (en) * 2003-09-30 2014-09-02 Epic Systems Corporation System and method for providing patient record synchronization in a healthcare setting
US20050132340A1 (en) * 2003-12-15 2005-06-16 International Business Machines Corporation System and method for selection of translation routine for versioned data
WO2005076126A2 (en) * 2004-02-04 2005-08-18 Sap Aktiengesellschaft Method, system and software application for real time accounting data processing
US20060080140A1 (en) * 2004-02-09 2006-04-13 Epic Systems Corporation System and method for providing a clinical summary of patient information in various health care settings
US7761923B2 (en) * 2004-03-01 2010-07-20 Invensys Systems, Inc. Process control methods and apparatus for intrusion detection, protection and network hardening
US7376912B2 (en) * 2004-03-25 2008-05-20 Morgan Stanley Interactive user interface for displaying supply chain information
US7695590B2 (en) 2004-03-26 2010-04-13 Applied Materials, Inc. Chemical vapor deposition plasma reactor having plural ion shower grids
US7500221B2 (en) * 2004-04-08 2009-03-03 Sap Ag Filter-based comments in source code
US8478742B2 (en) * 2004-04-14 2013-07-02 Oracle Corporation Using estimated cost to refresh a set of materialized views (MVS)
US7890497B2 (en) 2004-04-14 2011-02-15 Oracle International Corporation Using estimated cost to schedule an order for refreshing a set of materialized views (MVS)
US7734602B2 (en) 2004-04-14 2010-06-08 Oracle International Corporation Choosing whether to use a delayed index maintenance depending on the portion of the materialized view (MV) changed
US20050234741A1 (en) * 2004-04-16 2005-10-20 Sumit Rana Electronic appointment scheduling for medical resources
US7721271B2 (en) * 2004-04-22 2010-05-18 Microsoft Corporation Language localization and intercepting data using translation tables
US8428968B2 (en) * 2004-05-10 2013-04-23 Epic Systems Corporation Interactive system for patient access to electronic medical records
AU2005243114B2 (en) * 2004-05-13 2011-02-24 Robert John Rogers A system and method for retrieving information and a system and method for storing information
US20050262032A1 (en) * 2004-05-21 2005-11-24 Bea Systems, Inc. Portal rules engine enhancements
US7665063B1 (en) 2004-05-26 2010-02-16 Pegasystems, Inc. Integration of declarative rule-based processing with procedural programming
US20060004605A1 (en) * 2004-06-21 2006-01-05 Epic Systems Corporation System and method for a comprehensive interactive graphical representation of a health care facility for managing patient care and health care facility resources
US20050283387A1 (en) * 2004-06-21 2005-12-22 Epic Systems Corporation System for providing an interactive anatomical graphical representation of a body for use in a health care environment
CN101421776B (zh) * 2004-07-08 2012-03-21 微软公司 用于生成内容的自动图像捕捉
US20060047554A1 (en) * 2004-08-24 2006-03-02 Steven Larsen Rules based resource scheduling
US8725547B2 (en) * 2004-08-24 2014-05-13 Epic Systems Corporation Utilization indicating schedule scanner
US20060053034A1 (en) * 2004-09-08 2006-03-09 Epic Systems Corporation System and method for providing a real-time status for managing encounters in health care settings
US7503040B2 (en) * 2004-09-30 2009-03-10 International Business Machines Corporation Configuring a shared library to accommodate relocatable data in a pervasive device
US20060085381A1 (en) * 2004-10-20 2006-04-20 Epic Systems Corporation Remote deployment access system and method
US20060117021A1 (en) * 2004-11-29 2006-06-01 Epic Systems Corporation Shared account information method and apparatus
US7580922B2 (en) * 2005-01-04 2009-08-25 International Business Machines Corporation Methods for relating data in healthcare databases
US8140370B2 (en) * 2005-01-20 2012-03-20 Epic Systems Corporation System and method for reducing the steps involved in searching for available appointment times and scheduling appointments in a health care environment
US8335704B2 (en) * 2005-01-28 2012-12-18 Pegasystems Inc. Methods and apparatus for work management and routing
CN100383787C (zh) * 2005-03-17 2008-04-23 华为技术有限公司 一种数据库多表信息初始化方法
US7565217B2 (en) * 2005-04-01 2009-07-21 International Business Machines Corporation Traversal of empty regions in a searchable data structure
US20060277525A1 (en) * 2005-06-06 2006-12-07 Microsoft Corporation Lexical, grammatical, and semantic inference mechanisms
US7970788B2 (en) * 2005-08-02 2011-06-28 International Business Machines Corporation Selective local database access restriction
US7797359B1 (en) 2005-08-23 2010-09-14 Hewlett-Packard Development Company, L.P. Recursive data naming
US7739696B2 (en) * 2005-09-08 2010-06-15 Honeywell International Inc. Message translation systems and methods
US7590940B2 (en) 2005-10-11 2009-09-15 Morgan Stanley Interactive user interface for displaying correlation
US7917856B2 (en) * 2005-10-24 2011-03-29 Sap Ag Converting between user interface technologies
US7933923B2 (en) 2005-11-04 2011-04-26 International Business Machines Corporation Tracking and reconciling database commands
US20080208785A1 (en) * 2006-03-30 2008-08-28 Pegasystems, Inc. User interface methods and apparatus for rules processing
US7860857B2 (en) 2006-03-30 2010-12-28 Invensys Systems, Inc. Digital data processing apparatus and methods for improving plant performance
US8924335B1 (en) 2006-03-30 2014-12-30 Pegasystems Inc. Rule-based user interface conformance methods
US20090132232A1 (en) * 2006-03-30 2009-05-21 Pegasystems Inc. Methods and apparatus for implementing multilingual software applications
US20070233902A1 (en) * 2006-03-30 2007-10-04 Alan Trefler User interface methods and apparatus for rules processing
US8676785B2 (en) * 2006-04-06 2014-03-18 Teradata Us, Inc. Translator of statistical language programs into SQL
US7774746B2 (en) * 2006-04-19 2010-08-10 Apple, Inc. Generating a format translator
US7634486B2 (en) * 2006-06-29 2009-12-15 Microsoft Corporation Systems management navigation and focus collection
US8661425B1 (en) * 2006-07-28 2014-02-25 American Megatrends, Inc. Method, apparatus, and computer-readable medium for storing data associated with a firmware program
US7801856B2 (en) * 2006-08-09 2010-09-21 Oracle International Corporation Using XML for flexible replication of complex types
TWI320913B (en) * 2006-08-30 2010-02-21 Via Tech Inc Methods, systems and computer-readable storage medium for shading process compiling of 3d computer graphics
WO2008047351A2 (en) 2006-10-19 2008-04-24 Checkmarx Ltd. Locating security vulnerabilities in source code
US8141100B2 (en) 2006-12-20 2012-03-20 International Business Machines Corporation Identifying attribute propagation for multi-tier processing
CA2578979A1 (en) * 2007-02-19 2008-08-19 Cognos Incorporated System and method of report representation
CA2578980A1 (en) 2007-02-19 2008-08-19 Cognos Incorporated System and method of report rendering
US8495367B2 (en) 2007-02-22 2013-07-23 International Business Machines Corporation Nondestructive interception of secure data in transit
US8250525B2 (en) * 2007-03-02 2012-08-21 Pegasystems Inc. Proactive performance management for multi-user enterprise software systems
US20080250032A1 (en) * 2007-04-04 2008-10-09 International Business Machines Corporation Method and system for efficiently saving and retrieving values of a large number of resource variables using a small repository
US8538013B2 (en) * 2007-10-19 2013-09-17 International Business Machines Corporation Rules-driven hash building
US20090182689A1 (en) * 2008-01-15 2009-07-16 Microsoft Corporation Rule-based dynamic operation evaluation
US8397216B2 (en) * 2008-02-29 2013-03-12 International Business Machines Corporation Compiler for a declarative event-driven programming model
US8365149B2 (en) * 2008-02-29 2013-01-29 International Business Machines Corporation Debugger for a declarative event-driven programming model
US8627299B2 (en) 2008-02-29 2014-01-07 International Business Machines Corporation Virtual machine and programming language for event processing
US8219966B2 (en) * 2008-03-26 2012-07-10 Sap Ag Method and system for integrating an application floorplan and an external service
US8261326B2 (en) 2008-04-25 2012-09-04 International Business Machines Corporation Network intrusion blocking security overlay
RU2495476C2 (ru) 2008-06-20 2013-10-10 Инвенсис Системз, Инк. Системы и способы для иммерсивного взаимодействия с действительными и/или имитируемыми техническими средствами для управления технологическим процессом, контроля состояния окружающей среды и производственного контроля
US8171045B2 (en) * 2008-07-31 2012-05-01 Xsevo Systems, Inc. Record based code structure
DE112009001892T5 (de) * 2008-07-31 2011-07-21 Dustin Kurt Calif. Adler Datensatz basierte Codestruktur
US7979450B2 (en) * 2008-09-15 2011-07-12 Xsevo Systems, Inc. Instance management of code in a database
US8875055B1 (en) * 2008-11-28 2014-10-28 Google Inc. Interface for creating and viewing medical decision support rules
US8843435B1 (en) 2009-03-12 2014-09-23 Pegasystems Inc. Techniques for dynamic data processing
US8468492B1 (en) 2009-03-30 2013-06-18 Pegasystems, Inc. System and method for creation and modification of software applications
US8463964B2 (en) * 2009-05-29 2013-06-11 Invensys Systems, Inc. Methods and apparatus for control configuration with enhanced change-tracking
US8127060B2 (en) * 2009-05-29 2012-02-28 Invensys Systems, Inc Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware
CA2675680C (en) * 2009-08-27 2013-05-14 Ibm Canada Limited - Ibm Canada Limitee Generating object code that uses calculated contents for a variable determined from a predicate
US8768947B2 (en) * 2009-12-22 2014-07-01 At&T Global Network Services Deutschland Gmbh System and method for implementing unique primary keys across enterprise databases
CA2691851A1 (en) * 2010-02-04 2011-08-04 Ibm Canada Limited - Ibm Canada Limitee Control flow analysis using deductive reaching definitions
US8689175B2 (en) * 2010-03-03 2014-04-01 Ebay Inc. Business rules management system
DE112011102727T5 (de) * 2010-08-16 2013-06-27 Mitsubishi Electric Corporation Steuerprogramm-Erzeugungsvorrichtung, Steuerprogramm-Erzeugungsprogramm und Steuerprogramm-Erzeugungsverfahren
US9141806B2 (en) 2010-08-24 2015-09-22 Checkmarx Ltd. Mining source code for violations of programming rules
US9002876B2 (en) * 2010-12-02 2015-04-07 Sap Se Interpreted computer language to analyze business object data with defined relations
US20120180033A1 (en) * 2011-01-12 2012-07-12 David Amos Brown System and Methodology for Autonomous, Value-Centric, Architectural, Software Programming
US8880487B1 (en) 2011-02-18 2014-11-04 Pegasystems Inc. Systems and methods for distributed rules processing
US9065860B2 (en) * 2011-08-02 2015-06-23 Cavium, Inc. Method and apparatus for multiple access of plural memory banks
US9195936B1 (en) 2011-12-30 2015-11-24 Pegasystems Inc. System and method for updating or modifying an application without manual coding
US20130262150A1 (en) * 2012-03-30 2013-10-03 Mckesson Financial Holdings Data-driven concepts for processing claims
US20130262149A1 (en) * 2012-03-30 2013-10-03 Mckesson Financial Holdings Data-driven concepts for processing claims
US9424257B1 (en) * 2012-08-31 2016-08-23 Keysight Technologies, Inc. Compiler and operating system adapted for generating programs for decoding communication packets utilizing a protocol stack
US9141383B2 (en) * 2013-08-09 2015-09-22 Oracle International Corporation Subprocess definition and visualization in BPEL
US9544402B2 (en) 2013-12-31 2017-01-10 Cavium, Inc. Multi-rule approach to encoding a group of rules
US9667446B2 (en) 2014-01-08 2017-05-30 Cavium, Inc. Condition code approach for comparing rule and packet data that are provided in portions
US10469396B2 (en) 2014-10-10 2019-11-05 Pegasystems, Inc. Event processing with enhanced throughput
US10235780B2 (en) * 2015-12-18 2019-03-19 Dropbox, Inc. Integrated data exploration, modeling and visualization
US20170286140A1 (en) * 2016-03-31 2017-10-05 Ca, Inc. Java-based offload service in a mainframe environment
US10698599B2 (en) 2016-06-03 2020-06-30 Pegasystems, Inc. Connecting graphical shapes using gestures
US10698647B2 (en) 2016-07-11 2020-06-30 Pegasystems Inc. Selective sharing for collaborative application usage
US10664463B2 (en) * 2016-12-30 2020-05-26 Dropbox, Inc. Event context enrichment
EP3401827A1 (en) 2017-05-10 2018-11-14 Checkmarx Ltd. Method and system of static and dynamic data flow analysis
US10990594B2 (en) * 2018-05-04 2021-04-27 Oracle International Corporation Method for fast and consistent invocation of concurrently modifiable user-defined functions
US11048488B2 (en) 2018-08-14 2021-06-29 Pegasystems, Inc. Software code optimizer and method
US20200167668A1 (en) * 2018-11-27 2020-05-28 Sap Se Dynamic rule execution order
US11240024B2 (en) * 2019-07-29 2022-02-01 EMC IP Holding Company LLC Cryptographic key management using key proxies and generational indexes
US11294894B2 (en) 2019-08-30 2022-04-05 Oracle International Corporation Dynamic resolution of dependencies for database guest languages
US11836258B2 (en) 2020-07-28 2023-12-05 Checkmarx Ltd. Detecting exploitable paths in application software that uses third-party libraries
US11567945B1 (en) 2020-08-27 2023-01-31 Pegasystems Inc. Customized digital content generation systems and methods
US11418331B1 (en) 2021-02-25 2022-08-16 EMC IP Holding Company LLC Importing cryptographic keys into key vaults

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4099230A (en) * 1975-08-04 1978-07-04 California Institute Of Technology High level control processor
GB2126761B (en) * 1982-09-13 1987-07-08 Tektronix Inc Inverse assembler
JPH0640302B2 (ja) * 1984-01-30 1994-05-25 株式会社日立製作所 図式・ソ−スプログラム自動生成方法
AU591057B2 (en) * 1984-06-01 1989-11-30 Digital Equipment Corporation Local area network for digital data processing system
US4667290A (en) * 1984-09-10 1987-05-19 501 Philon, Inc. Compilers using a universal intermediate language
US4816994A (en) * 1984-12-04 1989-03-28 Tektronix, Inc. Rule acquisition for expert systems
US4905138A (en) * 1985-10-17 1990-02-27 Westinghouse Electric Corp. Meta-interpreter
US4787035A (en) * 1985-10-17 1988-11-22 Westinghouse Electric Corp. Meta-interpreter
JPS62128332A (ja) * 1985-11-30 1987-06-10 Toshiba Corp デ−タ処理装置
GB8602964D0 (en) * 1986-02-06 1986-03-12 Metaforth Computer Systems Ltd Computer architecture
EP0243110A3 (en) * 1986-04-21 1991-05-29 Texas Instruments Incorporated Computer system having source code re-creation capability
US4918593A (en) * 1987-01-08 1990-04-17 Wang Laboratories, Inc. Relational database system
US4860204A (en) * 1987-02-05 1989-08-22 Softron, Inc. Computer based workstation for development of graphic representation of computer programs
US4791561A (en) * 1987-04-17 1988-12-13 Wang Laboratories, Inc. Interactive construction of means for database maintenance
US4884217A (en) * 1987-09-30 1989-11-28 E. I. Du Pont De Nemours And Company Expert system with three classes of rules
US5287548A (en) * 1988-02-29 1994-02-15 Allen-Bradley Company, Inc. Programmable controller having a stored program with both machine language instructions and source code data
US5228116A (en) * 1988-07-15 1993-07-13 Aicorp., Inc. Knowledge base management system
EP0360387B1 (en) * 1988-09-23 1996-05-08 International Business Machines Corporation Data base management system
US4989132A (en) * 1988-10-24 1991-01-29 Eastman Kodak Company Object-oriented, logic, and database programming tool with garbage collection
US4931928A (en) * 1988-11-09 1990-06-05 Greenfeld Norton R Apparatus for analyzing source code
US5005152A (en) * 1989-04-05 1991-04-02 Allen-Bradley Company Industrial controller with decompilable user program

Also Published As

Publication number Publication date
AU6429390A (en) 1991-04-08
CA2284245A1 (en) 1991-03-02
EP0588447A2 (en) 1994-03-23
CA2284245C (en) 2001-02-06
ES2133145T3 (es) 1999-09-01
EP0489861A4 (en) 1993-08-04
ATE180336T1 (de) 1999-06-15
CA2284250A1 (en) 1991-03-02
EP0588445A3 (en) 1994-05-04
CA2284248A1 (en) 1991-03-02
DE69031040D1 (de) 1997-08-14
DE69033120D1 (de) 1999-06-24
EP0588447A3 (en) 1996-04-17
AU671137B2 (en) 1996-08-15
ATE182014T1 (de) 1999-07-15
DE69033203D1 (de) 1999-08-12
CA2284247C (en) 2005-12-06
EP0588446B1 (en) 1999-07-07
US5586330A (en) 1996-12-17
AU4608493A (en) 1993-12-16
JP3478820B2 (ja) 2003-12-15
DE69033203T2 (de) 1999-11-04
ES2132175T3 (es) 1999-08-16
AU4608393A (en) 1993-12-16
AU673682B2 (en) 1996-11-21
US5586329A (en) 1996-12-17
EP0588447B1 (en) 1999-05-19
CA2284250C (en) 2001-12-04
DE69033120T2 (de) 1999-10-21
EP0489861B1 (en) 1997-07-09
EP0588445B1 (en) 1999-05-19
US5584026A (en) 1996-12-10
EP0588446A2 (en) 1994-03-23
AU671138B2 (en) 1996-08-15
WO1991003791A1 (en) 1991-03-21
ATE155263T1 (de) 1997-07-15
EP0588446A3 (en) 1995-11-15
US5594899A (en) 1997-01-14
AU646408B2 (en) 1994-02-24
CA2284247A1 (en) 1991-03-02
US5596752A (en) 1997-01-21
ES2132176T3 (es) 1999-08-16
EP0489861A1 (en) 1992-06-17
DE69033121D1 (de) 1999-06-24
DE69033121T2 (de) 1999-10-28
EP0588445A2 (en) 1994-03-23
ATE180337T1 (de) 1999-06-15
CA2284248C (en) 2001-12-04
AU4608293A (en) 1993-12-23

Similar Documents

Publication Publication Date Title
JPH05502527A (ja) オペレーティングシステム及びデータベース
US5682535A (en) Operating system and data base using table access method with dynamic binding
US5835912A (en) Method of efficiency and flexibility storing, retrieving, and modifying data in any language representation
US5432930A (en) System for accessing cobol data files by generating a dictionary of NF.sup.2
US6353884B1 (en) System for describing and storing descriptions of hierachical structures using hardware definition files to specify performance, characteristics, part number and name of hardware components
Timson The file manager system
Emdi The implementation of a network CODASYL-DML interface for the multi-lingual database system.
Jordan Mastering the SAS DS2 Procedure: Advanced Data-Wrangling Techniques, (Hardcover edition)
JPH06266595A (ja) データ辞書構成方法
Fonfria Atan A Data Base Management System developed for the Cuban minicomputer CID 300/10: Candidate dissertation
Pappalardo et al. m. program-perkuliahan-reguler-siang-pmb-mappi. sutjiowati. com Layanan Informasi 17 Jam
Pappalardo et al. lulut-desa-kelurahan. sunda. us Layanan Informasi 17 Jam
Pappalardo et al. baju-qsi. lautan. info Layanan Informasi 17 Jam
Pappalardo et al. cari-pekerjaan-yunior-pengantar-barang-l8. 1hehe. com Layanan Informasi 17 Jam
Pappalardo et al. Informatika & Komputer
Pappalardo et al. Ilmu Komputer
Pappalardo et al. umj. kelas-karyawan. web. id Layanan Informasi 17 Jam
Pappalardo et al. www. ruko. web. id Layanan Informasi 17 Jam
Pappalardo et al. Komputer Sains
Pappalardo et al. Select: Indonesian English
Pappalardo et al. theology. asin. web. id Layanan Informasi 17 Jam
Brooker A ‘database’subsystem for BCPL
Pappalardo et al. kategori-sepak-bola-di-armenia-wb-13759. kuliahkaryawan. my. id Layanan Informasi 17 Jam
Fasana et al. Tutorial on Generalized Programming Language s and Systems
Enerson A data structure approach to interactive graphics software

Legal Events

Date Code Title Description
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081003

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees