A Development Environment for Active Database Systems: Testing and Analysis of Active Database Rules

Susan D. Urban
Suzanne W. Dietrich
Department of Computer Science and Engineering

Contact Information:
Susan D. Urban
Department of Computer Science and Engineering
Arizona State University
Tempe, AZ 85287-5406
Phone: (602) 965-2784
Fax : (602) 965-2751
Email: s.urban@asu.edu
Suzanne W. Dietrich
Department of Computer Science and Engineering
Arizona State University
Tempe, AZ 85287-5406
Phone: (602) 965-2786
Fax : (602) 965-2751
Email: dietrich@asu.edu

WWW PAGE: http://www.eas.asu.edu/~adood

Keywords: Active object-oriented database systems, static rule analysis, run-time rule debugging, rule testing, object deltas, termination, confluence

Project Award Information:
Award No.: IRI-9410993
Title: A Development Environment for Active Database Systems: Testing and Analysis of Active Database Rules
Duration: 1 June 1995 - 30 June 1998

Project Summary: Active database systems transform passive database processing into active environments by using rules as alerters and triggers. This research is investigating two complementary aspects of active database development environments: the analysis of rules for termination and confluence properties and the run-time testing and debugging of active rules. The research is addressed in the context of an active, deductive, and object-oriented database. The rule analysis process is a static approach, applying termination/confluence analysis techniques from conditional term rewriting to identify rule problems before execution. The run-time environment is a dynamic approach allowing users to step through the rule triggering process, observing rule behavior and testing different rule triggering sequences. The execution model includes a propagation algorithm for monitoring changes to derived data. The integration of rule analysis with rule generation and transaction development to support specification and analysis of rules prior to rule execution is also being investigated. The significance of this work is found in the integration of active, deductive, and object-oriented concepts as well as the supportive environment provided to address the correctness and predictability of active rules in the development of complex database applications.

Goals, Objectives, and Targeted Activities:
As part of this research, we have been investigating the development of an active rule development environment that supports the analysis, testing, and debugging of active rules using an active, deductive, object-oriented language known as CDOL (Comprehensive, Declarative Object Language) [Urban97]. The major accomplishments of our work include 1) the development of an initial prototype for active rule debugging, 2) the definition of CDOL, 3) the development of a static rule analysis tool, 4) the development of testing techniques for active rules, 5) the definition of an object delta structure for capturing evolving database states in CDOL, 6) the use of the object delta structure for condition monitoring in condition-action rules, and 7) the use of the object delta structure in the construction of a run- time environment for event-condition-action rules in CDOL. By the end of the funding period, we also expect to produce results describing the manner in which our debugging environment can be used to support the refinement of transaction design in active database applications.

Our research activities were initiated with the development of an active rule debugging prototype to investigate useful features that should be developed as part of any active rule debugging tool, as well as implementation issues that must be considered for the development of rule debugging environments [Jaehne96]. Our initial prototype, known as PEARD for Prototype Environment for Active Rule Debugging, was implemented using Smalltalk and was not based on the use of a specific database environment. We are now using the ideas that we investigated in the construction of PEARD to develop a more sophisticated environment for CDOL based on our developments with object deltas, paying particular attention to the architectural design issues that are important in the construction of a flexible, active database environment.

As an active, deductive, object-oriented language, CDOL provides sub-languages for the expression of derived data, constraints, updates, and active rules. The rule-based query language of CDOL extends the set of stored attributes for a particular class with a set of virtual attributes that are defined using CDOL passive (i.e., deductive) rules. The update rule language is an augmentation of the rule-based query language, where the rule body specifies the objects to be updated and the rule head specifies the update operation. The active rule sub-language provides active, user-transparent agents that support reactive behavior within CDOL applications. As part of our research, we are constructing a run- time environment for CDOL using the SHORE object manager for persistence. This run-time environment requires the evaluation of the CDOL language, which is a non-trivial task for an expressive language such as CDOL. This part of the work is being completed as Siddabathuni's research (see theses in progress below), utilizing our established expertise on the evaluation of declarative languages and investigating the operations provided by the AQUA object algebra.

The static rule analyzer was developed to implement the refined triggering graph (RTG) method of rule analysis [Tschudi97], which was developed by A. Karadimce and S. Urban as part of a previous NSF research project conducted at Arizona State University. Using CDOL rules, the static rule analyzer builds a triggering graph and applies the semantic methods of the RTG method to demonstrate that a conservative triggering graph can be significantly reduced through the use of satisfiability methods applied to the conditions of the rules in the graph. In support of the work, we developed a testbed to demonstrate the use of the analysis process. We also performed an evaluation of the RTG method to determine how well the different analysis tools within the method perform under different rule conditions.

