SlideShare ist ein Scribd-Unternehmen logo
1 von 41
Xtext + Sirius : ♥ 
Cédric Brun <cedric.brun@obeo.fr> 
« Birth of Nature » Andrew Hamrock http://500px.com/photo/17743557
«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. »
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
The world of Sirius
The world of Sirius
The world of Sirius
The world of Sirius
The world of Sirius
The world of Sirius
The world of Xtext
The world of Xtext
The world of Xtext
The world of Xtext
The world of Xtext
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
Two views of the same model 
File/Workspace level integration 
DSL syntax used as the serialization format 
DSL AST used in the Sirius Editor
The StateMachine Demo 
Xtext 2.7.2 
Sirius 2.0.0 
Eclipse Luna SR1 
https://github.com/ObeoNetwork/Xtext-Sirius-integration
Caveats : parsing errors
Caveats : parsing errors
Caveats : the referencing 
href="my.statemachine#//@states.4" 
href="my.statemachine#//@states[name='active']"
Caveats : Am I serializable ?
Caveats : Am I serializable ? 
Provide graphical feedback ASAP 
Tools should create serializable elements by default 
Tools cleaning up the graph (Association like instances..)
Specific Integration with Xtext 
Instantiate an XtextResourceSet 
Configure the ResourceSet with the project. 
Change the saving policy
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
The Best of both
Embedding Embedding syntax in a diagram
Embedding syntax in a diagram
Embedding syntax in a diagram
Embedding syntax in a diagram
How To ? 
Example and « base framework » here : 
https://github.com/ObeoNetwork/Xtext-viewpoint-integration
Behind the Scene
Behind the Scene
Behind the Scene 
delta 
merge
Caveats : Merging 
Only as good as how the content matching perform 
Bad matching : nodes are re-created in diagram
Caveats : Cross-References Consistency 
Model is parseable but not resolvable 
Either prevent it* or warn the user !
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
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
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
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
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
http://www.eclipse.org/sirius/

Weitere ähnliche Inhalte

Was ist angesagt?

TechEvent Machine Learning
TechEvent Machine LearningTechEvent Machine Learning
TechEvent Machine LearningTrivadis
 
Deep learning with Tensorflow in R
Deep learning with Tensorflow in RDeep learning with Tensorflow in R
Deep learning with Tensorflow in Rmikaelhuss
 
Realizing Robust and Scalable Evolutionary Algorithms toward Exascale Era
Realizing Robust and Scalable Evolutionary Algorithms toward Exascale EraRealizing Robust and Scalable Evolutionary Algorithms toward Exascale Era
Realizing Robust and Scalable Evolutionary Algorithms toward Exascale EraMasaharu Munetomo
 
Introduction To Using TensorFlow & Deep Learning
Introduction To Using TensorFlow & Deep LearningIntroduction To Using TensorFlow & Deep Learning
Introduction To Using TensorFlow & Deep Learningali alemi
 
Parquet Vectorization in Hive
Parquet Vectorization in HiveParquet Vectorization in Hive
Parquet Vectorization in HiveSahil Takiar
 
[Icml2019] parameter efficient training of deep convolutional neural network...
[Icml2019] parameter efficient training of  deep convolutional neural network...[Icml2019] parameter efficient training of  deep convolutional neural network...
[Icml2019] parameter efficient training of deep convolutional neural network...LeapMind Inc
 
[Icml2019] mix hop higher-order graph convolutional architectures via spars...
[Icml2019]  mix hop  higher-order graph convolutional architectures via spars...[Icml2019]  mix hop  higher-order graph convolutional architectures via spars...
[Icml2019] mix hop higher-order graph convolutional architectures via spars...LeapMind Inc
 
Introduction to TensorFlow
Introduction to TensorFlowIntroduction to TensorFlow
Introduction to TensorFlowMatthias Feys
 
Neural networks and google tensor flow
Neural networks and google tensor flowNeural networks and google tensor flow
Neural networks and google tensor flowShannon McCormick
 

