SlideShare una empresa de Scribd logo
1 de 67
Descargar para leer sin conexión
Sirius
graphical 


editors 

for your 


DSL
Polarsys Day
December 3rd, 2013

Mikaël Barbero
Obeo
1
Domain
Specific
Language
Domain
Specific
Language
Introduction to DSLs borrowed from
http://www.slideshare.net/peterfriese/overcoming-the-impedance-mismatch-between-source-code-and-architecture
Domain
Specific
Language
Imagine you want
to peal an apple…
What is the
appropriate tool?
Your good old
Swiss army knife!
Because it does
so many things!
Imagine you want
to peal a bit more apples…
Is it still the best tool?
Better use this one…
and this one!
while avoiding
the unitasker
Domain
Specific
Language
=
SELECT name, salary, age
FROM person
WHERE salary > 2000
ORDER BY salary, age
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
Domain
Specific
Language
$

$
$

$
Sirius
Sirius
2
Introducing
Sirius
In a nutshell
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
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
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
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
What benefits?
Developers

End users

Reduce cost and
complexity

Tools adapted to their
needs and workflows

No need to be a
GMF expert

Improved experience
(compared to raw GMF)

Dynamic and iterative
(live) development

Common experience
across multiple DSLs
What benefits?
Developers

End users

Reduce cost and
complexity

Tools adapted to their
needs and workflows

No need to be a
GMF expert

Improved experience
(compared to raw GMF)

Dynamic and iterative
(live) development

Common experience
across multiple DSLs
What benefits?
Developers

End users

Reduce cost and
complexity

Tools adapted to their
needs and workflows

No need to be a
GMF expert

Improved experience
(compared to raw GMF)

Dynamic and iterative
(live) development

Common experience
across multiple DSLs
What benefits?
Developers

End users

Reduce cost and
complexity

Tools adapted to their
needs and workflows

No need to be a
GMF expert

Improved experience
(compared to raw GMF)

Dynamic and iterative
(live) development

Common experience
across multiple DSLs
What benefits?
Developers

End users

Reduce cost and
complexity

Tools adapted to their
needs and workflows

No need to be a
GMF expert

Improved experience
(compared to raw GMF)

Dynamic and iterative
(live) development

Common experience
across multiple DSLs
What benefits?
Developers

End users

Reduce cost and
complexity

Tools adapted to their
needs and workflows

No need to be a
GMF expert

Improved experience
(compared to raw GMF)

Dynamic and iterative
(live) development

Common experience
across multiple DSLs
What benefits?
Developers

End users

Reduce cost and
complexity

Tools adapted to their
needs and workflows

No need to be a
GMF expert

Improved experience
(compared to raw GMF)

Dynamic and iterative
(live) development

Common experience
across multiple DSLs
What benefits?
Developers

End users

Reduce cost and
complexity

Tools adapted to their
needs and workflows

No need to be a
GMF expert

Improved experience
(compared to raw GMF)

Dynamic and iterative
(live) development

Common experience
across multiple DSLs
Two parts for two
kinds of users
Specification environment

Runtime environment

(Specifier / Developer)

(End-user)
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
The Runtime
Environment
•

Executes the
specification
•

•

Environment adapted to
user needs
•

•

No code generation

Viewpoint-based

Simplified workflow
•

Modeling Project
Showtime
3
History &
Plans
e 2009
Sinc
Obeo
Designer
Obeo’s flagship commercial product that
is embedding the Sirius technology
Viewpoint
The name of the Sirius technology
within Obeo Designer at that time
2013
The Viewpoint technology is made
open-source as an Eclipse project: Sirius
5
Modeling Workbenches
500+
Diagrams in some Models
1.3M+
Elements in Biggest Models
4
Conclusion
Sirius
What you should remember
•

•
•

Full featured environment
to create custom graphical
modelers
Mature, many deployments
Official Eclipse project
http://www.eclipse.org/sirius/
http://www.obeodesigner.com/
http://www.obeo.fr

Más contenido relacionado

Similar a Sirius: Graphical Editors for your DSLs

Similar a Sirius: Graphical Editors for your DSLs (20)

Embarcadero's Connected Development
Embarcadero's Connected DevelopmentEmbarcadero's Connected Development
Embarcadero's Connected Development
 
Data Evolution in HBase
Data Evolution in HBaseData Evolution in HBase
Data Evolution in HBase
 
RAD Studio XE5 in Action Tech Preview
RAD Studio XE5 in Action Tech PreviewRAD Studio XE5 in Action Tech Preview
RAD Studio XE5 in Action Tech Preview
 
Technology and Digital Platform | 2019 partner summit
Technology and Digital Platform | 2019 partner summitTechnology and Digital Platform | 2019 partner summit
Technology and Digital Platform | 2019 partner summit
 
Slimfast
SlimfastSlimfast
Slimfast
 
PPT Example
PPT ExamplePPT Example
PPT Example
 
Mobile Websites und (Web)-Apps mit jQuery Mobile
Mobile Websites und (Web)-Apps mit jQuery MobileMobile Websites und (Web)-Apps mit jQuery Mobile
Mobile Websites und (Web)-Apps mit jQuery Mobile
 
Partner reseller proposal ppt
Partner reseller proposal pptPartner reseller proposal ppt
Partner reseller proposal ppt
 
Intro to Video Conferencing
Intro to Video ConferencingIntro to Video Conferencing
Intro to Video Conferencing
 
Beyond the GFLOPS
Beyond the GFLOPSBeyond the GFLOPS
Beyond the GFLOPS
 
Android design lecture #1
Android design   lecture #1Android design   lecture #1
Android design lecture #1
 
