Programming Abstractions for Content-Based Publish/Subscribe in Object-Oriented Languages

  • Andreas Ulbrich
  • Gero Mühl
  • Torben Weis
  • Kurt Geihs
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3291)


Asynchronous event-based communication facilitates loose coupling and eases the integration of autonomous, heterogeneous components into complex systems. Many middleware platforms for event-based communication follow the publish/subscribe paradigm. Despite the usefulness of such systems, their programming support is currently limited. Usually, publish/subscribe systems only exhibit low-level programming abstractions to application developers. In this paper we investigate programming abstractions for content-based publish/subscribe middleware in object-oriented languages, how they can be integrated in applications, and their implications on middleware implementation. We focus on the definition of filters and their implementation, the handling of notifications and meta-data, and programming support for composite events. We have implemented the presented approach for our content-based publish/subscribe middleware Rebeca.


content-based publish/subscribe middleware programming abstractions composite events 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Benton, N., Cardelli, L., Fournet, C.: Modern concurrency abstractions for C#. In: Magnusson, B. (ed.) ECOOP 2002. LNCS, vol. 2374, p. 415. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  2. 2.
    Buchmann, A.P.: Architecture of active database systems. In: Paton, N.W. (ed.) Active Rules in Database Systems. ch. 2, pp. 29–48. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  3. 3.
    Buchmann, A.P., Deutsch, A., Zimmermann, J., Higa, M.: The reach active oodbms. In: ACM (ed.) Proceedings of the 1995 ACM SIGMOD International Conference on Management of Data, San Jose, California, May 23-25. SIGMOD Record (ACM Special Interest Group on Management of Data), vol. 24(2), pp. 476–476. ACM Press, New York (1995)CrossRefGoogle Scholar
  4. 4.
    Carzaniga, A.: Architectures for an Event Notification Service Scalable to Wide-area Networks. PhD thesis, Politecnico di Milano, Milano, Italy (December 1998)Google Scholar
  5. 5.
    Carzaniga, A., Rosenblum, D.S., Wolf, A.L.: Design and evaluation of a wide-area event notification service. ACM Transactions on Computer Systems 19(3), 332–383 (2001)CrossRefGoogle Scholar
  6. 6.
    Carzaniga, A., Wolf, A.L.: Content-based networking: A new communication infrastructure. In: NSF Workshop on an Infrastructure for Mobile and Wireless Systems, Scottsdale, AZ, USA (October 2001)Google Scholar
  7. 7.
    Chakravarthy, S., Mishra, D.: Snoop: An Expressive Event Specification Language for Active Databases. Data and Knowledge Engineering 14(1), 1–26 (1994)CrossRefGoogle Scholar
  8. 8.
    Courtenage, S.: Specifying and detecting composite events in content-based publish/subscribe systems. In: Bacon, J., Fiege, L., Mühl, G., Guerraoui, R., Jacobsen, A. (eds.) In Proceedings of the 1st International Workshop on Distributed Event-Based Systems, DEBS 2002 (2002)Google Scholar
  9. 9.
    Eugster, P.T., Guerraoui, R.: Content-based publish/subscribe with structural reflection. In: 6th USENIX Conference on Object-Oriented Technologies and Systems, COOTS 2001 (2001)Google Scholar
  10. 10.
    Eugster, P.T., Guerraoui, R., Damm, C.H.: On objects and events. In: Northrop, L., Vlissides, J. (eds.) Proceedings of the OOPSLA 2001 Conference on Object Oriented Programming Systems Languages and Applications, Tampa Bay, FL, USA, pp. 254–269. ACM Press, New York (2001)Google Scholar
  11. 11.
    Fiege, L., Mezini, M., Mühl, G., Buchmann, A.P.: Engineering event-based systems with scopes. In: Magnusson, B. (ed.) ECOOP 2002. LNCS, vol. 2374, pp. 309–333. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  12. 12.
    Fournet, C., Gonthier, G.: Applied Semantics: Advanced Lectures, chapter The Join Calculus: A Language for Distributed Mobile Programming. In: Barthe, G., Dybjer, P., Pinto, L., Saraiva, J. (eds.) APPSEM 2000. LNCS, vol. 2395, pp. 268–332. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  13. 13.
    Gatziu, S., Dittrich, K.R.: Events in an Active Object-Oriented Database System. In: Proceedings of the 1st International Workshop on Rules in Database Systems, Workshops in Computing, pp. 23–29. Springer, Heidelberg (1993)Google Scholar
  14. 14.
    Gatziu, S., Dittrich, K.R.: Detecting Composite Events in Active Databases Using Petri Nets. In: Proceedings of the 4th International Workshop on Research Issues in Data Engineering - Active Database Systems, pp. 2–9 (1994)Google Scholar
  15. 15.
    IBM. Gryphon: Publish/subscribe over public networks. Technical report, IBM T.J. Watson Research Center (2001) Google Scholar
  16. 16.
    IBM. Publish-subscribe notification for Web services. Whitepaper (2004) Google Scholar
  17. 17.
    Lamport, L.: Time, Clocks, and the Ordering of Events in a Distributed Environment. Communications of the ACM 21, 558–564 (1978)zbMATHCrossRefGoogle Scholar
  18. 18.
    Liebig, C., Cilia, M., Buchmann, A.: Event composition in time-dependent distributed systems. In: Proceedings of the 4th Intl. Conference on Cooperative Information Systems (CoopIS (September 1999)Google Scholar
  19. 19.
    Ma, C., Bacon, J.: COBEA: A CORBA-based event architecture. In: Sventek, J. (ed.) Proceedings of the 4th Conference on Object-Oriented Technologies and Systems (COOTS 1998), Santa Fe, NM, USA. USENIX Association, pp. 117–132 (1998)Google Scholar
  20. 20.
    Meyer, B.: The power of abstraction, reuse, and simplicity: an object-oriented library for event-driven design. In: Owe, O. (ed.) Festschrift in Honor of Ole-Johahn Dahl. LNCS, vol. 2635, Springer, Heidelberg (2003)Google Scholar
  21. 21.
    Mühl, G.: Large-Scale Content-Based Publish/Subscribe Systems. PhD thesis, Darmstadt University of Technology (2002),
  22. 22.
    Mühl, G., Ulbrich, A.: RebecaNET/CF,
  23. 23.
    Newkirk, J., Vorontsov, A.A.: How.NETs custom attributes affect design. IEEE Software, 44–55 (September/October 2002)Google Scholar
  24. 24.
    Object Management Group. Corba notification service. OMG Document telecom/99-07-01 (1999) Google Scholar
  25. 25.
    Pietzuch, P.R., Shand, B., Beacon, J.: Composite event detection as a generic middleware extension. IEEE Network, 44–55 (January/February 2004)Google Scholar
  26. 26.
    Rammer, I.: Advanced .NET Remoting. A’Press, New York (2002)Google Scholar
  27. 27.
    Schwiderski, S.: Monitoring the behaviour of distributed systems. PhD thesis, University of Cambridge (April 1996)Google Scholar
  28. 28.
    Segall, B., Arnold, D., Boot, J., Henderson, M., Phelps, T.: Content based routing with elvin4. In: Proceedings AUUG2K, Canberra, Australia (June 2000)Google Scholar
  29. 29.
    Sun Microsystems, Inc. Java Message Service (JMS) Specification 1.1 (2002)Google Scholar
  30. 30.
    Ulbrich, A., Weis, T., Geihs, K.: QoS mechanism composition at design-time and runtime. In: Workshop on Distributed Auto-adaptive Reconfigurable Systems (DARES) - International Conference on Distributed Computing Systems (ICDCS), Providence, Rhode Island, pp. 118–125. IEEE, Los Alamitos (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Andreas Ulbrich
    • 1
  • Gero Mühl
    • 1
  • Torben Weis
    • 1
  • Kurt Geihs
    • 1
  1. 1.Berlin University of TechnologyiVS Intelligent Networks and Distributed SystemsBerlinGermany

Personalised recommendations