Semantics for update rule programs and implementation in a relational database management system

In this paper, we present our research on defining a correct semantics for a class of update rule (UR) programs, and discuss implemanting these programs in a DBMS environment. Update rules execute by updating relations in a database which may cause the further execution of rules. A correct semantics must guarantee that the execution of the rules will terminate and that it will produce a minimal updated database. The class of UR programs is syntactically identified, based upon a concept that is similar to stratification. We extend that strict definition of stratification and allow a relaxed criterion for partitioning of the rules in the UR program. This relaxation allows a limited degree of nondeterminism in rule execution. We define an execution semantics based upon a monotonic fixpoint operator TUR, resulting in a set of fixpoints for UR. The monotionicity of the operator is maintained nby explicitly representing the effect of asserting and retracting tuples in the database. A declarative semantics for the update rule program is obtained by associating a normal logic program UR to represent the UR program. We use the stable model semantics which characterize a normal logic program by a set of minimal models which are called stable models. We show the equivalence between the set of fixpoints for UR and the set of stable models for UR. We briefly discuss implementing the fixpoint semantics of the UR program in a DBMS environment. Relations that can be updated by the rules are updatable relations and they are extended with two flags. An update rule is represented by a database query, which queries the updatable relations as well as database relaions, i.e., those relations which are not update by rules. We describe an algorithm to process the queries and compute a fixpoint in the DBMS environment and obtain a final database.

[1]  Louiqa Raschid Maintaining Consistency in a Stratified Production System Program , 1990, AAAI.

[2]  Lois M. L. Delcambre,et al.  A self-controlling interpreter for the relational production language , 1988, SIGMOD '88.

[3]  Jorge B. Bocca EDUCE: A Marriage of Convenience: Prolog and a Relational DBMS , 1986, SLP.

[4]  Michael J. Maher,et al.  Foundations of Deductive Databases and Logic Programming , 1988 .

[5]  Robert Demolombe Syntactical characterization of a subset of domain-independent formulas , 1992, JACM.

[6]  Allen Newell,et al.  High-speed implementations of rule-based systems , 1989, TOCS.

[7]  Michael Stonebraker,et al.  The POSTGRES Rule Manager , 1988, IEEE Trans. Software Eng..

[8]  Jeffrey D. Ullman,et al.  Design Overview of the NAIL! System , 1986, ICLP.

[9]  Adrian Walker,et al.  Towards a Theory of Declarative Knowledge , 1988, Foundations of Deductive Databases and Logic Programming..

[10]  D. N. Gordin,et al.  Set-oriented constructs for rule-based systems , 1991, [1991] Proceedings. The Seventh IEEE Conference on Artificial Intelligence Application.

[11]  Robert A. Kowalski,et al.  The Semantics of Predicate Logic as a Programming Language , 1976, JACM.

[12]  Jack Minker,et al.  An overview of the PRISM project , 1987, CARN.

[13]  Victor Vianu,et al.  Procedural Languages for Database Queries and Updates , 1990, J. Comput. Syst. Sci..

[14]  Jorge B. Bocca On the evaluation strategy of EDUCE , 1986, SIGMOD '86.

[15]  David Scott Warren,et al.  A Logic-based Language for Database Updates , 1988, Foundations of Deductive Databases and Logic Programming..

[16]  Charles L. Forgy,et al.  Rete: a fast algorithm for the many pattern/many object pattern match problem , 1991 .

[17]  J. Minker,et al.  Semantics for normal disjunctive logic programs , 1990 .

[18]  Serge Abiteboul,et al.  Non-deterministic languages to express deterministic transformations , 1990, PODS '90.

[19]  Serge Abiteboul,et al.  Datalog Extensions for Database Queries and Updates , 1991, J. Comput. Syst. Sci..

[20]  Gabriel M. Kuper,et al.  Updating Logical Databases , 1986, Adv. Comput. Res..

[21]  Eric Simon,et al.  Modelling Non Deterministic Queries and Updates in Deductive Databases , 1988, VLDB.

[22]  Jeffrey D. Ullman,et al.  Implementation of logical query languages for databases , 1985, TODS.

[23]  Frederick Hayes-Roth,et al.  Rule-based systems , 1985, CACM.

[24]  Louiqa Raschid,et al.  A Semantics for a Class of Stratified Production System Programs , 1989, J. Log. Program..

[25]  Eric Simon,et al.  Deciding Whether a Production Rule is Relational Computable , 1988, ICDT.

[26]  Timos K. Sellis,et al.  Implementing large production systems in a DBMS environment: concepts and algorithms , 1988, SIGMOD '88.

[27]  Pingli Pang,et al.  Bottom-Up Magic Evaluation Techniques for Stratified Production Rules in a DBMS1 , 1994 .

[28]  Jennifer Widom,et al.  Set-oriented production rules in relational database systems , 1990, SIGMOD '90.

[29]  Shamim A. Naqvi,et al.  Database updates in logic programming , 1988, PODS.

[30]  Douglas N. Gordin,et al.  Set-oriented constructs: from Rete rule bases to database systems , 1991, SIGMOD '91.

[31]  Charles L. Forgy,et al.  OPS5 user's manual , 1981 .

[32]  Carlo Zaniolo,et al.  LDL: A Logic-Based Data Language , 1986, VLDB.

[33]  Daniel P. Miranker TREAT: a better match algorithm for AI production systems , 1987, AAAI 1987.

[34]  Jennifer Widom,et al.  Deriving Production Rules for Constraint Maintainance , 1990, VLDB.

[35]  Timos K. Sellis,et al.  Coupling Production Systems and Database Systems: A Homogeneous Approach , 1993, IEEE Trans. Knowl. Data Eng..