SQuAT
Search Techniques for Managing Quality Attribute Trade-offs in Software Design Optimizations (2015-2017)
Designing a software system in such a way that it meets the main quality attribute requirements desired by the systems stakeholders (e.g. performance, modifiability, reliability) is a complex challenge. Usually a multitude of design choices exists, which satisfy the same requirements differently, making trade-offs inevitable to find suitable solutions. This process can be seen as a search through a large design space, in which the solution space is n-dimensional and each dimension represents a different quality attribute to be optimized. Tool support is vital to assist engineers in exploring the design space and selecting "good-enough" solutions. Traditionally such problems are being solved by analytical or exact methods like linear programming. In actuality that approach is not actionable, for the size and complexity of software systems leads to immense solution spaces and thus is too extensive to be calculated. Over the last years several approaches and tools have been developed in order to improve the design of some quality attributes.
In SQuAT the Humboldt-Universität zu Berlin, University of Stuttgart and the Universidad Nacional del Centro de Buenos Aires (UNICEN) jointly investigate new semi-automatied techniques for managing quality attribute trade-offs in software design optimizations, particularily focusing on i.) distributed search strategies, ii.) modularization of design knowledge, iii.) incorporation of user preferences and uncertainty and iv.) application of negotiation techniques for managing quality attribute trade-offs. The combined application of these aspects - which has yet to be researched - may improve the evaluation of the design space. Basis for the joint research are - among others - the in the different groups developed tools (i.e. Designbots, ArcheOpterix).
Under the acronym QADSP (Quality-Attribute trade-offs as a Distributed Search Problem) we develop an approach, which classifies design knowledge based on different quality attributes. The search for possible solutions is a distributed process, based on a set of modules, which each optimize a single quality attribute. Promising solutions are exchanged between the modules, to get globally optimal solutions for all quality attributes considered. Additionally, user preferences such as assumptions and experience of developers are considered, for instance the ones relating to design patterns are included as "soft" side constraints. An exchange between the participating research groups ensures to make use of synergies between existing tools and approaches. The developed techniques are implemented into prototypes and then integrated into existing tools. Based on selected evaluation scenarios the developed techniques are quantitatively evaluated. Our results are published in pertinent scientific journals and conferences; our tools will be made public under an open source license.
Persons:
- Prof. Dr. Lars Grunske
- Prof. Dr. Jorge Andres Diaz-Pace
- Dr.-Ing. Andre van Hoorn
SQuAT is sponsored by the German Federal Ministry of Education and Research under Grant No. 01DN15014.