+ All Categories
Home > Documents > Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen...

Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen...

Date post: 06-Jul-2020
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
37
© author(s) of these slides 2012 including research results of the research network ES and TU Darmstadt otherwise as specified at the respective slide Karsten Saller, MSc. [email protected] Tel.+49 6151 16 - 3776 23.04.2014 ES Real-Time Systems Lab Prof. Dr. rer. nat. Andy Schürr Dept. of Electrical Engineering and Information Technology Dept. of Computer Science (adjunct Professor) www.es.tu-darmstadt.de Software Product Lines Concepts, Analysis and Implementation Dynamic Software Product Lines Dr. rer. nat. Malte Lochau [email protected]
Transcript
Page 1: Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien II. Produktlinien-Engineering ... Mapping to feature model

© author(s) of these slides 2012 including research results of the research network ES and TU Darmstadt otherwise as specified at the respective slide

Karsten Saller, MSc. [email protected]

Tel.+49 6151 16 - 3776

23.04.2014

ES Real-Time Systems Lab

Prof. Dr. rer. nat. Andy Schürr

Dept. of Electrical Engineering and Information Technology

Dept. of Computer Science (adjunct Professor)

www.es.tu-darmstadt.de

Software Product Lines

Concepts, Analysis and Implementation

Dynamic Software Product Lines

Dr. rer. nat. Malte Lochau

[email protected]

Page 2: Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien II. Produktlinien-Engineering ... Mapping to feature model

ES – Real-Time Systems Lab 2 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation

Inhalt

I. Einführung

Motivation und Grundlagen

Feature-orientierte Produktlinien

II. Produktlinien-Engineering

Feature-Modelle und Produktkonfiguration

Variabilitätsmodellierung im Lösungsraum

Programmierparadigmen für Produktlinien

III. Produktlinien-Analyse

Feature-Interaktion

Testen von Produktlinien

Verifikation von Produktlinien

IV. Fallbeispiele und aktuelle Forschungsthemen

Adaptive Softwaresyteme

Dynamische SPLs Zustandsbasierte

Rekonfiguration DSPL & Forschung

Page 3: Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien II. Produktlinien-Engineering ... Mapping to feature model

ES – Real-Time Systems Lab 3 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation

Recap – Examples for an SPL

All these examples are static - the are not reconfigureable once the product is derived

Page 4: Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien II. Produktlinien-Engineering ... Mapping to feature model

ES – Real-Time Systems Lab 4 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation

Mobile Devices as an SPL, Google Nexus

Page 5: Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien II. Produktlinien-Engineering ... Mapping to feature model

ES – Real-Time Systems Lab 5 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation

Mobile Devices as an SPL, Google Nexus

Page 6: Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien II. Produktlinien-Engineering ... Mapping to feature model

ES – Real-Time Systems Lab 6 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation

Mobile Devices as an SPL, Google Nexus

Page 7: Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien II. Produktlinien-Engineering ... Mapping to feature model

ES – Real-Time Systems Lab 7 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation

Mobile Devices in the Contextual Environments

“Whenever the system’s context changes the system has to decide whether it needs to adapt. [...] we consider context as any information

which is computationally accessible and upon which behavioral variations depend“ [CLG09]

Page 8: Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien II. Produktlinien-Engineering ... Mapping to feature model

ES – Real-Time Systems Lab 8 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation

Self-Adaptive Systems

“self-adaptive systems” - systems that are able to adjust their behavior in

response to their perception of the environment and the system itself

[CLG09]

Application scenarios

• distributed systems,

• biologically inspired computing,

• distributed artificial intelligence,

• robotics,

• knowledge-based systems,

• machine learning, and

• control theory

Page 9: Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien II. Produktlinien-Engineering ... Mapping to feature model

ES – Real-Time Systems Lab 9 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation

Traditional Concepts to Achieve Adaptivity

Adaptivity is Achieved by

• rules, e.g., event-condition-action

• if <user is in office> then <switch to silent mode>

• if <upload rate < 10kb/s> then <alternative different connection types>

• or by goals

• video playback may not be interrupted

• Stream always best quality

Self-Optimizing Systems are a special kind of self-adaptive systems

Page 10: Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien II. Produktlinien-Engineering ... Mapping to feature model

ES – Real-Time Systems Lab 10 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation

MAPE-K Feedback Loop [IBM06]

Infor-mation

