Lernziel: |
| Wie
der ganze Zyklus "Formale Grundlagen der Informatik" beschäftigt sich
diese Vorlesung auf mathematischer Basis mit Abstraktionen,
Modellbildungen und Verfahren zur Beschreibung und Analyse von
Algorithmen und Prozessen. Formale Methoden spielen in der Informatik
die Rolle eines "Denkzeugs", mit dem der (abstrakte) Kern einer Sache
knapp und präzise beschrieben werden kann. Erst auf der Basis eines
sauberen theoretischen Fundaments wird es möglich, solche
Beschreibungen zu formulieren und deren Analysen vorzunehmen. Parallele
und nebenläufige Programme und Prozesse sind aufgrund ihrer Komplexität
besonders anfällig für fehlerhafte Behandlung aufgrund unpräziser
Methoden. Es ist daher kein Zufall, dass "formal methods" in diesem
Gebiet fester Bestandteil der Forschung und Entwicklung sind. Die
Vorlesung führt in die wichtigsten Phänomene und Beschreibungstechniken
ein. Sie werden z.T. an realen Programmen illustriert. |
Inhalt: |
| -
Einfache formale Modelle (zustandsorientiert: Transitionssysteme,
programmsprachlich: die prozessorientierte Sprache P, graphisch:
Petrinetze) sowie relevante Begriffe und Erscheinungen (z.B.: Zustand,
Aktion, Erreichbarkeit, Semantiken der Nebenläufigkeit,
Verklemmungsfreiheit, Lebendigkeit und Fairness, Prinzipien der
Spezifikation, Invarianten)
- Nichtsequentielle Programme:
Modellierung, Synchronisations- und Kommunikationsprinzipien, Speicher-
und Rendezvous-Synchronisation, klassische Fallbeispiele,
Funktionalität, Modellierung von realen Prozessen in Organisationen
(workflow)
- Parallele Algorithmen: synchrone parallele Algorithmen, Zeit- und Prozessor-Komplexität
-
Verteilte Algorithmen: Grundannahmen und Darstellungsformen, wichtige
Problemklassen, Auswahlalgorithmen, verteilter wechselseitiger
Ausschluss.
|
Stell. im Studienplan: |
| Grundstudium |
Voraussetzungen: |
| F1, F2, F3 und P3 |
Vorgehen: |
| Vorlesung mit Hörsaalübungen |
Literatur: |
| - J. Magee, J. Kramer: Concurrency - State Models & Java Programs (John Wiley, Chichester, 1999)
- W. Reisig: Petrinetze (Springer Berlin, 1985)
- E. Jessen, R. Valk: Rechensysteme - Grundlagen der Modellbildung (Springer, Berlin, 1986)
-
C. Girault, R. Valk: Petri Nets for Systems Engineering - A Guide to
Modelling, Verification, and Applications (Springer, Berlin, 2003)
|
Periodizität: |
| jährlich zum SS |
Eignung: |
| Geeignet für Lehramtsstudierende, Nebenfachstudierende, Bioinformatikstudierende, Wirtschaftsinformatikstudierende. |
Stichworte: |
| Zustand,
Aktion, Nebenläufigkeit, Atomizität, Funktionalität, Fairness,
prozessorientierte Sprache, parallele u. verteilte Algorithmen,
Petrinetz, Synchronisation, Verklemmung, Lebendigkeit,
Transitionssystem, Kommunikation |