학술논문

RuVa: A Runtime Software Variability Algorithm
Document Type
Periodical
Source
IEEE Access Access, IEEE. 10:52525-52536 2022
Subject
Aerospace
Bioengineering
Communication, Networking and Broadcast Technologies
Components, Circuits, Devices and Systems
Computing and Processing
Engineered Materials, Dielectrics and Plasmas
Engineering Profession
Fields, Waves and Electromagnetics
General Topics for Engineers
Geoscience
Nuclear Engineering
Photonics and Electrooptics
Power, Energy and Industry Applications
Robotics and Control Systems
Signal Processing and Analysis
Transportation
Runtime
Robots
Adaptation models
Software
Context modeling
Behavioral sciences
Vehicle dynamics
Software variability
runtime variability
dynamic software product lines
feature model
context features
reconfiguration
robots
Language
ISSN
2169-3536
Abstract
Context-aware and smart systems that require runtime reconfiguration to cope with changes in the environment increasingly demand variability management mechanisms that can address runtime concerns. In recent years, we have witnessed new dynamic variability solutions using dynamic software product line (DSPL) approaches. However, while few solutions proposed so far have addressed the need to add, change and remove variants dynamically, none of them provide a way to check the constraints between features at runtime. Because all SAT solvers perform variability constraint checking in off-line mode, we suggest in this ongoing research paper the integration of RuVa, a runtime variability algorithm, with the FaMa tool suite to check feature constraints dynamically before a new feature is added or an existing feature is removed. This research suggests a novel approach to modifying the variability model of context-aware systems dynamically and check the feature constraints on the fly. We integrate our solution with a SAT solver that can be invoked at runtime by a cyber-physical system. We validate the effectiveness and performance of the proposed algorithm using simulations. We also provide a proof-of-concept for updating the configuration of a robot’s variability model based on contextual changes.