Change RequestFeedback

Know-

ledge

Change Plan

Capture basic information

Derive higher order information, e.g., context

Derive sequence of tasks to satisfy change request

Execute sequence of tasks according

to plan

Adaptation know- ledge, e.g., policies,

feature model, …

Page 11: Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien II. Produktlinien-Engineering ... Mapping to feature model

ES – Real-Time Systems Lab 11 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation

Source: http://www.digitalversus.com/mobile-phone/new-touch-responsiveness-test-results-21-smartphones-tablets-n29229.html

Challenges in Self-Adaptive Systems

“In highly dynamic systems, e.g., mobile systems, where the envi- ronmental parameters change frequently, the overhead of adaptation due to frequent changes in the system could be so high that the sys- tem ends up in thrashing. [However, ...] responsiveness is a crucial

property in real-time software systems [...] ” [CLG09]

Page 12: Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien II. Produktlinien-Engineering ... Mapping to feature model

ES – Real-Time Systems Lab 12 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation

Challenges in Self-Adaptive Systems

ISO 26262 – 6 Software Level Guidelines

- Modeling and Coding Guidelines (Page 16/17):

- Language tailoring

- Modeling language subsets & style guides

- Usage of design patterns (domain specific)

- Tool tailoring

- Prohibition of … errors in development tools

- Support for specifying rules & constraints

- Support for traceability (Automotive SPICE, IEC 61508)

- …

“A major challenge [...in the development of adaptation mechanisms ...] is to accommodate a systematic engineering

approach that integrates control-loop approaches with decentralized agent inspired approaches.” [CLG09]

Page 13: Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien II. Produktlinien-Engineering ... Mapping to feature model

ES – Real-Time Systems Lab 13 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation

Mobile Devices as a (D)SPL

Page 14: Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien II. Produktlinien-Engineering ... Mapping to feature model

ES – Real-Time Systems Lab 14 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation

Mobile Devices as a DSPL

… the device is continuously re-configured

selected deselected

Page 15: Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien II. Produktlinien-Engineering ... Mapping to feature model

ES – Real-Time Systems Lab 15 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation

DSPLs Suitable for Runtime Adaptations?

“A DSPL’s strength is the systematic engineering foundations that it can

bring to adaptive and self-adaptive systems, thus leading to higher

reliability and predictability for these systems.” [HPS12]

“… the size of the BDD representing the feature model that can be

exponential in the worst case…” [BSR10]

Reconfiguration can be planned and executed based on a formal model

How can a the resource consumption of DSPL reconfiguration be reduced?

Complex Variability specification can lead to exponential overhead

Page 16: Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien II. Produktlinien-Engineering ... Mapping to feature model

ES – Real-Time Systems Lab 16 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation

Integrating a DSPL in the MAPE-K Loop*

Feature ModelContext Model

Design Time Runtime

Adaptation Knowledge

Deployment

Feedback

* Based on the concept proposed in [BHS12]

Terminology • DSPL Re-Configuration: Derivation of a new

Configuration, i.e., (De-)Selection of features • Adaptation: Change in the Runtime-State of the Device

• Adaptation Process: e.g. MAPE-K Feedback Loop

Page 17: Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien II. Produktlinien-Engineering ... Mapping to feature model

ES – Real-Time Systems Lab 17 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation

From Specification to Runtime Reconfiguration

Optional Step

Page 18: Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien II. Produktlinien-Engineering ... Mapping to feature model

ES – Real-Time Systems Lab 18 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation

Context Events

Context-Aware DSPLs [SLR13]

Adapt Feature-Configuration to

new Context

Page 19: Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien II. Produktlinien-Engineering ... Mapping to feature model

ES – Real-Time Systems Lab 19 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation

Context-Aware DSPLs

Page 20: Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien II. Produktlinien-Engineering ... Mapping to feature model

ES – Real-Time Systems Lab 20 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation

Context-Aware DSPLs

Page 21: Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien II. Produktlinien-Engineering ... Mapping to feature model

ES – Real-Time Systems Lab 21 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation

Context-Aware DSPLs

Context

A DSPL based adaptation is a rule-based adaptation

Page 22: Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien II. Produktlinien-Engineering ... Mapping to feature model

ES – Real-Time Systems Lab 22 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation

Configuration State

For every valid Configuration, there is a Configuration State of the Device

