Unterstützung bei der Entwicklung der CIPM-Pipeline

Aus SDQ-Wiki
Ausschreibung (Liste aller Ausschreibungen)
Typ Hilfskräfte
Aushang Aushang CIPM 2023-03-20.pdf
Betreuer Wenden Sie sich bei Interesse oder Fragen bitte an:

Martin Armbruster (E-Mail: martin.armbruster@kit.edu, Telefon: +49-721-608-45942), Manar Mazkatli (E-Mail: manar.mazkatli@kit.edu, Telefon: +49-721-608-4-5940)

Motivation

Im Laufe der Softwareentwicklung veralten bestehende Softwarearchitekturen schnell, sofern es welche gibt. Handelt es sich bei dem Architekturmodell auch um ein Leistungsmodell (wie das Palladio Component Model (PCM)), können mittels Leistungsvorhersagen z. B. Entwurfsalternativen untersucht werden. Durch den manuellen Aufwand für die Aktualisierung der Modelle wird die Nutzung solcher Modelle eingeschränkt.

Der Continuous Integration of Performance Models (CIPM) Ansatz definiert eine automatisch ausgeführte CI-Pipeline, um den manuellen Aufwand zu reduzieren. Dabei werden für jeden Commit die Code-Änderungen extrahiert, auf ein Code-Modell aufgespielt und damit ein Leistungsmodell auf Architekturebene aktualisiert. Danach werden die geänderten Code-Teile adaptiv instrumentiert und bei einer Ausführung gemessen, um die entsprechenden Leistungsmodellparameter zu kalibrieren und eine Leistungsvorhersage zu ermöglichen.

Die Realisierung des CIPM-Ansatzes verwendet den Vitruvius-Ansatz für die Konsistenzhaltung der Modelle sowie ein Java-Codemodell und das PCM als Leistungsmodell. In früheren Arbeiten wurden Teile der Pipeline prototypisch implementiert. Bestimmte Integrationen, Funktionaliäten und Erweiterungen fehlen, für deren Entwicklung wir Unterstützung suchen.

Aufgabenstellung

Die Entwicklung der CIPM-Pipeline umfasst die folgenden möglichen Themen, die in Absprache priorisiert und ausgesucht werden können:

  • Erweiterungen um neue Funktionalitäten und von externen und/oder internen APIs
  • Wartung der bestehenden Infrastruktur
  • Refactorings, Dokumentation, Fehlerbehebungen zur Verbesserung der Qualität