Skip to main content

Development of Fault-Tolerant Software Systems Based on Architectural Abstractions

  • Conference paper
Software Architecture (ECSA 2008)

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

Included in the following conference series:

Abstract

The incorporation of fault tolerance into systems normally increases their complexity, which consequently makes their analysis more difficult. This paper discusses how architectural abstractions can be effective in developing fault-tolerant software systems. Depending on the fault model and the resources available, different abstractions can be employed for representing issues that are related to fault tolerance, such as error detection, and error and fault handling. These architectural abstractions, and their internal views, can be instantiated into concrete components and connectors for designing fault-tolerant software architectures. Since structural and behavioural properties associated with these abstractions are formally specified, the process of verifying and validating software architectures can be automated. In this paper, we show how appropriate architectural abstractions and a recursive process can facilitate the architectural modelling and analysis of fault-tolerant software systems. The feasibility of the proposed approach is demonstrated in the context of a critical real-time application.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.00
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., et al.: The B-Method. In: Proc. of the 4th Int. Symp. of VDM Europe on Formal Sof. Devel., vol. 2, pp. 398–405 (1991)

    Google Scholar 

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

    Google Scholar 

  3. Avizienis, A., et al.: Basic concepts and taxonomy of dependable and secure computing. IEEE Trans. on Dependable and Secure Computing 1(1), 11–33 (2004)

    Article  Google Scholar 

  4. Brito, P.H.S., et al.: Architecture-centric fault tolerance with exception handling. In: Bondavalli, A., Brasileiro, F., Rajsbaum, S. (eds.) LADC 2007. LNCS, vol. 4746, pp. 75–94. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  5. Brito, P.H.S., et al.: Verification and validation of a fault-tolerant architectural abstraction. In: Proc. of the Workshop on Architecting Dependable Systems, pp. 1–6 (2007)

    Google Scholar 

  6. Butler, M.J., Leuschel, M.: Combining CSP and B for specification and property verification. In: Fitzgerald, J.S., Hayes, I.J., Tarlecki, A. (eds.) FM 2005. LNCS, vol. 3582, pp. 221–236. Springer, Heidelberg (2005)

    Google Scholar 

  7. Castor Filho, F., et al.: 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 

  8. da Silva Jr., M.C., et al.: A Java component model for evolving software systems. In: Proc. of the 18th IEEE Int. Conf. on Automated Soft. Eng., pp. 327–330 (2003)

    Google Scholar 

  9. de Castro Guerra, P.A., et al.: 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 

  10. de Lemos, R.: Architectural Fault Tolerance Using Exception Handling. In: de Lemos, R., Gacek, C., Romanovsky, A. (eds.) Architecting Dependable Systems IV. LNCS, vol. 4615, pp. 142–162. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  11. Denford, M., et al.: Architectural abstraction as transformation of poset labelled graphs. Journal of Universal Computer Science 10(10), 1408–1428 (2004)

    Google Scholar 

  12. Fahmy, H., Holt, R.C.: Software architecture transformations. In: Proc. of the Int. Conf. on Software Maintenance, pp. 88–96 (2000)

    Google Scholar 

  13. Moriconi, M., Riemenschneider, R.: Introduction to sadl 1.0 a language for specifying software architecture hierarchies. TR SRI-CSL-97-01, SRI International (March 1997)

    Google Scholar 

  14. Oquendo, F.: π-ARL: an architecture refinement language for formally modelling the stepwise refinement of software architectures. SIGSOFT Softw. Eng. Notes 29(5), 1–20 (2004)

    Google Scholar 

  15. Randell, B.: Turing memorial lecture facing up to faults. Computer Journal 43(2), 95–106 (2000)

    Article  Google Scholar 

  16. Schlichting, R.D., Schneider, F.B.: Fail-Stop Processors: An Approach to Designing Fault-Tolerant Computing Systems. Computer Systems 1(3), 222–238 (1983)

    Google Scholar 

  17. Siau, K., Halpin, T.A. (eds.): Unified Modeling Language: Systems Analysis, Design and Development Issues. Idea Group (2001)

    Google Scholar 

  18. Sloman, M., Kramer, J.: Distributed systems and computer networks. Prentice Hall International, Englewood Cliffs (1987)

    Google Scholar 

  19. Taylor, R.N., et al.: A component- and message- based architectural style for GUI software. In: Proc. of the 17th Int. Conf. on Soft. Eng., pp. 295–304 (1995)

    Google Scholar 

  20. Thomas, D., Barry, B.M.: Model driven development: the case for domain oriented programming. In: Companion of the 18th Annual ACM SIGPLAN Conf. on Object-oriented Programming, Systems, Languages, and Applications, pp. 2–7 (2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Ron Morrison Dharini Balasubramaniam Katrina Falkner

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Brito, P.H.S., de Lemos, R., Rubira, C.M.F. (2008). Development of Fault-Tolerant Software Systems Based on Architectural Abstractions. In: Morrison, R., Balasubramaniam, D., Falkner, K. (eds) Software Architecture. ECSA 2008. Lecture Notes in Computer Science, vol 5292. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-88030-1_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-88030-1_11

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-88029-5

  • Online ISBN: 978-3-540-88030-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics