DREAM: a component framework for the construction of resource-aware, reconfigurable MOMs

In this paper, we present Dream, a component-based software framework for the construction of resource-aware message-oriented middleware that can be assembled statically or dynamically. Dream is based on Fractal, a recent component model featuring hierarchical composition, component sharing and component binding. Dream allows building different forms of message-oriented middleware, from distributed message queues to content-based publish/subscribe systems. This paper describes the main elements of the Dream framework, discusses its implementation, and evaluates its effectiveness. We show that message-oriented middleware built using Dream compare very favorably with non-configurable, functionally equivalent middleware, while allowing finer-grain control over resource consumptions and providing run-time configurability.

[1]  David E. Culler,et al.  SEDA: an architecture for well-conditioned, scalable internet services , 2001, SOSP.

[2]  Robbert van Renesse,et al.  Astrolabe: A robust and scalable technology for distributed system monitoring, management, and data mining , 2003, TOCS.

[3]  Luc Bellissard,et al.  An agent platform for reliable asynchronous distributed programming , 1999, Proceedings of the 18th IEEE Symposium on Reliable Distributed Systems.

[4]  Gordon S. Blair,et al.  The Design of a Resource-Aware Reflective Middleware Architecture , 1999, Reflection.

[5]  David E. Culler,et al.  An architecture for highly concurrent, well-conditioned internet services , 2002 .

[6]  Jay Lepreau,et al.  The Flux OSKit: a substrate for kernel and language research , 1997, SOSP.

[7]  Y. Lacasse,et al.  From the authors , 2005, European Respiratory Journal.

[8]  Matti A. Hiltunen,et al.  Coyote: a system for constructing fine-grain configurable communication services , 1998, TOCS.

[9]  Fabio Kon,et al.  Monitoring, Security, and Dynamic Configuration with the dynamicTAO Reflective ORB , 2000, Middleware.

[10]  Eddie Kohler,et al.  The Click modular router , 1999, SOSP.

[11]  Sacha Krakowiak,et al.  Preserving Causality in a Scalable Message-Oriented Middleware , 2001, Middleware.

[12]  Luís E. T. Rodrigues,et al.  Appia, a flexible protocol kernel supporting multiple coordinated channels , 2001, Proceedings 21st International Conference on Distributed Computing Systems.

[13]  Thierry Coupaye,et al.  An Open Component Model and Its Support in Java , 2004, CBSE.

[14]  David S. Rosenblum,et al.  Design and evaluation of a wide-area event notification service , 2001, TOCS.

[15]  Peter Buneman,et al.  Theoretical Aspects of Object-Oriented Programming , 1994 .

[16]  Christopher D. Gill,et al.  Comparing and contrasting adaptive middleware support in wide-area and embedded distributed object applications , 2001, Proceedings 21st International Conference on Distributed Computing Systems.

[17]  Didier Rémy,et al.  Typing record concatenation for free , 1992, POPL '92.

[18]  Guruduth Banavar,et al.  Gryphon: An Information Flow Based Approach to Message Brokering , 1998, ArXiv.

[19]  Didier Rémy,et al.  Type inference for records in natural extension of ML , 1994 .

[20]  Guruduth Banavar,et al.  A Case for Message Oriented Middleware , 1999, DISC.

[21]  Gordon S. Blair,et al.  The Design and Implementation of Open ORB 2 , 2001, IEEE Distributed Syst. Online.

[22]  Anne-Marie Kermarrec,et al.  The many faces of publish/subscribe , 2003, CSUR.

[23]  Eric Eide,et al.  Knit: component composition for systems software , 2000, OSDI.

[24]  David E. Culler,et al.  SEDA: An Architecture for Scalable, Well-Conditioned Internet Services , 2001 .

[25]  Gordon S. Blair,et al.  The case for reflective middleware , 2002, CACM.

[26]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[27]  Israel Ben-Shaul,et al.  Dynamic Adaptation and Deployment of Distributed Components In Hadas , 2001, IEEE Trans. Software Eng..