Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 Computergestützte Verifikation 19.4.2002. 2 Inhalt System Abstraktion Spezifikation Simulation Formalisierung Model Checker Gegenbeispiel Modell log.

Ähnliche Präsentationen


Präsentation zum Thema: "1 Computergestützte Verifikation 19.4.2002. 2 Inhalt System Abstraktion Spezifikation Simulation Formalisierung Model Checker Gegenbeispiel Modell log."—  Präsentation transkript:

1 1 Computergestützte Verifikation

2 2 Inhalt System Abstraktion Spezifikation Simulation Formalisierung Model Checker Gegenbeispiel Modell log. Formel + - Verfeinerung Fehler- beseitigung Präzisierung Überlauf Kapitel 1: Systeme

3 3 Konstruktion des Transitionssystems ist Aufgabe des Model Checkers Als Modell wird dem Model Checker eine implizite Systembeschreibung übergeben Hinter jeder impliziten Beschreibung steckt ein Transitionssystem Zusammenfassung Kapitel 1 Es gibt viele Beschreibungssprachen

4 4 Kapitel 2 Temporale Logik

5 5 Inhalt System Abstraktion Spezifikation Simulation Formalisierung Model Checker Gegenbeispiel Modell log. Formel + - Verfeinerung Fehler- beseitigung Präzisierung Überlauf Kapitel 1: Systeme Kapitel 2: Temporale Logik

6 6 Warum nicht einfach PK 1? Beispiel: Wenn Prozess A eine Nachricht an B sendet, so wird (irgendwann spaeter) Prozess B eine Bestätigung zurückschicken. t (send(A,B,t) t (send(B,A,t))) Viel zu kompliziert Rechnen zu schwer

7 7 Was ist Temporale Logik? Es geht nicht um Zeit Es geht um Eigenschaften von Zuständen und deren Änderung in Systemabläufen Es ist (bei uns) eine Erweiterung der Aussagenlogik Real Time Logik

8 8 Die Temporale Logik CTL* (Computation Tree Logic) Ausgangspunkt: Eigenschaften von Zuständen Sei AP eine Menge von atomaren Aussagen. Jedes Element von AP ist eine Zustandsformel in CTL* Ein Zustand s erfüllt p AP gdw. s(p) = W. a,c ~ c a,c ~ b s ~ ps ~ p Jeder Zustand liefert eine Belegung der atomaren Aussagen mit Wahrheitswerten: s(p) {W,F}

9 9 Zustandseigenschaften Mailbox ist leer bin bei Anweisung k x[17] > 35 nil dereferenziert k,q,nk,q,n q,nq,n q x,kx,k Annahme: s(p) mit vernachlässigbarem Aufwand berechenbar aus Repräsentation von s im Rechner

10 10 Pfade in Transitionssystemen s1 s2 s3 s4 s5 s6 s1 s2 s3 s4 s5 s6 s4 s1 s5s6... s1 s5s6s4s5s6... s4 s5 s6 s4 Wir betrachten nur unendliche Pfade (ggf. unendliche Wiederholung des Endzustandes)

11 11 CTL* -Triviale Pfadformeln : a a,qbccc,d..... Jede Zustandsformel ist eine Pfadformel Ein Pfad erfüllt eine Zustandsformel gdw. sein erster Zustand sie erfüllt. ~ a ~ c ~ true a

12 12 CTL* - Der NACHFOLGER-Operator : a a,qbccc,d..... Wenn eine Pfadformel ist, so auch X Ein Pfad (s0 s1 s2 s3... ) erfüllt X gdw. (s1 s2 s3 s4... ) erfüllt. ~ X a a,qbccc,d..... ~ X X X b a,qbccc,d..... X X X bccc,d..... b b Tautologien: X w X X ( w X X

13 13 CTL* - Der IRGENDWANN-Operator : a a,q bccc,d..... Falls eine Pfadformel ist, so auch F Ein Pfad (s0 s1 s2 s3... ) erfüllt F gdw. (s[i] s[i+1] s[i+2] s[i+3]... ) erfüllt, für ein im0. ~ F b ~ X a - F( b. X c) Tautologien: u F X u F F w F F X F w F X F u F F F w X F F w F F bccc,d.....

14 14 CTL* - Der IMMER-Operator : a a,qb,qa,cq,c q..... Wenn eine Pfadformel ist, so auch G Ein Pfad (s0 s1 s2 s3... ) erfüllt G gdw. (s[i] s[i+1] s[i+2] s[i+3]... ) erfüllt, für alle im0. ~ G (a - q) Tautologien: G u G u X G u F G w G G G w F G G u G ( G G w G ( G w X G q

15 15 Kombinationen von F and G G F = gilt unendlich oft F G = stabilisiert G ( u F ) = führt zu Tautologien: F G F w G F G F G w F G

16 16 CTL* - Der BIS-Operator : a a,qc,qa,cq,c q..... Wenn und Pfadformeln sind, so auch U Ein Pfad (s0 s1 s2 s3... ) erfüllt U gdw. (s[i] s[i+1] s[i+2] s[i+3]... ) erfüllt, für ein im0, und (s[j] s[j+1] s[j+2]... ) erfüllt, für alle j < i. ~ a U c Tautologien: u U F w true U U. u U w. X ( U )) q a,d

17 17 Temporale Operatoren auf Pfaden – Zusammenfassung X / ; G / 1 U Symbol engl. Name nextstep eventually always until Vergangenheitsversion P / ; (previous) F / ( O / ( (once) B / 1 (always been) S (since) + atomare Aussagen + Boolesche Operatoren = Linear Time Temporal Logic (LTL)

18 18 Sicherheit und Lebendigkeit Eine Pfadeigenschaft kann aufgefaßt werden als die Menge derjenigen Pfade, die die Eigenschaft erfüllen S ist eine Sicherheitseigenschaft, wenn zu jedem S ein (endl.) Anfangsstück existiert, so daß jede unendliche Fortsetzung von ebenfalls S ist. Also: Verletzung einer Sicherheitseigenschaft kann nach endlicher Zeit festgestellt werden und ist permanent. Beispiele: G f X f

19 19 Sicherheit und Lebendigkeit L ist eine Lebendigkeitseigenschaft, wenn zu jedem endlichen Pfad eine Fortsetzung L existiert. Also: Für keinen Pfad kann ich mir nach endlicher Zeit sicher sein, daß er die Eigenschaft verletzt. Beispiele: F f GF f FG f Satz: Jede Pfadeigenschaft ist äquivalent zu einer Konjunktion aus einer Sicherheits- und einer Lebendigkeitseigenschaft.

20 20 Sicherheit und Lebendigkeit in der Praxis: Unterteilung in Sicherheit und Lebendigkeit sehr natürlich Sicherheit = nichts Schlimmes kann jemals passieren Lebendigkeit = Etwas Erwünschtes wird irgendwann passieren

21 21 s5 Der Berechnungsbaum s1 s2 s3 s4 s6 s1 s4s2 s4 s2 s5 s3 s5 s1 s5 s6 s2s4s6s4

22 22 a,q Der Berechnungsbaum a,b q c q cq a,q a,ba,qq qcqc ist unendlich in jedem Zweig Zu jedem (Anfangs-)zustand gibt es genau einen Berechnungsbaum Berechnungsbaum hat die gleichen Pfade wie zugrundeliegendes Transitionssystem (beim gleichen Anfangszustand)

23 23 CTL* -Pfadquantoren s Wenn eine Pfadformel ist, so ist E eine Zustandsformel s erfüllt E gdw. es einen Pfad gibt, der bei s beginnt und ~ a,b a,d c s ~ E F cs ~ A X a Tautologien: A w E A u E Wenn eine Pfadformel ist, so ist A eine Zustandsformel s erfüllt A gdw. für alle Pfade die bei s beginnen, gilt: ~

24 24 CTL* - Komplexe Formeln G E F a a a a aa a Zustandsformel Pfadformel CTL* = Atomare Zustandsaussagen + Boolesche Operatoren + Temporale (Pfad-) Operatoren + Pfadquantoren

25 25 CTL* - Zusammenfassung sehr ausdrucksstark Keine effizienten Algorithmen bekannt Es gibt effiziente Algorithmen für Fragmente von CTL* CTL* LTL CTL nur Pfad- formeln Nur Zust.- formeln

26 26 Computation Tree Logic (CTL) CTL = atomare Zustandsaussagen + Boolesche Operatoren + Paare [ Pfadquantor, Temporaloperator ] AG (invariant) AF (irgendwann) AX (in allen Nachf.) A(. U. ) (bis) EG (mgl.weise immer) EF (möglich) EX (in einem Nachf.)E(. U. ) (bis)

27 27 CTL –AG und EF s s ~ EF grün s ~ AG blau Tautologien: AG w EF AG AG w AG EF EF w EF u EF AG u AG EF AG EF w AG EF EF AG EF AG w EF AG

28 28 CTL –EG und AF s s ~ AF grün Tautologienb: EG w AF EG EG w EG AF AF w AF u AF EG u s ~ EG blau

29 29 CTL –AX und EX s s ~ EX grün Tautologien: AX w EX AX u EX s ~ AX blau

30 30 CTL –AU und EU s Tautologien: EF w E(true U ) AF w A(true U ) A( U ) w EG - E( U (. )) s ~ E(grün U gelb) s ~ A(blau U rot)

31 31 Einige relevante CTL-Eigenschaften AG sicher - nichts Schlimmes passiert jemals AG eine Aktion enabled - Verklemmungsfrei AF Ziel - Irgendwann wird man es schaffen EF Menüpunkt - man kann sich zu ihm durchklicken AG(req u AF ack) -Auf jeden Req folgt ein Ack AG AF verfügbar -...es macht Sinn zu warten AG EF exit - man kann immer sauber beenden

32 32 Gegenbeispiele System Abstraktion Spezifikation Simulation Formalisierung Model Checker Gegenbeispiel Modell log. Formel + - Verfeinerung Fehler- beseitigung Präzisierung Überlauf

33 33 Gegenbeispiele für A-Formeln Gegenbeispiel für... = Zeugenpfad für... AG EF AF EG (AX ) (EX ) A( U ) EG oder E( U (. ))

34 34 Basen für die Temporaloperatoren LTL : X und U F true U G F CTL: (E/A)X und EU und AU AX EX sonst analog LTL oder (E/A)X und EU und EG A( U ) (EG E( U (

35 35 Gültigkeit in Transitionssystemen Ein Transitionssystem erfüllt eine CTL*-Formel, falls zu jedem Anfangszustand der zugehörige Berechnungsbaum erfüllt. Ein Transitionssystem erfüllt eine LTL-Formel, falls jeder bei einem Anfangszustand beginnende Pfad erfüllt. Ein Transitionssystem erfüllt eine CTL-Formel, falls jeder Anfangszustand erfüllt. Tautologie: A

36 36 Interessante Probleme 1.Erfüllbarkeit: Geg.: Formel Frage: Gibt es ein Transitionssystem, in dem gilt? 2.Axiomatisierbarkeit: Frage: Gibt es eine endl. Menge von Formeln und Regeln, aus denen sich alle Tautologien ableiten lassen? 3. Model Checking: Geg.: Formel und Transitionssystem TS Frage: Erfüllt TS ? CTL*: O(2 | | |TS|) LTL: O(2 | | |TS|) LTL: O(| | |TS|)

37 37 Übung 1 Gegeben ist folgender Pfad. Die Notation (... ) * soll bedeuten, daß sich die eingeklammerte Sequenz bis ins Unendliche wiederholt. Welche Pfadeigenschaften sind erfüllt? aa,bda,dbca,c b,cc ()* G ((a d) X X G c) G (a F b) G ( a X b ) ( c) U b (F b) U c

38 38 Übung 2 Welche der folgenden Formeln sind Tautologien? F F ( U )G ( U ) G F U U X U ( U ) ( ) U

39 39 Übung 3 Formalisiere folgende Spezifikationen in CTL* (wähle dazu geeignete atomare Aussagen)! Eine im Bahnhof stehende S-Bahn schließt die Türen, bevor sie abfährt Es ist nie möglich, vom 2. Gang in den 4. Gang zu schalten, ohne zwischendurch in den 3. Gang geschaltet zu haben Hinweis: Man braucht wirklich keine Vergangenheitsoperatoren! Zwei parallele Prozesse schreiben nie gleichzeitig auf die geteilte Variable x. Jede Variable ist initialisiert, bevor sie das erste Mal benutzt wird.


Herunterladen ppt "1 Computergestützte Verifikation 19.4.2002. 2 Inhalt System Abstraktion Spezifikation Simulation Formalisierung Model Checker Gegenbeispiel Modell log."

Ähnliche Präsentationen


Google-Anzeigen