Our research has also focused on the investigation of testing techniques for active rules [Chan97]. The development of testing techniques is a unique aspect of our work that has not been studied in other active database research projects. In particular, we have investigated the application of structural and functional testing to active rules. A prototype of a test case generation tool for active rules is expected to be completed in the Spring of 1998. Our approach is based on the concept that a suite of complementary techniques for testing is an effective means of active rule verification. The prototype tool implements testing techniques based on structural testing techniques, such as control flow and data flow, and functional testing techniques, such as input domain and boundary value tests. The prototype illustrates the applicability of the developed testing techniques for active rules and provides a sample architecture for an active rule testing environment.

A major result of our research has been the development of object deltas and their use in support of the CDOL development environment [Sundermier97]. Deltas for representing incremental changes in a database state have primarily been investigated in the context of condition monitoring within active, relational environments. We have extended the concept of relational deltas to an object-oriented environment, creating the notion of object deltas. Our notion of object deltas is different from the work of deltas in H2O in that we provide a self-describing, system-supported approach to deltas that is stored together with each object.

We have investigated the use of object deltas for two different uses within the CDOL environment. One use of object deltas is for condition monitoring. Condition monitoring techniques monitor the changes to the database state to efficiently determine when a condition is satisfied, thus triggering condition-action rules in CDOL. It is obviously undesirable to monitor all conditions defined in the database over the entire database instance. Object deltas identify the conditions that need to be monitored and provide bindings for incremental condition evaluation.

Our second use of object deltas is for support of the run-time debugging environment that we are developing for CDOL. Our notion of object deltas is enhanced with delta abstractions that allow the run-time debugging tool to view deltas at different granularity levels. Granularity levels correspond to different language components of CDOL, such as active rules, update rules, transactions, and methods. Delta abstractions therefore provide a means to rollback to previous states, to replay rule execution, or to query information about the evolution of the database state during the rule triggering process. We are currently integrating object deltas and delta abstractions into the CDOL active rule run-time environment to support the development of a debugging tool based on object delta functionality. We are especially interested in how object deltas can be used to enhance run-time analysis of rule termination and confluence and thus support transaction analysis and design for active applications. This work is being completed as the dissertation research of T. Abdellatif (see dissertations in progress below).

Indication of Success:
This research project will reach its termination point by the end of this year (June 1998 plus a 6 months no-cost extension). We feel that all of the objectives of the project will have been fully addressed by that time. Our success can be measured in terms of 1) the publications that we have generated (and will continue to generate throughout the rest of this year), 2) the students that we have produced, and 3) the overall results that we have been able to demonstrate as a result of this work. The development of tools to assist in the use of active database rules is critical to the future development of active database applications. Using active rules can be a difficult experience; they are not easy to write and the interaction between all rules is not easy to understand. We have been able to demonstrate static and dynamic approaches to rule analysis, where static approaches provide compile-time detection of rule problems and dynamic approaches provide run-time support for examining the execution of rules. The two approaches are complimentary, especially considering the computational limitations of static analysis techniques. We would like to have accomplished more in the way of fully integrating all of the different components of our work, but were often limited by resources (lack of funds to support more students). We have, however, addressed all of our original objectives and demonstrated solutions that now provide issues for commercial database vendors to consider in terms of 1) developing tools to assist in the use of triggers and active rules, and 2) designing the internal structure of database systems to better support such tools.

Project Success and Impact :
Theses/Dissertations Produced and In Progress (Advisor):

As a result of our research, we have integrated active database concepts into several of our database courses at Arizona State University. Our first level graduate course in database systems now covers the use of triggers in products such as Oracle, as well as the problems associated with the use of such features. Our course on object-oriented database systems covers the issues of active, object-oriented database systems. Active database concepts are taught in more detail in this course, including the issues of termination and confluence. Details related to our results on object deltas will be incorporated in the next offering of the course. We also teach a deductive database course that address active, deductive database systems. The next offering of this course will also address our results on object deltas as well as the use of object deltas in condition monitoring techniques.

We are also now investigating the application of active database concepts to distributed environments as well as the extension of our results on rule analysis, testing, and debugging for distributed rule processing.

Project References (Additional publications are currently in progress):

[Chan97]

Hon Wai Rene Chan, Suzanne W. Dietrich, and Susan D. Urban, "On Control Flow Testing of Active Rules in a Declarative Object-Oriented Framework," Rules in Database Systems 1997 (RIDS-97), pp. 165-180.

[Jaehne96]

Alexander Jaehne, Susan D. Urban, and Suzanne W. Dietrich, "PEARD: A Prototype Environment for Active Rule Debugging," Journal of Intelligent Information Systems, Special Issue on Active Database Systems , Volume 7, Issue2, October 1996, pp. 111-128.

