On the interplay between fault handling and request-response service invocations

Claudio Guidi, Ivan Lanese, Fabrizio Montesi, Gianluigi Zavattaro [2008].
In proceedings of ACSD 2008, pp. 190-198.

Service Oriented Computing (SOC) allows for the composition of services which communicate using unidirectional notification or bidirectional request-response primitives. Most service orchestration languages proposed so far provide also primitives to handle faults and compensations. The interplay between fault handling and request-response invocations is nontrivial since, for instance, faults should be notified to the requestresponse communication partners in order to compensate also the remote activities. Our work is motivated by the difficulties encountered in programming, using current orchestration languages, some fault handling strategies. We propose as a solution an orchestration programming style in which fault and compensation handlers are dynamically installed. We show the adequacy of our proposal defining its semantics, and proving that it satisfies some expected high-level properties. Finally, we also show how to apply dynamic handler installation in a nontrivial automotive scenario.
Additional notes
Cite (BibTeX)
Click to expand
  author       = {Claudio Guidi and
                  Ivan Lanese and
                  Fabrizio Montesi and
                  Gianluigi Zavattaro},
  editor       = {Jonathan Billington and
                  Zhenhua Duan and
                  Maciej Koutny},
  title        = {On the interplay between fault handling and request-response service
  booktitle    = {8th International Conference on Application of Concurrency to System
                  Design {(ACSD} 2008), Xi'an, China, June 23-27, 2008},
  pages        = {190--198},
  publisher    = {{IEEE}},
  year         = {2008},
  url          = {https://doi.org/10.1109/ACSD.2008.4574611},
  doi          = {10.1109/ACSD.2008.4574611},
  timestamp    = {Wed, 16 Oct 2019 14:14:54 +0200},
  biburl       = {https://dblp.org/rec/conf/acsd/GuidiLMZ08.bib},
  bibsource    = {dblp computer science bibliography, https://dblp.org}

A PDF is available (possibly a preprint):

Download PDF