Slides:



Advertisements
Ähnliche Präsentationen
Deduktive Datenbanken
Advertisements

Temporale Logiken: LTL und CTL
Vorlesung Compilertechnik Sommersemester 2008
6. Regelbasierte Systeme
LTL - Modellüberprüfung
Statistische Aspekte der PSG
Frame-Logik Eine Einführung Andreas Glausch.
Prof. Dr. Holger Schlingloff
Eingebettete Systeme Qualität und Produktivität
Bounded Model Checking II
Default Logiken Zhao Li
Organisatorisches Klausur für Übungsschein (Anfang Januar)
8. Formale Sprachen und Grammatiken
Finale Semantik und beobachtbares Verhalten
Hauptseminar Modellüberprüfung Kathrin Ott
Kapitel 7 State-Machines/Zustandsautomaten
Kapitel 4 Datenstrukturen
Syntax der Aussagenlogik
Verifizieren versus Berechnen
Terminierung und Deadlocks Enkhbat Daginaa Betreuerin Prof. Heike Wehrheim Totale Korrektheit.
Computergestützte Verifikation
Computergestützte Verifikation
Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST.
Kapitel 5 Stetigkeit.
Symbolisches Model Checking mit Binary Decision Diagrams
© Karin Haenelt 2006, Äquivalenzen Reg.Ausdrücke, Reg.Sprachen, EA ( ) 1 Reguläre Sprachen Karin Haenelt.
Prof. Dr. T. Kudraß1 Relationenkalkül. Prof. Dr. T. Kudraß2 Relationenkalkül Zwei Ausprägungen: Tupelrelationenkalkül (TRK) und Domänenrelationenkalkül.
Beispiele für Ausdrucksalgebren
Gleichungskalkül und Induktion
Mittelwert, Median, Quantil
Seminar: Architekturbeschreibungssprachen
Christian Schindelhauer
Christian Schindelhauer
Explizite und editierbare Metainformationen für Software Muster.
 zwei Kernbereiche: Pragmatik Satz  Äußerung
Folie 1 Kapitel II. Vom Raumbegriff zu algebraischen Strukturen Neubeginn: Herleitung des Begriffs Vektorraum aus intuitiven Vorstellungen über den Raumbegriff.
Isabelle/HOL ( Kripke Structures & Model Checking ) Ying Wang, Nelli Bärsch, Bartosz Rynarzewski,
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
RDF MT Resource Description Framework Model Theory © 2002 by Emir Blažević
Grenzen der Regularität
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation
Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation
Aufgabensammlung Thermodynamik Frank-Michael Barth ISBN: © 2014 Oldenbourg Wissenschaftsverlag GmbH Abbildungsübersicht / List of Figures.
Aufgabenstellung Aufgabenstellung: What do the following terms (formulae) express? Which of these terms characterize all sequences of real numbers , x_n.
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Zustandsübergangsdiagramme (1)
Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02.
Noam CHOMSKY, Sheila GREIBACH
Petrinetze 1. Einführung Informatik : wesentlich Modellierung von
Folie Beispiel für eine Einzelauswertung der Gemeindedaten (fiktive Daten)
Richten Mit klicken weiter.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.

Folie Einzelauswertung der Gemeindedaten


7. Formale Sprachen und Grammatiken
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Kapitel 5Strukturen Information aus der realen Welt werden in einem informationsverarbeitenden System als Daten abgelegt. Diese stellen also eine (vereinfachte)
? definierende Gleichungen  gültige Gleichungen ?
(Wirtschafts-)mathematik I Mathe im Wandel der Zeit Volksschule 1960: Ein Bauer verkauft einen Sack Kartoffeln für 50 DM. Die Erzeugerkosten betragen 40.
 Präsentation transkript:

Übersicht 1. Einführung in den Software-Entwurfsprozess 2. Anforderungsspezifikation mit Zustandsmaschinen 3. Anforderungsspezifikation mit Linearer Temporaler Logik 4. Automatenbasiertes Model Checking 5. Die Modellierungssprache Promela und der SPIN Model Checker 6. Effizienzsteigernde Massnahmen 7. Anwendungsbeispiele von SPIN Model Checking 8. Eine visuelle Entwicklungsumgebung für Promela/Spin 9.Verwandte, semi-formale Modellierungsmethoden Entwurf von Telekommunikationssystemen

