be serious with sirius your journey from first experimentation to large deployment

50
© Copyright 2016 Obeo Be Serious With Sirius: Your Journey From First Experimentation to Large Deployment Etienne Juliot @ejuliot

Upload: etienne-juliot

Post on 11-Feb-2017

81 views

Category:

Software


0 download

TRANSCRIPT

© C

op

yrig

ht

2016

Ob

eo

Be Serious With Sirius: Your Journey From First Experimentation to Large Deployment

Etienne Juliot@ejuliot

© C

op

yrig

ht

2016

Ob

eo

Sirius : A Well Proven Technology

Deployed on numerous projects

● Thales: Systems Engineering of the group (Capella workbench)● French Ministry of Defense: Spec, Design and Dev of Enteprise Applications

© C

op

yrig

ht

2016

Ob

eo

The Sirius Process

DomainModel

GraphicalModelers

Integration

Iterate

Domain model : Describe your business

Goulwen Le Fur:« The more domain model is well-designed,the more it will be easy to create tools,the more it will evolve easily in time »

© C

op

yrig

ht

2016

Ob

eo

Domain model: Involve the domain experts

Modeling Champion

DomainStakeholder

EMF Expert

© C

op

yrig

ht

2016

Ob

eo

Domain model : Be specific (W/WO standards)

© C

op

yrig

ht

2016

Ob

eo

Domain model: Evolution-Friendly Designed

Early domain model stabilization

- add: OK- remove, update: migration

© C

op

yrig

ht

2016

Ob

eo

Domain model: Use Ecore Tools

© C

op

yrig

ht

2016

Ob

eo

Domain model: Follow Ecore Best Practises

Follow the little pony checklist

NsURI convention

Reference and attribute names are consistent

All the non-abstract EClasses are supposed to be instanciated

A user can’t introduce cyclic references in between model fragments

A user can’t introduce cyclic references in between model fragments

http://cedric.brun.io/eclipse/ecore-design-checklist-part1/

http://cedric.brun.io/eclipse/ecore-design-checklist-part2

© C

op

yrig

ht

2016

Ob

eo

The Sirius Process

DomainModel

GraphicalModelers

Integration

Iterate

11

© C

op

yrig

ht

2016

Ob

eo

Graphical Modelers: Use expressive shapes

12

© C

op

yrig

ht

2016

Ob

eo

Graphical Modelers: Give meaning to colors

13

© C

op

yrig

ht

2016

Ob

eo

Graphical Modelers: Use SVG & images

Use your Visual Identity

14

© C

op

yrig

ht

2016

Ob

eo

Graphical Modelers: make it nice

Follow Loredana's advises

15

© C

op

yrig

ht

2016

Ob

eo

Graphical Modelers: make it nice

Follow Loredana's advises

after

before

16

© C

op

yrig

ht

2016

Ob

eo

Graphical Modelers: make it nice

Follow Loredana's advises

after

before

17

© C

op

yrig

ht

2016

Ob

eo

Graphical Modelers: create an instinctive usage (without training)

18

© C

op

yrig

ht

2016

Ob

eo

Graphical Modelers: add custom properties view

19

© C

op

yrig

ht

2016

Ob

eo

Graphical Modelers: guide the user

20

© C

op

yrig

ht

2016

Ob

eo

Graphical Modelers: guide the user conditional styles

21

© C

op

yrig

ht

2016

Ob

eo

Graphical Modelers: guide the user smart filters

22

© C

op

yrig

ht

2016

Ob

eo

Graphical Modelers: guide the user semantic positionning

23

© C

op

yrig

ht

2016

Ob

eo

Graphical Modelers: guide the user activity explorer

24

© C

op

yrig

ht

2016

Ob

eo

Graphical Modelers: guide the user

Viewpoints

Layers

Validation

Tabbar

Layout

….

Reduce the number of clics

25

© C

op

yrig

ht

2016

Ob

eo

Graphical Modelers: work by uses cases

Modeling Champion

DomainStakeholder

Sirius Core Dev

Sirius Expert

26

© C

op

yrig

ht

2016

Ob

eo

Graphical Modelers: follow Obeo's best practices

Optimized model queries

Avoid eAllContents()

Use semanticCandidate instead of precondition

...

Prefer AQL langage

Validate your VSM

Use naming convention

Reuse representation's definition with imports

Take care of the views’ size

Think about (un)synchronized nodes

© C

op

yrig

ht

2016

Ob

eo

The Sirius Process

DomainModel

GraphicalModelers

Integration

Iterate

28

© C

op

yrig

ht

2016

Ob

eo

Integration: typical tasks

Build

Tycho / Maven / Jenkins

Plugin architecture and reuse strategy

Branding

RCP / UI simplification

Import / Export

Document Generation with M2Doc

Source Code Generation with Acceleo (or XTend)

Xtext Bridge

Collaboration solution

© C

op

yrig

ht

2016

Ob

eo

The Sirius Process

DomainModel

GraphicalModelers

Integration

Iterate

30

© C

op

yrig

ht

2016

Ob

eo

