A powerful feature of Eclipse is its plug-in architecture for incorporating third-party tools. An important source of plug-ins is standalone tools that were developed prior to the release of Eclipse. However, such tools inevitably incorporate features that Eclipse provides natively, requiring rework to rehost those features to Eclipse.In our retarget of the AspectBrowser application to Eclipse, we found not only an unexpected number of deeply ingrained features that needed to be rehosted, but also numerous GUI and architectural mismatches between AspectBrowser's version of these features and Eclipse's. By judiciously resolving these issues, we were able to minimize their impact on the AspectBrowser base code, and still reap significant benefits from Eclipse's high level of plug-in integration. For example, AspectBrowser is able to function as a viewer for any existing plug-in that produces Eclipse resource markers.This paper describes the insights gained from retargeting AspectBrowser to Eclipse and provides guidelines to those retargeting tools to Eclipse. We also reflect on the importance of recent improvements to Eclipse in this process, and what additional improvements could be made.
[1]
J. Yuan.
Using the Map Metaphor to Assist Cross-Cutting Software Changes
,
2000
.
[2]
William G. Griswold,et al.
Coping with Crosscutting Software Changes Using Information Transparency
,
2001,
Reflection.
[3]
David Garlan,et al.
Architectural Mismatch or Why it's hard to build systems out of existing parts
,
1995,
1995 17th International Conference on Software Engineering.
[4]
William G. Griswold,et al.
Tool support for planning the restructuring of data abstractions in large systems
,
1996,
SIGSOFT '96.
[5]
William G. Griswold,et al.
Getting started with ASPECTJ
,
2001,
CACM.
[6]
William G. Griswold,et al.
Exploiting the map metaphor in a tool for software evolution
,
2001,
Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.
[7]
Stephen G. Eick,et al.
Seesoft-A Tool For Visualizing Line Oriented Software Statistics
,
1992,
IEEE Trans. Software Eng..