PR0029 - 2010-05-31 Redistribution and other use of this material requires written permission from The RCP Company. Eclipse Modeling Tools - 2010-10-26 Eclipse is probably best known as a first class Java IDE, but it is so much more than that. In this talk, I will present the different tools that makes up the Eclipse Modeling Project from the simple (EMF) to the very complex (QVT/O). The emphasis will be on the immediately useful techniques with plenty of demonstrations.
Eclipse is probably best known as a first class Java IDE, but it is so much more than that. In this talk, I will present the different tools that makes up the Eclipse Modeling Project from the simple (EMF) to the very complex (QVT/O). The emphasis will be on the immediately useful techniques with plenty of demonstrations.
Presentation made for notesnet.dk 2010-10-26
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
PR0029 - 2010-05-31
Redistribution and other use of this material requires written permission from The RCP Company.
Eclipse Modeling Tools - 2010-10-26
Eclipse is probably best known as a first class Java IDE, but it is so much more than that.In this talk, I will present the different tools that makes up the Eclipse Modeling Project from the simple (EMF) to the very complex (QVT/O). The emphasis will be on the immediately useful techniques with plenty of demonstrations.
PR0029 - 2010-05-31
2
Agenda
Eclipse is… what exactly? The Eclipse Architecture
The Eclipse Modeling Project and sub-projects EMF, EMFT, GMP, GMT, MDT, M2M, M2T, and TMF
“The Eclipse Modeling Project focuses on the evolution and promotion of model-based development technologies within the Eclipse community by providing a unified set of modeling frameworks, tooling, and standards implementations.”
Some Relevant Technical Projects EMF – Eclipse Modeling Framework – is the base technology used to represent
models OCL – Object Constraint Language – allows you to specify advanced constraints
and invariants CDO – Connected Data Objects – is a distributed shared model framework for
EMF models and meta models XText – is a text based editor framework for EMF models based on EBNF
grammars GMF – Graphical Modeling Framwork – is a graphics based editor framework for
EMF models JET – Java Emitter Templates – is a JSP like language for generating Java code
from a model Xpand – is a high-level template language used to translate models to text QVT/O – Operational QVT (Query/View/Transformation) – is a very, very high-
level language for model to model transformations Teneo – is a database persistency solution for EMF using Hibernate or EclipseLink
PR0029 - 2010-05-31
14
EMF
Eclipse Modeling Framework – is the base technology used to represent models
Logical models based on ER diagrams
L0087 - 2010-09-19
15
Logical Model for NBS – Noware Bike Shop
~
Item
HandlebarsFrame
Bike
0..*
Wheel Gear Saddle
L0087 - 2010-09-19
16
Logical Model for EMF
~ Named Element
Model Element
0..1
Typed ElementClassifier
Structural Feature
Attribute
Reference
Class
Data Type
0..*
0..*
0..*
type
opposite
superTypes
0..*
PR0029 - 2010-05-31
17
OCL
Object Constraint Language – allows you to specify advanced constraints and invariants
E.g. Item price is positive:
Context Item: inv self.price > 0
It has exactly one Saddle: Context Bike: inv self.items->select(i : Item | i.oclIsKindOf(Saddle))->size()
== 1
Can be tested using the interactive console
Can be embedded directly in Ecore
PR0029 - 2010-05-31
18
CDO
Connected Data Objects – is a distributed shared model framework for EMF models and meta models
PR0029 - 2010-05-31
19
XText
XText – is a text based editor framework for EMF models based on EBNF grammars
Xpand – is a high-level template language used to translate models to text
Expandable and type-safe Has an aspect-based extension system to allow users to extend current templates
«DEFINE Root FOR data::DataModel» «EXPAND Entity FOREACH entity»«ENDDEFINE»
«DEFINE Entity FOR data::Entity» «FILE name + ".java"» public class «name» { «FOREACH attribute AS a» // bad practice private «a.type» «a.name»; «ENDFOREACH» } «ENDFILE»«ENDDEFINE»
PR0029 - 2010-05-31
23
Eclipse.dk – The Danish Eclipse Society
Eclipse.dk was created in Marts 2007 as a meeting place for everyone interested in the Eclipse (www.eclipse.org) platform.
The purpose of Eclipse.dk is as follows: To promote the knowledge of Eclipse in Denmark. To create networks amongst danish Eclipse-users and developers. To build knowledge on Eclipse in Denmark, especially
In danish institutes of higher education. Between danish companies developing applications based on Eclipse.
Create and maintain a web site on Eclipse for danish users – eclipse.dk.
Strengthen the relations between danish and international Eclipse-users and organizations.
The eclipse.dk society has members representing not only vendors of Eclipse-based products and services, but also users of the platform and representatives from institutions of higher education.
Tonny Madsen, Founder and Owner of The RCP Company
20 years of experience in system development in major companies 9 years experience as the Systems Architect of an 20+ MLoC project 8 years of experience with Eclipse and Eclipse RCP
Solutions Member of the Eclipse Foundation Chairman of Eclipse.dk Extern Lecturer at IT-University on Model Driven Development and
Domain Specific Languages Regular speaker at EclipseCon, Eclipse Summit, etc
PR0029 - 2010-05-31
26
If You Want to Know More about Eclipse
The Foundation: http://eclipse.org
The Danish User Group: http://eclipse.dk
The training: http://www.eclipse.org/community/training/classes.php
Resources on Eclipse: http://www.eclipse.org/resources/