Presentation is loading. Please wait.

Presentation is loading. Please wait.

Round-trip Engineering of Eclipse Plug-ins using Eclipse Workbench Part Interaction FSML Michał Antkiewicz, Krzysztof Czarnecki {mantkiew,

Similar presentations


Presentation on theme: "Round-trip Engineering of Eclipse Plug-ins using Eclipse Workbench Part Interaction FSML Michał Antkiewicz, Krzysztof Czarnecki {mantkiew,"— Presentation transcript:

1 Round-trip Engineering of Eclipse Plug-ins using Eclipse Workbench Part Interaction FSML Michał Antkiewicz, Krzysztof Czarnecki {mantkiew, kczarnec}@swen.uwaterloo.ca OOPSLA’06 Generative Software Development Lab http://gp.uwaterloo.ca

2 Outline Eclipse Workbench Part Interaction (WPI)  Domain  Models Framework-Specific Modeling Languages (FSMLs)  WPI FSML Round-trip engineering Prototype demonstration

3 CompilationUnit editor ContentOutline view PageSelectionServicePartService Workbench requires adapter provides selection listens to selections listens to parts

4 The model and the code Framework Code  Workbench  PartService  PageSelectionService Completion Code  CompilationUnit.java  ContentOutline.java  plugin.xml CompilationUnit editor ContentOutline view PageSelectionService PartService requires adapter provides selection listens to selections listens to parts WPI Model

5 Eclipse Workbench Part Interaction FSML A Framework-Specific Modeling Language  Is a Domain-Specific Modeling Language  Designed for an area of concern (e.g., Part Interaction) of an OO framework (e.g., Eclipse Workbench) WPI FSML defines  Concepts (e.g., editor, view, requires adapter)  Features (e.g., implementsIEditorPart, partId, multiPage)  Mappings concepts, features and framework API forward & reverse

6 Example Concept: editor Implementation steps and choices made explicit Every editor is a class with a name and qualifier Every editor has to implement IEditorPart interface An editor can optionally be multi- page, in which case it has to extend MultiPageEditorPart Optional contributor of a multi-page editor, if present, has to extend MultiPageActionBarContributor

7 Example Concept Instance Concept defines all valid concept instances selected partId feature and provided value eliminated multiPage feature Class testPlugin.ui.SampleEditor implements the instance

8 Agile Round-Trip Engineering framework completion code asserted model reverse engineering implementation model comparison JavaFSML last- reconciled model identified changes persistent artifacttemporary artifact data flow automatic process

9 Prototype Demonstration Eclipse Workbench Part Interaction FSML

10 Reverse Engineering Create a model for existing code

11 Model-Code Reconciliation Reconcile changes made to the model and to the code

12 Specification of a new editor Create new instance of editor in the model and create implementation in the code

13 Specification of a new requires adapter interaction Create new instance of requires adapter interaction in the model and create implementation in the code

14 Implementation of a new listens to selections interaction Create new instance of listens to selections interaction in the code and update the model

15 Fixing broken instance of the listens to selections interaction Remove implementation of a mandatory feature sourceDeregistersWithService. Update and validate the model and fix the error.

16 Reconfiguration of existing editor. Addition of multiPage feature Add multiPage feature to the editor. Enforce the feature in the code.

17 Conclusion Prototype of WPI FSML FSMLs enable automatic round-trip engineering  Lightweight modeling  Keeping the model and the code consistent  Allowing customization FSMLs help with framework-instantiation  Creating, modifying and recognizing concept instances in the code

18 Resources Framework-Specific Modeling Languages with Round-Trip Engineering. MoDELS’06 On-line demonstration, Technical Report http://gp.uwaterloo.ca/ http://gp.uwaterloo.ca/ Round-Trip Engineering of Eclipse Plug-ins Using Eclipse Workbench Part Interaction FSML. OOPSLA’06

19 Questions?


Download ppt "Round-trip Engineering of Eclipse Plug-ins using Eclipse Workbench Part Interaction FSML Michał Antkiewicz, Krzysztof Czarnecki {mantkiew,"

Similar presentations


Ads by Google