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.

On the Effectiveness, Efficiency and Perceived Utility of Architecture Evaluation Methods: A Replication Study

In this paper we describe the results of a replication study for comparing the effectiveness, efficiency and perceived utility of the quality-driven product architecture derivation and improvement method (QuaDAI), an architecture derivation and evaluation method that we presented in recent works, as opposed to the Architecture Tradeoff Analysis Method (ATAM), a well-known architectural evaluation method used in industry. The results of the original experiment (conducted with undergraduate students) showed that QuaDAI was found to be more efficient and was perceived as easier to use than ATAM. However, although QuaDAI performed better than ATAM, we could not confirm the other variables, as the differences between both methods were not statistically significant. Therefore the goal of the replication was to verify these findings with a group of more experienced students. In the replication study QuaDAI also performed better than ATAM, but as opposed to the original study, all the variables proved to be statistically significant.