Wikileaking Eclipse Modeling - Spilling the beans on how industry uses EMF based tooling successfully! Ronan Barrett, Ericsson

Similar documents
Exploring the non-functional properties of model transformation techniques used in industry Ronan Barrett, Ericsson AB

Acceleo Galileo Simultaneous Release

CISC836: Models in Software Development: Methods, Techniques and Tools

BIG MODELS AN ALTERNATIVE APPROACH

Eclipse Automotive Working Group

Introduction to OpenArchitectureWare

EMF Europa Simultaneous Release

IP Log for modeling.mdt.modisco

IP Log for modeling.mdt.modisco Release Indigo

EAXML Demonstration Platform on Artop/Sphinx.

Eclipse Ignore Xml Schema Problems >>>CLICK HERE<<<

Language engineering and Domain Specific Languages

Plan. Language engineering and Domain Specific Languages. Language designer defines syntax. How to define language

Comparing graphical DSL editors

Introduction to Dependable Systems: Meta-modeling and modeldriven

EMFT 1.0 Release Review (OCL, Query, Transaction, and Validation)

Model-Driven Iterative Development of 3D Web-Applications Using SSIML, X3D and JavaScript

Introduction to MDE and Model Transformation

The Galilean Moons of Eclipse

Generic Language Technology

EMF Compare Galileo Simultaneous Release

Introduction to EGF. Benoît Langlois / Thales Global Services.

Comparison and merge use-cases from practice with EMF Compare

Version Control. Second level Third level Fourth level Fifth level. - Software Development Project. January 11, 2017

Papyrus: Advent of an Open Source IME at Eclipse (Redux)

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

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

GMF 2.0 Europa Simultaneous Release

MDD with OMG Standards MOF, OCL, QVT & Graph Transformations

Generation of Web-based Prototypes for Business Applications

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages

Object Constraint Language (MDT OCL) 1.3 Galileo Simultaneous Release Review

Eclipse technology in IFMS Interface Management System

Version Control. Second level Third level Fourth level Fifth level. - Software Development Project. January 17, 2018

Introduction to Model Driven Engineering using Eclipse. Frameworks

New and Noteworthy. Peter Friese Bernd Kolb

EMF Ganymede Simultaneous Release

The Eclipse Modeling Framework and MDA Status and Opportunities

Module Road Map. 7. Version Control with Subversion Introduction Terminology

PL/SQL Developer and TOAD IDE Integration Configuration

... SysML version SNAPSHOT Developer Guide.... Eclipse

How we reached 0 technical debt in our Eclipse project

with openarchitectureware

Kermeta tutorial. How to create a metamodel. François Tanguy, Didier Vojtisek. Abstract

Kermeta tutorial. How to create an EMF meta model? François Tanguy, Didier Vojtisek, Zoé Drey, Marie Gouyette. Abstract

ECLIPSE MODELING PROJECT

Model Transformations for Embedded System Design and Virtual Platforms

Christian Doppler Laboratory

Kermeta. in compiled mode

Experimental transformations between Business Process and SOA models

TOPCASED. Current status

Rover Use Case, Specification, design and implementation using Polarsys Tools: Capella, CDT, Gendoc, Papyrus and ReqCycle

Static analysis and testing of executable DSL specification

Start Up Benoît Langlois / Thales Global Services Eclipse (EMFT) EGF 2011 by Thales; made available under the EPL v1.

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

Laboratorio di Programmazione. Prof. Marco Bertini

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

Tool Paper: Combining Alf and UML in Modeling Tools An Example with Papyrus

Dominique Blouin Etienne Borde

Outline. A little history. Outline. The Unified Modeling Language Opportunities and Challenges for Formal Methods

SCENARIO-BASED REQUIREMENTS MODELLING

The Model Driven Architecture. Dennis Wagelaar Viviane Jonckers Software Languages Lab

QoS-aware model-driven SOA using SoaML

Meta-Model Guided Error Correction for UML Models

EMF Compare Ganymede Simultaneous Release

Dominique Blouin Etienne Borde

Domain-Specific Languages Language Workbenches

Software Factories Application within the ASE5 project

Towards Generating Domain-Specific Model Editors with Complex Editing Commands

Red Hat Developer Tools

Model Driven Engineering (MDE)

Knowledge Discovery: How to Reverse-Engineer Legacy Systems

Using Eclipse in MIS Research

THIS IS ONLY SAMPLE RESUME - DO NOT COPY AND PASTE INTO YOUR RESUME. WE ARE NOT RESPONSIBLE Name: xxxxxx

Getting Started with Python

innoq Deutschland GmbH innoq Schweiz GmbH D Ratingen CH-6330 Cham Tel Tel

Enterprise Architect. User Guide Series. File Based Projects

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

Model-Driven Engineering (MDE) Lecture 1: Metamodels and Xtext Regina Hebig, Thorsten Berger

ADT: Eclipse development tools for ATL

Applications Of Model Weaving Techniques

METADATA INTERCHANGE IN SERVICE BASED ARCHITECTURE

Oracle Developer Day

Create your own Carbon Component. Sameera Jayasoma Technical Lead and Product Manager of WSO2 Carbon

Code::Blocks Student Manual

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

Enterprise Architect. User Guide Series. File Based Projects. Author: Sparx Systems Date: 15/07/2016 Version: 1.0 CREATED WITH

