graphical dsl with sirius: how to simplify the creation of custom modeling tools

42
1 © Copyright 2016 Obeo Graphical DSL with Sirius: how to simplify the creation of custom modeling tools Etienne JULIOT – 2017 04 26 Craft-Conf Workshop Eclipse ToolMakers’Day

Upload: etienne-juliot

Post on 21-Jan-2018

258 views

Category:

Software


0 download

TRANSCRIPT

1

© C

opyr

ight

201

6 O

beo

Graphical DSL with Sirius: how to simplify the creation of custom modeling

tools

Etienne JULIOT – 2017 04 26Craft-Conf Workshop Eclipse ToolMakers’Day

2

© C

opyr

ight

201

6 O

beo

3

© C

opyr

ight

201

6 O

beo

Complexity?

Flexibility

© C

op

yrig

ht

2017

Ob

eo Easily and rapidly create

custom modeling workbenches

Business Domain UsersModeling Workbench

© C

op

yrig

ht

2017

Ob

eo

Benefits

End users

Tools tailored to their vocabulary & processes

Tool specifiers / Developers

Reduce cost & complexity(2 hours hands-on session produces first results)

© C

op

yrig

ht

2017

Ob

eo

Principles

Specification environment Runtime environment

Tool specifiers / Developers End users

© C

op

yrig

ht

2017

Ob

eo

• The System temperature should be under 30°C and must be under 40°C .

• The cost must be as lower as possible.

• Several Data Source (cameras, radars, wifi) can provide several GB of data.

• Each Processor must be able to capture all provided data in real time.

• Each component must have an electrical power line

• The total weight must be lower than 2 Kg

• Etc.

Demo: Trade-Off for Data Flow

Time

© C

op

yrig

ht

2017

Ob

eo

Define the Metamodel

DesignGraphical Editor

LeverageData

11

2233

Model-Driven Tools

● Generation● Validation● Comparison● Transformation

Model-Driven Tools

● Generation● Validation● Comparison● TransformationBusiness Vocabulary

• Concepts• Relations• Features

Business Vocabulary

• Concepts• Relations• Features

Representations

● Displayed elements● Shapes● Coulors● Fonts

Edition tools

● Palette● Properties Views

Representations

● Displayed elements● Shapes● Coulors● Fonts

Edition tools

● Palette● Properties Views

Process

© C

op

yrig

ht

2017

Ob

eo

Complexity Management

• Synchronized Editors

• Conditional Styles

• Layers

• Filters

• Validation Rules

• Quickfixes

• Synchronized Editors

• Conditional Styles

• Layers

• Filters

• Validation Rules

• Quickfixes

© C

op

yrig

ht

2017

Ob

eo

Project history

Created by Obeo and Thales to providea generic modeling workbench

that can be tailored to specific needs

Contributed in Open Source in 2013 as a project in Eclipse

Several millionsEclipse Users

200Eclipse Members

Eclipse Strategic Member

Obeo+16M Open Source Lines of Code

+20 Eclipse Committers5 Project Leaders

13Eclipse Strategic Members

(Google, IBM, Oracle, SAP, Bosch, )…

© C

op

yrig

ht

2017

Ob

eo

A dynamic Open Source project

Already deployed on numerous operational contexts

Sponsors working on Open Innovation mode (Thales, French DoD, Sagem, ETAS-Bosch, ...)

Regular releases (2 per year, since 4 years)

Important activity on the forum (+100 messages per month)

Many visits of the web site (+144 000 pages views from 181 countries in 2016)

An annual community event with SiriusCon (18 speakers in 2016)

© C

op

yrig

ht

2017

Ob

eo

Many ready-to-use Open Source modelers

Information System Designer

UML Designer BPMN Designer

https://github.com/ObeoNetwork

... and other projects by more than 200 different authors

How to create a smart business with such OpenSource project?

© C

op

yrig

ht

2017

Ob

eo

Obeo Designer

Training, Consulting, ProjectsObeo leads Sirius development,

we bring you our skills

Support & MaintenanceGuaranteed response time and favored access to fixes

Instant sharingFluent and conflictless work

on the same data

Secure Your Deployments

Collaborate with Your Team Members

Rely on Sirius experts

© C

op

yrig

ht

2017

Ob

eo

Real Time & Seamless Collaboration

On Your Models

© C

op

yrig

ht

2017

Ob

eo

Obeo Designer Team

User 2

User 1 User 2

A shared repositoryand collaborative work mechanisms

Server

© C

op

yrig

ht

2017

Ob

eo

To get rid of file sharing problems!

Classic collaboration problems

Split the model into files

Manage the files with a Software Configuration Management tool

Manage locking at a file level

Reconcile using diff & merge

© C

op

yrig

ht

2017

Ob

eo

Users’ Feedback

Several users working simultaneously on the same data• Automatic propagation of modifications across all user views

• Authentication and data access rights

No time lost managing conflicts• Implicit locking during modifications

• Explicitly created reservation locks

Standard data exploitation• Storage in a multi-platform relational database (H2)

• Ready to deploy server configuration based on CDO

• Import/Export with local projects

© C

opyr

ight

201

6 O

beo

Users’ experience

© C

opyr

ight

201

6 O

beo

SOA, Entity, Database & JavaEE generation

© C

opyr

ight

201

6 O

beo

Impacts Analysis

Enterprise Architecture

© C

opyr

ight

201

6 O

beo

Arduino Designer

© C

opyr

ight

201

6 O

beo

Generate + Compile + Deploy

On Board Satellite Applications

Capitalizing on Human Expertise

Risks Analysis

Multiplicity of concerns

Collaborative Engineering

How to Start?

Demonstrator focus on potential issues & visual

Good Domain model & Modeling tool applicable on a first project

● Productivity tools● Integration with other tools● Packaging● Release engineering

Prototype Industrialization Deployment

By Obeo

We develop on your behalfWe are committed to the results

Independently

You develop by your self.We provide training and support.

With Obeo

We put our experts at your disposal,on your premises or remotely

& with local partner (eg. IncQuery)

Team with all stakeholders : Sirius Features, Business Specifics, Integration

© C

op

yrig

ht

2017

Ob

eo

Metamodel definition

Capture the core concepts of your business

Represent them in a comprehensive, well formed and evolutive Ecore model.

© C

op

yrig

ht

2017

Ob

eo

Implement specific editors

Choose representations that best suit your business needs

Efficiently implement them: performance, UX, evolutivity

© C

op

yrig

ht

2017

Ob

eo

Develop complementary plug-ins

Integrate other kind of editors (textual, forms, ...)

Manage models’ life-cycle (comparison, imports/exports, ...)

Generate code or documentation

© C

op

yrig

ht

2017

Ob

eo

Integrate a ready-to-use workbench

Create a seamless assembly of tools

Provide a powerful and intuitive environment

© C

op

yrig

ht

2017

Ob

eo

Industrialize your tooling process

Select the best solutions to manage, test and build your plug-ins

Create a software factory to rapidly and safely deliver your solution