On the Expressive Power of Primitives for Compensation Handling

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

Modern software systems have frequently to face unexpected events, reacting so to reach a consistent state. In the field of concurrent and mobile systems (e.g., for web services) the problem is usually tackled using long running transactions and compensations: activities programmed to recover partial executions of long running transactions.
We compare the expressive power of different approaches to the specification of those compensations. We consider (i) static recovery, where the compensation is statically defined together with the transaction, (ii) parallel recovery, where the compensation is dynamically built as parallel composition of compensation elements and (iii) general dynamic recovery, where more refined ways of composing compensation elements are provided. We define an encoding of parallel recovery into static recovery enjoying nice compositionality properties, showing that the two approaches have the same expressive power. We also show that no such encoding of general dynamic recovery into static recovery is possible, i.e. general dynamic recovery is strictly more expressive.
Original languageUnknown
Title of host publicationLecture Notes in Computer Science
Pages366-386
DOIs
Publication statusPublished - 1 Jan 2010
EventEuropean Symposium on Programming Languages and Systems -
Duration: 1 Jan 2010 → …

Conference

ConferenceEuropean Symposium on Programming Languages and Systems
Period1/01/10 → …

Cite this