Palladio is an approach for performance evaluation and design-time performance prediction for component-based software architectures.
An important part of the Palladio's tooling---the Palladio Bench---are its graphical editors. In contrast to rudimentary tree-based editors, they enable a more intuitive creation of models even for less experienced developers. However, the maintenance of the current GMF-based editors has become cumbersome, amongst others, because the requirement arose to support an increasing amount of new language features. Thus, we reimplemented the graphical editors using the Sirius editor framework.
In this talk, we will present the Palladio approach, the new Sirius-based editors as well as our experiences with the Sirius framework."
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
SiriusCon2016 - Extensible Sirius Editors for the Palladio Component Model
1. KIT – University of the State of Baden-Wuerttemberg and
National Research Center of the Helmholtz Association
SOFTWARE DESIGN AND QUALITY GROUP
INSTITUTE FOR PROGRAM STRUCTURES AND DATA ORGANIZATION, FACULTY OF INFORMATICS
www.kit.edu
Extensible Sirius Editors
for the Palladio Component Model
Misha Strittmatter, Amine Kechaou, Michael Junker
SiriusCon, Paris 2016
2. Software Design and Quality Group
Institute for Program Structures and Data Organization
2 15.11.2016
Predict performance of (distributed)
component-based software systems
Design-time performance engineering
Performance evaluation during operation, maintenance
Strittmatter, Kechaou, Junker – Extensible Sirius Editors for the Palladio
Component Model
Experience Report Extensibility ConclusionIntroduction Exemplary ExtensionsSirius Editors
The Palladio Approach
Simulation
3. Software Design and Quality Group
Institute for Program Structures and Data Organization
3 15.11.2016
Component
Repository
Architecture Deployment Usage
Strittmatter, Kechaou, Junker – Extensible Sirius Editors for the Palladio
Component Model
4. Software Design and Quality Group
Institute for Program Structures and Data Organization
4 15.11.2016
Graphical PCM Editors
GMF-based
Development started 2006
Six diagrams
Last regeneration 2013
Strittmatter, Kechaou, Junker – Extensible Sirius Editors for the Palladio
Component Model
Experience Report Extensibility ConclusionIntroduction Exemplary ExtensionsSirius Editors
5. Software Design and Quality Group
Institute for Program Structures and Data Organization
5 15.11.2016
Why Change a Running System?
New features should be supported
Regeneration cumbersome
Manual changes in generated code
No extensibility
GMF barely maintained
Last release in 2014
Almost no issues resolved since then
New frameworks emerging:
Strittmatter, Kechaou, Junker – Extensible Sirius Editors for the Palladio
Component Model
Experience Report Extensibility ConclusionIntroduction Exemplary ExtensionsSirius Editors
6. Software Design and Quality Group
Institute for Program Structures and Data Organization
6 15.11.2016
New PCM Editors
-based
Work on first prototype started summer 2014
Current state
Almost feature complete
Currently being polished
Included in nightly built
Release in next stable
release spring 2017
Strittmatter, Kechaou, Junker – Extensible Sirius Editors for the Palladio
Component Model
Experience Report Extensibility ConclusionIntroduction Exemplary ExtensionsSirius Editors
7. Software Design and Quality Group
Institute for Program Structures and Data Organization
7 15.11.2016
New Sirius-based PCM Editors
Live
Demo
Strittmatter, Kechaou, Junker – Extensible Sirius Editors for the Palladio
Component Model
Experience Report Extensibility ConclusionIntroduction Exemplary ExtensionsSirius Editors
8. Software Design and Quality Group
Institute for Program Structures and Data Organization
8 15.11.2016
User Benefits
Improved saving and synchronization
Layers
Better layouting out of the box
Strittmatter, Kechaou, Junker – Extensible Sirius Editors for the Palladio
Component Model
Experience Report Extensibility ConclusionIntroduction Exemplary ExtensionsSirius Editors
9. Software Design and Quality Group
Institute for Program Structures and Data Organization
9 15.11.2016
Development Benefits
Efficiency
Dynamic evaluation
DSL-based (VSM tree)
Sufficient flexibility
Extensible
Maintainability
VSM tree enforces structure
Easy to learn, good documentation
Future proof
Actively maintained
Lively community
Strittmatter, Kechaou, Junker – Extensible Sirius Editors for the Palladio
Component Model
Experience Report Extensibility ConclusionIntroduction Exemplary ExtensionsSirius Editors
10. Software Design and Quality Group
Institute for Program Structures and Data Organization
10 15.11.2016
Improvement Potential
Rotating border nodes
Discarding changes made on multiple models
Placement of services
Auto-completion
Debugging
Improved handling of additive extensions
Strittmatter, Kechaou, Junker – Extensible Sirius Editors for the Palladio
Component Model
Experience Report Extensibility ConclusionIntroduction Exemplary ExtensionsSirius Editors
11. Software Design and Quality Group
Institute for Program Structures and Data Organization
11 15.11.2016
Extensibility
Ecore metamodels are extensible
Plain references
EMF Profiles
…
Editor “extensibility” in the past
Fork editor
New editor
No editor
Now
Sirius editors can be extended
Bundle extension in plugin
Strittmatter, Kechaou, Junker – Extensible Sirius Editors for the Palladio
Component Model
Experience Report Extensibility ConclusionIntroduction Exemplary ExtensionsSirius Editors
12. Software Design and Quality Group
Institute for Program Structures and Data Organization
12 15.11.2016
Extensibility
Strittmatter, Kechaou, Junker – Extensible Sirius Editors for the Palladio
Component Model
PCM
Business
Processes
Dataflow
KAMP
Dataflow
Security
Eclipse
plugin
visualizes
visualizes visualizes
visualizes
visualizes
PCM
Business
Processes
Dataflow
KAMP
Dataflow
Security
Metamodels
Editors
13. Software Design and Quality Group
Institute for Program Structures and Data Organization
13 15.11.2016
Editor Extension
By diagram extension
Non intrusive!
Compatibility of
independent extensions
Not given with addition of sub nodes
Masters thesis [Junker16]
Categorization of extension types
Mapping from metamodel to editor extension types
Strittmatter, Kechaou, Junker – Extensible Sirius Editors for the Palladio
Component Model
[Junker16] Michael Junker. “Flexible Graphical Editors for Extensible Modular Meta
Models”. MA thesis. KIT, 2016.
Experience Report Extensibility ConclusionIntroduction Exemplary ExtensionsSirius Editors
14. Software Design and Quality Group
Institute for Program Structures and Data Organization
14 15.11.2016
Editor Extension Types
Strittmatter, Kechaou, Junker – Extensible Sirius Editors for the Palladio
Component Model
Context Dependent
Menu Button
Toolbar Button
Properties Entry
Palette Entry
Node/Container
Connection
Compartment
Annotation
and some more [Junker16]
Change of
Appearance
Sub-element
15. Software Design and Quality Group
Institute for Program Structures and Data Organization
15 15.11.2016
Mapping of Extension Types
Strittmatter, Kechaou, Junker – Extensible Sirius Editors for the Palladio
Component Model
Containment Meta-Class
Attribute Relation
Meta-Model Extension Types
Editor Extension Types
Node/Container
Connection
Palette Entry
Annotation
Properties Entry
Toolbar Button
Change of Appearance Compartment
??
[Junker16]
Experience Report Extensibility ConclusionIntroduction Exemplary ExtensionsSirius Editors
16. Software Design and Quality Group
Institute for Program Structures and Data Organization
16 15.11.2016
Model and simulate interaction between business
processes and software systems
Additive extension of the UsageModel
Extension: IntBIIS
Strittmatter, Kechaou, Junker – Extensible Sirius Editors for the Palladio
Component Model
Experience Report Extensibility ConclusionIntroduction Exemplary ExtensionsSirius Editors
17. Software Design and Quality Group
Institute for Program Structures and Data Organization
17 15.11.2016
Extension: KAMP
Strittmatter, Kechaou, Junker – Extensible Sirius Editors for the Palladio
Component Model
Predict change impact in software maintenance
Altering extension of the Repository and System editor
Experience Report Extensibility ConclusionIntroduction Exemplary ExtensionsSirius Editors
18. Software Design and Quality Group
Institute for Program Structures and Data Organization
18 15.11.2016
Conclusion
Main benefits
Efficient development and maintenance
Extensible
Up-to-date technology
Potential improvements
Make additive extensions non conflicting
Debugging
Strittmatter, Kechaou, Junker – Extensible Sirius Editors for the Palladio
Component Model
Experience Report Extensibility ConclusionIntroduction Exemplary ExtensionsSirius Editors
http://www.palladio-simulator.com/
https://github.com/PalladioSimulator
19. Software Design and Quality Group
Institute for Program Structures and Data Organization
19 15.11.2016
BACKUP
Strittmatter, Kechaou, Junker – Extensible Sirius Editors for the Palladio
Component Model
20. Software Design and Quality Group
Institute for Program Structures and Data Organization
20 15.11.2016 Strittmatter, Kechaou, Junker – Extensible Sirius Editors for the Palladio
Component Model
Experience Report Extensibility ConclusionIntroduction Exemplary ExtensionsSirius Editors
Component Performance
21. Software Design and Quality Group
Institute for Program Structures and Data Organization
21 15.11.2016
Application Scenarios
Design Decisions
Scaling
Optimal Resource
Utilization
Bottleneck
Analysis
Extension of
Legacy Software
Strittmatter, Kechaou, Junker – Extensible Sirius Editors for the Palladio
Component Model