Page 23: Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien II. Produktlinien-Engineering ... Mapping to feature model

ES – Real-Time Systems Lab 23 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation

SPL Configuration vs. DSPL Reconfiguration

Page 24: Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien II. Produktlinien-Engineering ... Mapping to feature model

ES – Real-Time Systems Lab 24 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation

State Based Reconfiguration of the Device

Page 25: Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien II. Produktlinien-Engineering ... Mapping to feature model

ES – Real-Time Systems Lab 25 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation

How To Reconfigure a DSPL

Consider the following:

a DSPL with 14 features has, in worst case,

219 = 524288 configuration possibilities

… on-demand derivation of configuration … or all configurations are pre-computed

Computationally expensive,

responsiveness

High memory consumption, expensive

search

[FFF13] [Hel12]

Page 26: Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien II. Produktlinien-Engineering ... Mapping to feature model

ES – Real-Time Systems Lab 26 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation

How To Reconfigure a DSPL

Deploy

Context-Aware Feature Model

Feature Model

Design TimeDevice at Runtime

Context Model

Reconfiguration

1

1

2

3

Active State Known State Unknown State Known Transition Unknown Transition

HomeStreet

OfficeCrowd

HomeStreetOffice

Crowd

3 2

CrowdHome

Street

CrowdStreet

Office

1 2 3

Page 27: Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien II. Produktlinien-Engineering ... Mapping to feature model

ES – Real-Time Systems Lab 27 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation

How To Reconfigure a DSPL

Hybrid Combination of On-Demand Reconfiguration and a Complete Pre-Computed Configuration State Space.

Results in a Trede-Off in the Advantages and Disadvanteges of Both Approaches

Page 28: Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien II. Produktlinien-Engineering ... Mapping to feature model

ES – Real-Time Systems Lab 28 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation

Currently Ongoing Research

Future Internet Challenges

• everything is connected

• heterogenious network participants / software

• complex and large-scale systems

• ever-changing contextual situations

Tackle it with Dynamic Software Product Lines

Current Project: MAKI – Multi-Mechanism Adaptation in the Future Internet

• collaborative Research Center (SFB) 1053

• national project of the German Research Foundation (DFG)

Page 29: Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien II. Produktlinien-Engineering ... Mapping to feature model

ES – Real-Time Systems Lab 29 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation

Situation in the „Future Internet”

s Overlay Paradigm

Usage Scenario

Network Access

Transport and Network Layer

Application

Mechanism Mechanism Mechanism … Mechanism

Mechanism Mechanism … Mechanism

Mechanism … Mechanism

Mechanism Mechanism … Mechanism

Mechanism Mechanism Mechanism … Mechanism

Mechanism Mechanism … Mechanism

Mechanism … Mechanism Mechanism … Mechanism

Mechanism Mechanism … Mechanism

Mechanism Mechanism … Mechanism Mechanism … Mechanism

Mechanism Mechanism Mechanism … Mechanism

Mechanism Mechanism Mechanism … Mechanism

Page 30: Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien II. Produktlinien-Engineering ... Mapping to feature model

ES – Real-Time Systems Lab 30 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation

Event-based

TCP UDP

IPv4 IPv6

Broadcast

Unicast Multicast

Concrete Situation in the „Future Internet“

C/S P2P

Any size

Anywhere

Any kind

PubSub RPC

Streaming

… …

… …

… … … Cellular Mesh Ad-hoc

Overlay Paradigm

Usage Scenario

Network Access

Transport- and Network Layer

Application

SCTP

Page 31: Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien II. Produktlinien-Engineering ... Mapping to feature model

ES – Real-Time Systems Lab 31 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation

Unicast Multicast

Concrete Situation in the „Future Internet“

C/S P2P

Any size

Anywhere

Any kind

Transition

Transition

Transition Transition

Transition

Overlay Paradigm

Usage Scenario

Network Access

Transport- and Network Layer

Application

Page 32: Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien II. Produktlinien-Engineering ... Mapping to feature model

ES – Real-Time Systems Lab 32 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation

Dynamic Monitoring Product Line

Monitoring and Analysis

Data gathering

State determination through data analysis

Information provisioning to initiate the multi-

mechanism adaption

Challenges

Cross-layer interdependencies

Transitions

Strong heterogeneity

Varying parameters

Network Access

Transport and Switching

Overlay

Applications

Horizontal Monitoring V

