Unterstützung bei der Entwicklung von CIPM/Java-Modell

Aus SDQ-Wiki
Ausschreibung (Liste aller Ausschreibungen)
Typ Hilfskräfte
Aushang Aushang CIPM JaMoPP 2023-11-10.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 und Leistungsmodelle schnell, sofern es welche gibt. 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 den Extended Java Model Parser and Printer (JaMoPP) als Java-Codemodell und das PCM als Leistungsmodell. In früheren Arbeiten wurden Teile der Pipeline prototypisch implementiert. Bestimmte Integrationen, Funktionaliäten und Erweiterungen in CIPM und JaMoPP fehlen, für deren Entwicklung wir Unterstützung suchen.

Aufgabenstellung

Die Entwicklung von CIPM/JaMoPP 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
  • Implementierung von Tests