Abstract
An active database consists of a traditional database supplemented by a set of Event-Condition-Action (ECA) rules. One of the key questions for active database designers is that of termination of the ECA rules. The behaviour of the ECA rules may be obscure and their semantics is often not specified formally. Consequently, developing termination analysis algorithms and proving their correctness is a challenging task. In this paper we address this problem for functional active databases by adopting an abstract interpretation approach. By “functional active databases” we mean active databases whose transaction execution semantics have been expressed in a purely functional language. Although we demonstrate our techniques for a specific active DBMS which supports a functional database programming language interface, these techniques are directly applicable to other active DBMSs whose execution semantics have been specified using a functional or a denotational approach.
Similar content being viewed by others
References
Abramsky, S. and Hankin, C. (Eds.) (1987). Abstract Interpretation of Declarative Languages. Ellis Horwood.
Aiken, A., Widom, J., and Hellerstein, J.M. (1995). Static Analysis Techniques for Predicting the Behavior of Active Database Rules. ACM Transactions on Database Systems, 20(1), 3–41.
Bailey, J., Crnogorac, L., Ramamohanarao, K., and Søndergaard, H. (1997). Abstract interpretation of active rules and its use in termination analysis. Proc. 6th International Conference on Database Theory (pp. 188–202). Delphi, Greece, Lecture Notes in Computer Science 1186, Springer-Verlag.
Bailey, J., Dong, G., and Ramamohanarao, K. (1998). Decidability and undecidability results for the termination problem of active database rules. Proc. 17th ACM SIGMOD-SIGACT-SIGART Symposium on Principles of Database Systems (pp. 264–273). Seattle, Washington.
Bailey, J. and Poulovassilis, A. (1998). Termination Analysis for Active Database Rules—Techniques for Increased Precision. Technical report 98-06, Department of Computer Science, King' College London.
Baralis, E., Ceri, S., and Paraboschi, S. (1995). Improved rule analysis by means of triggering and activation graphs. Proc. 2nd Int. Workshop on Rules in Database Systems (pp. 165–181). Lecture Notes in Computer Science 985, Springer-Verlag.
Ceri, S. and Fraternalli, P. (1997). Designing Database Applications with Objects and Rules: The IDEA Methodology. Addison-Wesley.
Chaudhuri, S. and Kolaitis, P. (1997). Can Datalog be Approximated? Journal of Computer and System Sciences, 55(2), 355–369.
Coupaye, T. and Collet, C. (1995). Denotational Semantics for an Active Rule Execution Model. Proc. 2nd Int. Workshop on Rules in Database Systems (pp. 36–50). Lecture Notes in Computer Science 985, Springer-Verlag.
Cousot, P. and Cousot, R. (1992). Abstract Interpretation Frameworks. Journal of Logic Programming, 13(2/3), 103–179.
Libkin, L. and Wong, L. (1997). Incremental recomputation of recursive queries with nested sets and aggregate functions. Proc. 6th International Workshop on Database Programming Languages (pp. 222–238). Estes Park, Colorado, Springer-Verlag LNCS 1369.
Marriott, K., Søndergaard, H., and Jones, N.D. (1994). Denotational Abstract Interpretation of Logic Programs. ACM Transactions on Programming Languages and Systems, 16(3), 607–648.
Mycroft, A. (1981). Abstract Interpretation and Optimising Transformations for Applicative Programs. Ph.D. thesis, Department of Computer Science, University of Edinburgh.
Peyton Jones, S. (1987). The Implementation of Functional Programming Languages. Prentice-Hall.
Poulovassilis, A., Reddi, S., and Small, C. (1996). A Formal Semantics for an Active Functional DBPL. Journal of Intelligent Information Systems, 7(2), 151–172.
Poulovassilis, A. and Small, C. (1994). Investigation of algebraic query optimisation in database programming languages. Proc. 20th VLDB Conference (pp. 415–426). Santiago.
Poulovassilis, A. and Small, C. (1996). Algebraic Query Optimisation in Database Programming Languages. The VLDB Journal, 5(2), 119–132.
Qian, X. and Wiederhold, G. (1991). Incremental Recomputation of Active Relational Expressions. IEEE Trans. on Knowledge and Data Engineering, 3(3), 337–341.
Reddi, S., Poulovassilis, A., and Small, C. (1995). Extending a functional DBPL with ECA-rules. Proc. 2nd Int. Workshop on Rules in Database Systems (pp. 101–115). Lecture Notes in Computer Science 985, Springer-Verlag.
Sagiv, Y. and Yannakakis, M. (1980). Equivalences Among Relational Expressions with the Union and Difference Operators. Journal of the ACM, 27(4), 633–655.
Schmidt, D.A. (1986). Denotational Semantics. Allyn and Bacon.
Søndergaard, H. and Sestoft, P. (1992). Non-Determinism in Functional Languages. The Computer Journal, 35(5).
Sutton, D. and Small, C. (1995). Extending functional database languages to update completeness. Proc. 13th British National Conference on Databases (pp. 47–63). Lecture Notes in Computer Science 940, Springer-Verlag.
Widom, J. (1992). A Denotational Semantics for the Starburst Production Rule Language. ACMSIGMOD Record, 21(3), 4–9.
Zimmer, D., Meckenstock, A., and Unland, R. (1996). Using petri nets for rule termination analysis. Proc. Workshop on Databases: Active and Real-Time 1996 (CIKM'96). Rockville, Maryland.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Bailey, J., Poulovassilis, A. Abstract Interpretation for Termination Analysis in Functional Active Databases. Journal of Intelligent Information Systems 12, 243–273 (1999). https://doi.org/10.1023/A:1008709127354
Issue Date:
DOI: https://doi.org/10.1023/A:1008709127354