Logik für Temporale Anforderungen S1 S2 a b b, c a, c Q = {S1, S2}, q = S1, F = {S1} Büchi-Automaten repräsentieren einen operationellen Ansatz zur Beschreibung temporaler Anforderungen an reaktive Systeme Idee: Verwendung von Logiken als abstrakter, deskriptiver Ansatz zur Spezifikation temporaler Anforderungen (s)((s(a)  ((s | i  j)(s(b)))) explizite Quantisierung über Zustandssequenzen Entwurf von Telekommunikationssystemen

Modallogik Die Wahrheit von elementaren Propositionen und von Teilformeln wird mit Modalitäten versehen Lp: „es ist notwendig, dass p wahr ist“ Mp: „es ist möglich, dass p wahr ist“ Lp: „es ist nicht notwendig, dass p wahr ist“ Mp: „es ist unmöglich, dass p wahr ist“ Formeln der Modallogik Sei  eine Menge atomarer Propositionen und sei p in , dann gilt: p ist eine Formel falls  eine Formel ist, dann ist  eine Formel falls  und  Formeln sind, dann sind auch          (Implikation)    (Äquivalenz) L  M  Formeln Entwurf von Telekommunikationssystemen

Modallogik Interessante Fragen Modelle Lp  p ? Lp  Mp ? Mp  Lp ?  Notwendigkeit einer Semantikdefinition und Axiomatisierung Modelle Modallogiken werden über semantischen Modellen interpretiert Die Struktur (mathematischen Eigenschaften) dieser Modelle entscheidet darüber, welche der oben genannten Formeln gültig sind Für eine gegebene Instanz eines Modells kann der Wahrheitswert einer modallogischen Formel bestimmt werden Sei  eine Menge von atomaren Propositionen. Ferner, sei W eine Menge von Welten, V  W x W eine Sichtbarkeitsrelation auf den Welten, und A: W x   {wahr, falsch}, dann nennen wir (W, V, A) ein Modell oder eine Kripke-Struktur Entwurf von Telekommunikationssystemen

Modallogik Interpretation der Modaloperatoren Struktur von R Beispiele q p q p q w w w Interpretation der Modaloperatoren Lp: für alle sichtbaren Welten ist p wahr Mp: es gibt eine sichtbare Welt, in der p wahr ist Struktur von R Reflexivität Transitivität Beispiele In w ist Mp wahr In w ist Lp wahr, falls R nicht reflexiv ist In w ist Lq wahr, falls R nicht transitiv ist In w ist Mq wahr, falls R transitiv ist Entwurf von Telekommunikationssystemen

Modallogik Modelltheoretische Semantik der Modallogik Sei M = (W, V, A) ein Kripke-Modell,  eine Menge von atomaren Propositionen und p  , w und v  W, und  und  Formeln, dann definieren wir die Relation  (Erfüllungsrelation) für M wie folgt: (M, w)  p gdw A(w, p) = wahr (M, w)  p gdw A(w, p) = falsch (M, w)   gdw (M, w)   und (M, w)   (M, w)  L gdw (v: (w, v)  V)((M, v)  ) (M, w)  M gdw (v: (w, v)  V)((M, v)  ) Weiter definieren wir syntaktisch     (  )            (  )  (  ) M  L Entwurf von Telekommunikationssystemen

Modallogik Axiomatisierung Definition Theorem Weitere Axiome A6. L(  )  (L  L) A7. L  LL A8. M  LM Definition Theorem Wir nennen eine Formel , die von der Menge der Axiome abgeleitet werden kann, ein Theorem und schreiben |— . Weitere Axiome T1. |—  und |— (  ) impliziert |—  (modus ponens) T2. |—  impliziert |— L Entwurf von Telekommunikationssystemen

Modallogik Verhältnis Axiome - Sichtbarkeitsrelation A5 gdw R ist reflexiv L   A7 gdw R ist transitiv L  LL A6 gilt für jede beliebige Sichtbarkeitsrelation L(  )  (L  L) Systeme der Modallogik [Hughes and Cresswell] A1- A6 T1, T2: System T System T, A7: System 4 System 4, A8: System 5 Systeme T, 4 und 5 verfügen über eine widerspruchsfreie und vollständige Aximatisierung Modallogische Formeln können daher für ein bestimmtes System gültig und für ein anderes ungültig sein     Entwurf von Telekommunikationssystemen

Modallogik Temporale Interpretation der Modallogik Welten entsprechen Systemzuständen Sichtbarkeitsrelation entspricht Folge der Systemzustände ein System sieht seinen aktuellen Zustand  Reflexivität Systemzustand s folgt auf s und s folgt auf s, dann folgt s auf s  Transitivität Temporale Logik ist eine Interpretation der Modallogik auf Basis der System 4 Axiomatisierung Die Lineare Temporale Logik (LTL), die wir im folgenden betrachten, basiert auf System 4.3.1 nach [Hughes and Cresswell] neben Reflexivität und Transitivität gelten Konnektivität und Diskretheit Für mehr Information über Modallogik siehe auch [Huth and Ryan] Entwurf von Telekommunikationssystemen

Temporale Prädikate P1 P2 Zustandssequenz Wenn eine komplette, korrekte Telefonnummer gewählt worden ist, und der angerufene Teilnehmer nicht besetzt ist, und der Anrufer nicht bisher aufgelegt hat, dann wird der Angerufene irgendwann später einen Klingelton erhalten. P2 Wenn es bei dem Angerufenen klingelt und er den Hörer aufnimmt, dann wird irgendwann später die Telefonverbindung hergestellt sein. Zustandssequenz Vollständige Spezifikation wird durch Konjunktion aller P gewonnen gewählt ...  besetzt, klingeln, aufnehmen verbunden P1 P2 s s s Entwurf von Telekommunikationssystemen

Zustandssprache Zustandssprache ([Manna and Pnueli 1992]) Sei V ein Vokabular bestehend aus Variablennamen, und sei für jede Variable eine Domäne mit entsprechenden Ausdrücken für Funktionen und Operatoren definiert Ausdrücke jede Variable x  V Funktionsausdrücke der Form (e, ..., e) falls alle e, ..., e Ausdrücke sind Bsp.: x+3y, hd(q).x, A  B Atomare Formeln jede Proposition x  V P(e, ..., e) falls P ein Prädikat über V Bsp.: x > y+1, x  A  B Zustandsformeln jede atomare Formel falls p, q atomare Formeln, dann sind p, p  q, p  q, p  q, p  q Entwurf von Telekommunikationssystemen

Zustandssprache Semantik der Zustandssprache Zustand ein Zustand s über V ist eine Interpretation die jeder Variable u  V ein Wert des jeweiligen Wertebereichs zuweist s[u] Modell Ein Modell  über V ist eine unendliche Folge  = s, s, ... so, dass jedes s ein Zustand über V ist Ausdrücke s ist Zustand über V, e ein Ausdruck über V s[e] (Auswertung von e im Zustand s) definiert durch Wert von x  V is s[x] für (e, ..., e) wird definiert durch s[(e, ..., e)] = (s[e], ..., s[e]) Entwurf von Telekommunikationssystemen

Zustandssprache Boolesche Formel  in s (s[]) für atomare Formeln P(e, ..., e) s[P(e, ..., e)] = P(s[e], ..., s[e]) für boolesche Formeln, die durch boolesche Operatoren gebildet werden s[p] = s[p] s[p  q] = s[p]  s[q] s[p  q] = s[p]  s[q] s[p  q] = s[p]  s[q] s[p  q] = s[p]  s[q] Beispiel s[(x+z = 2y)  (y > z)] = (s[x]+s[z] = 2.s[y])  (s[y] > s[z]) = ((0 + 2 = 2.1)  (1 > 2)) = wahr  falsch = falsch Entwurf von Telekommunikationssystemen

Zustandssprache Erfüllung einer Formel durch einen Zustand sei s ein Zustand und p eine Zustandsformel wir definieren die Relation s||=p durch s ||= p gdw s[p] = wahr s ||= p gdw nicht s ||= p s ||= p  q gdw s ||= p oder s ||= q (die Regeln für die übrigen Booleschen Operatoren können abgeleitet werden) Falls s ||= p sagen wir dass s ein p-Zustand ist Entwurf von Telekommunikationssystemen

Erfüllbarkeit und Gültigkeit Zustands-Erfüllbarkeit p ist zustandserfüllbar, falls es einen Zustand s gibt, so dass s ||= p Zustands-Gültigkeit p ist zustandsgültig, falls s ||= p für alle Zustände s Beispiele Sei x eine ganze Zahl 0 < x < 2 ist zustandserfüllbar (0 < x < 1) ist zustandsgültig Entwurf von Telekommunikationssystemen

Temporallogik Temporale Formeln Interpretation über Sequenzen Seien p, q Formeln der Zustandssprache p ist eine temporale Formel p, p, p, p U q und pW q sind temporale Formeln Interpretation über Sequenzen Wir betrachten unendliche Sequenzen von Zuständen  = s, s, .., s, ... Wir definieren die Relation Erfüllungsrelation  über Zustandssequenzen und schreiben (, j)  p falls die Sequenz  an Position j die temporallogische Formel p erfüllt Zustandsformeln (, j)  p gdw s ||= p Entwurf von Telekommunikationssystemen

Temporallogik Zustandsformeln (, j)  p gdw s ||= p Beispiel: p  x = y p f f w f f f  s s s s s s ... x = 1 2 3 4 5 6 ... y = 5 4 3 2 1 0 ... Entwurf von Telekommunikationssystemen

Operatoren der Temporallogik Next () Sei p eine temporallogische Formel (, j)  p gdw. (, j+1)  p Beispiel p   (x = y) ... p f w f f f f  s s s s s s ... x = 1 2 3 4 5 6 ... y = 5 4 3 2 1 0 ... Entwurf von Telekommunikationssystemen

Operatoren der Temporallogik Henceforth () Sei p eine temporallogische Formel (, j)  p gdw. (k: kj)(, k)  p Beispiel p  x > 3 ... p f f f w w w  s s s s s s ... x = 1 2 3 4 5 6 ... Entwurf von Telekommunikationssystemen

Operatoren der Temporallogik Eventually () Sei p eine temporallogische Formel (, j)  p gdw. (k: kj)(, k)  p Beispiel p  x = 4 Anmerkung (, j)  p impliziert (k: kj)(, k)  p  und  sind duale Operatoren: p  p p  p ... p w w w w f f  s s s s s s ... x = 1 2 3 4 5 6 ... Entwurf von Telekommunikationssystemen

Operatoren der Temporallogik Until (U) Seien p und q temporallogische Formeln (, j)  p U q gdw. (k: kj)((, k)  q) und (i: j  i < k)((, i)  p) Beispiel Anmerkung p  wahr U p p U q  q pUq ... w w w w f f  s s s s s s ... p w w w * * * ... q f f f w f f ... Entwurf von Telekommunikationssystemen

Operatoren der Temporallogik Unless (W) oder Weak Until Seien p und q temporallogische Formeln (, j)  p W q gdw. (, j)  p U q oder (, j)  p Beispiel Anmerkung p  p W falsch p W q  p U q  p ... pWq w w w w f f  s s s s s s ... p w w w * * * ... q f f f w f f ... pWq w w w w f f ...  s s s s s s ... p w w w w w w ... q * * * * * * ... Entwurf von Telekommunikationssystemen

Beispiele Beispiele p   q “ein p-Zustand am Anfang wird irgendwann von einem q-Zustand gefolgt” (p   q)  p  q jedes Vorkommen von p wird irgendwann von q gefolgt auch genannt “p leads-to q” (von Lamport eingeführt), z.B. DATreq  DATind  (DATreq   DATind) p * ... q p q q p * ... Entwurf von Telekommunikationssystemen

Beispiele Beispiele p “ hat unendlich viele p-Postitionen” p “ hat nur endlich viele p-Postitionen” p p ... p p  p ... Entwurf von Telekommunikationssystemen

Beispiele Beispiele (p  q) “Der Nachfolger jedes p-Zustands ist ein q-Zustand” (p  p) (p  p) “Der Nachfolger jedes p-Zustands ist ein p-Zustand” “Einmal p, immer p” Entwurf von Telekommunikationssystemen

Erfüllung und Gültigkeit Gegeben sei Zustandsfolge (oder Modell)  und Formel p  erfüllt die Formel p an Position i (oder s ist ein p-Zustand oder eine p-Postition) falls (, i)  p  erfüllt die Formel p (oder p gilt für ), falls (, 0)  p und wir schreiben dann   p Gültigkeit Eine Formel p ist eine gültige Formel falls gilt ()(  p), und wir schreiben dann  p Wir suchen nach gültigen Formeln der TL die es uns erlauben, Eigenschaften in anderer, äquivalenter Form nierderzuschreiben Für Formeln p und q schreiben wir p  q für (p  q) (“entailment”) p  q für (p  q) Entwurf von Telekommunikationssystemen

Gültige Formeln Entailment Expansion p  p p U q  (p  q) p W q  (p  q) p  p q  p U q q  p W q Expansion p  (p  p)  p  (p    p) p U q  (q  [p  (p U q)]) p W q  (q  [p  (p W q)]) Entwurf von Telekommunikationssystemen

Gültige Formeln Dualitäten Starke und schwache Operatoren p  p (p U q)  (q) W (p q) (p W q)  (q) U (p q) p  p Starke und schwache Operatoren p U q  (p W q  q) p W q  (p U q  p) p U q  p W q Entwurf von Telekommunikationssystemen

Gültige Formeln Indempotenz Absorption Zweifache Anwendung gleich einfacher Anwendung p  p  p  p p U (p U q)  (p U q) p W (p W q)  (p W q) (p U q) U q  (p U q) (p W q) W q  (p W q) Absorption p  p p  p Zusammen mit den Indempotez-Regeln kann man daher zeigen, dass es für eine Formel p, die frei von temporalen Operatoren ist, nur 4 unterschiedliche unäre Modalitäten gibt: p, p, p, p (Dies entspricht der “finite-model property” der System 4.3.1 Modallogik nach [Hughes and Cresswell]) Entwurf von Telekommunikationssystemen

Gültige Formeln Kommutativität mit  Distribution (p)  p (p  q)  p  q (p W q)  p W q Distribution (p  q)  p  q (p  q)  p  q (p  q)  p  q (p  q)  p  q Entwurf von Telekommunikationssystemen

Basisoperatoren und Axiomatisierung Mögliche Menge von Basisoperatoren , W,  Abgeleitete Operatoren p = p W falsch p = p = (p W falsch) p U q = p W q  q = p W q  (p W falsch) Mögliche Axiomatisierung p  p p  p (pq)  (p q) (pq)  (p q) p  p (p  p)  (p  p) p W q  [q  (p  (p W q))] p  p W q Entwurf von Telekommunikationssystemen

Eigenschaften Eigenschaftsklassen in Temporaler Logik Verwendung der syntaktischen Form der Formeln Eine Eigenschaft    wird durch eine Formel  der Temporallogik spezifiziert, falls  über dem Zustandsvokabular  definiert ist und die folgende Bedingung gilt:    gdw.     bildet daher eine Entscheidungsmechanismus, der festlegt, ob eine Zustandsfolge des Systems zu den zulässigen Zustandsfolgen gehört. Safety-Prgress Klassifikation [Manna and Pnueli] Klassifikation orthogonal zu der Sicherheits-Lebendikgeits Klassifikation  Entwurf von Telekommunikationssystemen

Eigenschaften Safety kanonische Form: p Eine Sicherheitseigenschaft (safety property) ist eine Eigenschaft, die durch eine Sicherheitsformel ausgedrückt werden kann Beispiele: (x > 0) ((y  2) W (x = 1)) = ((y = 2)  (x = 1))  eventually in the past  always in the past  in the previous state (Diese Operatoren zählen an dieser Stelle nicht zu den temporalen Operatoren, mit anderen Worten, sie können in Sicherheitsformeln vorkommen - mehr dazu in [Manna and Pnueli 92]) Entwurf von Telekommunikationssystemen

Eigenschaften Guarantee kanonische Form: p “einmalig, aber ohne Wiederholung garantiert” Beispiel: ((y = 2)  (x = 1)) Dualität von Safety und Guarantee p  p p  p (p  q gdw. p  q ist eine wahre Formel) Entwurf von Telekommunikationssystemen

Eigenschaften Obligation kanonische Formen (äquivalent) p  q “falls irgendwann p, dann auch irgendwann q” Beispiel: (x = 1)  (y = 2) Eigenschaften Jede Boolesche Kombination von Safety und Guarantee Eigenschaften ist eine Obligation Eigenschaft Die Klasse der (einfachen) Obligation Eigenschaften umfasst strikt die Klassen Safety und Guarantee: kann weder als durch die ausschliessliche Verwendung von Safety noch durch die ausschliessliche Verwendung von Guarantee Formeln ausgedrückt werden. Entwurf von Telekommunikationssystemen

Eigenschaften Response kanonische Form p “unendlich viele p-Positionen” alternative Normalform (p  q) = p  q “ein p wird immer von einem q gefolgt” Beispiele: ((x = 1)  (y = 2)) ([in!DATreq]  [out?DATind]) für eine gegebene Transition : (enabled()  last_taken()) “justice” (Gerechtigkeit): entweder  wird unendlich häufig zurückgezogen oder  wird unendlich häufig ausgeführt Alle Safety und Guarantee Eigenschaften sind spezielle Fälle von Response-Formeln Entwurf von Telekommunikationssystemen

Eigenschaften Persistence kanonische Form p “es gibt nur endlich viele nicht-p-Positionen” benutzt zur Beschreibung der Stabilisierung eines Systems nach endlich vielen Schritten Beispiele: (x = 1)  (y = 2) ((x = 1)  (y = 2)) Dualität von Response und Persistence p  p p  p Entwurf von Telekommunikationssystemen

Eigenschaften Reactivity kanonische Form p  q Disjunktion einer Response und einer Persistence Formel Alternative Schreibweise  p  q  q  p Beispiel:  (x = 1) (y = 2) enabled()   last_taken() “compassion” (Mitleid) oder “strong fairness” )starke Fairness: wenn  unendlich häufig zur Ausführung bereit ist wird es auch unendlich häufig ausgeführt Entwurf von Telekommunikationssystemen

