Staged Configuration of Dynamic Software Product Lines with Complex Binding Time The 8th International Workshop on Variability Modelling of Software-intensive Systems 2014, January 22-24 Nice, France Johannes Bürdek, Malte Lochau, Andy Schürr Sascha Lity, Ursula Goltz Markus Berens johannes.buerdek@es.tu-darmstadt.de Tel.+49 6151 16 76089 author(s) of these slides 2008 including research results of the research network ES and TU Darmstadt otherwise as specified at the respective slide 24/01/14
Heidelberg Ion-Beam Therapy Center (HIT) [Hit13] Case Study for Beam Cycle Creation Discrete State Control Logics Safety-critical Automation Engineering Software (ISO 13485) Highly-Configurable and Runtime Adaptive -Z -R -R -P Re-Engineered as (D)SPL ~ 200 Features (Boolean and Non-Boolean) SPL Implementation in C ~ 175.000 LOC Treatment Rooms 2 24/01/14 Staged Configuration of DSPLs with Complex Binding Time Gantry
Units (s) Re-engineered s as SPL Area 1: Beam Accelerator Synchrotron Area 2: Therapy Treatment Room -P -T -R Ion Sources Treatment Room Treatment Room (Gantry) -RB -SPL -Z -SD 3 24/01/14 Staged Configuration of DSPLs with Complex Binding Time
s as DSPL [Hallsteinsen et al. 08] Mode 4 Device Control Unit Master Type MeasuringMode RtbTimingEn ErrorMonEn AddRtbDelayTime LowCurrentTimer Name Checksum Version Mode 3 Mode 2 Mode 1 Mode 0 RefValueTHoldMax TimeoutFeedback DelayTimeFeedback DelayTimeActivate BeamRequest TakeOverRefValues EnableShutdown EnableSwitchOn Pre- Configuration Time Installation Time Static Binding Times Operation Mode Device Controller Type b b Timing Master Quality Assurance Adjustment Experiment Standby Therapy Manual SD 4 24/01/14 Staged Configuration of DSPLs with Complex Binding Time Idle Z Ramped b P T TS EnableGenRTB MasterClock EnableSync SupplyFrequence RK RB R <excl> Activation Time Runtime Dynamic Binding Times
What about multiple possible binding times? [Mei et al. 03], [Rosenmüller et al. 08] Adding Binding Times to Feature Models Type Name Checksum {IT} Version {IT} Default: all binding times are selected. RefValueTHoldMax delay [0,100] TimeoutFeedback timeout: [0,100] DelayTimeFeedback delay: [0,100] DelayTimeActivat e delay: [0,100] BeamRequestTakeOverRefValues EnableShutdow n EnableSwitchOn EnableGenRTBMasterCloc k EnableSyncSupplyFrequence Are Timing features Master always configurable at any of their binding times or are there constraints? Pre- Configuration Time (PT) Installation Time (IT) Activation Time (AT) Runtime (RT) 5 24/01/14 Staged Configuration of DSPLs with Complex Binding Time
Feature DelayTimeActivate {AT,RT} Device Control Unit Type Operation Mode Type b b Timing Master Quality Assurance Adjustment Experiment Standby Therapy Manual Idle Z SD b Ramped b P T TS How to express those kinds of constraints? EnableGenRTB MasterClock EnableSync SupplyFrequency (Re)-configuration at runtime is only allowed in Adjustment, Type Manual, Z requires or Experiment the mode Timing Master RK RB R Abbreviations AT: Activation Time RT: Runtime 6 24/01/14 Staged Configuration of DSPLs with Complex Binding Time
Binding Time Feature / Attribute Feature / Attribute (Devic e_control_) (Device_Control) Binding Time (Therapy) (EnableSyncSupplyFrequency. bt =ActivationTime) Binding Time (DelayTimeActivate.bt = Runtime) (Adjustment Experiment Manual) (TimeoutFeedback.bt =ActivationTime) (DelayTimeFeedback.bt = ActivationTime) Abbreviations bt: Binding Time 7 24/01/14 Staged Configuration of DSPLs with Complex Binding Time
Staged Configuration [Czarnecki et al. 04] Binding Times Type Oper ation Mod Type Para Mast Para Domain Engineering Device Control SD Z Idle Manual Therapy Standby Experimet Adjustment Quality Assurance Timing Master Version Name LowCurrent Timer AddRtbDelay Time ErrorMonEn RtbTiming En Measurin gmode M 4 M 3 M 2 M 1 M 0 TimeoutFee DelayTimeF DelayTimeA BeamReque EnableSh utdown Ramped P T TS Stage 1 Stage 2 Stage n-1 Stage n 8 24/01/14 Staged Configuration of DSPLs with Complex Binding Time
Domain Engineering Configured at Runtime Configured at Activation Time TimeoutFeedback timeout: [0,100] DelayTimeFeedback delay: [0,100] {AT,RT} {AT,RT} {AT,RT} {AT,RT} - Domain analysis should ensure consistency, i.e., avoid anomalies - Feature model is satisfiable - Abscence of unattended core and dead features Binding times and binding time constraints must be included to the analysis. 9 24/01/14 Staged Configuration of DSPLs with Complex Binding Time
Staged Configuration [Czarnecki et al. 04] Binding Times Type Oper ation Mod Type Para Mast Para Domain Engineering Device Control SD Z Idle Manual Therapy Standby Experimet Adjustment Quality Assurance Timing Master Version Name LowCurrent Timer AddRtbDelay Time ErrorMonEn RtbTiming En Measurin gmode M 4 M 3 M 2 M 1 M 0 TimeoutFee DelayTimeF DelayTimeA BeamReque EnableSh utdown Ramped P T TS Stage 1 Stage 2 Stage n-1 Stage n Binding Times Type Oper ation Mod Type Para Mast Para TS Device Control T SD P Z Ramped Idle Manual Therapy Standby Experimet Adjustment Quality Assurance Timing Master Version EnableSh utdown BeamReque DelayTimeA DelayTimeF Name TimeoutFee LowCurrent Timer AddRtbDelay Time M 0 ErrorMonEn M 1 RtbTiming En M 2 Measurin gmode M 3 M 4 Application Engineering 10 24/01/14 Staged Configuration of DSPLs with Complex Binding Time
Application Engineering Operation Mode DelayTimeActivate delay: [0,100] Therapy Idle Therapy => DelayTimeActivate.delay < 50 - Product (re-)configuration is binding time aware Satisfiability check after each configuration step to ensure the configuration may terminate in a valid configuration 11 24/01/14 Staged Configuration of DSPLs with Complex Binding Time
Transformation Plain Feature Model DSPL Feature Model Feature Tree Binding Time Tree EFM FM Mixed BT Feature bt Attribute Feature/Attribute/ Binding Time Feature/Attribute Binding Time 12 24/01/14 Staged Configuration of DSPLs with Complex Binding Time
Transformation of Feature Binding Times.bt.bt DelayTime Activate DelayTime Activate DelayTime Activate.bt {AT,RT} DelayTime Activate.bt.AT DelayTime Activate.bt.RT Transformation of attributes and their binding times accordingly Transformation of constraints by additional require and exclude edges 13 24/01/14 Staged Configuration of DSPLs with Complex Binding Time
Implementation Extended FM Meta-Model Eclipse-based FM Meta-Model Plain Feature Model Plain Feature Model DSPL Feature Model Feature Tree Binding Time Tree Feature Tree Binding Time Tree EFM FM Mixed BT FM Mixed BT Feature BT Attribute Feature/Attribute Binding Time Feature/Attribute Binding Time Off-the-Shelf Solver [Saller et al. 13] 14 24/01/14 Staged Configuration of DSPLs with Complex Binding Time
Evaluation Domain Engineering Application Engineering EFM FM #Features 47 783 # 55 61 #Core Features 6 #Core Binding Times 39 #Dead Features 0 #Dead Binding Times 0 SAT Check 0.46ms Duration in ms 0,6 0,5 0,4 0,3 0,2 0,1 Staged Configuration SAT Check Duration 0 0 5 10 15 20 25 30 35 40 45 50 55 Configuration Steps avg 0.46ms 15 24/01/14 Staged Configuration of DSPLs with Complex Binding Time
Conclusion and Future Work - Extended FMs with binding times and binding time constraints - Provided a staged configuration semantics for DSPLs - Motivated by an industrial case study - More expressive constraints - Feature attributes with unrestricted value domains - Validate binding time constraints by using reconfiguration automata [Helvensteijn 12] 16 24/01/14 Staged Configuration of DSPLs with Complex Binding Time
List of Literature [Hallsteinsen et al.] S. Hallsteinsen, M. Hinchey, S. Park, and K. Schmid. Dynamic software product lines. Computer, 41:93-95, 2008. [Mei et al.] H. Mei, W. Zhang, and F. Gu. A feature oriented approach to modeling and reusing requirements of software product lines. In COMPSAC '03, 2003. [Czarnecki et al.] K. Czarnecki, S. Helsen, and E. Ulrich. Staged Conguration Using Feature Models. In SPLC'04, pages 266-283, 2004. [Saller et al.] K. Saller, M. Lochau, and I. Reimund. Context-aware dspls: modelbased runtime adaptation for resource-constrained systems. In SPLC'13, pages 106-113. ACM, 2013. [Rosenmüller et al.] M. Rosenmüller, N. Siegmund, G. Saake, and S. Apel. Code generation to support static and dynamic composition of software product lines. In 7th GPCE, pages 3-12. ACM, 2008. [Helvensteijn] M. Helvensteijn. Dynamic delta modeling. In SPLC'12, pages 127{134. ACM, 2012. [Hit13] Heidelberg University Hospital. Heidelberg Ion-Beam Therapy Center. http://www.klinikum.uni-heidelberg.de/, 2013. 17 24/01/14 Staged Configuration of DSPLs with Complex Binding Time