• DocumentCode
    43
  • Title

    Formal Design and Verification of Long-Running Transactions with Extensible Coordination Tools

  • Author

    Kokash, N. ; Arbab, Farhad

  • Author_Institution
    Centre for Math. & Comput. Sci. (CWI), Amsterdam, Netherlands
  • Volume
    6
  • Issue
    2
  • fYear
    2013
  • fDate
    April-June 2013
  • Firstpage
    186
  • Lastpage
    200
  • Abstract
    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 nonblocking 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 (CA). 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 dependences. 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 provides facilities for modeling, animation, and verification of LRTs to generate executable code for them.
  • Keywords
    Web services; automata theory; business data processing; concurrency control; data integrity; inference mechanisms; program compilers; program verification; programming language semantics; service-oriented architecture; transaction processing; CTL-like logics; Eclipse plug-ins; LRT; Reo coordination language; Web service compositions; business process behavioral modeling; channel-based coordination language; compensation handling; compositional design language; concurrent flows; constraint automata; data integrity; discriminator choice; executable code generation; expressive design language; extensible coordination tools; formal design; formal reasoning; formal verification; link dependences; long-running transactions; model checking technology; nested transactions; nonblocking techniques; operational semantics; parallel compositions; semantically precise design language; sequential compositions; service-oriented computing; termination modeling; transactional behavior; workflow patterns; Automata; Business; Connectors; Integrated circuit modeling; Light rail systems; Petri nets; Semantics; Reo coordination language; business process modeling; long-running transactions; verifiable design;
  • fLanguage
    English
  • Journal_Title
    Services Computing, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1939-1374
  • Type

    jour

  • DOI
    10.1109/TSC.2011.46
  • Filename
    5975139