67
Sirius graphical editors for your DSL Mikaël Barbero Obeo Polarsys Day December 3rd, 2013

Sirius: Graphical Editors for your DSLs

Embed Size (px)

Citation preview

Page 1: Sirius: Graphical Editors for your DSLs

Siriusgraphical

editors for your

DSLMikaël Barbero

ObeoPolarsys Day December 3rd, 2013

Page 2: Sirius: Graphical Editors for your DSLs

Domain Specific

Language

1

Page 3: Sirius: Graphical Editors for your DSLs

Domain Specific

LanguageIntroduction to DSLs borrowed from

http://www.slideshare.net/peterfriese/overcoming-the-impedance-mismatch-between-source-code-and-architecture

Page 4: Sirius: Graphical Editors for your DSLs
Page 5: Sirius: Graphical Editors for your DSLs
Page 6: Sirius: Graphical Editors for your DSLs
Page 7: Sirius: Graphical Editors for your DSLs
Page 8: Sirius: Graphical Editors for your DSLs

Domain Specific

Language

Page 9: Sirius: Graphical Editors for your DSLs

Imagine you want to peal an apple…

Page 10: Sirius: Graphical Editors for your DSLs

What is the appropriate tool?

Page 11: Sirius: Graphical Editors for your DSLs

Your good old Swiss army knife!

Page 12: Sirius: Graphical Editors for your DSLs

Because it does so many things!

Page 13: Sirius: Graphical Editors for your DSLs

Imagine you want to peal a bit more apples…

Page 14: Sirius: Graphical Editors for your DSLs

Is it still the best tool?

Page 15: Sirius: Graphical Editors for your DSLs

Better use this one…

Page 16: Sirius: Graphical Editors for your DSLs

and this one!

Page 17: Sirius: Graphical Editors for your DSLs

while avoiding the unitasker

Page 18: Sirius: Graphical Editors for your DSLs

Domain Specific

Language

Page 19: Sirius: Graphical Editors for your DSLs
Page 20: Sirius: Graphical Editors for your DSLs
Page 21: Sirius: Graphical Editors for your DSLs

=

Page 22: Sirius: Graphical Editors for your DSLs

SELECT name, salary, age FROM person WHERE salary > 2000 ORDER BY salary, age

Page 23: Sirius: Graphical Editors for your DSLs

all: hello !

hello: main.o factorial.o hello.o g++ main.o factorial.o hello.o -o hello !

main.o: main.cpp g++ -c main.cpp !

factorial.o: factorial.cpp g++ -c factorial.cpp

Page 24: Sirius: Graphical Editors for your DSLs
Page 25: Sirius: Graphical Editors for your DSLs
Page 26: Sirius: Graphical Editors for your DSLs
Page 27: Sirius: Graphical Editors for your DSLs
Page 28: Sirius: Graphical Editors for your DSLs

Domain Specific

Language

Page 29: Sirius: Graphical Editors for your DSLs
Page 30: Sirius: Graphical Editors for your DSLs
Page 31: Sirius: Graphical Editors for your DSLs
Page 32: Sirius: Graphical Editors for your DSLs

$ $

Page 33: Sirius: Graphical Editors for your DSLs

$ $

Page 34: Sirius: Graphical Editors for your DSLs
Page 35: Sirius: Graphical Editors for your DSLs
Page 36: Sirius: Graphical Editors for your DSLs

Sirius

Page 37: Sirius: Graphical Editors for your DSLs

Sirius

Page 38: Sirius: Graphical Editors for your DSLs

Introducing Sirius

2

Page 39: Sirius: Graphical Editors for your DSLs

Tool to quickly define custom

multi-view workbenches

Based on Eclipse Modeling

technology stack

New Eclipse Project

Based on graphical editors

/ modelers

No need to be an expert for

most uses

But already proven

technology

In a nutshell

Page 40: Sirius: Graphical Editors for your DSLs

Tool to quickly define custom

multi-view workbenches

Based on Eclipse Modeling

technology stack

New Eclipse Project

Based on graphical editors

/ modelers

No need to be an expert for

most uses

But already proven

technology

In a nutshell

Page 41: Sirius: Graphical Editors for your DSLs

Tool to quickly define custom

multi-view workbenches

Based on Eclipse Modeling

technology stack

New Eclipse Project

Based on graphical editors

/ modelers

No need to be an expert for

most uses

But already proven

technology

In a nutshell

Page 42: Sirius: Graphical Editors for your DSLs

Tool to quickly define custom

multi-view workbenches

Based on Eclipse Modeling

technology stack

New Eclipse Project

Based on graphical editors

/ modelers

No need to be an expert for

most uses

But already proven

technology

In a nutshell

Page 43: Sirius: Graphical Editors for your DSLs

Developers End users

Reduce cost and complexity

Tools adapted to their needs and workflows

What benefits?

No need to be a GMF expert

Dynamic and iterative (live) development

Improved experience (compared to raw GMF)

Common experience across multiple DSLs

Page 44: Sirius: Graphical Editors for your DSLs

Developers End users

Reduce cost and complexity

Tools adapted to their needs and workflows

What benefits?

No need to be a GMF expert

Dynamic and iterative (live) development

Improved experience (compared to raw GMF)

Common experience across multiple DSLs

Page 45: Sirius: Graphical Editors for your DSLs

Developers End users

Reduce cost and complexity

Tools adapted to their needs and workflows

What benefits?

No need to be a GMF expert

Dynamic and iterative (live) development

Improved experience (compared to raw GMF)

Common experience across multiple DSLs

Page 46: Sirius: Graphical Editors for your DSLs

Developers End users

Reduce cost and complexity

Tools adapted to their needs and workflows

What benefits?

No need to be a GMF expert

Dynamic and iterative (live) development

Improved experience (compared to raw GMF)

Common experience across multiple DSLs

Page 47: Sirius: Graphical Editors for your DSLs

Developers End users

Reduce cost and complexity

Tools adapted to their needs and workflows

What benefits?

No need to be a GMF expert

Dynamic and iterative (live) development

Improved experience (compared to raw GMF)

Common experience across multiple DSLs

Page 48: Sirius: Graphical Editors for your DSLs

Developers End users

Reduce cost and complexity

Tools adapted to their needs and workflows

What benefits?

No need to be a GMF expert

Dynamic and iterative (live) development

Improved experience (compared to raw GMF)

Common experience across multiple DSLs

Page 49: Sirius: Graphical Editors for your DSLs

Developers End users

Reduce cost and complexity

Tools adapted to their needs and workflows

What benefits?

No need to be a GMF expert

Dynamic and iterative (live) development

Improved experience (compared to raw GMF)

Common experience across multiple DSLs

Page 50: Sirius: Graphical Editors for your DSLs

Developers End users

Reduce cost and complexity

Tools adapted to their needs and workflows

What benefits?

No need to be a GMF expert

Dynamic and iterative (live) development

Improved experience (compared to raw GMF)

Common experience across multiple DSLs

Page 51: Sirius: Graphical Editors for your DSLs

Two parts for two kinds of users

Specification environment (Specifier / Developer)

Runtime environment (End-user)

Page 52: Sirius: Graphical Editors for your DSLs

The Specification Environment

• Define custom multi-view workbenches

• Diagrams, Trees, Tables

• With little technical knowledge

• Get a working modeler fast

• Instant feedback

• Highly customizable

• Native tooling

• Java or extension points

Page 53: Sirius: Graphical Editors for your DSLs

The Runtime Environment

• Executes the specification

• No code generation • Environment adapted to

user needs

• Viewpoint-based

• Simplified workflow

• Modeling Project

Page 54: Sirius: Graphical Editors for your DSLs

Showtime

Page 55: Sirius: Graphical Editors for your DSLs

History & Plans

3

Page 56: Sirius: Graphical Editors for your DSLs

Since 2009

Page 57: Sirius: Graphical Editors for your DSLs

Obeo’s flagship commercial product that is embedding the Sirius technology

Obeo Designer

Page 58: Sirius: Graphical Editors for your DSLs

The name of the Sirius technology within Obeo Designer at that time

Viewpoint

Page 59: Sirius: Graphical Editors for your DSLs

The Viewpoint technology is made open-source as an Eclipse project: Sirius

2013

Page 60: Sirius: Graphical Editors for your DSLs
Page 61: Sirius: Graphical Editors for your DSLs

5Modeling Workbenches

Page 62: Sirius: Graphical Editors for your DSLs

Diagrams in some Models

500+

Page 63: Sirius: Graphical Editors for your DSLs

Elements in Biggest Models

1.3M+

Page 64: Sirius: Graphical Editors for your DSLs
Page 65: Sirius: Graphical Editors for your DSLs

Conclusion

4

Page 66: Sirius: Graphical Editors for your DSLs

• Full featured environment to create custom graphical modelers

• Mature, many deployments • Official Eclipse project

SiriusWhat you should remember

Page 67: Sirius: Graphical Editors for your DSLs

http://www.eclipse.org/sirius/

http://www.obeodesigner.com/

http://www.obeo.fr