Iterate: follow Obeo's best practises

A POC generally address

A subset of the target domain

a reduced set of representations

A POC is representation centric

don't care about reliability of domain model

Can be trashed Should be trashed→

Here the goal is to validate the general principle of the tooling, not start the development

31

© C

op

yrig

ht

2016

Ob

eo

Iterate – POC: Design for your users with your users

Tools are easy to configure

Design your ecore model in session validate with domain experts→

Prototype your sirius representations in session Test with targetted users→

Add in the loop internal or external IT integrator

Ideal team :

1 Sirius expert 1 targetted user1 domain expert

© C

op

yrig

ht

2016

Ob

eo

Ready-to-use packages

Community Edition Team Edition

A 100% Open Source package to discover Sirius thanks to a robust

foundation

A commercial package completing OD Community with repository-based

collaborative features.

33

© C

op

yrig

ht

2016

Ob

eo

Iterate – POC : project organization

Typical goals for Sirius expert:

To animate a working session

To implement a domain model or review an existing one

To quickly prototype Sirius representations from PPT / Visio specifications

To demonstrate the ability to import / export data with external tools

Average time for POC : 5/20 wd

34

© C

op

yrig

ht

2016

Ob

eo

Iterate: follow Obeo's best practises

A Pilot generally address

A subset of the target domain, reliable enough for a real usage

a reduced set of representations, usable by real end users

A Pilot is domain model + UX centric

the domain model should reliable and long term

It should demonstrate a value on some use cases with good feedbacks

The goal is to validate the ROI

35

© C

op

yrig

ht

2016

Ob

eo

Iterate – Pilot: scope

Outcomes

Domain model

Specification and Implementation of a subpart of the EMF domain model

Representations

Completion and Stabilization of the representations started during the POC

or Creation from scratch to be based on good specifications

Enough representation to be able to edit any elements

Basic Tools such as : direct edit, reconnexion, creation, built-in tools usage

Integration

Import / Export, (doc+code) Generators

Challenge

Identify risks and try to solve them

No test on large volumetry

36

© C

op

yrig

ht

2016

Ob

eo

Iterate – Pilot: project organization

Several ways of automonous

Full outsourcing to Sirius experts

Full internal dev with progressive ramp-up

4 days training

2 weeks at full time for initial setup and workshops

2,5 days of week during 1 month

Sprint for specific features

Support

Mix

1 outsourced Sirius expert 2 internal developper↔

Full time project or sprints

Average time for Pilot: 15/40 wd

© C

op

yrig

ht

2016

Ob

eo

Hot-fixes & Open Innovation

Cost management of your specific integrations

Dedicated Support

Guaranteed response time for your support queries

Secure Your Deployments

Drive the Roadmap

Iterate – Pilot: Editor's Support

40

© C

op

yrig

ht

2016

Ob

eo

Iterate: follow Obeo's best practises

Industrialization generally address

Scalability

Multiply representations at different abstractions or context

Adding all tools for convenience

Industrialization is reliability centric

Unit Testing on every services

RCP testing for UI

Automatic build, code review

© C

op

yrig

ht

2016

Ob

eo

Collaborative Modeling with Sirius: from Model Fragments to Shared-Repository

© C

op

yrig

ht

2016

Ob

eo

Collaboration with model fragments

SCMMerge data

Work locally Work locally

Merge data

A SCM to manage files

User 1 User 2

© C

op

yrig

ht

2016

Ob

eo

Collaboration with model fragments

User 1

User organiser

Fragment file

User 2

How to avoid merging ?

© C

op

yrig

ht

2016

Ob

eo

EMF Compare : semantic merge

© C

op

yrig

ht

2016

Ob

eo

EMF Compare: graphical merge

© C

op

yrig

ht

2016

Ob

eo

Model fragment: so what ?

Assume that processes are well defined and followed for

File fragmentation

File sharing

File locking at corse grain

Assume Technical support for merge processes suited for

Meta model that can be easily fragmented

Low user number

Technical users

© C

op

yrig

ht

2016

Ob

eo

You already know how to collaborate fluently

© C

op

yrig

ht

2016

Ob

eo

Instant collaboration

User 2

Obeo Designer Team Server

User 1 User 2

shared repository and collaborative work features

© C

op

yrig

ht

2016

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• Suited for 10-15 users users working simultaneously on the same data

No time lost managing conflicts and splitting models• Implicit locking during modifications• Explicitly created reservation locks

Centralized administration• Administration  console with automation feature• Branch, archive and backup management

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

op

yrig

ht

2016

Ob

eo

Usage across several teams

OD Team is deployed at Sagem, MMA, CS, Postal Bank, Thales, French Ministry of Defense, Airbus, ...

Paris Stuttgart

SCM

© C

op

yrig

ht

2016

Ob

eo

To Sum Up

Focus on the domain model and Stabilize it ASAP

Initialize and design your representations in workshops

Start with a POC

Industrialize with a collaborative editing strategy

15/11/2016Paris XV - Novotel Vaugirard

Talks ClinicTutorials

Call For PapersNow Open!