DSL development
DSL developmentDSL development
DSL development
 
SDL BeGlobal The SDL Platform for Automated Translation
SDL BeGlobal The SDL Platform for Automated TranslationSDL BeGlobal The SDL Platform for Automated Translation
SDL BeGlobal The SDL Platform for Automated Translation
 
Online gas booking project in java
Online gas booking project in javaOnline gas booking project in java
Online gas booking project in java
 
Code, ci, infrastructure - the gophers way
Code, ci, infrastructure - the gophers wayCode, ci, infrastructure - the gophers way
Code, ci, infrastructure - the gophers way
 
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
 
groovy DSLs from beginner to expert
groovy DSLs from beginner to expertgroovy DSLs from beginner to expert
groovy DSLs from beginner to expert
 
(Costless) Software Abstractions for Parallel Architectures
(Costless) Software Abstractions for Parallel Architectures(Costless) Software Abstractions for Parallel Architectures
(Costless) Software Abstractions for Parallel Architectures
 
Day 1 General Session RedisConf
Day 1 General Session RedisConfDay 1 General Session RedisConf
Day 1 General Session RedisConf
 
Docker Enables DevOps
Docker Enables DevOpsDocker Enables DevOps
Docker Enables DevOps
 

Más de mikaelbarbero

Diff and Merge with Ease: EMF Compare
Diff and Merge with Ease: EMF CompareDiff and Merge with Ease: EMF Compare
Diff and Merge with Ease: EMF Compare
mikaelbarbero
 
OSGi: Don't let me be Misunderstood
OSGi: Don't let me be MisunderstoodOSGi: Don't let me be Misunderstood
OSGi: Don't let me be Misunderstood
mikaelbarbero
 
EMF.Edit the Force Unleashed!
EMF.Edit the Force Unleashed!EMF.Edit the Force Unleashed!
EMF.Edit the Force Unleashed!
mikaelbarbero
 
Google Guava & EMF @ GTUG Nantes
Google Guava & EMF @ GTUG NantesGoogle Guava & EMF @ GTUG Nantes
Google Guava & EMF @ GTUG Nantes
mikaelbarbero
 
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
mikaelbarbero
 

Más de mikaelbarbero (18)

Kubernetes 101 - A Cluster Operating System
Kubernetes 101 - A Cluster Operating SystemKubernetes 101 - A Cluster Operating System
Kubernetes 101 - A Cluster Operating System
 
Language Server Protocol - Why the Hype?
Language Server Protocol - Why the Hype?Language Server Protocol - Why the Hype?
Language Server Protocol - Why the Hype?
 
What's new in Eclipse Oxygen (Devoxx France 2017)
What's new in Eclipse Oxygen (Devoxx France 2017)What's new in Eclipse Oxygen (Devoxx France 2017)
What's new in Eclipse Oxygen (Devoxx France 2017)
 
The Eclipse IDE: What's new in the 2017 release?
The Eclipse IDE: What's new in the 2017 release?The Eclipse IDE: What's new in the 2017 release?
The Eclipse IDE: What's new in the 2017 release?
 
What every Eclipse developer should know about progress reporting and job can...
What every Eclipse developer should know about progress reporting and job can...What every Eclipse developer should know about progress reporting and job can...
What every Eclipse developer should know about progress reporting and job can...
 
The Eclipse IDE - The Force Awakens (Devoxx France 2016)
The Eclipse IDE - The Force Awakens (Devoxx France 2016)The Eclipse IDE - The Force Awakens (Devoxx France 2016)
The Eclipse IDE - The Force Awakens (Devoxx France 2016)
 
Diff and Merge with Ease: EMF Compare
Diff and Merge with Ease: EMF CompareDiff and Merge with Ease: EMF Compare
Diff and Merge with Ease: EMF Compare
 
Eclipse simultaneous release in a nutshell
Eclipse simultaneous release in a nutshellEclipse simultaneous release in a nutshell
Eclipse simultaneous release in a nutshell
 
OSGi: Don't let me be Misunderstood
OSGi: Don't let me be MisunderstoodOSGi: Don't let me be Misunderstood
OSGi: Don't let me be Misunderstood
 
EMF.Edit the Force Unleashed!
EMF.Edit the Force Unleashed!EMF.Edit the Force Unleashed!
EMF.Edit the Force Unleashed!
 
EMF Compare 2.0: Scaling to Millions (updated)
EMF Compare 2.0: Scaling to Millions (updated)EMF Compare 2.0: Scaling to Millions (updated)
EMF Compare 2.0: Scaling to Millions (updated)
 
EMFCompare 2.0: Scaling to Millions
EMFCompare 2.0: Scaling to MillionsEMFCompare 2.0: Scaling to Millions
EMFCompare 2.0: Scaling to Millions
 
3mf infinity-and-beyond
3mf infinity-and-beyond3mf infinity-and-beyond
3mf infinity-and-beyond
 
Eclipseconeurope 2011 - EMFCompare Improvements
Eclipseconeurope 2011 - EMFCompare ImprovementsEclipseconeurope 2011 - EMFCompare Improvements
Eclipseconeurope 2011 - EMFCompare Improvements
 
Google Guava & EMF @ GTUG Nantes
Google Guava & EMF @ GTUG NantesGoogle Guava & EMF @ GTUG Nantes
Google Guava & EMF @ GTUG Nantes
 
5M lines of code migration
5M lines of code migration5M lines of code migration
5M lines of code migration
 
EMFPath
EMFPathEMFPath
EMFPath
 
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 

Sirius: Graphical Editors for your DSLs