Formale Methoden
Das Institut arbeitet aktiv an neuen Techniken für die Systementwicklung mit Formalen Methoden. Unsere Forschung konzentriert sich auf Verfeinerung (Refinement) als grundlegende Methode zur modularen, schrittweisen top-down Entwicklung von Systemen beginnend mit einer abstrakten Spezifikation. Die Methodik für sequentielle Systeme basiert auf Abstrakten Zustandsmaschinen (Abstract State Machines).? Die Analyse nebenl?ufiger Systeme beruht auf der kompositionalen, temporalen Programmlogik "RGITL". Unsere Gruppe
bietet das von uns entwickelte KIV-System an, ein interaktives Beweisersystem, das die genannten Techniken unterstützt. Derzeit arbeiten wir am Flashix-Projekt, in dem ein verifiziertes, einsetzbares Dateisystem für Flashspeicher entwickelt wird.
- Telefon: +49 821 598 2124
- E-Mail: schellhorn@informatik.uni-augsburginformatik.uni-augsburg.de ()
- Raum 3016 (Geb?ude N)
Aktuelle Themen
Verfeinerung
Modulare, schritt-weise top-down Entwicklung von Systemen beginnend mit einer abstrakten Spezifikation
Temporale Logik
Analyse nebenl?ufiger Systeme basierend auf der kompositionalen, temporalen Programmlogik "RGITL"
Interaktives Theorembeweisen
Entwicklung und Anwendung von interaktiven Theorembeweiser-Systemen und -Techniken
?
Das Ziel des Einsatzes von formalen Methoden im Software Engineering ist Techniken anzubieten, die die Entwicklung von hochzuverl?ssigen und sicherheitskritschen Systemen unterstützen. Zwei Schritte sind notwendig um dieses Ziel zu erreichen: Das Aufstellen einer pr?zisen, formalen Spezifikation von Systemanforderungen, und das Durchführen eines mathematischen Beweises (Verifikation), dass die Implementierung die Anforderungen der Spezifikation erfüllt. Formale Methoden bieten eine gro?e Vielfalt an mathematisch pr?zisen Spezifikationssprachen, wie Logik h?herer Stufe, algebraischen Spezifikationen, Abstrakte Zustandsmaschinen, die Z-Notation und temporale Logik. Diese Sprachen erm?glichen eine unzweideutige Beschreibung des Systemverhaltens, die die Basis für eine sp?tere Verifikation der Korrektheit des Systems bilden. Systemkorrektheit besteht aus verschiedenen Aspekten, die von funktionaler Korrektheit über Sicherheit (Safety und Security) bis zu Zuverl?ssigkeit reichen.
Mathematische Beweise für Sytemkorrektheit k?nnen mit verschiedenen Ans?tzen konstruiert werden, u.a. durch interaktives Theorembeweisen, statische Codeanalyse, Model Checking und SMT-Beweisern.
Ein wichtiges Konzept, um die Komplexit?t gro?er Systeme und ihrer Beweise in den Griff zu bekommen ist Verfeinerung (Refinement). Damit wird eine modulare, schrittweise Entwicklung m?glich, die mit einer abstrakten Spezifikation beginnt und mit korrektem Code endet. Wir arbeiten aktiv an der Weiterentwicklung von Techniken zur formalen Systementwicklung. Unsere Forschung konzentriert sich auf Verfeierung in Kombination mit Abstrakten Zustandsmaschinen und temporaler Logik. Unsere Gruppe entwickelt das
KIV-System,? ein interaktives Beweisersystem. Wir wenden die Techniken auf verschiedene praktische Anwendungen an, wie zum Beispiel im
VeriCAS-Projekt, das die Korrektheit nebenl?ufiger, lock-freier Algorithmen untersucht, oder im
Flashix-Projekt, in dem ein verifiziertes Dateisystem für Flash-Speicher entwickelt wird.
Wir bieten unseren Vorlesung, Praktika und Seminare zu formalen Methoden und ihrer Anwendung im Software Engineering Prozess an.
Dienstleistungen
-
Beweise für die funktionale Korrektheit von sicherheitskritschen Systemen (Safety und Security)
-
Beratung und Training für die Anwendung formaler Methoden zur Zertifizierung von Software nach den h?chsten Sicherheitsstandards (Safety & Security, z.B. SIL, Common Criteria)
Abgeschlossene Projekte
Go!Card
Formale Methoden für Secure Java Smart Cards
FORMOSA
Integrieren von Formalen Modellen und Safety Analyse
InopSys
Interoperabilit?t von Kalkülen zur System Modellierung
Protocure
Qualit?tssicherung im Gesundheitswesen
Team
- Telefon: +49 821 598 2124
Institut für Software & Systems Engineering
Das Institut für Software & Systems Engineering, geleitet von Prof. Dr. Wolfgang Reif, ist eine wissenschaftliche Einrichtung in der Fakult?t für Angewandte Informatik an der Universit?t Augsburg. Das Institut unterstützt sowohl Grundlagen- als auch angewandte Forschung in allen Bereichen der Software & Systems Engineering. In der Lehre erm?glicht es die weitere Entwicklung des relevanten Kursangebots von Fakult?t und Universit?t.