Automated analysis of software product lines with orthogonal variability models: Extending the fama ecosystem
La ingeniería de líneas de producto software es un paradigma de desarrollo de software que permite la creación de una familia de productos software por medio de la reutilización de un conjunto común de activos software. En este paradigma, los modelos de variabilidad son artefactos centrales. Dichos modelos documentan la variabilidad entre los distintos productos de una línea de productos. En los últimos veinte años, un conjunto de técnicas para el modelado de la variabilidad se han propuesto con el fin de documentar y gestionar la variabilidad, tales como el modelado de características, el modelado de decisión y el modelado ortogonal de variabilidad. La más popular es la del modelado de características. En esta técnica, se usan modelos de características para representar de forma compacta todos los productos de una línea de productos en términos de características. El análisis automático de modelos de variabilidad se define como la extracción de información de los modelos de variabilidad asistida por ordenador. Esa es un área de investigación activa que ha recibido la atención de los investigadores durante los últimos veinte años. Gran parte de esa investigación ha ido enfocada a los modelos de características, resultando en un conjunto de operaciones de análisis, de técnicas y de herramientas para el análisis automático de ese tipo de modelos. Con la aparición de otros modelos de variabilidad, se ha detectado la necesidad de proporcionar nuevas técnicas y herramientas para dar soporte al análisis automático de dichos modelos. Además, existe la necesidad de extender la variabilidad con atributos, de manera que el análisis no solamente lleve en cuenta la variabilidad en términos de las características funcionales, sino también en términos de atributos. Los modelos de variabilidad por lo general contienen elementos que se utilizan sólo para estructurar la variabilidad de la línea de productos, y por lo tanto no tienen ningún impacto en los modelos que se geran, tales como los modelos de requisitos, diseño o implementación. Estos elementos se conocen como elementos abstractos. La mayoría de los lenguajes de modelado de variabilidad no proporcionan una forma explícita de expresar los elementos abstractos. Además, la mayoría de los enfoques actuales para el análisis automatizado de los modelos de la variabilidad sólo pueden razonar acerca de las combinaciones de todos los elementos en el modelo de variabilidad, pero no sobre los que pueden ser relevantes para el usuario, es decir, aquellos elementos que tienen algún impacto en otros modelos de la línea de productos. Por lo tanto, los elementos abstractos deben ser expresados explícitamente en los modelos de variabilidad, por lo que se pueda analizar modelos de variabilidad teniendo en cuenta únicamente los elementos pertinentes. El modelo de variabilidad ortogonal es un lenguaje de modelado para definir la variabilidad de una línea de productos de software. Se trata de una notación usual en la comunidad de línea de productos que interrelaciona la variabilidad en los modelos base, tal como los modelos de requisitos, diseño, componentes y prueba. En esta tesis doctoral, se presenta un conjunto de técnicas y herramientas para dar soporte al análisis automático de los modelos de variabilidad ortogonales. Una importante ventaja de nuestra contribución se basa en el soporte a los atributos y a los elementos abstractos. En primer lugar, se hacen explícitos los elementos abstractos en los modelos de variabilidad ortogonal, y se proporcionan dos técnicas para automatizar el análisis de estos modelos, una en la que se omiten los elementos abstractos, y otra en la que se tienen en cuenta todos los elementos del modelo. En segundo lugar, se proporciona una técnica para enriquecer los modelos ortogonales de variabilidad con atributos y se automatiza su análisis. Nuestras contribuciones han sido integradas en una herramienta que se ha construido como parte del ecosistema de FaMa, que es un marco para el análisis de los modelos de la variabilidad desarrollada por nuestro grupo de investigación. Con el fin de demostrar la eficacia de nuestras técnicas y de nuestra herramienta de análisis se presenta una evaluación usando un caso desarrollado en la industria alemana de automóviles. Dicha evaluación ha sido útil para detectar elementos opcionales falsos y elementos muertos en el modelo de variabilidad ortogonal de dicha línea de producto y también la verificación de restricciones sobre los atributos de este modelo.
Networked Digital Library of Theses and Dissertations