Advertisement

The Convergence of AOP and Active Databases: Towards Reactive Middleware

  • Mariano Cilia
  • Michael Haupt
  • Mira Mezini
  • Alejandro Buchmann
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2830)

Abstract

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.

Keywords

Event Algebra Impedance Mismatch Active Database Primitive Event Rule Execution 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    A C T -N E T Consortium: The Active Database Management System Manifesto: A Rulebase of ADBMS Features. ACM SIGMOD Record 25(3), 40–49 (1996)CrossRefGoogle Scholar
  2. 2.
    Aiken, A., Widom, J., Hellerstein, J.M.: Behavior of database production rules: termination, confluence, and observable determinism. In: Proc. of ACM SIGMOD, San Diego, California, June 1992, pp. 59–68 (1992)Google Scholar
  3. 3.
    Anwar, E., Maugis, L., Chakravarthy, S.: A new perspective on rule support for object-oriented databases. In: Proc. of ACM SIGMOD, Washington, D.C., May 1993, pp. 99–108. ACM Press, New York (1993)Google Scholar
  4. 4.
  5. 5.
    AspectJ Home Page, http://aspectj.org/
  6. 6.
  7. 7.
    Baralis, E., Widom, J.: An Algebraic Approach to Static Analysis of Active Database Rules. ACM Transactions on Database Systems 25(3), 269–332 (2000)CrossRefGoogle Scholar
  8. 8.
    Branding, H., Buchmann, A.P., Kudrass, T., Zimmermann, J.: Rules in an Open System: The REACH Rule System. In: Proc. of RIDS, pp. 111–126. Springer, Heidelberg (1993)Google Scholar
  9. 9.
    Buchmann, A.: Architecture of Active Database Systems. In: Paton [53], ch. 2, pp. 29–48 (1999)Google Scholar
  10. 10.
    Chakravarthy, S.: SENTINEL: An Object-Oriented DBMS With Event-Based Rules. In: Proc. of ACM SIGMOD, Tucson, Arizona, USA, May 1997, pp. 572–575 (1997)Google Scholar
  11. 11.
    Chakravarthy, S., Krishnaprasad, V., Tamizuddin, Z., Badani, R.H.: ECA Rule Integration into an OODBMS: Architecture and Implementation. In: Yu, P.S., Chen, A.L.P. (eds.) Proc. of ICDE, Taipei, Taiwan, March 1995, pp. 341–348. IEEE Computer Society, Los Alamitos (1995)Google Scholar
  12. 12.
    Chakravarthy, S., Krishnaprasad, V., Anwar, E., Kim, S.-K.: Composite events for active databases: Semantics, contexts and detection. In: Proc. of VLDB, Santiago de Chile, Chile, September 1994, pp. 606–617. Morgan Kaufmann, San Francisco (1994)Google Scholar
  13. 13.
    Charkravarthy, S., Krishnaprasad, V., Anwar, E., Kim, S.: Composite Events for Active Databases: Semantics, Contexts and Detection. In: Proc. of VLDB, September 1994, pp. 606–617 (1994)Google Scholar
  14. 14.
    Chiba, S.: Load-Time Structural Reflection in Java. In: Bertino, E. (ed.) ECOOP 2000. LNCS, vol. 1850, pp. 313–336. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  15. 15.
    Cilia, M.: An Active Functionality Service for Open Distributed Heterogeneous Environments. Ph.D. Thesis, Department of Computer Science, Darmstadt University of Technology, Darmstadt, Germany (August 2002)Google Scholar
  16. 16.
    Collet, C.: The NODS Project: Networked Open Database Services. In: Dittrich, K.R., Guerrini, G., Merlo, I., Oliva, M., Rodriguez, M.E. (eds.) ECOOP-WS 2000. LNCS, vol. 1944, pp. 153–169. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  17. 17.
    Dayal, U., Buchmann, A., McCarthy, D.: Rules are Objects Too. In: Dittrich, K.R. (ed.) OODBS 1988. LNCS, vol. 334, pp. 129–143. Springer, Heidelberg (1988)Google Scholar
  18. 18.
    Dayal, U., et al.: The HiPAC Project: Combining Active Databases and Timing Constraints. ACM SIGMOD Record 17(1) (March 1988)Google Scholar
  19. 19.
    DeMichiel, L., Yalcinalp, L.U., Krishnan, S.: Enterprise JavaBeans. Technical Report Version 2.0, Sun Microsystems, JavaSoftware (August 2001)Google Scholar
  20. 20.
    Díaz, O., Paton, N.W., Gray, P.: Rule management in object oriented databases: A uniform approach. In: Proc. of VLDB, Barcelona, Catalonia, Spain, September 1991, pp. 317–326. Morgan Kaufmann, San Francisco (1991)Google Scholar
  21. 21.
    Dittrich, K., Fritschi, H., Gatziu, S., Geppert, A., Vaduva, A.: SAMOS in Hindsight: Experiences in Building an Active Object-Oriented DBMS. Technical Report 2000.05, Institut fuer Informatik, University of Zurich (2000)Google Scholar
  22. 22.
    Microsoft. NET Home Page, http://www.microsoft.com/net/
  23. 23.
    Douence, R., Motelet, O., Südholt, M.: A Formal Definition of Crosscuts. Technical Report 01/3/INFO, École des Mines de Nantes, 4 rue Alfred Kastler, 44307 Nantes cedex 3, France (2001)Google Scholar
  24. 24.
    Douence, R., Südholt, M.: A Model and a Tool for Event-Based Aspect- Oriented Programming (EAOP). Technical Report 02/11/INFO, Ecole des Mines de Nantes (2002)Google Scholar
  25. 25.
  26. 26.
    Elrad, T., Filman, R., Bader, A.: Aspect-oriented programming. CACM 44(10), 29–32 (2001)Google Scholar
  27. 27.
    Fritschi, H., Gatziu, S., Dittrich, K.: FRAMBOISE - an Approach to Frameworkbased Active Data Management System Construction. In: Proceedings of CIKM 1998, Maryland, November 1998, pp. 364–370 (1998)Google Scholar
  28. 28.
    Gatziu, S., Dittrich, K.R.: Events in an Active Object-Oriented Database System. In: Proc. of RIDS, Workshops in Computing, pp. 23–29. Springer, Heidelberg (1993)Google Scholar
  29. 29.
    Gatziu, S., Koschel, A., Buetzingsloewen, G.v., Fritschi, H.: Unbundling Active Functionality. ACM SIGMOD Record 27(1), 35–40 (1998)CrossRefGoogle Scholar
  30. 30.
    Gehani, N., Jagadish, H., Shmueli, O.: Composite Event Specification in Active Databases: Model & Implementation. In: Proc. of VLDB, August 1992, pp. 327–338 (1992)Google Scholar
  31. 31.
    Hanson, E.N.: An Initial Report on The Design of Ariel: A DBMS With an Integrated Production Rule System. SIGMOD Record 18(3), 12–19 (1989)CrossRefGoogle Scholar
  32. 32.
    Hapner, M., Burridge, R., Sharma, R.: Java Message Service. Specification Version 1.0.2, Sun Microsystems, JavaSoftware (November 1999)Google Scholar
  33. 33.
    Haupt, M., Bockisch, C., Mezini, M., Ostermann, K.: Towards Aspect-Aware Execution Models, (submitted for review), http://www.st.informatik.tu-darmstadt.de/database/publications/data/ObjectModelDraft.pdf?id=75
  34. 34.
  35. 35.
  36. 36.
    Ingalls, D., Kaehler, T., Maloney, J., Wallace, S., Kay, A.: Back to the Future: the Story of Squeak, a Practical Smalltalk Written in Itself. In: Proc. of OOPSLA, pp. 318–326. ACM Press, New York (1997)CrossRefGoogle Scholar
  37. 37.
    JAC Home Page, http://jac.aopsys.com/
  38. 38.
    The Jikes Research Virtual Machine, http://www-124.ibm.com/developerworks/oss/jikesrvm/
  39. 39.
    Java Platform Debugger Architecture Home Page, http://java.sun.com/j2se/1.4.1/docs/guide/jpda/index.html
  40. 40.
    Karadimce, A.P., Urban, S.D.: Conditional Term Rewriting as a Formal Basis for Active Database Rules. In: Proc. of RIDE 1994, February 1994, pp. 156–162 (1994)Google Scholar
  41. 41.
    Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An Overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  42. 42.
    Koschel, A., Lockemann, P.: Distributed Events in Active Database Systems - Letting the Genie out of the Bottle. Data & Knowledge Engineering 25(1-2), 29–53 (1998)CrossRefGoogle Scholar
  43. 43.
    Kudrass, T., Loew, A., Buchmann, A.: Active Object-Relational Mediators. In: Proc. of CoopIS, Brussels, Belgium, September 1996, pp. 228–239 (1996)Google Scholar
  44. 44.
    Liebig, C., Cilia, M., Buchmann, A.: Event Composition in Time-dependent Distributed Systems. In: Proc. of CoopIS, September 1999, pp. 70–78 (1999)Google Scholar
  45. 45.
    Lindholm, T., Yellin, F.: The Java Virtual Machine Specification, 2nd edn. Addison- Wesley, London (1999)Google Scholar
  46. 46.
    Masuhara, H., Kiczales, G.: A Modeling Framework for Aspect-Oriented Mechanisms. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743. Springer, Heidelberg (2003)Google Scholar
  47. 47.
    Mezini, M., Ostermann, K.: Modules for Crosscutting Models. In: Proceedings of the 8th International Conference on Reliable Software Technologies, (Ada-Europe 2003) (2003)Google Scholar
  48. 48.
    Mezini, M., Ostermann, K.: Object Creation Aspects with Flexible Aspect Deployment, http://www.st.informatik.tu-darmstadt.de/staff/Ostermann/aosd02.pdf
  49. 49.
    Mezini, M., Ostermann, K.: Conquering Aspects with Caesar. In: Proc. of AOSD. ACM Press, New York (2003)Google Scholar
  50. 50.
    Narasimhan, P., Moser, L., Melliar-Smith, P.: Using Interceptors to Enhance CORBA. IEEE Computer 32(7), 62–68 (1999)Google Scholar
  51. 51.
    Object Management Group. Event Service Specification. Technical Report formal/97-12-11, Object Management Group (OMG) (May 1997)Google Scholar
  52. 52.
    Object Management Group. CORBA Notification Service Specification. Technical Report telecom/98-06-15, Object Management Group (OMG) (May 1998)Google Scholar
  53. 53.
    Paton, N. (ed.): Active Rules in Database Systems. Springer, Heidelberg (1999)zbMATHGoogle Scholar
  54. 54.
    Pawlak, R., Seinturier, L., Duchien, L., Florin, G.: JAC: A Flexible Solution for Aspect-Oriented Programming in Java. In: Yonezawa, A., Matsuoka, S. (eds.) Reflection 2001. LNCS, vol. 2192, pp. 1–24. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  55. 55.
    Popovici, A., Gross, T., Alonso, G.: Dynamic Weaving for Aspect-Oriented Programming. In: Kiczales, G. (ed.) Proc. of AOSD. ACM Press, New York (2002)Google Scholar
  56. 56.
    Popovici, A., Gross, T., Alonso, G.: Just-in-Time Aspects. In: Proc. of AOSD. ACM Press, New York (2003)Google Scholar
  57. 57.
    PROSE Home Page, http://prose.ethz.ch/
  58. 58.
    Squeak Home Page, http://www.squeak.org/
  59. 59.
    Stonebraker, M., Jhingran, A., Goh, J., Potamianos, S.: On Rules, Procedures, Caching and Views in Data Base Systems. In: Garcia-Molina, H., Jagadish, H.V. (eds.) Proc. of ACM SIGMOD, Atlantic City, NJ, May 1990, pp. 281–290 (1990)Google Scholar
  60. 60.
    Sun Microsystems. Java 2 Enterprise Edition Platform Specification. Technical Report Version 1.3, Sun Microsystems, JavaSoftware (August 2001)Google Scholar
  61. 61.
    Walker, R.J., Murphy, G.C.: Joinpoints as Ordered Events: Towards Applying Implicit Context to Aspect-Orientation. In: Proceedings for Advanced Separation of Concerns Workshop (2001)Google Scholar
  62. 62.
    Wang, N., Parameswaran, K., Schmidt, D.: The design and performance of metaprogramming mechanism for object request broker middleware. In: Proc. of COOTS 2001 (January 2001)Google Scholar
  63. 63.
    Widom, J., Ceri, S. (eds.): Active Database Systems: Triggers and Rules for Advanced Database Processing. Morgan Kaufmann, San Francisco (1996)Google Scholar
  64. 64.
    Wohlstadter, E., Jackson, S., Devanbu, P.: DADO: Enhancing middleware to support cross-cutting features in distributed, heterogeneous systems. Technical report, Computer Science Dept., University of California at Davis (June 2003), http://macbeth.cs.ucdavis.edu/dado.pdf
  65. 65.
    Zhou, Y., Hsu, M.: A theory for rule triggering systems. In: Bancilhon, F., Tsichritzis, D.C., Thanos, C. (eds.) EDBT 1990. LNCS, vol. 416, pp. 407–421. Springer, Heidelberg (1990)CrossRefGoogle Scholar
  66. 66.
    Zimmermann, J., Buchmann, A.: REACH. In: Paton, N. [53], ch. 14, pp. 263–277 (1999)Google Scholar
  67. 67.
    Zimmer, D., Unland, R.: On the Semantics of Complex Events in Active Database Management Systems. In: Proc. of ICDE, Sydney, Australia, March 1999, pp. 392–399. IEEE Computer Society Press, Los Alamitos (1999)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Mariano Cilia
    • 1
  • Michael Haupt
    • 1
  • Mira Mezini
    • 1
  • Alejandro Buchmann
    • 1
  1. 1.Department of Computer ScienceDarmstadt University of TechnologyDarmstadtGermany

Personalised recommendations