Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Das Symbolic Model Verifier (SMV) System Präsentation im Rahmen.

Ähnliche Präsentationen


Präsentation zum Thema: "WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Das Symbolic Model Verifier (SMV) System Präsentation im Rahmen."—  Präsentation transkript:

1 WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Das Symbolic Model Verifier (SMV) System Präsentation im Rahmen des Seminars Ausgewählte Kapitel des Software Engineerings insb. Formale Spezifikation am Christian Ottenhof

2 2 WIRTSCHAFTS INFORMATIKGliederung 1. Einleitung 2. Grundlagen des SMC 3. Das SMV System 4. Verifikation des Gigamax Protokolls 5. Zusammenfassung

3 3 WIRTSCHAFTS INFORMATIKGliederung 1. Einleitung 2. Grundlagen des SMC 3. Das SMV System 4. Verifikation des Gigamax Protokolls 5. Zusammenfassung

4 4 WIRTSCHAFTS INFORMATIKEinleitung Spezifikation: Anforderungen an ein formales Modell Verifikation:Formal exakte Methode, um um die Konsistenz zwischen Modell und Spezifikation für alle Eingabedaten zu beweisen SpezifikationModell Spez.falschSpez.korrekt Verifikation

5 5 WIRTSCHAFTS INFORMATIKEinleitung Modell kann verifiziert werden durch: Simulation Testen Formale Beweise (z.B. Induktion) Symbolisches Model Checking (SMC)

6 6 WIRTSCHAFTS INFORMATIKGliederung 1. Einleitung 2. Grundlagen des SMC 3. Das SMV System 4. Verifikation des Gigamax Protokolls 5. Zusammenfassung

7 7 WIRTSCHAFTS INFORMATIK Grundlagen des SMC 1. Kripke Struktur Repräsentiert das formale Modell 2. Temporale CTL Logik Notwendig um die Spezifikation zu formulieren 3. OBDD´s Für die effiziente Verarbeitung von Booleschen Funktionen

8 8 WIRTSCHAFTS INFORMATIK Grundlagen des SMC Kripke Struktur Bestehend aus dem Tupel M = ( S, R, L ) S : Menge der Systemzustände R : Übergangsrelation L : Labelfunktion weist die Zustandsprädikate a i zu

9 9 WIRTSCHAFTS INFORMATIK Grundlagen des SMC Kripke Struktur Die Kripke Struktur kann auch als Baum dargestellt werden: Eine Spezifikation ist somit eine Anforderung an den Baum der Kripke Struktur

10 10 WIRTSCHAFTS INFORMATIK Grundlagen des SMC CTL Logik Spezifikation des Modells wird in CTL formuliert: AG(x) Die Formel x gilt auf allen Pfaden in allen Folgezuständen AF(x) Die Formel x gilt auf allen Pfaden irgendwann EG(x) Die Formel x gilt auf mind. einem Pfad in allen Folgezuständen EF(x) Die Formel x gilt auf mind. einem Pfad irgendwann

11 11 WIRTSCHAFTS INFORMATIK Grundlagen des SMC Kripke Struktur Problem : Bei vielen Zuständen lässt sich die Kripke Struktur nicht mehr effizient verifizieren Lösung : Das state explosion problem kann durch eine symbolische Darstellung der Kripke Struktur vermieden werden Der Zustandsgraph wird nicht explizit aufgebaut, sondern durch Boolesche Formeln symbolisch repräsentiert Symbolisches Model Checking

12 12 WIRTSCHAFTS INFORMATIK Grundlagen des SMC Kripke Struktur Symbolische Umsetzung von (S, R, L): Die Zustände werden binär kodiert {(00); (01); (10); (11)} Die Übergangsrelation R: B 2n B f R = Für jedes Zustandsprädikat a i gibt es eine Boolesche Funktion B n B Im Beispiel 2 Funktionen: f a1 = 01 f a2 = Startzustand: f S0 = 00

13 13 WIRTSCHAFTS INFORMATIK Grundlagen des SMC OBDD´s Symbolisches Model Checking basiert auf Booleschen Formeln OBDD´s bieten eine kompakte Darstellungsform Es existieren effiziente Algorithmen siehe Vortrag zu OBDD´s

14 14 WIRTSCHAFTS INFORMATIKGliederung 1. Einleitung 2. Grundlagen des SMC 3. Das SMV System 4. Verifikation des Gigamax Protokolls 5. Zusammenfassung

15 15 WIRTSCHAFTS INFORMATIK Das SMV System Symbolic Model Verifier (SMV) System Hauptsächlich entwickelt von K.L. McMillan Entwickelt in den Cadence Berkeley Labs Experimentelles Tool, das SMC Techniken verwendet Dient zur Forschung, um Anwendungen für SMC zu entwickeln

16 16 WIRTSCHAFTS INFORMATIK Das SMV System Anforderungen an einen symbolischen Model Checker: vollautomatische Verifikation synchrone und asynchrone Systeme verifizierbar Erstellung eines abstrakten oder sehr detaillierten Modells Wiederverwendung von einmalig erstellten Modellteilen Anwendbarkeit und Anerkennung in der Praxis

