Self-adaptation of event-driven component-oriented middleware using aspects of assembly

Pervasive devices are becoming popular and smaller. Those mobile systems should be able to adapt to changing requirements and execution environments. But it requires the ability to reconfigure deployed codes, which is considerably simplified if applications are component-oriented rather than monolithic blocks of codes. So, we propose a middleware called WComp which federates an event-driven component-oriented approach to compose distributed services for devices. This approach is coupled with adaptation mechanisms dealing with separation of concerns. In such mechanisms, aspects (called Aspects of Assembly) are selected either by the user or by a self-adaptive process and composed by a weaver with logical merging of high-level specifications. The result of the weaver is then projected in terms of pure elementary modifications of components assemblies with respect to blackbox properties of COTS components. Our approach is validated by analyzing the results of different experiments drawn from sets of application configurations randomly generated and by showing its advantages while evaluating the additional costs on the reaction time to context changing.

[1]  Marcus Handte,et al.  Customizable pervasive applications , 2006, Fourth Annual IEEE International Conference on Pervasive Computing and Communications (PERCOM'06).

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

[3]  Ian Wakeman,et al.  Composing software services in the pervasive computing environment: Languages or APIs? , 2008, Pervasive Mob. Comput..

[4]  Stephen Hailes,et al.  MACE: adaptive component management middleware for ubiquitous systems , 2006, MPAC '06.

[5]  Roy Want,et al.  Bridging physical and virtual worlds with electronic tags , 1999, CHI '99.

[6]  Cecilia Mascolo,et al.  The SATIN Component System-A Metamodel for Engineering Adaptable Mobile Systems , 2006, IEEE Transactions on Software Engineering.

[7]  Kevin Lee,et al.  OpenCOM v2: A Component Model for Building Systems Software , 2004 .

[8]  Michel Riveill,et al.  Wcomp: a Multi-Design Approach for Prototyping Applications using Heterogeneous Resources , 2006, Seventeenth IEEE International Workshop on Rapid System Prototyping (RSP'06).

[9]  Jim Dowling,et al.  Self-managed decentralised systems using K-components and collaborative reinforcement learning , 2004, WOSS '04.

[10]  Gordon S. Blair,et al.  Models, reflective mechanisms and family-based systems to support dynamic configuration , 2006, MODDM '06.

[11]  Michel Riveill,et al.  Software interactions , 2004, J. Object Technol..

[12]  M. Weiser The Computer for the Twenty-First Century , 1991 .

[13]  Jeffrey O. Kephart,et al.  Research challenges of autonomic computing , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[14]  Alfred V. Aho,et al.  The awk programming language , 1988 .

[15]  Bill N. Schilit,et al.  Disseminating active map information to mobile hosts , 1994, IEEE Network.