Compile-Time and Runtime Analysis of Active Behaviors

Active rules may interact in complex and sometimes unpredictable ways, thus possibly yielding infinite rule executions by triggering each other indefinitely. This paper presents analysis techniques focused on detecting termination of rule execution. We describe an approach which combines static analysis of a rule set at compile-time and detection of endless loops during rule processing at runtime. The compile-time analysis technique is based on the distinction between mutual triggering and mutual activation of rules. This distinction motivates the introduction of two graphs defining rule interaction, called Triggering and Activation Graphs, respectively. This analysis technique allows us to identify reactive behaviors which are guaranteed to terminate and reactive behaviors which may lead to infinite rule processing. When termination cannot be guaranteed at compile-time, it is crucial to detect infinite rule executions at runtime. We propose a technique for identifying loops which is based on recognizing that a given situation has already occurred in the past and, therefore, will occur an infinite number of times in the future. This technique is potentially very expensive, therefore, we explain how it can be implemented in practice with limited computational effort. A particular use of this technique allows us to develop cycle monitors, which check that critical rule sequences, detected at compile time, do not repeat forever We bridge compile-time analysis to runtime monitoring by showing techniques, based on the result of rule analysis, for the identification of rule sets that can be independently monitored and for the optimal selection of cycle monitors.

[1]  Dean Daniels,et al.  Oracle's symmetric replication technology and implications for application design , 1994, SIGMOD '94.

[2]  Nancy Martin,et al.  Programming Expert Systems in OPS5 - An Introduction to Rule-Based Programming(1) , 1985, Int. CMG Conference.

[3]  Jennifer Widom,et al.  Better Static Rule Analysis for Active Database Systems , 2000 .

[4]  Jennifer Widom,et al.  Active Database Systems , 1995, Modern Database Systems.

[5]  Eric N. Hanson,et al.  Rule condition testing and action execution in Ariel , 1992, SIGMOD '92.

[6]  Letizia Tanca,et al.  Active Rule Management in Chimera , 1996, Active Database Systems: Triggers and Rules For Advanced Database Processing.

[7]  Arno Siebes,et al.  Termination and confluence of rule execution , 1993, CIKM '93.

[8]  Danilo Montesi,et al.  A Rewriting Technique for the Analysis and the Optimization of Active Databases , 1995, ICDT.

[9]  Susan Darling Urban,et al.  Conditional term rewriting as a formal basis for analysis of active database rules , 1994, Proceedings of IEEE International Workshop on Research Issues in Data Engineering: Active Databases Systems.

[10]  Andreas Reuter,et al.  Transaction Processing: Concepts and Techniques , 1992 .

[11]  Alberto O. Mendelzon,et al.  Managing Rule Conflicts in an Active Database. , 1996, PODS 1996.

[12]  Andrew S. Tanenbaum,et al.  Computer Networks , 1981 .

[13]  Norman W. Paton,et al.  Rules in Database Systems , 1994, Workshops in Computing.

[14]  Jennifer Widom,et al.  Deriving Incremental Production Rules for Deductive Data , 1994, Inf. Syst..

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

[16]  Albert Mo Kim Cheng,et al.  Termination Analysis of OPS5 Expert Systems , 1994, AAAI.

[17]  Alon Y. Halevy,et al.  Queries Independent of Updates , 1993, VLDB.

[18]  Alberto O. Mendelzon,et al.  Managing conflicts between rules (extended abstract) , 1996, PODS '96.

[19]  Norman W. Paton,et al.  DEAR: a DEbugger for Active Rules in an object-oriented context , 1993, Rules in Database Systems.

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

[21]  W. W. PETERSONt,et al.  Cyclic Codes for Error Detection * , 2022 .

[22]  Elena Baralis,et al.  Design of Active Rule Applications: Issues and Approaches , 1995, DOOD.

[23]  Jennifer Widom,et al.  Static analysis techniques for predicting the behavior of active database rules , 1995, TODS.

[24]  Jennifer Widom,et al.  Managing Semantic Heterogeneity with Production Rules and Persistent Queues , 1993, VLDB.

[25]  Jeffrey D. Ullman,et al.  Implementing data cubes efficiently , 1996, SIGMOD '96.

[26]  Elena Baralis,et al.  Run-time Detection of Non-Terminating Active Rule Systems , 1995, DOOD.

[27]  Mokrane Bouzeghoub,et al.  VITAL: A Visual Tool for Analysis of Rules Behaviour in Active Databases , 1995, Rules in Database Systems.

[28]  Sharma Chakravarthy,et al.  A Visualization and Explanation Tool for Debugging ECA Rules in Active Databases , 1995, Rules in Database Systems.

[29]  Umeshwar Dayal,et al.  Organizing long-running activities with triggers and transactions , 1990, SIGMOD '90.

[30]  Jennifer Widom Research issues in active database systems: report from the closing panel at RIDE-ADS '94 , 1994, SGMD.

[31]  Jennifer Widom,et al.  Better Termination Analysis for Active Databases , 1993, Rules in Database Systems.

[32]  Bruce G. Lindsay,et al.  On Maintaining Priorities in a Production Rule System , 1991, VLDB.

[33]  Letizia Tanca,et al.  Automatic generation of production rules for integrity maintenance , 1994, TODS.

[34]  Elena Baralis,et al.  Modularization techniques for active rules design , 1996, TODS.

[35]  Elena Baralis,et al.  Declarative Specification of Constraint Maintenance , 1994, ER.

[36]  Elena Baralis,et al.  Improving Rule Analysis by Means of Triggering and Activation Graphs , 1995, Rules in Database Systems.