Staged Configuration of Dynamic Software Product Lines with Complex Binding Time Constraints



Similar documents
Model-based Test Case Generation for (Dynamic) Software Product Lines

Test Modeling of Dynamic Variable Systems using Feature Petri Nets

A Model-Driven Approach for Developing Self-Adaptive Pervasive Systems

Incremental Model-based Testing of Delta-oriented Software Product Lines

On the Modeling and Verification of Security-Aware and Process-Aware Information Systems

focus Software product line engineering (SPLE) is a paradigm of software reuse Combining Service Orientation with Product Line Engineering

Quality Assurance by Means of Feature Models

Semantic Variability Modeling for Multi-staged Service Composition

EMBEDDED SOFTWARE DEVELOPMENT: COMPONENTS AND CONTRACTS

Software Architecture

Co-Creation of Models and Metamodels for Enterprise. Architecture Projects.

Development of Tool Extensions with MOFLON

Run-time Variability Issues in Software Product Lines

SPLConfig: Product Configuration in Software Product Line

SOPLE-DE: An Approach to Design Service-Oriented Product Line Architectures

mbeddr: an Extensible MPS-based Programming Language and IDE for Embedded Systems

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems

Programming Manual Catalog Numbers 1756 ControlLogix, 1769 CompactLogix, 1789 SoftLogix, 1794 FlexLogix, PowerFlex 700S with DriveLogix

Debian Packages Repositories as Software Product Line Models. Towards Automated Analysis

Variability in Service-Oriented Systems: An Analysis of Existing Approaches

Date Rev. Details Author

Development of a Feature Modeling Tool using Microsoft DSL Tools.

SQL Server Analysis Services Complete Practical & Real-time Training

Software Variability Management

Agile SPL-SCM: Agile Software Product Line Configuration and Release Management

FHIM Model Content Overview

FeatureIDE: An Extensible Framework for Feature-Oriented Software Development

A Classification of Model Checking-based Verification Approaches for Software Models

R&D and Topcased (led by Silvia Mazzini)

Colligens: A Tool to Support the Development of Preprocessor-based Software Product Lines in C

Software Product Lines

Hello, and welcome to this presentation of the STM32 SDMMC controller module. It covers the main features of the controller which is used to connect

Trends in Embedded Software Development in Europe. Dr. Dirk Muthig

Configuring Load Balancing

Service-Oriented Architecture and Software Engineering

A Tool for Generating Partition Schedules of Multiprocessor Systems

An eclipse-based Feature Models toolchain

PLEDGE: A Product Line Editor and Test Generation Tool

Design Specification for IEEE Std 1471 Recommended Practice for Architectural Description IEEE Architecture Working Group 0 Motivation

Performance in the Infragistics WebDataGrid for Microsoft ASP.NET AJAX. Contents. Performance and User Experience... 2

Core Fittings C-Core and CD-Core Fittings

Connect to telephone. Connect to wall jack

IOS Server Load Balancing

Features List Contents

Specification and Analysis of Contracts Lecture 1 Introduction

Deployment Guide. AX Series with Microsoft Office SharePoint Server

What s in a Feature: A Requirements Engineering Perspective

Trends in Embedded Software Engineering

Contents. Intrusion Detection Systems (IDS) Intrusion Detection. Why Intrusion Detection? What is Intrusion Detection?

An Approach to Detect the Origin and Distribution of Software Defects in an Evolving Cyber-Physical System

Runtime Verification - Monitor-oriented Programming - Monitor-based Runtime Reflection

Semantic-enabled Software Engineering and Development

RobbyDBMS A Case Study on Hardware/Software Product Line Engineering

IOS Server Load Balancing

IEEE ComputerSociety 1 Software and Systems Engineering Vocabulary

Safe Generation in Feature-Oriented Software Development Sven Apel

Technology WHITE PAPER

Introducing Formal Methods. Software Engineering and Formal Methods

Kirsten Sinclair SyntheSys Systems Engineers

7.1. Remote Access Connection

Internet Access Setup

Introduction to Formal Methods. Các Phương Pháp Hình Thức Cho Phát Triển Phần Mềm

Industrial Process Automation (Exercise)

International Journal of Software Engineering and Knowledge Engineering c World Scientific Publishing Company

Technical Review. The Institution of Electronics and Telecommunication Engineers. Volume 26 No.

Generating Graphical User Interfaces for Software Product Lines: A Constraint-based Approach

Applications & Tools. Configuration of Messages and Alarms in WinCC (TIA Portal) WinCC (TIA Portal) Application description December 2012

Data Reporting and Presentation using Advanced Excel ( 30 Hrs)

Transcription:

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