Formal Aspects of Computing

, Volume 26, Issue 5, pp 865–918

The stream-based service-centred calculus: a foundation for service-oriented programming

  • Luís Cruz-Filipe
  • Ivan Lanese
  • Francisco Martins
  • António Ravara
  • Vasco Thudichum Vasconcelos
Original Article

DOI: 10.1007/s00165-013-0284-5

Cite this article as:
Cruz-Filipe, L., Lanese, I., Martins, F. et al. Form Asp Comp (2014) 26: 865. doi:10.1007/s00165-013-0284-5

Abstract

We give a formal account of stream-based, service-centered calculus (SSCC), a calculus for modelling service-based systems, suitable to describe both service composition (orchestration) and the protocols that services follow when invoked (conversation). The calculus includes primitives for defining and invoking services, for isolating conversations (called sessions) among clients and servers, and for orchestrating services. The calculus is equipped with a reduction and a labelled transition semantics related by an equivalence result. SSCC provides a good trade-off between expressive power for modelling and simplicity for analysis. We assess the expressive power by modelling van der Aalst workflow patterns and an automotive case study from the European project Sensoria. For analysis, we present a simple type system ensuring compatibility of client and service protocols. We also study the behavioural theory of the calculus, highlighting some axioms that capture the behaviour of the different primitives. As a final application of the theory, we define and prove correct some program transformations. These allow to start modelling a system from a typical UML Sequence Diagram, and then transform the specification to match the service-oriented programming style, thus simplifying its implementation using web services technology.

Copyright information

© British Computer Society 2013

Authors and Affiliations

  • Luís Cruz-Filipe
    • 1
  • Ivan Lanese
    • 2
  • Francisco Martins
    • 3
  • António Ravara
    • 4
  • Vasco Thudichum Vasconcelos
    • 3
  1. 1.Escola Superior Náutica Infante Dom HenriqueOeirasPortugal
  2. 2.Focus TeamUniversity of Bologna/INRIABolognaItaly
  3. 3.Universidade de LisboaFaculdade de Ciências & LaSIGELisbonPortugal
  4. 4.Universidade Nova de LisboaFaculdade de Ciências e Tecnologia & CITICaparicaPortugal