4 research outputs found

    Quality-aware architectural model transformations in adaptive mashups user interfaces

    Get PDF
    The final publication is available at IOS Press through http://dx.doi.org/10.3233/FI-2016-0000Mashup user interfaces provides their functionality through the combination of different services. The integration of such services can be solved by using reusable and third-party components. Furthermore, these interfaces must be adapted to user preferences, context changes, user interactions and component availability. Model transformation is a useful mechanism to address this adaptation but normally these operations only focus on the functional requirements. In this sense, quality attributes should be included in the adaptation process to obtain the best adapted mashup user interface. This paper proposes a generic quality-aware transformation process to support the adaptation of software architectures. The transformation process has been applied in ENIA, a geographic information system, by constructing a specific quality model for the adaptation of mashup user interfaces. This model is taken into account for evaluating the different transformation alternatives and choosing the one that maximizes the quality assessments. The approach has been validated by a set of adaptation scenarios that are intended to maximize different quality factors and therefore apply distinct combinations of metrics.Peer ReviewedPostprint (author's final draft

    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

    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

    Design Guidelines for the Development of Quality-Driven Model Transformations

    No full text
    corecore