Skip to main content

Architecture-Centric Fault Tolerance with Exception Handling

  • 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

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. This abstraction comprises several components and connectors that transform an existing untrusted software element into an idealised fault-tolerant architectural element. The proposed rigorous approach relies on a formal representation for analysing exception propagation, and verifying important dependability properties. Beyond this, the formal models are also used for generating unit and integration test cases that would be used for validating the final software product. The feasibility of the proposed approach was evaluated on an embedded critical case study.

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. Abrial, J.-R.: The B-book: assigning programs to meanings. Cambridge University Press, New York (1996)

    MATH  Google Scholar 

  2. Amnell, T., Behrmann, G., Bengtsson, J., D’Argenio, P.R., David, A., Fehnker, A., Hune, T., Jeannet, B., Larsen, K.G., Möller, M.O., Pettersson, P., Weise, C., Yi, W.: Uppaal - Now, Next, and Future. In: Cassez, F., Jard, C., Rozoy, B., Dermot, M. (eds.) MOVEP 2000. LNCS, vol. 2067, pp. 100–125. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

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

    Google Scholar 

  4. Bass, L., Clements, P.C., Kazman, R.: Software Architecture in Practice, 2nd edn. Addison-Wesley, Reading (2003)

    Google Scholar 

  5. Bertolino, A., Marchetti, E., Muccini, H.: Introducing a reasonably complete and coherent approach for model-based testing. Electr. Notes Theor. Comput. Sci. 116, 85–97 (2005)

    Article  Google Scholar 

  6. Binder, R.V.: Testing object-oriented systems: models, patterns, and tools. Addison-Wesley Longman Publishing Co., Inc., Redwood City, CA, USA (1999)

    Google Scholar 

  7. Brito, P.H.S., de Lemos, R., Martins, E., Rubira, C.M.F.: Verification and validation of a fault-tolerant architectural abstraction. In: DSN Workshop on Architecting Dependable Systems (WADS 2007), Edinburgh, Scotland - UK (Accepted for publication, 2007)

    Google Scholar 

  8. Brookes, S.D., Hoare, C.A.R., Roscoe, A.W.: A theory of communicating sequential processes. J. ACM 31(3), 560–599 (1984)

    Article  MATH  MathSciNet  Google Scholar 

  9. Castor Filho, F., Cacho, N., Figueiredo, E., Ferreira, R., Garcia, A., Rubira, C.M.F.: Exceptions and aspects: The devil is in the details. In: Proceedings of the 14th ACM SIGSOFT FSE, pp. 152–162 (November 2006)

    Google Scholar 

  10. Castor Filho, F., da Silva Brito, P.H., Rubira, C.M.F.: Specification of exception flow in software architectures. Journal of Systems and Software (October 2006)

    Google Scholar 

  11. Castor Filho, F., de Castro Guerra, P.A., Rubira, C.M.F.: An architectural-level exception-handling system for component-based applications. In: de Lemos, R., Weber, T.S., Camargo Jr., J.B. (eds.) LADC 2003. LNCS, vol. 2847, pp. 321–340. Springer, Heidelberg (2003)

    Google Scholar 

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

    Google Scholar 

  13. Cristian, F.: Exception handling. In: Dependability of Resilient Computers, pp. 68–97. Blackwell (1989)

    Google Scholar 

  14. da Silva Brito, P.H., de Lemos, R., Filho, F.C., Rubira, C.M.F.: Architecture-centric fault tolerance with exception handling. Technical Report IC-07-04. State University of Campinas (February 2007)

    Google Scholar 

  15. Brito, P.H.S., Rocha, C.R., Castor Filho, F., Martins, E., Rubira, C.M.F.: A method for modeling and testing exceptions in component-based software development. In: Maziero, C.A., Silva, J.G., Andrade, A.M.S., Assis Silva, F.M.d. (eds.) LADC 2005. LNCS, vol. 3747, pp. 61–79. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  16. de Castro 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 

  17. de Lemos, R., de Castro Guerra, P.A., Rubira, C.M.F.: A fault-tolerant architectural approach for dependable system. IEEE Software 23(2), 80–87 (2006)

    Article  Google Scholar 

  18. McMillan, K.L.: The SMV system. Technical Report CMU-CS-92-131, Carnegie Mellon University (1992)

    Google Scholar 

  19. Gray, J., Reuter, A.: Transaction Processing: Concepts and Techniques. Morgan Kaufmann, San Francisco (1993)

    MATH  Google Scholar 

  20. Issarny, V., Banatre, J.P.: Architecture-based exception handling. In: Proceedings of the 34th Annual Hawaii International Conference on System Sciences (2001)

    Google Scholar 

  21. Jackson, D.: Alloy: a lightweight object modelling notation. Software Engineering and Methodology 11(2), 256–290 (2002)

    Article  Google Scholar 

  22. Jackson, D., Schechter, I., Shlyahter, H.: Alcoa: the alloy constraint analyzer. In: ICSE 2000. Proceedings of the 22nd international conference on Software engineering, pp. 730–733. ACM Press, New York (2000)

    Chapter  Google Scholar 

  23. Lee, P.A., Anderson, T.: Fault Tolerance: Principles and Practice. In: Dependable computing and fault-tolerant systems, 2nd edn., Springer, Berlin, New York (1990)

    Google Scholar 

  24. Leuschel, M., Butler, M.J.: Prob: A model checker for b. In: Araki, K., Gnesi, S., Mandrioli, D. (eds.) FME 2003. LNCS, vol. 2805, pp. 855–874. Springer, Heidelberg (2003)

    Google Scholar 

  25. Parnas, D.L., Würges, H.: Response to undesired events in software systems. In: Proceedings of the 2nd International Conference on Software Engineering, San Francisco, USA, pp. 437–446 (October 1976)

    Google Scholar 

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

    Google Scholar 

  27. Reimer, D., Srinivasan, H.: Analyzing exception usage in large java applications. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743, Springer, Heidelberg (2003)

    Google Scholar 

  28. Schneider, S., Treharne, H.: Communicating b machines. In: Bert, D., Bowen, J.P., Henson, M.C., Robinson, K. (eds.) B 2002 and ZB 2002. LNCS, vol. 2272, pp. 416–435. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  29. Sloman, M., Kramer, J.: Distributed systems and computer networks. Prentice Hall International (UK) Ltd, Hertfordshire, UK (1987)

    Google Scholar 

  30. Taylor, R.N., Medvidovic, N., Anderson, K., Whitehead, J.E.J., Robbins, J.: A component- and message- based architectural style for GUI software. In: Proceedings of the 17th International Conference on Software Engineering, pp. 295–304 (April 1995)

    Google Scholar 

  31. Weimer, W., Necula, G.: Finding and preventing run-time error handling mistakes. In: Proceedings of OOPSLA 2004, Vancouver, Canada, pp. 419–433 (October 2004)

    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

Brito, P.H.S., de Lemos, R., Martins, E., Rubira, C.M.F. (2007). Architecture-Centric Fault Tolerance with Exception Handling. 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_7

Download citation

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

  • 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