Software Engineering für spezielle Anwendungsgebiete: Entwurf und Implementierung paralleler Programme
Aktuelles
- 22.08.2016: Klausurergebnisse: Die Ergebnisse der Klausur wurden per UniWorX verschickt. Die Klausureinsicht findet am Dienstag, den 30.08.2016, 11-12 Uhr im Raum F003, Oettingenstr. 67 statt.
- 22.08.2016: Nachprüfung: Eine Nachprüfung wird angeboten. Sie findet Ende November/Anfang Dezember als mündliche oder schriftliche Prüfung abhängig von der Anzahl der Teilnehmer statt. Bitte melden Sie sich bis spätestens 07.11.2016, 09:00 Uhr per UniWorX für die Nachprüfung an. Eine Abmeldung ist ebenfalls nur bis 07.11.2016 09:00 Uhr möglich.
- 01.08.2016: Verzögerung bei der Bekanntgabe der Ergebnisse der Klausur: Leider verzögert sich die Korrektur und daher die Bekanntgabe der Ergebnisse der Klausur noch etwas.
- 04.07.2016: Klausur: Bitte seien Sie am 15.07.2016 um 13:45 Uhr im Raum M018, Geschw.-Scholl-Pl. 1. Die Klausur beginnt pünktlich um 14:00 Uhr. Die Bearbeitungszeit wird 120 Minuten betragen. Es sind keinerlei Hilfsmittel zugelassen.
- 04.07.2016: Klausuranmeldung: Wenn Sie die reguläre Klausur am Freitag, den 15.07.2016 um 14-17 Uhr mitschreiben wollen, melden Sie sich bitte bis 13.07.2016 09:00 Uhr per UniWorX zur Klausur an. Eine Abmeldung muss ebenfalls bis 13.07.2016 09:00 Uhr per UniWorX erfolgen, sonst wird, wie am Institut üblich, bei Nicht-Erscheinen zur Klausur ein entsprechender Vermerk an das Prüfungsamt gemeldet. Sie werden allerdings in der Klausur auch die Möglichkeit haben, Ihre Klausur zu entwerten. Sie wird dann nicht korrigiert und nicht als durchgefallen gewertet.
- 16.06.2016: Beispielklausur: Unter Klausur finden Sie eine Beispielklausur inklusive Musterlösung.
- 08.03.2016: Klausurtermin: Die reguläre Klausur findet am Freitag, den 15.07.2016 um 14-17 Uhr im Raum M018, Geschw.-Scholl-Pl. 1 statt. Bitte melden Sie sich ebenfalls per UniWorX zur Klausur an. Die An- und Abmeldung ist bis 13.07.2016 09:00 Uhr möglich. Eine Teilnahme an der Klausur ohne Anmeldung per UniWorX ist nicht möglich.
- 10.02.2016: Anmeldung zur Vorlesung: Bitte melden Sie sich per UniWorX zur Vorlesung an, damit wir einen besseren Überblick über die Anzahl der Hörer haben. Die Anmeldung ist ab sofort möglich.
Inhalte
In komplexen Systemen werden häufig eine Vielzahl von Prozessen gleichzeitig (bzw. quasi-gleichzeitig) ausgeführt. In dieser Vorlesung werden Methoden und Techniken zur Entwicklung von Softwaresystemen auf der Grundlage paralleler Programme besprochen.
Für die Spezifikation und den Entwurf paralleler Programme wird die auf endlichen Zustandsmaschinen beruhende Sprache FSP (Finite State Processes) von Magee und Kramer verwendet. Damit können typische Phänomene und Eigenschaften, die bei der Programmierung paraller Programme auftreten, wie z.B. Prozess-Synchronisation, Sicherheits- und Lebendigkeits-Eigenschaften und Deadlocks, erfasst und analysiert werden. Zur Analyse werden Methoden des Model-Checking eingesetzt.
Für die Implementierung paralleler Programme wird das Thread-Konzept von Java verwendet. Es werden methodische Richtlinien für die Überführung von Prozessmodellen in Java-Programme besprochen. Zur Modellierung der Implementierung paralleler Systeme wird die Unified Modeling Language UML verwendet.
Termine
Vorlesung (3-stündig)
- Do 11ct-14 Uhr, Geschw.-Scholl-Pl. 1, Raum M105
Übung (2-stündig)
- Fr 10ct-12 Uhr, Oettingenstr. 67, Raum U151 (erstmals am 22.04.2016)
- Fr 12ct-14 Uhr, Oettingenstr. 67, Raum 123 (erstmals am 22.04.2016)
Klausur
Nachholklausur
Personen
Dozent
Übungsleitung
Materialien
Vorlesung
In den Folien sind teilweise Lücken, die in der Vorlesung ergänzt werden.
Die Folien sollen ausgedruckt zur Vorlesung mitgebracht werden um Notizen und Ergänzungen eintragen zu können.
- Kapitel 1
- Kapitel 2
- Kapitel 3
- Kapitel 4
- Kapitel 5 (neue Version eingestellt am 2.6.16 mit Änderungen in Abschnitt 5.4)
- Kapitel 6
- Folien mit handschriftlichen Anmerkungen zu Kapitel 1, Kapitel 2, Kapitel 3, Kapitel 5, Kapitel 6 (Wegen Ausfall des Tablets gibt es keine handschriftlichen Anmerkungen zu Kapitel 4 und zu dem ersten Teil von Kapitel 5.)
- Kapitel 7
- Kapitel 8
- Folien mit handschriftlichen Anmerkungen zu Kapitel 7 (noch ohne Beweis von Satz 1) und Kapitel 8
- Kapitel 9
- Inhaltsverzeichnis der Vorlesung
- Beweis zu Satz 1
- Kapitel 9 mit handschriftlichen Anmerkungen
Übung
- Übung 1 (Angabe, Lösung)
- Übung 2 (Angabe, Lösung)
- Übung 3 (Angabe, Lösung)
- Übung 4 (Angabe, Lösung)
- Übung 5 (Angabe, Lösung)
- Übung 6 (Angabe, Lösung)
- Übung 7 (Angabe, Lösung)
- Übung 8 (Angabe, Folien, Lösung)
- Übung 9 (Angabe, LTS, Java)
- Übung 10 (Angabe, Folien, LTS, Java)
Hörerkreis
- Bachelor Informatik (Vertiefende Themen),
- Master Informatikstudiengänge (Software Engineering für spezielle Anwendungsgebiete),
- Diplomstudiengänge in Informatik,
- Nebenfach Informatik zu Diplom-Mathematik oder Diplom-Physik
Benötigte Vorkenntnisse
Literatur
Weitere Inhalte (z.B. Folien zum Buch) hier verfügbar:
http://www.doc.ic.ac.uk/~jnm/book/
Tool
- LTSA - Labelled Transition System Analyser
http://www.doc.ic.ac.uk/ltsa/