D27: Round-Trip Engineering of Eclipse Plug-ins Using Eclipse Workbench Part Interaction FSML
D27: Round-Trip Engineering of Eclipse Plug-ins Using Eclipse Workbench Part Interaction FSMLTuesday, Oct 24, from 14:00 to 14:30
Wednesday, Oct 25, from 14:30 to 15:00
Thursday, Oct 26, from 10:30 to 11:00
Thursday, Oct 26, from 16:30 to 17:00
Framework-Specific Modeling Languages (FSMLs) were recently proposed to aid framework instantiation process. FSLMs are defined on top of an object-oriented application framework and are used to express models showing how framework-provided abstractions are used in framework-based applications. In this demonstration we present a prototype implementation of an example FSML - Eclipse Workbench Part Interaction (WPI) FSML. WPI FSML defines framework-provided concepts such as view, editor, listens to selection, requires adapter, and provides selection. WPI concepts are defined using forward and reverse mappings to framework completion code. Reverse mapping defines how an instance of a concept can be reverse engineered from the framework completion code. Forward mapping defines how framework completion code is forward engineered from concept configuration. Our prototype supports automated round-trip engineering which includes reverse engineering, model-code comparison, reconciliation, and forward engineering and model update. During the demonstration we create a sample Eclipse plug-in. We reverse engineer it to create the WPI model. We present a few round-trip engineering cycles by modifying, comparing, and reconciling both the model and the code demonstrating the capabilities of the prototype. The prototype is implemented using Eclipse Modeling Framework and utilizes Java Model, code query and AST rewriting API of Eclipse Java Development Tools.
Michal Antkiewicz, University of Waterloo
Krzysztof Czarnecki, University of Waterloo