Skip to main content

A Fault-Tolerant Software Architecture for Component-Based Systems

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2677))

Abstract

Component-based software built from reusable software components is being used in a wide range of applications that have high dependability requirements. In order to achieve the required levels of dependability, it is necessary to incorporate into these complex systems means for coping with software faults. However, the problem is exacerbated if we consider the current trend of integrating off-the-shelf software components, from independent sources, which allow neither code inspection nor changes. To leverage the dependability properties of these systems, we need solutions at the architectural level that are able to guide the structuring of unreliable components into a fault-tolerant architecture. In this paper, we present an approach for structuring fault-tolerant component-based systems based on the C2 architectural style.

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. T. Anderson and P.A. Lee. Fault Tolerance: Principles and Practice. Prentice-Hall, 1981.

    Google Scholar 

  2. L.F. Andrade and J.L. Fiadeiro. Feature modeling and composition with coordination contracts. In Proceedings Feature Interaction in Composed System (ECOOP 2001), pages 49–54. Universitat Karlsruhe, 2001.

    Google Scholar 

  3. A. Avizienis. The N-Version Approach to Fault-tolerant Software. IEEE Transactions on Software Engineering, 11(2): 1491–1501, December 1995.

    Google Scholar 

  4. L. Bass, P. Clements, and R. Kazman. Software Architecture in Practice. Addison-Wesley, 1998.

    Google Scholar 

  5. D. M. Beder, B. Randell, A. Romanovsky, and C.M.F. Rubira. On Applying Coordinated Atomic Actions and Dependable Software Architectures for Developing Complex Systems. In Proceedings of the 4th IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC 2001), Magdeburg, Germany, May 2–4, 2001, pp. 103–112, IEEE Computer Society Press.

    Google Scholar 

  6. A.W. Brown and KC. Wallnau. The current state of CBSE. IEEE Software, 15(5):37–46, September / October 1998.

    Article  Google Scholar 

  7. T.D. Chandra. Unreliable failure detectors for reliable distributed systems. Journal of the ACM, 43(2):225–267, March 1996.

    Article  MathSciNet  Google Scholar 

  8. I.E. Cook and J.A. Dage. Highly reliable upgrading of components. In Proceedings of the 21st International Conference on Software Engineering (ICSEV9), pages 203–212, New York, NY, May 1999. ACM Press.

    Google Scholar 

  9. D. Garlan, R. Allen, and J. Ockerbloom. Architectural mismatch: Why reuse is so hard. IEEE Software, 12(6): 17–26, November 1995.

    Article  Google Scholar 

  10. A.F. Garcia, C.M.F. Rubira, A. Romanovsky, and J. Xu. A Comparative Study of Exception Handling Mechanisms for Building Dependable Object-Oriented Software. In Journal of Systems and Software, Elsevier, Vol. 59, Issue 2, November 2001, pp. 197–222.

    Article  Google Scholar 

  11. F.C. Gärtner. Fundamentals of fault-tolerant distributed computing in asynchronous environments. ACM Computing Surveys, 31(1):1–26, March 1999.

    Article  Google Scholar 

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

    Google Scholar 

  13. J.C. Laprie. Dependability: A Unifying Concept for Reliable Computing and Fault Tolerance, chapter 1, pages 1–28. Blackwell Scientific Publications Ltd., 1989.

    Google Scholar 

  14. J.C. Laprie. Dependability: Basic concepts and terminology. In Special Issue of the Twenty-Fifth International Symposium on Fault-Tolerant Computing (FTCS-25). IEEE Computer Society Press, 1995.

    Google Scholar 

  15. K.G. Larsen, P. Petersson, and W. Yi. UPPALL in a Nutshell. In International Journal on Software Tools for Technology Transfer. 1997.

    Google Scholar 

  16. R. de Lemos. Describing evolving dependable systems using co-operative software architectures. In Proceedings of the IEEE International Conference on Software Maintenance (ICSM 2001), pages 320–329. 2001.

    Google Scholar 

  17. N. Medvidovic, P. Oreizy, and R.N. Taylor. Reuse of off-the-shelf components in C2-style architectures. In Proceedings of the 1997 Symposium on Software Reusability (SSRV7), 1997.

    Google Scholar 

  18. M. Rakic and N. Medvidovic. Increasing the confidence in o-the-shelf components: A software connector-based approach. In Proceedings of the 2001 Symposium on Software Reusability (SSR 2001), pages 11–18. ACM/SIGSOFT, May 2001.

    Google Scholar 

  19. B. Randell and J. Xu. The evolution of the recovery block concept, In Software Fault Tolerance, chapter 1. John Wiley Sons Ltd., 1995.

    Google Scholar 

  20. T. Saridakis and V. Issarny. Developing Dependable Systems using Software Architecture. Technical report, INRIA/IRISA, 1999.

    Google Scholar 

  21. L. Sha, R. Rajkumar, and M. Gagliardi. Evolving Dependable Real-Time Systems. In 1996 IEEE Aerospace Applications Conference Proceedings. 1996.

    Google Scholar 

  22. M. Shaw and D. Garlan. Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall. 1996.

    Google Scholar 

  23. M. Shaw and P. Clements. A Field Guide to Boxology: Preliminary Classification of Architectural Styles for Software Systems. In Proceedings of the COMPSAC97, First International Computer Software and Applications Conference, 1997.

    Google Scholar 

  24. M. Sloman and J. Kramer. Distributed Systems and Computer Networks. Prentice Hall, 1987.

    Google Scholar 

  25. D. Sotirovski. Towards fault-tolerant software architectures. In R. Kazman, P. Kruchten, C. Verhoef, and H. Van Vliet, editors, Working IEEE/IFIP Conference on Software Architecture, pages 7–13, Los Alamitos, CA, 2001.

    Google Scholar 

  26. V. Stavridou and R.A. Riemenschneider. Provably dependable software architectures. In Proceedings of the Third ACM SIGPLAN International Software Architecture Workshop, pages 133–136. ACM, 1998.

    Google Scholar 

  27. R.N. Taylor, N. Medvidovic, K. M. Anderson, E. J. Whitehead Jr., J. E. Robbins, K. A. Nies, P. Oreizy, and D. L. Dubrow. A component-and message-based architectural style for GUI software. IEEE Transactions on Software Engineering, 22(6): 390–406, June 1996.

    Article  Google Scholar 

  28. UCI. Archstudio 3-Foundations-c2.fw, http://www.isr.uci.edu/projects/archstudio/c2fw.html, accessed November, 2002.

  29. G. Vecellio, and W.M. Thomas. Issues in the assurance of component-based software. In Proceedings of the 2000 International Workshop on Component-Based Software Engineering. Carnegie Mellon Software Engineering Institute, 2000.

    Google Scholar 

  30. S.S. Yau and B. Xia. An Approach to Distributed Component-Based Real-Time Application Software Development. In The First IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC’98). 1998.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Guerra, P.A.d.C., Rubira, C.M.F., de Lemos, R. (2003). A Fault-Tolerant Software Architecture for Component-Based Systems. In: de Lemos, R., Gacek, C., Romanovsky, A. (eds) Architecting Dependable Systems. Lecture Notes in Computer Science, vol 2677. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45177-3_6

Download citation

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

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-40727-0

  • Online ISBN: 978-3-540-45177-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics