Skip to main content

A Dependable Architecture for COTS-Based Software Systems Using Protective Wrappers

  • Conference paper
Book cover Architecting Dependable Systems II

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.

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 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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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)

    Chapter  Google Scholar 

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

    Google Scholar 

  3. 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

  4. Chessman, J., Daniels, J.: UML Components: A Simple Process for Specifying Component-Based Software. Addison-Wesley, Reading (2001)

    Google Scholar 

  5. De Lemos, R., Saeed, A., Anderson, T.: Analyzing Safety Requirements for Process-Control Systems. IEEE Software 12(3), 42–53 (1995)

    Article  Google Scholar 

  6. 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)

    Google Scholar 

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

    Article  Google Scholar 

  8. 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)

    Chapter  Google Scholar 

  9. 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)

    Google Scholar 

  10. 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)

    Google Scholar 

  11. 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)

    Google Scholar 

  12. 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)

    Google Scholar 

  13. 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)

    Google Scholar 

  14. Plasil, F., Visnovsky, S.: Behavior Protocols for Software Components. IEEE Transactions on Software Engineering 28(11), 1056–1076 (2002)

    Article  Google Scholar 

  15. 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)

    Chapter  Google Scholar 

  16. 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)

    Chapter  Google Scholar 

  17. 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)

    Google Scholar 

  18. 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)

    Google Scholar 

  19. 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)

    Google Scholar 

  20. 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)

    Google Scholar 

  21. Sha, L.: Using Simplicity to Control Complexity. IEEE Software, pp.20-28 (July/August 2001)

    Google Scholar 

  22. 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)

    Google Scholar 

  23. 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)

    Google Scholar 

  24. 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)

    Google Scholar 

  25. 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)

    Chapter  Google Scholar 

  26. 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)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics