Compensation-Aware Runtime Monitoring

To avoid large overheads induced by runtime monitoring, the use of asynchronous log-based monitoring is sometimes adopted -- even though this implies that the system may proceed further despite having reached an anomalous state. Any actions performed by the system after the error occurring are undesirable, since for instance, an unchecked malicious user may perform unauthorized actions. Since stopping such actions is not feasible, in this paper we investigate the use of compensations to enable the undoing of actions, thus enriching asynchronous monitoring with the ability to restore the system to the original state in which the anomaly occurred. Furthermore, we show how allowing the monitor to adaptively synchronise and desynchronise with the system is also possible and report on the use of the approach on an industrial case study of a financial transaction system.

[1]  Hugo Torres Vieira,et al.  A Process Calculus Analysis of Compensations , 2009, TGC.

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

[3]  Farhad Arbab,et al.  Coordination Models and Languages , 1998, Adv. Comput..

[4]  Martin Mauve,et al.  Local-lag and timewarp: providing consistency for replicated continuous applications , 2004, IEEE Transactions on Multimedia.

[5]  James H. Andrews,et al.  General Test Result Checking with Log File Analysis , 2003, IEEE Trans. Software Eng..

[6]  David R. Jefferson,et al.  Virtual time , 1985, ICPP.

[7]  G. Rosu,et al.  Synthesizing Dynamic Programming Algorithms fromLinear Temporal Logic Formulae , 2001 .

[8]  Jim Gray,et al.  The Transaction Concept: Virtues and Limitations (Invited Paper) , 1981, VLDB.

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

[10]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[11]  Bernd Finkbeiner,et al.  LOLA: runtime monitoring of synchronous systems , 2005, 12th International Symposium on Temporal Representation and Reasoning (TIME'05).

[12]  Winfried Lamersdorf,et al.  Service-Oriented Computing - ICSOC 2006, 4th International Conference, Chicago, IL, USA, December 4-7, 2006, Proceedings , 2006, ICSOC.

[13]  Fangzhe Chang,et al.  Validating system properties exhibited in execution traces , 2007, ASE.

[14]  G. Ro Synthesizing Dynamic Programming Algorithms from Linear Temporal Logic Formulae , 2001 .

[15]  Alex Groce,et al.  An Entry Point for Formal Methods: Specification and Analysis of Event Logs , 2010, FMA.

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

[17]  António Ravara,et al.  Dynamic Recovering of Long Running Transactions , 2009, TGC.

[18]  Grigore Rosu,et al.  Rewriting-Based Techniques for Runtime Verification , 2005, Automated Software Engineering.

[19]  Umeshwar Dayal,et al.  Proceedings of the 1987 ACM SIGMOD international conference on Management of data , 1987 .

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

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

[22]  Grigore Rosu,et al.  Synthesizing Monitors for Safety Properties , 2002, TACAS.

[23]  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.

[24]  Gregor von Bochmann,et al.  An automatic trace analysis tool generator for Estelle specifications , 1995, SIGCOMM '95.

[25]  Sugih Jamin,et al.  An Efficient Synchronization Mechanism for Mirrored Game Architectures , 2002, NetGames '02.