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

Slides:



Advertisements
Similar presentations
GenArch: Automatic Product Derivation in Multi-agent Systems Product Line Elder Cirilo.
Advertisements

Elevator Simulator DSL Project Presented by Miguel Garzón and Stéphane Leblanc 1.
Domain Engineering Silvio Romero de Lemos Meira
Introduction to Eclipse plugin development for CSU 670 course project, Selector language (Xaspect) editor plugin implementation.
Software Process Models
WebRatio BPM: a Tool for Design and Deployment of Business Processes on the Web Stefano Butti, Marco Brambilla, Piero Fraternali Web Models Srl, Italy.
Telecom and Informatics :: INF5120 :: Mansur Abbasi & Svein Melby Assignment 1 – First aid - Clarifications, issues and insight.
Investigating JAVA Classes with Formal Concept Analysis Uri Dekel Based on M.Sc. work at the Israeli Institute of Technology. To appear:
UI Standards & Tools Khushroo Shaikh.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
1 CMSC 132: Object-Oriented Programming II Software Development III Department of Computer Science University of Maryland, College Park.
Views Dwight Deugo Nesa Matic
New Plug-in Template Wizard Present by Kun-Tse Wu.
1 SWE Introduction to Software Engineering Lecture 11 - Requirements Engineering Processes.
IBM Software Group © 2005 IBM Corporation University of Nantes Eclipse dayMarch 2005 The Eclipse Modeling Framework and the IBM Model Transformation Framework.
Domain-Specific Software Architecture
CIS 375 Bruce R. Maxim UM-Dearborn
© 2008 IBM Corporation Behavioral Models for Software Development Andrei Kirshin, Dolev Dotan, Alan Hartman January 2008.
CIS 376 Bruce R. Maxim UM-Dearborn
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
Formalizing and Analyzing Feature models in Alloy
Table-Driven Acceptance Testing Mario Aquino Principal Software Engineer Object Computing, Inc.
FH Augsburg - FB Informatik 1 CADUI' June FUNDP Namur Software Life Cycle Automation for Interactive Applications: The AME Design Environment.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 12 Object-Oriented.
Web Services Experience Language Web Services eXperience Language Technical Overview Ravi Konuru e-Business Tools and Frameworks,
Definition of the SDK for FIspace Augusto Morales & Hector Bedón UPM.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
PowerDesigner 与对象建模. 2 Why Using UML? Visually define and communicate the structure and behavior of an application Represent systems using Object-Oriented.
© 2007 by «Author»; made available under the EPL v1.0 | Date | Other Information, if necessary Eclipse SOA Tools Platform Project Eric Newcomer IONA Technologies.
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
GumTree Feature Overview Tony Lam Data Acquisition Team Bragg Institute eScience Workshop 2006.
Integrated Development Environment for Policies Anjali B Shah Department of Computer Science and Electrical Engineering University of Maryland Baltimore.
Ontology Engineering and Plugin Development with the NeOn Toolkit Plug-in Development for the NeOn Toolkit June 1st, 2008 Michael Erdmann, Peter Haase,
Hyper/J and Concern Manipulation Environment. The need for AOSD tools and development environment AOSD requires a variety of tools Life cycle – support.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
Generic API Test tool By Moshe Sapir Almog Masika.
R2PL, Pittsburgh November 10, 2005 Copyright © Fraunhofer IESE 2005 Identifying Domain-Specific Reusable Components from Existing OO Systems to Support.
Abstract We present two Model Driven Engineering (MDE) tools, namely the Eclipse Modeling Framework (EMF) and Umple. We identify the structure and characteristic.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Engineering 5895: Software Design 9/11/01Class Diagrams 1.
CCSDS Service Management ESA/ESOC UM Prototype 20 April 2009.
Roles in Software Development using Domain Specific Modelling Languages Holger Krahn, Bernhard Rumpe, Steven Völkel Software Systems Engineering Technische.
Automated Transformation of Statements Within Evolving Domain Specific Languages Peter Bell CEO/CTO, SystemsForge 7th OOPSLA Workshop on Domain-Specific.
1 An Aspect-Oriented Implementation Method Sérgio Soares CIn – UFPE Orientador: Paulo Borba.
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
Towards Multi-Paradigm Software Development Valentino Vranić Department of Computer Science and Engineering Faculty of Electrical Engineering.
Cupid: A Smart Development Environment for Earth System Models Rocky Dunlap research sponsored by NASA/ROSES 1.
Ruby on Rails Evaluation – Cognitive Dimensions Joshua Sunshine
Applying a Research Prototype Tool in Industrial Practice Ottawa Carleton Institute for Computer Science Umple: a Model Oriented Programming Language University.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
An approach for Framework Construction and Instantiation Using Pattern Languages Rosana Teresinha Vaccare Braga Paulo Cesar Masiero ICMC-USP: Institute.
Architecture for an Ontology and Web Service Modelling Studio Michael Felderer & Holger Lausen DERI Innsbruck Frankfurt,
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
Slide title In CAPITALS 50 pt Slide subtitle 32 pt Robust Reconfigurable Erlang Component System ErlCOM Gabor Batori, Zoltan Theisz, Domonkos Asztalos.
Testing OO software. State Based Testing State machine: implementation-independent specification (model) of the dynamic behaviour of the system State:
® IBM Software Group © 2007 IBM Corporation Module 1: Getting Started with Rational Software Architect Essentials of Modeling with IBM Rational Software.
The Spoofax Language Workbench Rules for Declarative specification of language and IDEs Lennart C. L. Kats and Eelco Visser Delft University of Technology.
® IBM Software Group © 2009 IBM Corporation Essentials of Modeling with IBM Rational Software Architect, V7.5 Module 18: Applying Patterns and Transformations.
© Fraunhofer IESE Fraunhofer IESE Multi-Language Development of Embedded Systems Dr. Thomas Kuhn Tel.:
CompSci Today’s topics Industry Practice Software Engineering Upcoming The Killer Robot Reading Great Ideas, Chapters 7.
AUTOMATIC GENERATION OF MODEL TRAVERSALS FROM METAMODEL DEFINITIONS Authors: Tomaž Lukman, Marjan Mernik, Zekai Demirezen, Barrett Bryant, Jeff Gray ACM.
© 2010 IBM Corporation RESTFul Service Modelling in Rational Software Architect April, 2011.
CHESS Methodology and Tool Federico Ciccozzi MBEES Meeting Sälen, January 2011 January 2011.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
Example of a Problem Statement: Introduction into ARENA
Dynamic Updates for Videogames
Example of a Problem Statement: Introduction into ARENA
Architecture, Components, Configuration
Example of a Problem Statement: Introduction into ARENA
Towards an Open Meta Modeling Environment
Presentation transcript:

Round-trip Engineering of Eclipse Plug-ins using Eclipse Workbench Part Interaction FSML Michał Antkiewicz, Krzysztof Czarnecki {mantkiew, OOPSLA’06 Generative Software Development Lab

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

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

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

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

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

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

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

Prototype Demonstration Eclipse Workbench Part Interaction FSML

Reverse Engineering Create a model for existing code

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

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

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

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

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.

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

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

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

Questions?