6 research outputs found

    Quality aware software product line engineering

    Get PDF

    Integration of Quality Attributes in Software Product Line Development

    Full text link
    Different approaches for building modern software systems in complex and open environments have been proposed in the last few years. Some efforts try to apply Software Product Line (SPL) approach to take advantage of the massive reuse for producing software systems that share a common set of features. In general quality assurance is a crucial activity for success in software industry, but it is even more important when talking about Software Product Lines since the intensive reuse of assets makes the quality attributes (a measurable physical or abstract property of an entity) of the assets to be transmitted to the whole SPL scope. However, despite the importance that quality has in software product line development, most of the methodologies being applied in Software Product Line Development focus only on managing the commonalities and variability within the product line and not giving support to the non--¿ functional requirements that the products must fit. The main goal of this master final work is to introduce quality attributes in early stages of software product line development processes by means of the definition of a production plan that, on one hand, integrates quality as an additional view for describing the extension of the software product line and, on the other hand introduces the quality attributes as a decision factor during product configuration and when selecting among design alternatives. Our approach has been defined following the Model--¿ Driven Software Development paradigm. Therefore all the software artifacts defined had its correspondent metamodels and the processes defined rely on automated model transformations. Finally in order to illustrate the feasibility of the approach we have integrated the quality view in an SPL example in the context of safety critical embedded systems on the automotive domain.González Huerta, J. (2011). Integration of Quality Attributes in Software Product Line Development. http://hdl.handle.net/10251/15835Archivo delegad

    Achieving Autonomic Computing through the Use of Variability Models at Run-time

    Full text link
    Increasingly, software needs to dynamically adapt its behavior at run-time in response to changing conditions in the supporting computing infrastructure and in the surrounding physical environment. Adaptability is emerging as a necessary underlying capability, particularly for highly dynamic systems such as context-aware or ubiquitous systems. By automating tasks such as installation, adaptation, or healing, Autonomic Computing envisions computing environments that evolve without the need for human intervention. Even though there is a fair amount of work on architectures and their theoretical design, Autonomic Computing was criticised as being a \hype topic" because very little of it has been implemented fully. Furthermore, given that the autonomic system must change states at runtime and that some of those states may emerge and are much less deterministic, there is a great challenge to provide new guidelines, techniques and tools to help autonomic system development. This thesis shows that building up on the central ideas of Model Driven Development (Models as rst-order citizens) and Software Product Lines (Variability Management) can play a signi cant role as we move towards implementing the key self-management properties associated with autonomic computing. The presented approach encompass systems that are capable of modifying their own behavior with respect to changes in their operating environment, by using variability models as if they were the policies that drive the system's autonomic recon guration at runtime. Under a set of recon guration commands, the components that make up the architecture dynamically cooperate to change the con guration of the architecture to a new con guration. This work also provides the implementation of a Model-Based Recon guration Engine (MoRE) to blend the above ideas. Given a context event, MoRE queries the variability models to determine how the system should evolve, and then it provides the mechanisms for modifying the system.Cetina Englada, C. (2010). Achieving Autonomic Computing through the Use of Variability Models at Run-time [Tesis doctoral no publicada]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/7484Palanci

    Addressing quality attributes in domain analysis for product lines

    No full text
    10.1049/ip-sen:20050008IEE Proceedings: Software153261-73IPSE

    Derivación, Evaluación y Mejora de la Calidad de Arquitecturas Software en el Desarrollo de Líneas de Producto Software Dirigido por Modelos

    Full text link
    En los últimos años se han propuesto diferentes aproximaciones para el desarrollo de sistemas altamente complejos. Algunos esfuerzos intentan aplicar la aproximación de Líneas de Producto Software tratando de sacar partido de la reutilización masiva para producir sistemas software que comparten un conjunto común de características. Una Línea de Producto Software (LPS) es un conjunto de sistemas software que comparten un conjunto de características comunes que satisfacen las necesidades específicas de un segmento de mercado particular y que son desarrollados a partir de un conjunto de activos software comunes de un modo preestablecido [6]. El desarrollo de una LPS consta de dos procesos básicos: la Ingeniería del Dominio, donde se establece cuáles son las partes comunes y las variables y se construye un conjunto de activos (product¿s line core assets) como partes de los sistemas software a desarrollar, y la Ingeniería de la Aplicación, donde los core assets son reutilizados sistemáticamente para derivar productos específicos. De este modo se reducen costes y tiempo de desarrollo. En el desarrollo de líneas de producto se presentan dos arquitecturas software que juegan dos roles diferenciados; i) la arquitectura de la línea de producto que da soporte a todas los posibles productos que pueden ser obtenidos a partir de la línea de producto y que cuenta con los mecanismos de variabilidad necesarios para cubrir toda la gama de productos y ii) la arquitectura de producto, que es creada a partir de la arquitectura de la línea de producto ejerciendo los mecanismos de variabilidad, para que esta se adapte a los requisitos del producto en desarrollo. En general, el aseguramiento de la calidad del producto es una actividad crucial para el éxito de la industria del software, pero es, si cabe, más importante cuando se trata del desarrollo de líneas de producto software, dado que la reutilización masiva de core assets hace que los atributos de calidad (propiedades físicas o abstractas de un artefacto software) de los core assets impacten en la calidad de todos los productos de una línea de producto. Este hecho es de especial relevancia cuando tratamos con la arquitectura software, que es el core asset mas critico en el desarrollo de líneas de producto. La arquitectura software es la vía para conseguir el cumplimiento de los requisitos no funcionales de nuestro producto, por lo que asegurar que estos requisitos se cumplen durante el proceso de derivación de la arquitectura es una actividad crítica en el proceso de desarrollo. El desarrollo de líneas de producto va, en la mayoría de los casos, ligada a la aplicación del paradigma de desarrollo dirigido por modelos. El Desarrollo de Software Dirigido por Modelos (DSDM) que promueve el uso de modelos durante a lo largo de todo el proceso de desarrollo de software, permitiendo que estos modelos puedan ser transformados sucesivamente hasta la obtención del producto final. En la literatura no se encuentran propuestas que, de forma completa, sistemática y automatizada, permitan obtener arquitecturas de producto software que cumplan una serie de requisitos de calidad. El presente trabajo de investigación pretende la mejora del contexto anterior proponiendo el método QuaDAI (Quality Driven Architecture Derivation and Improvement), un método de derivación, evaluación y mejora de la calidad de arquitecturas software en el Desarrollo de Líneas de Producto Dirigido por Modelos mediante la definición de un artefacto (el multimodelo) y de un proceso dirigido por transformaciones que permite automatizar un proceso (el de derivación, evaluación y mejora) de por si altamente complejo. Este método va dirigido a empresas de desarrollo de software que utilice el paradigma de LPS y que pretendan introducir técnicas automatizadas de aseguramiento de calidad y para investigadores interesados en el campo de las arquitecturas software, líneas de producto y desarrollo dirigido por modelos.González Huerta, J. (2014). Derivación, Evaluación y Mejora de la Calidad de Arquitecturas Software en el Desarrollo de Líneas de Producto Software Dirigido por Modelos [Tesis doctoral no publicada]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/36448TESI
    corecore