Everyday experience tells us that some errors are transient, but also that some can be handled simply by 'retryingâ? the failed operation. For instance, a glitch on the network might turn a resource unreachable for a short period of time; or a sudden peak of work on a server can cause a momentary denial of service. In many occasions, without other kind of specialized recovery code, it is possible to keep a program running only by retrying a failed operation. Unfortunately, retry is not explicitly available on many platforms or programming languages and, even if it were, it could not be blindly used for dealing with every abnormal situation. On languages like C# or Java, or even on languages that offer the retry construct such as Smalltalk and Eiffel, where errors are represented and communicated through exceptions, there is no simple way to clear the effects of a failed operation and, thus, re-attempt its execution. Programmers have to explicitly write sometimes complex and error-prone code to repair the state of a program and the execution context. In this paper, we propose an AOP technique for implementing 'retryâ? on systems lacking such a feature without using any language extensions for AOP or imposing modifications to the development language. Our approach eliminates the need for programmers to write \"state-cleaning\" code for normal objects by means of a transparent transactional mechanism and provides the means to identify non-idempotent operations on the code. In our evaluation we show that a relevant number of application failures can be masked using this approach.
Subject
Exception handling mechanisms
Conference
4th Latin-American Symposium on Dependable Computing (LADC'09), September 2009
Cited by
Year 2015 : 1 citations
Felber, Pascal and Fetzer, Christof and Gramoli, Vincent and Harmanci, Derin and Nowack, Martin. Safe Exception Handling with Transactional Memory. Transactional Memory. Foundations, Algorithms, Tools, and Applications. Lecture Notes in Computer Science Volume 8913, 2015, pp 245-267
Year 2012 : 2 citations
Xiao Xing Sun et al., A CPN Based Method for Aspect-Oriented Modeling and Analysis of Fault Tolerance, in Advanced Materials Research (Volumes 457 - 458), Advanced Materials and Engineering Materials, Sally Gao (Editor), Pages 891-898, 2011 Doi 10.4028/www.scientific.net/AMR.457-458.891
Mehmet Derin Harmanci, Semantics, Performance and Language Support for Transactional Memory, Ph.D. Thesis, Faculte des Sciences Universite de Neuchatel, June 2012.
Year 2011 : 1 citations
D. Harmanci, V. Gramoli, P. Felber, Atomic Boxes: Coordinated Exception Handling with Transactional Memory, in Proceedings of the 25th European Conference on Object-Oriented Programming (ECOOP'11), Springer Verlag, Lancaster, UK, July 2011.