Hauptseminar Modellüberprüfung Kathrin Ott

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen (EI)
Advertisements

Temporale Logiken: LTL und CTL
Programmierung 1 - Repetitorium WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage:
6. Regelbasierte Systeme
LTL - Modellüberprüfung
Christian Schindelhauer
Übung 1 Konstruiere einen Büchi-Automat, der genau die
Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Prof. Dr. Holger Schlingloff
Eingebettete Systeme Qualität und Produktivität
Bounded Model Checking II
Institut für Informatik Abt. Intelligente Systeme
8. Formale Sprachen und Grammatiken
10. Grundlagen imperativer Programmiersprachen
3. Berechenbarkeit Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar? Intuitiv: Wenn es einen Algorithmus gibt, der sie berechnet! Was heißt,
Seminar Modellüberprüfung
Puck eine visuelle Programmiersprache für die Schule
Einführung in Berechenbarkeit und Formale Sprachen
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Notationen A = ist eine endliche, nichtleere menge,
Grammatiken, Definitionen
Terminierung und Deadlocks Enkhbat Daginaa Betreuerin Prof. Heike Wehrheim Totale Korrektheit.
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken IX Christian Schindelhauer
Computergestützte Verifikation
1 Computergestützte Verifikation Abstraktion.
1 Computergestützte Verifikation SAT-basiertes Model Checking Ansatz: Übersetze das Model Checking Problem in ein aussagenlogisches Erfüllbarkeitsproblem.
1 Computergestützte Verifikation Teil II Infinite State Systems.
Computergestützte Verifikation
1 Computergestützte Verifikation Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:
Nebenläufigkeit Teil I
Architektur, Design oder Implementation? Ulrich Schulz, Sebastian Ordyniak.
C- Syntax. Bestandteile der Sprache C: Ausdrücke Anweisungen.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (17 –Turingmaschinen) Prof. Dr. Th. Ottmann.
Vortrag im Rahmen des Seminars
Symbolisches Model Checking mit Binary Decision Diagrams
Prof. Dr. T. Kudraß1 Relationenkalkül. Prof. Dr. T. Kudraß2 Relationenkalkül Zwei Ausprägungen: Tupelrelationenkalkül (TRK) und Domänenrelationenkalkül.
Eine (Gleichungs-)Spezifikation ist ein Paar SPEC = (, E),
Das Alternating-Bit-Protokoll: Modellierung und Verifikation
Vorlesung 9.2: Specification Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Christian Schindelhauer
Christian Schindelhauer
Kapitel III: Stochastische Modelle im Januar haben wir behandelt: 12/3
Tino Reindanz - FSU Jena Seminar Aktive Datenbanken – SS 2007 Folie 1 Seminar Aktive Datenbanken Rule Development Rule Development for Active Database.
Handlungsplanung und Allgemeines Spiel „Game Description Language (GDL)“ Peter Kissmann.
Isabelle/HOL ( Kripke Structures & Model Checking ) Ying Wang, Nelli Bärsch, Bartosz Rynarzewski,
Wenn Programme Entscheidungen fällen müssen, dann …
Formale Sprachen und Automaten
Grenzen der Regularität
Debugging in Lua Universität zu Köln Re-usable Content in 3D und Simulationssystemen Prof. Dr. Manfred Thaller Referent: Artur Wilke.
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02.
Agenda für heute, 7. April, 2005 Bedingte ProgrammausführungBedingte Programmausführung Algorithmische Grundlagen Vergleichsoperatoren, Wahrheitswerte.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Christian Schindelhauer Wintersemester 2006/07 3. Vorlesung
Christian Schindelhauer Wintersemester 2006/07 2. Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.


Computergestützte Verifikation
1 Computergestützte Verifikation Binary Decision Diagrams (BDD) Inhalt: Die Datenstruktur BDD Operationen auf BDD CTL Model.
Wintersemester 2005 / Vorlesung
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken VIII Christian Schindelhauer
Tupelkalkül: Notation (1)
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Inhalt Einordnung und Funktion der lexikalische Analyse Grundlagen
Visualisierung verteilter Systeme
Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar?
Tele Entwurf von Telekommunikationssystemen Übersicht  1. Einführung in den Software-Entwurfsprozess  2. Anforderungsspezifikation mit Zustandsmaschinen.
 Präsentation transkript:

Hauptseminar Modellüberprüfung Kathrin Ott 15.02.2002 Model Checker SPIN Hauptseminar Modellüberprüfung Kathrin Ott 15.02.2002

SPIN Softwarepaket zur formalen Überprüfung von verteilten Systemen, meist Datenkontrollprotokolle Simple Promela INterpreter in den 80er Jahren von den Bell Labs entwickelt SPIN ist ein kostenlos erhältliches Programm jährliche Workshops zu Erweiterung von SPIN