Eigenschaften Safety-Progress Klassifikation Entwurf von Telekommunikationssystemen

Sicherheit und Lebendigkeit Sicherheits- und Lebendigkeitsformeln Sicherheit Beispiel (receive  sent) mit anderen Worten, man kann das Eintreten von etwas ungewolltem in endlicher Zeit erkennen  ist eine Sicherheitsformel, gdw. jede Sequenz , die  verletzt (die also   erfüllt) einen Präfix [0..k] besitzt so, dass alle unendlichen Erweiterungen dieses Präfixes  verletzen Sicherheitsformel:p (p ist Vergangenheitsformel)  verletzt p  es existiert Postition k0 so, dass (, k)  p offensichtlich, für jede Erweiterung ’ von [0..k] gilt dann (’, k)  p, womit (’, k) not  p gilt in der anderen Richtung: es kann gezeigt werden, dass die oben gegebene Charakterisierung äquivalent einer kanonischen Sicherheitsformel p ist. Entwurf von Telekommunikationssystemen

Sicherheit und Lebendigkeit Sicherheits- und Lebendigkeitsformeln Lebendigkeit  ist eine Lebendigkeitsformel gdw. wenn jede endliche Sequenz s..s zu einer unendlichen Sequenz erweitert werden kann, die  erfüllt p ist nicht die allgemein akzeptierte Definition Entwurf von Telekommunikationssystemen

