a modular reference structure for component-based architecture … · 2016-02-29 ·...

69
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 A Modular Reference Structure for Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner

Upload: others

Post on 04-Aug-2020

21 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

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

A Modular Reference Structure forComponent-based Architecture Description Languages

ModComp, Ottawa, 28.09.2015

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner

Page 2: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization2 27.09.2015

Palladio Component Model (PCM)

DSL for component-based software architectures

Initial focus design time performance prediction

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Palladio

[Becker09]

DependenciesIntroduction ConclusionModularization Related WorkApplication

Performance

Page 3: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization3 27.09.2015

Palladio Component Model (PCM)

DSL for component-based software architectures

Initial focus design time performance prediction

Design did not consider extensibility

Research spectrum broadened

Initial extensions: intrusively

Later: external extensions

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Palladio

[Becker09]

DependenciesIntroduction ConclusionModularization Related WorkApplication

Performance

Page 4: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization4 27.09.2015

Motivation

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Challenge: extension &

evolution

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 5: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization5 27.09.2015

Motivation

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Challenge: extension &

evolution

Inconsistent structuring

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 6: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization6 27.09.2015

Motivation

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Challenge: extension &

evolution

Inconsistent structuring

Improper separation of

concerns

Interface Relations

Resource Interfaces:

Relations & Roles

Events

Infrastructure

Variable Characterization

Parameter Class is in Repo

Events

Infrastructure

Events

Infrastructure (Only examples on class level)

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 7: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization7 27.09.2015

Motivation

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Challenge: extension &

evolution

Inconsistent structuring

Improper separation of

concerns

Dependency cycles

⇒ all or nothing reuse

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 8: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization8 27.09.2015

Motivation

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Challenge: extension &

evolution

Inconsistent structuring

Improper separation of

concerns

Dependency cycles

⇒ all or nothing reuse

⇒ Degradation of

understandability and

maintainability

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 9: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization9 27.09.2015

PIB

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

• Metamodels not designed for extensibility or modularity, are hard to evolve and maintain

• Intrusive modification and extension degrades structure over time

• Variants/branches lead to duplication

Problem

• An approach, which categorizes and divides information into modules and layers

• Guidance and mechanisms for metamodel composition and extension

• Constrainment of dependencies

Idea

• Reduced complexity⇒ Improved understandability & maintainability

• Flexibility (pick which modules you really need)⇒ Extensibility, reuse

Benefit

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 10: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization10 27.09.2015 Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Dependencies

Base Metamodel

Extension Metamodel

Base

Ext

At least one element in Ext

does somehow depend on

an element in Base

(EMOF based or similar)

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 11: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization11 27.09.2015 Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Dependencies

Reference Base Metamodel

Extension Metamodel

Inter-

face

Interface

Modification

PCM

KAMP

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 12: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization12 27.09.2015 Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Dependencies

Reference Base Metamodel

Extension Metamodel

Inter-

face

Interface

Modification

PCM

KAMP

• Should be a “thing” for itself

• If not: see later

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 13: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization13 27.09.2015 Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Dependencies

Reference

Contains

BPM

Base Metamodel

Extension Metamodel

Data

Type

DataTransfer

Object

PCM

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 14: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization14 27.09.2015 Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Dependencies

Reference

Contains

InheritanceRepo

Comp

Base Metamodel

Extension Metamodel

Repo

BlackBox

CompExtend metamodel

by new subclass

Basic

Comp

PCM

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 15: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization15 27.09.2015 Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Dependencies

Reference

Contains

Inheritance

???

Base Metamodel

Extension Metamodel

Repo

Comp

?

Extend existing class

by new information:

• Attribute

• Reference

• Containment

PCM

Sec

Comp

Security

+sec

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 16: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization16 27.09.2015 Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Dependencies

Reference

Contains

Inheritance

???

Base Metamodel

Extension Metamodel

Repo

Comp

?

• Not a plain relation as the others

• Only needed when working with

multiple metamodels

PCM

Sec

Comp

Security

+sec

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 17: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization17 27.09.2015 Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Dependencies

Reference

Contains

Inheritance

Extends

Base Metamodel

Extension Metamodel

Repo

Comp

Comp

Security

PCM

Sec

+sec

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 18: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization18 27.09.2015 Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Dependencies

Reference

Contains

Inheritance

Extends

= Metamodel extension types

Beware: there are ways to use

inheritance to model the

extends relation.

One of them is really bad.

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 19: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization19 27.09.2015 Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Dependencies

Reference

Contains

Inheritance

Extends

= Metamodel extension types

Beware: there are ways to use

inheritance to model the

extends relation.

One of them is really bad.

All these relations are allowed

between metamodels

if used correctly

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 20: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization20 27.09.2015 Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Extends: Dependency Inversion

Base Metamodel

Extension Metamodel

Repo

Comp

Comp

Security

PCM

Sec

+sec

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 21: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization21 27.09.2015 Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Extends: Dependency Inversion

Base Metamodel

Extension Metamodel

Repo

Comp

Comp

Security

PCM

Sec

+sec

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 22: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization22 27.09.2015 Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Modularization

(Metamodel) modules

Set of classes

Explicit dependencies

No dependency cycles

Module

Module

Module

Module Module

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 23: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization23 27.09.2015 Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Modularization

(Metamodel) modules

Set of classes

Explicit dependencies

No dependency cycles

Modularization

Module contains set of concerns

Must be meaningful to use

module with or without extension

Module

Module

Module

Module Module

Base

Ext 1

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 24: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization24 27.09.2015 Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Modularization

(Metamodel) modules

Set of classes

Explicit dependencies

No dependency cycles

Modularization

Module contains set of concerns

Must be meaningful to use

module with or without extension

If not: module has to be base for

multiple Extensions

Module

Module

Module

Module Module

Base

Ext 1 Ext 2

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 25: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization25 27.09.2015 Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Layering

Modules form cycle free,

directed graph

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 26: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization26 27.09.2015 Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Layering

Modules form cycle free,

directed graph

Modules are

organized in layers

Specific types of

dependencies

between layers

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 27: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization27 27.09.2015

Layers

Π: Paradigm

Δ: Domain

Ω: Quality

Σ: Analyses

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 28: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization28 27.09.2015

Layers

Π: Paradigm

Abstract structure

E.g. composition, object orientation, behavioral formalism

Δ: Domain

Ω: Quality

Σ: Analyses

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 29: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization29 27.09.2015

Layers

Π: Paradigm

Abstract structure

E.g. composition, object orientation, behavioral formalism

Δ: Domain

Assign domain semantics to paradigm

E.g. software, embedded systems, cyber-physical infrastructures

Ω: Quality

Σ: Analyses

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 30: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization30 27.09.2015

Layers

Π: Paradigm

Abstract structure

E.g. composition, object orientation, behavioral formalism

Δ: Domain

Assign domain semantics to paradigm

E.g. software, embedded systems, cyber-physical infrastructures

Ω: Quality

Inherent quality properties assigned to domain entities

Σ: Analyses

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 31: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization31 27.09.2015

Layers

Π: Paradigm

Abstract structure

E.g. composition, object orientation, behavioral formalism

Δ: Domain

Assign domain semantics to paradigm

E.g. software, embedded systems, cyber-physical infrastructures

Ω: Quality

Inherent quality properties assigned to domain entities

Static during execution

Mainly second class entities

E.g. performance, security, resilience

Σ: Analyses

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 32: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization32 27.09.2015

Layers

Π: Paradigm

Abstract structure

E.g. composition, object orientation, behavioral formalism

Δ: Domain

Assign domain semantics to paradigm

E.g. software, embedded systems, cyber-physical infrastructures

Ω: Quality

Inherent quality properties assigned to domain entities

Static during execution

Mainly second class entities

E.g. performance, security, resilience

Σ: Analyses

In-/output, state

Analysis configuration

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 33: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization33 27.09.2015

Application: Starting Point

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

PCM

Modifi-

cations

Artifacts

and Staff

Static

Dependencies

KAMP Maintainability

Prediction

Component Architecture,

Behavior, Performance,

Reliability, Infrastructure,

Events, Resources,

Deployment, Usage, ...

Performance

Results

DependenciesIntroduction ConclusionModularization Related WorkApplication

(Proper elaboration of the PCM’s concerns in [Strittmatter14])

Page 34: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization34 27.09.2015

Application: Modularization

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Core

Entitiesπ Compo-

sition

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 35: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization35 27.09.2015

Application: Modularization

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Core

EntitiesπΔ

Compo-

sition

Software

Components

Static

Dependencies

Development

ArtifactsBehavior

Staff

Specification

Modifi-

cations

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 36: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization36 27.09.2015

Application: Modularization

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Core

EntitiesπΔ

Ω

Compo-

sition

Software

Components

Static

Dependencies

Development

ArtifactsBehavior

Staff

Specification

Perfor-

mance

Modifi-

cations

Relia-

bility

Failure

Types

Performance

Metrics

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 37: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization37 27.09.2015

Σ

Core

EntitiesπΔ

Ω

Compo-

sition

Software

Components

Static

Dependencies

Development

ArtifactsBehavior

Staff

Specification

Perfor-

mance

Performance

Results

Performance

Configuration

KAMP

Input

KAMP

Result

Modifi-

cations

Relia-

bility

Failure

Types

Performance

Metrics

Application: Modularization

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 38: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization38 27.09.2015

Σ

Core

EntitiesπΔ

