Termination and confluence of active rules in active object databases

Active object databases (AODBs) consist of active objects that have the capability to autonomously and asynchronously respond to event occurrences. The response of active objects to events is specified by object-centered active rules that are similar to event-condition-action rules. For many AODB applications, the nondeterministic nature of active rule execution raises the problem of verification of termination and confluence as important run-time properties of active rule sets. A rule set has the termination property if it does not allow infinite rule execution sequences. A rule set has the confluence property if the final database state does not depend on the order of execution of active rules. This dissertation develops a comprehensive set of methods for analysis and verification of termination and confluence. These methods are applicable to a general AODB framework having a well-defined structural data model, a logic-based query language, and a rule-based specification of active object behavior. The structural data model is developed using an order-sorted algebraic specification approach. The query language is an instance of the constraint logic programming scheme, where derived data are defined and queried over the stored database viewed as a constraint domain. Active rules are modeled as conditional rewrite rules that operate over the universe of database states. Since termination and confluence are generally undecidable properties, they are approached by identifying sufficient conditions and a machinery for verification of the sufficient conditions. Three complementary termination methods are presented: the triggering graph method (based on the acyclicity of the rule triggering graph), the refined triggering graph method (based on the satisfiability of well-defined triggering formulae), and the termination orderings method (based on well-founded term orderings). Confluence analysis relies on the notion of a conditional critical pair (CCP) that is defined for any rule pair. Convergence of all CCPs is a sufficient condition for confluence of the rule set. Three types of CCPs are identified along with sufficient convergence conditions. The use of termination and confluence methods in a transactional context is also addressed.