Comparing graphical DSL editors

Similar documents
Getting the Most from Eclipse

Planned Review Date: June 10, 2009 Communication Channel: eclipse.tools.emf Dave Steinberg and Ed Merks

project in an industrial context

INTRODUCTION TO EMF. Creating Model using EMF. Our Domain model used to showcase this use case is as shown below in fig.1

Eclipse-based Embedded Engineering Environments Inspired by AUTOSAR

ATESST2 D4.2.1 Grant Agreement

SCA Tools: new & noteworthy

20. Eclipse and Framework Extension Languages

The Eclipse Modeling Framework and MDA Status and Opportunities

A Comparison of Ecore and GOPPRR through an Information System Meta Modeling Approach

When Modeling meets Productivity. Sven Efftinge - itemis

Eclipse Automotive Working Group

ECLIPSE MODELING PROJECT

Regular Forum of Lreis. Speechmaker: Gao Ang

AADL Graphical Editor Design

EATOP: An EAST-ADL Tool Platform for Eclipse

SEAMLESS INTEGRATION OF METAEDIT+ AND ECLIPSE TO COMBINE MODELING AND CODING

Foundations of User Interface Programming Using the Eclipse Rich Client Platform

GMF Tooling 3.0 Vision, Architecture, Roadmap

The Eclipse Rich Client Platform

What is Wazaabi 2.0? Declarative UI framework. based on. live EMF model(s)

Eclipse and Framework Extension Languages

Towards Generating Domain-Specific Model Editors with Complex Editing Commands

Modellierung operationaler Aspekte von Systemarchitekturen. Master Thesis presentation. October 2005 March Mirko Bleyh - Medieninformatik

EMC Documentum Composer

Eclipse Modeling Framework (EMF) Paweł Żalejko

Mobile Application Workbench. SAP Mobile Platform 3.0 SP02

Transformational Abstraction for Java (TAJ)

MAENAD Modeling Workbench

MAEANAD Modeling Workbench

Continuous Testing in Eclipse. David Saff, Michael D. Ernst MIT CSAIL etx 2004, Barcelona, Spain

Master of Science Thesis. Modeling deployment and allocation in the Progress IDE

Introduction to OpenArchitectureWare

Small is Beautiful Building a flexible software factory using small DSLs and Small Models

Smart Client development with the Eclipse Rich Client Platform

