Designing a software system in such a way that it meets the main quality-attribute requirements desired by the system stakeholders (e.g., performance, modifiability, reliability, among others) is a complex, challenging and error-prone activity, even for experienced software engineers. A factor that contributes to this complexity is the existence of multiple alternative solutions that satisfy the same requirements, making tradeoffs inevitable. 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. Over the last years, several tools usually based on heuristic search techniques have been developed. This research has been focused on improving the tooling capabilities but has paid less attention to the quality-attribute tradeoffs of the solutions.
In SQuAT, the University of Stuttgart and the Universidad Nacional del Centro de Buenos Aires (UNICEN) jointly investigate new semi-automated techniques for managing quality-attribute tradeoffs in software design optimizations, particularly 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 tradeoffs.
Dr.-Ing. Andre van Hoorn (PI/contact)
SQuAT is sponsored by the German Federal Ministry of Education and Research under Grant No. 01DN15014.