The Convergence of AOP and Active Databases: Towards Reactive Middleware

Reactive behavior is rapidly becoming a key feature of modern software systems in such diverse areas as ubiquitous computing, autonomic systems, and event-based supply chain management. In this paper we analyze the convergence of techniques from aspect oriented programming, active databases and asynchronous notification systems to form reactive middleware. We identify the common core of abstractions and explain both commonalities and differences to start a dialogue across community boundaries. We present existing options for implementation of reactive software and analyze their run-time semantics. We do not advocate a particular approach but concentrate on identifying how the various disciplines can benefit from each other. We believe that AOP can solve the impedance mismatch found in reactive systems that are implemented through inherently static languages, while AOP can benefit from the active database community's experience with event detection/composition and fault tolerance in large scale systems. The result could be a solid foundation for the realization of reactive middleware services.

[1]  J. Davenport Editor , 1960 .

[2]  Petr Kroha Objects and databases , 1993, McGraw-Hill international series in software engineering.

[3]  Rainer Unland,et al.  On the semantics of complex events in active database management systems , 1999, Proceedings 15th International Conference on Data Engineering (Cat. No.99CB36337).

[4]  Sharma Chakravarthy,et al.  A new perspective on rule support for object-oriented databases , 1993, SIGMOD '93.

[5]  Jennifer Widom,et al.  An algebraic approach to static analysis of active database rules , 2000, TODS.

[6]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[7]  Norman W. Paton,et al.  Active Rules in Database Systems , 1998, Monographs in Computer Science.

[8]  Klaus R. Dittrich,et al.  Events in an Active Object-Oriented Database System , 1993, Rules in Database Systems.

[9]  Tzilla Elrad,et al.  Aspect-oriented programming: Introduction , 2001, CACM.

[10]  Corporate Act-Net Consortium,et al.  The active database management system manifesto: a rulebase of ADBMS features , 1996, SGMD.

[11]  Mira Mezini,et al.  Conquering aspects with Caesar , 2003, AOSD '03.

[12]  Narain H. Gehani,et al.  Composite Event Specification in Active Databases: Model & Implementation , 1992, VLDB.

