Como consecuencia de la globalización de los mercados, los fabricantes necesitan adaptar sus productos a las necesidades específicas de cada cliente. Alcanzar este objetivo requiere de las mismas un cambio en sus modelos de producción, pasando de la producción en masa a la producción personalizada de productos. En el contexto del desarrollo de software, la ingeniería de líneas de productos software ha emergido como un enfoque efectivo en costes que se centra en el desarrollo de familias de productos similares, soportando al mismo tiempo un alto grado de personalización. Los modelos de variabilidad son utilizados para especificar las características comunes y variables a la familia de productos. Además, permiten modelar las restricciones entre características que todo producto debe satisfacer para ser considerado válido. A pesar de los beneficios de los modelos de variabilidad, construir y mantener dichos modelos puede ser una tarea compleja y laboriosa, especialmente para aquellos con un gran número de características y restricciones. Como resultado, el estudio de técnicas de razonamiento automático sobre modelos de variabilidad ha pasado a ser uno de los temas de investigación más importantes para la comunidad de las líneas de productos. Las técnicas automáticas de análisis puede ser clasificadas en dos grupos atendiendo al objetivo para el que han sido diseñadas: aquellas que se encargan de garantizar la corrección del modelo y aquellas que se encargan de dar soporte a la configuración de los distintos productos. Las primeras son generalmente llevadas a la práctica por medio de operaciones de análisis, las cuales son realizadas por medio de funciones predefinidas en motores lógicos, tales como SAT-solvers o librerías de diagramas de decisión binarios. El principal problema de esta estrategia consiste en que tal tipo de reutilización implica el consumo de grandes cantidades de tiempo. Este hecho unido al hecho de que algunas de estas operaciones requieren de múltiples llamadas a dichas funciones deriva en que esta estrategia presente graves problemas de escalabilidad. Con el fin de dar respuesta a este problema, en esta tesis proponemos nuevos algoritmos que directamente interactúan con la estructura de datos interna del diagrama de decisión binario utilizado para codificar el modelo de variabilidad. En concreto, nuestros algoritmos están específicamente diseñados para detectar aquellas características que son incluidas en todos lo productos válidos, aquellas otras que no pertenecen a ningún producto válido, el número de productos que incluyen una determinada característica, así como los conjuntos de características que una característica particular necesita incluir o excluir para ser incluida en algún producto válido. El segundo problema que abordamos en esta tesis tiene que ver con la configuración de productos. La configuración de productos en modelos de variabilidad no es una tarea trivial ya que requiere de una gran cantidad de decisiones acerca de qué características deben ser incluidas y cuales no, teniendo en cuenta que estas se encuentra interrelacionadas. Con el fin de acelerar este proceso, en esta tesis proponemos un nueva estrategia que trata de minimizar el numero de decisiones a tomar en promedio para configurar un producto. Esta estrategia, basada en el concepto de entropía de la teoría de la información, aprovecha el hecho de que ciertas decisiones pueden ser automáticamente derivadas de las decisiones tomadas previamente.
To compete in the global marketplace, manufacturers try to differentiate their products by focusing on individual customer needs. Fulfilling this goal requires companies to shift from mass production to mass customization. In the context of software development, software product line engineering has emerged as a cost-effective approach to developing families of similar products by supporting high levels of mass customization. Variability models are often used to specify the common and variable features of the products in one such family. Moreover, they model the inter-feature constraints which must be satisfied to guarantee the validity of the derived products. Despite the benefits of variability models, constructing and maintaining them can be a laborious task, especially in product lines with a large number of features and constraints. As a consequence, the study of automated techniques to reason on variability models has become an important research topic for the product line community. The aim of most automated techniques can be grouped in two classes: (i) ensuring the correctness of variability models, and (ii) providing guidance to derive products from a variability model. The former is usually put in the practise by means of analysis operations, which can be performed by black box reusing logic engines, such as SAT-solvers and binary decision diagram libraries. Unfortunately, such kind of reuse implies long computation times, and for some operations that need calling the logic engine an excessive amount of times, the approach does not scale. To overcome this problem, this thesis proposes new algorithms that directly deal with the binary decision decision diagram data structure encoding a variability model. In particular, our algorithms are specifically designed to detect those features that need to be included in all legal products, those ones that do not belong to any legal product, the number of products that include a particular feature, as well as the set of features that a particular feature needs to include or exclude to be part in any legal product. The second problem this thesis faces is related to product derivation. In complex variability models, deriving a valid product is not trivial task at all, since a lot of constraints between the features must be taken into account. To speed up product derivation, this thesis proposes a new approach that tries to minimise the number of configuration steps required on average to derive a whole product. Our approach, based on the information theory concept of entropy, takes advantage of the fact that, due to the inter-feature constraints, some decisions may be automatically derived from other decisions previously made.
© 2001-2024 Fundación Dialnet · Todos los derechos reservados