SPIN Designspezifikationen werden in der Verifikationssprache PROMELA formuliert PROcess MEta LAnguage Arbeitsweise: 1. High-Level Model 2. Syntaxfehler 3. Mehrere Durchläufe 4. Ergebnisanalyse zu Generierung neuer Testläufe unter Verwendung von Reduktionsalgorithmen werden die Durchläufe optimiert

PROMELA C-ähnliche Syntax Programmiersprache bestehen aus (ein oder mehreren) Prozessen, Nachrichtenkanälen und Variablen fünf Arten von Zeichen: Bezeichner, Schlüsselwörter, Konstanten, Operatoren und Separatoren

Temporale Logik unterscheidet sich von der normalen Logik durch zeitliche Gebundenheit Aussagen über Verhalten mit einem Zustands-übergangsgraphen endliches Zustandssystem kann als Tupel beschrieben werden

Algorithmen M=<S,T,R,L> S - endliche Menge von Zuständen T  S - eine Menge von Grundzuständen R  SS - Übergangsrelation, die mögliche Übergänge von Zustand zu Zustand beschreibt L ist eine Funktion

Temporale Logik

LTL Lineare Temporale Logik jeder Pfad im Zustandsübergangsgraph wird für sich durch die Formel gewertet bis, seit, immer, eventuell, ... f ::= p |true |false |(f) |f binop f |unop f unop ::= o | | ! binop ::= U | && | ∥ |  | 

LTL z.B.: p bleibt wahr solange bis q wahr wird = o (p U q) zu jeder Zeit in der Ausführung wird p zumindest noch einmal wahr werden o( p)

LTL und Automaten Erfüllt ein gegebenes System eine gegeben Formel? Ja, wenn alle seine Berechnungen die Formel erfüllen, also seine Sprache eine Teilmenge der Formelsprache ist unendliche Sprache repräsentieren und die Inklusion testen. unendliche Automaten wie den Büchi Automat

Büchi Automat eine unendliche Folge von Zuständen lässt sich in einem Büchi Automat darstellen eine Formel ist dann erfüllt, wenn ihre Sprache nicht leer ist, d.h. es gibt einen akzeptierenden Lauf (unendliche Folge von Zuständen), der unendlich oft einen Endzustand des Automaten beinhaltet wenn es einen unendlichen Weg durch den Automatengraph gibt, dann gibt es auch einen erreichbaren Kreis, auf dem der Endzustand liegt

LTL -> Büchi Automat Büchi Automat der LTL-Formeln o (p U q) o ( p)

LTL -> PROMELA $ spin -f „ o( p)“ never { T0: if :: (true)  goto T0 :: (p)  goto accept fi; accept: }

LTL -> PROMELA $ spin -f „ o (p U q)“ never { T0: if :: (p)  goto T0 :: (q)  goto accept fi; accept: :: ((p) || (q))  goto T0 }

Algorithmen zur Reduktion von Zeit und Speicher SPIN verwendet neben dem Büchi Automaten noch weitere Algorithmen: Partial Order Reduktion Tiefensuche Bit State Hashing zur Reduktion von Zeit und Speicher

Beispiel: ABP Alternating Bit Protocol Datentransferprotokoll Stop-And-Go-Protokoll Datenübertragung zu einem Zeitpunkt und in eine Richtung alternating bit, weil der Sender abwechselnd (alternatively) 0 und 1 anhängt

ABP Sender Empfänger Unzuverlässige Datenübertragung mesg1 ack1 mesg0

ABP in PROMELA Code mtype = { msg0, msg1, ack0, ack1 }; chan sender = [1] of { mtype }; chan receiver = [1] of { mtype }; inline phase(msg, good_ack, bad_ack) { do :: sender?good_ack -> break :: sender?bad_ack :: timeout -> if :: receiver!msg; :: skip /* lose message */ fi; od } inline recv(cur_msg, cur_ack, lst_msg, lst_ack) :: receiver?cur_msg -> sender!cur_ack; break /* accept */ :: receiver?lst_msg -> sender!lst_ack od;

ABP in PROMELA Code active proctype Sender() { do :: phase(msg1, ack1, ack0); phase(msg0, ack0, ack1) od } active proctype Receiver() :: recv(msg1, ack1, msg0, ack0); recv(msg0, ack0, msg1, ack1) Tests: [] (ack1 -> <> mesg1)

LTL Anforderungen an ABP immer wird nach ack1 eventuell msg1 gesendet [] (ack1 -> <> mesg1) immer wird nach mesg1 solange nicht ack1 empfangen bis ack0 empfangen wird [] (mesg1 -> (! ack1 U ack0)) (error behavior) immer wird nach mesg1 solange nicht ack0 empfangen bis ack1 empfangen wird [] (mesg1 -> (! ack0 U ack1)) (desired behavior)