The usual scenario of service oriented systems is characterized by several services offering the same functionalities, by new services that are continuosly deployed and by other ones that are removed. In this context it can be useful to dynamically discover and compose services at runtime. Orchestration languages provide a mean to deal with service composition, while the problem of fulfilling at runtime the information about the involved services is usually referred to as open-endedness. When designing service-based applications both composition and open endedness play a central role. Such issues are strongly related to mobility mechanisms which make it possible to design applications that acquire, during the execution, the information which are necessary to invoke services. In this paper we discuss the forms of mobility for the service oriented computing paradigm. To this end we model a service by means of the notions of interface, location, internal process and internal state, then we formalize a calculus supporting the mobility of each element listed above. We conclude by tracing a comparison between the proposed calculus and the mobility mechanisms supported by the Web Services technology.
['Claudio Guidi', 'Roberto Lucchi']
Formalizing mobility in Service Oriented Computing