Praktikum Software Quality Engineering mit Eclipse WS14/15
Semester: | Wintersemester 2014/15 |
LP (ECTS): | 6 |
SWS: | 4 |
Studiengang: | Master Informatics, Diplom Informatics, Master Information Engineering, Diplom Information Engineering |
Ansprechpartner: | Philipp Merkle |
- Ort und Zeit der Lehrveranstaltung
unregelmäßig, siehe Beschreibungstext | |
Seminarraum 348 (Gebäude 50.34) |
- ILIAS-Bereich
- Seite im Vorlesungsverzeichnis
Anmeldung
Eine Anmeldung ist Voraussetzung für die Teilnahme. Es stehen 12 Seminarplätze zur Verfügung.
- Die Anmeldeliste liegt im Sekretariat Prof. Reussner (Raum 328, Geb. 50.34) aus
- Alternativ kann die Anmeldung per E-Mail erfolgen an sdq@ipd.uka.de
Themenvergabe
- Die verschiedenen Themen werden bei der Vorbesprechung vorgestellt, normalerweise in der ersten Vorlesungswoche
- Die Themenvergabe findet an einem späteren Termin statt, normalerweise in der zweiten Vorlesungswoche
- Die Themen werden entsprechend der Anmeldereihenfolge vergeben nach dem Prinzip first-come, first-served
Inhalt des Praktikums
Der Erfolg eines Software-Systems hängt entscheidend ab von dessen Qualität: einer hohen Reaktionsgeschwindigkeit, Stabilität, Robustheit und einer leichten Evolvierbarkeit, um nur einige zu nennen. Qualität lässt sich messen oder vorhersagen; entweder kurz vor Abschluss eines Softwareprojektes (nur um festzustellen, dass die Qualitätsanforderungen möglicherweise um Größenordnungen verfehlt werden) oder aber über die gesamte Entwicklung und Wartung hinweg. Letzterer Ansatz ermöglicht eine systematische, ingenieursmäßige Softwareentwicklung und bildet damit den Schwerpunkt dieses Praktikums.
In diesem Praktikum benutzen (und erweitern) Sie die Eclipse-Plattform und darauf aufbauende Werkzeuge aus Praxis und Forschung, um die Performance und weitere Qualitätseigenschaften von Software-Systemen zu bewerten und vorherzusagen. Die Praktikumsaufgaben sind praktisch orientiert und sind eine realitätsnahe Vorbereitung auf Aufgaben in der Forschung, aber auch in der Industrie.
Themenbereiche der Entwicklungsaufgaben:
- Model-Driven Software Development (MDSD)
- Eclipse Plugin-Entwicklung
- Benchmarking und Qualitätsvorhersage (Palladio)
- EMF (Eclipse Modeling Framework), oAW (openArchitectureWare), ...
Vorläufige Themen
Die nachfolgenden Themen dienen der Orientierung und können vereinzelt geändert werden oder ganz entfallen. Ebenso können weitere Themen hinzukommen. Die verbindliche Themenliste wird während der Vorbesprechung vorgestellt.
- Wiederholbare Simulationen mit Palladio: Simulationsausführung ohne Neugenerieren des Simulationscodes ermöglichen
- Themenbereiche (was lerne ich dabei?): Eclipse-Plugin-Konzept, textuelle Modell-zu-Code-Transformationen, Simulation
- PerOpteryx für Embedded Software
- Das modellbasierte Software-Architekturoptimierungswerkzeug PerOpteryx soll für die Optimierung eingebetteter Systeme angepasst werden. Dazu wird eine Modelltransformation von der für eingebettete Systeme verwendeten Repräsentation des Verhaltens einer Software-Komponente zur von PerOpteryx verwendeten Verhaltensbeschreibung entwickelt werden.
- Themenbereiche (was lerne ich dabei?): Modelltransformationen (z.B. QVT-O), Eclipse Modelling Framework, Verhaltensbeschreibungen von Komponenten
- Media Store: Performance Engineering einer JEE-basierten File Loader Applikation
- Media Store: Refactoring einer JEE-basierten File Loader Applikation
- Media Store: Evolution einer JEE-basierten File Loader Applikation (Verschlüsslung, Watermarking, ReEncoding)
- Implementierung eines Meta-Modells und Editors zur Formalisierung von Qualitätsanforderungen.
- Beschreibung: Implementierung eines Qualitätsmodells und einer intuitiven Benutzerschnittstelle zur Angabe von Performance-Anforderungen (z.B. Antwortzeiten, Durchsatz) von Software Systemen. Mit Hilfe des Editors soll es einem Entwickler, Architekt oder Anforderungsingenieur möglich sein, die Performance-Anforderungen in das Qualitätsmodell zu überführen (bzw. zu formalisieren). Das resultierende Qualitätsmodell wird dann im Weiteren Verlauf verwendet um Lösungen für Performance-Probleme vorzuschlagen.
- Einbindung von Laufzeit-Optimierungsalgorithmen in simulative Qualitätsvorhersagen für Software-Architekturen
- Der modellbasierte Software-Architektur-Simulator SimuLizar erlaubt es zur Entwurfszeit die Auswirkungen von Laufzeit-Anpassungen auf verschiedene Qualitätskriterien wie Performance vorherzusagen.
- Aktuell müssen dazu manuell in SimuLizar Regeln spezifiziert werden, die diese Anpassungen durchführen.
- Ziel: Entwurf und Umsetzung eines Schnittstellen-Mechanismus, über den sich bestehende Laufzeit-Optimierungs-Algorithmen an SimuLizar anbinden lassen.
- Themenbereiche (was lerne ich dabei?): Eclipse-Plugin-Konzept, textuelle Modelltransformationen, Simulation, Entwurf und Analyse selbstadaptiver Systeme
- Implementierung von Sarkar Metamodell-Metriken
- Metrics for Measuring the Quality of Modularization of Large-Scale Object-Oriented Software (S. Sarkar, IEEE)
- Smart-Grid Impactanalyse, Weiterentwicklung
- Performance-Prototyp für Model-Join, Anbindung an SoPeCo
- Datenhaltung und Visualisierung in PerOpteryx
- Ergebnisse der Performance-Vorhersage werden bisher nur aus einem veralteten Persistenzframework ausgelesen. Hier soll das neue Persistenzframework EDP2 angebunden werden
- Es wurde bereits eine Visualisierung basierend auf EDP2 im Rahmen von vorherigen Arbeiten implementiert. Diese kann nun verbunden werden.
- Themenbereiche (was lerne ich dabei?): Eclipse-Plugin-Konzept, Persistenzframework, Performance-Bewertung von Software-Architekturen, Visualisierung zur Entscheidungsunterstützung
- CoCoME: Erweiterung und Wartung einer Cloud-basierten JEE Architektur (Pick-up Shop)
- Überprüfung von Qualitätsanforderungen und Einschränkungen des Energieverbrauchs von Softwaresystemen
- Kontext: Rechnersysteme verbrauchen im Betrieb Energie. Die Energie wird in Rechenzentren in der Regel von einem hierarchischen Verteilersystem zur Verfügung gestellt.
- Die maximal zur Verfügung gestellte Leistung (Einheit: Watt) ist dabei Einschränkungen unterworfen. Wird sie überschritten, kann es im schlimmsten Fall zu Ausfällen des Systems kommen.
- Ziel: Entwurf und Umsetzung eines Konzepts zur Überprüfung von Einschränkungen auf dem Strom-Verteilersystems eines Rechenzentrums auf Architekturebene.
- Themenbereiche (was lerne ich dabei?): Eclipse-Plugin-Konzept, Simulation, Analyse von Software-Systemen, Kopplung verschiedener Analyseverfahren
- Überbrückung heterogener Sensoranbindungen mittels einer DSL und Codegenerierung
- Kontext: Sensoren in eingebetteten und vernetzten Systemen sind meist heterogen, deren Integration ist aufwändig. Die Kommunikation untereinander und mit weiteren Empängern erfolgt derzeit häufig manuel. Diese Überbrückung verschiedener Schnittstellen und Datenübertragungstechniken ist ineffizient und fehleranfällig.
- Ziel: Erster Schritt zur einheitliche Beschreibung der unterschiedlichen Sensordaten sowie der automatisierten Erzeugung der Kommunikationskomponenten zwischen Sensoren und Steuerungsgeräten.
- Relevante Technologien: EMF, Xtext/Xtend, M2M (e.g. QVT, ATL), M2T (e.g. Acceleo, Xpand)
Termine
Die Teilnahme an den folgenden Terminen ist verpflichtend für alle Teilnehmer am Praktikum. Alle weiteren Termine hängen ab vom gewählten Thema und werden direkt mit dem jeweiligen Betreuer vereinbart.
- Vorbesprechung und Vorstellung der Themen: Mittwoch, 22.10., 12:00 - 13:00 Uhr in Seminarraum 348 (Geb. 50.34, 3. OG, Informatik-Hauptgebäude)
- Themenvergabe: Dienstag, 28.10., 14:00 - ca. 14:15 Uhr in Seminarraum 348
- Weitere Termine finden individuell nach Vereinbarung mit Betreuern statt.
Formalia
- Bitte melden Sie sich im Sekretariat IPD Reussner (Zimmer 328, Geb. 50.34) an. Eine Anmeldung ist Voraussetzung für die Teilnahme.
- Es stehen 12 Praktikumsplätze zur Verfügung.
- Die Teilnahme an der Vorbesprechung und Vorstellung der Themen ist erforderlich.
- Weitere Termine finden individuell mit dem Betreuer nach Vereinbarung statt.
Unterlagen
Die Materialien werden auf http://sdqweb.ipd.kit.edu/lehre/WS1415-QEEcl/ für Sie bereit gestellt. Der Zugang ist passwortgeschützt (Benutzer: stud, das Passwort wird in der Vorbesprechung mitgeteilt).
Wichtige Links
Administratives
- Lesegruppe
- Praktikum Software Quality Engineering mit Eclipse WS14/15
- Praxis der Forschung: Automated Software Privacy Analysis - Teil 2 WS14/15
- Praxis der Forschung: Modellgetriebene Software-Entwicklung - Teil 2 WS14/15
- Praxis der Software-Entwicklung 12 WS14/15
- Seminar Sichtenbasierte Entwicklung Softwareintensiver Systeme WS14/15
- Vorlesung Modellgetriebene Software-Entwicklung WS14/15
- Vorlesung Programmieren WS14/15
- Vorlesung Software-Evolution WS14/15
- Vorlesung Softwaretechnik II WS14/15