ert

ica

l M

on

ito

rin

g

Scenarios

Page 33: Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien II. Produktlinien-Engineering ... Mapping to feature model

ES – Real-Time Systems Lab 33 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation

Dynamic Monitoring Product Line

Approach

Establish taxonomy

Implement framework components

Mapping to feature model and

parameter specification

Adapt constraint solver for

(re-)configuration at runtime

Extend dynamic adaptation beyond

transitions

Development and validation

System stateand

information

Communication system

...

Overlay

Underlay

Monitoring Framework

Metric component

Metrics

Metrics

Metrics Data CollectionComponent

Topology Component

...

Reconfigurator

Ve

rtic

al M

on

ito

rin

g

Self Logging

Ho

rizo

nta

l Mo

nit

ori

ng

Goals of Monitoring Framework

Cross-layer data collection and analysis

Design and development of a modular adaptive monitoring framework

Model-based configuration of the monitoring multi-mechanism at runtime

Page 34: Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien II. Produktlinien-Engineering ... Mapping to feature model

ES – Real-Time Systems Lab 34 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation

References (only if you are interested)

[BHS12] N. Bencomo, S. Hallsteinsen, and E. Santana de Almeida, “A View of the

Dynamic Software Product Line Landscape,” Computer, vol. 45, no. 10, pp. 36–

41, 2012.

[BSB08] N. Bencomo, P. Sawyer, G. Blair, and P. Grace, “Dynamically adaptive

systems are product lines too: Using model-driven techniques to capture dynamic

variability of adaptive systems,” in 2nd International Workshop on Dynamic

Software Product Lines (DSPL 2008), Limerick, Ireland, 2008, vol. 38, p. 40.

[BSR10] D. Benavides, S. Segura, and A. Ruiz–Cortés, “Automated analysis of

feature models 20 years later: A literature review,” Inf. Syst., vol. 35, no. 6, 2010.

[CLG09] B. H. C. Cheng, R. De Lemos, H. Giese, P. Inverardi, J. Magee, J.

Andersson, B. Becker, N. Bencomo, Y. Brun, B. Cukic, D. M. Serugendo, S.

Dustdar, A. Finkelstein, C. Gacek, V. Grassi, G. Karsai, H. Kienle, J. Kramer, M.

Litoiu, R. Mirandola, H. Müller, S. Park, M. Shaw, M. Tichy, M. Tivoli, D. Weyns,

and J. Whittle, “Software Engineering for Self-Adaptive Systems : A Research

Road Map” Engineering, pp. 1–13, 2009.

Page 35: Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien II. Produktlinien-Engineering ... Mapping to feature model

ES – Real-Time Systems Lab 35 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation

References (only if you are interested)

[FFF13] Jacqueline Floch, Cristina Frà, Rolf Fricke, Kurt Geihs, Michael Wagner,

Jorge Lorenzo Gallardo, Eduardo Soladana Cantero, Stephan Mehlhase,

Nearchos Paspallis, Hossein Rahnama, Pedro Antonio Ruiz, Ulrich Scholz,

„Playing MUSIC - building context-aware and self-adaptive mobile applications“,

Softw., Pract. Exper. 43(3): 359-388 (2013)

[Hel12] M. Helvensteijn, “Dynamic delta modeling,” in Proceedings of the 16th

International Software Product Line Conference, 2012, vol. 1, p. 127.

[SOS12] K. Saller, S. Oster, A. Schürr, J. Schroeter, M. Lochau: "Reducing Feature

Models to Improve Runtime Adaptivity on Resource Limited Devices",

Proceedings of the 16th International Software Product Line Conference, 2012,

ACM, Vol. 2, 135 - 142

[SLR13] K. Saller, M. Lochau, I. Reimund: "Context-Aware DSPLs: Model-Based

Runtime Adaptation for Resource-Constrained Systems", Proceedings of the 17th

International Software Product Line Conference co-located workshops, 2013,

ACM, 106 – 113

Page 36: Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien II. Produktlinien-Engineering ... Mapping to feature model

ES – Real-Time Systems Lab 36 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation

Feel Free to Ask some Questions

Page 37: Software Product Lines - Fachgebiet EchtzeitsystemeI. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien II. Produktlinien-Engineering ... Mapping to feature model

ES – Real-Time Systems Lab 37 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation

…then we are finished – have a nice week!


Recommended