SIGMOD '87 Proceedings of the 1987 ACM SIGMOD international conference on Management of data
Decidability of model checking with the temporal logic EF
Theoretical Computer Science
Simulation preorder over simple process algebras
Information and Computation
Transaction Processing: Concepts and Techniques
Transaction Processing: Concepts and Techniques
E-services: a look behind the curtain
Proceedings of the twenty-second ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Analysis of interacting BPEL web services
Proceedings of the 13th international conference on World Wide Web
Theoretical foundations for compensations in flow composition languages
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Specification and verification of data-driven web services
PODS '04 Proceedings of the twenty-third ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Comparing two approaches to compensable flow composition
CONCUR 2005 - Concurrency Theory
CIAA'03 Proceedings of the 8th international conference on Implementation and application of automata
A trace semantics for long-running transactions
CSP'04 Proceedings of the 2004 international conference on Communicating Sequential Processes: the First 25 Years
Ensuring consistency in long running transactions
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Testing the reliability of web services transactions in cooperative applications
Proceedings of the 27th Annual ACM Symposium on Applied Computing
Hi-index | 0.00 |
We study the safety verification problem for business-process orchestration languages with respect to regular properties. Business transactions involve long-running distributed interactions between multiple partners which must appear as a single atomic action. This illusion of atomicity is maintained through programmer-specified compensation actions that get run to undo previous actions when certain parts of the transaction fail to finish. Programming languages for business process orchestration provide constructs for declaring compensation actions, which are co-ordinated by the run time system to provide the desired transactional semantics. The safety verification problem for business processes asks, given a program with programmer specified compensation actions and a regular language specifying "good" behaviors of the system, whether all observable action sequences produced by the program are contained in the set of good behaviors. We show that the usual trace-based semantics for business process languages leads to an undecidable verification problem, but a tree-based semantics gives an algorithm that runs in time exponential in the size of the business process. Our constructions translate programs with compensations to tree automata with one memory.