J. Indulska and K. Raymond (Eds.): DAIS 2007, LNCS 4531, pp. 48–61, 2007. © IFIP International Federation for Information Processing 2007 Observability and Controllability of Wireless Software Components Fabien Romeo, Franck Barbier, and Jean-Michel Bruel LIUPPA, Université de Pau et des Pays de l'Adour Av. de l’Université, B.P. 1155, F-64013 PAU - France fabien.romeo@univ-pau.fr, franck.barbier@franckbarbier.com, jean-michel.bruel@univ-pau.fr Abstract. Software components embedded in wireless devices are subject to behavior which cannot be fully and realistically predicted. This calls for a runtime management infrastructure that is able to observe and control the com- ponents’ states and to make their behaviors explicit, tangible and under- standable, in any case and at any time. In this paper, we propose a framework for remotely administrating the functional behavior of software components deployed on wireless nodes. This framework is based on components which are locally managed by internal managers on the wireless side. The controllable nature of components relies on executable UML models that persist at runtime. On the administration side, models are replicated and synchronized with the models that constitute the inner workings of the wireless components. 1 Introduction Component-based development is a challenging topic in the area of ubiquitous sys- tems. More particularly, this is illustrated by research on specialized component models (e.g., pect [1], koala [2], pecos [3], beanome [4] or frogi [5]) which them- selves may support composition techniques that are specific to ubiquitous systems. Many studies have shown that embedded system developers expect better analysis supports of software behavior. Better testability and debuggability are among these major requirements [6, 7]. Component-based development may be seen as a break- through with respect to this topic. Indeed, building software by means of components enables the identification and the setup of deployment properties. As for the compositions of components, they may express links which may reflect wireless infrastructures in a structured and logical way. If one has at one’s disposal an appropriate formalism to design the inside of components (implementation) and the outside (interfaces and their dependencies embodying compositions), runtime management may benefit from this formalism. More specifically, this concerns the executable component/composition behavior models that result from using this formalism. Therefore, models act as tracking and monitoring supports. In the area of ubiquitous systems, mastering deployment conditions includes overcoming some stumbling blocks. Instable communication connections that may be broken, damaged modes are frequent, runtime environments/infrastructures are mobile