[13]  Douglas C. Schmidt,et al.  Usenix Conference on Object-oriented Technologies and Systems (coots '01) the Design and Performance of Meta-programming Mechanisms for Object Request Broker Middleware , 2022 .

[14]  Alejandro P. Buchmann,et al.  Active object-relational mediators , 1996, Proceedings First IFCIS International Conference on Cooperative Information Systems.

[15]  Frank Yellin,et al.  The Java Virtual Machine Specification , 1996 .

[16]  Norman W. Paton,et al.  Rule Management in Object Oriented Databases: A Uniform Approach , 1991, VLDB.

[17]  Satoshi Matsuoka,et al.  Metalevel Architectures and Separation of Crosscutting Concerns , 2001, Lecture Notes in Computer Science.

[18]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[19]  Dennis Tsichritzis,et al.  Advances in Database Technology — EDBT '90 , 1990, Lecture Notes in Computer Science.

[20]  Meichun Hsu,et al.  A Theory for Rule Triggering Systems , 1990, EDBT.

[21]  Umeshwar Dayal,et al.  Rules Are Objects Too: A Knowledge Model For An Active, Object-Oriented Database System , 1988, OODBS.

[22]  Klaus R. Dittrich,et al.  Advances in Object-Oriented Database Systems , 1988, Lecture Notes in Computer Science.

[23]  Priya Narasimhan,et al.  Using Interceptors to Enhance CORBA , 1999, Computer.

[24]  Robert J. Walker,et al.  Joinpoints as Ordered Events: Towards Applying Implicit Context to Aspect-Orientation , 2001 .

[25]  Alejandro P. Buchmann,et al.  Rules in an Open System: The REACH Rule System , 1993, Rules in Database Systems.

[26]  Richard Monson-Haefel,et al.  Enterprise JavaBeans , 1999, Java series.

[27]  John Maloney,et al.  Back to the Future The Story of Squeak, A Practical Smalltalk Written in Itself , 1997 .

[28]  Christine Collet,et al.  The NODS Project: Networked Open Database Services , 2000, Objects and Databases.

[29]  Jennifer Widom,et al.  Behavior of database production rules: termination, confluence, and observable determinism , 1992, SIGMOD '92.

[30]  Shigeru Chiba,et al.  Load-Time Structural Reflection in Java , 2000, ECOOP.

[31]  Susan D. Urban,et al.  Conditional Term Rewriting as a Formal Basis for Active Database Rules. , 1994 .

[32]  Sharma Chakravarthy Sentinel: an object-oriented DBMS with event-based rules , 1997, SIGMOD '97.

[33]  Eric N. Hanson,et al.  An initial report on the design of Ariel DBMS with an integrated production rule system , 1989, SGMD.

[34]  Rémi Douence,et al.  A model and a tool for Event-based Aspect-Oriented Programming (EAOP) , 2002 .

[35]  Gustavo Alonso,et al.  Dynamic weaving for aspect-oriented programming , 2002, AOSD '02.

[36]  Premkumar T. Devanbu,et al.  DADO: enhancing middleware to support crosscutting features in distributed, heterogeneous systems , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[37]  Gustavo Alonso,et al.  Just-in-time aspects: efficient dynamic weaving for Java , 2003, AOSD '03.

[38]  Jørgen Lindskov Knudsen ECOOP 2001 — Object-Oriented Programming , 2001, Lecture Notes in Computer Science.

[39]  Umeshwar Dayal,et al.  The HiPAC project: combining active databases and timing constraints , 1988, SGMD.

[40]  Klaus R. Dittrich,et al.  FRAMBOISE—an approach to framework-based active database management system construction , 1998, International Conference on Information and Knowledge Management.

[41]  Luca Cardelli,et al.  ECOOP 2003 – Object-Oriented Programming , 2003, Lecture Notes in Computer Science.

[42]  Michael Stonebraker,et al.  On rules, procedure, caching and views in data base systems , 1990, SIGMOD '90.

[43]  Michael Stonebraker,et al.  On rules, procedures, caching and views in database systems , 1994, SIGMOD 1994.

[44]  Sharma Chakravarthy,et al.  ECA rule integration into an OODBMS: architecture and implementation , 1995, Proceedings of the Eleventh International Conference on Data Engineering.

[45]  Olivier Motelet,et al.  A Formal Definition of Crosscuts , 2001, Reflection.

[46]  Robert Hirschfeld,et al.  Aspect-Oriented Programming with AspectS , 2002 .

[47]  Arne Koschel,et al.  Unbundling active functionality , 1998, SGMD.

[48]  Alejandro P. Buchmann,et al.  Architecture of Active Database Systems , 1999, Active Rules in Database Systems.

[49]  Sharma Chakravarthy,et al.  Composite Events for Active Databases: Semantics, Contexts and Detection , 1994, VLDB.

[50]  Mira Mezini,et al.  Modules for Crosscutting Models , 2003, Ada-Europe.

[51]  Jennifer Widom,et al.  Active Database Systems: Triggers and Rules For Advanced Database Processing , 1994 .

[52]  Klaus R. Dittrich,et al.  The active database management system manifesto: a rulebase of ADBMS features , 1995, SGMD.

[53]  Alejandro P. Buchmann,et al.  Event composition in time-dependent distributed systems , 1999, Proceedings Fourth IFCIS International Conference on Cooperative Information Systems. CoopIS 99 (Cat. No.PR00384).

[54]  Ivan Kiselev,et al.  Aspect-Oriented Programming with AspectJ , 2002 .

[55]  Laurence Duchien,et al.  JAC: A Flexible Solution for Aspect-Oriented Programming in Java , 2001, Reflection.

[56]  Susan Darling Urban,et al.  Conditional term rewriting as a formal basis for analysis of active database rules , 1994, Proceedings of IEEE International Workshop on Research Issues in Data Engineering: Active Databases Systems.

[57]  Mariano Cilia,et al.  An Active Functionality Service for Open Distributed Heterogeneous Environments , 2002 .

[58]  Elisa Bertino,et al.  ECOOP 2000 — Object-Oriented Programming , 2000, Lecture Notes in Computer Science.

[59]  Klaus R. Dittrich,et al.  SAMOS in hindsight: experiences in building an active object-oriented DBMS , 2003, Inf. Syst..

[60]  Peter C. Lockemann,et al.  Distributed Events in Active Database Systems: Letting the Genie out of the Bottle , 1998, Data Knowl. Eng..

[61]  Mira Mezini,et al.  Object Creation Aspects with Flexible Aspect Deployment , 2001 .

[62]  Michael Haupt,et al.  Towards Aspect-Aware Execution Models , 2003 .

[63]  Richard Monson-Haefel,et al.  Java message service , 2000 .