Journal of the ACM (JACM)
Linearizability: a correctness condition for concurrent objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
The serializability of concurrent database updates
Journal of the ACM (JACM)
First-Order Dynamic Logic
A Process Compensation Language
IFM '00 Proceedings of the Second International Conference on Integrated Formal Methods
Theoretical foundations for compensations in flow composition languages
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A Fixed-point Characterization of a Deontic Logic of Regular Action
Fundamenta Informaticae - Deontic Logic in Computer Science
A Propositional Dynamic Logic for CCS Programs
WoLLIC '08 Proceedings of the 15th international workshop on Logic, Language, Information and Computation
A Process Calculus Analysis of Compensations
Trustworthy Global Computing
Dynamic Recovering of Long Running Transactions
Trustworthy Global Computing
Fault, Compensation and Termination in WS-BPEL 2.0 -- A Comparative Analysis
Web Services and Formal Methods
On the expressive power of process interruption and compensation
Mathematical Structures in Computer Science
Towards compensation correctness in interactive systems
WS-FM'09 Proceedings of the 6th international conference on Web services and formal methods
CONCUR'10 Proceedings of the 21st international conference on Concurrency theory
CONCUR'10 Proceedings of the 21st international conference on Concurrency theory
Towards a unifying theory for web services composition
WS-FM'06 Proceedings of the Third international conference on Web Services and Formal Methods
A trace semantics for long-running transactions
CSP'04 Proceedings of the 2004 international conference on Communicating Sequential Processes: the First 25 Years
Hi-index | 0.00 |
Compensable programs offer a convenient paradigm to deal with long-running transactions, because they offer a structured and modular approach to the composition of distributed transactional activities, like services. The basic idea is that each activity has its own compensation and that the compensable program fixes the order of execution of such activities. The main problem is how to guarantee that if one or even many faults occur then the compensations are properly executed so to reach a consistent configuration of the system. We propose a formal model for such problems based on a concurrent extension of dynamic logic that allows us to distill the hypothesis under which the correctness of compensable programs can be ensured. The main result establishes that if basic activities have a correct compensation we can show the correctness of any compound compensable program. Moreover, we can use dynamic logic to reason about behavioural and transactional properties of programs.