Ω

Compo-

sition

Software

Components

Static

Dependencies

Development

ArtifactsBehavior

Staff

Specification

Perfor-

mance

Performance

Results

Performance

Configuration

KAMP

Input

KAMP

Result

Modifi-

cations

Relia-

bility

Failure

Types

Performance

Metrics

Application: Modularization

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 39: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization39 27.09.2015

Application: Benefit

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Σ

Core

EntitiesπΔ

Ω

Compo-

sition

Software

Components

Static

Dependencies

Development

ArtifactsBehavior

Staff

Specification

Perfor-

mance

Performance

Results

Performance

Configuration

KAMP

Input

KAMP

Result

Modifi-

cations

Relia-

bility

Failure

Types

Performance

Metrics

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 40: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization40 27.09.2015

Application: Benefit

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Σ

Core

EntitiesπΔ

Ω

Compo-

sition

Software

Components

Static

Dependencies

Development

ArtifactsBehavior

Staff

Specification

Perfor-

mance

Performance

Results

Performance

Configuration

KAMP

Input

KAMP

Result

Modifi-

cations

Relia-

bility

Failure

Types

Performance

Metrics

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 41: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization41 27.09.2015

Application: Benefit

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Σ

Core

EntitiesπΔ

Ω

Compo-

sition

Software

Components

Static

Dependencies

Development

ArtifactsBehavior

Staff

Specification

Perfor-

mance

Performance

Results

Performance

Configuration

KAMP

Input

KAMP

Result

Modifi-

cations

Relia-

bility

Failure

Types

Performance

Metrics

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 42: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization42 27.09.2015

Application: Benefit

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Σ

Core

EntitiesπΔ

Ω

Compo-

sition

Software

Components

Static

Dependencies

Development

ArtifactsBehavior

Staff

Specification

Perfor-

mance

Performance

Results

Performance

Configuration

KAMP

Input

KAMP

Result

Modifi-

cations

Relia-

bility

Failure

Types

Performance

Metrics

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 43: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization43 27.09.2015

Application: Benefit

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Σ

Core

EntitiesπΔ

Ω

Compo-

sition

Software

Components

Static

Dependencies

Development

ArtifactsBehavior

Staff

Specification

Perfor-

mance

Performance

Results

Performance

Configuration

KAMP

Input

KAMP

Result

Modifi-

cations

Relia-

bility

Failure

Types

Performance

Metrics

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 44: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization44 27.09.2015

Application: Benefit

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Σ

Core

EntitiesπΔ

Ω

Compo-

sition

Software

Components

Static

Dependencies

Development

ArtifactsBehavior

Staff

Specification

Perfor-

mance

Performance

Results

Performance

Configuration

KAMP

Input

KAMP

Result

Modifi-

cations

Relia-

bility

Failure

Types

Performance

Metrics

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 45: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization45 27.09.2015

Application: Benefit

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Σ

Core

EntitiesπΔ

Ω

Compo-

sition

Software

Components

Static

Dependencies

Development

ArtifactsBehavior

Staff

Specification

Perfor-

mance

Performance

Results

Performance

Configuration

KAMP

Input

KAMP

Result

Modifi-

cations

Relia-

bility

Failure

Types

Performance

Metrics

Confi-

dentiality

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 46: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization46 27.09.2015

Application: Benefit

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

DependenciesIntroduction ConclusionModularization Related WorkApplication

Σ

Core

EntitiesπΔ

Ω

Compo-

sition

Software

Components

Static

Dependencies

Development

ArtifactsBehavior

Staff

Specification

Perfor-

mance

Performance

Results

Performance

Configuration

KAMP

Input

KAMP

Result

Modifi-

cations

Relia-

bility

Failure

Types

Performance

Metrics

Un

de

rsta

nd

Evo

lve

Page 47: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization47 27.09.2015

Related Work

Structuring:

Orthographic Software Modeling [Atkinson10]

Deep modeling [Atkinson12]

UML archetypes [Coad99]

Software “blood types” [Siedersleben04]

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 48: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization48 27.09.2015

Related Work

Structuring:

Orthographic Software Modeling [Atkinson10]

Deep modeling [Atkinson12]

UML archetypes [Coad99]

Software “blood types” [Siedersleben04]

Extensibility:

JetBrains MPS [Voelter12]

Arch Studio [Dashofy05]

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 49: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization49 27.09.2015

Related Work

Structuring:

Orthographic Software Modeling [Atkinson10]

Deep modeling [Atkinson12]

UML archetypes [Coad99]

Software “blood types” [Siedersleben04]

Extensibility:

JetBrains MPS [Voelter12]

Arch Studio [Dashofy05]

Modularity:

Generators [Jung15]

Transformations [Rentschler14]

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 50: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization50 27.09.2015

