Humboldt-Universität zu Berlin - Mathematisch-Naturwissenschaftliche Fakultät - Software Engineering

SQuAT

Suchstrategien für die Verbesserung von Qualitätseigenschaften im Softwareentwurf (2015-2017)

 

Der Entwurf von Softwaresystemen unter Berücksichtigung von Anforderungen an Qualitätseigenschaften - z.B. in Bezug auf Performance, Verfügbarkeit und Zuverlässigkeit - ist eine große Herausforderung. In der Regel existiert eine Vielzahl von Entwurfsalternativen, die die Anforderungen an die Qualitätseigenschaften zu unterschiedlichen Graden erfüllen. Abwägungen (engl. trade-offs) sind vorzunehmen, um geeignete Losungen zu finden. Dieses Optimierungsproblem kann als Suche durch einen n-dimensionalen Entwurfsraum gesehen werden, wobei jede Dimension einer betrachteten Qualitätseigenschaft entspricht. Werkzeugunterstützung ist unverzichtbar, um den Entwickler bei der Untersuchung des Entwurfsraums und der Suche nach geeigneten Lösungsalternativen zu unterstützen. Traditionell werden Optimierungsprobleme durch analytische oder exakte Methoden wie Lineare Programmierung gelöst. Aufgrund der Komplexitat und der Größe von Softwaresystemen, die zu riesigen Lösungsräumen und zu aufwendig zu berechnenden Bewertungsfunktionen führen, ist dieses Vorgehen in der Praxis jedoch meist nicht handhabbar. Im Laufe der Jahre wurden zahlreiche Ansätze und Werkzeuge zur Entwurfsoptimierung fur einzelne Qualitätseigenschaften entwickelt und verbessert.


Ziel des internationalen Verbundprojekts SQuAT ist der Wissenstransfer und die Ausnutzung von Synergien zwischen den beteiligten Partnern Humboldt-Universität zu Berlin, Universität Stuttgart und die Universidad Nacional del Centro de Buenos Aires (UNICEN), um innovative semiautomatische Techniken zur gleichzeitigen Handhabung verschiedener Qualitatseigenschaften in der Softwareentwurfsoptimierung zu untersuchen. Im Fokus stehen insbesondere die folgenden vier Aspekte: i.) Verteilte Suchstrategien, ii.) Modularisierung von Entwurfswissen, iii.) Einbeziehung von Benutzerpraferenzen und Ungewissheit (engl. uncertainty) und iv.) die Anwendung von Verhandlungstechniken zur Abwagung von Qualitätseigenschaften. Die kombinierte Anwendung dieser Aspekte, die in der Literatur bisher wenig untersucht wurde, kann die Evaluation des Entwurfsraum aus unserer Sicht verbessern. Grundlage der gemeinsamen Arbeit sind u.a. die in den Arbeitsgruppen entwickelten Werkzeuge (z.B. Designbots, ArcheOpterix).

 

Entwickelt wird ein Ansatz mit dem Akronym QADSP (Quality-Attribute trade-offs as a Distributed Search Problem), welcher Entwurfswissen basierend auf den unterschiedlichen Qualitätseigenschaften unterteilt. Die Suche nach möglichen Lösungen erfolgt verteilt, basierend auf einer Menge von Modulen, die jeweils eine Optimierung auf Basis einer einzelnen Qualitätseigenschaft vornehmen. Die Lösungen werden zwischen den Modulen ausgetauscht, um optimale globale Lösungen fur alle betrachteten Qualitätseigenschaften zu finden. Zusätzlich werden Benutzerpräferenzen wie Annahmen oder Erfahrungen von Entwicklern, z.B. bezogen auf Entwurfsmuster, als "weiche" Nebenbedingungen einbezogen. Es erfolgt ein Austausch zwischen den beteiligten Arbeitsgruppen, um Synergien zwischen den auf allen Seiten existierenden Ansätzen und Werkzeugen auszunutzen. Die entwickelten Techniken werden prototypisch implementiert und in gängige Werkzeuge integriert. Die quantitative Bewertung der entwickelten Techniken erfolgt auf Basis ausgewählter Evaluationsszenarien. Die Verbreitung der Ergebnisse erfolgt u.a. durch Veröffentlichung der entwickelten Werkzeuge unter eine Open-Source-Lizenz sowie durch Publikationen in einschlägigen wissenschaftlichen Konferenzen und Zeitschriften.

 

Beteiligte Personen:

 

BMBF_RGB_Gef_M.jpg  SQuAT wird durch das BMBF unter der Fördernummer 01DN15014 gefördert.