Detection and resolution of atomicity violation in service composition

Atomicity is a desirable property that safeguards application consistency for service compositions. A service composition exhibiting this property could either complete or cancel itself without any side effects. It is possible to achieve this property for a service composition by selecting suitable web services to form an atomicity sphere. However, this property might still be breached at runtime due to the interference between various service compositions caused by implicit interactions. Existing approaches to addressing this problem by restricting concurrent execution of services to avoid all implicit interactions however compromise the performance of service compositions due to the long running nature of web services. In this paper, we propose a novel static approach to analyzing the implicit interactions a web service may incur and their impacts on the atomicity property in each of its service compositions. By locating afflicted implicit interactions in a service composition, behavior constraints based on property propagation are formulated as local safety properties, which can then be enforced by the affected web services at runtime to suppress the impacts of the afflicted implicit interactions. We show that the satisfaction of these safety properties exempts the atomicity property of this service composition from being interfered by other services at runtime. The approach is illustrated using two service applications.

[1]  Scott D. Stoller,et al.  Runtime analysis of atomicity for multithreaded programs , 2006, IEEE Transactions on Software Engineering.

[2]  Gustavo Alonso,et al.  Atomicity and isolation for transactional processes , 2002, TODS.

[3]  Ismailcem Budak Arpinar,et al.  Formalization of Workflows and Correctness Issues in the Presence of Concurrency , 1999, Distributed and Parallel Databases.

[4]  Julian Jang,et al.  Transactions in Loosely Coupled Distributed Systems , 2003, ADC.

[5]  Jong-Deok Choi,et al.  Efficient and precise datarace detection for multithreaded object-oriented programs , 2002, PLDI '02.

[6]  Shing-Chi Cheung,et al.  Publishing and composition of atomicity-equivalent services for B2B collaboration , 2006, ICSE.

[7]  Gustavo Alonso,et al.  Exception Handling in Workflow Management Systems , 2000, IEEE Trans. Software Eng..

[8]  Shing-Chi Cheung,et al.  Local analysis of atomicity sphere for B2B collaboration , 2006, SIGSOFT '06/FSE-14.

[9]  ChoiJong-Deok,et al.  Efficient and precise datarace detection for multithreaded object-oriented programs , 2002 .

[10]  Paul Greenfield,et al.  Consistency for Web Services Applications , 2005, VLDB.

[11]  James C. King,et al.  Symbolic execution and program testing , 1976, CACM.

[12]  John Cocke,et al.  A program data flow analysis procedure , 1976, CACM.

[13]  Hermann Kopetz,et al.  Fault tolerance, principles and practice , 1990 .

[14]  Andreas Reuter,et al.  The ConTract Model , 1991, Database Transaction Models for Advanced Applications.

[15]  Ajay D. Kshemkalyani,et al.  Efficient Detection and Resolution of Generalized Distributed Deadlocks , 1994, IEEE Trans. Software Eng..

[16]  A. Elmagarmid Database transaction models for advanced applications , 1992 .