Post on 16-Jul-2018
© 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. saller@es.tu-darmstadt.de
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
malte.lochau@es.tu-darmstad.de
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
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
ES – Real-Time Systems Lab 4 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation
Mobile Devices as an SPL, Google Nexus
ES – Real-Time Systems Lab 5 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation
Mobile Devices as an SPL, Google Nexus
ES – Real-Time Systems Lab 6 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation
Mobile Devices as an SPL, Google Nexus
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]
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
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
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, …
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]
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]
ES – Real-Time Systems Lab 13 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation
Mobile Devices as a (D)SPL
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
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
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
ES – Real-Time Systems Lab 17 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation
From Specification to Runtime Reconfiguration
Optional Step
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
ES – Real-Time Systems Lab 19 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation
Context-Aware DSPLs
ES – Real-Time Systems Lab 20 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation
Context-Aware DSPLs
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
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
ES – Real-Time Systems Lab 23 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation
SPL Configuration vs. DSPL Reconfiguration
ES – Real-Time Systems Lab 24 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation
State Based Reconfiguration of the Device
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]
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
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
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)
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
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
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
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
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
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.
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
ES – Real-Time Systems Lab 36 | 23.04.2014 | | Software Product Lines - Concepts, Analysis and Implementation
Feel Free to Ask some Questions