|
MOVES: Software Modeling and Verification
(Informatik 2)
|
Praktikum: Compilerbau
Diplomstudiengang Informatik,
Masterstudiengang Software Systems Engineering
(Praktische Informatik, Vertiefungsfach)
Inhalt
In diesem Praktikum soll ein Compiler und eine Virtuelle Maschine
für die nebenläufige und nicht-deterministische
Modellierungssprache PROMELA
erweitert werden um Komponenten wie:
- Daten-/Kontrollfluß framework
- Bytecode Optimierungen
- Type Checker
- Erweiterungen der VM (z.B. um Timer)
PROMELA wurde unter anderem bei der NASA zur Modellierung und
Software-Verifikation in diversen neueren Missionen erfolgreich
eingesetzt.
HiWis
Bei Fragen/Problemen kann auch einer unserer HiWis kontaktiert werden:
Termine
| Art | Termine/Ort | Beginn | Veranstalter |
| P | | 19.10.2005 | Katoen, Rieger, Stolz, Weber |
| P | Montags 8:30h, Raum 4201b | 31.10.2005 | Katoen, Rieger, Stolz, Weber |
- 19.10.2005, 14:00h, Raum 4201b
- Vorbesprechung (Folien)
- 20.2.2006, 14:00h, Raum 5055
- Abschlußpräsentation
Voraussetzung
- Vordiplom im Fach Informatik
- Vorlesung Compilerbau oder
PaCo, evtl. auch
Model Checking Vorlesungen
- Gute Kenntnisse einer gängigen höheren Programmiersprache
(Java, C/C++, C#, Haskell, O'Caml, Scheme, Common-Lisp, etc.)
Mailing-Listen
Aufgaben
[C]: Compiler
[VM]: Virtuelle Maschine
- Compilergenerierung aus XSD-Beschreibung [C]
- Integration des Compilers und Bytecode-Assemblers [C]
- Optimierte Übersetzung von safety-Eigenschaften [C,VM]
- Implementierung eines PROMELA Type Checkers [C]
- Implementierung eines multi-threaded VM-Schedulers zur Ausnutzung von SMP-Hardware [VM]
- Implementierung eines alternativen Exception handling Konzepts [C]
- Extraktion des Kontrollflußgraphen durch Simulation in der VM [C,VM]
- Deklarative Beschreibung eines Maschinenmodells zur VM-Generierung [C,VM]
- Analyse zur Wertebereichsbeschränkung von Variablen [C,VM]
- Einsatz von Theorembeweisern zur Verifikation [Funktionale Prog.]
- Exaktes Tracing von Code locations im Übersetzungsprozeß [C] (evtl. VM)
- Erweiterung des VM-Modells um Uhren [VM,C]
- Erweiterung des VM-Modells um eine Heap-Komponente [VM,C]
- Ein Compiler für NTIF [C]
- Ein Compiler für Value-Passing CCS [C]
- Speicheroptimierung des VM-Schedulers durch Zustandskompression [VM]
- Speicheroptimierung des VM-Schedulers durch Partial Order Reduction [VM]
- Speicheroptimierung des VM-Schedulers durch Symmetry Reduction [C,VM]
- Escape Analyse für PROMELA [C]
Die detaillierten Spezifikationen des
PROMELA Compilers und/oder der Virtuellen Maschine werden bei allen
Aufgaben benötigt.
CVS
Links
Literatur
Zuordnung
- Praktische Informatik
- Informatik Vertiefung
Ansprechpartner
Michael Weber,
Stefan Rieger
Volker Stolz
|