Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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


Published on

Slides used for the EclipseCon EU 2016 talk:

Sirius is the Eclipse project that allows you to easily create custom graphical modeling tools dedicated to your own business domain.

In this talk we will explain and illustrate how to successfully deploy industrial-strengh modeling workbenches based on Sirius.

In particular, we will show how to collaborate with other team members by storing your models and representations (diagrams, tables, matrices, trees) in a shared repository. This solution based on CDO provides a fine-grained locking mechanism that allows you simultaneously work on visual representations for the same data, without losing time managing conflicts and without any technical skills.

During this talk, you will also discover the solutions provided by the creators of Sirius to help you stay on the right tracks, from first hands-on to large deployments.

Published in: Software
  • Be the first to comment

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

  1. 1. ©Copyright2016Obeo Be Serious With Sirius: Your Journey From First Experimentation to Large Deployment Etienne Juliot @ejuliot
  2. 2. ©Copyright2016Obeo 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
  3. 3. ©Copyright2016Obeo The Sirius Process Domain Model Graphical Modelers Integration Iterate
  4. 4. 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 »
  5. 5. ©Copyright2016Obeo Domain model: Involve the domain experts Modeling Champion Domain Stakeholder EMF Expert
  6. 6. ©Copyright2016Obeo Domain model : Be specific (W/WO standards)
  7. 7. ©Copyright2016Obeo Domain model: Evolution-Friendly Designed Early domain model stabilization - add: OK - remove, update: migration
  8. 8. ©Copyright2016Obeo Domain model: Use Ecore Tools
  9. 9. ©Copyright2016Obeo 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
  10. 10. ©Copyright2016Obeo The Sirius Process Domain Model Graphical Modelers Integration Iterate
  11. 11. 11 ©Copyright2016Obeo Graphical Modelers: Use expressive shapes
  12. 12. 12 ©Copyright2016Obeo Graphical Modelers: Give meaning to colors
  13. 13. 13 ©Copyright2016Obeo Graphical Modelers: Use SVG & images Use your Visual Identity
  14. 14. 14 ©Copyright2016Obeo Graphical Modelers: make it nice Follow Loredana's advises
  15. 15. 15 ©Copyright2016Obeo Graphical Modelers: make it nice Follow Loredana's advises after before
  16. 16. 16 ©Copyright2016Obeo Graphical Modelers: make it nice Follow Loredana's advises after before
  17. 17. 17 ©Copyright2016Obeo Graphical Modelers: create an instinctive usage (without training)
  18. 18. 18 ©Copyright2016Obeo Graphical Modelers: add custom properties view
  19. 19. 19 ©Copyright2016Obeo Graphical Modelers: guide the user
  20. 20. 20 ©Copyright2016Obeo Graphical Modelers: guide the user conditional styles
  21. 21. 21 ©Copyright2016Obeo Graphical Modelers: guide the user smart filters
  22. 22. 22 ©Copyright2016Obeo Graphical Modelers: guide the user semantic positionning
  23. 23. 23 ©Copyright2016Obeo Graphical Modelers: guide the user activity explorer
  24. 24. 24 ©Copyright2016Obeo Graphical Modelers: guide the user Viewpoints Layers Validation Tabbar Layout …. Reduce the number of clics
  25. 25. 25 ©Copyright2016Obeo Graphical Modelers: work by uses cases Modeling Champion Domain Stakeholder Sirius Core Dev Sirius Expert
  26. 26. 26 ©Copyright2016Obeo 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
  27. 27. ©Copyright2016Obeo The Sirius Process Domain Model Graphical Modelers Integration Iterate
  28. 28. 28 ©Copyright2016Obeo 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
  29. 29. ©Copyright2016Obeo The Sirius Process Domain Model Graphical Modelers Integration Iterate
  30. 30. 30 ©Copyright2016Obeo 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. 31. 31 ©Copyright2016Obeo 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
  32. 32. ©Copyright2016Obeo 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. 33. 33 ©Copyright2016Obeo 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. 34. 34 ©Copyright2016Obeo 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. 35. 35 ©Copyright2016Obeo 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. 36. 36 ©Copyright2016Obeo 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
  37. 37. ©Copyright2016Obeo 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
  38. 38. 40 ©Copyright2016Obeo 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
  39. 39. ©Copyright2016Obeo Collaborative Modeling with Sirius: from Model Fragments to Shared-Repository
  40. 40. ©Copyright2016Obeo Collaboration with model fragments SCM Merge data Work locally Work locally Merge data A SCM to manage files User 1 User 2
  41. 41. ©Copyright2016Obeo Collaboration with model fragments User 1 User organiser Fragment file User 2 How to avoid merging ?
  42. 42. ©Copyright2016Obeo EMF Compare : semantic merge
  43. 43. ©Copyright2016Obeo EMF Compare: graphical merge
  44. 44. ©Copyright2016Obeo 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
  45. 45. ©Copyright2016Obeo You already know how to collaborate fluently
  46. 46. ©Copyright2016Obeo Instant collaboration User 2 Obeo Designer Team Server User 1 User 2 shared repository and collaborative work features
  47. 47. ©Copyright2016Obeo 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
  48. 48. ©Copyright2016Obeo Usage across several teams OD Team is deployed at Sagem, MMA, CS, Postal Bank, Thales, French Ministry of Defense, Airbus, ... Paris Stuttgart SCM
  49. 49. ©Copyright2016Obeo 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
  50. 50. 15/11/2016 Paris XV - Novotel Vaugirard Talks ClinicTutorials Call For Papers Now Open!