Introduction à EMF Eclipse Modeling Framework



Similar documents
Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics:

Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins

T-Mobile Umsetzung und Einsatz

Course 4 27 October Adrian Iftene adiftene@info.uaic.ro

L évolution des progiciels métier dans un contexte SOA

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems

Modernizing Simulation Input Generation and Post-Simulation Data Visualization with Eclipse ICE

OpenEmbeDD basic demo

Function Point Modeler Enterprise Edition A Software Lifecycle Management Tool

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

EMC Documentum Composer

Tech Day IBM 28 août 2009 RAT06P3 Introduction à Rhapsody Architect pour l Ingénierie des Systèmes et des Logiciels Embarqués

Eclipse 4 RCP application Development COURSE OUTLINE

Model-Driven Health Tools (MDHT) CDA Tools Overview.

Principles of integrated software development environments. Learning Objectives. Context: Software Process (e.g. USDP or RUP)

Software Development Kit

Metamodels and Modeling Multiple Kinds of Information Systems

Implementing reusable software components for SNOMED CT diagram and expression concept representations

INTEGRATION WITH OPTIMALJ. user s guide

Java Generation from UML Models specified with Alf Annotations

Co-Creation of Models and Metamodels for Enterprise. Architecture Projects.

Model Transformations and Code Generation

Developing Eclipse Plug-ins* Learning Objectives. Any Eclipse product is composed of plug-ins

SPECIFICATION OF VISUAL INSTRUCTIONAL DESIGN LANGUAGES DEDICATED TO LEARNING MANAGEMENT SYSTEMS

IBM WebSphere Operational Decision Management Improve business outcomes with real-time, intelligent decision automation

Implementation of ULC Visual Editor for Eclipse

Revel8or: Model Driven Capacity Planning Tool Suite

VICCI. The Eclipse Modeling Framework (EMF) A Practical Introduction and Technology Overview. Dipl.-Inf. Christoph Seidl

AN IDE FOR ANDROID MOBILE PHONES WITH

Rose Data Modeler (logical)

Going Interactive: Combining Ad-Hoc and Regression Testing

How To Use Designer For Identity Manager For A Project Management System

Showcase: GDF SUITE Management Center. Feb. 4 th 2004 Dr. Frank Gerhardt, Chris Wege

DESIGN & PROTOTYPAGE. ! James Eagan james.eagan@telecom-paristech.fr

An eclipse-based Feature Models toolchain

Migration Eclipse 3 to Eclipse 4

Introduction to Android Development. Jeff Avery CS349, Mar 2013

A QUICK OVERVIEW OF THE OMNeT++ IDE

This presentation will provide a brief introduction to Rational Application Developer V7.5.

A Case Study on Model-Driven and Conventional Software Development: The Palladio Editor

GLOBAL CONSULTING SERVICES TOOLS FOR WEBMETHODS Software AG. All rights reserved. For internal use only

UML-based Test Generation and Execution

Practical Eclipse Rich Client Platform Projects

Federated, Generic Configuration Management for Engineering Data

Bienvenue au Forum Vector 2007

SEARCH The National Consortium for Justice Information and Statistics. Model-driven Development of NIEM Information Exchange Package Documentation

SCADE System Technical Data Sheet. System Requirements Analysis. Technical Data Sheet SCADE System

Bringing Business Objects into Extract-Transform-Load (ETL) Technology

"Internationalization vs. Localization: The Translation of Videogame Advertising"

Actuate Business Intelligence and Reporting Tools (BIRT)

IBM InfoSphere MDM Server v9.0. Version: Demo. Page <<1/11>>

creating a text-based editor for eclipse

The ADOxx Metamodelling Platform Workshop "Methods as Plug-Ins for Meta-Modelling" in conjunction with "Modellierung 2010", Klagenfurt

Exam Name: IBM InfoSphere MDM Server v9.0

Running a Program on an AVD

UML PROFILING AND DSL

Getting Started with Android Programming (5 days) with Android 4.3 Jelly Bean

Smooks Dev Tools Reference Guide. Version: GA

WebSphere Business Monitor

Profiling and Testing with Test and Performance Tools Platform (TPTP)

Rapid Application Development with Bison Technology

WebRatio 5: An Eclipse-based CASE tool for engineering Web applications

Polyglot Multi-Paradigm. Modeling. MDA in the Real World. Stefan Tilkov

Enterprise Application Deployment: Amodel driven approach

IBM Rational Web Developer for WebSphere Software Version 6.0

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

How To Use Eclipse.Io With A Powerbook (Powerbook)

IBM Business Monitor. BPEL process monitoring

Eclipse for Smalltalkers

Introduction to the Analysis and Management Framework

IEC CIM, Enterprise Architect, Profiles and CIMTool

MyEclipse UML (MyUML) Quickstart

Tutorial: BlackBerry Object API Application Development. Sybase Unwired Platform 2.2 SP04

E4 development: examples, methods and tools. Eclipse Con France 2014

Eclipse Development. using the Graphical Editing Framework and the Eclipse Modeling Framework. Front cover. ibm.com/redbooks

HP Systinet. Software Version: Windows and Linux Operating Systems. Concepts Guide

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1

MDA Overview OMG. Enterprise Architect UML 2 Case Tool by Sparx Systems by Sparx Systems

An Eclipse plug-in for Public Administration software system modelling and simulation

This document covers version of BPMN2 Modeler, published November 15, 2013.

Automatic Generation of Consistency-Preserving Edit Operations for MDE Tools

An Extended Survey of Open Source Model-Based Engineering Tools

Requirements Exchange: From Specification Documents to Models

How to Build Successful DSL s. Jos Warmer Leendert Versluijs

Developing SOA solutions using IBM SOA Foundation