17 17 WIRTSCHAFTS INFORMATIK Das SMV System Ablauf der Verifikation

18 18 WIRTSCHAFTS INFORMATIK Das SMV System Erstellung des Modells Beispiel: Mutual Exclusion Protokoll (MUTEX) Eigenschaften eines MUTEX: Es sind 2 asynchrone Prozesse vorhanden Diese teilen sich einen kritischen Bereich Dieser Bereich darf von nur einem Prozess betreten werden Das MUTEX Protokoll soll diese exklusive Nutzung sicherstellen

19 19 WIRTSCHAFTS INFORMATIK Das SMV System Erstellung des Modells MODULE main VAR turn : boolean; p0: process p(0,turn); p1: process p(1,turn); In der SMV Eingabesprache besteht ein MUTEX aus 2 Modulen: Schlüsselwort process deklariert einen Prozess Es wird auf das Modul p verwiesen

20 20 WIRTSCHAFTS INFORMATIK Das SMV System Erstellung des Modells

21 21 WIRTSCHAFTS INFORMATIK Das SMV System Erstellung des Modells MODULE p (nr,turn) VAR state: {non_critical, critical}; ASSIGN init(state):= non_critical; next(state):= case state = non_critical & !(turn = nr) : non_critical; state = non_critical & turn = nr : critical; state = critical: {critical, non_critical}; esac; next(turn):= case state = critical & next(state) = non_critical : !nr; 1 : turn; esac;

22 22 WIRTSCHAFTS INFORMATIK Das SMV System Erstellung des Modells Hinzufügen der Spezifikation zum main Modul: MODULE main VAR turn : boolean; p0: process p(0,turn); p1: process p(1,turn); SPEC AG !(p0.state = critical & p1.state = critical)

23 23 WIRTSCHAFTS INFORMATIK Das SMV System Ergebnis der Verifikation

24 24 WIRTSCHAFTS INFORMATIK Das SMV System Bislang sind uns folgende Deklarationen begegnet: VAR ASSIGN INIT NEXT SPEC Es gibt noch eine weitere wichtige Deklaration DEFINE Durch DEFINE können häufiger benutzte Ausdrücke kompakter beschrieben werden: DEFINE Carry_out := value & carry_in;

25 25 WIRTSCHAFTS INFORMATIKGliederung 1. Einleitung 2. Grundlagen des SMC 3. Das SMV System 4. Verifikation des Gigamax Protokolls 5. Zusammenfassung

26 26 WIRTSCHAFTS INFORMATIK Verifikation des Gigamax Protokolls Eigenschaften des Gigamax Multiprozessors: Encore Computer Corporation Verteilte Architektur Reaktives System Simulierter Hauptspeicher Das Cache Protokoll soll den verteilten Speicher konsistent halten

27 27 WIRTSCHAFTS INFORMATIK Verifikation des Gigamax Protokolls Architektur des Systems:

28 28 WIRTSCHAFTS INFORMATIK Verifikation des Gigamax Protokolls In Fokus der Verifikation: Ein expliziter Speicherblock Speicherblock im Cache hit Speicherblock nicht im Cache miss In diesem Fall : Hauptspeicherzugriff Inhalte müssen aber konsistent gehalten werden Im Folgenden: Abstrakte und modellhafte Umsetzung des Cache Protokolls in der SMV Eingabesprache

29 29 WIRTSCHAFTS INFORMATIK Verifikation des Gigamax Protokolls Erstellung von 3 Modulen mit den zugehörigen Variablen: module cache-device state (Zustand aus Sicht des Caches) snoop (boolesche Variable) module bus-device master (Bus Master) cmd (Befehle) waiting (boolesche Variable) module processor

30 30 WIRTSCHAFTS INFORMATIK Verifikation des Gigamax Protokolls Ein Speicherblock kann aus Sicht des Caches die folgenden Zustände haben: owned( read und write möglich) shared( nur read möglich) invalid( nicht im Cache vorhanden) In der SMV Eingabesprache: MODULE cache-device VAR state : {invalid,shared,owned}; DEFINE readable := ((state = shared) | (state = owned)) & !waiting; writable := (state = owned) & !waiting;

31 31 WIRTSCHAFTS INFORMATIK Verifikation des Gigamax Protokolls Bei jedem Bus Zyklus wird ein Master bestimmt Alle anderen Einheiten werden als Slaves behandelt Der Bus Master kann einen der folgenden Basisbefehle auf den Bus senden: read : Bestehend aus einer Anfrage für einen bestimmten Speicherblock.Wird durch einen response Befehl beantwortet. write : Speichert die Daten eines bestimmten Speicherblock im Hauptspeicher des Clusters. write/resp: Sendet den durch read angeforderten Speicherblock an den Anfrager und speichert den Block im Hauptspeicher.

