JPH09114666A - 活動状態のコンピュータシステムにおいてシステムルールを実現するための方法及び装置 - Google Patents

活動状態のコンピュータシステムにおいてシステムルールを実現するための方法及び装置

Info

Publication number
JPH09114666A
JPH09114666A JP8162290A JP16229096A JPH09114666A JP H09114666 A JPH09114666 A JP H09114666A JP 8162290 A JP8162290 A JP 8162290A JP 16229096 A JP16229096 A JP 16229096A JP H09114666 A JPH09114666 A JP H09114666A
Authority
JP
Japan
Prior art keywords
rules
rule
meta
metarule
disabling
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP8162290A
Other languages
English (en)
Inventor
Hosagrahar Visvesvara Jagadish
ビベスバラヤ ジャガディッシュ ホサグラハ
Alberto Oscar Mendelzon
オスカー メンデルゾン アルバート
Inderpal Singh Mumick
シング ミュニック インダーパル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
A T and T I P M CORP
AT&T Corp
Original Assignee
A T and T I P M CORP
AT&T Corp
AT&T IPM Corp
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 A T and T I P M CORP, AT&T Corp, AT&T IPM Corp filed Critical A T and T I P M CORP
Publication of JPH09114666A publication Critical patent/JPH09114666A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Devices For Executing Special Programs (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】 コンピュータシステムのシステムルールを実
現する方法及び装置 【解決手段】 ワークステーション800が中央処理装
置(CPU)801とシステムルールのセットを内蔵す
る記憶装置802とからなる。通信ポ−ト805を介し
て記憶装置802に入力された超ルールがCPU801
により導出され、超ルールの完全セットとして記憶装置
802に格納される。イベントが通信ポ−ト805を介
して入力されると、記憶装置802に格納されているシ
ステムルールセットが、CPU801によって点検さ
れ、超ルールが装置の条件記述を満足されると発動可能
(実行準備完了)状態となる。CPU801が、超ルー
ルの適用により、発動すべき発動可能ルールの部分集合
を定める。CPU801がシステムルールの部分集合の
発動順序を定める。それから、CPU801が、順序づ
けされた出力ルールのセットを出力し、発動(実行)す
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、概しては活動状態
のルール(規則)に基づいた(ルール準拠)コンピュー
タシステムに関し、詳しくは活動状態のルール準拠コン
ピュータシステムにおけるルール対立の管理に関する。
【0002】
【従来の技術】ソフトウエアの開発及び維持に要するコ
ストを減少させるために、又ソフトウエアの柔軟性を増
大させるために、データの管理及び処理においては、可
能な場合にはいつも、「ルールに準拠した」実現化の手
法を用いてきている。データベースにアクセスする種々
のアプリケーションの、包含される全ての意味をルール
の形に取り込もうと試みる際に、ルールの対立及び「あ
いまいさ」(曖昧さ)が、意図的ではないにしてもしば
しば発生する。
【0003】活動状態のコンピュータ準拠システムは、
特定の事象(イベント)又は状態が発生した場合に実行
されるシステムルール(又は簡単に、「ルール」)を有
する。これらのルールは各々、そのルールで指定された
条件が満足される場合にそのルールによって要求される
行動が実行されるような、それらの指定された条件につ
いての、予め定められたそれぞれの「条件記述」を有す
る。
【0004】或る特定のイベントの発生時にそのイベン
トが1個以上のルールの条件記述を満足することからそ
れら多数のルールが同時に発動される資格を有する場合
が、しばしばある。しかし、順次処理コンピュータ上で
実現された活動状態のコンピュータ準拠システムについ
て、それら発動された多数のルールによって要求される
行動のうちで1度に実行できるのは、それら多数のルー
ルのうちの1個のルールによって要求される行動だけで
ある。
【0005】活動状態のデータベース及びルール準拠シ
ステムの設計者は、対立する多数のルールが起動される
現象と闘ってきた。又、多数のルール対立を扱うための
ルールの実行(ルールの行動部分の実行)を制御するの
に広範囲にわたる種々の従来技術の手法が提案され実現
されてきた。
【0006】従来技術による方法の1つは、(発動の)
資格のある(すなわちその条件記述を満足する)全ての
ルールを単に並行して発動することである。このような
手法は、理解しやすいという利点がある一方、同時に実
行される各ルール対について、ルールの行動部分を交換
する必要があり、これによって、ルールの行動部分にプ
ログラムすることのできる内容が制約される。
【0007】従来技術による別の方法は、ルール発動の
順序を定めるのに、最新性、特異性、又は確実性因子の
ような判定基準を用いることである。この従来技術の手
法は、「システムルール」へハードコ−ド化するもの
で、確かな事実に基づくというよりも真にヒューリステ
ィック(発見的)であるという点で、制限される。
【0008】この従来技術の手法についての、有り得る
個々の判定基準の総合的な分類が、文献(Timos K. Sel
lis and Yannis E. Ionnidis, Conflict resolution of
rules assigning values to virtual attributes, Pro
ceedings of ACM SIGMOD 1989 International Conferen
ce on Management of Data, pages 205-214, Portland,
OR, 1989) に述べられている。
【0009】ルール順序の選択は、難しいタスクで、シ
ステムが複雑になるにつれてその複雑性を増す。異なる
状況下では判定基準を種々に変えるのが適切である。
【0010】従来技術の第3の例においては、システム
ルール間の明示された優先順位が用いられる。
【0011】優先順位を明示して宣言し又は記録するこ
れらの方法のうちで最も簡単な手法では、各ルールへ単
一且つ絶対的な優先順位を割り当てる必要がある。これ
らの手法についての説明が、文献(Michael Stonebrake
r, E. N. Hanson and S. Potamianos, The postgres ru
le manager, IEEE Transactions of Software Engineer
ing, 14(7):897-907, (July 1988); and E. N. Hanson,
An initial report on the design of Ariel, Sigmod
Record, 18(3):12-29, (September 1989)) に述べられ
ている。
【0012】より高度なシステムにおいては、相対的な
優先順位の指定が可能である。例えば、スターバースト
手法では、明示指定された相対的優先順位の利用が可能
であるが、優先順位を明示指定しないで「発見的」な判
定基準を適用することによって得られるデフォルト優先
順位を用いる。
【0013】スターバースト手法については、文献(Je
nnifer Widom, Roberta Jo Cochrane and Bruce Lindsa
y, Implementing set-oriented production rules as a
n extension to starburst, in Proceedings of Sevent
eenth International Conference on Very Large Datab
ase, Guy M. Lohman, Amilcar Sernadas, and RafaelCa
mps, editors, Barcelona, Spain, (September 3-6, 19
91), pages 275-284) に述べられている。
【0014】又別の文献(Rakesh Agrawal, Roberta Co
chrane, and Bruce Lindsay, On maintaining prioriti
es in a production rule system, In Lohman et al. s
upra, page 479-487)も参照されたい。
【0015】又順序付けされたルールのセットのルール
が、ある時点で発動について適格であったとしても、実
行はそう簡単ではない。この場合に大抵のルールシステ
ムによって採用されている従来技術の手法の1つは、単
にそのルールのセットのうちの最高優先順位を有する1
個のルールを発動してから、その時点で資格を有するよ
うになった全てのルールについて再検討する手法であ
る。
【0016】別の方法では、点検評価及び発動のために
ルールの待ち行列を形成し、優先順位については発動順
序を定めるためにだけ用いる。そして、構文法のような
正則表現での「制御表現式」の明示指定を許し又ただ1
個のルール又は全てのルールを考慮して異なる評価メカ
ニズムの使用を許すような従来技術の手法でさえも、或
るルールの不能化を或る文脈で明示的に定めることをせ
ず、デフォルト優先順位は「発見的」に導出され、明示
指定されることがない。
【0017】「データログ」ルールの文脈において、同
様な従来技術の手法がイミエリンスキー及びナクビー
(Tomasz Imielinski and Shamin Naqvi)によって採用
されている(文献(Explicit control of logic progra
ms through rule algebra, Proceedings of the Sevent
eenth Symposium on Principles of Database Systems
(PODS), pages 103-115, Austin, TX, 1988) 参照)。
【0018】他のルールと並行してどのルールをどのル
ールの後に点検評価するかの指定を可能にするような、
ルールのアルファベットについての正則表現が、データ
ログプログラムに付加される。これは、プログラム及び
表現式を、ローカルに層状化したプログラムへ同じ意味
を持たせてどのように翻訳変換するかを示す。
【0019】並行生成システムにおける従来技術の手法
は、適格ルールを1度に1個づつ処理するよりも適格ル
ールのセット全体を並行して処理することを考える。こ
れによって、特定のルールが起動停止されるべき条件の
明示指定が強制的に行われる。例えば、「並行言語」手
法においては、ルール名称を「条件記述」として、又
「条件記述」名称を記号として用いて、より高い次元の
論理で「縮小簡約化」超ルール(メタルール)を指定
し、これにより、発動に本来適格なルールを削除するこ
とが許される。
【0020】この「並行言語」手法は文献(S.J. Stolf
o, H.M. Dewan and Ouri Wolfson,The parallel parall
el rule language, in ICPP, pages II-36-II-45,(199
1))に開示されている。同様な手法が「CREL」シス
テムによって採用されており、文献(D.P. Miranker,
C.M. Kuo and J.C. Browne, On the performance of th
e crel system, Journal of Parallel and Distributed
Computing, 13:(4):424-441, (December 1991))に説
明がある。
【0021】
【発明が解決しようとする課題】多数のルールが発動さ
れる場合の従来技術による別の手法は、全てのシステム
ルールを、複合行動部分を有する単一の大型トリガー
(起動メカニズム)の形に合体させる方法である。この
ような手法はいくつもの欠点を有する。
【0022】第1に、合体の結果として得られる大型ト
リガーの行動部分は、制御の流れを管理するための状態
点検行動を伴うことになる。単なる「構造化質問言語」
(SQL)ではなく汎用プログラミング言語が要求さ
れ、アプリケーションが複雑化し、ルール準拠システム
の利点が失われる。又、流れを正しく指定することも困
難になる。
【0023】第2に、設計は、もはやモジュラー設計と
はならず、ルールについての本来のトリガーと異なりユ
ーザの考えているアイデアの直接表現ではなくなる。単
一の大型ルールの形成後に追加ルールを包含させること
は一般に、単に新たなルールを表現する問題ではなく、
複雑な再プログラミングタスクとなる。最後に、結果と
して得られるプログラムが手順的に指定される限りにお
いて、最適化の機会も同様に失われる。
【0024】
【課題を解決するための手段】本発明によって開示され
る方法は、イベントに応動して活動状態のコンピュータ
システムにおいてシステムルールを実現するための方法
で、この実現化は、システムルールのセットから1個以
上のシステムルールを入力するステップと、メタルール
言語を用いて実現されるメタルールのセットを入力する
ステップとによって行われる。システムルールは、メタ
ルールに基づいて処理され、これにより、順序付けされ
た出力システムルールのセットが生成される。
【0025】本発明のメタルールは、「絶対的(ポジテ
ィブ)要求」メタルール、「不能化」メタルール、「優
先選択」(プレファレンス)メタルール、又は「スケジ
ューリング」メタルールとである。
【0026】本発明においては更に、システムルールの
セットを縮小簡約化するステップと、入力されたメタル
ールのセットから完全なメタルールのセットを推論する
ステップとが開示される。
【0027】
【発明の実施の形態】図1に本発明の方法の概念を示
す。活動状態のルール準拠システム(又は簡単に、ルー
ルシステム)のシステムルールのセット10が、論理的
な「メタルール」(メタルール)のセット20によって
定められる要綱に基づいて処理され、順序付けされた出
力ルールのセット30が得られる。
【0028】本発明の方法は、発動された多数のシステ
ム間にあるあいまいさを解決してあいまいでないシステ
ムルールからなる順序付けされたシステムルールのセッ
トを得るために、システムルール間の種々の種類の関係
を表現する「論理的なメタルール」(以下簡単に、メタ
ルール)を導出し実現する。メタルールは、システムル
ールが決して実行されることがないかどうか、2個のシ
ステムルールが共に実行されることがあり得るかどう
か、そしてルールシステムが、発動可能となる全てのシ
ステムルールについて、特有な実行を設定しているかど
うかを定める。
【0029】活動状態のルールシステムS=〈V,M〉
が、ルールのセットVとメタルールのセットMとから構
成される(Vについては下で述べる)。
【0030】本発明の一実施例において、「活動状態の
ルール」(又は簡単に、「ルール」とも表す)は、
「(イベント)−(条件)−(行動)」ルールである。
すなわち、各ルールは、データベース内の特定の関係位
置への新しいデータの挿入というイベントもしくは1個
又は複数のルールを起動させるのに十分なその他のイベ
ント(例えば、借金の申し込みのような、システムその
ものの外部で発生するイベント)のような、予め定めら
れたイベントの発生時に起動される。
【0031】単一のコマンドイベントで起動が可能なル
ールのセットを「V」と称する。ルールの起動後にその
条件が点検される。もしルールの条件が真であると判断
される場合、そのルールは「発動可能である」とされ
る。発動可能なシステムルールのセット10を「I」、
又は「入力ルールのセット」と称する。この入力ルール
のセットが、下で述べるメタルール分析プロセスに入力
される。
【0032】発動可能なルールは、ルールの実行を制御
するように指定されたメタルール次第で実行されたりさ
れなかったりする。入力ルールのセットのうち実際に実
行される部分集合(サブセット)を「O」又は「出力ル
ールのセット」、30と称する。この出力ルールのセッ
トはメタルール分析プロセスから出力される。
【0033】出力ルールのセット「O」、30は、入力
ルールのセット[I]、10の部分集合であり、入力ル
ールのセット[I]、10は、ルールのセット「V」の
部分集合である。これを式で表すと、O⊆I⊆Vとな
る。出力ルールのセットO内の全てのルールについての
順序付けが定められ、これらのルール全てが指定された
順に実行される。
【0034】本発明の一実施例においては、システムル
ールの相互関係のあいまいさの除去とシステムルールの
相互関係の制御とを行う「超ルール」(メタルール)を
表す言語が、ルール指定に際して利用可能である。
【0035】本発明の方法は、制御言語におけるステー
トメントを用いて、ルールのセットV内のルールの相互
関係を管理する。本実施例において、対象システム内の
各ルールについて2個の命題記号を有する命題論理の或
る部分集合が、メタルール制御言語(又は簡単に、「メ
タルール言語」)として用いられる。ルールRj につい
て、命題Ij は、「ルールRj が発動可能化されてい
る」ことを意味し、命題Oj は、「ルールRj が実際に
発動される」ことを意味する。
【0036】制御ルールは、「もし或るルールが発動可
能化され/又は発動可能化されず、或るルールが発動さ
れ/又は発動されない場合、或る他のルールが発動され
なければならない/又は発動されてはならない」という
形式のステートメントである。
【0037】本実施例のメタルール言語によって、ユー
ザ及びアプリケーションが望み又は要求する種類のルー
ル相互関係の大部分を実現させることのできる表現力が
与えられる。本実施例のメタルールのセットは、関心対
象のルール相互関係の全てを表現する。
【0038】メタルールのセット「M」20は、ルール
のセット「V」内のルールの相互関係及びルールの実行
を制御するメタルールのセットである。これらのメタル
ールセットは、(1)入力ルールのセット「I」、10
から出力ルールのセット「O」、30を選択するため、
そして(2)結果として得られる実行ルールセットを順
序付けするために用いられる。ルールのセット「I」か
らルールのセットOを差し引いた残りのルール、すなわ
ち「I−O」のルールセットのルールは、メタルールに
よって課される制約の結果、実行されない。
【0039】本発明の本実施例によるメタルールは、絶
対的要求、不能化、優先選択、及びスケジューリングの
4つの種類からなる。ここに、ルールa,b,c,d,..と
ルールのセットVとの関係は、a,b,c,d,...∈Vで
ある。
【0040】「絶対的要求」メタルールは、記号的に
「ルールaがルールbを含む」を意味する式、a⊃bと
して表され、「もしルールaが実行される場合にはルー
ルbも同様に実行されなければならない」ことを表すも
のとして定義される。いい替えれば、もし或るシステム
ルールの実行が選択された場合には、別の或るシステム
ルールもその実行が選択されなければならない。
【0041】「不能化」メタルールは、記号的に「ab
の上に横線(上線)を引いた」形で表される(これを本
文中では便宜上[ab+上線]と表す。以下同様)。そ
して、「ルールa及びルールbが相互に相手を不能化
し、a及びbのうちの一方のルールだけが実行される」
ことを表すものとして定義される。不能化メタルールに
よって、或るシステムルールの実行が選択された場合に
それらのシステムルールが他のシステムルールの実行を
妨げることが許される。
【0042】記号[a+上線]で表されるメタルール
は、このメタルール[ab+上線]の特別単一体の場合
を示し、「ルールaが決して実行されることがない」こ
とを意味する。これは又、[aa+上線]を簡略化した
ものと見ることもできる。
【0043】本発明においては又、単方向性のメタルー
ルも存在する。これは、もしルールaが実行される場合
には、ルールbが不能化されることを意味する。この単
方向性のメタルールは「ルールaとルールbとの両方が
一緒には実行できない」というステートメントと同等で
ある。したがって、不能化メタルールが方向性なしで表
されるのに対し、絶対的要求メタルールは、単方向性で
ある(互いに相手の逆である2個の絶対的要求メタルー
ルは双方向性の絶対的要求を捉えるのに用いることがで
きる)。
【0044】「優先選択」メタルールは、記号的には、
b>aとして表される。そして、「もしルールaとルー
ルbとが両方共発動可能である場合には、ルールbは、
ルールaも実行セットから外されるのでなければ、実行
セットから外してはならない」ことを表すものとして定
義される。いい替えれば、もしルールaとルールbとが
両方共発動可能であり且つ両方が一緒には実行できない
場合には、ルールaではなくルールbの実行が優先して
選択される。
【0045】すなわち、「優先選択」メタルールは、1
対のシステムルールのうち1度に1個のシステムルール
だけしか実行の選択ができない場合に、或る特定のシス
テムルールに他のシステムルールに対しての優先選択順
位を与える。
【0046】「スケジューリング」メタルールは、記号
的に、aとbとの間にvを90度右回転させて得られる
記号を挿入した式で表されるが、本文中では便宜上、a
(<)bで表す。この場合の「スケジューリング」メタル
ールは、「もしルールaとルールbとが両方共実行の選
択をされた場合に、ルールaがルールbよりも前に実行
される」ことを表すものとして定義される。「スケジュ
ーリング」メタルールは、実行の選択をされた複数のル
ールが実際に実行される場合の実行順序の制御を可能に
する。
【0047】メタルールのセットMの形式的意味はこの
セットMについてのモデルを考慮して定義される。メタ
ルールのセットMについてのモデルの一例は、四文字構
成体〈V,I,O,ω〉として定義される。ここにVは
ルールのセットで、OとIとVとのの関係は、O⊆I⊆
Vで表され、ωはセットO上の全体の順序である。
【0048】〈V,I,O,ω〉は、もし次の条件が成
立する場合にメタルールμを満足する。 1.メタルールμが、a⊃bの形式を取る。そして、も
しa∈Oの場合には、b∈Oである。 2.メタルールμが、[ab+上線]の形式を取る。そ
して、¬(a∈O&b∈O)である。
【0049】3.メタルールμが、b>aの形式を取
る。そして、もしab⊆I&a∈Oの場合には、b∈O
である。 4.メタルールμが、a(<)bの形式を取る。そして、
もしa及びbの両方がO内に現れる場合には、aが、全
体の順序ωにおいてbよりも前に現れる。
【0050】もし四文字構成体〈V,I,O,ω〉が各
メタルールμ(μ∈M)を満足する場合には、この四文
字構成体〈V,I,O,ω〉は、メタルールのセットM
についてのモデルである。
【0051】活動状態のルールシステムS=〈V,M〉
の、与えられた文法について、本発明によれば次の決定
が可能である。
【0052】・それらの決定とは、ルールa∈Vが与え
られた場合に、ルールaが実行されず不活動ルールとな
るような入力ルールセットがあるかどうかの決定と、こ
のような不活動ルール全ての特定とである。ルールの条
件記述が決して真実でない場合、又はルールが、決して
生じ得ないイベントによって起動されるように設定され
ている場合には、このルールは決して発動されることが
ない。不活動ルールは、指定されたメタルールのセット
が理由で不活動であるようなルールを全て含む。
【0053】・1対のルールa及びb(a,b∈V) が
与えられた場合に、ルールa及びbが共に実行されるよ
うな入力ルールセットがあるかどうかの決定と、このよ
うなa及びbの対の全てについての特定とである。不活
動ルールの場合と同様に、これら2個のルールの条件記
述が実際に同時に満足されるようなデータベース状態及
びイベント発生が実際にあるかどうかを定めるための分
析は行われない。メタルールのセットが与えられた場合
に条件の同時満足が可能かどうかだけが捉えられる。
【0054】もしアプリケーションの意味(セマンティ
ックス)によって、これら2個のルールが決して一緒に
は発動されないことが示される場合には、これをメタル
ールとして捉えることは有用である。
【0055】・少なくとも1個の有効な非空(ノンエン
プティ)入力セットIについて、ノンエンプティ解
「O」が可能かどうかの決定。
【0056】・メタルールのセットから、発動可能な各
ルールセットIについての出力ルールセットOの各々に
対して特有の全体順序ωが得られるかどうかの決定。
【0057】・セットM内のメタルールで冗長なものが
あるかどうかの決定。
【0058】メタルールのセットMが与えられた場合、
このセットによって他のメタルールが論理的に暗示され
る。例えば、もしルールaが絶対的にルールbを要求し
入れ替わってルールbが絶対的にルールcを要求する場
合には、例えこの要求がメタルールにおいて明示的に述
べられていなくても、これら2個のメタルールのモデル
は、ルールaが絶対的にルールcを要求していることも
満足しなければならない。
【0059】同様に、もしルールaが絶対的にルールc
を要求するがルールbとルールcとが互いに相手を不能
化する場合には、ルールaは決して実行され得ない(ル
ールaは自身を不能化する)。
【0060】上記の仕方でのメタルールの推論は、入力
ルールのセットIとは無関係に行うことができる。本発
明に基づく推論の手順を図2に示す。この手順によれ
ば、ルールシステムSにおける与えられたルールのセッ
トVとメタルールのセットMとに基づいて導出すること
のできる事実上全ての相互関係が推論される。この推論
手順を用いることにより、決して実行され得ない不活動
ルールを特定することができ、又他の決定についての根
拠を得ることができる。
【0061】本実施例における第1の推論ルールのセッ
トでは、当初、スケジューリングメタルールに関する分
析が遅らされる。スケジューリングメタルールに関して
は、後の方の分析段階で考慮される。
【0062】ルールのセットVとメタルールのセットM
とからなるルールシステムSにおいてもしMの各モデル
がメタルールμを満足する場合、Mによってメタルール
μが暗示される。
【0063】下で公理A1〜A8として定める、本発明
に基づく構文法的推論ルールのセットによって、メタル
ールの暗示(すなわち推論)が定義される。推論ルール
は、Γ(→)γの形を取る。ここに、Γはメタルールのセ
ットであり、又γはメタルールである。メタルールμ
が、メタルールのセットM内にあるか又は次のA1〜A
8に定める推論ルールを繰り返し適用することによって
Mから導出することができる場合に、「メタルールμを
メタルールのセットMから導出することができる」と称
し、これを、M(→)μと表す。
【0064】A1:[ab+上線](→)[ba+上線]。こ
こにおいて、もしルールaがルールbと実行できない場
合、bはaと実行できない。 A2:(a⊃b∧[bc+上線])(→)[ac+上線]。ここ
において、もしルールaが絶対的にルールbを要求し、
そしてもしb及びcが一緒に実行できない場合、ルール
aとcとは決して一緒に実行できない。
【0065】A3:[a+上線](→)[ab+上線]。ここ
において、もしルールaが決して実行されない場合に
は、各ルールbについて、ルールa及びルールbは決し
て一緒に実行できない。 A4:(→)a⊃a。ここにおいてルールaは絶対的にそ
れ自身を要求する。 A5:(a⊃b∧b⊃c)(→)a⊃c。ここにおいて、も
しルールaが絶対的にbを要求し、そしてもしルールb
が絶対的にcを要求する場合には、ルールaは絶対的に
ルールcを要求する。
【0066】A6:[a+上線](→)a⊃b。ここにおい
て、もしルールaが決して実行できない場合には、各ル
ールbについてルールaは絶対的にルールbを要求す
る。 A7:(→)a>a。ここにおいて、ルールaはそれ自身
に優先する優先選択を有する。 A8:(a⊃b∧c>c)(→)c>c。ここにおいて、も
しルールaが絶対的にbを要求し、そしてもしルールc
がルールbに優先する優先選択を有する場合には、ルー
ルcはルールaに優先する優先選択を有する。
【0067】もしこれらのルールを用いてメタルールμ
をメタルールのセットMから導出することができる場合
その場合に限って、メタルールのセットMがメタルール
μを暗示する。推論ルールA1〜A8のセットは、絶対
的要求、不能化、及び優先選択メタルールについて健全
且つ完全である。
【0068】推論ルールA1〜A8の完全さから、どの
絶対的要求メタルール及び不能化メタルールがルールの
セットによって暗示されるかを、優先選択メタルールを
考慮せずに定めることが可能である。「Mの上に^を配
置して得られる記号」(本文では便宜上、[M+^]で表
す)を、a⊃b又は[ab+上線]の形式を有するメタル
ールのセットM内のメタルールのセットとし、μをこれ
らの形式のうちの1つの形式のメタルールとすると、
[M+^](→)μの場合その場合にのみ、M(→)μであ
る。
【0069】与えられたメタルールのセットMについて
Mによって暗示される絶対的要求メタルール及び不能化
メタルールのセットの導出についての本発明に基づく手
順例を図2に示す。各ルールaについて、セットa+
{ルールb|M(→)(a⊃b)}及びセットa ={ルール
b|M(→)[ab+上線]}が計算される。図2の手順が
完了すると、ap=a+ 及びam=a が成立する。
【0070】図2の手順によって、絶対的要求メタルー
ル及び不能化メタルールについての効率のよい暗示点検
が得られる。優先選択メタルールの暗示については、次
の定理に基づいて点検することができる。すなわち、も
し、b∈a+ である場合又はもしMが、c⊆a+ である
ようなメタルールb>cを導出する場合のいずれかの場
合にその場合にのみ、M(→)b>aが成立するという定
理である。
【0071】メタルールのセットMからの絶対的要求、
不能化、及び優先選択のメタルールの暗示は、Mのサイ
ズの時間多項式において点検が可能である。
【0072】ここで、スケジューリングメタルールの分
析を開始する。スケジューリング、絶対的要求、及び不
能化のメタルール間の関係が、次の3個の推論公理によ
って捉えられる。ここで、aをルールとしXをルールの
セットとした場合に、「各b∈Xについてa⊃b」の表
記を簡約化して、a⊃Xと表記することとする。
【0073】A9:(a(<)b1∧b1(<)b2∧...∧bk
(<)b)∧a⊃X∧b⊃Y(→)a(<)b。ここにおい
て、X∪Y={b1,...,k}。(<)は、パスの両端が全
ての中間点の存在を要求する限り、過渡的である。 A10:(b1(<)b2∧...∧bk∧b)∧a⊃X∧b⊃Y
(→)[ab+上線]。ここにおいて、X∪Y={b1,...,
k}。もし2個のルールa及びbが共に、優先関係が周
期的なルールのセットの実行を要求する場合には、ルー
ルa及びルールbの両方が実行を選択されることはあり
得ない。
【0074】A11:[ab+上線](→)a(<)b。a
(<)bは、もしルールa及びルールbの両方が実行シー
ケンスに現れた場合にはルールaがルールbの前に現れ
ることを意味する。このことは、もしルールa及びルー
ルbの両方が実行シーケンスに現れることが決してない
場合には自明の理である。b(<)aも公理A11によっ
て導出が可能である。
【0075】推論ルール(公理)A1〜A11は、絶対
的要求、不能化、及びスケジューリングのメタルールに
ついて健全且つ完全である。
【0076】ルールシステムS=〈V,M〉はいくつか
の静的特性を有する。これらの特性は、特定の入力ルー
ルセットを点検せずに定めることが可能である。これら
の特性は、活動性、確定性、及び順序性からなる。
【0077】もし発動可能なルールセットIが存在し、
これに連関する実行ルールセットO内にルールaがある
場合に、ルールaはルールシステムにおいて活動状態に
ある(アライブ)と称する。活動状態にないルールは不
活動状態にある(デッド)と称する。活動状態にないル
ールはこれに付帯するメタルールと共に抹消され、これ
によってルールシステムのサイズが縮小簡約化される。
【0078】もしメタルールのセットMがメタルール
[a+上線]を導出する場合その場合にのみ、ルールaは
ルールシステムにおいて不活動状態にある。
【0079】ルールシステムにおいてどの対のルールが
或るルールセットOにおいて同時に発生可能かを知るこ
とも、例えばどのようなスケジューリングメタルールを
指定すべきかを定める際に有用である。もし2個のルー
ルが共には発動できないことが(導出又は明示によっ
て)知られていない場合、2個のルールが共に発動でき
るような例について(そのアプリケーションに特定の意
味を考慮しなくても、又いずれのルールの内部分析もし
なくても)少なくともあるモデルが存在する。
【0080】メタルールのセットMが与えられた場合、
ルールa及びbは、もし M∀[ab+上線] の関係が成
立する場合その場合にのみ、或るモデルMのセットOに
おいて発生が可能である。
【0081】確定性の特性に関しては、発動可能な各ル
ールセットIについて実行ルールセットOがルールとメ
タルールとによって特有に定義されるという特性がルー
ルシステムにある。最大限の実行セットによって、発動
可能な各ルールを、メタルール及び他の発動可能なルー
ルから阻止されることなく発動できる。
【0082】もし出力ルールのセットOについての1個
以上の全体順序ωに対して〈V,I,O,ω〉がMのモ
デルであるような、特有な最大限のセットOが、ルール
システムS=〈V,M〉の各入力ルールのセットIにつ
いて存在する場合、このルールシステムSは確定的であ
る。
【0083】不能化メタルールによって、ルールシステ
ム内に非確定性が導入される。もしルールaがルールb
に優先て優先選択されることを知らずに、メタルール
[ab+上線]にも拘らずルールa及びbが発動可能な場
合、ルールaが発動される実行セットとルールbが発動
される実行セットとからなる2個の最大限実行セットが
存在する。
【0084】確定性を保証するために、不能化メタルー
ルに優先選択を設定することによって不能化メタルール
のあいまいさを除去する必要がある。ルールシステムが
完全にあいまいさをなくすのに必要且つ十分な条件が、
本実施例に基づいて導出される。
【0085】ルールを前処理してルールシステムを縮小
簡約化させることにより、確定性についての条件を得る
ための分析が可能となる。ルールシステムS’=
〈V’,M’〉が与えられた場合、縮小簡約化されたル
ールシステムS=〈V,M〉が次の手順によって得られ
る。
【0086】・V’内の各ルールについて1個のノード
を持たせて絶対的要求グラフGを構築する。もしセット
M’内にメタルールa⊃bがある場合、ノードaからノ
ードbへの辺(エッジ)部が存在する。 ・グラフGの強固に連結された各要素{a1,...k}を
単一のノードaに縮小簡約化する。
【0087】・ルール{a1,...k}を単一記号aで置
換することによりルールセットVを縮小簡約化する。a
i の各発生を新しいルール記号aで置換することにより
メタルールセットMを縮小簡約化する。重複メタルール
を削除する。 ・縮小簡約化されたルールセット及びメタルールセット
が、それぞれV及びMである。 ・〈V,M〉に対して活動状態分析を行い、不活動ルー
ルを全てVから削除する。
【0088】縮小簡約化により、メタルールセットから
全ての絶対的要求周期が除去され、これらのルールをセ
ットに一括することが許される。このような周期中のル
ールは、全てが出力セットに入れられるか又は全てが出
力セットから除去されるかする必要がある。もし周期中
のルールが1個でも不作動状態であると、全てのルール
が不作動状態になる。したがって、これらのルールの分
析は、1個のルール記号によって早められる。分析を更
に早めるために、不作動状態のルールは全てルールシス
テムから除去される。
【0089】縮小簡約化されたシステムS=〈V,M〉
が与えられた場合、Dは、M内の全ての不能化メタルー
ルのセットであり、εは、M内の残りのメタルール全て
である。Dは、次のステップを反復適用することにより
最小化される。この適用は、不能化メタルールセットが
最小の不能化セットに到達して適用が不要になるまで継
続される。 ・もしメタルールμ∈Dが、ε∪D−{μ}から導出可能
な場合には、セットDからμを除去する。
【0090】結果として得られるセットDは、最小の不
能化セットである。D内のメタルールは、最小の不能化
メタルールである。縮小簡約化されたシステムS=
〈V,M〉が与えられた場合、最小の不能化メタルール
セットDは、固有であり、よく定義されている。
【0091】ルールのセットVとメタルールのセットM
とからなる、縮小簡約化されたルールシステムSは、も
しM内の各最小不能化メタルール[ab+上線]につい
て、M(→)(a>b)又はM(→)(b>a)である場合その
場合にのみ、確定的である。
【0092】確定的ルールシステムが与えられた場合、
各出力ルールセットOについての固有の全体順序ωが必
要である。
【0093】ルールのセットVとメタルールのセットM
とからなる確定的ルールシステムSは、もしMが、出力
ルールセットO内のルールについての特有の全体順序を
暗示する場合に、順序性良好と称する。すなわち、どの
ような入力ルールのセットであっても、もしルールa及
びbが出力セットに現れた場合には、これらのルールは
同じ順序で現れるに違いない。
【0094】順序性良好のための必要且つ十分条件は、
もしa,b∈Vの各対について、Mが次の3つの式で示
す条件、 1.[ab+上線]、 2.a(<)b、又は 3.b(<)a のうちの1つを暗示する場合に、ルールのセットVとメ
タルールのセットMとからなる確定的な、縮小簡約化さ
れたルールシステムSが、順序性良好であるということ
である。
【0095】もし、ルールa及びbが特異の対であるこ
とから、この必要且つ十分条件が満足されない場合に
は、これらのルールの相対的順序は、システムによって
可能な任意の手法で定められることがプログラマーには
判る。もしこれらのルールの実行の相対的順序に重要性
がない場合には、プログラマーはこれを放置しておいて
差し支えない。そうでなければ、プログラマーは、この
ルール対に対する適切な不能化メタルール又は順序付け
メタルールを表明して、システムを順序性良好状態にし
てもよい。
【0096】上記の説明で、特定の入力セットを用いず
に静的分析から、ルールシステムの有用な特性を定める
手法と、これらの特性を利用してプログラマーによる追
加の又は別のメタルールの指定を援助する手法を示した
ことは、当業者には明らかであろう。
【0097】特定のイベントが発生し多数のルールがそ
の条件記述を満足する場合の、メタルールの実際の適用
例について次に述べる。すなわち、確定的なルールシス
テムS及び発動可能なルールセットIを与えられた場合
に、対応する実行セットOの計算及びそれについての全
体順序の設立が、残りのステップである。
【0098】メタルールのセットMは、上記のように縮
小簡約化されたものと仮定する。すなわち、互いに相手
を絶対的に要求するルールは同価類に分解されているも
のとする。手順を適用する前に、発動可能なルールをそ
の類別の代表モデルに変換し、手順終了後に、類別代表
モデルから個々のルールへ変換して戻すことは、簡単で
ある。
【0099】本発明の一実施例に基づく、順序付けされ
た出力セットの導出手順を図3に示す。
【0100】別の実施例においては、グラフを用いるこ
とによって、より効率的に手法を実現することが可能で
ある。メタルールグラフが、ルールセットV内の活動状
態のルールの各々について1個のノードと、必須の不能
化メタルールの各々についての、宛先のない辺部と、3
種類の、宛先のある辺部とによって定義される。
【0101】これら3種類の辺部は、絶対的要求メタル
ールの各々に対する辺部(メタルールa⊃bに対するノ
ードaからノードbまでの辺部)と、優先選択メタルー
ルの各々に対する辺部(メタルール、a>bに対するノ
ードbからノードbまでの辺部)と、スケジューリング
メタルールの各々に対する辺部(メタルールa(<)bに
対するノードaからノードbまでの辺部)とである。
【0102】メタルールグラフを構築する際、絶対的要
求メタルールのセットの推移的な縮小簡約化だけを考慮
すればよく、推論公理[A8]から導出されたスケジュ
ーリングメタルールは無視できる。メタルールグラフ
は、絶対的要求メタルール辺部を含む周期に沿って縮小
簡約化される。そして、縮小簡約化されたグラフは、絶
対的要求メタルール辺部に、位相的に格納される。
【0103】特定の入力セットIが与えられた場合、メ
タルールグラフが最初に入力セットI内のノードセット
上に投影展開される。この投影は、入力セットI内にあ
るグラフのノードだけと、I内のノードから放射するグ
ラフ内の絶対的要求メタルール辺部だけと(もし宛先が
I内にない場合は、空白(NULL)と記した特別ノー
ドを形成する)、I内の2個のノード間に位置するグラ
フ内のスケジューリング、優先選択、及び不能化メタル
ールの辺部だけを保持する。
【0104】次に、投射されたメタルールグラフを、逆
位相順に(絶対的要求メタルールに関して)そして各ノ
ードについて移動させる。
【0105】・もし「NULL」への外向きの優先選択
辺部がある場合には、このノードと、このノードの先祖
全てとと抹消し、抹消されたノードへの優先選択辺部に
関する全てのノードも抹消する。 ・このノードに入る不能化メタルール辺部がある場合に
は、その不能化メタルール辺部上の優先選択の方向につ
いて点検する。優先度の低いノードと、このノードの先
祖全てとと抹消し、抹消されたノードへの優先選択メタ
ルール辺部に関する全てのノードも抹消する。
【0106】スケジューリングメタルール辺部に基づく
位相順序でグラフに残るノードは、出力セット内の望む
実行順序になっている。
【0107】図3の順序付けされたセットの導出手順
は、入力セットI内のルールの数での時間多項式で、確
定的ルールシステムについての出力セットを計算する。
これによって、発動可能なルールのセットが与えられた
場合にどのルールをどの順序で実行するかの決定が高価
すぎるコストにならないことが保証される(リソース消
費に関して)。実は、このグラフ構造で、出力セットを
メタルールの数のの時間線形で計算することが可能であ
る。
【0108】多項式(発動可能なルールの数の)のコス
トは、高性能アプリケーションにおける関心事である。
対応する、発動可能なルールのセットで、このようなア
プリケーションにおける規準的な更新の種類は存在する
がわずかである。その1つは、各組合わせについて1
回、実行順序を計算し、テ−ブルに格納する。その後、
或る一般的なイベントによってルールセットが発動可能
になった場合、適切な実行順序を見出すにはこのテ−ブ
ルを見さえすればよい。
【0109】本発明の理解に役立てるため、航空会社の
データベースにおける実施例について説明する。
【0110】一般的な航空会社データベースには、頻繁
利用客の飛行距離(フリークエント・フライヤーズ・マ
イル)の記録用のフィールドに加えて、多くのフィール
ドが含まれるが、本発明の原理を示す目的から、この飛
行距離記録フィールドだけに関する簡単化した形態を用
いて説明する。
【0111】各顧客について利用飛行距離を記録するた
めのフィールドを有する例示の航空会社データベース
は、次のようなレコード関係を有する。 1.「フライト詳細」関係:顧客当りフライト当り1レ
コード。属性:顧客識別子(cust−id)、出発
地、目的地、日付、サービス等級、飛行距離、その他。
飛行距離フィールドは、顧客がこの飛行によって得た頻
繁飛行距離のマイル数を記録する。
【0112】2.「距離」関係:1対の都市当り1レコ
ード。これら2都市間の航空マイルによる距離を示す。
属性:出発地、目的地、及び距離。 3.「顧客」関係:顧客当り1レコード。この関係は、
キーとしてのcust−id及びその他の属性を有す
る。属性には、合計マイル(顧客によって蓄積された合
計頻繁利用客飛行距離)、及び状態(顧客の現会員資格
(ベーシック、シルバー、ゴールド、又はプラチ
ナ))。
【0113】このデータベースで頻繁に適用される更新
項目は、フライト詳細関係への新レコードの追加で、内
容は、或る顧客がある特定のフライトを利用した記録で
ある。説明の目的上、この記録挿入の時点において、記
録の「マイル」フィールドがゼロ(又は空白)にセット
されるものと仮定する。この挿入に連関して、データベ
ース内の情報に基づいてこのフィールドの適切な価値を
計算させるトリガーが設けられている。更に別のトリガ
ーが、「顧客」関係の合計マイルフィールドを更新する
ように作用する。
【0114】本説明の目的のために書かれたトリガーの
いくつかについて下に説明する。これらトリガーの各々
についての「イベント」は、「フライト詳細」関係への
(要素のセットの)挿入で、省略する。新たに挿入され
た要素は、「挿入」関係に存在すると仮定する。トリガ
ーの行動及び条件部分を下にSQL(構造化質問言語)
ふうの構文法で記載する。
【0115】[a]:「挿入」関係を更新 距離(マイル)を、挿入された発進地と挿入された目的
地との距離から選択された距離にセットする。このルー
ル[a]は飛行した1対の都市(出発地及び目的地)間
の距離に基づいて基本マイル計算を行う。このルール
(及び下のルールのいくつか)は、挿入されたセット内
の各要素に適用される。
【0116】[b]:「挿入」関係を更新 距離が<500マイルの場合、500にセットする。こ
のルール[b]においては、各フライト毎に少なくとも
500マイルが加算対象として認められる。
【0117】[c]:「挿入」関係を更新 サービスクラスが1等の場合、距離を実マイルx2にセ
ットする。このルール[c]によって、ファーストクラ
スの顧客には利用マイルの2倍の距離が加算対象として
認められる。
【0118】[d]:「挿入」関係更新 顧客資格がプレミアムの場合、距離を実マイルx2にセ
ットする。このルール[d]においては、プレミアム顧
客には利用マイルの2倍の距離が加算対象として認めら
れる。
【0119】[e]:「挿入」関係更新 顧客の合計マイル数>100、000の場合、距離を実
マイル+500にセットする。このルール[e]におい
ては、既に1万マイルを超える合計マイル数を持つ顧客
には追加として500マイルが加算対象として認められ
る。
【0120】[f]:「挿入」関係を更新 目的地がサンフランシスコの場合、距離を実マイル+5
00にセットする。このルール[f]においては、サン
フランシスコ空港に飛来する顧客には特別販売促進とし
て追加の500マイルが加算対象として認められる。
【0121】[g]:「顧客」関係を更新 合計マイルを、「合計マイル」+「挿入」関係マイル数
合計にセットする。このルール[g]においては、「顧
客」関係に、加算対象とされた合計マイル数が累積され
る。「INSERTED」(挿入)が「挿入された要素
のセット」を表すので、「SUM」を用いる。そして複
数のこれら項目が同じ顧客に関連する。
【0122】これらのトリガーが相互関係を有すること
は、当業者には明らかである。例えば、もしトリガー
[g]が他の全ての適用可能なトリガーよりも前に実行
された場合には、「顧客」関係に合計マイル数について
格納されている結果が間違っていることになる。同様
に、上記のルール[a]は、他のルールが適切に実行で
きるようにその前に実行を完了している必要がある。
【0123】得られる結果を意味のあるものにするため
に、前項で述べたようなトリガー実行についての或る種
の制御が要求される。異なる可能性のうちから適切な選
択をするために他の制御も用いられる。
【0124】例えば、ルール[d]の前にルール[f]
を適用すると、もしサンフランシスコがプレミアム顧客
の目的地だった場合には追加の500マイルの代わり
に、実際には1000マイルを与えることになる。
「f」の前に「d」を適用するとプレミアム顧客にサン
フランシスコまでの500マイルだけを与えることにな
る。すなわち、どの順序を取るかが、得られるマイル数
の最終値に影響を与える。
【0125】しばしば、プレミアム顧客が100,00
0マイルを超えた値を累積している場合がある。これら
の顧客には、実距離の2倍(ダブルマイル)だけを与え
て追加の500マイルボーナスは与えないことが望まし
い。いい替えれば、ルール[d]とルール[e]とは相
互に不能化する。更に、100、000マイルを超えた
蓄積のあるプレミアム顧客については、100,000
マイルボーナスよりもプレミアムボーナスの方が望まし
い。
【0126】本発明においては、ルール間の相互関係を
管理するために、メタルールの宣言仕様が用意される。
例えば、上記の例において、メタルールが[d]と
[e]とのうちのただ1つだけが実行されるように宣言
すべきである。
【0127】そこで、文脈中での実行用に適用可能なル
ールの部分集合を選択するようにメタルールが指定され
実現される。そして、この選択された部分集合が望む順
序で実行される。
【0128】活動状態のルール[a]...[g] を考える。
これらのルールの全てが、「フライト詳細」関係への挿
入時に起動される。したがって、V={a,b,c,
d,e,f,g}である。
【0129】各ルールについての条件を点検する際に、
「UPDATE」の「WHERE」節が命令する。ルー
ル[a]及び[b]は常に発動可能である。その理由
は、初めに「マイル<500」が真実だからであり、
又、都市対の各々の間に「距離」要素があるからであ
る。ルール「c」は、もしフライトがファーストクラス
で利用された場合には発動可能である。ルール「d」
は、もしフライトが「プレミアム」顧客によって利用さ
れた場合には発動可能である。
【0130】ルール[e]は、もしフライトが、合計マ
イルが10、000マイルを超える顧客によって利用さ
れた場合に発動可能である。ルール[f]は、もしフラ
イトがサンフランシスコで終る場合には発動可能であ
る。ルール[g]は、もしフライトが登録された顧客に
よって利用されたばあいには発動可能である。すなわち
入力セットIは、挿入されたフライト要素と顧客のレコ
ードとに依存する。
【0131】例示データベースのメタルールは次の通り
である。 ・絶対的要求メタルール:本例においてルール[c]
は、ルール[a]も又実行されなければならないと要求
する。そうでなければマイル値が定義されない。この制
約を表すために、メタルール[c]⊃[a]が定義される。
【0132】・不能化メタルール:本例において、ルー
ル[d]及び[e]のうちの1個だけが実行を許され
る。
【0133】前に述べたように、単方向性の不能化メタ
ルールが利用可能である。例えば、もしルールaが実行
される場合にはルールbは不能化される。このような因
果関係が時にアプリケーション・セマンティックスにお
いて発生するが、実行セットに何があるかという意味
で、この単方向性ルールは、ルールa及びbの両方が共
には実行できないというステートメントと同等である。
【0134】これが、本発明による不能化メタルールを
なぜ方向性なしで表現でき、一方、絶対的要求メタルー
ルが単方向性であるのかの理由である(互いに逆の、2
個の絶対的要求メタルールを用いて、双方向性の絶対的
要求メタルールを捉えることが可能である)。
【0135】・優先選択メタルール:本例において、ル
ール[d]及び[e]が両方共発動可能である場合、こ
れらルールの両方の実行は、不能化メタルール[ab+
上線]、によって禁じられる。この時点において、ルー
ル[e]ではなくルール[d]を実行することが優先選
択される。すなわち、[d]>[e]である。
【0136】・スケジューリングメタルール:この航空
会社データベース例において、ルール[a]及び[b]
が両方共実行可能の場合、[a](<)[b]を述べることに
よって、ルール「b」より前にルール[a]を実行する
ように要求することが可能である。
【0137】前に述べたように、[c]>[e]は、ル
ール[d]及び[e]の両方が発動可能であるが1個だ
けしか選択されない場合にルール[d]が選択されるこ
とを意味する。もし発動可能なセットがr[e]だけを
含む場合には、ルール[e]を実行することは可能であ
る。他方、[c]⊃[a]は、ルール[c]を実行させるた
めには、ルール[a]を実行しなければならないことを
意味する。
【0138】もしルール[c]だけが発動可能な場合に
は、「c」は実行できない。しかし、もしルール[a]
だけが発動可能な場合には、「a」は実行できる。そし
てもしルール[a]及び[c]の両方が発動可能である
がこれらのうちの1つを選択しなければならない場合に
は、ルール[a]が実行できる。
【0139】例えば、次のメタルールは、上に述べたル
ール相互関係を捉える。 b⊃a:ルール[b]が絶対的にルール[a]を要求す
る。 c⊃b,d⊃b,e⊃b,f⊃b,及びg⊃b:ルール
[c],[d],[e],[f],及び[g]は全て絶
対的にルール[b]を要求する。 [de+上線]:ルール[d]及び[a]は共には実行で
きない。 d>e:もし[d]及び[e]の両方が発動可能な場合
には[d]を優先選択する。
【0140】a(<)b,b(<)c,b(<)d,b(<)
e,b(<)f,b(<)g,c(<)f,c(<)g,d(<)
f,d(<)g,e(<)f,e(<)g及びf(<)g:登録
されたルール対が実行される場合、一方を他方よりも前
にスケジューリングしなければならない。
【0141】この航空会社データベース例について、四
文字構成体、〈{a,b,c,d,e,f,g},
{a,b,c,d,g},(a→b→c→d→g)〉は
モデルである。用語(a→b→c→d→g)は、出力セ
ット内のルール間の全体順序ωを指定する。
【0142】航空会社ECAルールに対する上記メタル
ールについての図2の実行手順によって、次の絶対的要
求メタルールが導出(又は推論)される。新たな不能化
メタルールは導出されない。a⊃aの形式で表される重
要でない絶対的要求メタルールについては記載しない。
【0143】c⊃a,d⊃a,e⊃a,f⊃a,及びg
⊃a: これらのメタルールが与えられると、絶対的要
求超及び不能化のメタルールが推論される。それから、
次の優先選択メタルールが導出される(形式a>aの、
重要でない優先選択メタルールは記載しない)。a>
b,a>c,a>d,a>e,a>f,a>g,g>
c,b>d,b>e,b>f。
【0144】メタルールが与えられると、絶対的要求、
不能化、及び優先選択のメタルールが導出される。公理
A9〜A11を用いて次のスケジューリングメタルール
が導出される:a(<)c,a(<)d,a(<)f,a(<)
g(全て公理A9を使用)。
【0145】本例において、[a+上線]の形式のメタル
ールは導出されなかった。したがって、ルールは全て活
動状態である。不能化メタルールで唯一導出されたの
は、 [de+上線]である。こうして、他のルール対は
全て、或る入力セットについては出力セットに同時発生
する。
【0146】システムSのVを、V=abcdとし、M
を、 {[ab+上線],[cd+上線],c>d,a,⊃c,b
⊃d}とする。これは、絶対的要求メタルールグラフが
非周期的なので、縮小簡約化されたシステムである。最
小不能化セットは、{[cd+上線]}である。その理由
は、ルール[ab+上線]、が次のように導出することが
できるからである。すなわち、a⊃c∧[cd+上線]
が、公理A2によって、 [ad+上線]を産出し、b⊃
d∧[ad+上線]が、公理A2によって、 [ab+上
線]を産出する。
【0147】本例について、絶対的要求メタルールグラ
フは周期的である。したがって、縮小簡約化されたシス
テムは、当初のシステムと同じである。更に、不能化メ
タルールは、[de+上線]だけであり、これはメタルー
ルセットの部分集合から導出できない。したがって、最
小不能化セットは、{[de+上線]}である。
【0148】最小不能化メタルールは、[cd+上線]の
1個だけであり、これは、優先選択メタルールc>dが
Mによる場合である。不能化メタルール[ab+上線]が
更に1個あり、これについては優先選択メタルールは導
出されないが、システムは確定的である。理由は、ルー
ルaとbとの間の選択がcとdとの間の選択の間接的効
果としてなされるからである。
【0149】実際、このシステムへの可能な16個の入
力の全てについての特有な(入力/出力)セットは、次
の通りである(○に/を重ねて得られる記号を便宜上、
[○+/]で表す):[○+/]/[○+/],a/[○+
/],b/[○+/],c/e,d/d,ab/[○+
/],ac/ac,ad/d,bc/c,bd/bd,
cd/e,abc/ac,abd/bd,acd/a
c,bcd/c,及びabcd/ac。
【0150】優先選択メタルールはd>eであり、最小
不能化メタルールは、[de+上線]である。したがって
この航空会社システムは確定的である。
【0151】本発明は、ルールシステムが特有な最大出
力を選択するかどうかの回答への十分な条件を与えるだ
けでなく、まだ確定的ではないシステムを確定的にする
には何をしなければならないかについての指標を提供す
るものである。具体的には、優先選択の方向を指定され
ていない特定の最小不能化メタルールを特定できる。そ
してプログラマーが適切な優先選択メタルールを付加し
て、システムを確定的にすることができる。
【0152】縮小簡約化されたルールセットV={a,
b,c}及び、 M={a(<)b,b(<)c}について、
このシステムは、確定的である。出力Iに対して、出力
セットも又Iである。
【0153】しかし、システムは順序性良好ではない。
入力{a,b,c}について、出力は(a→b→c)と
して順序付けできる。しかし、入力{a,c}について
は、出力は順序付けできない。これは、スケジューリン
グメタルール内の中間ノードbを用いて、a(<)cを推
論できるのが、bが出力内にあるときだけであり、bは
必ずしも出力内にあるとは限らないからである。
【0154】このように、このシステムは、対a,cが
原因で順序性良好ではない。システムは、メタルールを
指定することによって順序性を良好にできる。もしプロ
グラマーが、aとcとの間の順序が重要ではないことを
知っていれば、プログラマーが順序性が良好でないシス
テムとの共生を選ぶのもよい。
【0155】与えられたメタルールセットから本発明に
基づいて導出できるメタルールの完全セットは次のよう
になる(形式a>a及びa⊃aの、重要でない優先選択
及び絶対的要求のメタルールについては含めない):b
⊃a,c⊃a,d⊃a,e⊃a,f⊃a,g⊃a,c⊃
b,d⊃b,e⊃b,f⊃b,g⊃b、[de+上線]。
【0156】d>e,a>b,a>c,a>d,a>
e,a>f,a>g,b>c,b>d,b>e,b>
f。a(<)b,a(<)c,a(<)d,a(<)f,a(<)
g,b(<)c,b(<)d,b(<)e,b(<)f,b(<)
g,c(<)f,c(<)g,d(<)f,d(<)g,e(<)
f,e(<)g,及びf(<)g。
【0157】優先選択及び絶対的要求のメタルールが関
与しないルール対がいくつかある。例えば、(c,d)
及び(c,e)がこれらの対の2つの例である。従っ
て、このシステムは順序性が良好ではない。しかし、今
や(c,d)については、どの順序を用いるかはあまり
問題ではない。しかし、(c,e)については、順序は
重要である。この時点で、ルールシステム設計者は新し
いスケジューリングメタルール、例えば、c(<)eを書
こうとするであろう。
【0158】例について更に詳細に述べると、「フライ
ト詳細」データベースに要素を挿入し、結果として、ル
ールI={a,b,d,e,g}が発動可能であるとす
る。図3の手順を計算して、Iセットが絶対的要求メタ
ルールに関して有効であるとする。そして、OをI=
{a,b,d,e,g}に等しくセットする。次のステ
ップにおいて、最小不能化メタルール[de+上線]を考
慮し、優先選択メタルールd>eが与えられ、ルールe
がOから削除される。導出可能な、a⊃e又はe>aの
形式のメタルールはない。したがって、これ以上するべ
きことはない。
【0159】他の最小不能化メタルールで残っているも
のはない。したがって、出力セットO={a,b,d,
g}は、最終の出力セットである。順序については、上
記のスケジューリングメタルールが与えられると、全体
順序ω=(a→b→d→g)が得られる。
【0160】更に別の例として、入力セットI={a,
b,c,d,g}に至る、別のルールの起動を考える。
不能化メタルールにより、削除されるルールはない。そ
して、O=I={a,b,c,d,g}が産出される。
今、2つの順序が可能である。ω1=(a→b→c→d
→g)及びω2=(a→b→d→c→g)である。これ
らの順序は両方とも同じ結果をもたらす。したがて、ル
ールシステム設計者は、この問題を無視できるので、順
序の選択はシステムにまかせればよい。
【0161】本発明は又、プログラマーが、活動状態の
データベース内の多数のルール間の相互関係を指定し管
理するための直観宣言手段を提供する。このような仕様
についての公理化及びこのような指定されたメタルール
セットから暗示を導出するための健全且つ完全な手順が
本発明によって提供される。
【0162】簡単な点検によって、与えられたルールセ
ットがよく定義された特有の実行セット及び、特有の実
行順序を有することが、特定のルールがその条件記述を
同時に満足するかどうかに関係なく、保証されるかどう
か、が定められる。活動状態及び同時発生性のようなル
ールセットのその他の望ましい特性についても検査点検
が行われる。
【0163】プログラマーが内部の特定の条件記述が何
かについての知識を有することがしばしばある。プログ
ラマーはこの知識を利用して、例えば、ルールaの条件
が満足されているか、又ルールbの条件が満足されてい
るか、もしくはルールa及びbについての条件記述が同
時には満足されない等を定めることができる。
【0164】このような、プログラマー側での「表明」
は又、絶対的要求及び不能化のメタルールの形式に符号
化してルール相互関係の管理と実行時の正当性の検証の
両方に用いることができる。
【0165】本発明におけるメタルール機能の語彙はき
わめて大きい。実行の選択をされたルール間の(部分的
な)順序だけでなく、実際に実行されるルールの適格な
セットの正当付けも可能である。1つのルールが別のル
ールを要求し、1つのルールが又別のルールを不能化
し、更にルール間の優先選択が設立される。
【0166】トリガー装置がデータベースにおいてより
多く用いられるようになり、より広範囲に利用されるよ
うになるにつれ、多数のトリガールールの管理がかなり
の重要性を帯びつつある。本発明は、或るルールによっ
てセットされ別のルールによって点検される全体的な変
数を用いる必要なしに、多数のルールの相互関係を制御
するための宣言メカニズムを提供する。
【0167】更に、ルールシステムの特性を推論するだ
けでなく、あいまいな行動を取るルールをプログラマー
に示すことによりルールシステムのあいまいさへプログ
ラマーをガイドすることのできる非常に完全且つ強力な
分析システムも提供する。
【0168】図4に、中央処理装置(CPU)801と
記憶装置802とからなるワークステーション800を
示す。記憶装置802は主メモリ803とディスク80
4とから構成される。記憶装置802はシステムルール
のセットを内蔵する。本発明のメタルールが、通信ポ−
ト805を介して記憶装置802に入力される。記憶装
置内のメタルールを与えられてメタルールの完全セット
がCPU801により、図2及び図3に示す本発明の手
順を用いて導出される。そして、このメタルールの完全
セットが記憶装置802に格納される。
【0169】イベントが通信ポ−ト805を介して入力
されると、記憶装置802に格納されているシステムル
ールセットが、CPU801によって点検される。ゼロ
以上のこれらメタルールが装置の条件記述を満足される
と発動可能(すなわち、実行準備完了状態)となる。C
PU801が、メタルールの適用により、発動すべき発
動可能ルールの部分集合を定める。更に、CPU801
がシステムルールの部分集合の発動順序を定める。それ
から、CPU801が、出力ルールの順序づけされたセ
ットを出力し、発動(すなわち、実行)する。
【0170】以上の説明は、本発明の一実施例に関する
もので、この技術分野の当業者であれば、本発明の種々
の変形例を考え得るが、それらはいずれも本発明の技術
的範囲に包含される。
【0171】
【発明の効果】以上述べたごとく、本発明によれば、コ
ンピュータシステムのシステムルール実現に際して、強
力な超ルール(メタルール)を導入し、このメタルール
を用いて、同一イベントに対して起動し得る複数のシス
テムルールの実際の発動を制御するようにしたので、従
来技術では回避に難点のあったシステムルール間の矛盾
対立が有効に回避できる。したがって、イベント発生時
に効率よくシステムを運用することが可能となる。
【図面の簡単な説明】
【図1】本発明の概念を説明する流れ図である。
【図2】本発明の一実施例により或る与えられたメタル
ールのセットによって暗示される絶対的要求メタルール
と不能化メタルールとを導出する手順を示す手順図であ
る。
【図3】本発明の一実施例に基づき、順序付けされた出
力システムルールのセットを導出する手順を示す手順図
である。
【図4】本発明を実現した一実施例を示す説明図であ
る。
【符号の説明】
10 発動可能なシステムルールのセット「I」 20 超ルール(メタルール)のセット「M」 30 出力ルールのセット「O」 800 ワークステーション 801 中央処理装置(CPU) 802 記憶装置 803 主メモリ 804 ディスク 805 通信ポ−ト
───────────────────────────────────────────────────── フロントページの続き (72)発明者 アルバート オスカー メンデルゾン カナダ,L3T5G5 オンタリオ,ソー ンヒル,アブラハム アベニュー 25 (72)発明者 インダーパル シング ミュニック アメリカ合衆国,07922 ニュージャージ ー,ユニオン,バークレー ハイツ,スウ ェンソン サークル 85

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 イベントに応動して活動状態のコンピュ
    ータシステムにおいてシステムルールを実現するための
    方法であって、 システムルールのセットから1個以上のシステムルール
    を入力するステップと、 メタルールのセットを入力するステップと、 前記メタルールのセットによって前記システムルールの
    セットを処理するステップと、 前記システムルールの前記処理から導出された順序付け
    された出力システムルールのセットを出力するステップ
    と、からなることを特徴とする、活動状態のコンピュー
    タシステムにおいてシステムルールを実現するための方
    法。
  2. 【請求項2】 前記方法において、 前記メタルールのうちの少なくとも1個が、絶対的要求
    メタルールであるようにしたことを特徴とする請求項1
    の方法。
  3. 【請求項3】 前記方法において、 前記メタルールのうちの少なくとも1個が、不能化メタ
    ルールであるようにしたことを特徴とする請求項1の方
    法。
  4. 【請求項4】 前記方法において、 前記不能化メタルールが単方向性であるようにしたこと
    を特徴とする請求項3の方法。
  5. 【請求項5】 前記方法において、 前記メタルールのうちの少なくとも1個が、優先選択メ
    タルールであるようにしたことを特徴とする請求項1の
    方法。
  6. 【請求項6】 前記方法において、 前記メタルールのうちの少なくとも1個が、スケジュー
    リングメタルールであるようにしたことを特徴とする請
    求項1の方法。
  7. 【請求項7】 前記方法において、 前記絶対的要求メタルールが、前記1個以上のシステム
    ルールのうちの第1のシステムルールが実行されるとき
    に前記1個以上のシステムルールのうちの第2のシステ
    ムルールの実行を要求するステップからなる、ようにし
    たことを特徴とする請求項2の方法。
  8. 【請求項8】 前記方法において、 前記不能化メタルールが、前記1個以上のシステムルー
    ルのうちの第1のシステムルールが実行されるときに前
    記1個以上のシステムルールのうちの第2のシステムル
    ールの実行を不能化するステップからなる、ようにした
    ことを特徴とする請求項3の方法。
  9. 【請求項9】 前記方法において、 前記優先選択メタルールが、前記1個以上のシステムル
    ールのうちの第1のシステムルールと第2のシステムル
    ールとの両方が実行可能な場合に該第2のシステムルー
    ルの実行を優先選択するステップからなる、ようにした
    ことを特徴とする請求項5の方法。
  10. 【請求項10】 前記方法において、 前記スケジューリングメタルールが、実行を選択された
    第1及び第2のシステムルールを順序付けするステップ
    からなる、ようにしたことを特徴とする請求項6の方
    法。
  11. 【請求項11】 イベントに応動して活動状態のコンピ
    ュータシステムにおいてシステムルールを実現するため
    の方法であって、 システムルールのセットから1個以上のシステムルール
    を入力するステップと、 前記システムルールのセットを縮小簡約化するステップ
    と、 メタルール言語を用いるメタルールからなるメタルール
    のセットを入力するステップと、 前記入力されたメタルールのセットから完全なメタルー
    ルのセットを推論するステップと、 前記完全なメタルールのセットによって前記システムル
    ールのセットを処理するステップと、 前記システムルールの前記処理から導出された順序付け
    された出力システムルールのセットを出力するステップ
    と、からなることを特徴とする、活動状態のコンピュー
    タシステムにおいてシステムルールを実現するための方
    法。
  12. 【請求項12】 前記方法が更に、 起動された前記システムルールの各々について前記シス
    テムルールの特有の出力順序を前記完全なメタルールの
    セットが特定するかどうか、を推論するステップ、から
    なるようにしたことを特徴とする請求項11の方法。
  13. 【請求項13】 前記方法において、 前記入力されたメタルールのセットから完全なメタルー
    ルのセットを推論する前記ステップが、不作動システム
    ルールの認識からなる、ようにしたことを特徴とする請
    求項11の方法。
  14. 【請求項14】 前記方法において、 前記完全なメタルールのセットが、絶対的要求メタルー
    ルと、不能化メタルールと、プレファレン超スルール
    と、スケジューリングメタルールとからなる、ようにし
    たことを特徴とする請求項11の方法。
  15. 【請求項15】 イベントに応動する活動状態のコンピ
    ュータシステムであって、 システムルールのセットから1個以上のシステムルール
    を入力する手段と、 メタルールのセットを入力する手段と、 前記メタルールのセットによって前記システムルールの
    セットを処理する手段と、 前記システムルールの前記処理から導出された順序付け
    された出力システムルールのセットを出力する手段と、
    からなることを特徴とする、活動状態のコンピュータシ
    ステム。
JP8162290A 1995-05-19 1996-05-20 活動状態のコンピュータシステムにおいてシステムルールを実現するための方法及び装置 Pending JPH09114666A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US446184 1989-12-05
US44618495A 1995-05-19 1995-05-19

Publications (1)

Publication Number Publication Date
JPH09114666A true JPH09114666A (ja) 1997-05-02

Family

ID=23771619

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8162290A Pending JPH09114666A (ja) 1995-05-19 1996-05-20 活動状態のコンピュータシステムにおいてシステムルールを実現するための方法及び装置

Country Status (3)

Country Link
EP (1) EP0743596A3 (ja)
JP (1) JPH09114666A (ja)
CA (1) CA2176164A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100430942C (zh) * 2004-03-30 2008-11-05 甲骨文国际公司 管理数据库系统中的事件-条件-操作规则
CN100437587C (zh) * 2006-12-31 2008-11-26 华为技术有限公司 一种基于数据库的业务处理方法及装置

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7020869B2 (en) * 2000-12-01 2006-03-28 Corticon Technologies, Inc. Business rules user interface for development of adaptable enterprise applications
US7127467B2 (en) 2002-05-10 2006-10-24 Oracle International Corporation Managing expressions in a database system
US7613741B2 (en) 2002-08-01 2009-11-03 Oracle International Corporation Utilizing rules in a distributed information sharing system
US8005802B2 (en) 2002-08-01 2011-08-23 Oracle International Corporation Partial evaluation of rule sets
US7565379B2 (en) 2002-08-01 2009-07-21 Edwina Lu Preventing change cycling using rules and redo tags in a redo log
US7567975B2 (en) 2005-03-16 2009-07-28 Oracle International Corporation Incremental evaluation of complex event-condition-action rules in a database system
US10204135B2 (en) 2015-07-29 2019-02-12 Oracle International Corporation Materializing expressions within in-memory virtual column units to accelerate analytic queries
US10372706B2 (en) 2015-07-29 2019-08-06 Oracle International Corporation Tracking and maintaining expression statistics across database queries
US11226955B2 (en) 2018-06-28 2022-01-18 Oracle International Corporation Techniques for enabling and integrating in-memory semi-structured data and text document searches with in-memory columnar query processing

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100430942C (zh) * 2004-03-30 2008-11-05 甲骨文国际公司 管理数据库系统中的事件-条件-操作规则
CN100437587C (zh) * 2006-12-31 2008-11-26 华为技术有限公司 一种基于数据库的业务处理方法及装置

Also Published As

Publication number Publication date
EP0743596A2 (en) 1996-11-20
CA2176164A1 (en) 1996-11-20
EP0743596A3 (en) 1997-02-05

Similar Documents

Publication Publication Date Title
US10866791B2 (en) Transforming non-Apex code to Apex code
Real et al. Mode change protocols for real-time systems: A survey and a new proposal
JP4755639B2 (ja) データベースシステムにおけるイベント−条件−動作の規則の管理
US5535389A (en) Business process objects with associated attributes such as version identifier
Lin et al. Expressing and maintaining timing constraints in FLEX
US7065745B2 (en) System and method for evaluating and executing hierarchies of rules
Liu et al. Rule-based detection of inconsistency in UML models
US8436726B2 (en) Stage evaluation of a state machine
Olsen Jr Propositional production systems for dialog description
JPH09114666A (ja) 活動状態のコンピュータシステムにおいてシステムルールを実現するための方法及び装置
JPH06337807A (ja) データベースにおける制約の実行の自動化のためのシステム及び方法
Jagadish et al. Managing conflicts between rules
KR20200093441A (ko) 지식 그래프 중의 데이터 모델을 획득하는 방법, 장치, 기기 및 저장 매체
Sauer et al. Queueing network software for systems modelling
JP2020129359A (ja) 知識ベースを管理するための方法、装置、設備及び媒体
CN112970011A (zh) 记录查询优化中的谱系
Yavuz-Kahveci et al. Specification, verification, and synthesis of concurrency control components
EP2606424A2 (en) System and method for execution of high performance computing applications
CN100403683C (zh) 一种电信网管系统中对被管对象加锁的方法
US20110054639A1 (en) Method for ensuring safety and liveness rules in a state based design
Lee et al. An executable language for modeling simple behavior
US11392356B1 (en) Online machine learning based compilation
Kurki-Suonio Operational specification with joint actions: serializable databases
Xing et al. Engineering commitment-based multiagent systems: a temporal logic approach
Lano et al. Integrating VDM++ and real-time system design