Abstract
Commercial off-the-shelf (COTS) software components are built to be used as black boxes that cannot be modified. The specific context in which these COTS components are employed is not known to their developers. When integrating such COTS components into systems, which have high dependability requirements, there may be mismatches between the failure assumptions of these components and the rest of the system. For resolving these mismatches, system integrators must rely on techniques that are external to the COTS software components. In this paper, we combine the concepts of an idealised architectural component and protective wrappers to develop an architectural solution that provides an effective and systematic way for building dependable software systems from COTS software components.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Anderson, T., Feng, M., Riddle, S., Romanovsky, A.: Protective Wrapper Development: A Case Study. In: Erdogmus, M.H., Weng, T. (eds.) ICCBSS 2003. LNCS, vol. 2580, pp. 1–14. Springer, Heidelberg (2003)
Anderson, T., Lee, P.A.: Fault Tolerance: Principles and Practice. Prentice-Hall, Englewood Cliffs (1981)
Van Baelen, S., Urting, D., Van Belle, W., Jonckers, V., Holvoet, T., Berbers, Y., De Vlaminck, K.: Toward a unified terminology for component-based development. In: WCOP Workshop, ECOOP 2000, Cannes, France (2000), Available at: http://www.dess-itea.org/publications/ECOOP2000-WCOP-KULeuven.pdf
Chessman, J., Daniels, J.: UML Components: A Simple Process for Specifying Component-Based Software. Addison-Wesley, Reading (2001)
De Lemos, R., Saeed, A., Anderson, T.: Analyzing Safety Requirements for Process-Control Systems. IEEE Software 12(3), 42–53 (1995)
DeLine, R.: A Catalog of Techniques for Resolving Packaging Mismatch. In: Proc. 5th Symposium on Software Reusability (SSR 1999), Los Angeles, CA, May 1999, pp. 44–53 (1999)
Garlan, D., Allen, R., Ockerbloom, J.: Architectural mismatch: Why reuse is so hard. IEEE Software 12(6), 17–26 (1995)
Guerra, P.A.C., Rubira, C.M.F., de Lemos, R.: An Idealized Fault-Tolerant Architectural Component. In: de Lemos, R., Gacek, C., Romanovsky, A. (eds.) Architecting Dependable Systems. LNCS, vol. 2677, pp. 21–41. Springer, Heidelberg (2003)
Guerra, P.A.C., Rubira, C.M.F., Romanovsky, A., de Lemos, R.: Integrating COTS Software Components Into Dependable Software Architectures. In: Proc. 6th IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, Hokkaido, Japan, pp. 139–142 (2003)
Guerra, P.A.C., Rubira, C.M.F., Romanovsky, A., de Lemos, R.: A Fault-Tolerant Software Architecture for COTS-based Software Systems. In: Proc. 9th European Software Engineering Conference held jointly with 10th ACM SIGSOFT International Symposium on Foundations of Software Engineering, Helsinki, Finland, pp. 375–378 (2003)
Hamlet, D., Mason, D., Woit, D.: Theory of System Reliability Based on Components. In: Proc. 2000 International Workshop on Component-Based Software Engineering. CMU/SEI (2000)
Koopman, P., De Vale, J.: Comparing the Robustness of POSIX Operating Systems. In: Proc. Fault Tolerant Computing Symposium (FTCS-29), Wisconsin, USA, pp. 30–37 (1999)
Oberndorf, P., Wallnau, K., Zaremski, A.M.: Product Lines: Reusing Architectural Assets within an Organisation. In: Bass, L., Clements, P., Kazman, R. (eds.) Software Architecture in Practice, pp. 331–344. Addison-Wesley, Reading (1998)
Plasil, F., Visnovsky, S.: Behavior Protocols for Software Components. IEEE Transactions on Software Engineering 28(11), 1056–1076 (2002)
Popov, P., Riddle, S., Romanovsky, A., Strigini, L.: On Systematic Design of Protectors for Employing OTS Items. In: Proc. 27th Euromicro Conference, Warsaw, Poland, September 4-6, pp. 22–29. IEEE, CS (2001)
Rodriguez, M., Fabre, J.-C., Arlat, J.: Wrapping Real-Time Systems from temporal Logic Specification. In: Bondavalli, A., Thévenod-Fosse, P. (eds.) EDCC 2002. LNCS, vol. 2485, pp. 253–270. Springer, Heidelberg (2002)
Rakic, M., Medvidovic, N.: Increasing the Confidence in Off-The-Shelf Components: A Software Connector-Based Approach. In: Proc. 2001 Symposium on Software Reusability (SSR 2001). ACM/SIGSOFT Software Engineering Notes, vol. 26(3), pp. 11–18 (2001)
Schneider, J.-G., Nierstrasz, O.: Components, Scripts and Glue. In: Barroca, L., Hall, J., Hall, P. (eds.) Software Architecture Advances and Applications, pp. 13–25. Springer, Heidelberg (2000)
Sedigh-Ali, S., Ghafoor, A., Paul, R.A.: Metrics and Models for Cost and Quality of Component-Based Software. In: Proc. 6th IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, Hokkaido, Japan (2003)
Sotirovski, D.: Towards Fault-Tolerant Software Architectures. In: Kazman, R., Kruchten, P., Verhoef, C., Van Vliet, H. (eds.) Working IEEE/IFIP Conference on Software Architecture, Los Alamitos, CA, pp. 7–13 (2001)
Sha, L.: Using Simplicity to Control Complexity. IEEE Software, pp.20-28 (July/August 2001)
Shaw, M., Clements, P.C.: A Field Guide to Boxology: Preliminary Classification of Architectural Styles for Software Systems. In: Proc. 21st International Computer Software and Applications Conference, pp. 6–13 (1997)
Salles, F., Rodriguez, M., Fabre, J.-C., Arlat, J.: Metakernels and Fault Containment Wrappers. In: Proc. Fault Tolerant Computing Symposium (FTCS-29), Wisconsin, USA, pp. 22–29 (1999)
Saridakis, T., Issarny, V.: Developing Dependable Systems using Software Architecture. In: Proc. 1st Working IFIP Conference on Software Architecture, February 1999, pp. 83–104 (1999)
Stavridou, V., Riemenschneider, R.A.: Provably Dependable Software Architectures. In: Proc. Third ACM SIGPLAN International Software Architecture Workshop, pp. 133–136. ACM, New York (1998)
Taylor, R.N., Medvidovic, N., Anderson, K.M., Whitehead Jr., E.J., Robbins, J.E., Nies, K.A., Oreizy, P., Dubrow, D.L.: A Component- and Message-based Architectural Style for GUI Software. IEEE Transactions on Software Engineering 22(6), 390–406 (1996)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
de C. Guerra, P.A., Rubira, C.M.F., Romanovsky, A., de Lemos, R. (2004). A Dependable Architecture for COTS-Based Software Systems Using Protective Wrappers. In: de Lemos, R., Gacek, C., Romanovsky, A. (eds) Architecting Dependable Systems II. Lecture Notes in Computer Science, vol 3069. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-25939-8_7
Download citation
DOI: https://doi.org/10.1007/978-3-540-25939-8_7
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-23168-4
Online ISBN: 978-3-540-25939-8
eBook Packages: Springer Book Archive