Sicherheit und Lebendigkeit Syntaktische Charakterisierung p ist eine Vergangenheitsformel, falls es keine temporalen Zukunftsoperatoren enthält. p ist eine Zukunftsformel, falls es eine Zustandsformel ist oder falls es eine temporale Formel mit Zukunftsoperatoren ist. Eine kanonische Sicherheitsformel ist eine Formel der Form p wobei p eine Vergangenheitsformel ist. Eine kanonische Lebendigkeitsformel ist eine Formel der Form wobei p .. p Vergangenheisformeln sind so, dass  gültig ist und f, .., f erfüllbare Zukunftsformeln sind Beispiele p  (wahr  p) (p  q)  ((wahr  p)  (wahr  q)) Entwurf von Telekommunikationssystemen

Sicherheit und Lebendigkeit Safety-Liveness Klassifikation vs. Safety-Progress Klassifikation Die Safety-Klassen nach beiden Schemen sind identisch Die Sicherheits-Lebendigkeits Klassifikation ist orthogonal zu der Safety-Progress Klassifikation p ist eine kanonische Response Formal, es ist gleichfalls eine Lebendigkeitseigenschaft  = (pq) ist eine Response Formel, aber keine Lebendigketisformel  in jeder k-Klasse, k  {guarantee, obligation, response, persistence, reactivity} gibt es Formeln, die Lebendigkeitsformeln sind, und andere, die es nicht sind.  q p ... keine Möglichkeit, diese Sequenz so fortzusetzen, dass sie  efüllt Entwurf von Telekommunikationssystemen

