siriuscon2016 - extensible sirius editors for the palladio component model

21
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

Upload: obeo

Post on 07-Jan-2017

137 views

Category:

Software


1 download

TRANSCRIPT

Page 1: 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

Page 2: SiriusCon2016 - Extensible Sirius Editors for the Palladio Component Model

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

Page 3: SiriusCon2016 - Extensible Sirius Editors for the Palladio Component Model

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

Page 4: SiriusCon2016 - 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

Page 5: SiriusCon2016 - Extensible Sirius Editors for the Palladio Component Model

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

Page 6: SiriusCon2016 - Extensible Sirius Editors for the Palladio Component Model

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

Page 7: SiriusCon2016 - Extensible Sirius Editors for the Palladio Component Model

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

Page 8: SiriusCon2016 - Extensible Sirius Editors for the Palladio Component Model

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

Page 9: SiriusCon2016 - Extensible Sirius Editors for the Palladio Component Model

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

Page 10: SiriusCon2016 - Extensible Sirius Editors for the Palladio Component Model

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

Page 11: SiriusCon2016 - Extensible Sirius Editors for the Palladio Component Model

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

Page 12: SiriusCon2016 - Extensible Sirius Editors for the Palladio Component Model

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

Page 13: SiriusCon2016 - Extensible Sirius Editors for the Palladio Component Model

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

Page 14: SiriusCon2016 - Extensible Sirius Editors for the Palladio Component Model

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

Page 15: SiriusCon2016 - Extensible Sirius Editors for the Palladio Component Model

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

Page 16: SiriusCon2016 - Extensible Sirius Editors for the Palladio Component Model

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

Page 17: SiriusCon2016 - Extensible Sirius Editors for the Palladio Component Model

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

Page 18: SiriusCon2016 - Extensible Sirius Editors for the Palladio Component Model

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

Page 19: SiriusCon2016 - Extensible Sirius Editors for the Palladio Component Model

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

Page 20: SiriusCon2016 - 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

Page 21: SiriusCon2016 - Extensible Sirius Editors for the Palladio Component Model

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