Was ist angesagt? (9)

TechEvent Machine Learning
TechEvent Machine LearningTechEvent Machine Learning
TechEvent Machine Learning
 
Deep learning with Tensorflow in R
Deep learning with Tensorflow in RDeep learning with Tensorflow in R
Deep learning with Tensorflow in R
 
Realizing Robust and Scalable Evolutionary Algorithms toward Exascale Era
Realizing Robust and Scalable Evolutionary Algorithms toward Exascale EraRealizing Robust and Scalable Evolutionary Algorithms toward Exascale Era
Realizing Robust and Scalable Evolutionary Algorithms toward Exascale Era
 
Introduction To Using TensorFlow & Deep Learning
Introduction To Using TensorFlow & Deep LearningIntroduction To Using TensorFlow & Deep Learning
Introduction To Using TensorFlow & Deep Learning
 
Parquet Vectorization in Hive
Parquet Vectorization in HiveParquet Vectorization in Hive
Parquet Vectorization in Hive
 
[Icml2019] parameter efficient training of deep convolutional neural network...
[Icml2019] parameter efficient training of  deep convolutional neural network...[Icml2019] parameter efficient training of  deep convolutional neural network...
[Icml2019] parameter efficient training of deep convolutional neural network...
 
[Icml2019] mix hop higher-order graph convolutional architectures via spars...
[Icml2019]  mix hop  higher-order graph convolutional architectures via spars...[Icml2019]  mix hop  higher-order graph convolutional architectures via spars...
[Icml2019] mix hop higher-order graph convolutional architectures via spars...
 
Introduction to TensorFlow
Introduction to TensorFlowIntroduction to TensorFlow
Introduction to TensorFlow
 
Neural networks and google tensor flow
Neural networks and google tensor flowNeural networks and google tensor flow
Neural networks and google tensor flow
 

Ähnlich wie Xtext + Sirius = ♥ / EclipseCon Europe 2014

EclipseConEU 2019 - Your cloud-based modeling workbench in 15 minutes with Ec...
EclipseConEU 2019 - Your cloud-based modeling workbench in 15 minutes with Ec...EclipseConEU 2019 - Your cloud-based modeling workbench in 15 minutes with Ec...
EclipseConEU 2019 - Your cloud-based modeling workbench in 15 minutes with Ec...melbats
 
Sirius talk at EclipseCon Europe 2013
Sirius talk at EclipseCon Europe 2013Sirius talk at EclipseCon Europe 2013
Sirius talk at EclipseCon Europe 2013pcdavid_
 
AI 클라우드로 완전 정복하기 - 데이터 분석부터 딥러닝까지 (윤석찬, AWS테크에반젤리스트)
AI 클라우드로 완전 정복하기 - 데이터 분석부터 딥러닝까지 (윤석찬, AWS테크에반젤리스트)AI 클라우드로 완전 정복하기 - 데이터 분석부터 딥러닝까지 (윤석찬, AWS테크에반젤리스트)
AI 클라우드로 완전 정복하기 - 데이터 분석부터 딥러닝까지 (윤석찬, AWS테크에반젤리스트)Amazon Web Services Korea
 
Keynote: What’s new in Sirius?
Keynote: What’s new in Sirius?Keynote: What’s new in Sirius?
Keynote: What’s new in Sirius?Obeo
 
SiriusCon 2021 - Keynote
SiriusCon 2021 - KeynoteSiriusCon 2021 - Keynote
SiriusCon 2021 - Keynotemelbats
 
Onion Architecture with S#arp
Onion Architecture with S#arpOnion Architecture with S#arp
Onion Architecture with S#arpGary Pedretti
 
Puppet talk at OSCON 2010.
Puppet talk at OSCON 2010.Puppet talk at OSCON 2010.
Puppet talk at OSCON 2010.teyotyree
 
