News

Interaktive Visualisierung von Software für räumlich verteilte Teams

Das Technologie-Zentrum Informatik und Informationstechnik (TZI) der Universität Bremen untersucht im Rahmen eines DFG-geförderten Projekts neue Verfahren zum besseren Verstehen komplexer Software.

Ein umfassender Überblick über den Aufbau und die Arbeitsweise einer Software ist für deren Wartung und Weiterentwicklung essenziell. Räumlich verteilt arbeitenden Teams fällt es jedoch oft schwer, ein gemeinsames Verständnis komplexer Projekte zu entwickeln. Das Technologie-Zentrum Informatik und Informationstechnik (TZI) der Universität Bremen untersucht daher in einem neuen Forschungsprojekt verschiedene Möglichkeiten, kollaborative Verstehensprozesse zu unterstützen. In dem zweijährigen Projekt, das von der Deutschen Forschungsgemeinschaft (DFG) gefördert wird, setzt die Arbeitsgruppe Softwaretechnik unter Leitung von Prof. Rainer Koschke auf neue Medien und Technologien der Softwarevisualisierung.

Missverständnisse und Fehlinterpretationen verringern

Beim kollaborativen Verstehen versuchen mehrere Beteiligte gemeinsam, sich ein Modell des Aufbaus und des Verhaltens eines Programms zu erarbeiten. „Dabei können sie wechselseitig von den unterschiedlichen Perspektiven und Expertisen anderer Gruppenmitglieder profitieren“, erklärt Koschke. „Meistens ist es hilfreich, ein gemeinsames Modell zu externalisieren – also für alle sichtbar und explizit zu machen, um die Gefahr von Missverständnissen und Fehlinterpretationen zu verringern.“

Häufig erstellen die Beteiligten in solchen Situationen spontane Skizzen auf dem Whiteboard, beispielsweise vom statischen Aufbau eines Programms. „Nicht selten werden die diskutierten Sachverhalte nur aus dem Gedächtnis der Beteiligten rekonstruiert, was in vielen Fällen eine ungenaue, manchmal sogar unzutreffende Idealisierung wiedergibt“, so Koschke. Helfen können automatisierte Programmanalysen, allerdings müssen deren Ergebnisse häufig erst zusammengefasst und abstrahiert werden, um verständlich zu sein.

Im aktuellen Projekt wollen die Wissenschaftler sowohl herkömmliche Desktop-Hardware und Tablet-Geräte als auch fortschrittlichere Hardware für virtuelle Realität (VR) und erweiterte Realität (AR, engl. „augmented reality“) so integrieren, dass Mitglieder eines Entwicklungsteams ein einheitliches und zutreffendes Bild ihrer Software über räumliche Distanzen hinweg bekommen. Die Visualisierung von Software für Gruppen statt einzelnen Betrachtern ist bis jetzt wenig erforscht.

Dreidimensionale Darstellungen in „Code Cities“

Das Ziel besteht nicht darin, völlig neue Formen der Visualisierung zu erschaffen. Koschke und sein Team wollen stattdessen auf dem Konzept der sogenannten „Code Cities“ aufbauen. Dabei lassen sich verschiedene Metriken kombinieren, um eine dreidimensionale Landschaft zu bilden, die einer amerikanischen Innenstadt mit gitterförmig angeordneten Hochhäusern ähnelt.

„Eine kollaborative Visualisierung sollte es allen Nutzerinnen und Nutzern erlauben, gleichzeitig von verschiedenen Perspektiven aus auf die Software zu blicken, unterschiedliche Details in den Fokus zu nehmen und individuell mit der Visualisierung zu interagieren“, erläutert Koschke. „Dabei sollten die Nutzer sich auch in der Visualisierung wechselseitig sehen können, damit sie erkennen können, welche Perspektive ein anderer gerade einnimmt, um Aussagen richtig einordnen zu können. Idealerweise sollte dabei auch nonverbale Kommunikation möglich sein.“

Die Ergebnisse des Projekts werden in empirischen Langzeitstudien mit den Unternehmen Axivion GmbH (Stuttgart), Contact Software GmbH (Bremen) und Viessman Elektronik GmbH (Allendorf/Eder) erprobt. Das TZI wird die Forschungsdaten darüber hinaus in einer Open-Source-Lizenz öffentlich zur Verfügung stellen.

Text: Axel Kölling

 

Weitere Informationen: 

https://www.uni-bremen.de/tzi

Fragen beantwortet:

Prof. Dr. Rainer Koschke
Tel. 0421 218-64481
E-Mail: koschkeprotect me ?!uni-bremenprotect me ?!.de

Mitglieder eines IT-Projektteams können sich in der virtuellen Realität treffen und ihre Software als „Code City“ visualisieren. So können sie beispielsweise die Struktur des Codes oder die Beziehungen zwischen verschiedenen Bausteinen darstellen und diskutieren