A DEVELOPMENT ENVIRONMENT FOR ACTIVE DATABASE SYSTEMS: TESTING AND ANALYSIS OF ACTIVE DATABASE RULES

Susan D. Urban
Suzanne W. Dietrich

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

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

Keywords: active object-oriented database systems, static rule analysis, run-time rule debugging, rule testing, object deltas, delta abstractions, termination, confluence, condition monitoring

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 develo pment 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 investigated 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). CDOL provides sub-languages for the expression of derived data, constraints, updates, and active rules. As part of our research, we constructed a metadatabase and run-time environment for CDOL using the SHORE object ma nager for persistence. We also developed an algebraic language evaluation framework for CDOL using an intermediate language known as ABIL (AQUA-Based Intermediate Language).

One aspect of our research involved the investigation of static rule analysis tools based on the refined triggering graph (RTG) method of rule analysis. Using CDOL rules, the static rule analyzer builds a triggering graph and applies the semantic techniques of the RTG method to eliminate unnecessary triggering relationships. In addition to static rule analysis, our research activities have also focused on the investigation of testing techniques for active rules. Our 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.

A major portion of our research activities has involved the extension of relational deltas to the notion of object deltas. Object deltas provide a self-describing, system-supported approach where deltas are stored together with each object. One use of object deltas is for condition monitoring. We have developed algorithms that make use of object deltas to demonstrate the condition monitoring techniques for an active, deductive, object-oriented language such as CDOL. Our second use of object deltas is for support of the run-time debugging environment that we have developed for CDOL. Object deltas are enhanced with delta abstractions that allow the run-time debugging tool to view deltas at different granularity levels that are associated with CDOL language components. 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 have developed a graphical interface to support visualization of run-time rule debugging and analysis activities.

Indication of Success
Our development of CDOL demonstrates the successful integration of active, deductive, and object-oriented language paradigms. We have demonstrated how the semantics of CDOL can be defined in terms of an object algebra to create a language execution environment. Furthermore, our development of object deltas demonstrates that delta concepts can be successfully applied to the evaluation of object-oriented languages in support of active and deductive language features.

Our work has also demonstrated that environments to support active rule development must include static rule analysis techniques, rule testing techniques, and run-time rule analysis techniques. The static rule analysis tool is used to refine rule triggering graphs and help developers focus on the rules that may cause problems at execution time. Testing techniques can then be applied to generate test scripts that can be used to drive run-time rule testing activities. Finally, our development environment demonstrates the manner in which object deltas and the concept of incremental object states can be used to improve run-time rule debugging and analysis activities.

Finally, our research findings demonstrate that metadata to support a language such as CDOL, together with an active rule development environment, requires several different layers of metadata. A base layer of metadata is generated from the compilation of a CDOL schema and its application code. The base layer is enhanced by several different forms of metadata abstractions that are needed for language execution and rule development. Object deltas provide an additional type of layer on top of the base metadata layer that supports the capture of incremental object states. We have also demonstrated the need to define a layer of delta abstractions on top of object deltas to provide a different view of object states associated with compiled metadata components. These abstractions simplify the construction of run-time tools for rule analysis and debugging as well as condition monitoring.

Project Impact
This project has provided research training and experience for nine graduate students, including 1 Ph.D. student, 4 M.S. students (thesis option), and 4 M.C.S students (project option). Two of these students are women. Students that have worked on this project now work at companies such as GTE (Dallas), Jasmine (California), Boeing (Phoenix area), SAP (North Carolina), and Inter-Tel (Phoenix area). Communication with these students indicates that their experience on this project with object-oriented database systems, rules, and metadata has been useful within their current jobs. The student at Boeing is also communicating with us about a follow-up proposal involving active rules in distributed environments in the context of software applications at Boeing.

As a result of our research, we have integrated active database concepts into several of our graduate-level database courses at Arizona State University: CSE 513 (Deductive Database Systems) and CSE 514 (Object-Oriented Database Systems).

GPRA Outcome Goals
Our research contributes to discoveries in science and engineering in two major ways. First of all, our research has defined language features, metadata, and language evaluation techniques that are useful for the successful integration of the object-oriented, deductive, and active database paradigms. Solutions to complex applications of the future will require database environments that are capable of supporting these concepts in an integrated manner. A second contribution is that our research defines architecture issues and development tools that are critical for the successful use of active rules. Our results not only demonstrate the types of tools that are needed to support the development of active rules, but also the internal structure that is needed within database systems to better support the use of such tools. These results establish connections to society in that advanced applications, such as manufacturing, electronic commerce, and competitive intelligence, increasingly require reactive capabilities such as those provided by active database systems. By providing more effective ways to develop and analyze active rules, these types of applications will more readily benefit from active technology. Our results have also contributed to a diverse, globally-oriented workforce as evidenced by the nine students that have completed graduate degrees as part of this project.

Project References

[Abdellatif99]

Taoufik Ben Abdellatif, Hon Wai Rene Chan, Suzanne W. Dietrich, Amy Sundermier, and Susan D. Urban, "Metadata Components in Support of an Active Deductive Object-Oriented Database System," submitted to the Third IEEE Metadata Conference, 1999.

[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, Issue 2, October 1996, pp. 111-128.

[Siddabathuni99]

Babu Siddabathuni, Suzanne W. Dietrich, and Susan D. Urban, "An AQUA-Based Intermediate Language for Evaluating an Active Deductive Object-Oriented Language," Proceedings of the First International Workshop on Practical Aspects of Declarative Languages (PADL99), San Antonio, January 1999, pp. 163-177.

[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, 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.

[Urban99]

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

[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. 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.

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].
[Simon 95] E. Simon and A. Dittrich, "Promises and Realities of Active Database Systems," Proceedings of the 21st VLDB Confe rence, 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.