Jump Start with Apache Spark 2.0 on Databricks
Jump Start with Apache Spark 2.0 on DatabricksJump Start with Apache Spark 2.0 on Databricks
Jump Start with Apache Spark 2.0 on DatabricksDatabricks
 
CIKB - Software Architecture Analysis Design
CIKB - Software Architecture Analysis DesignCIKB - Software Architecture Analysis Design
CIKB - Software Architecture Analysis DesignAntonio Castellon
 
Discovering Your AI Super Powers - Tips and Tricks to Jumpstart your AI Projects
Discovering Your AI Super Powers - Tips and Tricks to Jumpstart your AI ProjectsDiscovering Your AI Super Powers - Tips and Tricks to Jumpstart your AI Projects
Discovering Your AI Super Powers - Tips and Tricks to Jumpstart your AI ProjectsWee Hyong Tok
 
Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...
Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...
Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...Jen Aman
 
Apache Storm 0.9 basic training - Verisign
Apache Storm 0.9 basic training - VerisignApache Storm 0.9 basic training - Verisign
Apache Storm 0.9 basic training - VerisignMichael Noll
 
A full Machine learning pipeline in Scikit-learn vs in scala-Spark: pros and ...
A full Machine learning pipeline in Scikit-learn vs in scala-Spark: pros and ...A full Machine learning pipeline in Scikit-learn vs in scala-Spark: pros and ...
A full Machine learning pipeline in Scikit-learn vs in scala-Spark: pros and ...Jose Quesada (hiring)
 
Running Distributed TensorFlow with GPUs on Mesos with DC/OS
Running Distributed TensorFlow with GPUs on Mesos with DC/OS Running Distributed TensorFlow with GPUs on Mesos with DC/OS
Running Distributed TensorFlow with GPUs on Mesos with DC/OS Mesosphere Inc.
 
Natural Language Processing with CNTK and Apache Spark with Ali Zaidi
Natural Language Processing with CNTK and Apache Spark with Ali ZaidiNatural Language Processing with CNTK and Apache Spark with Ali Zaidi
Natural Language Processing with CNTK and Apache Spark with Ali ZaidiDatabricks
 
Highlights and Challenges from Running Spark on Mesos in Production by Morri ...
Highlights and Challenges from Running Spark on Mesos in Production by Morri ...Highlights and Challenges from Running Spark on Mesos in Production by Morri ...
Highlights and Challenges from Running Spark on Mesos in Production by Morri ...Spark Summit
 
Programming Languages: some news for the last N years
Programming Languages: some news for the last N yearsProgramming Languages: some news for the last N years
Programming Languages: some news for the last N yearsRuslan Shevchenko
 

Ähnlich wie Xtext + Sirius = ♥ / EclipseCon Europe 2014 (20)

EclipseConEU 2019 - Your cloud-based modeling workbench in 15 minutes with Ec...
EclipseConEU 2019 - Your cloud-based modeling workbench in 15 minutes with Ec...EclipseConEU 2019 - Your cloud-based modeling workbench in 15 minutes with Ec...
EclipseConEU 2019 - Your cloud-based modeling workbench in 15 minutes with Ec...
 
Sirius talk at EclipseCon Europe 2013
Sirius talk at EclipseCon Europe 2013Sirius talk at EclipseCon Europe 2013
Sirius talk at EclipseCon Europe 2013
 
AI 클라우드로 완전 정복하기 - 데이터 분석부터 딥러닝까지 (윤석찬, AWS테크에반젤리스트)
AI 클라우드로 완전 정복하기 - 데이터 분석부터 딥러닝까지 (윤석찬, AWS테크에반젤리스트)AI 클라우드로 완전 정복하기 - 데이터 분석부터 딥러닝까지 (윤석찬, AWS테크에반젤리스트)
AI 클라우드로 완전 정복하기 - 데이터 분석부터 딥러닝까지 (윤석찬, AWS테크에반젤리스트)
 
Demo Eclipse Science
Demo Eclipse ScienceDemo Eclipse Science
Demo Eclipse Science
 
