A dynamic platform for runtime adaptation

We present a middleware platform for assembling pervasive applications that demand fault-tolerance and adaptivity in distributed, dynamic environments. Unlike typical adaptive middleware approaches, in which sophisticated component model semantics are embedded into an existing, underlying platform (e.g., CORBA, COM, EJB), we propose a platform that imposes minimal constraints for greater flexibility. Such a tradeoff is advantageous when the platform is targeted by automatic code generators that inherently enforce correctness by construction. Applications are written as simple, single-threaded programs that assemble and monitor a set of distributed components. The approach decomposes applications into two distinct layers: (1) a distributed network of interconnected modules performing computations, and (2) constructor logic that assembles that network via a simple block-diagram construction API. The constructor logic subsequently monitors the configured system via a stream of high-level events, such as notifications of resource availability or failures, and consequently provides a convenient, centralized location for reconfiguration and debugging. The component network is optimized for performance, while the construction API is optimized for ease of assembly.

[1]  Gordon S. Blair,et al.  An Efficient Component Model for the Construction of Adaptive Middleware , 2001, Middleware.

[2]  Thomas Ledoux,et al.  An Aspect-Oriented Approach for Developing Self-Adaptive Fractal Components , 2006, SC@ETAPS.

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

[4]  Roberto Ierusalimschy,et al.  Dynamic component gluing across different componentware systems , 1999, Proceedings of the International Symposium on Distributed Objects and Applications.

[5]  Klara Nahrstedt,et al.  A Middleware Infrastructure for Active Spaces , 2002, IEEE Pervasive Comput..

[6]  Bradley R. Schmerl,et al.  Rainbow: architecture-based self-adaptation with reusable infrastructure , 2004, International Conference on Autonomic Computing, 2004. Proceedings..

[7]  David Garlan,et al.  Specifying and Analyzing Dynamic Software Architectures , 1998, FASE.

[8]  Peter A. Dinda,et al.  An Extensible Toolkit for Resource Prediction In Distributed Systems , 1999 .

[9]  Hari Balakrishnan,et al.  Resilient overlay networks , 2001, SOSP.

[10]  David E. Culler,et al.  The nesC language: A holistic approach to networked embedded systems , 2003, PLDI.

[11]  David Notkin,et al.  ArchJava: connecting software architecture to implementation , 2002, ICSE '02.

[12]  David Garlan,et al.  Rainbow: architecture-based self-adaptation with reusable infrastructure , 2004 .

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

[14]  David Garlan,et al.  Project Aura: Toward Distraction-Free Pervasive Computing , 2002, IEEE Pervasive Comput..

[15]  Michael M. Gorlick,et al.  Using weaves for software construction and analysis , 1991, [1991 Proceedings] 13th International Conference on Software Engineering.

[16]  Michael Stonebraker,et al.  The Aurora and Medusa Projects , 2003, IEEE Data Eng. Bull..

[17]  A. Watson,et al.  OMG (Object Management Group) architecture and CORBA (common object request broker architecture) specification , 2002 .

[18]  Roy H. Campbell,et al.  ConChat: A Context-Aware Chat Program , 2002, IEEE Pervasive Comput..

[19]  Peyman Oreizy,et al.  An architecture-based approach to self-adaptive software , 1999, IEEE Intell. Syst..

[20]  David Levine,et al.  PICO: A Middleware Framework for Pervasive Computing , 2003, IEEE Pervasive Comput..

