Automated Software Engineering

, Volume 13, Issue 1, pp 41–64 | Cite as

Integrating COTS Software into Systems through Instrumentation and Reasoning

  • Alexander Egyed
  • Robert Balzer


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.


COTS-based software system COTS integration change notification 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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).Google Scholar
  2. 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.Google Scholar
  3. Balzer, R. and Goldman, N. 1999. Mediating connectors. In: Proceedings of the 19th IEEE International Conference on Distributed Computing Systems. pp. 73–77.Google Scholar
  4. 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.Google Scholar
  5. 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.Google Scholar
  6. 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
  7. Boehm, B. and Abts, C. 1999. COTS integration: Plug and pray? IEEE Computer, 32:135–138.Google Scholar
  8. 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
  9. Boehm, B.W. and Basili, V.R. 2001. COTS-based systems top 10 List. IEEE Computer, 34:91–93.Google Scholar
  10. Booch, G., Rumbaugh, J., and Jacobson, I. 1999. The unified modeling language user guide. Addison Wesley.Google Scholar
  11. Brownsword, L., Oberndorf, P., and Sledge, C. 2000. Developing new processes for cots-based systems. IEEE Software, 48–55.Google Scholar
  12. Dean, J. and Gravel, A. (editors). 2002. COTS-Based Software Systems, Springer Verlag.Google Scholar
  13. Egyed, A. 2001. Automated consistency checking between diagrams—The viewintegra approach. In: Proceedings of the 16th IEEE International Conference on Automated Software Engineering (ASE).Google Scholar
  14. Egyed, A. 2002a. The API of the UML Interface, Technical Report, Teknowledge Corporation.Google Scholar
  15. Egyed, A. 2002b. Automated abstraction of class diagrams. ACM Transaction on Software Engineering and Methodology (TOSEM), 11:449–491.Google Scholar
  16. 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.Google Scholar
  17. 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
  18. 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.Google Scholar
  19. Gamma, E., Helm, R., Johnson, R., and Vlissides. J. 1994. Design Patterns Elements of Reuseable Object-Oriented Software. Addison Wesley.Google Scholar
  20. 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.Google Scholar
  21. Goldman, N. and Balzer, R. 1999. The ISI visual editor generator. In: Proceedings of the IEEE Symposium on Visual Languages.Google Scholar
  22. 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.Google Scholar
  23. 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
  24. Luckham, D.C. and Vera, J.J. 1995. An event-based architecture definition language. IEEE Transactions on Software Engineering.Google Scholar
  25. Maiden, N.A. and Ncube, C. 1998. Acquiring COTS software selection requirements. IEEE Software, 15:46–56.CrossRefGoogle Scholar
  26. 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.Google Scholar
  27. 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.Google Scholar
  28. 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.CrossRefGoogle Scholar
  29. 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.Google Scholar
  30. Object Management Group. 1995. The Common Object Request Broker: Architecture and Specification.Google Scholar
  31. Schulte, M. 2002. MoBIES Application Component Library Interface for the Model-Based Integration of Embedded Software Weapon System Open Experimental Platform, Technical Report, Boeing.Google Scholar
  32. Sedigh-Ali, S., Ghafoor, A., and Paul, R.A. 2001. ware engineering metrics for COTS-based systems. IEEE Computer, 34:44–50.Google Scholar
  33. Sun Microsystems. 2001. Java Remote Method Invocation—Distributed Computing for Java. (UnPub)Google Scholar
  34. Tallis, M. and Balzer, R. 2001. Document Integrity through Mediated Interfaces. In: Proceedings of the 2nd DARPA Information Survivability Conference and Exposition (DISCEX).Google Scholar
  35. 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.CrossRefGoogle Scholar
  36. Vinoski, S. 1997. CORBA: Integrating diverse applications within distributed heterogeneous environments, IEEE Communications Magazine.Google Scholar
  37. Wile, D. 2001. Supporting the DSL spectrum. Journal of computing and information technology. Journal on Computing and Information Technology 9:263–287.zbMATHGoogle Scholar
  38. Williams, S. and Kindel, C. 1994. The Component Object Model: A Technical Overview, Dr. Dobb's Journal.Google Scholar

Copyright information

© Springer Science + Business Media, Inc. 2006

Authors and Affiliations

  1. 1.Teknowledge CorporationMarina Del ReyUSA

Personalised recommendations