Demo eclipse science
Demo eclipse scienceDemo eclipse science
Demo eclipse science
 
Keynote: What’s new in Sirius?
Keynote: What’s new in Sirius?Keynote: What’s new in Sirius?
Keynote: What’s new in Sirius?
 
SiriusCon 2021 - Keynote
SiriusCon 2021 - KeynoteSiriusCon 2021 - Keynote
SiriusCon 2021 - Keynote
 
Onion Architecture with S#arp
Onion Architecture with S#arpOnion Architecture with S#arp
Onion Architecture with S#arp
 
Puppet talk at OSCON 2010.
Puppet talk at OSCON 2010.Puppet talk at OSCON 2010.
Puppet talk at OSCON 2010.
 
Jump Start with Apache Spark 2.0 on Databricks
Jump Start with Apache Spark 2.0 on DatabricksJump Start with Apache Spark 2.0 on Databricks
Jump Start with Apache Spark 2.0 on Databricks
 
CIKB - Software Architecture Analysis Design
CIKB - Software Architecture Analysis DesignCIKB - Software Architecture Analysis Design
CIKB - Software Architecture Analysis Design
 
Discovering Your AI Super Powers - Tips and Tricks to Jumpstart your AI Projects
Discovering Your AI Super Powers - Tips and Tricks to Jumpstart your AI ProjectsDiscovering Your AI Super Powers - Tips and Tricks to Jumpstart your AI Projects
Discovering Your AI Super Powers - Tips and Tricks to Jumpstart your AI Projects
 
Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...
Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...
Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...
 
Apache Storm 0.9 basic training - Verisign
Apache Storm 0.9 basic training - VerisignApache Storm 0.9 basic training - Verisign
Apache Storm 0.9 basic training - Verisign
 
Devoxx
DevoxxDevoxx
Devoxx
 
A full Machine learning pipeline in Scikit-learn vs in scala-Spark: pros and ...
A full Machine learning pipeline in Scikit-learn vs in scala-Spark: pros and ...A full Machine learning pipeline in Scikit-learn vs in scala-Spark: pros and ...
A full Machine learning pipeline in Scikit-learn vs in scala-Spark: pros and ...
 
Running Distributed TensorFlow with GPUs on Mesos with DC/OS
Running Distributed TensorFlow with GPUs on Mesos with DC/OS Running Distributed TensorFlow with GPUs on Mesos with DC/OS
Running Distributed TensorFlow with GPUs on Mesos with DC/OS
 
Natural Language Processing with CNTK and Apache Spark with Ali Zaidi
Natural Language Processing with CNTK and Apache Spark with Ali ZaidiNatural Language Processing with CNTK and Apache Spark with Ali Zaidi
Natural Language Processing with CNTK and Apache Spark with Ali Zaidi
 
Highlights and Challenges from Running Spark on Mesos in Production by Morri ...
Highlights and Challenges from Running Spark on Mesos in Production by Morri ...Highlights and Challenges from Running Spark on Mesos in Production by Morri ...
Highlights and Challenges from Running Spark on Mesos in Production by Morri ...
 
Programming Languages: some news for the last N years
Programming Languages: some news for the last N yearsProgramming Languages: some news for the last N years
Programming Languages: some news for the last N years
 

Mehr von Cédric Brun

Eclipse Modeling Guided Tour - EMF Compare
Eclipse Modeling Guided Tour - EMF CompareEclipse Modeling Guided Tour - EMF Compare
Eclipse Modeling Guided Tour - EMF CompareCédric Brun
 
Eclipse Modeling Guided Tour - Acceleo Query Language (AQL)
Eclipse Modeling Guided Tour - Acceleo Query Language (AQL)Eclipse Modeling Guided Tour - Acceleo Query Language (AQL)
Eclipse Modeling Guided Tour - Acceleo Query Language (AQL)Cédric Brun
 
Eclipse Modeling Guided Tour - EcoreTools
Eclipse Modeling Guided Tour - EcoreToolsEclipse Modeling Guided Tour - EcoreTools
Eclipse Modeling Guided Tour - EcoreToolsCédric Brun
 
