Automated Analysis of Software Product Lines with Orthogonal Variability Models: Extending the Fama Ecosystem.
R. W. Frantz, Fabricia Carneiro · 2013
La ingenieria de lineas de producto software es un paradigma de desarrollo de software que permite la creacion de una familia de productos software por medio de la reutilizacion de un conjunto comun de activos software. En este paradigma, los modelos de variabilidad son artefactos centrales. Dichos modelos documentan la variabilidad entre los distintos productos de una linea de productos. En los ultimos veinte anos, un conjunto de tecnicas para el modelado de la variabilidad se han propuesto con el fin de documentar y gestionar la variabilidad, tales como el modelado de caracteristicas, el modelado de decision y el modelado ortogonal de variabilidad. La mas popular es la del modelado de caracteristicas. En esta tecnica, se usan modelos de caracteristicas para representar de forma compacta todos los productos de una linea de productos en terminos de caracteristicas. El analisis automatico de modelos de variabilidad se define como la extraccion de informacion de los modelos de variabilidad asistida por ordenador. Esa es un area de investigacion activa que ha recibido la atencion de los investigadores durante los ultimos veinte anos. Gran parte de esa investigacion ha ido enfocada a los modelos de caracteristicas, resultando en un conjunto de operaciones de analisis, de tecnicas y de herramientas para el analisis automatico de ese tipo de modelos. Con la aparicion de otros modelos de variabilidad, se ha detectado la necesidad de proporcionar nuevas tecnicas y herramientas para dar soporte al analisis automatico de dichos modelos. Ademas, existe la necesidad de extender la variabilidad con atributos, de manera que el analisis no solamente lleve en cuenta la variabilidad en terminos de las caracteristicas funcionales, sino tambien en terminos de atributos. Los modelos de variabilidad por lo general contienen elementos que se utilizan solo para estructurar la variabilidad de la linea de productos, y por lo tanto no tienen ningun impacto en los modelos que se geran, tales como los modelos de requisitos, diseno o implementacion. Estos elementos se conocen como elementos abstractos. La mayoria de los lenguajes de modelado de variabilidad no proporcionan una forma explicita de expresar los elementos abstractos. Ademas, la mayoria de los enfoques actuales para el analisis automatizado de los modelos de la variabilidad solo 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 algun impacto en otros modelos de la linea de productos. Por lo tanto, los elementos abstractos deben ser expresados explicitamente en los modelos de variabilidad, por lo que se pueda analizar modelos de variabilidad teniendo en cuenta unicamente los elementos pertinentes. El modelo de variabilidad ortogonal es un lenguaje de modelado para definir la variabilidad de una linea de productos de software. Se trata de una notacion usual en la comunidad de linea de productos que interrelaciona la variabilidad en los modelos base, tal como los modelos de requisitos, diseno, componentes y prueba. En esta tesis doctoral, se presenta un conjunto de tecnicas y herramientas para dar soporte al analisis automatico de los modelos de variabilidad ortogonales. Una importante ventaja de nuestra contribucion se basa en el soporte a los atributos y a los elementos abstractos. En primer lugar, se hacen explicitos los elementos abstractos en los modelos de variabilidad ortogonal, y se proporcionan dos tecnicas para automatizar el analisis 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 tecnica para enriquecer los modelos ortogonales de variabilidad con atributos y se automatiza su analisis. Nuestras contribuciones han sido integradas en una herramienta que se ha construido como parte del ecosistema de FaMa, que es un marco para el analisis de los modelos de la variabilidad desarrollada por nuestro grupo de investigacion. Con el fin de demostrar la eficacia de nuestras tecnicas y de nuestra herramienta de analisis se presenta una evaluacion usando un caso desarrollado en la industria alemana de automoviles. Dicha evaluacion ha sido util para detectar elementos opcionales falsos y elementos muertos en el modelo de variabilidad ortogonal de dicha linea de producto y tambien la verificacion de restricciones sobre los atributos de este modelo.