Improving interoperability to facilitate reverse engineering tool adoption




Zwiers, David Michael.

Journal Title

Journal ISSN

Volume Title



Although we cannot show a direct link between tool adoption and tool interoperability in this thesis, we have completed the first step by increasing our understanding of interoperability. This thesis shows how to use existing technology such as XML, SOAP and GXL to improve interoperability. Although the ideas behind XML are not new, XML has been used to increase interoperability between systems. While the goal is to improve interoperability, we also keep in mind other software engineering design concerns, such as ease of maintenance and scalability. To evaluate our ideas about improving interoperability, we completed a prototype, which allows us to compare our approach to other existing systems. Our prototype is a reverse engineering tool for which existing systems and requirements are readily available. Some of the more relevant requirements include tool customization, persistence, tool deployment and interoperability. These requirements were combined with the reverse engineering requirements in the design stages of development in the hope of creating a more cohesive system. In our quest to improve interoperability of reverse engineering tools, we considered three types of integration. Data integration refers to the extent to which applications can share or use each other's data. Control integration is the ability of one system to request another system to perform some action. Process integration is similar to other forms of integration in so far as it looks at how to easily move between two user processes or actions. In this thesis we compare our prototype, the ACRE Engine, with the Rigi system. The comparison focused on our understanding of interoperability. We found that the Rigi system has many data integration features-most of which stem from its proprietary data format, Rigi Standard Format (RSF). Rigi's ability to integrate control between applications is restricted to file system messages. We did find the Rigi system could complete process integration tasks effectively. In this thesis we show that the ACRE System is at least as good, and in most cases better than the existing Rigi system with respect to the three forms of interoperability mentioned above.