SiriusCon2016 - Extensible Sirius Editors for the Palladio Component Model
Transcript of SiriusCon2016 - Extensible Sirius Editors for the Palladio Component Model
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 Editorsfor the Palladio Component Model
Misha Strittmatter, Amine Kechaou, Michael Junker
SiriusCon, Paris 2016
Software Design and Quality Group
Institute for Program Structures and Data Organization2 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
Software Design and Quality Group
Institute for Program Structures and Data Organization3 15.11.2016
ComponentRepository
Architecture Deployment Usage
Strittmatter, Kechaou, Junker – Extensible Sirius Editors for the Palladio
Component Model
Software Design and Quality Group
Institute for Program Structures and Data Organization4 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
Software Design and Quality Group
Institute for Program Structures and Data Organization5 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
Software Design and Quality Group
Institute for Program Structures and Data Organization6 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
Software Design and Quality Group
Institute for Program Structures and Data Organization7 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
Software Design and Quality Group
Institute for Program Structures and Data Organization8 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
Software Design and Quality Group
Institute for Program Structures and Data Organization9 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
Software Design and Quality Group
Institute for Program Structures and Data Organization10 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
Software Design and Quality Group
Institute for Program Structures and Data Organization11 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
Software Design and Quality Group
Institute for Program Structures and Data Organization12 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
visualizesvisualizes
PCM
Business
Processes
Dataflow
KAMP
Dataflow
Security
Metamodels
Editors
Software Design and Quality Group
Institute for Program Structures and Data Organization13 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
Software Design and Quality Group
Institute for Program Structures and Data Organization14 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
Software Design and Quality Group
Institute for Program Structures and Data Organization15 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
Software Design and Quality Group
Institute for Program Structures and Data Organization16 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
Software Design and Quality Group
Institute for Program Structures and Data Organization17 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
Software Design and Quality Group
Institute for Program Structures and Data Organization18 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
Software Design and Quality Group
Institute for Program Structures and Data Organization19 15.11.2016
BACKUP
Strittmatter, Kechaou, Junker – Extensible Sirius Editors for the Palladio
Component Model
Software Design and Quality Group
Institute for Program Structures and Data Organization20 15.11.2016 Strittmatter, Kechaou, Junker – Extensible Sirius Editors for the Palladio
Component Model
Experience Report Extensibility ConclusionIntroduction Exemplary ExtensionsSirius Editors
Component Performance
Software Design and Quality Group
Institute for Program Structures and Data Organization21 15.11.2016
Application Scenarios
Design Decisions
ScalingOptimal Resource
Utilization
Bottleneck
Analysis
Extension of
Legacy Software
Strittmatter, Kechaou, Junker – Extensible Sirius Editors for the Palladio
Component Model