endlicher automat ea
play

Endlicher Automat (EA) ea Revision: 1.8 1 siehe auch Formale - PowerPoint PPT Presentation

Endlicher Automat (EA) ea Revision: 1.8 1 siehe auch Formale Grundlagen 3 Motivation: Automaten fr die Modellierung, Spezifikation und Verifikation verwenden! Definition Ein Endlicher Automat A = ( S , I , , T , F ) besteht aus Menge von


  1. Endlicher Automat (EA) ea Revision: 1.8 1 siehe auch Formale Grundlagen 3 Motivation: Automaten für die Modellierung, Spezifikation und Verifikation verwenden! Definition Ein Endlicher Automat A = ( S , I , Σ , T , F ) besteht aus • Menge von Zuständen S (normalerweise endlich) • Menge von Initialzuständen I ⊆ S • Eingabe-Alphabet Σ (normalerweise endlich) • Übergangsrelation T ⊆ S × Σ × S → s ′ gdw. ( s , a , s ′ ) ∈ T gdw. T ( s , a , s ′ ) “gilt” schreibe s a • Menge von Finalzuständen F ⊆ S Systemtheorie 1 – Formale Systeme 1 #342234 – WS 2006/2007 – Armin Biere – JKU Linz

  2. Sprache eines EA ea Revision: 1.8 2 Definition Ein EA A akzeptiert ein Wort w ∈ Σ ∗ gdw. es s i und a i gibt mit a n − 1 a 1 a 2 a 3 a n → s 1 → s 2 → ... → s n − 1 → s n , s 0 wobei n ≥ 0 , s 0 ∈ I , s n ∈ F und w = a 1 ··· a n ( n = 0 ⇒ w = ε ). Definition Die Sprache L ( A ) von A ist die Menge der Wörter die er akzeptiert. • Benutze Automaten oder reguläre Sprachen zur Beschreibung von Ereignisströmen! • “Konformität” der Ereignisströme der Implementierung zu denen der Spezifikation! • Konformität kann präzisiert werden als Teilmengenbeziehung der Sprachen Systemtheorie 1 – Formale Systeme 1 #342234 – WS 2006/2007 – Armin Biere – JKU Linz

  3. Produkt-Automat ea Revision: 1.8 3 Definition Der Produkt Automat A = A 1 × A 2 von zwei EA A 1 und A 2 mit gemeinsamen Eingabealphabet Σ 1 = Σ 2 hat folgende Komponenten: S = S 1 × S 2 I = I 1 × I 2 Σ = Σ 1 = Σ 2 F = F 1 × F 2 T (( s 1 , s 2 ) , a , ( s ′ 1 , s ′ T 1 ( s 1 , a , s ′ 1 ) und T 2 ( s 2 , a , s ′ gdw. 2 )) 2 ) Satz Seien A , A 1 , und A 2 wie oben, dann L ( A ) = L ( A 1 ) ∩ L ( A 2 ) Beispiel: Konstruktion eines Automaten Wörter mit Prefix ab und Suffix ba akzeptiert. a · b · 1 ∗ ∩ 1 ∗ · b · a , (als regulärer Ausdruck: wobei 1 für alle Buchstaben steht) Systemtheorie 1 – Formale Systeme 1 #342234 – WS 2006/2007 – Armin Biere – JKU Linz

  4. Vollständigkeit und Determinismus ea Revision: 1.8 4 Definition Zu s ∈ S , a ∈ Σ bezeichne s a → die Menge der Nachfolger von s definiert als s a → = { s ′ ∈ S | T ( s , a , s ′ ) } Definition Ein EA ist vollständig gdw. | I | > 0 und | s a → | > 0 für alle s ∈ S und a ∈ Σ . Definition ... deterministisch gdw. | I | ≤ 1 und | s a → | ≤ 1 für alle s ∈ S und a ∈ Σ . Fakt ... deterministisch und vollständig gdw. | I | = 1 und | s a → | = 1 für alle s ∈ S , a ∈ Σ . Systemtheorie 1 – Formale Systeme 1 #342234 – WS 2006/2007 – Armin Biere – JKU Linz

  5. Teilmengenkonstruktion ea Revision: 1.8 5 Definition Der Power-Automat A = P ( A 1 ) eines EA A 1 hat folgende Komponenten ( P = Potenzmenge) S = P ( S 1 ) I = { I 1 } F = { F ′ ⊆ S | F ′ ∩ F 1 � = / Σ = Σ 1 0 } S ′′ = { s ′′ | ∃ s ′ ∈ S ′ mit T ( s ′ , a , s ′′ ) } T ( S ′ , a , S ′′ ) gdw. Satz A , A 1 wie oben, dann L ( A ) = L ( A 1 ) und A ist deterministisch und vollständig. Beispiel: Spam-Filter basierend auf der White-List “abb”, “abba”, und “abacus”! (Regulärer Ausdruck: “abb” | “abba” | “abacus”) Systemtheorie 1 – Formale Systeme 1 #342234 – WS 2006/2007 – Armin Biere – JKU Linz

  6. Komplement eines Automaten ea Revision: 1.8 6 Definition Der Komplementär-Automat A = K ( A 1 ) eines endlichen Automaten A 1 hat dieselben Komponenten wie A 1 , bis auf F = S \ F 1 . Satz Der Komplementär-Automat A = K ( A 1 ) eines deterministischen und vollständigen Automaten A 1 akzeptiert die komplementäre Sprache L ( A ) = L ( A 1 ) = Σ ∗ \ L ( A 1 ) . Beispiel: Spam-Filter basierend auf der Black-List “abb”, “abba”, und “abacus”! (Regulärer Ausdruck: “abb” | “abba” | “abacus” ) Systemtheorie 1 – Formale Systeme 1 #342234 – WS 2006/2007 – Armin Biere – JKU Linz

  7. Konformität von Ereigniströmen ea Revision: 1.8 7 • Modellierung und Spezifikation mit Automaten: – Ereigniströme einer Implementierung modelliert durch EA A 1 – Partielle Spezifikation der Ereigniströme als EA A 2 • Konformitäts-Test: – L ( A 1 ) ⊆ L ( A 2 ) – gdw. L ( A 1 ) ∩ L ( A 2 ) = / 0 – gdw. A 1 × K ( P ( A 2 )) keinen erreichbaren Finalzustand hat ( s | c ) 2 � ∗ � Spezifikation S = ( cs | sc | ss ) ∗ , Implementierung I = • Beispiel: Systemtheorie 1 – Formale Systeme 1 #342234 – WS 2006/2007 – Armin Biere – JKU Linz

  8. Weitere Beispiele zur Konformität ea Revision: 1.8 8 • Temporale Eigenschaften: ( 1 steht für ein beliebiges Zeichen) ( 1 · 1 · a ) ∗ – jeden dritten Schritt gilt a : ( a · a · a ) ∗ – genau jeden dritten Schritt gilt a : ( r ) ∗ · a – einem a (acknowledge) muss ein r (request) vorangehen: ( 1 ∗ · a ) ∗ · ( r ) ∗ · a – jedem a muss ein r vorangehen: • Verfeinerung: (am Beispiel Scheduling dreier Prozesse a , b und c ) ( abc | acb | bac | bca | cab | cba ) ∗ – abstrakter Round-Robin Scheduler: ( abc | acb | cab ) ∗ – Round-Robin Scheduler mit Vorrang a vor b : ( acb | cab ) ∗ – Round-Robin Scheduler mit Vorrang a vor b und c vor b : ( cab ) ∗ – deterministischer Round-Robin Scheduler der Implementierung: Systemtheorie 1 – Formale Systeme 1 #342234 – WS 2006/2007 – Armin Biere – JKU Linz

  9. Konformität bei Aussagenlogischen Spezifikationen ea Revision: 1.8 9 • ähnliche Vorgehensweise: – geg. aussagenlogische Formel f über den booleschen Variablen V = { x 1 ,..., x n } – Expansion E ( f ) ⊆ 2 n ist die Menge der erfüllenden Belegungen von f gdw. ( a 1 ,..., a n ) ∈ E ( f ) f [ x 1 �→ a 1 ,..., x n �→ a n ] = 1 – z.B. gdw. f erfüllbar (engl. satisfiable) E ( f ) � = / 0 • Modellierung und Spezifikation: – f 1 charakterisiert die für die Implementierung möglichen Konfigurationen – f 2 beschreibt eine partielle Spezifikation der gültigen Konfigurationen • Konformitäts-Test: gdw. gdw. f 1 ⇒ f 2 E ( f 1 ) ⊆ E ( f 2 ) E ( f 1 ) ∩ E ( f 2 ) = / 0 (oder in der Praxis: ... gdw. f 1 ∧¬ f 2 unerfüllbar) Systemtheorie 1 – Formale Systeme 1 #342234 – WS 2006/2007 – Armin Biere – JKU Linz

  10. Vom C-Programm zum EA durch Abstraktion ea Revision: 1.8 10 entry while (...) { lock (); ... lock() exit while (...) { if (...) { lock (); ... } else { unlock (); ... lock (); unlock() } ... } lock() unlock() ... lock() unlock(); } ( l · ( l | u · l ) ∗ · u ) ∗ Systemtheorie 1 – Formale Systeme 1 #342234 – WS 2006/2007 – Armin Biere – JKU Linz

  11. Probleme bei Abstraktion ea Revision: 1.8 11 assert (i < n); lock (); do { ... i++; if (i >= n) unlock (); ... } while (i < n); 1 ∗ · l · u ∗ l · ( ε | u ) ∗ verletzt partielle Spezifikation (“ ... ” führt weder zu einem lock noch unlock und lässt i und n unberührt) Systemtheorie 1 – Formale Systeme 1 #342234 – WS 2006/2007 – Armin Biere – JKU Linz

  12. Predicate Abstraction ea Revision: 1.8 12 verfeinerte Abstraktion zu EA durch Einführung einer Prädikats-Variable: b == ( i < n ) assert (i < n); assert (b); lock (); lock (); do { do { ... ... if (b) b = *; i++; abstrahiert zu if (i >= n) if (!b) unlock (); unlock (); ... ... } while (i < n); } while (b); l · ε ∗ · u 1 ∗ · l · u ∗ erfüllt partielle Spezifikation (“ ... ” führt weder zu einem lock noch unlock und lässt i und n unberührt) Systemtheorie 1 – Formale Systeme 1 #342234 – WS 2006/2007 – Armin Biere – JKU Linz

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend