WComp middleware for ubiquitous computing: Aspects and composite event-based Web services

After a survey of the specific features of ubiquitous computing applications and corresponding middleware requirements, we list the various paradigms used in the main middlewares for ubiquitous computing in the literature. We underline the lack of works introducing the use of the concept of Aspects in middleware dedicated to ubiquitous computing, in spite of them being used for middleware improvement in other domains. Then, we introduce our WComp middleware model, which federates three main paradigms: event-based Web services, a lightweight component-based approach to design dynamic composite services, and an adaptation approach using the original concept called Aspect of Assembly. These paradigms lead to two ways to dynamically design ubiquitous computing applications. The first implements a classical component-based compositional approach to design higher-level composite Web Services and then allow to increment the graph of cooperating services for the applications. This approach is well suited to design the applications in a known, common, and usual context. The second way uses a compositional approach for adaptation using Aspect of Assembly, particularly well-suited to tune a set of composite services in reaction to a particular variation of the context or changing preferences of the users. Having detailed Aspect of Assembly concept, we finally comment on results indicating the expressiveness and the performance of such an approach, showing empirically that principles of aspects and program integration can be used to facilitate the design of adaptive applications.

[1]  Wouter Joosen,et al.  True and Transparent Distributed Composition of Aspect-Components , 2006, Middleware.

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

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

[4]  Jim Waldo,et al.  The Jini Specification , 1999 .

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

[6]  Michel Riveill,et al.  Optimized contextual discovery of Web Services for Devices , 2007, 2007 2nd International Conference on Digital Information Management.

[7]  Gordon S. Blair,et al.  A component model for building systems software , 2004, IASTED Conf. on Software Engineering and Applications.

[8]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[9]  Thierry Coupaye,et al.  A Model for Developing Component-Based and Aspect-Oriented Systems , 2006, SC@ETAPS.

[10]  Thierry Coupaye,et al.  A Component Model Engineered with Components and Aspects , 2006, CBSE.

[11]  Jack Weast,et al.  UPnP Design by Example: A Software Developer's Guide to Universal Plug and Play , 2003 .

[12]  Gregor Kiczales,et al.  Aspect-oriented programming , 1996, CSUR.

[13]  Keith Cheverst,et al.  CORTEX: Towards Supporting Autonomous and Cooperating Sentient Objects , 2002 .

[14]  David Garlan,et al.  Toward Distraction-Free Pervasive Computing , 2002 .

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

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

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

[18]  Mark Weiser The computer for the 21st century , 1991 .

[19]  Michel Riveill,et al.  Self-adaptation of event-driven component-oriented middleware using aspects of assembly , 2007, MPAC '07.

[20]  Mourad Oussalah,et al.  Adapting software components by structure fragmentation , 2006, SAC '06.

[21]  Kalle Lyytinen,et al.  Issues and Challenges in Ubiquitous Computing , 2002 .

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

[23]  Juhani Latvakoski,et al.  Survey of requirements and solutions for ubiquitous software , 2004, MUM '04.

[24]  Gordon S. Blair,et al.  Cooperating sentient vehicles for next generation automobiles , 2004 .

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

[26]  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).

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

[28]  Rüdiger Kapitza,et al.  AOCI : An Aspect-Oriented Component Infrastructure , 2007 .

[29]  Klara Nahrstedt,et al.  Gaia: A Middleware Infrastructure to Enable Active Spaces1 , 2002 .

[30]  D. Marples,et al.  The Open Services Gateway Initiative: an introductory overview , 2001, IEEE Commun. Mag..

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

[32]  Günter Kniesel,et al.  Uniform Genericity for Aspect Languages , 2004 .

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

[34]  Jan Koch,et al.  DoAmI-A Middleware Platform facilitating ( Re-) configuration in Ubiquitous Systems , 2006 .

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

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

[37]  Michel Riveill,et al.  SLCA, composite services for ubiquitous computing , 2008, Mobility '08.