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

Post on 04-Aug-2020

22 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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π

*

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

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

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

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

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

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

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

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

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

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

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

Π

Δ

Ω

Σ

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

Ω

top related