PACE Suite. Release Notes. Version Document version

TDL. bridging the gap between specifications and testing. Dr. Gusztáv Adamis Dr. GyÖrgy réthy Ericsson Hungary Test Solutions and Competence Center

USING PAPYRUS IN A DESIGN SPACE EXPLORATION TOOLCHAIN CURRENT DEVELOPMENTS AT FLANDERS MAKE

News in RSA-RTE 10.1 updated for sprint Mattias Mohlin, April 2017

IBM Rational Software Architect

Are functional languages a good way to represent productive meta models?

An Introduction to Python (TEJ3M & TEJ4M)

Construction: version control and system building

Software Tools Subversion

12/7/09. How is a programming language processed? Picasso Design. Collaborating with Subversion Discussion of Preparation Analyses.

Lessons learned from building Eclipse-based add-ons for commercial modeling tools

OCL Tooling for OMG specifications

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

Transcription:

Wikileaking Eclipse Modeling - Spilling the beans on how industry uses EMF based tooling successfully! Ronan Barrett, Ericsson Public Ericsson AB 2012 2012-03-05 Page 1

The Use Case Modeling Tool We Can have 1000+ classes and 10,000+ properties O&M Interface Our DNA makes Mobile Communication possible! Public Ericsson AB 2012 2012-03-05 Page 2 Managed Elements

The Tool DSL E DSL F DSL G DSL H OCL ATL JET DSL A DSL B MMT A MMT B DSL C DSL D M2T A M2T B Public Ericsson AB 2012 2012-03-05 Page 3

Creating DSL(s) A Profile/OCL MetaModelAgent Meta-Model Public Ericsson AB 2012 2012-03-05 Page 4 Profile Guideline Menus Wizards Editors Views validation Quick Fix

DSL Bean Spilling Guidelines models are quite complex to create Must expose pathmap using org.eclipse.emf.ecore.uri_mapping extension point Papyrus/OCL integration not in place (Bug 340853) Papyrus usability issues MMA guidelines can be extended/overridden Context sensitive menus/wizards/views generated Less customization plugins needed RSA/MMA play nicely with open source projects Papyrus looks promising with very rich feature set Public Ericsson AB 2012 2012-03-05 Page 5

Creating DSL Grammars A Formatter Meta-Model Ecore DSL Serialization Deserialization Editor Validation Quick Fix Public Ericsson AB 2012 2012-03-05 Page 6

DSL Grammar Bean Spilling Xtext formatters take time to get right Lots to learn if something goes wrong (many layers) Xtext has great documentation and tutorials Xtext generates EMF resource serialization code Seamless integration with Eclipse MMT & M2T Xtext supports static analysis of generated models Xtext has MWE workflow/maven integration Public Ericsson AB 2012 2012-03-05 Page 7

Model Transformation (MMT) ATL HOT Inspired by Dennis Wagelaar s UML2Copy.atl ATL RE ATL Model Merge using Maps ATL DTD->XML Schema using Trang then import to EMF Public Ericsson AB 2012 2012-03-05 Page 8

Transformation Bean Spilling ATL debugging can be difficult ATL error messages are cryptic e.g. (Bug 353313) ATL 3.2.1 compile error when comparing > unsigned 32bit numbers (Bug 390548) ATL {do} rules always need a return value ATL Update Site not kept up to date Not so many people know OCL/ATL ATL is a super succinct OCL based language ATL supports many set types ATL supports HOT (ATL generates ATL) ATL user guide is really comprehensive ATL is very stable with few open bugs ATL works nicely with Eclipse UML2 ATL code is easy to read/maintain Public Ericsson AB 2012 2012-03-05 Page 9

Model Transformation (M2T) C++ JET Public Ericsson AB 2012 2012-03-05 Page 10

Transformation Bean Spilling Acceleo 3.3.0 alters global EPackage registry (Bug 389497) JET code is verbose and hard to maintain JET doesn t work outside of Eclipse Only minor releases of JET since 2009 Acceleo MTL files easy to read/maintain Acceleo editor has great UML2 code completion Acceleo integrates with Maven Acceleo is OMG based with good documentation JET is easy to learn if you known JSP Public Ericsson AB 2012 2012-03-05 Page 11

Testing Test Models These Models Should cover every scenario Golden Files JUnit Custom DOM Parser Public Ericsson AB 2012 2012-03-05 Page 12 Test Report

Build Automation SCM Code/Conf Poll/Fetch Publish Trends Remote P2/ Network disk Tycho-Maven Tycho-Compiler Tycho-Surefire maven-. P2 Repo Public Ericsson AB 2012 2012-03-05 Page 13

Final Observations Model dependencies difficult to resolve with Maven High comprehension barrier of entry to EMF world EMF ResourceFactory(s) are tricky to write Inconsistent quality of documentation Not all project roadmaps are clear Not always clear if/when bugs will be fixed Tycho provides excellent Maven/Junit integration Quality of most Eclipse modeling projects is high Small teams can achieve high productivity Newer versions of projects work with older Eclipses Eclipse UML2 brings better UML tool interoperability 3PP tools play nicely with open source projects Industry are involved via Polarsys collaboration Public Ericsson AB 2012 2012-03-05 Page 14

Questions Public Ericsson AB 2012 2012-03-05 Page 15