Software Product Lines - Technische Universität Darmstadt · How can a the resource consumption of DSPL reconfiguration be reduced? ... Context-Aware DSPLs Context A DSPL based adaptation
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
“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