[Sundermier97]

Amy Sundermier, Taoufik Ben Abdellatif, Suzanne W. Dietrich, and Susan D. Urban, "Object Deltas in an Active Database Development Environment," Proceedings of the International Conference on Deductive and Object-Oriented Databases, in Lecture Notes in Computer Science, No. 1341, Switzerland, December 1997, pp. 211-228.

[Tschudi97]

Michael K. Tschudi, Susan D. Urban, Suzanne W. Dietrich, and Anton P. Karadimce, "An Implementation and Evaluation of the Refined Triggering Graph Method for Active Rule Termination Analysis," RIDS-97, pp. 133-148.

[Tschudi98]

Michael K. Tschudi, Susan D. Urban, Suzanne W. Dietrich, and Anton P. Karadimce, "Active Rule Termination Analysis: An Implementation and Evaluation of the Refined Triggering Graph Method," in preparation for submission to Journal of Intelligent Information Systems, February 1998.

[Urban97]

Susan D. Urban, Anton P. Karadimce, Suzanne W. Dietrich, Taoufik Ben Abdellatif, and Hon Wai Rene Chan, "CDOL: A Comprehensive Declarative Object Language," Data & Knowledge Engineering, 1997, pp. 67-111.

Area Background:
Active database technology transforms passive database systems into reactive systems that respond to database and external events through the use of rule processing features. Although the term active database systems originated with the work in [Morgenstern83] on constraint equations, the HiPAC project is generally considered to have developed most of the concepts currently found in active database prototypes [Dayal96]. Active database technology can be used to maintain database constraints, to maintain materialized views, to notify users of specific conditions or events that occur, or to control workflow activities within a database application.

Several research prototypes exist, investigating active rule technology in both relational and object-oriented domains [Widom96]. Limited versions of active rules also exist in commercial database products through the use of triggers.

A fundamental component of an active database system is the Event- Condition-Action (ECA) rule:

Event [before | after] E
Condition [coupling_mode] condition_specification
Action [coupling_mode] action_list

Using the ECA rule paradigm, when an event occurs, a rule associated with this event is triggered. If the condition of the rule evaluates to true, then the action of the rule is executed. Other features are included to enhance the specification and execution semantics of active rules. One feature is the capability to specify when (before or after) the active rule is triggered in relationship to the execution of the event. Another capability is the specification of the relationship between rule processing and database transactions in active database systems. In the ECA template above, a coupling mode can be used to define the transactional relationship between components of an ECA rule. A coupling mode can be specified between an event and its corresponding condition, and the condition and its associated action. There are three recognized coupling modes: immediate, deferred and decoupled. Immediate means that the component is executed immediately within the same transaction. Deferred means that the component is executed at the commit point of the transaction. Decoupled means that the component executes in a separate transaction. There are subtle dependencies between these choices in rule design and other issues in rule processing.

Research issues for active database systems have focused on the development of active rule languages and the specification of execution models that define the semantics of rule execution [Simon95]. Architectures for active environments have also been investigated, ranging from built-in rule processing components to layered approaches that add active capabilities to passive database systems. Other research has focused on the development of tools to assist the active rule designer in understanding termination and confluence properties of active rules. An overview of several major research prototypes of active databases in both relational and object-oriented domains can be found in [Widom96]. Active rule technology is now being extended to distributed computing environments, which provides the most potential for collaboration with other related projects within IDM.

Area References:
[ACT-NET96] ACT-NET Consortium, "The Active Database Management System Manifesto: A Rulebase of ADBMS Features, ACM SIGMOD Record, vol. 25, no. 3, Sept 1996.
[Buchmann95] A. Buchmann, J. Zimmerman, J. Blakeley, D. Wells, "Building an Integrated Active OODBMS: Requirements, Architecture, and Design Decisions," Proceedings of the International Conference on Data Engineering, Taiwan, 1995.
[Dayal96] U. Dayal, A. Buchmann, S. Chakravarthy, "The HiPAC Project," in [Widom96].
[Morgenstern83] M. Morgenstern, "Active Databases as a Paradigm for Enhanced Computing Requirements," International Conference on Very Large Databases, Florence, 1983, pp. 34-42.
[Simon 95] E. Simon and A. Dittrich, "Promises and Realities of Active Database Systems," Proceedings of the 21st VLDB Conference, Zurich, 1995, pp. 642-653.
[Widom96] J. Widom and S. Ceri, Active Database Systems: Triggers and Rules for Advanced Database Processing, Morgan Kaufmann Publishers, San Francisco, 1996.