27 research outputs found
A modular metamodel and refactoring rules to achieve software product line interoperability
En este artículo se propone y formaliza una sintaxis abstracta común de los conceptos de variabilidad (simples y complejos) que aparecen en las herramientas y los lenguajes para modelar variabilidad en líneas de producto software (SPL). La sintaxis abstracta se define de forma modular en un conjunto de 34 metamodelos con sus propios constructores del lenguaje y dependencias entre ellos. Los lenguajes y herramientas existentes se mapean a dichos metamodelos y se definen transformaciones de modelo ("refactorizaciones" a nivel de la sintaxis abstracta) para transformar los constructores complejos en otros más simples con el fin de proporcionar interoperabilidad entre las herramientas de SPL. Se proporciona también una implementación open-source de los metamodelos en EMF/Ecore y se comparan dos implementaciones de las transformaciones: (1) en un lenguaje puro de transformación de modelos (Henshin), y (2) en un lenguaje de programación clásico (Java). Se muestra que a pesar de que la implementación en Java es más eficiente en términos de tiempo de ejecución, la implementación con Henshin ofrece un mayor grado de abstración, facilidad a la hora de inspeccionar las transformaciones (mayor explicabilidad) y por tanto mejor mantenimiento.Emergent application domains, such as cyber–physical systems, edge computing or industry 4.0.
present a high variability in software and hardware infrastructures. However, no single variability
modeling language supports all language extensions required by these application domains (i.e.,
attributes, group cardinalities, clonables, complex constraints). This limitation is an open challenge
that should be tackled by the software engineering field, and specifically by the software product line
(SPL) community. A possible solution could be to define a completely new language, but this has a
high cost in terms of adoption time and development of new tools. A more viable alternative is the
definition of refactoring and specialization rules that allow interoperability between existing variability
languages. However, with this approach, these rules cannot be reused across languages because each
language uses a different set of modeling concepts and a different concrete syntax. Our approach
relies on a modular and extensible metamodel that defines a common abstract syntax for existing
variability modeling extensions. We map existing feature modeling languages in the SPL community
to our common abstract syntax. Using our abstract syntax, we define refactoring rules at the language
construct level that help to achieve interoperability between variability modeling languages
A modular metamodel and refactoring rules to achieve software product line interoperability.
Emergent application domains, such as cyber–physical systems, edge computing or industry 4.0. present a high variability in software and hardware infrastructures. However, no single variability modeling language supports all language extensions required by these application domains (i.e., attributes, group cardinalities, clonables, complex constraints). This limitation is an open challenge that should be tackled by the software engineering field, and specifically by the software product line (SPL) community. A possible solution could be to define a completely new language, but this has a high cost in terms of adoption time and development of new tools. A more viable alternative is the definition of refactoring and specialization rules that allow interoperability between existing variability languages. However, with this approach, these rules cannot be reused across languages because each language uses a different set of modeling concepts and a different concrete syntax. Our approach relies on a modular and extensible metamodel that defines a common abstract syntax for existing variability modeling extensions. We map existing feature modeling languages in the SPL community to our common abstract syntax. Using our abstract syntax, we define refactoring rules at the language construct level that help to achieve interoperability between variability modeling languages.Work supported by the projects MEDEA RTI2018-099213-B-I00, IRIS PID2021-122812OB-I00 (co-financed by FEDER funds), Rhea P18-FR-1081 (MCI/AEI/FEDER, UE), LEIA UMA18-FEDERIA-157, and DAEMON H2020-101017109. // Funding for open access: Universidad de Málaga / CBUA
Detecting Feature Influences to Quality Attributes in Large and Partially Measured Spaces using Smart Sampling and Dynamic Learning
Publicación Journal First siendo el original:
Munoz, D. J., Pinto, M., & Fuentes, L. (2023). Detecting feature influences to quality attributes in large and partially measured spaces using smart sampling and dynamic learning. Knowledge-Based Systems, 270, 110558.Emergent application domains (e.g., Edge Computing/Cloud /B5G systems) are complex to be built manually. They are characterised by high variability and are modelled by large \textit{Variability Models} (VMs), leading to large configuration spaces. Due to the high number of variants present in such systems, it is challenging to find the best-ranked product regarding particular Quality Attributes (QAs) in a short time. Moreover, measuring QAs sometimes is not trivial, requiring a lot of time and resources, as is the case of the energy footprint of software systems -- the focus of this paper. Hence, we need a mechanism to analyse how features and their interactions influence energy footprint, but without measuring all configurations. While practical, sampling and predictive techniques base their accuracy on uniform spaces or some initial domain knowledge, which are not always possible to achieve. Indeed, analysing the energy footprint of products in large configuration spaces raises specific requirements that we explore in this work. This paper presents SAVRUS (Smart Analyser of Variability Requirements in Unknown Spaces), an approach for sampling and dynamic statistical learning without relying on initial domain knowledge of large and partially QA-measured spaces. SAVRUS reports the degree to which features and pairwise interactions influence a particular QA, like energy efficiency. We validate and evaluate SAVRUS with a selection of likewise systems, which define large searching spaces containing scattered measurements.Trabajo financiado por el programa de I+D H2020 de la UE bajo el acuerdo DAEMON 101017109, por los proyectos también co-financiados por fondos FEDER \emph{IRIS} PID2021-122812OB-I00, y \emph{LEIA} UMA18-FEDERIA-157, y la ayuda PRE2019-087496 del Ministerio de Ciencia e Innovación.
Universidad de Málaga. Campus de Excelencia Internacional Andalucía Tech
Context-aware energy-efficient applications for cyber-physical systems
El artículo ilustra cómo abordar el problema de desarrollar aplicaciones energéticamente eficientes que tengan en cuenta el contexto. Se define un asistente ecológico que utiliza métodos avanzados de ingeniería de software, como líneas de productos software dinámicas (DSPL) y separación de "concerns" para modelar la variabilidad de las aplicaciones y los componentes que consumen más energía. El asistente ecológico se evalúa experimentalmente en el contexto de los sistemas ciberfísicos, midiendo el consumo energético real del software utilizando diferente hardware (e.g., un voltímetro, un sensor de monitorización de energía, una Raspeberry,...). El asistente ecológico es capaz de adaptar el comportamiento del sistema dinámicamente acorde a la configuración más eficiente en un momento dado
Extended Variability Models, Algebra, and Arithmetic
Although classic variability models have been traditionally used to specify members of a product-line, their level of expressiveness was quite limited. Several extensions have been proposed, like numerical features, complex cardinalities and feature and configuration attributes. However, modern tools often provide limited support to these extensions. Imposing variability modelling restrictions into general theories enables off-the-self automated reasoners to analyse extended variability models. While one could argue that those general theories are less reasoning efficient, in practice happen the same if we extend traditional solvers. In contrast, general theories provide new properties with the potential to a) improve reasoning efficiency above extending traditional solvers, and b) provide exotic analyses that uncover new properties of the variability models and feature and configuration spaces. Examples of this could be the functions commutativity property, (reasoning) functors composition, and the fundamental theorem of calculus applied to feature or configuration space.Universidad de Málaga. Campus de Excelencia Internacional Andalucía Tech
Detecting feature influences to quality attributes in large and partially measured spaces using smart sampling and dynamic learning
Emergent application domains (e.g., Edge Computing/Cloud/B5G systems) are complex to be built manually. They are characterised by high variability and are modelled by large Variability Models (VMs), leading to large configuration spaces. Due to the high number of variants present in such systems, it is challenging to find the best-ranked product regarding particular Quality Attributes (QAs) in a short time.
Moreover, measuring QAs sometimes is not trivial, requiring a lot of time and resources, as is the case of the energy footprint of software systems — the focus of this paper. Hence, we need a mechanism to analyse how features and their interactions influence energy footprint, but without measuring all configurations. While practical, sampling and predictive techniques base their accuracy on uniform spaces or some initial domain knowledge, which are not always possible to achieve. Indeed, analysing
the energy footprint of products in large configuration spaces raises specific requirements that we explore in this work. This paper presents SAVRUS (Smart Analyser of Variability Requirements in Unknown Spaces), an approach for sampling and dynamic statistical learning without relying on initial domain knowledge of large and partially QA-measured spaces. SAVRUS reports the degree to which features and pairwise interactions influence a particular QA, like energy efficiency. We validate and
evaluate SAVRUS with a selection of likewise systems, which define large searching spaces containing scattered measurements.Funding for open access charge: Universidad de Málaga / CBUA.
This work is supported by the European Union’s H2020 re search and innovation programme under grant agreement
DAEMON H2020-101017109, by the projects IRIS PID2021-12281 2OB-I00 (co-financed by FEDER funds), Rhea P18-FR-1081 (MCI/AEI/ FEDER, UE), and LEIA UMA18-FEDERIA-157, and the PRE2019-087496 grant from the Ministerio de Ciencia e Innovación, Spain
Runtime enforcement of dynamic security policies.
Política de acceso abierto tomada de: https://www.springernature.com/gp/open-science/policies/book-policiesThe security policies of an application can change at runtime due to several reasons, as for example the changes on the user preferences, the lack of enough resources in mobile environments or the negotiation of security levels between the interacting parties. As these security policies change, the application code that copes with the security functionalities should be adapted in order to enforce at runtime the changing security policies. In this paper we present the design, implementation and evaluation
of a runtime security adaptation service. This service is based on the combination of autonomic computing and aspect-oriented programming, where the security functionalities are implemented as aspects that are dynamically configured, deployed or un-deployed by generating and executing a security adaptation plan. This service is part of the INTERTRUST framework, a complete solution for the definition, negotiation and run-time enforcement of security policies
Defining Categorical Reasoning of Numerical Feature Models with Feature-Wise and Variant-Wise Quality Attributes
Automatic analysis of variability is an important stage of Software Product Line (SPL) engineering. Incorporating quality information into this stage poses a significant challenge. However, quality-aware automated analysis tools are rare, mainly because in existing solutions variability and quality information are not unified under the same model.
In this paper, we make use of the Quality Variability Model (QVM), based on Category Theory (CT), to redefine reasoning operations. We start defining and composing the six most commonoperations in SPL, but now as quality-based queries, which tend to be unavailable in other approaches. Consequently, QVM supports interactions between variant-wise and feature-wise quality attributes. As a proof of concept,we present, implement and execute the operations as lambda reasoning for CQL IDE – the state-of-theart CT tool.Munoz, Pinto and Fuentes work is supported by the European Union’s H2020 research and innovation programme under grant
agreement DAEMON 101017109, by the projects co-financed by FEDER funds LEIA UMA18-FEDERJA-15, MEDEA RTI2018-099213-B-I00 and Rhea P18-FR-1081 and the PRE2019-087496 grant from the Ministerio de Ciencia e Innovación
Transforming numerical feature models into propositional formulas and the universal variability language
Real-world Software Product Lines (SPLs) need Numerical Feature Models (NFMs) whose features have not only boolean values that satisfy boolean constraints but also have numeric attributes that satisfy arithmetic constraints. An essential operation on NFMs finds near-optimal performing products, which requires counting the number of SPL products. Typical constraint satisfaction solvers perform poorly on counting and sampling.
Nemo (Numbers, features, models) is a tool that supports NFMs by bit-blasting, the technique that encodes arithmetic expressions as boolean clauses. The newest version, Nemo2, translates NFMs to propositional formulas and the Universal Variability Language (UVL). By doing so, products can be counted efficiently by #SAT and Binary Decision Tree solvers, enabling finding near-optimal products.
This article evaluates Nemo2 with a large set of synthetic and colossal real-world NFMs, including complex arithmetic constraints and counting and sampling experiments. We empirically demonstrate the viability of Nemo2 when counting and sampling large and complex SPLs.Munoz, Pinto and Fuentes work is supported by the European Union’s H2020 research and innovation programme under grant
agreement DAEMON 101017109, by the projects co-financed by FEDER, Spain funds LEIA UMA18-FEDERJA-15, IRIS PID2021-
122812OB-I00 (MCI/AEI), and the PRE2019-087496 grant from the Ministerio de Ciencia e Innovación.
Funding for open access charge: Universidad de Málaga / CBUA
Un analizador de modelos de variabilidad basado en el árbol de características.
Un árbol de características generalizado (GFT) es un modelo de variabilidad en el que las restricciones textuales han sido eliminadas manteniendo la semántica del modelo.
La ventaja de un GFT es que se puede analizar directamente razonando sobre las relaciones jerárquicas del árbol de características, sin tener que transformar el modelo a SAT o construir un árbol de decisión binario (BDD). Las desventajas de un GFT son que puede contener características duplicadas y que su tamaño en número de características con respecto al modelo de variabilidad original es considerablemente mayor, lo que complica el análisis automático.
En este artículo se propone un analizador de modelos GFT basado en las relaciones jerárquicas del árbol de características teniendo en cuenta la existencia de características duplicadas. Se definen un conjunto de operaciones de análisis sobre GFT y se compara su eficiencia con solvers SAT y BDD. El solver GFT mejora la eficiencia del análisis sobre solvers BDD para modelos de hasta diez mil características.Universidad de Málaga. Campus de Excelencia Internacional Andalucía Tech