The SATIN Component System-A Metamodel for Engineering Adaptable Mobile Systems

Mobile computing devices, such as personal digital assistants and mobile phones, are becoming increasingly popular, smaller, and more capable. We argue that mobile systems should be able to adapt to changing requirements and execution environments. Adaptation requires the ability-to reconfigure the deployed code base on a mobile device. Such reconfiguration is considerably simplified if mobile applications are component-oriented rather than monolithic blocks of code. We present the SATIN (system adaptation targeting integrated networks) component metamodel, a lightweight local component metamodel that offers the flexible use of logical mobility primitives to reconfigure the software system by dynamically transferring code. The metamodel is implemented in the SATIN middleware system, a component-based mobile computing middleware that uses the mobility primitives defined in the metamodel to reconfigure both itself and applications that it hosts. We demonstrate the suitability of SATIN in terms of lightweightedness, flexibility, and reusability for the creation of adaptable mobile systems by using it to implement, port, and evaluate a number of existing and new applications, including an active network platform developed for satellite communication at the European space agency. These applications exhibit different aspects of adaptation and demonstrate the flexibility of the approach and the advantages gained

[1]  S. Zachariadis,et al.  Adapting mobile systems using logical mobility primitives , 2005 .

[2]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[3]  Atul Prakash,et al.  Developing adaptive groupware applications using a mobile component framework , 2000, CSCW '00.

[4]  Jim Waldo,et al.  The Jini architecture for network-centric computing , 1999, CACM.

[5]  Adam Dunkels,et al.  Contiki - a lightweight and flexible operating system for tiny networked sensors , 2004, 29th Annual IEEE International Conference on Local Computer Networks.

[6]  Ian Murdock,et al.  Overview of the Debian GNU/Linux System , 1994 .

[7]  Licia Capra,et al.  Engineering human trust in mobile system collaborations , 2004, SIGSOFT '04/FSE-12.

[8]  Richard S. Hall,et al.  Beanome: A Component Model for the OSGi Framework , 2002 .

[9]  Robert Grimm,et al.  A system architecture for pervasive computing , 2000, ACM SIGOPS European Workshop.

[10]  Mahadev Satyanarayanan Accessing information on demand at any location. Mobile information access , 1996, IEEE Wirel. Commun..

[11]  Gian Pietro Picco µCODE: A Lightweight and Flexible Mobile Code Toolkit , 1998, Mobile Agents.

[12]  Richard Mark Soley,et al.  Object Management Architecture Guide , 1993 .

[13]  Richard S. Hall,et al.  Autonomous adaptation to dynamic availability using a service-oriented component model , 2004, Proceedings. 26th International Conference on Software Engineering.

[14]  Richard S. Hall,et al.  A cooperative approach to support software deployment using the Software Dock , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[15]  G.S. Blair,et al.  Middleware awareness in mobile computing , 2003, 23rd International Conference on Distributed Computing Systems Workshops, 2003. Proceedings..

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

[17]  Chang Jun CORBA Component Model , 2003 .

[18]  Cecilia Mascolo,et al.  Principles of Mobile Computing Middleware , 2005 .

[19]  Amy L. Murphy,et al.  LIME: a middleware for physical and logical mobility , 2001, Proceedings 21st International Conference on Distributed Computing Systems.

[20]  Gerardo Pardo-Castellote,et al.  OMG Data-Distribution Service: architectural overview , 2003, 23rd International Conference on Distributed Computing Systems Workshops, 2003. Proceedings..

[21]  Wolfgang Emmerich,et al.  Engineering Distributed Objects , 2000, Lecture Notes in Computer Science.

[22]  Cecilia Mascolo,et al.  Q-CAD: QoS and context aware discovery framework for mobile systems , 2005, ICPS '05. Proceedings. International Conference on Pervasive Services, 2005..

[23]  Marija Mikic-Rakic,et al.  Architecture-Level Support for Software Component Deployment in Resource Constrained Environments , 2002, Component Deployment.

[24]  Gian Pietro Picco,et al.  Peer-to-peer for collaborative applications , 2002, Proceedings 22nd International Conference on Distributed Computing Systems Workshops.

[25]  June Power Distributed systems and self-organization , 1990, CSC '90.

[26]  Cecilia Mascolo,et al.  Satin: A Component Model for Mobile Self Organisation , 2004, CoopIS/DOA/ODBASE.

[27]  Gian Pietro Picco,et al.  Understanding code mobility , 1998, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[28]  Fabio Kon,et al.  Reflective Middleware: From Your Desk to Your Hand , 2001, IEEE Distributed Syst. Online.

[29]  Cecilia Mascolo,et al.  Q-CAD: QoS and Context Aware Discovery framework for adaptive mobile systems , 2005 .

[30]  G.J. Minden,et al.  A survey of active network research , 1997, IEEE Communications Magazine.

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

[32]  Israel Ben-Shaul,et al.  A programming model and system support for disconnected-aware applications on resource-constrained devices , 2002, ICSE '02.

[33]  R. Sietmann,et al.  UNIVERSAL PLUG AND PLAY , 1999 .

[34]  Marvin V. Zelkowitz,et al.  Experimental validation in software engineering , 1997, Inf. Softw. Technol..

[35]  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.