Sicherheit und Lebendigkeit Safety-Liveness Klassifikation vs. Safety-Progress Klassifikation Jede Formel  der Progress-Klasse k ist äquivalent zu einer Konjunktion s  l so, dass s Sicherheits- und l Lebendikeitsformel der Klasse k ist. Beispiel  = p U q s = (p  q) l = q Entwurf von Telekommunikationssystemen

Beispiele Alternating Bit Protocol Formulierung aus [Schwarz and Melliar-Smith] Hilfsoperatoren p LU q  (p  (p U q)) U q “latches-until”: falls p gilt, und falls irgenwann einmal q gilt, dann gilt p bis q gilt p LUA q  p LU (p  q) “latches-until-after”: wie LU, aber p gilt mindestens so lange bis q gilt Variablen/Propositionen afterDq(a): die nächste Nachricht a ist zur Übertragung bereitgestellt S: das letzte gesendete Paket Si: der letzte erhaltenen Wert eines Bestätigungspaketes corrupted(): fehlerhafte Übertragung eines Paketes empty(): Zustand einer Warteschlange atTs: bereit, ein weiteres Paket zu übertragen Entwurf von Telekommunikationssystemen

Beispiele Alternating Bit Protocol "Sicherheits"anforderungen des Sendeprozesses R1. Aufeinanderfolgende Nachrichten werden in Paketen mit alternierenden Sequenznummern übertragen R2. Die Sequenz unterschiedlicher Packete, die dem Medium zur Übertragung übergeben wurde, muss identisch zu der Sequenz der empfangenen Nachrichten sein R3. Nachdem die Übertragung einer neuen Nachricht initiert wurde darf, bis die erste nicht verfälschte Bestätigung mit dieser Sequenznummer eingetroffen ist, nur diese Nachricht erneut übertragen werden A1. (afterDq(a)  S=<m,v>)  (S=<m,v> U S=<a,v’>) A2. S = p  [S = q  p LUA afterDq]  [S = q  p LUA (corrupted(Si)  Si = q))] Entwurf von Telekommunikationssystemen

