Navegación

Búsqueda

Búsqueda avanzada

Variability Models for Generating Efficient Configurations of Functional Quality Attributes

Context: Quality attributes play a critical role in the architecture elicitation phase. Software Sustainability and energy efficiency is becoming a critical quality attribute that can be used as a selection criteria to choose from among different design or implementation alternatives. Energy efficiency usually competes with other non-functional requirements, like for instance, performance.Objective: This paper presents a process that helps developers to automatically generate optimum configurations of functional quality attributes in terms of energy efficiency and performance. Functional quality attributes refer to the behavioral properties that need to be incorporated inside a software architecture to fulfill a particular quality attribute (e.g., encryption and authentication for the security quality attribute, logging for the usability quality attribute).Method: Quality attributes are characterized to identify their design and implementation variants and how the different configurations influence both energy efficiency and performance. A usage model for each characterized quality attribute is defined. The variability of quality attributes, as well as the energy efficiency and performance experiment results, are represented as a constraint satisfaction problem with the goal of formally reasoning about it. Then, a configuration of the selected functional quality attributes is automatically generated, which is optimum with respect to a selected objective function.Results: Software developers can improve the energy efficiency and/or performance of their applications by using our approach to perform a richer analysis of the energy consumption and performance of different alternatives for functional quality attributes. We show quantitative values of the benefits of using our approach and discuss the threats to validity.Conclusions: The process presented in this paper will help software developers to build more energy efficient software, whilst also being aware of how their decisions affect other quality attributes, such as performance.

Interactions between environmental sustainability goals and software product quality: a mapping study

La sostenibilidad es un requisito de calidad que debe tenerse en cuenta a la hora de desarrollar el software. Sin embargo, es posible que existan ciertos conflictos entre el resto de características de calidad que tiene que cumplir un producto software y la sostenibilidad. Teniendo esto en cuenta, en este artículo se ha realizado un estudio de las interacciones existentes entre las características de calidad del producto software y la sostenibilidad dentro del contexto de las aplicaciones software. Para ello, se ha realizado una SMS (Systematic Mapping Study) obteniendo como resultado que la interacción entre la eficiencia del rendimiento y la eficiencia energética es la más estudiada y analizada y que esa interacción es bastante positiva. Además, parece existir una interacción positiva entre la fiabilidad y la usabilidad con respecto a la eficiencia energética, por el contrario, la seguridad tiene un impacto negativo en la eficiencia energética. Por otro lado, la idoneidad funcional y la mantenibilidad pueden tener tanto un impacto positivo como negativo en los diferentes objetivos de la sostenibilidad. En definitiva, se ha detectado que es necesario realizar un esfuerzo mayor de investigación para determinar el impacto que existe en las interacciones entre las características tradicionales de calidad del software y la sostenibilidad. Finalmente, destacar que las propuestas existentes deberían ser validadas en entornos industriales.