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

SiriusCon2016 - Extensible Sirius Editors for the Palladio Component Model

  • 1.
    KIT – Universityof 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 andQuality 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 andQuality 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 andQuality 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 andQuality 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 andQuality 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 andQuality 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 andQuality 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 andQuality 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 andQuality 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 andQuality 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 andQuality 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 andQuality 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 andQuality 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 andQuality 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 andQuality 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 andQuality 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 andQuality 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 andQuality 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 andQuality 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 andQuality 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