A Development Environment for Active Database Systems: Testing and Analysis of Active Database Rules
Susan D. Urban Contact Information: Keywords: Active object-oriented database systems, static rule analysis, run-time rule
debugging, rule testing, object deltas, termination, confluence Project Award Information: Project Summary:
Goals, Objectives, and Targeted Activities: 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: Project Success and Impact : 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.
Suzanne W. Dietrich
Department of Computer Science and Engineering
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
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
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.
Theses/Dissertations Produced and In Progress (Advisor):
|
[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. |
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
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. |