O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

Sirius : origins, present, future

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Carregando em…3
×

Confira estes a seguir

1 de 67 Anúncio

Mais Conteúdo rRelacionado

Semelhante a Sirius : origins, present, future (20)

Mais de Cédric Brun (13)

Anúncio

Mais recentes (20)

Sirius : origins, present, future

  1. 1. SIRIUS ORIGINS, PRESENT, FUTURE Presented by / Slides published at Cédric Brun @bruncedric http://cedric.brun.io/talks
  2. 2. CTO @ OBEO LONG HISTORY WITH SIRIUS
  3. 3. ORIGINS OF AN OSS PROJECT
  4. 4. GOING OSS
  5. 5. “Sirius is an Eclipse project which aims at providing specific multi-view modeling workbenches through diagram, table or tree editors based on EMF. Users can easily define their own modeling workbench, even with very little technical knowledge of Eclipse, while still being able to deeply customize it when needed.”
  6. 6. MISSION STATEMENT “Lower the barrier of entry to create and deploy state of the art tools, for any domain language.”
  7. 7. Sirius 0.9 Sirius 1.0 Sirius 2.0 ☑ renamed and on Eclipse.org ☑ infrastructure and team 100% operational ☑ up to speed
  8. 8. WHAT HAPPENS NEXT ?
  9. 9. A "FEW" RELASES Version Date Closed Feature Requests 1.0.0(Luna) Jun 14, 2014 100 2 1.0.1(Luna SR1) Aug 14, 2014 20 - 1.0.2(Luna SR2) Jan 28, 2015 9 - 2.0.0 Oct 14, 2014 113 27 2.0.1 Nov 14, 2014 2 - 2.0.2 Dec 14, 2014 15 - 2.0.3 Jan 15, 2015 16 - 2.0.4 Feb 15, 2015 8 - 2.0.5 Apr 15, 2015 8 - 2.0.6 Jun 06, 2015 2 - 3.0.0(Mars) Jun 14, 2015 219 35 3.0.1 Sep 10, 2015 14 - 3.0.2(Mars.1) Sep 15, 2015 3 - 3.1.0 Oct 15, 2015 82 17 3.1.1 Oct 29, 2015 5 - Total 616 81
  10. 10. A "FEW" RELASES Version Date Closed Feature Requests 1.0.0(Luna) Jun 14, 2014 100 2 Aug 14, 2014 20 - Jan 28, 2015 9 - 2.0.0 Oct 14, 2014 113 27 Nov 14, 2014 2 - Dec 14, 2014 15 - Jan 15, 2015 16 - Feb 15, 2015 8 - Apr 15, 2015 8 - Jun 06, 2015 2 - 3.0.0(Mars) Jun 14, 2015 219 35 Sep 10, 2015 14 - Sep 15, 2015 3 - 3.1.0 Oct 15, 2015 82 17 Oct 29, 2015 5 - Total 616 81
  11. 11. MAJOR VERSIONS!
  12. 12. UPGRADING The runtime handles .odesign and .aird models for you Easy process : 1. Check release notes for user-visible changes. 2. Change update-site, versions 3. In case of impacting API change, re-check the for instructions release notes (EcoreTools and UML Designer had no impact whatsoever)
  13. 13. WHAT'S NEW SINCE SIRIUS 1.0 ?
  14. 14. ACCELEO QUERY LANGUAGE
  15. 15. IMPLEMENTATION SPECIFICALLY TAILORED FOR THE SIRIUS USE CASE
  16. 16. SIRIUS USE CASE ? Many variables for a given expression nullvalues are common Navigation with many steps aggregating data Interactive use : context is constantly changing Complex or custom logic : Java Services Predictable ordering and performance overhead .
  17. 17. LANGUAGE CHARACTERISTICS You know OCL ? Then you know AQL No implicit variables aql:nameis invalid and become aql:self.name aql:self.eContents()‐>select(name.startsWith('A'))is invalid and become aql:self.eContents()‐>select(i | i.name.startsWith('A') self.referenceWithNoValue.someOtherAttributehas no evaluation error, and returns "Nothing" Classic operations : filter, collect Convenient operations : eInverse(), eResource()..
  18. 18. NOT STRICTLY COMPATIBLE* WITH MTL *: BUT A SUBSET OF MTL WORKS FOR BOTH
  19. 19. QUERIES ENGINES -- OVERHEAD BENCH
  20. 20. in preference to Acceleo 3 or OCL simpler for querying EMF models more concise and very easy to learn improved code completion improved syntax errors detection
  21. 21. RECOMMENDED QUERY LANGUAGE FOR SIRIUS 3.1.0
  22. 22. https://wiki.eclipse.org/Sirius/Update_Sites
  23. 23. DEFINITION TOOLING Workspace class loading is BACK Image path validation and selection wizard Quick Outline Prioritized sub menus ...
  24. 24. DIAGRAM USER EXPERIENCE
  25. 25. RESIZING A CONTAINER (1.0)
  26. 26. RESIZING A CONTAINER (2.0)
  27. 27. POSITIONING THINGS Snap To Shape enabled by default for new diagrams Snape To All Shapes mode (F4) Snap To Grid now used when an element is created Resize no longer change ports or children's location Actions to distribute shapes Action to reset the diagram origin
  28. 28. EDGES LAYOUTING (1.0)
  29. 29. EDGES LAYOUTING (2.0)
  30. 30. EDGES LABEL INSTABILITY (3.0)
  31. 31. EDGES LABELS STABILITY (3.1)
  32. 32. BI-DIRECTIONAL LINK WITH EDITOR
  33. 33. SELECTION AFTER TOOL EXECUTION
  34. 34. BEAUTIFUL EDITORS
  35. 35. ANCHOR ON BORDERS 1.0
  36. 36. ANCHOR ON BORDERS 3.0
  37. 37. UNDERLINED AND STRIKE-THROUGH STYLE FOR LABELS
  38. 38. CUSTOMIZABLE BORDER STYLE
  39. 39. COMPARTMENTS Full blown "Mapping" static or dynamic number of compartments leverage queries
  40. 40. COMPARTMENTS Complete with 3.1 Corner cases and polish for 3.1 Collapse
  41. 41. COMPARTMENTS Complete
  42. 42. FIRST STEPS RUNTIME STRINGS ARE EXTERNALIZED I18N SERVICES FOR AQL DEDICATED MECHANISM FOR .ODESIGN MODEL
  43. 43. FASTER
  44. 44. GOAL : 1 MILLION MODEL ELEMENTS
  45. 45. DEMO
  46. 46. CONSTANT IMPROVEMENTS Time (sec) Heap (Mb) Time Variation Heap Variation Open Huge Project 10 276 -91,00% -20,00% Open Big Class Diagram 5 24 -75,00% +20,00% Refresh Big Class Diagram 0,731 0 -40,00% 0,00% Save After Diagram Change 26 0 -23,00% 0,00% Close Diagram 0,1 -6 0,00% 0,00% Close Project 55 294 0,00% 0,00%
  47. 47. BIG OPERATIONS Models Footprint, ~20% improvement use of MinimalEObject Colors transformed from full-blown EObject to Immutable DataType detection and correction of leaks reduce usage of Adapters Save Strategy Improvements in the Image cache...
  48. 48. LATENCY Diagram Refresh UI Runtime Model Element Selection Dialogs for big models Right-click latency in the explorer Better integration with EEF (property views) Tables SWT Refreshes now done as a batch Table model refresh improvements
  49. 49. SIRIUS NEEDS YOU ! Performances depends on your .odesign specification Focus on queries wich would depend on the number of elements in the whole model Measure*, Improve, Repeat *: Sirius embedded profiler is one click away
  50. 50. A BRIGHT FUTURE
  51. 51. SIRIUS : RICH PROPERTY VIEWS
  52. 52. THINGS WE ♡ IN SIRIUS ... Define your properties in the .odesign file Dynamic, no code generation involved Flexible even for complex Ecore models ... APPLIED FOR THE PROPERTY VIEWS
  53. 53. EARLY ADOPTERS
  54. 54. ALREADY IN SIRIUS 4.0 Possibility to contribute SVG shapes : stencils pack API to control the "tab-bar" Improvement on edge reconnection feedback
  55. 55. OTHER POTENTIAL THEMES FOR ECLIPSE NEON Bugfixes, Scalability, Performance, Headless Better SVG rendering Better integration with EMF Edit Prefered side for ports Improve the i18n Story Your priority
  56. 56. LONG TERM, ONE STEP AT A TIME Push limits Scalability, Improvements in underlying technologies Sirius Everywhere Embeddable, reduced dependencies ...
  57. 57. ECLIPSE CONFERENCES, ROADSHOWS, DEVOXX, DEMOCAMPS
  58. 58. 114 HITS FOR GITHUB REPOSITORIES USING SIRIUS
  59. 59. ... CloudScale-Project/ArchitecturalTemplates The Architectural Template method is an efficient design-time engineering method for analyzing scalability, elasticity, and efficiency properties of SaaS applications. steindani/sihuhu Basic DSL for a model railway, created at the FTSRG, BUTE Boereck/odesign-designer Designer to graphicaly design .odesign files. ...
  60. 60. WANT TO SHARE WHAT YOU DID ? GET YOUR ENTRY IN THE GALLERY THROUGH BUG 448492
  61. 61. THE O-TEAM FORUMS : 100 MESSAGES AND 30 AUTHORS EVERY MONTH
  62. 62. TAKE AWAYS Sirius : "State of The Art" modeling tools. Serene evolutions A rising Community JUST THE BEGINNING !
  63. 63. TO BE CONTINUED... Presented by /Cédric Brun @bruncedric Slides published at http://cedric.brun.io/talks

×