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.

ECMFA 2018 - Keynote : The future of modeling tools

Until now, modeling tools have relied mostly on native technologies, and consequently the graphical modelers based on it are desktop applications. Today there are different initiatives to bring graphical modeling tools up to the cloud.
The journey of building modeling tools has never been as exciting as it is right now.
What would be the advantages of a cloud based modeling tool? What changes this requires in the architecture of such tools?
At Obeo, we have been working on modeling tools in general, and on Eclipse Sirius in particular, for a long time now.
During this session, we will discuss the future of development tooling, we will briefly review the progress made over the last years and where the open source community is moving towards. We will demonstrate the different levels of integration we currently have, in particular how we leverage projects like Sprotty, ELK, Theia and Che to move diagrams into the browser. We will discuss how "Server Protocols" allow to bring our tools on different platforms and environments and to run them on the cloud or locally.
We will also present the Graphical Server Protocol initiative, which will define a platform-agnostic protocol between a diagram editor in the browser and a graphical server that manages the corresponding models in the cloud.
Through this talk you will discover what could be the future of Eclipse Modeling on the web, discover how you can bring your own tools to the cloud thanks to Sirius, and participate in this exciting endeavour!

  • Be the first to comment

  • Be the first to like this

ECMFA 2018 - Keynote : The future of modeling tools

  1. 1. @melaniebats The future of modeling tools Mélanie Bats, CTO @ Obeo 📧 🐦@melaniebats
  2. 2. @melaniebats Who am I ? CTO @ Obeo Open source addict Committer on Eclipse Sirius, Eclipse EEF, UML Designer Member of the Eclipse Councils Involved on collaborative projects : RT Simex, Gemoc
  3. 3. @melaniebats Once upon a time...
  4. 4. @melaniebats
  5. 5. @melaniebats
  6. 6. @melaniebats
  7. 7. @melaniebats
  8. 8. @melaniebats
  9. 9. @melaniebats
  10. 10. @melaniebats 2002-2006 -Rise of the giants Birth of the Eclipse Modeling Ecosystem : GEF/EMF/GMF
  11. 11. @melaniebats 2005 - Meanwhile in France Obeo is Alive!
  12. 12. @melaniebats 2006 - Acceleo
  13. 13. @melaniebats Obeo Is a tool provider : develop dedicated modeling workbenches Creates open source technologies Is a key player of the Eclipse Modeling Ecosystem! Has a long experience in developing graphical tools Is involved in the open source and Eclipse projects : Sirius, Acceleo, EMF/GMF, EcoreTools, EMF Compare, UML Designer, M2Doc, Capella...
  14. 14. @melaniebats Why do we develop modeling tools ?
  15. 15. @melaniebats Tools are helping us to be more productive and focus our time on bringing value to the products we are building. Unleash our complete potential...
  16. 16. @melaniebats 2007 - The Sirius awakens
  17. 17. @melaniebats What is Sirius ? An open source project to easily create your own graphical modeling workbench
  18. 18. @melaniebats Developing a Modeling Tool ? Domain concepts1
  19. 19. @melaniebats Developing a Modeling Tool ? Domain concepts1 2 Configuration+
  20. 20. @melaniebats Developing a Modeling Tool ? Domain concepts1 2 3Configuration Modeling tool+ =
  21. 21. @melaniebats Developing a Modeling Tool ? Domain concepts1 2 3Configuration Modeling tool Tool developer End User + =
  22. 22. @melaniebats Maps concepts to... 22 Concepts1 Sirius configuration2
  23. 23. @melaniebats Maps concepts to graphical elements Graphical workbench Sirius configuration2 3
  24. 24. @melaniebats Sirius Demo
  25. 25. @melaniebats 03/2013 - Let it go!
  26. 26. @melaniebats Sirius is alive! One main version every year & several minor versions Obeo Designer Community Edition => All you need to work with Sirius Since2007
  27. 27. @melaniebats What are the trends ?
  28. 28. @melaniebats A new generation of IDEs Developers love them because of : ● Lightweight ● Simplicity ● Powerful tooling ● Easy customization ● High release cadence
  29. 29. @melaniebats The VS code example ● <100Mb download ● Light UI ● Marketplace ● Extensions, Language Servers ● Every month a new version
  30. 30. @melaniebats And other light editors And now Atom IDE
  31. 31. @melaniebats A developer today:
  32. 32. @melaniebats A developer today: - Works mainly on his localhost.
  33. 33. @melaniebats A developer today: - Works mainly on his localhost - Codes in only few technology sets
  34. 34. @melaniebats Since time immemorial ...
  35. 35. @melaniebats Light client
  36. 36. @melaniebats Light client Rich application vs
  37. 37. @melaniebats Not afraid anymore by... browser IDE
  38. 38. @melaniebats Codesandbox
  39. 39. @melaniebats The newborn: Eclipse Theia
  40. 40. @melaniebats Online modeling tools Lucidchart GenMyModel...
  41. 41. @melaniebats Eclipse Che
  42. 42. @melaniebats Che workspace IDE RuntimesProject Files
  43. 43. @melaniebats Workspace Runtimes Application stack + “Dev Mode” IDE Tooling as microservices in sidecars Language IDE Debugger Test App
  44. 44. @melaniebats Dedicated workbenches
  45. 45. @melaniebats The well known… RCP applications
  46. 46. @melaniebats
  47. 47. @melaniebats
  48. 48. @melaniebats Don’t touch it, it’s mine!
  49. 49. @melaniebats Use a sledgehammer to crack a nut!
  50. 50. @melaniebats ONE tool dedicated to ONE task!
  51. 51. @melaniebats The way we develop is changing 40% Of enterprise developers are already using >3 languages in development. Using Many Languages 66% Of enterprises are already using containers in development, test or production. Adopting Containers Source: Cloud development Survey 2017 - Evans Data Corp
  52. 52. @melaniebats Being more agile with our tools Iterate faster Focus on value to create Share workspace with all stakeholders Pair programming Live collaboration
  53. 53. @melaniebats Live collaboration
  54. 54. @melaniebats What is the future of modeling tools ?
  55. 55. @melaniebats Go to : and use the code 20 03 94
  56. 56. @melaniebats Modeling Tools we have today
  57. 57. @melaniebats Based on the Eclipse Platform → Desktop applications - Installation is necessary - Deployment is painful - Updates are (re)painful - Extra storage is needed Modeling Tools we have today
  58. 58. @melaniebats Modeling Tools we want tomorrow
  59. 59. @melaniebats Modeling Tools we want tomorrow Based on the web technologies → Cloud applications - No need to install - No upgrades needed - Easy access - Adaptable to workload increase - Access from various device
  60. 60. @melaniebats Evolution of the IDE concept? More accessible tool Tools integrated Different “views” for different use cases and different users
  61. 61. @melaniebats IDE-agnostic tools Tools to be opened to more “domains”, not only engineering Tools to be available more broadly, to more platform, to more users
  62. 62. @melaniebats Carry the Sirius spirit… to the cloud ● Define your modeling workbench in the .odesign file ● Dynamic, no code generation involved ● Flexible even for complex models … RENDERED IN A BROWSER
  63. 63. @melaniebats The challenges we meet... Ease the deployment & the maintenance Ease the creation of modeling workbench Manage a technology switch Keep providing new features for existing solutions
  64. 64. @melaniebats Our plans to victory Ease the deployment & the maintenance → Use web technologies Ease the creation of modeling workbench → Extend the Sirius capabilities Manage a technology switch → Switch from Eclipse platform based application to web application Keep providing new features for existing solutions → Integrate web based feature to desktop application
  65. 65. @melaniebats What we have prototyped today
  66. 66. @melaniebats 1. Introduce web technologies in existing Eclipse views Step by step, side by side...
  67. 67. @melaniebats Light client Rich application vs
  68. 68. @melaniebats HTML renderer
  69. 69. @melaniebats Sirius Designer s HTML renderer Sirius 6.0
  70. 70. @melaniebats Sirius Designer s HTML renderer Sirius 6.0
  71. 71. @melaniebats Web components... Sirius 6.0 Available within Sirius 6.0 :
  72. 72. @melaniebats Sirius 6.0
  73. 73. @melaniebats Web components... in Eclipse views Integrate in existing Sirius workbench new features Sirius 6.0 Eclipse view Web Component
  74. 74. Demo : Workflow Sirius 6.0
  75. 75. @melaniebats 2. Make Sirius independent from Eclipse platform Step by step, side by side...
  76. 76. @melaniebats Split the architecture ● Progressively modularize the Sirius code base ● Isolate dependencies : Eclipse UI, GMF Runtime, Eclipse Workspace, Eclipse Runtime ● Keep the framework working at all time & keep releasing new features ● Split core business code from rendering technologies ○ Core deployable in headless (web) server ○ Exposes services through well-defined API & protocols
  77. 77. @melaniebats Open Core ● Contribute new architecture to existing Eclipse Sirius project ● Still involved in the Eclipse community & release train ● As today some components will be proprietary licensed ○ Community Edition vs Team Edition
  78. 78. Demo : Sirius Headless Prototype
  79. 79. @melaniebats 3. Expose services through the Graphical Server Protocol Step by step, side by side...
  80. 80. @melaniebats ServerClientsDesktop Application Path to go Sirius Client Sprotty Sirius ServerGraphical Server Protocol Sirius Core Sprotty Browser Modeling tool Eclipse Sirius GEF GMF Modeling tool Today Tomorrow
  81. 81. @melaniebats Graphical Server Protocol ● Lowering the cost of integrating a graphical tool in a platform ● Defining a protocol used to communicate between a platform and a graphical designer ● Open source initiative :
  82. 82. @melaniebats 4. Render Sirius diagrams in a browser Step by step, side by side...
  83. 83. @melaniebats Diagrams in the Web First components contributed this fall to Sirius ★★★Stay tuned!★★★ @EclipseSirius Prototype
  84. 84. @melaniebats Based on ... Sprotty : ● A simple JS based graphical library ● Small & lightweight open source project ● Well integrated with Eclipse ELK for auto-layout And other mainstream technologies as React & Jetty
  85. 85. @melaniebats Layout & Layers in the Web Prototype
  86. 86. @melaniebats Your modeling tool in the Web Prototype
  87. 87. @melaniebats 5. Sirius integrated with Cloud IDEs Step by step, side by side...
  88. 88. Demo: Sirius integrated with Theia Prototype
  89. 89. @melaniebats Demo : Sirius integrated with Che Prototype
  90. 90. @melaniebats What’s next ?
  91. 91. @melaniebats “Cloudifying” our tools More resources More computing power Simplification of deployment Tools lifecycle
  92. 92. @melaniebats IA for developers Machine learning applied to : ● Code recommendation ● Team collaboration ● Auto layout mechanism
  93. 93. @melaniebats Chatbots W hyNot?
  94. 94. @melaniebats Deep learning Soundscool:) Layout?
  95. 95. @melaniebats Blockchain Buzzword! Model collaboration?
  96. 96. @melaniebats Virtual Reality? OM G!
  97. 97. @melaniebats What do you want ? Come to chat with us
  98. 98. @melaniebats Open source is the only way Convergence of energies Sharing of different ideas and visions Open protocols : language server, debugger, and others...
  99. 99. @melaniebats To go beyond… We need you! Share needs & feedback munity.html Contribute to Sirius Participate to the Graphical Server Protocol raphicalServerProtocol Support Obeo
  100. 100. Thanks! Questions ? / @melaniebats @EclipseSirius