Data and State Synchronicity Problems While Integrating COTS Software into Systems

Authors: Alexander Egyed, Sven Johann, and Robert Balzer

The cooperation between commercial-off-the-shelf (COTS) software and in-house software within larger software systems is becoming increasingly desirable. Unfortunately, COTS software packages typically are standalone applications that do not provide information about changes to their data and/or state to the rest of the system. Furthermore, they typically use their own, proprietary data formats, which are syntactically and semantically different from the system.

We developed an approach that externalizes data and state changes of COTS software instantly and incrementally. The approach uses a combination of instrumentation and reasoning to determine when and where changes happen inside the COTS software. It then notifies interested third parties of these changes. The approach is most useful in domains where the system has to be aware of data and state changes within COTS software but it is computationally infeasible to poll it periodically (i.e., large-scale data). The approach has been validated on several COTS design tools with large, industrial models (e.g., over 34,000 model elements) for effectiveness and scalability.

Download PDF here!