Index. Symbols. /**, symbol, 73 >> symbol, 21

TmL Creation Review. First Proposal

(Meta)Models between MetaEdit+

AD105 Introduction to Application Development for the IBM Workplace Managed Client

Introduction to Model Driven Engineering using Eclipse. Frameworks

ECLIPSE PERSISTENCE PLATFORM (ECLIPSELINK) FAQ

EMC Documentum Composer

How to generate new EMF model refactorings using Java code

Introduction to Eclipse

ADT: Eclipse development tools for ATL

Advanced User Interface Programming Using the Eclipse Rich Client Platform

Tools to Develop New Linux Applications

Whole Platform Foundation. The Long Way Toward Language Oriented Programming

RulesManager SE June 10, 2008

EAXML Demonstration Platform on Artop/Sphinx.

Model-Level Integration of the OCL Standard Library Using a Pivot Model with Generics Support

JBPM Course Content. Module-1 JBPM overview, Drools overview

Semantic Web T LS Update

EMC Documentum Composer

Niagara 4.4 Features overview (including Niagara Analytics update)

SIMULATION. Graphical modeling and simulation of discrete-event systems with CD++Builder

Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010)

SCA Tools project Creation Review. July

An Extensible Open Source AADL Tool Environment (OSATE)

Modeling tools go up to the cloud... Mélanie Bats - Pierre-Charles David - Sirius Tech Lead

Developing Eclipse Rich-Client Applications Tutorial

ATHABASCA UNIVERSITY RULE ENHANCED BUSINESS PROCESS MODELING OF SERVICE ORIENTED ARCHITECTURES LUIS ROCHA. A project submitted in partial fulfillment

Teiid Designer User Guide 7.5.0

GMF 2.0 Europa Simultaneous Release

Introduction to Dependable Systems: Meta-modeling and modeldriven

Developing Workflow Applications with Red Hat JBoss BPM Suite with exam (JB428)

MEMOCenterNG A full-featured modeling environment for organization modeling and model-driven software development

A Metamodel independent approach for Conflict Detection to support distributed development in MDE. Mostafa Pordel A THESIS

Expeditor Client for Desktop. Client Platform Overview

Building Java with Plex Services for Eclipse

From the RCP Book To Reality. Jean-Michel Lemieux IBM Rational, Ottawa, Canada

An Eclipse-based Environment for Programming and Using Service-Oriented Grid

USER GUIDE. MADCAP FLARE 2018 r2. Eclipse Help

IP Log for modeling.tmf.xtext

Custom Code Rules Deep Dive

The Galilean Moons of Eclipse

Model Driven Development with EMF and EclipseLink (experiences in MDD and generating user interfaces)

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer

Zest: Move Review. Transition from Mylyn to GEF. Component Lead: R. Ian Bull. University of Victoria & IBM Centre for Advanced Studies

Domain-Specific Languages Language Workbenches

Model-based Software Engineering (02341, spring 2016) Ekkart Kindler

Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL

Building Java Persistence API Applications with Dali 1.0 Shaun Smith

J2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format.

Overview and Demonstration

Packaging for Websphere Development Studio was changed with V6R1.

Workbench and JFace Foundations. Part One, of a two part tutorial series

Introduction to Java Programming

Introduction to WebSphere Development Studio for i5/os

How Do I Inspect Error Logs in Warehouse Builder?

Workpackage 15: DBE Business Modeling Language. Deliverable D15.5: BML Editor Final Release

Dominique Blouin Etienne Borde

BIG MODELS AN ALTERNATIVE APPROACH

Moving From Studio to Atelier. Wouter Dupré Sales Engineer

Data Analysis Workbench

Deliverable D5.1.1 MAENAD Modeling Workbench

Supervisor : Germán Cancio Meliá. Towards a GUI for CDB-CLI

TPF Users Group Fall 2007

Implementing the Unifying Meta-Model for Enterprise Modeling and Model-Driven Development: An Experience Report

Generic Language Technology

Transcription:

Comparing graphical DSL editors AToM 3 vs GMF & MetaEdit+ Nick Baetens

Outline Introduction MetaEdit+ Specifications Workflow GMF Specifications Workflow Comparison 2

Introduction Commercial Written in Smalltalk Standalone Eclipse plug-in Depends on & combines other plug-ins 3

Outline Introduction MetaEdit+ Specifications <= Workflow GMF Specifications Workflow Comparison 4

MetaEdit+ Graph, Object, Port, Property, Relationship and Role Graph: Top-level structure of meta-model Binding of objects, relationships, roles and ports within graph = actual semantics Tools for each base type 5

MetaEdit+ 6

MetaEdit+ Information in instance models created with the older version of the meta-model is not lost when the new version is deployed Conservative approach If concept is removed Creation of new instances impossible Existing instances are not removed from models Generators will still produce working code from old instances. 7

Outline Introduction MetaEdit+ Specifications Workflow <= GMF Specifications Workflow Comparison 8

MetaEdit+ Workbench 9

MetaEdit+ Workbench 10

MetaEdit+ Workbench 11

MetaEdit+ Workbench 12

MetaEdit+ Workbench 13

MetaEdit+ Workbench 14

MetaEdit+ Modeler 15

MetaEdit+ Modeler 16

MetaEdit+ Workbench 17

Outline Introduction MetaEdit+ Specifications Workflow GMF Specifications <= Workflow Comparison 18

GMF Specifications Based on Eclipse Modeling Framework (EMF) & Graphical Editing Framework (GEF) EMF Core: Ecore => XML Metadata Interchange Edit: Adapter classes to view in JFace viewers Codegen: Ecore to Java GEF Rich graphical editors out of domain models No restrictions on underlying model 19

GMF Specifications GMF = bridge between EMF & GEF No more model independency of GEF: GMF only accepts EMF models 2 parts: extensions of EMF & GEF Runtime environment Generation framework 20

GMF Specifications 21

Outline Introduction MetaEdit+ Specifications Workflow GMF Specifications Workflow <= Comparison 22

GMF Workflow 23

GMF Workflow 24

GMF Workflow 25

GMF Workflow 26

GMF Workflow Constraints: Object Constraint Language Language to define constraints on meta-models Use in mapping 27

Outline Introduction MetaEdit+ Specifications Workflow GMF Specifications Workflow Comparison <= 28

Comparison Feature Atom3 MetaEdit+ GMF Multi-user Multi-view Update Cycle Live Updating GraphGrammar Build Models Rules Simulation Code gen Symbol Editor User-friendly 29

Multi-View Different way s to look at the same (meta-) model MetaEdit+ Yes: diagram, matrix and text GMF No: only tree representation Atom3 Possible 30

UpdateCycle Time to update the model when meta-model is changed Consistency Model MetaEdit+ < Atom3 < GMF 31

LiveUpdating Meta-model changes are propagated to model without restarting the tool / reopening the model Atom3 Need to reopen the model MetaEdit+ Yes GMF Regenerate entire plug-in Sometimes model is corrupted 32

GraphGrammar Is it possible to define a graph grammar? Atom3 Yes MetaEdit+?? GMF Yes, but some development should be done. Associate a builder with the project 33

GMF 34

GMF You will need: Create new kind of projects: ProjectNature Create a new builder to build the diagram Like in Java, the diagram will be updated everytime you save. 35

Build models Can we use the same tool to build models and meta-models? Atom3 / MetaEdit+ Yes GMF Build meta-models in Eclipse + GMF Generate new plug-in Build models in Eclipse + Plug-in 36

Simulation MetaEdit+ and Atom3 Yes, program through API Changes are reflected live in the model Atom3 Offers debug window GMF Possible, needs some coding Models can not be accessed directly 37

Transformation Rules Atom3 Yes, even visual MetaEdit+ & GMF Possible, but needs coding Through API, develop class for each rule Not visual 38

User Friendly Subjective MetaEdit+ Different tools are sometimes confusing Information is spread GMF Many wizards are provided Not well documented Atom3 Many control combinations 39

Comparison Feature Atom3 MetaEdit+ GMF Multi-user Multi-view Update Cycle 2 1 3 Live Updating GraphGrammar Build Models Rules Simulation Code gen Symbol Editor User-friendly 6,5/11 8,5/11 4/11 40

Conclusion Industrial Environments: Stability Features need to work out of the box MetaEdit+ Research Environments: Preferably no licenses Make choice based on goals and habits 41