Design and Implementation of the Rebeca Publish/Subscribe Middleware

  • Helge Parzyjegla
  • Daniel Graff
  • Arnd Schröter
  • Jan Richling
  • Gero Mühl
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6462)


Publish/subscribe is used increasingly often as a communication mechanism in loosely-coupled distributed applications. Research and product development have focused mostly on efficiency issues and neglected methodological support to build concrete middleware implementations so far. In this paper, we present the novel design of the Rebeca publish/subscribe middleware that is based on the experience gained with previous versions. As basic design concept, we focus on a modular pipeline architecture that is built around a minimal, but extendable publish/subscribe core. With respect to modularity, we employ the concept of features that are well-defined aspects of a software system’s functionality, encapsulated in pluggable modules, and, thereby, facilitate a separation of concerns. We address the composition of features and show how this is realized in Rebeca’s pipeline architecture with independently working plugins that can influence passing messages in three dedicated stages.


Discrete Event Simulation Feature Composition Functional Modularity Overlay Link Message Stream 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bornhövd, C., Cilia, M., Liebig, C., Buchmann, A.: An infrastructure for meta-auctions. In: Proceedings of the 2nd International Workshop on Advanced Issues of E-Commerce and Web-Based Information Systems, pp. 21–30. IEEE Computer Society, Los Alamitos (2000)Google Scholar
  2. 2.
    Cugola, G., Picco, G.P.: Reds: A reconfigurable dispatching system. In: Proceedings of the 6th International Workshop on Software Engineering and Middleware (SEM 2006), pp. 9–16. ACM Press, New York (2006)CrossRefGoogle Scholar
  3. 3.
    Fidler, E., Jacobsen, H.A., Li, G., Mankovski, S.: The padres distributed publish/subscribe system. In: Proceedings of the 8th International Conference on Feature Interactions in Telecommunications and Software Systems (ICFI 2005), pp. 12–30. IOS Press, The Netherlands (2005)Google Scholar
  4. 4.
    Fiege, L.: Visibility in Event-Based Systems. Ph.d. thesis, Technische Universität Darmstadt, Darmstadt, Germany (April 2005)Google Scholar
  5. 5.
    Fiege, L., Cilia, M., Mühl, G., Buchmann, A.: Publish/subscribe grows up: Support for management, visibility control, and heterogeneity. IEEE Internet Computing 10(1), 48–55 (2006)CrossRefGoogle Scholar
  6. 6.
    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
  7. 7.
    Friedman-Hill, E.: Jess in Action: Rule-Based Systems in Java. Manning Publications, Greenwich (June 2003)Google Scholar
  8. 8.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Boston (1995)zbMATHGoogle Scholar
  9. 9.
    Intanagonwiwat, C., Govindan, R., Estrin, D.: Directed diffusion: a scalable and robust communication paradigm for sensor networks. In: Proceedings of the 6th Annual International Conference on Mobile Computing and Networking (MobiCom 2000), pp. 56–67. ACM Press, New York (2000)Google Scholar
  10. 10.
    Jaeger, M.A., Mühl, G., Werner, M., Parzyjegla, H.: Reconfiguring self-stabilizing publish/subscribe systems. In: State, R., van der Meer, S., O’Sullivan, D., Pfeifer, T. (eds.) DSOM 2006. LNCS, vol. 4269, pp. 233–238. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  11. 11.
    Jaeger, M.A., Parzyjegla, H., Mühl, G., Herrmann, K.: Self-organizing broker topologies for publish/subscribe systems. In: SAC 2007, pp. 543–550. ACM Press, New York (2007)CrossRefGoogle Scholar
  12. 12.
    Li, G., Muthusamy, V., Jacobsen, H.A.: A distributed service-oriented architecture for business process execution. ACM Transactions on the Web 4(1), 1–33 (2010)CrossRefGoogle Scholar
  13. 13.
    Love, R.: Get on the d-bus. Linux Journal 2005(130), 3 (2005)Google Scholar
  14. 14.
    Luckham, D.C.: The Power of Events: An Introduction to Complex Event Processing in Distributed Enterprise Systems. Addison-Wesley Longman Publishing Co., Boston (2001)Google Scholar
  15. 15.
    Mühl, G., Fiege, L., Gärtner, F.C., Buchmann, A.P.: Evaluating advanced routing algorithms for content-based publish/subscribe systems. In: Proceedings of the 10th IEEE International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunications Systems (MASCOTS 2002), pp. 167–176. IEEE Computer Society, Los Alamitos (2002)CrossRefGoogle Scholar
  16. 16.
    Mühl, G., Fiege, L., Pietzuch, P.R.: Distributed Event-Based Systems. Springer, Heidelberg (2006)zbMATHGoogle Scholar
  17. 17.
    Mühl, G., Ulbrich, A., Herrmann, K., Weis, T.: Disseminating information to mobile clients using publish-subscribe. IEEE Internet Computing 8(3), 46–53 (2004)CrossRefGoogle Scholar
  18. 18.
    Mark Jelasity, A.M., Jesi, G.P., Voulgaris, S.: PeerSim: A peer-to-peer simulator,
  19. 19.
    Object Management Group (OMG): Data distribution service for real-time systems (DDS), version 1.2 (January 2007)Google Scholar
  20. 20.
    Organization for the Advancement of Structured Information Standards (OASIS): Web services notification (WSN), version 1.3. Billerica, MA, USA (October 2006)Google Scholar
  21. 21.
    Parzyjegla, H., Jaeger, M.A., Mühl, G., Weis, T.: Model-driven development and adaptation of autonomous control applications. IEEE Distributed Systems Online 9(11), 1–9 (2008)CrossRefGoogle Scholar
  22. 22.
    Parzyjegla, H., Mühl, G., Jaeger, M.A.: Reconfiguring publish/subscribe overlay topologies. In: Proceedings of the 26th IEEE International Conference on Distributed Computing Systems Workshops (ICDCSW 2006), p. 29. IEEE Computer Society, Los Alamitos (2006)Google Scholar
  23. 23.
    Pietzuch, P., Eyers, D., Kounev, S., Shand, B.: Towards a common api for publish/subscribe. In: Proceedings of the Inaugural Conference on Distributed Event-Based Systems, pp. 152–157. ACM, New York (2007)Google Scholar
  24. 24.
    Richling, J.: Komponierbarkeit eingebetteter Echtzeitsysteme. Ph.D. thesis, Humboldt-Universität zu Berlin, Berlin, Germany (February 2006)Google Scholar
  25. 25.
    Schönherr, J.H., Parzyjegla, H., Mühl, G.: Clustered publish/subscribe in wireless actuator and sensor networks. In: Proceedings of the 6th International Workshop on Middleware for Pervasive and Ad-hoc Computing (MPAC 2008), pp. 60–65. ACM Press, New York (2008)CrossRefGoogle Scholar
  26. 26.
    Schröter, A., Graff, D., Mühl, G., Richling, J., Parzyjegla, H.: Self-optimizing hybrid routing in publish/subscribe systems. In: Gonzalez, A., Pfeifer, T. (eds.) DSOM 2009. LNCS, vol. 5841, pp. 111–122. Springer, Heidelberg (2009)Google Scholar
  27. 27.
    Schröter, A., Mühl, G., Kounev, S., Parzyjegla, H., Richling, J.: Stochastic performance analysis and capacity planning of publish/subscribe systems. In: Proceedings of the 4th ACM International Conference on Distributed Event-Based Systems (DEBS 2010), ACM Press, New York (2010)Google Scholar
  28. 28.
    Sun Microsystems, Inc.: Java management extensions (JMX) specification, version 1.4. Santa Clara, CA, USA (November 2006)Google Scholar
  29. 29.
    Ulbrich, A., Mühl, G., Weis, T., Geihs, K.: Programming abstractions for content-based publish/subscribe in object-oriented languages. In: Meersman, R., Tari, Z. (eds.) OTM 2004. LNCS, vol. 3291, pp. 1538–1557. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  30. 30.
    World Wide Web Consortium (W3C): Web services eventing (WS-Eventing) (March 2010),
  31. 31.
    Zeidler, A., Fiege, L.: Mobility support with REBECA. In: Proceedings of the 23rd International Conference on Distributed Computing Systems Workshops (ICDCSW 2003), pp. 354–361. IEEE Computer Society, Los Alamitos (2003)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Helge Parzyjegla
    • 1
  • Daniel Graff
    • 1
  • Arnd Schröter
    • 1
  • Jan Richling
    • 1
  • Gero Mühl
    • 2
  1. 1.Communication and Operating Systems GroupBerlin Institute of TechnologyGermany
  2. 2.Architecture of Application Systems GroupUniversity RostockGermany

Personalised recommendations