Abstract
The benefits of using aspect oriented programming (AOP) for separation of concerns is well-known and has been demonstrated in many works, including for dependable computing. In this paper, we use this composition capability of AOP to develop micro-aspects that can be combined together to realize a given fault tolerance mechanism. The toolbox of micro-aspects can be used to make mechanisms easily configurable and by the way to simplify their update. We show that the composition of micro aspects leads to undesirable side effects of the interactions between them, called interferences. We propose an approach to detect interferences with executable assertions, using an extension of AspectJ called AIRIA that enables control over an aspect chain at a shared join point. We finally draw the lessons learnt and discuss to what extent AOP can be used to develop fault tolerance mechanisms.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Alexandersson, R., Öhman, P.: Implementing Fault Tolerance Using Aspect Oriented Programming. In: Bondavalli, A., Brasileiro, F., Rajsbaum, S. (eds.) LADC 2007. LNCS, vol. 4746, pp. 57–74. Springer, Heidelberg (2007)
Bhatti, N., Hiltunen, M., Schlichting, R., Chiu, W.: Coyote: A System for Constructing Fine-Grain Configurable Communication Services. ACM Trans. Computer Systems 16(4), 321–366 (1998)
Hiltunen, M., Taiani, F., Schlichting, R.: Reflections on Aspects and Configurable Protocols. In: Filman, R.E. (ed.) 5th International Conference on Aspect-Oriented Software Development, pp. 87–98. ACM Press (2006)
Laprie, J-C.: From Dependability to Resilience. In: Fast Abstracts of DSN 2008, Anchorage (2008), http://www.ece.cmu.edu/~koopman/dsn08/fastabs/dsn08fastabs_laprie.pdf
Colyer, M., Clement, A.: Aspect-Oriented Programming with AspectJ. IBM Systems Journal 44(2), 301–308 (2005)
Takeyama, F., Chiba, S.: An Advice for Advice Composition in AspectJ. In: Baudry, B., Wohlstadter, E. (eds.) SC 2010. LNCS, vol. 6144, pp. 122–137. Springer, Heidelberg (2010)
Hilsdale, E., Hugunin, J.: Advice Weaving in AspectJ. In: Murphy, G.C., Lieberherr, K.J. (eds.) 3rd International Conference on Aspect-Oriented Software Development, pp. 26–35. ACM Press (2004)
Katz, E., Katz, S.: User Queries for Specification Refinement Treating Shared Aspect Join Points. In: Fiadeiro, J.L., Gnesi, S., Maggiolo-Schettini, A. (eds.) 8th IEEE International Conference on Software Engineering and Formal Methods, pp. 73–82. IEEE Computer Society (2010)
Lauret, J., Waeselynck, H., Fabre, J.-C.: Detection of Interferences in Aspect-Oriented Programs Using Executable Assertions. In: ISSRE Workshops 2012, pp. 165–170. IEEE (2012)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lauret, J., Fabre, JC., Waeselynck, H. (2013). Fine-Grained Implementation of Fault Tolerance Mechanisms with AOP: To What Extent?. In: Bitsch, F., Guiochet, J., Kaâniche, M. (eds) Computer Safety, Reliability, and Security. SAFECOMP 2013. Lecture Notes in Computer Science, vol 8153. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-40793-2_5
Download citation
DOI: https://doi.org/10.1007/978-3-642-40793-2_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-40792-5
Online ISBN: 978-3-642-40793-2
eBook Packages: Computer ScienceComputer Science (R0)