Praktikum Ingenieurmäßiger Software-Entwurf SS07
Hier finden Sie Materialien zum Praktikum "Ingenieurmäßiger Software-Entwurf" aus dem Sommersemester 2007.
Aktuell
-/-
Allgemeine Informationen
In der Automobil- und Elektronikbranche ist es seit Jahrzehnten selbstverständlich: Ingenieurmäßiges Vorgehen beim Entwerfen von Systemen. Bereits in der Planungsphase können damit Aussagen über die Auswirkungen von Entwurfsentscheidungen getroffen werden.
In diesem Praktikum lernen Sie, auf Basis aktueller Forschungsarbeiten und neuester Werkzeuge Software-Systeme so zu entwerfen, dass Sie bereits zum Zeitpunkt des Entwurfs Aussagen über die Qualität der später implementierten Software treffen können.
Inbesondere werden dabei betrachtet:
- Systematische Entwicklung von Software-Systemen
- Entwurf nach Qualitätseigenschaften
- Sizing, Performanz, Skalierbarkeit, Zuverlässigkeit
- Anwendung des Palladio Component Model
Praktikumsmaterialien
Die Materialien werden auf http://sdqweb.ipd.uni-karlsruhe.de/lehre/SS07-ISE für Sie bereit gestellt und sind unten verlinkt. Der Zugang ist passwortgeschützt; Benutzername: stud. Das Passwort wird Ihnen in der Vorlesung mitgeteilt.
Vorlesung
Übersicht über die geplanten Termine (Update: 19.04.; bei den Mittwochs-Terminen hatte sich ein Fehler eingeschlichen)
Nr. | Termin | Thema | Folien |
---|---|---|---|
1. | 17.04. | Vorlesung: Einführung, Grundlagen | 1 auf 1, 3 auf 1, 6 auf 1 |
2. | 25.04., 17:30-19:00, SR 301 | Vorlesung: Grundlagen | 1 auf 1, 3 auf 1, 6 auf 1 |
3. | 27.04., 9:45-11:30, Pool 356 | Aufnahmetest/Fragebogen | - |
4. | 02.05., 17:30-19:00, SR 301 | Tool-Session, Demo | - |
5. | 04.05., 9:45-11:30, Pool 356 | Test: Was ist eine Komponente, Rückgaben Übungsblatt 1, Bearbeitung Übungsblatt 2 |
- |
4. | 09.05., 17:30-19:00, SR 301 | Vorlesung: Einführung SPE-ED | 1 auf 1 |
5. | 11.05., 9:45-11:30, Pool 356 | Rückgabe Übungsblatt 2, Bearbeitung Übungsblatt 3 |
- |
6. | 16.05., 17:30-19:00, SR 301 | Vertiefung SPE-ED | 1 auf 1 |
7. | 18.05., 9:45-11:30, Pool 356 | Rückgabe Übungsblatt 3, Bearbeitung Übungsblatt 4 |
- |
8. | 23.05., 17:30-19:00, SR 301 | PCM Einführung und Repositories | 1 auf 1 |
9. | 25.05., 9:45-11:30, Pool 356 | Kurztest, Rückgabe Übungsblatt 4, Bearbeitung Übungsblatt 5 |
- |
10. | 30.05., 17:30-19:00, SR 301 | PCM SEFF | 1 auf 1 |
11. | 01.06., 9:45-11:30, Pool 356 | Rückgabe Übungsblatt 5, Bearbeitung Übungsblatt 6 |
- |
12. | 06.06., 17:30-19:00, SR 301 | PCM Parameter | 1 auf 1 |
13. | 08.06., 9:45-11:30, Pool 356 | Kurztest, Rückgabe Übungsblatt 6, Bearbeitung Übungsblatt 7a |
- |
14. | 13.06., 17:30-19:00, SR 301 | PCM Software-Architekt und System Deployer | 1 auf 1 |
15. | 20.06., 17:30-19:00, Pool 356 | Rückgabe Übungsblatt 7, Bearbeitung 8 | - |
16. | 22.06., 9:45-11:30, SR 348 | Kurztest, PCM Domain Expert and Result Interpretation | 1 auf 1 |
17. | 29.06., 9:45-11:30, Pool 356 | Rückgabe Übungsblatt 8a und b, Wrapup | 1 auf 1, aktualisiert -- Anne Koziolek (Martens) 18:17, 4. Jul 2007 (CEST) |
18. | 30.06., 9:00 - 14:00, Pool 356 | Erste Sitzung Experiment, zwischendurch Brezeln, im Anschluss Pizza | - |
19. | 04.07., 17:30-19:00, SR 301 | Nachbereitung | - |
20. | 07.07., 9:00 - 14:00, Pool 356 | Zweite Sitzung Experiment, zwischendurch Brezeln, im Anschluss Pizza | - |
- | |||
22. | 18.07., 17:30-19:00, SR 301 | Wrap-Up, erste Ergebnisse, Bewertung der Verfahren, Evaluation (Anwesenheitspflicht) | 1 auf 1 |
SVN-Zugang
Anders als auf den Übungsblatt angekündigt, lautet der Pfad für den SVN-Zugriff svn://[name]@141.3.52.13:/ss07/[name]. Ein Zugriff per SSH ist nicht möglich. Bitte beachten Sie, dass SVN- und Poolraum-Login nicht identisch sind.
Übungsblätter
1. Übung: Grundlagen
- Ausgabe-Termin: 25.04.
- Abgabe der Lösung: 01.05.
- Vorstellung der Musterlösung: 04.05.
- Material:
- Einteilung der Übungsgruppen (aktualisiert am 26.04.07)
- Übungsblatt 1
- Übungsblatt 1 - Musterlösung
2. Übung: Performance Prediction Tools
- Ausgabe-Termin: 02.05.
- Abgabe der Lösung: 08.05.
- Vorstellung der Musterlösung: 11.05.
- Material:
- Einteilung der Übungsgruppen wie bei Übung 1
- Übungsblatt 2
3. Übung: Software Performance Engineering (1)
- Ausgabe-Termin: 09.05.
- Abgabe der Lösung: 15.05.
- Vorstellung der Musterlösung: 18.05.
- Material:
4. Übung: Software Performance Engineering (2)
- Ausgabe-Termin: 16.05.
- Abgabe der Lösung: 22.05.
- Vorstellung der Musterlösung: 25.05.
- Material:
- Übungsblatt 4 (Aktualisiert: Anne Koziolek (Martens) 23:18, 16. Mai 2007 (CEST))
- Neue Einteilung der Übungsgruppen
- Übungsblatt 4 - Musterlösung (Aktualisiert, da Latenz des Festplattenzugriffs mit 8ms angegeben war anstatt von 0,8 ms. Dadurch auch andere Software Resource Requirements. Anne Koziolek (Martens) 10:40, 24. Mai 2007 (CEST))
5. Übung: PCM Repository und SPE-ED Skalierbarkeitsanalyse
- Ausgabe-Termin: 23.05.
- Abgabe der Lösung: 29.05.
- Vorstellung der Musterlösung: 01.06.
- Material:
- Übungsblatt 5
- Die Einteilung der Übungsgruppen bleibt bestehen.
- Als Grundlage kann, muss aber nicht, die Musterlösung verwendet werden.
- Übungsblatt 5 - Musterlösung
6. Übung: PCM SEFFs
- Ausgabe-Termin: 30.05.
- Abgabe der Lösung: 05.06.
- Vorstellung der Musterlösung: 08.06.
- Die für die Übungsaufgabe benötigten Plugins sind nun auf der PCM_stud Update Site verfügbar.
- Material:
- Übungsblatt 6
- Neue Einteilung der Übungsgruppen
- Als Grundlage muss die angereicherte Musterlösung verwendet werden.
- Musterlösung mit Angabe der Berechnung der Wahrscheinlichkeiten in DBAccess.get: Übungsblatt 6 - Musterlösung
- Eclipse Projekt mit Musterlösung, dies ist nicht die Vorlage für Übung 7!
- Hinweise:
- Der Delay für die Zeit, die der Benutzer zur Eingabe von Daten benötigt, muss nicht modelliert werden
- Auch die Zeit, die für die Übertragung zum Benutzer über das Internet benötigt wird, wird nicht modelliert
- submitParameters ist dieselbe Methode wie submitForms
- Ein Work Unit entspricht nicht 10.000 Kiloinstruktionen, sondern natürlich 10 Kiloinstruktionen bzw. 10.000 Instruktionen. Diese Angabe ist aber im Modell bereits richtig angegeben, und muss nicht von Ihnen angepasst werden.
7. Übung: PCM Stochastische Ausdrücke in SEFFs
- Ausgabe-Termin: 07.06.
- Abgabe der Lösung: 19.06. (also zwei Wochen Zeit)
- Vorstellung der Musterlösung: 22.06.
- Die für die Übungsaufgabe benötigten Plugins sind auf der PCM_stud Update Site verfügbar, es muss aktualisiert werden.
- Material:
- Übungsblatt 7
- Neue Einteilung der Übungsgruppen (nochmals leicht verändert, Gruppen 11, 10, 8, 2, 1)
- Als Grundlage muss die angereicherte Musterlösung (aktualisiert Anne Koziolek (Martens) 11:39, 12. Jun 2007 (CEST)) verwendet werden.
- Achtung: In der Vorlage fehlte bisher die auf dem Übungszettel beschriebene Änderung des Generate Statistics Szenario: Die Aufträge werden nun auch alle in einem Batch geladen, was die Schleife überflüssig macht. Da die Menge der geladenen Kunden mit einer DoublePDF spezifiziert wird, kann diese auch gar nicht mehr für die Anzahl der Schleifendurchläufe verwendet werden. Die Vorlage ist nun aktualisiert. Falls Sie die Aufgabe schon begonnen haben, können Sie die Anpassung aber auch leicht selbst durchführen: Entfernen Sie dazu einfach die Schleife um den Aufruf getOrders im SEFF generateStatistics. Die übergebenen Parameter müssen entsprechend angepasst werden, falls Sie sie schon modelliert haben.
- Hinweise:
- Im Usage Model können keine Branches oder Loops modelliert werden. Die Wahrscheinlichkeiten, welcher Anwendungsfall ausgeführt werden wird, kann also nur für jeden Aufruf einzeln angegeben werden. Damit kann die eigentlich bestehende stochastische Abhängigkeit nicht spezifiziert werden. Geben Sie die Wahrscheinlichkeiten also so an, als wäre keine Abhängigkeit vorhanden.
8. Übung: PCM und SPE einmal komplett
- Der erste Teil a beschäftigt sich nun doch mit SPE, damit in der nächste Woche eine aktuellere Version des PCM verwendet werden kann.
- Die Übungsgruppen werden neu eingeteilt, und bleiben dann größtenteils für die Übung 8 bestehen. Nur eine Gruppe muss für Übung 8b aufgeteilt werden, damit niemand zweimal alleine arbeiten muss, denn leider haben wir eine ungerade Anzahl Teilnehmer. Wer allein arbeiten muss, wird zufällig ermittelt.
- Teil a wird am 15.06. herausgegeben, Teil b am 20.06.. Beide Teile müssen bis zum 26.06. abgegeben werden.
- Vorstellung der Musterlösung: 29.06.
- Material:
- Hinweise zu Bearbeitung (Palladio):
- Das für die Entwurfsalternative 1 angelegte zweite System muss genauso heißen wie das erste (erstes Kind im Baumeditor), da sonst das Usage Model nicht für beide Systeme verwendet werden kann. Für unterschiedlich benannte Systeme müssen unterschiedliche Usage Models angelegt werden.
- Falls Ihnen keine CDF angezeigt wird, geben Sie das Histogramm mit einer entsprechenden Notiz ab.
Sollten Sie Ihren Namen bei der Einteilung der Übungsgruppen nicht finden, teilen Sie uns dies bitte per E-Mail mit.
Werkzeuge
- SPE / SPE•ED
- Palladio
- Neue Eclipse Basisinstallation mit vorinstallierten Plugins, soll für die zweite Experimentsitzung verwendet werden. -- Anne Koziolek (Martens) 19:48, 6. Jul 2007 (CEST)
- Update Site: http://sdqweb.ipd.uka.de/eclipse/PCM_unstable (für die zweite Sitzung des Experiments sind die neuen Plugins nur hier zu finden) Anne Koziolek (Martens) 08:25, 7. Jul 2007 (CEST)
- PrimitiveTypes.repository (02.05.2007)
- Screencasts PCM-Bench
- Create a repository (02.05.2007)
- Create a system (02.05.2007)
- Hintergrundinformationen zum Palladio Component Model
- FAQ zur PCM-Bench
- Insbesondere ist dort auch ein zukünftiges Buchkapitel verlinkt: Overview Palladio Component Model (28 pages, PDF, 05/2007)
- Ausführlicheres Material: The Palladio Component Model. Technical Report, University of Karlsruhe (96 pages, PDF, 05/2007)
Formalia
Dieses Praktikum richtet sich an Studenten des Hauptstudiums.
Die Vorbesprechung zum Praktikum findet am Dienstag, 17.04.2007 von 13:15 – 14:00 Uhr im Seminarraum 348 des IPD (Informatik-Hauptgebäude, 50.34, 3. OG) statt (Die Mitnahme von Essen zur Vorbesprechung ist gestattet). Weitere Termine finden mittwochs von 17:30 bis 19:00 Uhr sowie freitags von 9:45 - 11:15 statt. Zu welchen Terminen welche Veranstaltung stattfindet wird zur Vorbesprechung mitgeteilt.
Dieses Praktikum ist mit 2 SWS prüfbar für das Vertiefungsfach "Softwaretechnik und Übersetzerbau".
Die Anmeldung für das Praktikum ist ab sofort im
Sekretariat von Prof. Reussner
(Informatik-Hauptgebäude, 50.34, 3. OG, Raum 328) oder im Raum 326 möglich. Die Teilnehmerzahl ist auf 30 beschränkt. Das Sekretariat ist üblicherweise vormittags besetzt. Vereinbaren Sie ansonsten bitte einen Termin mit unserer Sekretärin: mailto:sdq@ipd.uka.de.
Informationen zu Benotung / Scheinerwerb.
Der Aufnahmetest wurde ausgewertet: Alle Teilnehmer am Aufnahmetest vom 27.04. können am Praktikum teilnehmen. (Anne Koziolek (Martens) 15:49, 30. Apr 2007 (CEST))