Ensuring transactional behavior of business processes and web service compositions is an essential issue in the area of service-oriented computing. Transactions in this context may require long periods of time to complete and must be managed using non-blocking techniques. Data integrity in Long-Running Transactions (LRTs) is preserved using compensations, that is, activities explicitly programmed to eliminate the effects of a process terminated by a user or that failed to complete due to another reason. In this paper, we present a framework for behavioral modeling of business processes, focusing on their transactional properties. Our solution is based on the channel-based coordination language Reo, which is an expressive, compositional and semantically precise design language admitting formal reasoning. The operational semantics of Reo is given by constraint automata. We illustrate how Reo can be used for modeling termination and compensation handling in a number of commonly-used workflow patterns, including sequential and parallel compositions, nested transactions, discriminator choice and concurrent flows with link dependencies. Furthermore, we show how essential properties of LRTs can be expressed in LTL and CTL-like logics and verified using model checking technology. Our framework is supported by a number of Eclipse plug-ins that provide facilities for modeling, animation, and verification of LRTs to generate executable code for them.
, , ,
IEEE Computer Society
IEEE Transactions on Services Computing
Compliance-driven Models, Languages and Architectures for Services
Computer Security

Kokash, N., & Arbab, F. (2011). Formal Design and Verification of Long-Running Transactions with Extensible Coordination Tools. IEEE Transactions on Services Computing, PP(99).