Service-oriented computing (SOC) is a new paradigm for creating and providing business services via computer-based systems. In SOC, services are computational entities that can be published together with a description of business functionality, discovered automatically and used by independent organizations to compose and provide new services. Although several technologies are being introduced with the goal of supporting SOC, the paradigm lacks theories and techniques that enable the development of reliable systems. \ud SENSORIA is a research project that addresses these aspects by developing mathematically-based methods for engineering service-oriented systems. Within this project, the SENSORIA Reference Modelling Language (SRML) is being developed to support the design of services at a level of abstraction that captures business functionality independently of specific technologies.\ud In this thesis, we provide a semantics for the fragment of SRML that supports the design of composite services from a functional point of view. The main goal of this research is to give system designers the means to design new services by integrating existing services, while making sure that the resulting system provides the intended business functionality - what is called correctness of composition.\ud In order to address this goal, we define a mathematical model of computation for service-oriented systems based on the typical business conversations that occur between the constituents of such systems. We then define the semantics of the SRML language over this model and base it on a set of specification patterns that capture common service behaviour. We show that the formality of the language can be exploited with practical gains, by proposing a methodology for model-checking the correctness of service compositions.\ud Our results indicate that a formal approach to service design based on the conversational nature of business interactions can promote the development of functionally correct services. Furthermore, this approach can optimize the development of service-oriented systems by allowing conceptual errors to be identified and corrected before the systems are built
To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.