SlideShare a Scribd company logo
1 of 22
Download to read offline
POOSL IDE (http://poosl.esi.nl/)
Koen Staal and Arjan Mooij
SiriusCon, 15th November 2016
Integrating Textual and
Graphical Editing
15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO
POOSL IDE (http://poosl.esi.nl/)
2
POOSL background
• Parallel Object Oriented Specification Language (POOSL)
- Graphical and textual syntax
- Expressive, industrially-proven modelling language with formal semantics
- Describe structure and concurrent, real-time and stochastic behavior
• Eindhoven University of Technology
- Original development of the language
- (Smalltalk based POOSL editor and simulator)
- C++ based POOSL simulator
• Embedded Systems Innovation by TNO
- Successful applications in the high-tech industry
- Eclipse based POOSL IDE (using the C++ based simulator)
15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO
POOSL IDE (http://poosl.esi.nl/)
3
POOSL: Architecture
• Program-like text
• UML-like graphical diagrams
- Class diagram
- Composite structure diagram
15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO
POOSL IDE (http://poosl.esi.nl/)
4
POOSL: Behavior
• Program-like text
• UML-like graphical diagrams
- Class diagram
- Composite structure diagram
Validation for early fault detection:
• Errors:
• Cyclic relations (inheritance, containment)
• …
• Warnings:
• Static type-checking (partial)
• Message mismatch per channel
• …
15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO
POOSL IDE (http://poosl.esi.nl/)
5
Application: Architecture/requirements validation
(physical views)(functional views)
15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO
POOSL IDE (http://poosl.esi.nl/)
6
Application: Performance analysis of systems
TRACE (for Gantt charts)
(http://trace.esi.nl/)
15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO
POOSL IDE (http://poosl.esi.nl/)
7
Implementation of POOSL IDE
15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO
POOSL IDE (http://poosl.esi.nl/)
8
Implementation of POOSL IDE
• Used Eclipse technologies:
- EMF internal model and indexer
- Xtext textual editors and validators
- Sirius graphical editors and viewers
- Launch Framework interactive debugger
• Integration combines the strengths of the different syntaxes:
- Textual syntax: leading artifacts, editing of all model details
- Graphical syntax: optional views, overview and model creation
• Next topics:
- Tension between textual, graphical and EMF
- Integration of editing and dynamic overlays
15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO
POOSL IDE (http://poosl.esi.nl/)
9
Drawing implicit elements
15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO
POOSL IDE (http://poosl.esi.nl/)
10
Drawing implicit elements
Note: more than one Instance of the same InstantiableClass
15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO
POOSL IDE (http://poosl.esi.nl/)
11
Drawing implicit elements
Note: more than one Instance of the same InstantiableClass
15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO
POOSL IDE (http://poosl.esi.nl/)
12
Manage representations
15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO
POOSL IDE (http://poosl.esi.nl/)
13
Sirius Content Management
• Inside Project Explorer
Hide validation icons from Xtext validation
 Currently we disable “Sirius Content Management”
- But we would like the possibility to manage representations…
Manage representations Expose EMF internals to textual users
15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO
POOSL IDE (http://poosl.esi.nl/)
14
Navigation
• Opening a model:
- Double-click on the textual file  custom window to choose editor
• Navigate between different representation of elements (custom)
• Navigate via references (<F3>, <CTRL>-<click>, <double-click>)
15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO
POOSL IDE (http://poosl.esi.nl/)
15
Problems with references
15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO
POOSL IDE (http://poosl.esi.nl/)
16
Problems with references
• Deleting a referred element:
- Textual: validation will indicate broken references
- Graphical: all references must explicitly be removed
• Get name of referred element without accessing the element:
E.g., for displaying types of variables and parameters in a class diagram
Aim for scalability based on modular files, indexer, and on-demand loading
- Textual: use parse tree (NodeModel)
- Graphical: missing information (textual parse tree is not reliable)
15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO
POOSL IDE (http://poosl.esi.nl/)
17
Problems with references
• Encoding of a reference to a target element:
- Name of the target element
• Textual view on the model [stored on disk] [visible by user]
• Parse tree (Xtext node model)
- URI of the target element
• Model (Ecore)
• Sirius representations.aird [stored on disk]
- Arrow to a graphical view of the element
• Graphical view on the model [visible by user]
We have eliminated all references
- Name approach feels natural, but is incompatible with URI / Arrow
- Custom implementation of navigate, rename, etc.
15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO
POOSL IDE (http://poosl.esi.nl/)
18
More problems with references
• Rename/reorder elements
• Rename/move/copy files/directories
- Textual: mostly works out of the box
- Graphical: diagrams loose track of the related model elements
• Target element URI in EMF based on:
- #Index (default): insensitive to rename, sensitive to reorder
- #Name (custom): sensitive to rename, insensitive to reorder
• Suggestions are very welcome!
15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO
POOSL IDE (http://poosl.esi.nl/)
19
Graphical diagrams and the Launch Framework
15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO
POOSL IDE (http://poosl.esi.nl/)
20
Graphical diagrams and the Launch Framework
Not based on SiriusBased on Sirius
 Diagrams are modified during (high-speed) execution
15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO
POOSL IDE (http://poosl.esi.nl/)
21
Graphical diagrams and the Launch Framework
• Communication Diagram = Static structure + Dynamic overlay
• Static structure: Copied from a Composite Structure Diagram
- Linked to the same text file
- Locked (not modifiable) during execution
- Closed in case of modifications in the underlying model
• Dynamic overlay: Updated during execution
- Slows down the simulation
- GUI refresh rate is low
• But still useful for the user
- Add textual elements
• Message content and counters
- Connections:
• Highlighting and arrowheads
15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO
POOSL IDE (http://poosl.esi.nl/)
22
Summary
• Integrating textual and graphical editing
- Basic integration works out-of-the-box
- Tension between textual, graphical and EMF
• Drawing implicit elements
• Manage representations
• Problems with references
- Integration of editing and dynamic overlays

More Related Content

What's hot

GMF : Create your graphical DSL - EclipseCon 11
GMF : Create your graphical DSL - EclipseCon 11GMF : Create your graphical DSL - EclipseCon 11
GMF : Create your graphical DSL - EclipseCon 11
Chauvin Mariot
 

What's hot (7)

SiriusCon 2017 - Get your stakeholders into modeling using graphical editors
SiriusCon 2017 - Get your stakeholders into modeling using graphical editorsSiriusCon 2017 - Get your stakeholders into modeling using graphical editors
SiriusCon 2017 - Get your stakeholders into modeling using graphical editors
 
MDT Papyrus - Eclipse Con 2010
MDT Papyrus - Eclipse Con 2010MDT Papyrus - Eclipse Con 2010
MDT Papyrus - Eclipse Con 2010
 
A Smart Development Environment for Infrastructure as Code
A Smart Development Environment for Infrastructure as CodeA Smart Development Environment for Infrastructure as Code
A Smart Development Environment for Infrastructure as Code
 
SiriusCon17 - Eclipse Sirius at a glance
SiriusCon17 - Eclipse Sirius at a glanceSiriusCon17 - Eclipse Sirius at a glance
SiriusCon17 - Eclipse Sirius at a glance
 
The Eclipse Layout Kernel sirius con 2017
The Eclipse Layout Kernel   sirius con 2017The Eclipse Layout Kernel   sirius con 2017
The Eclipse Layout Kernel sirius con 2017
 
GMF : Create your graphical DSL - EclipseCon 11
GMF : Create your graphical DSL - EclipseCon 11GMF : Create your graphical DSL - EclipseCon 11
GMF : Create your graphical DSL - EclipseCon 11
 
Automation with ansible ii ansible tower
Automation with ansible ii  ansible towerAutomation with ansible ii  ansible tower
Automation with ansible ii ansible tower
 

Viewers also liked

V for visualization: VIATRA finally goes graphical thanks to Sirius!
V for visualization: VIATRA finally goes graphical thanks to Sirius!V for visualization: VIATRA finally goes graphical thanks to Sirius!
V for visualization: VIATRA finally goes graphical thanks to Sirius!
Ákos Horváth
 
SiriusCon2016 - Visualization of Inferred Versioned Schemas from NoSQL Databases
SiriusCon2016 - Visualization of Inferred Versioned Schemas from NoSQL DatabasesSiriusCon2016 - Visualization of Inferred Versioned Schemas from NoSQL Databases
SiriusCon2016 - Visualization of Inferred Versioned Schemas from NoSQL Databases
Obeo
 

Viewers also liked (10)

V for visualization: VIATRA finally goes graphical thanks to Sirius!
V for visualization: VIATRA finally goes graphical thanks to Sirius!V for visualization: VIATRA finally goes graphical thanks to Sirius!
V for visualization: VIATRA finally goes graphical thanks to Sirius!
 
SiriusCon2016 - Let's talk about your future sirius project
SiriusCon2016 - Let's talk about your future sirius projectSiriusCon2016 - Let's talk about your future sirius project
SiriusCon2016 - Let's talk about your future sirius project
 
SiriusCon2016 - Une plateforme de modelisation support au PLM de l'ingenierie...
SiriusCon2016 - Une plateforme de modelisation support au PLM de l'ingenierie...SiriusCon2016 - Une plateforme de modelisation support au PLM de l'ingenierie...
SiriusCon2016 - Une plateforme de modelisation support au PLM de l'ingenierie...
 
SiriusCon2016 - Visualization of Inferred Versioned Schemas from NoSQL Databases
SiriusCon2016 - Visualization of Inferred Versioned Schemas from NoSQL DatabasesSiriusCon2016 - Visualization of Inferred Versioned Schemas from NoSQL Databases
SiriusCon2016 - Visualization of Inferred Versioned Schemas from NoSQL Databases
 
SiriusCon2016 - Capella Team: Live collaborative modeling with Sirius
SiriusCon2016 - Capella Team: Live collaborative modeling with SiriusSiriusCon2016 - Capella Team: Live collaborative modeling with Sirius
SiriusCon2016 - Capella Team: Live collaborative modeling with Sirius
 
SiriusCon2016 - Embrace the Power of Design. Core Principles for Creating Eff...
SiriusCon2016 - Embrace the Power of Design. Core Principles for Creating Eff...SiriusCon2016 - Embrace the Power of Design. Core Principles for Creating Eff...
SiriusCon2016 - Embrace the Power of Design. Core Principles for Creating Eff...
 
SiriusCon2016 - Let me Sirius that for you: Properties Views
SiriusCon2016 - Let me Sirius that for you: Properties ViewsSiriusCon2016 - Let me Sirius that for you: Properties Views
SiriusCon2016 - Let me Sirius that for you: Properties Views
 
SiriusCon2016 - Document Generation with M2Doc
SiriusCon2016 - Document Generation with M2DocSiriusCon2016 - Document Generation with M2Doc
SiriusCon2016 - Document Generation with M2Doc
 
UMLtoGraphDB: Mapping Conceptual Schemas to Graph Databases
UMLtoGraphDB: Mapping Conceptual Schemas to Graph DatabasesUMLtoGraphDB: Mapping Conceptual Schemas to Graph Databases
UMLtoGraphDB: Mapping Conceptual Schemas to Graph Databases
 
Sirius talk at EclipseCon Europe 2013
Sirius talk at EclipseCon Europe 2013Sirius talk at EclipseCon Europe 2013
Sirius talk at EclipseCon Europe 2013
 

Similar to SiriusCon2016 - Integrating Textual and Graphical Editing in the POOSL IDE

Enabling combined Software and Data engineering at Web-scale
Enabling combined Software and Data engineering at Web-scaleEnabling combined Software and Data engineering at Web-scale
Enabling combined Software and Data engineering at Web-scale
Monika Solanki
 
SustainablePlaces_ifcOWL_applications_2015-09-17
SustainablePlaces_ifcOWL_applications_2015-09-17SustainablePlaces_ifcOWL_applications_2015-09-17
SustainablePlaces_ifcOWL_applications_2015-09-17
Pieter Pauwels
 

Similar to SiriusCon2016 - Integrating Textual and Graphical Editing in the POOSL IDE (20)

2018 12-06 SharePoint - the new era of provisioning
2018 12-06 SharePoint - the new era of provisioning2018 12-06 SharePoint - the new era of provisioning
2018 12-06 SharePoint - the new era of provisioning
 
Enabling combined Software and Data engineering at Web-scale
Enabling combined Software and Data engineering at Web-scaleEnabling combined Software and Data engineering at Web-scale
Enabling combined Software and Data engineering at Web-scale
 
Eurostars MODELS Project, System modeling and design exploration of applicati...
Eurostars MODELS Project, System modeling and design exploration of applicati...Eurostars MODELS Project, System modeling and design exploration of applicati...
Eurostars MODELS Project, System modeling and design exploration of applicati...
 
MODELS, a unified environment for the design of system applications on parall...
MODELS, a unified environment for the design of system applications on parall...MODELS, a unified environment for the design of system applications on parall...
MODELS, a unified environment for the design of system applications on parall...
 
[Sirius Day Eindhoven] Integrating Textual and Graphical Editing in the POOSL...
[Sirius Day Eindhoven] Integrating Textual and Graphical Editing in the POOSL...[Sirius Day Eindhoven] Integrating Textual and Graphical Editing in the POOSL...
[Sirius Day Eindhoven] Integrating Textual and Graphical Editing in the POOSL...
 
semantify.it
semantify.itsemantify.it
semantify.it
 
Splunk Dashboard Studio | September Bengaluru Splunk User Group Meetup
Splunk Dashboard Studio | September Bengaluru Splunk User Group MeetupSplunk Dashboard Studio | September Bengaluru Splunk User Group Meetup
Splunk Dashboard Studio | September Bengaluru Splunk User Group Meetup
 
How to create a Windows app with Project Siena, SharePoint and Office 365
How to create a Windows app with Project Siena, SharePoint and Office 365How to create a Windows app with Project Siena, SharePoint and Office 365
How to create a Windows app with Project Siena, SharePoint and Office 365
 
How to create a Windows app with Project Siena, SharePoint and Office 365
How to create a Windows app with Project Siena, SharePoint and Office 365How to create a Windows app with Project Siena, SharePoint and Office 365
How to create a Windows app with Project Siena, SharePoint and Office 365
 
SustainablePlaces_ifcOWL_applications_2015-09-17
SustainablePlaces_ifcOWL_applications_2015-09-17SustainablePlaces_ifcOWL_applications_2015-09-17
SustainablePlaces_ifcOWL_applications_2015-09-17
 
ROHub-Argos integration
ROHub-Argos integrationROHub-Argos integration
ROHub-Argos integration
 
Graphical DSL with Sirius: how to simplify the creation of custom modeling tools
Graphical DSL with Sirius: how to simplify the creation of custom modeling toolsGraphical DSL with Sirius: how to simplify the creation of custom modeling tools
Graphical DSL with Sirius: how to simplify the creation of custom modeling tools
 
COBWEB: Towards an Optimised Interoperability Framework for Citizen Science
COBWEB: Towards an Optimised Interoperability Framework for Citizen ScienceCOBWEB: Towards an Optimised Interoperability Framework for Citizen Science
COBWEB: Towards an Optimised Interoperability Framework for Citizen Science
 
Nuxeo Platform LTS 2016 - Roadmap
Nuxeo Platform LTS 2016 - RoadmapNuxeo Platform LTS 2016 - Roadmap
Nuxeo Platform LTS 2016 - Roadmap
 
What's New in Primavera Gateway 16.1
What's New in Primavera Gateway 16.1What's New in Primavera Gateway 16.1
What's New in Primavera Gateway 16.1
 
Portland Splunk User Group May 2020
Portland Splunk User Group May 2020 Portland Splunk User Group May 2020
Portland Splunk User Group May 2020
 
2016 12-05 aOS Brussels - Latest wonders of SharePoint and Office 365
2016 12-05 aOS Brussels - Latest wonders of SharePoint and Office 3652016 12-05 aOS Brussels - Latest wonders of SharePoint and Office 365
2016 12-05 aOS Brussels - Latest wonders of SharePoint and Office 365
 
UK INCOSE Annual Systems Engineering Conference. Case Study - Implementing TR...
UK INCOSE Annual Systems Engineering Conference. Case Study - Implementing TR...UK INCOSE Annual Systems Engineering Conference. Case Study - Implementing TR...
UK INCOSE Annual Systems Engineering Conference. Case Study - Implementing TR...
 
Can you keep up with SAP Analytics Cloud? (Martijn van Foeken)
Can you keep up with SAP Analytics Cloud? (Martijn van Foeken)Can you keep up with SAP Analytics Cloud? (Martijn van Foeken)
Can you keep up with SAP Analytics Cloud? (Martijn van Foeken)
 
MULTIPLE JURISDICTION DESIGN PATENT SEARCH VIA SINGLE SEARCH QUERY
MULTIPLE JURISDICTION DESIGN PATENT SEARCH VIA SINGLE SEARCH QUERYMULTIPLE JURISDICTION DESIGN PATENT SEARCH VIA SINGLE SEARCH QUERY
MULTIPLE JURISDICTION DESIGN PATENT SEARCH VIA SINGLE SEARCH QUERY
 

More from Obeo

Digitally assisted design for safety analysis
Digitally assisted design for safety analysisDigitally assisted design for safety analysis
Digitally assisted design for safety analysis
Obeo
 
INCOSE IS 2023 | You deserve more than the best in class MBSE tool
INCOSE IS 2023 | You deserve more than the best in class MBSE toolINCOSE IS 2023 | You deserve more than the best in class MBSE tool
INCOSE IS 2023 | You deserve more than the best in class MBSE tool
Obeo
 
Tailoring Arcadia Framework in Thales UK
Tailoring Arcadia Framework in Thales UKTailoring Arcadia Framework in Thales UK
Tailoring Arcadia Framework in Thales UK
Obeo
 
CapellaDays2022 | Politecnico di Milano | Interplanetary Space Mission as a r...
CapellaDays2022 | Politecnico di Milano | Interplanetary Space Mission as a r...CapellaDays2022 | Politecnico di Milano | Interplanetary Space Mission as a r...
CapellaDays2022 | Politecnico di Milano | Interplanetary Space Mission as a r...
Obeo
 
CapellaDays2022 | SIEMENS | Expand MBSE into Model-based Production Engineeri...
CapellaDays2022 | SIEMENS | Expand MBSE into Model-based Production Engineeri...CapellaDays2022 | SIEMENS | Expand MBSE into Model-based Production Engineeri...
CapellaDays2022 | SIEMENS | Expand MBSE into Model-based Production Engineeri...
Obeo
 
Connecting Textual Requirements with Capella Models
Connecting Textual Requirements with Capella Models Connecting Textual Requirements with Capella Models
Connecting Textual Requirements with Capella Models
Obeo
 

More from Obeo (20)

Digitally assisted design for safety analysis
Digitally assisted design for safety analysisDigitally assisted design for safety analysis
Digitally assisted design for safety analysis
 
INCOSE IS 2023 | You deserve more than the best in class MBSE tool
INCOSE IS 2023 | You deserve more than the best in class MBSE toolINCOSE IS 2023 | You deserve more than the best in class MBSE tool
INCOSE IS 2023 | You deserve more than the best in class MBSE tool
 
Tailoring Arcadia Framework in Thales UK
Tailoring Arcadia Framework in Thales UKTailoring Arcadia Framework in Thales UK
Tailoring Arcadia Framework in Thales UK
 
CapellaDays2022 | Saratech | Interface Control Document Generation and Linkag...
CapellaDays2022 | Saratech | Interface Control Document Generation and Linkag...CapellaDays2022 | Saratech | Interface Control Document Generation and Linkag...
CapellaDays2022 | Saratech | Interface Control Document Generation and Linkag...
 
CapellaDays2022 | Politecnico di Milano | Interplanetary Space Mission as a r...
CapellaDays2022 | Politecnico di Milano | Interplanetary Space Mission as a r...CapellaDays2022 | Politecnico di Milano | Interplanetary Space Mission as a r...
CapellaDays2022 | Politecnico di Milano | Interplanetary Space Mission as a r...
 
CapellaDays2022 | NavalGroup | Closing the gap between traditional engineerin...
CapellaDays2022 | NavalGroup | Closing the gap between traditional engineerin...CapellaDays2022 | NavalGroup | Closing the gap between traditional engineerin...
CapellaDays2022 | NavalGroup | Closing the gap between traditional engineerin...
 
CapellaDays2022 | Thales | Stairway to heaven: Climbing the very first steps
CapellaDays2022 | Thales | Stairway to heaven: Climbing the very first stepsCapellaDays2022 | Thales | Stairway to heaven: Climbing the very first steps
CapellaDays2022 | Thales | Stairway to heaven: Climbing the very first steps
 
CapellaDays2022 | COMAC - PGM | How We Use Capella for Collaborative Design i...
CapellaDays2022 | COMAC - PGM | How We Use Capella for Collaborative Design i...CapellaDays2022 | COMAC - PGM | How We Use Capella for Collaborative Design i...
CapellaDays2022 | COMAC - PGM | How We Use Capella for Collaborative Design i...
 
CapellaDays2022 | CILAS - ArianeGroup | CILAS feedback about Capella use
CapellaDays2022 | CILAS - ArianeGroup | CILAS feedback about Capella useCapellaDays2022 | CILAS - ArianeGroup | CILAS feedback about Capella use
CapellaDays2022 | CILAS - ArianeGroup | CILAS feedback about Capella use
 
CapellaDays2022 | ThermoFisher - ESI TNO | A method for quantitative evaluati...
CapellaDays2022 | ThermoFisher - ESI TNO | A method for quantitative evaluati...CapellaDays2022 | ThermoFisher - ESI TNO | A method for quantitative evaluati...
CapellaDays2022 | ThermoFisher - ESI TNO | A method for quantitative evaluati...
 
CapellaDays2022 | Thales DMS | A global engineering process based on MBSE to ...
CapellaDays2022 | Thales DMS | A global engineering process based on MBSE to ...CapellaDays2022 | Thales DMS | A global engineering process based on MBSE to ...
CapellaDays2022 | Thales DMS | A global engineering process based on MBSE to ...
 
CapellaDays2022 | SIEMENS | Expand MBSE into Model-based Production Engineeri...
CapellaDays2022 | SIEMENS | Expand MBSE into Model-based Production Engineeri...CapellaDays2022 | SIEMENS | Expand MBSE into Model-based Production Engineeri...
CapellaDays2022 | SIEMENS | Expand MBSE into Model-based Production Engineeri...
 
Gestion applicative des données, un REX du Ministère de l'Éducation Nationale
Gestion applicative des données, un REX du Ministère de l'Éducation NationaleGestion applicative des données, un REX du Ministère de l'Éducation Nationale
Gestion applicative des données, un REX du Ministère de l'Éducation Nationale
 
Simulation with Python and MATLAB® in Capella
Simulation with Python and MATLAB® in CapellaSimulation with Python and MATLAB® in Capella
Simulation with Python and MATLAB® in Capella
 
From Model-based to Model and Simulation-based Systems Architectures
From Model-based to Model and Simulation-based Systems ArchitecturesFrom Model-based to Model and Simulation-based Systems Architectures
From Model-based to Model and Simulation-based Systems Architectures
 
Connecting Textual Requirements with Capella Models
Connecting Textual Requirements with Capella Models Connecting Textual Requirements with Capella Models
Connecting Textual Requirements with Capella Models
 
Sirius Web Advanced : Customize and Extend the Platform
Sirius Web Advanced : Customize and Extend the PlatformSirius Web Advanced : Customize and Extend the Platform
Sirius Web Advanced : Customize and Extend the Platform
 
Sirius Web 101 : Create a Modeler With No Code
Sirius Web 101 : Create a Modeler With No CodeSirius Web 101 : Create a Modeler With No Code
Sirius Web 101 : Create a Modeler With No Code
 
Sirius Project, Now and In the Future
Sirius Project, Now and In the FutureSirius Project, Now and In the Future
Sirius Project, Now and In the Future
 
Visualizing, Analyzing and Optimizing Automotive Architecture Models using Si...
Visualizing, Analyzing and Optimizing Automotive Architecture Models using Si...Visualizing, Analyzing and Optimizing Automotive Architecture Models using Si...
Visualizing, Analyzing and Optimizing Automotive Architecture Models using Si...
 

Recently uploaded

Jax, FL Admin Community Group 05.14.2024 Combined Deck
Jax, FL Admin Community Group 05.14.2024 Combined DeckJax, FL Admin Community Group 05.14.2024 Combined Deck
Jax, FL Admin Community Group 05.14.2024 Combined Deck
Marc Lester
 
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Lisi Hocke
 

Recently uploaded (20)

The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)
 
Jax, FL Admin Community Group 05.14.2024 Combined Deck
Jax, FL Admin Community Group 05.14.2024 Combined DeckJax, FL Admin Community Group 05.14.2024 Combined Deck
Jax, FL Admin Community Group 05.14.2024 Combined Deck
 
Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024
 
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
Auto Affiliate  AI Earns First Commission in 3 Hours..pdfAuto Affiliate  AI Earns First Commission in 3 Hours..pdf
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
 
Test Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdfTest Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdf
 
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
 
The Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test AutomationThe Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test Automation
 
Transformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with LinksTransformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with Links
 
^Clinic ^%[+27788225528*Abortion Pills For Sale In harare
^Clinic ^%[+27788225528*Abortion Pills For Sale In harare^Clinic ^%[+27788225528*Abortion Pills For Sale In harare
^Clinic ^%[+27788225528*Abortion Pills For Sale In harare
 
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
 
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
 
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
 
A Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfA Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdf
 
BusinessGPT - Security and Governance for Generative AI
BusinessGPT  - Security and Governance for Generative AIBusinessGPT  - Security and Governance for Generative AI
BusinessGPT - Security and Governance for Generative AI
 
Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdf
 
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
Workshop -  Architecting Innovative Graph Applications- GraphSummit MilanWorkshop -  Architecting Innovative Graph Applications- GraphSummit Milan
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
 
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
 
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCAOpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
 
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
 

SiriusCon2016 - Integrating Textual and Graphical Editing in the POOSL IDE

  • 1. POOSL IDE (http://poosl.esi.nl/) Koen Staal and Arjan Mooij SiriusCon, 15th November 2016 Integrating Textual and Graphical Editing
  • 2. 15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO POOSL IDE (http://poosl.esi.nl/) 2 POOSL background • Parallel Object Oriented Specification Language (POOSL) - Graphical and textual syntax - Expressive, industrially-proven modelling language with formal semantics - Describe structure and concurrent, real-time and stochastic behavior • Eindhoven University of Technology - Original development of the language - (Smalltalk based POOSL editor and simulator) - C++ based POOSL simulator • Embedded Systems Innovation by TNO - Successful applications in the high-tech industry - Eclipse based POOSL IDE (using the C++ based simulator)
  • 3. 15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO POOSL IDE (http://poosl.esi.nl/) 3 POOSL: Architecture • Program-like text • UML-like graphical diagrams - Class diagram - Composite structure diagram
  • 4. 15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO POOSL IDE (http://poosl.esi.nl/) 4 POOSL: Behavior • Program-like text • UML-like graphical diagrams - Class diagram - Composite structure diagram Validation for early fault detection: • Errors: • Cyclic relations (inheritance, containment) • … • Warnings: • Static type-checking (partial) • Message mismatch per channel • …
  • 5. 15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO POOSL IDE (http://poosl.esi.nl/) 5 Application: Architecture/requirements validation (physical views)(functional views)
  • 6. 15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO POOSL IDE (http://poosl.esi.nl/) 6 Application: Performance analysis of systems TRACE (for Gantt charts) (http://trace.esi.nl/)
  • 7. 15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO POOSL IDE (http://poosl.esi.nl/) 7 Implementation of POOSL IDE
  • 8. 15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO POOSL IDE (http://poosl.esi.nl/) 8 Implementation of POOSL IDE • Used Eclipse technologies: - EMF internal model and indexer - Xtext textual editors and validators - Sirius graphical editors and viewers - Launch Framework interactive debugger • Integration combines the strengths of the different syntaxes: - Textual syntax: leading artifacts, editing of all model details - Graphical syntax: optional views, overview and model creation • Next topics: - Tension between textual, graphical and EMF - Integration of editing and dynamic overlays
  • 9. 15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO POOSL IDE (http://poosl.esi.nl/) 9 Drawing implicit elements
  • 10. 15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO POOSL IDE (http://poosl.esi.nl/) 10 Drawing implicit elements Note: more than one Instance of the same InstantiableClass
  • 11. 15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO POOSL IDE (http://poosl.esi.nl/) 11 Drawing implicit elements Note: more than one Instance of the same InstantiableClass
  • 12. 15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO POOSL IDE (http://poosl.esi.nl/) 12 Manage representations
  • 13. 15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO POOSL IDE (http://poosl.esi.nl/) 13 Sirius Content Management • Inside Project Explorer Hide validation icons from Xtext validation  Currently we disable “Sirius Content Management” - But we would like the possibility to manage representations… Manage representations Expose EMF internals to textual users
  • 14. 15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO POOSL IDE (http://poosl.esi.nl/) 14 Navigation • Opening a model: - Double-click on the textual file  custom window to choose editor • Navigate between different representation of elements (custom) • Navigate via references (<F3>, <CTRL>-<click>, <double-click>)
  • 15. 15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO POOSL IDE (http://poosl.esi.nl/) 15 Problems with references
  • 16. 15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO POOSL IDE (http://poosl.esi.nl/) 16 Problems with references • Deleting a referred element: - Textual: validation will indicate broken references - Graphical: all references must explicitly be removed • Get name of referred element without accessing the element: E.g., for displaying types of variables and parameters in a class diagram Aim for scalability based on modular files, indexer, and on-demand loading - Textual: use parse tree (NodeModel) - Graphical: missing information (textual parse tree is not reliable)
  • 17. 15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO POOSL IDE (http://poosl.esi.nl/) 17 Problems with references • Encoding of a reference to a target element: - Name of the target element • Textual view on the model [stored on disk] [visible by user] • Parse tree (Xtext node model) - URI of the target element • Model (Ecore) • Sirius representations.aird [stored on disk] - Arrow to a graphical view of the element • Graphical view on the model [visible by user] We have eliminated all references - Name approach feels natural, but is incompatible with URI / Arrow - Custom implementation of navigate, rename, etc.
  • 18. 15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO POOSL IDE (http://poosl.esi.nl/) 18 More problems with references • Rename/reorder elements • Rename/move/copy files/directories - Textual: mostly works out of the box - Graphical: diagrams loose track of the related model elements • Target element URI in EMF based on: - #Index (default): insensitive to rename, sensitive to reorder - #Name (custom): sensitive to rename, insensitive to reorder • Suggestions are very welcome!
  • 19. 15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO POOSL IDE (http://poosl.esi.nl/) 19 Graphical diagrams and the Launch Framework
  • 20. 15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO POOSL IDE (http://poosl.esi.nl/) 20 Graphical diagrams and the Launch Framework Not based on SiriusBased on Sirius  Diagrams are modified during (high-speed) execution
  • 21. 15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO POOSL IDE (http://poosl.esi.nl/) 21 Graphical diagrams and the Launch Framework • Communication Diagram = Static structure + Dynamic overlay • Static structure: Copied from a Composite Structure Diagram - Linked to the same text file - Locked (not modifiable) during execution - Closed in case of modifications in the underlying model • Dynamic overlay: Updated during execution - Slows down the simulation - GUI refresh rate is low • But still useful for the user - Add textual elements • Message content and counters - Connections: • Highlighting and arrowheads
  • 22. 15th November 2016 Integrating Textual and Graphical Editing © 2016 Embedded Systems Innovation by TNO POOSL IDE (http://poosl.esi.nl/) 22 Summary • Integrating textual and graphical editing - Basic integration works out-of-the-box - Tension between textual, graphical and EMF • Drawing implicit elements • Manage representations • Problems with references - Integration of editing and dynamic overlays