openoffice 32 manual : The User's Guide

A Tool Suite for the Generation and Validation of Configurations for Software Availability

Concept and Implementation of a Graphical Editor for Composite Application Templates

Live Model Pointers A requirement for future model repositories

openoffice 3 3 user guide

Eclipse BPMN Modeler Introducing Intalio Designer

Tutorial: Mobile Business Object Development. SAP Mobile Platform 2.3 SP02

PASS4TEST 専 門 IT 認 証 試 験 問 題 集 提 供 者

user guide version 4.1

Concepts for the model-driven generation of graphical editors in Eclipse by using the Graphiti framework

Database Studio is the new tool to administrate SAP MaxDB database instances as of version 7.5.

Taking Subversion to a Higher Level. Branching/Merging Support. Component Management Support. And More

Technical. Overview. ~ a ~ irods version 4.x

ProGUM-Web: Tool Support for Model-Based Development of Web Applications

This presentation is for informational purposes only and may not be incorporated into a contract or agreement.

Transcription:

Ingénierie Dirigée par les Modèles Introduction à Eclipse Modeling Framework Pierre Laforcade Master EIAH 2007

Sources du cours Tutoriaux et cours d' disponibles sur http://www.eclipse.org/modeling/emf/ 2

Exemple introductif 3

C'est quoi? A modeling & data integration framework Exploits the facilities offered in Eclipse to... Generate code without losing user customizations (merge) Automate important tasks Improve extensibility Provide a UI layer What is an model? Specification of your application s data Object attributes Relationships (associations) between objects Operations available on each object Simple constraints (eg. cardinality) on objects and relationships Essentially it represents the class diagram of the application 4

Qu'est-ce qu'il permet? From a model specification, can generate efficient, correct, and easily customizable implementation code Out of the box, provides support for Java interfaces UML XML Schema converts your models to Ecore ( metamodel) Tooling support within the Eclipse framework, including support for generating Eclipse-based and RCP editors Reflective API and dynamic model definition Persistence API with out of box support for XML/XMI (de)serialization of instances of a model And much more... 5

Créer un modèle Ecore Representing the modeled domain in Ecore is the first step in using Ecore can be created Directly using the editors Through a graphical UI provided by external contributions By converting a model specification for which a Model Importer is available Java Interfaces UML models expressed in Rational Rose files XML Schema Choose the one matching your perspective or skills 6

Exemples A partir d'interfaces Java 7

Exemples à partir d'uml 8

Exemples A partir d'un schéma XML 9

Unification des technologies UML, Java et XML The Model Importers available in were carefully chosen to integrate today s most important technologies All three forms provide the same information Different visualization/representation The application s model of the structure From a model definition, can generate Java implementation code, including UI XML Schemas Eclipse projects and plug-in 10

Scénario d'usage typique Create an Ecore model that represents the domain you are working on Import UML (e.g. Rose.mdl file) Import XML Schema Import annotated Java interfaces Create Ecore model directly using 's Ecore editor or a graphical editor Generate Java code for model Prime the model with instance data using generated model editor Iteratively refine model (and regenerate code) and develop Java application Optionally, use.edit to build customized user interface 11

Composants Core Ecore metamodel Model change notification & validation Persistence and serialization Reflection API Runtime support for generated models Edit Helps integrate models with a rich user interface Used to build editors and viewers for your model Includes default reflective model editor Codegen Code generator for core and edit based components Extensible model importer framework 12

Outils : import de modèles et génération 13

Création de modèle Ecore An Ecore model is created within an Eclipse project via a wizard Input: one of the model specifications from the previous slide Output: modelname.ecore Ecore model file in XMI format Canonical form of the model modelname.genmodel A generator model for specifying generator options Decorates.ecore file code generator is an.genmodel editor Automatically kept in synch with.ecore file 14

L'editeur de modèle Ecore A generated (and customized) editor for the Ecore model Create, delete, etc. model elements (EClass, EAttribute, EReference, etc.) using pop-up actions in the editor's tree Set names, etc. in the Properties view 15

Vers des éditeurs encore plus améliorés A graphical editor is a better approach GMF Ecore Diagram Example (http://www.eclipse.org/gmf/) Omondo EclipseUML (http://www.omondo.com/) 16

Le générateur Similar layout to Ecore model editor Automatically keeps in synch with.ecore changes Generate code with pop-up menu actions Generate Model Code Generate Edit Code Generate Editor Code Generate Test Code Generate All Code generation options in Properties view Generator > Reload to reload.genmodel and.ecore files from original model form 17

Le (méta) modèle Ecore Ecore is 's model of a model Also called a metamodel Persistent representation is XMI 18

Le méta-modèle Ecore 19

Le méta-modèle Ecore complet 20

Modèle Ecore de l'exemple 21

XMI du méta-modèle Ecore de l'exemple 22

Constructions UML disponible avec Ecore 23

24

25

26

Génération de code framework is lightweight Generated code is clean, simple, efficient can generate Model implementation UI-independent edit support Editor and views for Eclipse IDE-integrated or RCP application JUnit test skeletons Manifests, plug-in classes, properties, icons, etc. 27

Code généré pour le modèle Interface and implementation for each modeled class Includes get/set accessors for attributes and references Exemple d'utilisation 28

29

Résumé des éléments générés 30

Regénération et fusion Hand-written code can be added to generated code and preserved during regeneration All generated classes, interfaces, methods and fields include @generated marker in their Javadoc To replace generated code: This merge capability has an Eclipse dependency, so is not available standalone Remove @generated marker Or include additional text, e.g. @generated NOT Methods without @generated marker are left alone during regeneration 31

32

Résumé du processus de génération de code 33

Avec redéfinition... 34

This is the end!! pierre.laforcade@lium.univ-lemans.fr 35