32 32 WIRTSCHAFTS INFORMATIK Verifikation des Gigamax Protokolls In Abhängigkeit vom gesendeten Befehl, ist der Folgezustand des Bus Masters festgelegt:

33 33 WIRTSCHAFTS INFORMATIK Verifikation des Gigamax Protokolls Zustandsübergänge in der SMV Eingabesprache: ASSIGN init(state) := invalid; next(state) := case abort : state; master : case CMD = read-shared : shared; CMD = read-owned : owned; CMD = write-invalid : invalid; CMD = write-resp-invalid : invalid; CMD = write-shared : shared; CMD = write-resp-shared : shared; 1 : state; esac; !master & state = shared & (CMD = read-owned | CMD = invalidate) : invalid; state = shared : {shared,invalid}; 1 : state ; esac;

34 34 WIRTSCHAFTS INFORMATIK Verifikation des Gigamax Protokolls Alle Slaves hören den Bus ab und antworten auf den Befehl des Masters: reply-waiting(Slave wartet auf einen Block, ein read des Bus Masters würde vernichtet) reply-owned(veranlasst ein write/resp, snoop Variable wird gesetzt ) reply-stall (Slave kann nicht antworten) DEFINE reply-waiting := !master & waiting; DEFINE reply-owned := !master & state = owned;

35 35 WIRTSCHAFTS INFORMATIK Verifikation des Gigamax Protokolls Zustandsübergänge der snoop Variable VAR snoop : boolean; ASSIGN init(snoop) := 0; next(snoop) := case abort : snoop; state = owned & CMD = read-shared : 1; state = owned & CMD = read-owned : 1; CMD = write-resp-invalid : 0; CMD = write-resp-shared : 0; 1 : snoop; esac;

36 36 WIRTSCHAFTS INFORMATIK Verifikation des Gigamax Protokolls MODULE bus-device VAR master : boolean; cmd : {idle,read-shared,read-owned,write-invalid,write-shared, write-resp-invalid,write-resp-shared,invalidate,response}; waiting : boolean; reply-stall : boolean; ASSIGN init(waiting) := 0; next(waiting) := case abort : waiting; master & CMD = read-shared : 1; master & CMD = read-owned : 1; !master & CMD = response : 0; !master & CMD = write-resp-invalid : 0; !master & CMD = write-resp-shared : 0; 1 : waiting; esac; Zustandsübergänge der waiting Variable:

37 37 WIRTSCHAFTS INFORMATIK Verifikation des Gigamax Protokolls Befehle die der Bus Master senden darf: MODULE processor(CMD,REPLY-OWNED,REPLY-WAITING,REPLY-STALL) ASSIGN cmd := case master & state = invalid : {read-shared,read-owned}; master & state = shared & !waiting : read-owned; master & snoop & state = invalid : write-resp-invalid; master & snoop & state = shared : write-resp-shared; master & state = owned & !waiting : write-invalid; 1 : idle; esac;

38 38 WIRTSCHAFTS INFORMATIK Verifikation des Gigamax Protokolls Zusätzlich müssten noch die UIC Schnittstellen modelliert werden Diese können local oder remote sein Die local UIC können als Sender oder Empfänger fungieren

39 39 WIRTSCHAFTS INFORMATIK Verifikation des Gigamax Protokolls Überprüfung des Protokolls auf Deadlocks: Das erstellte Modell muss der folgenden Spezifikation genügen Zu jeder Zeit muss der explizit betrachtete Speicherblock die Möglichkeit haben writeable und auch wieder readable zu werden SPEC AG(EF readable & EF writeable)

40 40 WIRTSCHAFTS INFORMATIK Verifikation des Gigamax Protokolls Ergebnis der Verifikation mit dem SMV System: Das SMV System fand heraus, dass die Spezifikation nicht korrekt ist Die Entwickler des Systems haben den Deadlock durch Simulation nicht finden können Eine sehr komplexe Abfolge von 14 Schritten führt zu einem Deadlock Durch Analyse der Schrittfolge zum Deadlock, konnte der Fehler im Gigamax Protokoll behoben werden

41 41 WIRTSCHAFTS INFORMATIKGliederung 1. Einleitung 2. Grundlagen des SMC 3. Das SMV System 4. Verifikation des Gigamax Protokolls 5. Zusammenfassung

42 42 WIRTSCHAFTS INFORMATIKZusammenfassung Symbolisches Model Checking ermöglicht vollautomatische Verifikation Mit dem SMV System ist die Abstraktionsebene frei wählbar Wiederverwendung von Modulen erspart Kosten Es können komplexe Fehler entdeckt werden Aber auch das SMC kann an seine Grenzen stoßen

43 43 WIRTSCHAFTS INFORMATIK Vielen Dank für die Aufmerksamkeit !

44 44 WIRTSCHAFTS INFORMATIK


Herunterladen ppt "WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Das Symbolic Model Verifier (SMV) System Präsentation im Rahmen."

Ähnliche Präsentationen


Google-Anzeigen