Skip to main content

Architectural Fault Tolerance Using Exception Handling

  • Chapter

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4615))

Abstract

When building dependable systems by integrating untrusted software components that were not originally designed to interact with each other, it is inevitable the occurrence of architectural mismatches related to assumptions in the failure behaviours. These mismatches if not prevented during system design have to be tolerated during run-time. This paper presents an architectural abstraction based on exception handling for structuring fault-tolerant software systems. Exception handling has been used effectively for incorporating fault tolerance into software systems. The proposed architectural abstraction transforms untrusted software components into idealised fault tolerant architectural elements (iFTE), which clearly separate the normal and exceptional behaviours, in terms of their internal structure and interfaces. An advantage of this architectural abstraction is that it can be instantiated into both components and connectors. Moreover, the proposed abstraction clearly facilitates system structuring, and the analysis of exception propagation, which can make the overall system quite complex if exceptions, and their respective handlers, and not properly incorporated into system design. The feasibility of the proposed approach is evaluated in terms of a simple case study.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Anderson, T., Lee, P.A.: Fault Tolerance: Principles and Practice. Prentice-Hall, Englewood Cliffs (1981)

    Google Scholar 

  2. Avizienis, A., Laprie, J.-C., Randell, B., Landwehr, C.: Basic Concepts and Taxonomy of Dependable and Secure Computing. IEEE Transactions on Dependable and Secure Computing 1(1), 11–33 (2004)

    Article  Google Scholar 

  3. Castor Filho, F., Brito, P.H.S., Rubira, C.M.F.: A Framework for Analyzing Exception Flow in Software Architectures. In: WADS. Proceedings of the ICSE 2006 Workshop on Architecting Dependable Systems. St. Louis, MI, USA, May 2005, pp. 21–27 (2005)

    Google Scholar 

  4. Castor Filho, F., de C Guerra, P.A., Pagano, V.A., Rubira, C.M.F.: A Systematic Approach for Structuring Exception Handling in Robust Component-Based Software. Journal of the Brazilian Computer Society 3(10) (2005)

    Google Scholar 

  5. Cristian, F.: Exception Handling. Dependability of Resilient Computers. Anderson, T., (ed.) BSP, pp. 68–97 (1989)

    Google Scholar 

  6. Clements, P., et al.: Documenting Software Architectures: Views and Beyond. Addison-Wesley, Reading (2003)

    Google Scholar 

  7. de Lemos, R., de C. Guerra, P.A., Rubira, C.: A Fault-Tolerant Architectural Approach for Dependable Systems. IEEE Software (Special Issue on Software Architectures), 80–87 (2006)

    Google Scholar 

  8. de Lemos, R., Romanovsky, A.: Exception Handling in a Cooperative Object-Oriented Approach. In: ISORC 1999. Proceedings of the 2nd IEEE International Symposium on Object-Oriented Real-Time Distributed Computing Saint Malo, France. May 1999, pp. 3–13 (1999)

    Google Scholar 

  9. Gacek, C., de Lemos, R.: Architectural Description of Dependable Software Systems. In: Besnard, D., Gacek, C., Jones, C.B. (eds.) Structure for Dependability: Computer-Based Systems from an Interdisciplinary Perspective, pp. 127–142. Springer, London, UK (2006)

    Chapter  Google Scholar 

  10. de C. Guerra, P.A., Rubira, C., de Lemos, R.: A Fault-Tolerant Software Architecture for Component-Based Systems. In: de Lemos, R., Gacek, C., Romanovsky, A. (eds.) Architecting Dependable Systems. LNCS, vol. 2677, pp. 129–149. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  11. Larsen, K.G., Pettersson, P., Yi, W.: UPPAAL in a Nutshell. International Journal on Software Tools for Technology Transfer 1(1–2), 134–152 (1997)

    MATH  Google Scholar 

  12. Perry, D.E., Wolf, A.L.: Foundations for the Study of Software Architectures. SIGSOFT Software Engineering Notes 17(4), 40–52 (1992)

    Article  Google Scholar 

  13. Randell, B.: System Structure for Software Fault Tolerance. IEEE Transactions on Software Engineering 1(2), 220–232 (1975)

    Google Scholar 

  14. Rubira, C.M.F., de Lemos, R., Ferreira, G.R.M., Castor Filho, F.: Exception Handling in the Development of Dependable Component-Based Systems. Software-Practice and Experience 35(3), 195–236 (2005)

    Article  Google Scholar 

  15. Di Ruscio, D., Muccini, H., Pelliccione, P., Pierantonio, A.: Towards Weaving Software Architecture Models. In: ECBS, Joint Meeting of the 4th MBD and 3rd MOMPES. Potsdam, Germany, March 2006 (to appear)

    Google Scholar 

  16. SAE-AS5506 Architecture Analysis and Design Language. Society of Automotive Engineers (SAE) (2004)

    Google Scholar 

  17. SAE-AS5506/1 SAE Architecture Analysis and Design Language (AADL) Annex, vol. 1 Annex E: Error Model Annex. International Society of Automotive Engineers. Warrendale, USA (June 2006)

    Google Scholar 

  18. Shaw, M., Garlan, D.: Software Architectures: Perspectives on an Emerging Discipline. Prentice-Hall, Inc., Upper Saddle River, NJ (1996)

    MATH  Google Scholar 

  19. Sloman, M., Kramer, J.: Distributed Systems and Computer. Networks. Prentice Hall, Englewood Cliffs (1987)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Rogério de Lemos Cristina Gacek Alexander Romanovsky

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

de Lemos, R. (2007). Architectural Fault Tolerance Using Exception Handling. In: de Lemos, R., Gacek, C., Romanovsky, A. (eds) Architecting Dependable Systems IV. Lecture Notes in Computer Science, vol 4615. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-74035-3_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-74035-3_7

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-74033-9

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

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics