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

Slides:



Advertisements
Ähnliche Präsentationen
Matrixmultiplikation
Advertisements

Anzahl der ausgefüllten und eingesandten Fragebögen: 211
Daniel Neumann Seminar Systementwurf Wintersemester 2006/07 Zustandsautomaten/ Kripke-Strukturen Daniel Neumann
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
Einführung in die Informatik: Programmierung und Software-Entwicklung
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
CPCP Institute of Clinical Pharmacology AGAH Annual Meeting, 29. Februar 2004, Berlin, Praktischer Umgang mit den Genehmigungsanträgen gemäß 12. AMG Novelle.
Hauptseminar Modellüberprüfung Kathrin Ott
Seminar Modellüberprüfung
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2012.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
E / IDE Enhanced / Integrated Device Elektronics
Systemanalyse In der Systemanalyse wird aus den fachspezifischen Anforderungen das Systemmodell erstellt; im Systemmodell ist spezifiziert, was das System.
1 Computergestützte Verifikation Symbolisches Model Checking 4.1 CTL Model Checking mit Binary Decision Diagrams (1. Systeme 2. Spezifikationen.
1 Computergestützte Verifikation Teil II Infinite State Systems.
Computergestützte Verifikation
Scratch Der Einstieg in das Programmieren. Scatch: Entwicklungsumgebung Prof. Dr. Haftendorn, Leuphana Universität Lüneburg,
© 2006 W. Oberschelp, G. Vossen Rechneraufbau & Rechnerstrukturen, Folie 2.1.
OpenMP Präsentation im Rahmen des Seminars
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
Symbolisches Model Checking mit Binary Decision Diagrams
© Karin Haenelt 2006, Operationen auf Akzeptoren und Transduktoren, ( ) 1 Operationen auf endlichen Akzeptoren und Transduktoren.
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Betreuerin: Kathleen Jerchel
Christian Schindelhauer
Christian Schindelhauer
GROOVE Graphs for Object-Oriented Verification Seminar: SEFSIS Sommersemester 2006 Basil Becker
AC Analyse.
Inhalte und Maßnahmen eingegeben haben,
Rechneraufbau & Rechnerstrukturen, Folie 12.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 12.
Grundkurs Theoretische Informatik
Distanzbasierte Sprachkommunikation für Peer-to-Peer-Spiele
2 Distanzbasierte Sprachkommunikation für Peer-to-Peer-Spiele.
1. 2 Schreibprojekt Zeitung 3 Überblick 1. Vorstellung ComputerLernWerkstatt 2. Schreibprojekt: Zeitung 2.1 Konzeption des Kurses 2.2 Projektverlauf.
Bild 1.1 Copyright © Alfred Mertins | Signaltheorie, 2. Auflage Vieweg+Teubner PLUS Zusatzmaterialien Vieweg+Teubner Verlag | Wiesbaden.
20:00.
SK / , , in Hochkössen und der Wildschönau flow Ski- und Snowboardschule Intersport Menzel.
Zusammenfassung der Vorlesung
Where Europe does business Lück, JDZB | Seite © GfW NRW 252 a.
Generalisierung/Spezialisierung Subtypisierung/Vererbung
NEU! 1 2. Wo kommt diese Art von Rezeptor im Körper vor?
Analyse von Ablaufdiagrammen
HORIZONT 1 XINFO ® Das IT - Informationssystem HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 /
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Publikation auf Knopfdruck Judith Riegelnig Michael Grüebler 19. Oktober 2010 / Statistiktage Neuenburg.
Symmetrische Blockchiffren DES – der Data Encryption Standard
Managemententscheidungsunterstützungssysteme (Ausgewählte Methoden und Fallstudien) ( Die Thesen zur Vorlesung 3) Thema der Vorlesung Lösung der linearen.
PARTENARIAT ÉDUCATIF GRUNDTVIG PARTENARIAT ÉDUCATIF GRUNDTVIG REPERES KULTURELLER ZUSAMMENHALT UND AUSDEHNUNG DER IDEEN AUF EUROPÄISCHEM.
Das IT - Informationssystem
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Analyseprodukte numerischer Modelle
Pigmentierte Läsionen der Haut
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Vortrag von Rechtsanwältin Verena Nedden, Fachanwältin für Steuerrecht zur Veranstaltung Wege zum bedingungslosen Grundeinkommen der Piratenpartei Rhein-Hessen.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Technische Frage Technische Frage Bitte löse die folgende Gleichung:
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
SiLeBAT Sicherstellung der Futter- und Lebensmittelwarenkette bei bio- und agro-terroristischen (BAT)-Schadenslagen.
Bildergalerie PRESEASON CAMP Juni 2014 Romanshorn Get ready for the Season!
Vs Objektpufferung (caching) = dynamische, ad-hoc-Replikation einer Primärkopie: Zugriffswilliger beschafft sich temporär eine lokale Kopie cache.
Das IT - Informationssystem
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
Monatsbericht Ausgleichsenergiemarkt Gas – November
 Präsentation transkript:

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 WIRTSCHAFTS INFORMATIKGliederung 1. Einleitung 2. Grundlagen des SMC 3. Das SMV System 4. Verifikation des Gigamax Protokolls 5. Zusammenfassung

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

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 WIRTSCHAFTS INFORMATIKEinleitung Modell kann verifiziert werden durch: Simulation Testen Formale Beweise (z.B. Induktion) Symbolisches Model Checking (SMC)

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

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 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 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 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 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 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 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 WIRTSCHAFTS INFORMATIKGliederung 1. Einleitung 2. Grundlagen des SMC 3. Das SMV System 4. Verifikation des Gigamax Protokolls 5. Zusammenfassung

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 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 WIRTSCHAFTS INFORMATIK Das SMV System Ablauf der Verifikation

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 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 WIRTSCHAFTS INFORMATIK Das SMV System Erstellung des Modells

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 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 WIRTSCHAFTS INFORMATIK Das SMV System Ergebnis der Verifikation

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 WIRTSCHAFTS INFORMATIKGliederung 1. Einleitung 2. Grundlagen des SMC 3. Das SMV System 4. Verifikation des Gigamax Protokolls 5. Zusammenfassung

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 WIRTSCHAFTS INFORMATIK Verifikation des Gigamax Protokolls Architektur des Systems:

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 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 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 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 WIRTSCHAFTS INFORMATIK Verifikation des Gigamax Protokolls In Abhängigkeit vom gesendeten Befehl, ist der Folgezustand des Bus Masters festgelegt:

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 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 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 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 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 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 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 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 WIRTSCHAFTS INFORMATIKGliederung 1. Einleitung 2. Grundlagen des SMC 3. Das SMV System 4. Verifikation des Gigamax Protokolls 5. Zusammenfassung

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 WIRTSCHAFTS INFORMATIK Vielen Dank für die Aufmerksamkeit !

44 WIRTSCHAFTS INFORMATIK