Top Banner
Eclipse Modeling to create your DSL Etienne Juliot [email protected]
34
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
Page 1: Eclipse Modeling pour fabriquer ses DSL par Etienne Juliot

Eclipse Modeling to create your DSL

Etienne Juliot [email protected]

Page 2: Eclipse Modeling pour fabriquer ses DSL par Etienne Juliot

OK, you go to ESE or Eclipse Day Paris. And now?

Page 3: Eclipse Modeling pour fabriquer ses DSL par Etienne Juliot

How to industrialiseJavaEE development?

Page 4: Eclipse Modeling pour fabriquer ses DSL par Etienne Juliot

© C

opyr

ight

201

0 O

beo

My goals for today:

Use a DSL to find the intention

Generate JavaEE

Create my own designers

Integrate the result in an Enterprise Architecture

Page 5: Eclipse Modeling pour fabriquer ses DSL par Etienne Juliot

Lets try this story:

We are a travel agency,

and we want to create an

enterprise blog

Page 6: Eclipse Modeling pour fabriquer ses DSL par Etienne Juliot

© C

opyr

ight

201

0 O

beo

Lets do it by hand

Page 7: Eclipse Modeling pour fabriquer ses DSL par Etienne Juliot

Simplify

Page 8: Eclipse Modeling pour fabriquer ses DSL par Etienne Juliot

© C

opyr

ight

201

0 O

beo

Lets take a JavaEE file exemple and search the "Intention"?

Page 9: Eclipse Modeling pour fabriquer ses DSL par Etienne Juliot

© C

opyr

ight

201

0 O

beo

Hum, I find something

Page 10: Eclipse Modeling pour fabriquer ses DSL par Etienne Juliot

© C

opyr

ight

201

0 O

beo

How to describe it?

or

Page 11: Eclipse Modeling pour fabriquer ses DSL par Etienne Juliot

© C

opyr

ight

201

0 O

beo

We can create our own "generator by convention"

Conventions exemples :

An Entity is identify by a technical ID associated to a Sequence

The name of the table is by default the name of the Entity

Page 12: Eclipse Modeling pour fabriquer ses DSL par Etienne Juliot

© C

opyr

ight

201

0 O

beo

Page 13: Eclipse Modeling pour fabriquer ses DSL par Etienne Juliot

13

© C

opyr

ight

201

0 O

beo

A little bit of syntax

Page 14: Eclipse Modeling pour fabriquer ses DSL par Etienne Juliot

14

© C

opyr

ight

201

0 O

beo

A long history

From Acceleo.org in 2006...

...to Eclipse.org in 2009

Version 3.0 is part of the Eclipse Helios release train

Page 15: Eclipse Modeling pour fabriquer ses DSL par Etienne Juliot

© C

opyr

ight

201

0 O

beo

And now, my travelAgency Blog is based on 3 parts

Page 16: Eclipse Modeling pour fabriquer ses DSL par Etienne Juliot

© C

opyr

ight

201

0 O

beo

So, I need 3 DSLs

Page 17: Eclipse Modeling pour fabriquer ses DSL par Etienne Juliot

17

© C

opyr

ight

201

0 O

beo

My DSL doesn't need JavaEE skills

Page 18: Eclipse Modeling pour fabriquer ses DSL par Etienne Juliot

18

© C

opyr

ight

201

0 O

beo

Traceability: the solution

to look at the right place

Page 19: Eclipse Modeling pour fabriquer ses DSL par Etienne Juliot

19

© C

opyr

ight

201

0 O

beo

Graphical modeling

"Domain-specific modeling (DSM) is a software engineering methodology for designing and developing systems, such as computer software. It involves systematic use of a graphical domain-specific language (DSL) to represent the various facets of a system."

Page 20: Eclipse Modeling pour fabriquer ses DSL par Etienne Juliot

20

© C

opyr

ight

201

0 O

beo

Page 21: Eclipse Modeling pour fabriquer ses DSL par Etienne Juliot

21

© C

opyr

ight

201

0 O

beo

Which one is the easiest to understand?

Page 22: Eclipse Modeling pour fabriquer ses DSL par Etienne Juliot

© C

opyr

ight

201

0 O

beo

Yet another fu....ing meta-blabla?

Keep it simple

Yes: MD and Agile are friends

Page 23: Eclipse Modeling pour fabriquer ses DSL par Etienne Juliot

Where do I find data ?

How do I managed data ?

Page 24: Eclipse Modeling pour fabriquer ses DSL par Etienne Juliot

© C

opyr

ight

201

0 O

beo

Enterprise Architecture

Togaf

Page 25: Eclipse Modeling pour fabriquer ses DSL par Etienne Juliot

© C

opyr

ight

201

0 O

beo

Le système à modéliser

Les vues du système (les diagrammes)

Le point de vue

Du DSM au point de vue !Du DSM au point de vue !

Les vues du Système

● Analyse de performance● Analyse d'exigences● Fonction / Sous Fonction● Hardware / Software● DBA● Urbaniste des services

● Diagramme de blocs● Diagramme de composants● Diagramme de séquences● Tableur, Matrice

Page 26: Eclipse Modeling pour fabriquer ses DSL par Etienne Juliot

© C

opyr

ight

201

0 O

beo

With EA, applications are like peoplethat speak the same language

AccountantsApplication

Island

ManagersApplication

Suburb

CEOApplication

Suburb

IS TeamApplication

Suburb

Models

Each application uses modelsthat are easily readable andtransformable by otherapplications

Page 27: Eclipse Modeling pour fabriquer ses DSL par Etienne Juliot

How create bridges for my legacy?

Page 28: Eclipse Modeling pour fabriquer ses DSL par Etienne Juliot

28

© C

opyr

ight

201

0 O

beo

And now: 3 DSLs for WTP

Page 29: Eclipse Modeling pour fabriquer ses DSL par Etienne Juliot

© C

opyr

ight

201

0 O

beo

Import from an UML model

UML

DSL

Page 30: Eclipse Modeling pour fabriquer ses DSL par Etienne Juliot

© C

opyr

ight

201

0 O

beo

Your system is now used throw differents Viewpoints

Page 31: Eclipse Modeling pour fabriquer ses DSL par Etienne Juliot

31

© C

opyr

ight

201

0 O

beo

Page 32: Eclipse Modeling pour fabriquer ses DSL par Etienne Juliot

32

© C

opyr

ight

201

0 O

beo

Conclusion: Modeling help to create

YOUR workbench adapted to

YOUR architecture designed with

YOUR vocabulary

Page 33: Eclipse Modeling pour fabriquer ses DSL par Etienne Juliot

33

© C

opyr

ight

201

0 O

beo

Obeo Designer 4.6.1

- Sequence Diagram

- UML, IS, Togaf, Ecore

- Filters

- Layout, performance

Page 34: Eclipse Modeling pour fabriquer ses DSL par Etienne Juliot

© C

opyr

ight

201

0 O

beo Questions?