3.4SEOct 31, 2025
Enhancing software product lines with machine learning componentsLuz-Viviana Cobaleda, Julián Carvajal, Paola Vallejo et al.
Modern software systems increasingly integrate machine learning (ML) due to its advancements and ability to enhance data-driven decision-making. However, this integration introduces significant challenges for software engineering, especially in software product lines (SPLs), where managing variability and reuse becomes more complex with the inclusion of ML components. Although existing approaches have addressed variability management in SPLs and the integration of ML components in isolated systems, few have explored the intersection of both domains. Specifically, there is limited support for modeling and managing variability in SPLs that incorporate ML components. To bridge this gap, this article proposes a structured framework designed to extend Software Product Line engineering, facilitating the integration of ML components. It facilitates the design of SPLs with ML capabilities by enabling systematic modeling of variability and reuse. The proposal has been partially implemented with the VariaMos tool.
2.9SESep 25, 2017
Designing a Framework for Smart IoT AdaptationsAsmaa Achtaich, Nissrine Souissi, Raul Mazo et al.
The Internet of Things (IoT) is the science of connecting multiple devices that coordinate to provide the service in question. IoT environments are complex, dynamic, rapidly changing and resource constrained. Therefore, proactively adapting devices to align with context fluctuations becomes a concern. To propose suitable configurations, it should be possible to sense information from devices, analyze the data and reconfigure them accordingly. Applied in the service of the environment, a fleet of devices can monitor environment indicators and control it in order to propose best fit solutions or prevent risks like over consumption of resources (e.g., water and energy). This paper describes our methodology in designing a framework for the monitoring and multi-instantiation of fleets of connected objects. First by identifying the particularities of the fleet, then by specifying connected object as a Dynamic Software Product Line (DSPL), capable of readjusting while running.