Beispiele Alternating Bit Protocol "Lebendigkeits"anforderungen des Empfangsprozesses R4. Falls die Übertragung einer Nachricht initiert wurde, muss dieses Paket zumindest solange wiederholt übertragen werden, bis eine postitive Bestätigung empfangen und bemerkt worden ist R5. Falls wiederholte Bestätigungen für das letzte übertragene Paket unendlich häufig wiederholt erhalten werden, dann werden sie auch irgendwann bemerkt R6. Eine nicht korrumpierte Bestätigung, die bemerkt wurde, führt irgendwann zur Übertragung der nächsten Nachricht in der Folge der zu übertragenden Nachrichten, sofern es weitere Nachrichten gibt A3. ((corrupted(Si)  Si = S = p))   ( empty(InQ)  (S  p  atTs)) A4. ((S = p)   (S = q  p))  ((S = q  p  atTs) U (corrupted(Si)  Si = q  p)) A5. ( atTs) U empty(InQ) Entwurf von Telekommunikationssystemen

Spezifikationsmuster Ziel: Definition von Spezifikationsmustern in Termporaler Logik Speziell: Erfassung von zeitlichen Kontexten und dem Aufeinanderfolgen von Ereignissen/Zuständen Entlastung des Spezifizierenden von der Kenntnis der konkreten syntaktischen Formulierung einer temporalen Bedingung in LTL Beispiel: „Between process A updating a value and process B reading the cache, the value must be flushed from A’s cache” übersetzt sich in die folgende Formel ((UpdateA  ReadB)  (ReadBU FlushA)) Mögliche Generalisierung Web-Site http://www.cis.ksu.edu/santos/spec-patterns/index.html Entwurf von Telekommunikationssystemen

