COTS Software Incorporation

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. My work has focused on building a framework for integrating COTS software as proactive components within software systems. The goal of the framework is to maintain the consistency of the state and data they share with other components of the system. 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 illustrated these capabilities through the integration of IBM's Rational Rose and Matlab/Stateflow into a design suite and demonstrated how our framework solves the complex data synchronization problems that arise from this integration.

Relevant Publications

Related Research

Relevant Related Events