Future Work

Guidance/rules to assign information to layers

Specifics of layers concerning dependency types

and module types

Survey of extension mechanisms

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 51: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization51 27.09.2015

Future Work

Guidance/rules to assign information to layers

Specifics of layers concerning dependency types

and module types

Survey of extension mechanisms

Further application (whole PCM, …)

Tool support

modularization

structure visualization

modular graphical editors

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 52: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization52 27.09.2015

Conclusion

Idea

Design for extensibility and modularity

Guidance for structuring in modules

Classification of information into layers

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 53: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization53 27.09.2015

Conclusion

Idea

Design for extensibility and modularity

Guidance for structuring in modules

Classification of information into layers

Explicit dependencies between modules

Avoid dependency cycles between modules

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 54: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization54 27.09.2015

Conclusion

Idea

Design for extensibility and modularity

Guidance for structuring in modules

Classification of information into layers

Explicit dependencies between modules

Avoid dependency cycles between modules

Benefit

Reduced complexity

⇒ Understandability & maintainability

Flexibility (pick which modules you really need)

⇒ Extensibility, reuse

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 55: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization55 27.09.2015 Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

𝑓 Π, Δ, Ω, Σ = 𝑀𝑒𝑡𝑎𝑚𝑜𝑑𝑒𝑙

Paradigm

DomainQuality

Analysis

Module

Selection

Summary

Σ

πΔ

Ω≈

DependenciesIntroduction ConclusionModularization Related WorkApplication

Page 56: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization56 27.09.2015

Backup

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Page 57: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization57 27.09.2015

Application: Paradigm

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Com-ponent

Inter-face * Composed

Structure

CompositionCoreEntities

AssemblyContext

Connector

*

*

21π

*

Page 58: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization58 27.09.2015

Application: Domain

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

∙ ∙ ∙

π

Δ

Com-ponent

Behavior

AbstractAction

Behavior

InternalAction

ExternalCall

*

StartAction

∙ ∙ ∙

Modification

Modification

ModInterface

ModComp

ModConnector

∙ ∙ ∙

Repository

SoftwareComponent

ComponentRepository

BusinessComponent

InfrastructureComponent

*

∙ ∙ ∙

OperationInterface

Inter-face

IntraCompPropagation

Propagation

∙ ∙ ∙

0...1

Page 59: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization59 27.09.2015

Application: Quality

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Δ

Ω

InternalAction

ResourceDemand

Performance

FailureType

Reliability

FailureTypes

HardwareFailure

SoftwareFailure ∙ ∙ ∙

FailureOccurence

FailureProbability

Page 60: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization60 27.09.2015

Application: Analysis

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Σ

Δ ΩEvolutionScenario

KAMP Input KAMP Result

ImpactPropagation

Modification

Propa-gation

DevelopmentArtifact

StaffSpecification

PerformanceResults

PerformanceResults

OperationResponseTime

*

Unit

OperationInterface

AssemblyContext

Page 61: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization61 27.09.2015 Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Dependencies within the Layering

Π

ΔX X XY

Page 62: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization62 27.09.2015 Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Dependencies within the Layering

Π

Δ

Ω

X X XY

Y X YX

Page 63: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization63 27.09.2015 Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Dependencies within the Layering

Π

Δ

Ω

Σ

X X XY

Y X YX

Y Y XX

Page 64: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization64 27.09.2015

Scope

Design-oriented

(Quality-describing)

(Analysis-oriented)

(Component-based)

Architecture vs. Software

Description Language

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Page 65: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization65 27.09.2015 Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Dependencies

Reference “… knows …”

Contains “… contains …”

Inheritance “… is a …”

Extends “… is a property of …”

“… is a part of …”

“… is a trait of …”

Page 66: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization66 27.09.2015 Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Extension Mechanisms

Implementation of extends relation

Simple reference

Simple inheritance

Abstract reference

Decorator

Stereotyping [Kramer12]

Aspect(-oriented) extension [Jung14]

Roles

Completions [Kapova13]

MIRs?

Model weaving

Page 67: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization67 27.09.2015 Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Page 68: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization68 27.09.2015 Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Π

Δ

Ω

Σ

Page 69: A Modular Reference Structure for Component-based Architecture … · 2016-02-29 · Component-based Architecture Description Languages ModComp, Ottawa, 28.09.2015 Misha Strittmatter,

Software Design and Quality Group

Institute for Program Structures and Data Organization69 27.09.2015

RepositoryComposition

Performance

ResourceTypes

SEFF

RDSEFF

DataTypes

Component Type Hierarchy

ResourceEnvironment

Reliability

QoS Annotations

Misha Strittmatter, Kiana Rostami, Robert Heinrich, Ralf Reussner – A Modular

Reference Structure for Component-based ADLs

Ω