Spezifikationsmuster In den Spezifikationsmustern benutzte Scopes Entwurf von Telekommunikationssystemen

Spezifikationsmuster Occurrence Absence: Ein Zustand/Ereigniss tritt in einem Scope nicht ein Existence: Ein Zustand/Ereigniss tritt in einem Scope nicht ein Bounded Existence: Ein Zustand tritt in einem Scope k-fach auf Universality: Ein Zustand gilt in dem gesamten Scope Order Precedence: Einem Zustand / Ereignis P muss in einem Scope immer ein Zustand/Ereignis Q vorausgehen Response: Ein Zustand / Ereignis P muss in einem Scope immer von einem Zustand/Ereignis Q gefolgt werden Entwurf von Telekommunikationssystemen

Spezifikationsmuster Occurrence Absence: Ein Zustand/Ereigniss tritt in einem Scope nicht ein Intent: To describe a portion of a system's execution that is free of certain events or states. Also known as Never. P ist falsch: Beispiel: No work will be scheduled before execution. (<>call_Execute) -> ((!call_doWork) U call_Execute) Entwurf von Telekommunikationssystemen

Spezifikationsmuster Occurrence Universality: Ein Zustand gilt in dem gesamten Scope Intent: To describe a portion of a system's execution which contains only states that have a desired property. Also known as Henceforth and Always. Entwurf von Telekommunikationssystemen

