Abstract
This thesis presents concepts, models and tools for the design and development<br />of software systems for the Everywhere Anytime Computing context. In fact, the technological<br />context of software systems is continuously evolving and nowadays the availability of small<br />communicating devices offers the opportunity to make the Everywhere, Anytime Computing<br />(EAC) a reality that naturally integrates our societies and economies. Up until now there<br />has not been an EAC solution that supports the many levels of design in a single framework.<br />This thesis produces such a framework that deals with: (i) the constraints of the communication<br />medium in terms of intermittence of the communications; (ii) the management of the<br />on-the-fly composition and decomposition of the software systems; (iii) the autonomy of the<br />software entities and systems; (iv) and the management of the interoperability of the open<br />systems. To answer the first three points, we have introduced an algebraic model of a deployment<br />environment holding the interacting and autonomous agents. This model is known as<br />Movement, Interaction, Calculus* (MIC*). The autonomy of the software agents is guaranteed<br />since MIC* preserves their structural integrity. The interaction scheme within MIC* is<br />persistent and timely uncoupled. Consequently, the intermittent nature of the communication<br />media does not affect drastically the functioning of the systems. Finally, thanks to the algebraic<br />modeling, the composition of MIC* deployment environments is formally specified and<br />concretely implemented. We have addressed the interoperability from a coordination point of<br />view. We propose a formalism to express coordination protocols as a graphs expressing the dependencies<br />on resources between the roles. Using this formalism, a formal link has been made,<br />using a rewriting system. Furthermore, using Queue Petri Nets we have offered a practical<br />mean to check the consistency between a coordination protocol and the conversations among<br />the agents. Finally, an engineering framework is proposed for the design and implementation<br />of applications within the AEC context as open artificial societies of autonomous agents. In<br />order to experiment with the suggested approaches, an AEC simulation platform has been<br />developed. The user can move within a virtual world where she/he can interact dynamically<br />with the services that are deployed.