26.11.2012 Aufrufe

Jahresbericht informatik 2009 - KIT – Fakultät für Informatik

Jahresbericht informatik 2009 - KIT – Fakultät für Informatik

Jahresbericht informatik 2009 - KIT – Fakultät für Informatik

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Die Institute der <strong>Fakultät</strong> und ihre Forschungsvorhaben<br />

Institut <strong>für</strong> Theoretische <strong>Informatik</strong><br />

Leiter: Prof. Dr. P. H. Schmitt<br />

Sekretärin: L. Beckert<br />

Akadem. Mitarbeiter: C. Engel (F), D. Farago (ab 01.09.<strong>2009</strong>),<br />

M. Ulbrich, B. Weiß (F), F. Werner<br />

(F, bis 31.12.<strong>2009</strong>)<br />

EU-Projekt DIANA: Formale Methoden und Echtzeit-Java<br />

(C. Engel)<br />

Im Rahmen des KeY- und DIANA-Projekts wurden die in den vorigen Jahren begonnenen<br />

Forschungsarbeiten fortgesetzt. Im Mittelpunkt stand die Entwicklung von Ansätzen zur<br />

formalen Verifikation sicherheitskritischer Echtzeit-Javaprogramme. So wurde ein<br />

Verfahren zur Design-by-Contract-basierten Spezifikation und Verifikation des<br />

Speicherverbrauchs von Java-Programmen entwickelt und auf das Speichermodell verschiedener<br />

Echtzeit-Javadialekte angepasst. Ein weiteres Thema war das Sicherstellen von<br />

Nichtinterferenz von RTSJ-Programmen (Real-Time Specification for Java).<br />

Weiterhin wurden Byzantinische Protokolle <strong>für</strong> den Einsatz bei der verteilten Ermittlung<br />

des Korrektheitszustandes (health state) von Systemkonfigurationen untersucht. Das als<br />

Endergebnis dieser Untersuchungen erarbeitete Protokoll wurde in den DIANA<br />

Demonstrator integriert.<br />

Modulare Java-Verifikation<br />

(B. Weiß)<br />

Dieses Forschungsvorhaben ist ein Teil des KeY-Projekts zur deduktiven Verifikation von<br />

Java-Programmen. Ein grundlegendes Ziel bei der Java-Verifikation ist Modularität, in dem<br />

Sinne, dass einzelne Programmteile (z.B. Methoden) unabhängig von ihrem Kontext spezifiziert<br />

und verifiziert werden. Um dieses Ziel erreichen zu können, verwendet man in<br />

öffentlichen Spezifikationen nicht die internen Datenstrukturen des spezifizierten<br />

Programmteils, sondern führt so genannte abstrakte Variablen ein, die nur auf<br />

Spezifikationsebene existieren, und deren Beziehung zu den konkreten<br />

Datenstrukturen ein Implementierungsgeheimnis bleibt.<br />

Das Konzept der abstrakten Variablen ist zwar im Prinzip seit den 1970er Jahren<br />

bekannt, aber im Detail mit einigen Schwierigkeiten verbunden, deren Lösung bis heute<br />

Forschungsgegenstand ist. Interessant ist insbesondere das Zusammenspiel von abstrakten<br />

Variablen mit Aussagen über jene Speicherstellen, die von einem Programmteil geändert<br />

bzw. gelesen werden dürfen. Ein aktueller Lösungsansatz ist die Verwendung spezieller<br />

abstrakter Variablen, die selbst <strong>für</strong> Mengen von Speicherstellen stehen (sog. "Dynamic<br />

Frames").<br />

Im Berichtszeitraum wurde eine Variante der Java-Spezifikationssprache JML definiert,<br />

166<br />

Forschungsbereich<br />

Logik und Formale<br />

Methoden

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!