Spezifikationsmuster Order Precedence: Einem Zustand / Ereignis P muss in einem Scope immer ein Zustand/Ereignis Q vorausgehen Intent: To describe relationships between a pair of events/states where the occurrence of the first is a necessary pre-condition for an occurrence of the second. We say that an occurrence of the second is enabled by an occurrence of the first. S precedes P: Beispiel: The computation will not terminate before the ActivePool task accepts "Complete". ((! return_Execute ) U ( return_pool.Complete || [] (!return_Execute))) Entwurf von Telekommunikationssystemen

Spezifikationsmuster Order Response: Ein Zustand / Ereignis P muss in einem Scope immer von einem Zustand/Ereignis Q gefolgt werden Intent: To describe cause-effect relationships between a pair of events/states. An occurrence of the first, the cause, must be followed by an occurrence of the second, the effect. Also known as Follows and Leads-to. S responds to P: Beispiel: [](OpenNetworkConnection -> [](NetworkError -> <>ErrorMessage)) Entwurf von Telekommunikationssystemen

Spezifikationsmuster Compound/Precedence/Chain This is a scalable pattern. We describe the 1 cause - 2 effect version here. To describe a relationship between an event/state P and a sequence of events/states (S, T) in which the occurrence of S followed by T within the scope must be preceded by an occurrence of the the sequence P within the same scope. S, T precedes P Entwurf von Telekommunikationssystemen

Bibliographische Referenzen [Hughes and Cresswell] G. Huges and M. Cresswell, An Introduction to Modal Logic, Methuen, 1968 [Huth and Ryan] M. Huth and M. Ryan, Logic in Computer Science - Modelling and reasoning about systems, Cambridge University Press, 2000 [Manna and Pnueli 92] Z. Manna and A. Pnueli, The Temporal Logic of Reactive and Concurrent Systems - Specifications, Springer Verlag, 1992 [Schwarz and Melliar-Smith] R. Schwarz and M. Melliar-Smith, From State Machines to Temporal Logic: Specification Methods for Protocol Standards, IEEE Transactions on Communications, 30(12), S. 2486 - 2496, Dezember 1982. Entwurf von Telekommunikationssystemen