Formale Verifikation

  • Formale Verifikation
  • Simulation und formale Verifikation
  • Werkzeuge der formalen Verifikation
  • Equivalence-Checking: Problemstellung
  • Erfüllbarkeitsproblem(Satisfiability,SAT)
  • SAT1-Problem
  • SAT-Equivalence-Checker
  • Graphenisomorphie
  • Binary Decision Diagrams (BDDs)
  • Binärer Entscheidungsbaum: Beispiel
  • Zusammenfassen identischer Teilbäume
  • Entfernen überflüssiger Knoten
  • Abhängigkeit der Knotenanzahl von der Entwicklungsreihenfolge
  • Vorteile der BDDs
  • Beispiel:ALU(SN74181)
  • Model-Checking
  • Symbolic Model Checking
  • Zustandsmengen
  • Temporale Logik
  • Elemente von CTL
  • CTL-Syntax
  • AX und EX
  • AF and EF
  • AG und EG
  • Beispiel: Modulo-3-Zähler
Startseite
SAT1- Problem ● Geg.: Boolesche Funktion f in n Variablen x=(x1, x2, .., xn) in konjunktiver Normalform ● Beispiel: f(x) = (x1 + x2+...+ xn) *...* (x1 + x2+...+ xn) ● Ges.: Belegung x ∈ {0,1}n mit f(x)=1, falls diese existiert ● Im schlechtesten Fall müssen alle möglichen Belegungen getestet werden. ● Anzahl der möglichen Belegungen: 2n n = 10 ergibt 210 = 1024 ≈103 n = 1000 ergibt 21000 = 210*100 ≈103*100 = 10300 ● Rechenzeitkomplexität von "Satisfiability": O (2n) Satisfiability ist NP-vollständig.    

SAT ist ein klassisches NP-vollständiges Problem und ist im Allgemeinen nicht effizient lösbar. Dennoch gibt es Verfahren, die in vielen praktischen Anwendungen gute Ergebnisse zeigen. Vor allem in den letzten 10 Jahren wurden neue Techniken entwickelt, die ein effizientes Lösen von Formeln mit einer großen Zahl von Variablen ermöglichen.