EcoreTools-Next: Executable DSL made (more) accessible
EcoreTools-Next: Executable DSL made (more) accessibleEcoreTools-Next: Executable DSL made (more) accessible
EcoreTools-Next: Executable DSL made (more) accessibleCédric Brun
 
Roadmap - SiriusCon2016
Roadmap - SiriusCon2016Roadmap - SiriusCon2016
Roadmap - SiriusCon2016Cédric Brun
 
Modeling avengers – open source technology mix for saving the world econ fr
Modeling avengers – open source technology mix for saving the world econ frModeling avengers – open source technology mix for saving the world econ fr
Modeling avengers – open source technology mix for saving the world econ frCédric Brun
 
Modeling avengers – open source technology mix for saving the world
Modeling avengers – open source technology mix for saving the worldModeling avengers – open source technology mix for saving the world
Modeling avengers – open source technology mix for saving the worldCédric Brun
 
15 EMF projects in 25 minutes
15 EMF projects in 25 minutes15 EMF projects in 25 minutes
15 EMF projects in 25 minutesCédric Brun
 
What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !Cédric Brun
 
Breathe life into your designer!
Breathe life into your designer!Breathe life into your designer!
Breathe life into your designer!Cédric Brun
 
Sirius : origins, present, future
Sirius : origins, present, futureSirius : origins, present, future
Sirius : origins, present, futureCédric Brun
 
Ecore Tools 2.0 : The Luna Revival
Ecore Tools 2.0 : The Luna RevivalEcore Tools 2.0 : The Luna Revival
Ecore Tools 2.0 : The Luna RevivalCédric Brun
 
Sirius Role Playing Game - Build diagram, table and tree editors in 20 minutes
Sirius Role Playing Game  - Build diagram, table and tree editors in 20 minutesSirius Role Playing Game  - Build diagram, table and tree editors in 20 minutes
Sirius Role Playing Game - Build diagram, table and tree editors in 20 minutesCédric Brun
 
What every developer should know about EMF Compare
What every developer should know about EMF CompareWhat every developer should know about EMF Compare
What every developer should know about EMF CompareCédric Brun
 
From Acceleo.org To Eclipse Modeling
From Acceleo.org To Eclipse ModelingFrom Acceleo.org To Eclipse Modeling
From Acceleo.org To Eclipse ModelingCédric Brun
 
Acceleo Day - Acceleo Mtl Code Generation
Acceleo Day - Acceleo Mtl Code GenerationAcceleo Day - Acceleo Mtl Code Generation
Acceleo Day - Acceleo Mtl Code GenerationCédric Brun
 
Team Work With Models Web
Team Work With Models WebTeam Work With Models Web
Team Work With Models WebCédric Brun
 

Mehr von Cédric Brun (17)

Eclipse Modeling Guided Tour - EMF Compare
Eclipse Modeling Guided Tour - EMF CompareEclipse Modeling Guided Tour - EMF Compare
Eclipse Modeling Guided Tour - EMF Compare
 
Eclipse Modeling Guided Tour - Acceleo Query Language (AQL)
Eclipse Modeling Guided Tour - Acceleo Query Language (AQL)Eclipse Modeling Guided Tour - Acceleo Query Language (AQL)
Eclipse Modeling Guided Tour - Acceleo Query Language (AQL)
 
Eclipse Modeling Guided Tour - EcoreTools
Eclipse Modeling Guided Tour - EcoreToolsEclipse Modeling Guided Tour - EcoreTools
Eclipse Modeling Guided Tour - EcoreTools
 
EcoreTools-Next: Executable DSL made (more) accessible
EcoreTools-Next: Executable DSL made (more) accessibleEcoreTools-Next: Executable DSL made (more) accessible
EcoreTools-Next: Executable DSL made (more) accessible
 
