Skip to main content
Log in

Integrating COTS Software into Systems through Instrumentation and Reasoning

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

Abstract

Commercial-off-the-shelf (COTS) software tends to be cheap, reliable, and functionally powerful due to its large user base. It has thus become highly desirable to incorporate COTS software into software products (systems) as it can significantly reduce development cost and effort, while maintaining overall software product quality and increasing product acceptance. However, incorporating COTS software into software products introduces new complexities that developers are currently ill equipped to handle. Most significantly, while COTS software frequently contains programmatic interfaces that allow other software components to obtain services from them on a direct call basis, they usually lack the ability to initiate interactions with other components. This often leads to problems of state and/or data inconsistency. This paper presents a framework for integrating COTS software as proactive components within a software system that maintain the consistency of the state and data they share with other components. The framework utilizes a combination of low-level instrumentation and high-level reasoning to expose the relevant internal activities within a COTS component required to initiate the communication needed to maintain consistency with the other components with which it shares state and data. We will illustrate these capabilities through the integration of IBM's Rational Rose into a design suite and demonstrate how our framework solves the complex data synchronization problems that arise from this integration.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Abts, C. and Boehm, B. (eds). 1996. In Proceedings of the Focused Workshop on System Integration with Commercial-Off-The-Shelf (COTS) Software. Los Angeles: University of Southern California (USC).

  • Abts, C., Boehm, B., and Bailey-Clark, E. 2001. COCOTS: A software cots-based system (cbs) cost model. In: Proceedings of the ESCOM 2001, pp. 1–8.

  • Balzer, R. and Goldman, N. 1999. Mediating connectors. In: Proceedings of the 19th IEEE International Conference on Distributed Computing Systems. pp. 73–77.

  • Boehm, B., Port, D., Yang, Y., Bhuta, J., and Abts, C. 2002. Composable Process Elements for Developing COTS-Based Applications, Technical Report, University of Southern California, Los Angeles, USA.

  • Boehm, B.W. 1989. Verifying and validating software requirements and design specifications. In: Software Risk Management, B.W. Boehm, (editor) IEEE Computer Society Press, pp. 205–218.

  • Boehm, B. W., Abts, C., Brown, A. W., Chulani, W., Clark, B. K., Horowitz, E., Madacy, R., Reifer, D. and Steece, B. 2000. Software Cost Estimation with COCOMO II, New Jersey: Prentice Hall.

    Google Scholar 

  • Boehm, B. and Abts, C. 1999. COTS integration: Plug and pray? IEEE Computer, 32:135–138.

    Google Scholar 

  • Boehm, B., Egyed, A., Port, D., Shah, A., Kwan, J., and Madachy, R. 1999. A stakeholder win-win approach to software engineering education. Annals of Software Engineering, 6:295–321.

    Google Scholar 

  • Boehm, B.W. and Basili, V.R. 2001. COTS-based systems top 10 List. IEEE Computer, 34:91–93.

    Google Scholar 

  • Booch, G., Rumbaugh, J., and Jacobson, I. 1999. The unified modeling language user guide. Addison Wesley.

  • Brownsword, L., Oberndorf, P., and Sledge, C. 2000. Developing new processes for cots-based systems. IEEE Software, 48–55.

  • Dean, J. and Gravel, A. (editors). 2002. COTS-Based Software Systems, Springer Verlag.

  • Egyed, A. 2001. Automated consistency checking between diagrams—The viewintegra approach. In: Proceedings of the 16th IEEE International Conference on Automated Software Engineering (ASE).

  • Egyed, A. 2002a. The API of the UML Interface, Technical Report, Teknowledge Corporation.

  • Egyed, A. 2002b. Automated abstraction of class diagrams. ACM Transaction on Software Engineering and Methodology (TOSEM), 11:449–491.

    Google Scholar 

  • Egyed, A. and Medvidovic, N. 2000. A formal approach to heterogeneous software modeling. In: Proceedings of 3rd Foundational Aspects of Software Engineering (FASE), Berlin, Germany, pp. 178–192.

  • Egyed, A., Medvidovic, N., and Gacek, C. 2000. A component-based perspective on software mismatch detection and resolution. IEE Proceedings Software, 147:225–236.

    Google Scholar 

  • Egyed, A. and Wile, D. 2001. Statechart simulator for modeling architectural dynamics. In: Proceedings of the 2nd Working International Conference on Software Architecture (WICSA). Amsterdam, The Netherlands, pp. 87–96.

  • Gamma, E., Helm, R., Johnson, R., and Vlissides. J. 1994. Design Patterns Elements of Reuseable Object-Oriented Software. Addison Wesley.

  • Garlan, D., Allen, R., and Ockerbloom, J. 1995. Architectural Mismatch or Why it's hard to build systems out of existing parts. IEEE Software, 17–26.

  • Goldman, N. and Balzer, R. 1999. The ISI visual editor generator. In: Proceedings of the IEEE Symposium on Visual Languages.

  • Hofmeister, C., Nord, R.L., and Soni, D. 1999. Describing software architecture with UML. In: Proceedings of the First Working IFIP Conference on Software Architecture (WICSA1), San Antonio, TX, pp. 145–159.

  • Lawlis, P.K., Mark, K.E., Thomas, D.A., and Courtheyn, T. 2001. A formal process for evaluating cots software products. IEEE Computer, 34:58–63.

    Google Scholar 

  • Luckham, D.C. and Vera, J.J. 1995. An event-based architecture definition language. IEEE Transactions on Software Engineering.

  • Maiden, N.A. and Ncube, C. 1998. Acquiring COTS software selection requirements. IEEE Software, 15:46–56.

    Article  Google Scholar 

  • Medvidovic, N., Rosenblum, D.S., Robbins, J.E., and Redmiles, D.F. to apear. Modeling Software Architectures in the Unified Modeling Language. ACM Transactions on Software Engineering and Methodology.

  • Medvidovic, N., Rosenblum, D.S. and Taylor, R.N. 1999. A language and environment for architecture-based software development and evolution. In: Proceedings of the 21st International Conference on Software Engineering (ICSE'99), pp. 44–53.

  • Medvidovic, N. and Taylor, R.N. 2000. A classification and comparison framework for software architecture description languages. IEEE Transactions on Software Engineering, 26:70–93.

    Article  Google Scholar 

  • Morisio, M., Seaman, C.B., Parra, A.T., Basili, V.R., Kraft, S.E., and Condon, S.E. 2000. Investigating and improving a COTS-based software development process. In: Proceedings of the 22nd International Conference on Software Engineering (ICSE), pp. 32–41.

  • Object Management Group. 1995. The Common Object Request Broker: Architecture and Specification.

  • Schulte, M. 2002. MoBIES Application Component Library Interface for the Model-Based Integration of Embedded Software Weapon System Open Experimental Platform, Technical Report, Boeing.

  • Sedigh-Ali, S., Ghafoor, A., and Paul, R.A. 2001. ware engineering metrics for COTS-based systems. IEEE Computer, 34:44–50.

    Google Scholar 

  • Sun Microsystems. 2001. Java Remote Method Invocation—Distributed Computing for Java. (UnPub)

  • Tallis, M. and Balzer, R. 2001. Document Integrity through Mediated Interfaces. In: Proceedings of the 2nd DARPA Information Survivability Conference and Exposition (DISCEX).

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

    Article  Google Scholar 

  • Vinoski, S. 1997. CORBA: Integrating diverse applications within distributed heterogeneous environments, IEEE Communications Magazine.

  • Wile, D. 2001. Supporting the DSL spectrum. Journal of computing and information technology. Journal on Computing and Information Technology 9:263–287.

    MATH  Google Scholar 

  • Williams, S. and Kindel, C. 1994. The Component Object Model: A Technical Overview, Dr. Dobb's Journal.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alexander Egyed.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Egyed, A., Balzer, R. Integrating COTS Software into Systems through Instrumentation and Reasoning. Autom Software Eng 13, 41–64 (2006). https://doi.org/10.1007/s10515-006-5466-4

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10515-006-5466-4

Keywords

Navigation