Skip to search boxSkip to navigationSkip to main content

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

  • L. Cruz-Filipe
    ,
  • Ivan Lanese
    ,
  • Francisco Martins
    ,
  • António Ravara
    ,
  • Vasco Vasconcelos
  • Escola Superior Náutica Infante Dom Henrique
    ,
  • University of Bologna
    ,
  • University of Lisbon
    ,
  • NOVA University of Lisbon
Research Output:
Journal Article or Conference Article in Journal
Journal article
Peer-review

Open access

Publication Information

Output type

Research Output:
Journal Article or Conference Article in Journal
Journal article
Peer-review

Original language

English

Pages from-to (Number of pages)

Pages 865-918 (54 pages)

Journal (Volume, Issue Number)

Formal Aspects of Computing (Volume 26, Issue 5)

Publication milestones

  • Published - 01/09/2014

Publication status

Published - 01/09/2014

ISSN

0934-5043

Publication IDs

  • Scopus: 84906951142

Abstract

We give a formal account of SSCC, a calculus for modeling 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 labeled transition semantics related by an equivalence result. SSCC provides a good trade-off between expressive power for modeling and simplicity for analysis. We assess the expressive power by modeling 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 behavioral theory of the calculus, highlighting some axioms that capture the behavior of the different primitives. As a final application of the theory, we define and prove correct some program transformations. These allow to start modeling 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.

Publication metrics

PlumX, opens in new tab

Citations
9
Captures
21