Skip to main content

Implementing Fault Tolerance Using Aspect Oriented Programming

  • Conference paper
Dependable Computing (LADC 2007)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4746))

Included in the following conference series:

Abstract

Aspect oriented programming (AOP) is a promising technique for implementing fault tolerance. Still there exist few actual implementations. One reason is that most present day AOP languages do not offer the level of control needed. This paper addresses the problem by defining a representative set of fault tolerance mechanisms. The set can be used for evaluating the feasibility of languages and for finding needs for improvements. It has been used to evaluate the AspectC++ language, and a number of limitations have been revealed. AspectC++ was then extended in order to address this. It is also demonstrated how reusable fault tolerance mechanisms can be built using aspect oriented C++, and the advantages compared to using standard C++ are discussed.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Elrad, T., Filman, R.E., Bader, A.: Aspect-oriented programming: introduction. Communications of the ACM 44(10), 29–32 (2001)

    Article  Google Scholar 

  2. Spinczyk, O., Gal, A., Schröder-Preikschat, W.: AspectC++: An Aspect-Oriented Extension to C++. In: TOOLS Pacific 2002. Proceedings of the 40th International Conference on Technology of Object-Oriented Languages and Systems, Sydney, Australia, pp. 18–21 (2002)

    Google Scholar 

  3. Rodgers, P., Wellings, A.J.: An incremental recovery cache supporting software fault tolerance. In: González Harbour, M., la de Puente, J.A. (eds.) Ada-Europe 1999. LNCS, vol. 1622, pp. 385–396. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  4. Damm, A.: The effectiveness of software error-detection mechanisms in real-time operating systems. FTCS Digest of Papers. In: 16th Annual International Symposium on Fault-Tolerant Computing Systems, Washington DC, USA (1986)

    Google Scholar 

  5. Randell, B.: System structure for software fault tolerance. IEEE Transactions on Software Engineering SE 1(2), 220–232 (1975)

    Google Scholar 

  6. Oh, N., Shirvani, P., McCluskey, E.J.: Control-Flow Checking by Software Signatures. Center for Reliable Computing, Stanford Univ., CA, CRC-TR-00-4 (CSL TR num 00-800) (2000)

    Google Scholar 

  7. Alexandersson, R., Öhman, P., Ivarsson, M.: Aspect oriented software implemented node level fault tolerance. In: SEA 2005. Ninth IASTED International Conference on Software Engineering and Applications, Phoenix AZ, USA (2005)

    Google Scholar 

  8. Alexandersson, R.: Techniques for software implemented fault tolerance. Technical report 22L, ISSN 1652-876X, Department of Computer Science and Engineering, Chalmers University of Technology, Sweden (2006)

    Google Scholar 

  9. Fabry, J.: A Framework for Replication of Objects using Aspect-Oriented Programming. Phd Thesis, University of Brussel (1998)

    Google Scholar 

  10. Herrero, J.L., Sanchez, F., Toro, M.: Fault tolerance as an aspect using JReplica. In: Proceedings of the Eighth IEEE Workshop on Future trends of Distributed Computing Systems, 31 October-2 November, 2001, pp. 201–207. IEEE Computer Society Press, Los Alamitos (2001)

    Chapter  Google Scholar 

  11. Szentivanyi, D., Nadjm-Tehrani, S.: Aspects for improvement of performance in fault-tolerant software. In: Proceedings of the 10th IEEE Pacific Rim International Symposium on Dependable Computing, 3-5 March, pp. 283–291 (2004)

    Google Scholar 

  12. Ruiz, J.C., Killijian, M.O., Fabre, J.C., Thévenod-Fosse, P.: Reflective Fault-Tolerant Systems: From Experience to Challenges. IEEE Transactions On Computers 52(2), 237–254 (2003)

    Article  Google Scholar 

  13. Taiani, F., Fabre, J.C., Killijian, M.O.: A multi-level meta-object protocol for fault-tolerance in complex architectures. In: DSN 2005. Proceedings of the International Conference on Dependable Systems and Networks, 2005, 28 June-July 1, pp. 270–279 (2005)

    Google Scholar 

  14. Xu, J., Randell, B., Zorzo, A.F.: Implementing Software-Fault Tolerance in C++ and Open C++. In: Min, Y., Tang, D. (eds.) CADTED 1996. Proceedings of the 1996 International Workshop on Computer-Aided Design, Test, and Evaluation for Dependability, Beijing China, pp. 224–229 (1996)

    Google Scholar 

  15. Cheynet, P., Nicolescu, B., Velazco, R., Rebaudengo, M., Sonza Reorda, M., Violante, M.: Experimentally evaluating an automatic approach for generating safety-critical software with respect to transient errors. IEEE Transaction on Nuclear Science 47(6), 2231–2236 (2000)

    Article  Google Scholar 

  16. Lisboa, M.L.B.: A new trend on the development of fault-tolerant applications: software meta-level architectures. In: IFIP 1998. Proceedings of the International Workshop on Dependable Computing and its Applications (1998)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Andrea Bondavalli Francisco Brasileiro Sergio Rajsbaum

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Alexandersson, R., Öhman, P. (2007). Implementing Fault Tolerance Using Aspect Oriented Programming. In: Bondavalli, A., Brasileiro, F., Rajsbaum, S. (eds) Dependable Computing. LADC 2007. Lecture Notes in Computer Science, vol 4746. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-75294-3_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-75294-3_6

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-75293-6

  • Online ISBN: 978-3-540-75294-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics