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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
T. Anderson and P.A. Lee. Fault Tolerance: Principles and Practice. Prentice-Hall, 1981.
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.
A. Avizienis. The N-Version Approach to Fault-tolerant Software. IEEE Transactions on Software Engineering, 11(2): 1491–1501, December 1995.
L. Bass, P. Clements, and R. Kazman. Software Architecture in Practice. Addison-Wesley, 1998.
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.
A.W. Brown and KC. Wallnau. The current state of CBSE. IEEE Software, 15(5):37–46, September / October 1998.
T.D. Chandra. Unreliable failure detectors for reliable distributed systems. Journal of the ACM, 43(2):225–267, March 1996.
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.
D. Garlan, R. Allen, and J. Ockerbloom. Architectural mismatch: Why reuse is so hard. IEEE Software, 12(6): 17–26, November 1995.
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.
F.C. Gärtner. Fundamentals of fault-tolerant distributed computing in asynchronous environments. ACM Computing Surveys, 31(1):1–26, March 1999.
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.
J.C. Laprie. Dependability: A Unifying Concept for Reliable Computing and Fault Tolerance, chapter 1, pages 1–28. Blackwell Scientific Publications Ltd., 1989.
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.
K.G. Larsen, P. Petersson, and W. Yi. UPPALL in a Nutshell. In International Journal on Software Tools for Technology Transfer. 1997.
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.
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.
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.
B. Randell and J. Xu. The evolution of the recovery block concept, In Software Fault Tolerance, chapter 1. John Wiley Sons Ltd., 1995.
T. Saridakis and V. Issarny. Developing Dependable Systems using Software Architecture. Technical report, INRIA/IRISA, 1999.
L. Sha, R. Rajkumar, and M. Gagliardi. Evolving Dependable Real-Time Systems. In 1996 IEEE Aerospace Applications Conference Proceedings. 1996.
M. Shaw and D. Garlan. Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall. 1996.
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.
M. Sloman and J. Kramer. Distributed Systems and Computer Networks. Prentice Hall, 1987.
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.
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.
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.
UCI. Archstudio 3-Foundations-c2.fw, http://www.isr.uci.edu/projects/archstudio/c2fw.html, accessed November, 2002.
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.
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.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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