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

Xtext + Sirius = ♥ / EclipseCon Europe 2014

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Próximos SlideShares
Xtext + Sirius = <3
Xtext + Sirius = <3
Carregando em…3
×

Confira estes a seguir

1 de 41 Anúncio

Xtext + Sirius = ♥ / EclipseCon Europe 2014

Xtext provides rich textual editing for your domain - aka "your own IDE" while Eclipse Sirius makes rich graphical editing a breeze for any kind of EMF model, but can they work together ?

This talk will walk through all the possible integrations between those two technologies, from concurrently using the Xtext and Sirius editors on top of the same files to integrating the Xtext completion to a diagram or to a popup editor. It will also tackle the pitfalls and specific pain points one should be aware of.

Xtext provides rich textual editing for your domain - aka "your own IDE" while Eclipse Sirius makes rich graphical editing a breeze for any kind of EMF model, but can they work together ?

This talk will walk through all the possible integrations between those two technologies, from concurrently using the Xtext and Sirius editors on top of the same files to integrating the Xtext completion to a diagram or to a popup editor. It will also tackle the pitfalls and specific pain points one should be aware of.

Anúncio
Anúncio

Mais Conteúdo rRelacionado

Semelhante a Xtext + Sirius = ♥ / EclipseCon Europe 2014 (20)

Anúncio

Mais de Cédric Brun (17)

Mais recentes (20)

Anúncio

Xtext + Sirius = ♥ / EclipseCon Europe 2014

  1. 1. Xtext + Sirius : ♥ Cédric Brun <cedric.brun@obeo.fr> « Birth of Nature » Andrew Hamrock http://500px.com/photo/17743557
  2. 2. «Xtext brings the capability of defining fairly quickly a textual editor supporting your domain specific concepts.» « Sirius brings to anybody the capability of defining fairly quickly graphical, tree or table editors supporting your domain specific concepts. »
  3. 3. Textual + Graphical ? Text is better: - at operations and sequence - when combining (expressions) - ... - for some users Diagram is better : - relationships - analyzing a design - ... - for some users
  4. 4. The world of Sirius
  5. 5. The world of Sirius
  6. 6. The world of Sirius
  7. 7. The world of Sirius
  8. 8. The world of Sirius
  9. 9. The world of Sirius
  10. 10. The world of Xtext
  11. 11. The world of Xtext
  12. 12. The world of Xtext
  13. 13. The world of Xtext
  14. 14. The world of Xtext
  15. 15. Unexpected situations ? Not so frequent situations for Sirius : - thousands of ressources in a single project - instance changes its URI/loose identity - serialization is not possible Not so frequent situations for Xtext : - state is not serializable - model graph could not have been constructed through Xtext
  16. 16. Two views of the same model File/Workspace level integration DSL syntax used as the serialization format DSL AST used in the Sirius Editor
  17. 17. The StateMachine Demo Xtext 2.7.2 Sirius 2.0.0 Eclipse Luna SR1 https://github.com/ObeoNetwork/Xtext-Sirius-integration
  18. 18. Caveats : parsing errors
  19. 19. Caveats : parsing errors
  20. 20. Caveats : the referencing href="my.statemachine#//@states.4" href="my.statemachine#//@states[name='active']"
  21. 21. Caveats : Am I serializable ?
  22. 22. Caveats : Am I serializable ? Provide graphical feedback ASAP Tools should create serializable elements by default Tools cleaning up the graph (Association like instances..)
  23. 23. Specific Integration with Xtext Instantiate an XtextResourceSet Configure the ResourceSet with the project. Change the saving policy
  24. 24. Caveats : limitations addressed [430724] Sirius might Serialize a bit too much [432931] Xtext prevent Serialization with false positives [448304] Xtext is not updating cross-ref names [..] DSL's with Xbase
  25. 25. The Best of both
  26. 26. Embedding Embedding syntax in a diagram
  27. 27. Embedding syntax in a diagram
  28. 28. Embedding syntax in a diagram
  29. 29. Embedding syntax in a diagram
  30. 30. How To ? Example and « base framework » here : https://github.com/ObeoNetwork/Xtext-viewpoint-integration
  31. 31. Behind the Scene
  32. 32. Behind the Scene
  33. 33. Behind the Scene delta merge
  34. 34. Caveats : Merging Only as good as how the content matching perform Bad matching : nodes are re-created in diagram
  35. 35. Caveats : Cross-References Consistency Model is parseable but not resolvable Either prevent it* or warn the user !
  36. 36. Caveats : Cross-References Consistency Model is parseable but not resolvable Either prevent it* or warn the user ! These caveats should be considered upfront, it either impact the user experience or your DSL itself
  37. 37. Takeaways ● Sirius tuning: refresh and saving policy ● Think about the referencing ● Add editor feedback when not serializable ● Design create/update/delete operations to stay serializable ●When embedding, display elements which should not have cross-refs (or take care of those) ● EMF Compare can help
  38. 38. Takeaways ● As long as it's an EMF model Sirius will handle it. ● If you want to embed : think about what you expect ● Get involved : give feedback and or patches on the embedding layer https://github.com/ObeoNetwork/Xtext-Sirius-integration
  39. 39. What Next ? Sirius 2.0 ● UX improvements for diagrams and layouts ● Performance, scalability ● ~110 Bugzillas delivered since June ● EcoreTools 2, UML Designer 4 are based on Sirius Eclipse Mars : ● Sirius goes 3.0 (*) ● Scalability : hitting the 1 Million mark (*) Model migrations are taken care of by Sirius
  40. 40. other Talks ●Wednesday ● How to make Sirius shine? – Maxime ● Wilhelm-Kramer-Zimmer - 11:15 to 11:50 ● Sirius + Xtext = ♥ - Cédric ● Theater - 13:45 to 14:20 ● Capella – Thales ● Theater - 15:15 to 15:50 ● Sirius BOF – Obeo ● Silchersaal – 19:00 to 20:00 ● Thursday ● On the road to Mars with Mars, thanks to Polarsys – Etienne ● Theater - 13:30 to 14:05
  41. 41. http://www.eclipse.org/sirius/

×