Roadmap - SiriusCon2016
Roadmap - SiriusCon2016Roadmap - SiriusCon2016
Roadmap - SiriusCon2016
 
Modeling avengers – open source technology mix for saving the world econ fr
Modeling avengers – open source technology mix for saving the world econ frModeling avengers – open source technology mix for saving the world econ fr
Modeling avengers – open source technology mix for saving the world econ fr
 
Modeling avengers – open source technology mix for saving the world
Modeling avengers – open source technology mix for saving the worldModeling avengers – open source technology mix for saving the world
Modeling avengers – open source technology mix for saving the world
 
15 EMF projects in 25 minutes
15 EMF projects in 25 minutes15 EMF projects in 25 minutes
15 EMF projects in 25 minutes
 
What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !
 
Breathe life into your designer!
Breathe life into your designer!Breathe life into your designer!
Breathe life into your designer!
 
Sirius : origins, present, future
Sirius : origins, present, futureSirius : origins, present, future
Sirius : origins, present, future
 
Ecore Tools 2.0 : The Luna Revival
Ecore Tools 2.0 : The Luna RevivalEcore Tools 2.0 : The Luna Revival
Ecore Tools 2.0 : The Luna Revival
 
Sirius Role Playing Game - Build diagram, table and tree editors in 20 minutes
Sirius Role Playing Game  - Build diagram, table and tree editors in 20 minutesSirius Role Playing Game  - Build diagram, table and tree editors in 20 minutes
Sirius Role Playing Game - Build diagram, table and tree editors in 20 minutes
 
What every developer should know about EMF Compare
What every developer should know about EMF CompareWhat every developer should know about EMF Compare
What every developer should know about EMF Compare
 
From Acceleo.org To Eclipse Modeling
From Acceleo.org To Eclipse ModelingFrom Acceleo.org To Eclipse Modeling
From Acceleo.org To Eclipse Modeling
 
Acceleo Day - Acceleo Mtl Code Generation
Acceleo Day - Acceleo Mtl Code GenerationAcceleo Day - Acceleo Mtl Code Generation
Acceleo Day - Acceleo Mtl Code Generation
 
Team Work With Models Web
Team Work With Models WebTeam Work With Models Web
Team Work With Models Web
 

Kürzlich hochgeladen

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 

Kürzlich hochgeladen (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

Xtext + Sirius = ♥ / EclipseCon Europe 2014

  • 1. Xtext + Sirius : ♥ Cédric Brun <cedric.brun@obeo.fr> « Birth of Nature » Andrew Hamrock http://500px.com/photo/17743557
  • 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. 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. The world of Sirius
  • 5. The world of Sirius
  • 6. The world of Sirius
  • 7. The world of Sirius
  • 8. The world of Sirius
  • 9. The world of Sirius
  • 10. The world of Xtext
  • 11. The world of Xtext
  • 12. The world of Xtext
  • 13. The world of Xtext
  • 14. The world of Xtext
  • 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. 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. The StateMachine Demo Xtext 2.7.2 Sirius 2.0.0 Eclipse Luna SR1 https://github.com/ObeoNetwork/Xtext-Sirius-integration
  • 20. Caveats : the referencing href="my.statemachine#//@states.4" href="my.statemachine#//@states[name='active']"
  • 21. Caveats : Am I serializable ?
  • 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. Specific Integration with Xtext Instantiate an XtextResourceSet Configure the ResourceSet with the project. Change the saving policy
  • 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. The Best of both
  • 27. Embedding syntax in a diagram
  • 28. Embedding syntax in a diagram
  • 29. Embedding syntax in a diagram
  • 30. How To ? Example and « base framework » here : https://github.com/ObeoNetwork/Xtext-viewpoint-integration
  • 33. Behind the Scene delta merge
  • 34. Caveats : Merging Only as good as how the content matching perform Bad matching : nodes are re-created in diagram
  • 35. Caveats : Cross-References Consistency Model is parseable but not resolvable Either prevent it* or warn the user !
  • 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. 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. 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. 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. 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