Abstract
Component-based software systems built out of reusable software components are being used in a wide range of applications which have high dependability requirements. In order to accomplish the required levels of dependability, it is necessary to incorporate into these complex systems means for to cope with software faults. Exception handling is a well-known technique for adding forward error recovery to software systems supported by various mainstream programming languages. However, exception handling for component-based applications at the architectural level introduces new challenges which are not addressed by traditional exception handling systems, such as unavailability of source code, specially when off-the-shelf components are employed. In this paper, we present an exception handling system which adds fault tolerance to component-based systems at the architectural level. Our solution considers issues which are specific to component-based applications, such as unavailability of source code. We also present a framework which implements the proposed exception handling system for applications built using the C2 architectural style.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Anderson, T., Lee, P.A.: Fault Tolerance: Principles and Practice, 2nd edn. Prentice-Hall, Englewood Cliffs (1990)
Brown, A.W., Wallnau, K.C.: The Current State of CBSE. IEEE Software 15(5), 37–46 (1998)
Clements, P.C., Northrop, L.: Software Architecture: An Executive Overview. Technical Report CMU/SEI-96-TR-003. Software Engineering Institute, Carnegie Mellon University (1996)
Cook, J.E., Dage, J.A.: Highly Reliable Upgrading of Components. In: Proceedings of the 21st International Conference on Software Engineering, pp. 203–212 (1999)
Cristian, F.: Exception Handling. In: Anderson, T. (ed.) Dependability of Resilient Computers. BSP Professional Books (1989)
Dashofy, E.M., Medvidovic, N., Taylor, R.N.: Using Off-The- Shelf Middleware to Implement Connectors in Distributed Software Architectures. In: Proceedings of the 21st International Conference on Software Engineering (ICSE 1999), pp. 3–12 (1999)
Garcia, A., Beder, D., Rubira, C.: An Exception Handling Mechanism for Developing Dependable Object-Oriented Software Based on a Meta-Level Approach. In: Proceedings of the 10th International Symposium on Software Reliability Engineering - ISSRE 1999, pp. 52–61. IEEE Computer Society Press, Los Alamitos (1999)
Garcia, A., Rubira, C., Romanovsky, A., Xu, J.: A Comparative Study of Exception Handling Mechanisms for Building Dependable Object-Oriented Software. Journal of Systems and Software 59(2), 197–222 (2001)
Garlan, D., Monroe, R.T., Wile, D.: Acme: Architectural Description of Component-Based Systems. In: Levens, G.T., Sitaraman, M. (eds.) Foundations of Component -Based Systems, pp. 47–67. Cambridge University Press, Cambridge (2000)
Goodenough, J.B.: Exception Handling: Issues and a Proposed Notation. Communications of the ACM 18(12), 683–696 (1975)
Gosling, J., Joy, B., Steele, G.: The Java Language Specification. Addison-Wesley, Reading (1996)
Guerra, P., Rubira, C., de Lemos, R.: An Idealized Fault- Tolerant Architectural Component. In: Proceedings of the 24th International Conference on Software Engineering – Workshop on Architecting Dependable Systems (2002)
Guerra, P.A.C., Rubira, C.M.F., de Lemos, R.: A Fault-Tolerant Architecture for Component-Based Software Systems. In: de Lemos, R., Gracek, C., Romanosvsky, A. (eds.) Architecting Dependable Systems. LNCS. Springer, Heidelberg (2003) (to appear)
Guerra, P., Rubira, C., Romanovsky, A., de Lemos, R.: Integrating COTS Software Componentes Into Dependable Software Architectures. In: Proceedings of the 6th International Symposium on Object-Oriented Real-Time Distributed Computing. IEEE Computer Society Press, Los Alamitos (2003)
Issarny, V., Banatre, J.P.: Architecture-Based Exception Handling. In: Proceedings of the 34th Annual Hawaii International Conference on System Sciences. IEEE Society Press, Los Alamitos (2001)
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Lingtier, J., Irwin, J.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)
Koening, A., Stroustrup, B.: Exception Handling for C++. Jornal of Object- Oriented Programmings 3(2), 16–33 (1990)
Lacourte, S.: Exceptions in Guide, an Object-Oriented Language for Distributed Applications. In: America, P. (ed.) ECOOP 1991. LNCS, vol. 512, pp. 268–287. Springer, Heidelberg (1991)
Maes, P.: Concepts and Experiments in Computational Reflection. ACM SIGPLAN Notices 22(12), 147–155 (1987)
Medvidovic, N., Oreizy, P., Taylor, R.N.: Reuse of Off-the-Shelf Components in C2-Style Architectures. In: Proceedings of the 1997 Symposium on Software Reusability, pp. 190–198 (1997)
Rakic, M., Medvidovic, N.: Increasing the Confidence in Off-the-Shelf Components: A Software Connector-Based Approach. In: Proceedings of the 2001 Symposium on Software Reusability, pp. 11–18 (2001)
Saridakis, T., Issarny, V.: Fault-Tolerant Software Architectures. Technical Report 3350. INRIA (1999)
Sloman, M., Kramer, J.: Distributed Systems and Computer Networks. Prentice-Hall, Englewood Cliffs (1987)
Sprott, D.: Componentizing the Enterprise Application Packages. Communications of the ACM 43(4), 63–69 (2000)
Stavridou, V., Riemenschneider, A.: Provably Dependable Software Architectures. In: Proceedings of the Third ACM SIGPLAN International Software Architecture Workshop, pp. 133–136. ACM Press, New York (1998)
Sun Microsystems: Enterprise Javabeans Specification v2.1 - Proposed Final Draft (2002), Avaliable at http://java.sun.com/products/ejb/
Taft, S.T., Duff, R.A.: Ada 95 Reference Manual. Language and Standard Libraries. LNCS, vol. 1246. Springer, Heidelberg (1997)
Taylor, R.N., Medvidovic, N., Anderson, K.M., Whitehead Jr., E.J., Robbins, J.E.: A Component- and Message- Based Architectural Style for GUI Software. In: Proceedings of the 17th International Conference on Software Engineering, pp. 295–304 (1995)
UCI: ArchStudio 3.0 Homepage, Available at http://www.isr.uci.edu/projects/archstudio
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
Filho, F.C., Asterio de C. Guerra, P., Rubira, C.M.F. (2003). An Architectural-Level Exception-Handling System for Component-Based Applications. In: de Lemos, R., Weber, T.S., Camargo, J.B. (eds) Dependable Computing. LADC 2003. Lecture Notes in Computer Science, vol 2847. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-45214-0_23
Download citation
DOI: https://doi.org/10.1007/978-3-540-45214-0_23
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-20224-0
Online ISBN: 978-3-540-45214-0
eBook Packages: Springer Book Archive