Comprehensive Monitor-Oriented Compensation Programming

Compensation programming is typically used in the programming of web service compositions whose correct implementation is crucial due to their handling of security-critical activities such as financial transactions. While traditional exception handling depends on the state of the system at the moment of failure, compensation programming is significantly more challenging and dynamic because it is dependent on the runtime execution flow - with the history of behaviour of the system at the moment of failure affecting how to apply compensation. To address this dynamic element, we propose the use of runtime monitors to facilitate compensation programming, with monitors enabling the modeller to be able to implicitly reason in terms of the runtime control flow, thus separating the concerns of system building and compensation modelling. Our approach is instantiated into an architecture and shown to be applicable to a case study.

[1]  Luciano Baresi,et al.  Self-Supervising BPEL Processes , 2011, IEEE Transactions on Software Engineering.

[2]  Roberto Bruni,et al.  Theoretical foundations for compensations in flow composition languages , 2005, POPL '05.

[3]  Julian Jang,et al.  Compensation is Not Enough , 2003 .

[4]  Gordon J. Pace,et al.  Dynamic Event-Based Runtime Monitoring of Real-Time and Contextual Properties , 2009, FMICS.

[5]  Brian Randell,et al.  Reliability Issues in Computing System Design , 1978, CSUR.

[6]  Mira Mezini,et al.  AO4BPEL: An Aspect-oriented Extension to BPEL , 2007, World Wide Web.

[7]  Peter Henderson,et al.  Extending the concept of transaction compensation , 2002, IBM Syst. J..

[8]  Annapaola Marconi,et al.  Multi-layered Monitoring and Adaptation , 2011, ICSOC.

[9]  Francisco Curbera,et al.  Web Services Business Process Execution Language Version 2.0 , 2007 .

[10]  David Spieler,et al.  Fault, Compensation and Termination in WS-BPEL 2.0 - A Comparative Analysis , 2009, WS-FM.

[11]  Gordon J. Pace,et al.  Safer asynchronous runtime monitoring using compensations , 2012, Formal Methods Syst. Des..

[12]  Abdelkarim Erradi,et al.  WS-Policy based Monitoring of Composite Web Services , 2007, Fifth European Conference on Web Services (ECOWS'07).

[13]  Gordon J. Pace,et al.  Monitor-Oriented Compensation Programming Through Compensating Automata , 2013, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[14]  C. A. R. Hoare,et al.  A Trace Semantics for Long-Running Transactions , 2004, 25 Years Communicating Sequential Processes.

[15]  Frank van Harmelen,et al.  WS-DIAMOND: Web Services - DIAgnosability, MONitoring and Diagnosis , 2007 .

[16]  Michael J. Butler,et al.  An Operational Semantics for StAC, a Language for Modelling Long-Running Business Transactions , 2004, COORDINATION.

[17]  Julian Jang,et al.  Compensation is not enough [fault-handling and compensation mechanism] , 2003, Seventh IEEE International Enterprise Distributed Object Computing Conference, 2003. Proceedings..

[18]  Peter Fettke,et al.  Business Process Modeling Notation , 2008, Wirtschaftsinf..

[19]  Paolo Traverso,et al.  WS-DIAMOND: Web Services—DIAgnosability, MONitoring, and Diagnosis , 2009 .

[20]  Gordon J. Pace,et al.  LARVA --- Safer Monitoring of Real-Time Java Programs (Tool Paper) , 2009, 2009 Seventh IEEE International Conference on Software Engineering and Formal Methods.

[21]  Elisabetta Di Nitto,et al.  SCENE: A Service Composition Execution Environment Supporting Dynamic Changes Disciplined Through Rules , 2006, ICSOC.

[22]  Francesco Tiezzi,et al.  A Formal Account of WS-BPEL , 2008, COORDINATION.

[23]  Peter Dolog,et al.  Engineering Compensations in Web Service Environment , 2007, ICWE.

[24]  Wolfgang Reisig,et al.  ASM-based Semantics for BPEL: The Negative Control Flow , 2005, Abstract State Machines.

[25]  Gordon J. Pace,et al.  Recovery within long-running transactions , 2013, CSUR.

[26]  Grigore Rosu,et al.  An overview of the MOP runtime verification framework , 2012, International Journal on Software Tools for Technology Transfer.

[27]  Yanxiang He,et al.  Formal Modeling of Transaction Behavior in WS-BPEL , 2008, 2008 International Conference on Computer Science and Software Engineering.

[28]  Charles T. Davies,et al.  Recovery semantics for a DB/DC system , 1973, ACM Annual Conference.

[29]  Schahram Dustdar,et al.  Event Driven Monitoring for Service Composition Infrastructures , 2010, WISE.

[30]  Danilo Ardagna,et al.  PAWS: A Framework for Executing Adaptive Web-Service Processes , 2007, IEEE Software.

[31]  Ws-DIAMOND,et al.  WS-DIAMOND Web Services – DIAgnosability , MONitoring and Diagnosis The , 2007 .

[32]  Roberto Gorrieri,et al.  SOCK : A calculus for service oriented computing , 2006 .

[33]  Julian Jang,et al.  A Service-Oriented Workflow Language for Robust Interacting Applications , 2005, OTM Conferences.