[21]  Umar Saif,et al.  Reducing configuration overhead with goal-oriented programming , 2006, Fourth Annual IEEE International Conference on Pervasive Computing and Communications Workshops (PERCOMW'06).

[22]  王志刚,et al.  Darwin Streaming server的研究与应用 , 2008 .

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

[24]  S RosenblumDavid,et al.  An Architecture-Based Approach to Self-Adaptive Software , 1999 .

[25]  Matt Welsh,et al.  Path Optimization in Stream-Based Overlay Networks , 2004 .

[26]  Ying Xing,et al.  Scalable Distributed Stream Processing , 2003, CIDR.

[27]  Thaís Vasconcelos Batista,et al.  Managing Dynamic Reconfiguration in Component-Based Systems , 2005, EWSA.

[28]  Michael Stonebraker,et al.  Fault-tolerance in the Borealis distributed stream processing system , 2005, SIGMOD '05.

[29]  Bo Li,et al.  CoolStreaming/DONet: a data-driven overlay network for peer-to-peer live media streaming , 2005, Proceedings IEEE 24th Annual Joint Conference of the IEEE Computer and Communications Societies..

[30]  Henk-Evert Sonder,et al.  The Microsoft .NET Framework , 2001 .

[31]  Richard N. Taylor,et al.  A Component- and Message-Based Architectural Style for GUI Software , 1995, 1995 17th International Conference on Software Engineering.

[32]  Bradley R. Schmerl,et al.  Software Architecture-Based Adaptation for Pervasive Systems , 2002, ARCS.

[33]  Qiang Chen,et al.  Aurora : a new model and architecture for data stream management ) , 2006 .

[34]  Umar Saif,et al.  Structured Decomposition of Adaptive Applications , 2008, 2008 Sixth Annual IEEE International Conference on Pervasive Computing and Communications (PerCom).

[35]  Thierry Coupaye,et al.  Recursive and Dynamic Software Composition with Sharing , 2002 .

[36]  Gregor Schiele,et al.  PCOM - a component system for pervasive computing , 2004, Second IEEE Annual Conference on Pervasive Computing and Communications, 2004. Proceedings of the.

[37]  Mira Mezini,et al.  On aspectualizing component models , 2003, Softw. Pract. Exp..

[38]  Romain Rouvoy,et al.  Self-Adaptive Component-based transaction Commit Management , 2005, ARM '05.

[39]  Valérie Issarny,et al.  Aster: a framework for sound customization of distributed runtime systems , 1996, Proceedings of 16th International Conference on Distributed Computing Systems.

[40]  Ying Xing,et al.  The Design of the Borealis Stream Processing Engine , 2005, CIDR.

[41]  Mark W. Newman,et al.  Using speakeasy for ad hoc peer-to-peer collaboration , 2002, CSCW '02.

[42]  Armando Fox,et al.  The Event Heap: a coordination infrastructure for interactive workspaces , 2002, Proceedings Fourth IEEE Workshop on Mobile Computing Systems and Applications.

[43]  G. Weikum Querying the Internet with PIER , 2005 .

[44]  Nayeem Islam,et al.  Dynamically Programmable and Reconfigurable Middleware Services , 2004, Middleware.

[45]  David Garlan,et al.  Acme: architectural description of component-based systems , 2000 .

[46]  Gabriele Taentzer,et al.  Dynamic accommodation of change: automated architecture configuration of distributed systems , 1999, 14th IEEE International Conference on Automated Software Engineering.

[47]  Jeff Magee,et al.  Self-organising software architectures for distributed systems , 2002, WOSS '02.

[48]  Gordon S. Blair,et al.  An architecture for next generation middleware , 2009 .

[49]  Stephen S. Yau,et al.  An Adaptive Middleware for Context-Sensitive Communications for Real-Time Applications in Ubiquitous Computing Environments , 2004, Real-Time Systems.

[50]  Michael H. Coen,et al.  Meeting the Computational Needs of Intelligent Environments: The Metaglue System , 2000 .

[51]  Peter Steenkiste,et al.  Network-Sensitive Service Discovery , 2003, Journal of Grid Computing.

[52]  Gregor Schiele,et al.  BASE - a micro-broker-based middleware for pervasive computing , 2003, Proceedings of the First IEEE International Conference on Pervasive Computing and Communications, 2003. (PerCom 2003)..

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

[54]  Michael Stumm,et al.  Supporting hot-swappable components for system software , 2001, Proceedings Eighth Workshop on Hot Topics in Operating Systems.

[55]  Morris Sloman,et al.  Constructing Distributed Systems in Conic , 1989, IEEE Trans. Software Eng..

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