Praxis der Forschung: Inkrementell extrahierte Performance Modelle von Middleware-Komponenten WS1819
Semester: | Wintersemester 2018/19 |
LP (ECTS): | 32 |
SWS: | 16 |
Studiengang: | Master Informatics |
Ansprechpartner: | Manar Mazkatli |
- Ort und Zeit der Lehrveranstaltung
unbekannt | |
unbekannt |
- ILIAS-Bereich
- Seite im Vorlesungsverzeichnis
Inhalt
Hintergrund. Während der Entwicklung/dem Betrieb von Software ist es schwer zu vorhersagen, wie ein System auf Änderungen in seiner Struktur, Verwendung oder Umgebung reagieren würde. Performanzmodelle können für die Vorhersage der Effekte solcher Änderungen verwendet werden. Es ist jedoch teuer, präzise Vorhersagemodelle manuell zu erstellen. In der Architecture-Driven Requirements Engineering Group (ARE) arbeiten wir an einem Ansatz für die automatisierte Extraktion parametrisierter Performanzmodelle aus Quellcode, die jedes Mal aktualisiert werden, wenn sich der Quellcode oder die Systemumgebung ändert. Da dieser Prozess während des Softwareentwicklungsprozesses jederzeit die Verfügbarkeit aktueller Modelle sicherstellt, kann er den DevOps-Softwareentwicklungsprozess bei schnellen modellbasierten Tests und Performanzvorhersagen unterstützen, wodurch ermöglicht werden soll, dass automatisierte Releasepipelines zuverlässige neue Versionen in wesentlich kürzeren Zyklen freigeben können.
Problem. Derzeit konzentrieren wir uns auf die inkrementelle Extraktion von Performanzmodellen aus Quellcode und auf die gezielte Quellcode-Instrumentierung, sowie die Überwachung des Systems, um Systemmodelle zu aktualisieren und zu kalibrieren. Diese Extraktion unterscheidet nicht zwischen der Kommunikation innerhalb des Systems und der Verwendung "externer" Komponenten wie Bibliotheken, Middleware oder Frameworks für die Kommunikation. Dies kann nachteilig sein, wenn beispeielerweise die Überwachung dieser Dienste nicht durch Quellcode-Instrumentierung erfolgen kann, da der Code nicht verfügbar ist. Außerdem ist es teilweise möglich, externe Komponenten über vorhandene spezifische Überwachungsschnittstellen ohne zusätzlichen Überwachungsaufwands zu überwachen und kalibrieren. Momentan werden derartige Überwachungsschnittstellen nicht verwendet.
Aufgaben. Aus den oben genannten Gründen möchten wir den Modellextraktion-Prozess erweitern, um Anrufe an externe Komponenten zu erkennen und sie dann in entsprechende Darstellungen im Performanzmodell zu transformieren. Diese sollen anders behandelt werden, um zu entscheiden, welche Teile des Systems instrumentiert oder überwacht werden sollen und wie die Messungen für die Kalibrierung verwendet werden können. Ihre Aufgabe ist es, eine flexible Methode für diese Einarbeitung zu entwickeln und sie anhand eines Beispielsystems zu evaluieren.
Betreuer
Format
Das Format Praxis der Forschung ermöglicht es ca. 1 bis 3 MasterstudentInnen in einer sogenannten Projektgruppe für zwei Semester an einem gemeinsamen Thema zu arbeiten, um selbst zu erfahren wie Forschungsprojekte im Team durchgeführt werden und wie wissenschaftliche Arbeit geleistet wird. Informationen zu dem allgemeinen Format und allen Projektgruppen finden sich auf der Homepage des Lehrstuhl Beckert zur Gesamtveranstaltung.
Im Wintersemester 2018/19 findet das zweite Semester der Veranstaltung statt.
Notwendige Voraussetzungen
- Interesse und Motivation
- Fähigkeit, mit anderen Studierenden im Team zu arbeiten
- Programmierkenntnisse in Java
Wir bieten:
- Abdeckung verschiedener Interessensgebiete
- Erfahrungen in der Arbeit mit modernen Entwicklungswerkzeugen
- Mitarbeit an zentralem, aktuellem Forschungsthema
- Möglichkeit zur wissenschaftlichen Publikation der Ergebnisse
- Bei erfolgreicher Publikation: Möglichkeit diese auf der jeweiligen Konferenz zu präsentieren
Anrechnung & Weiteres Studium
Die Ergebnisse der Projektgruppe sollen als Grundlage für weitere Forschungsprojekte dienen und können auch der Ausgangspunkt einer anschließenden Masterarbeit sein. Studierende haben außerdem die Möglichkeit über die 24 ECTS der Projektgruppe das gesamte Vertiefungsfach "Softwaretechnik" bis auf 5 ECTS, die durch Vorlesungen erbracht werden müssen, abzudecken.
Links
- Homepage der Gesamtveranstaltung: https://formal.iti.kit.edu/teaching/projektgruppe/
- Lesegruppe
- Praktikum Ingenieursmäßige Software-Entwicklung WS18/19
- Praxis der Forschung: Abbildung natürlicher Sprache auf bestehende Modellstrukturen WS1819
- Praxis der Forschung: Inkrementell extrahierte Performance Modelle von Middleware-Komponenten WS1819
- Praxis der Software-Entwicklung WS18/19
- Seminar Daten in software-intensiven technischen Systemen – Modellierung – Analyse – Schutz WS18/19
- Vorlesung Modellgetriebene Software-Entwicklung WS18/19
- Vorlesung Programmieren WS18/19
- Vorlesung Programmierparadigmen WS18/19
- Vorlesung Software-Evolution WS18/19
- Vorlesung Softwaretechnik II WS18/19