SlideShare une entreprise Scribd logo
1  sur  22
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

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
 

Tendances (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
 

En vedette

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
 

En vedette (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
 

Similaire à 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
 

Similaire à 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
 

Plus de 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
 

Plus de 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...
 

Dernier

AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Dernier (20)

How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 

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