Modellierung verteilter Systeme (Grundlagen der Programm- und Systementwicklung II) 09 Eigenschaften Dr. Sebastian Voss fortiss GmbH Kompetenzfeldleiter Model-based Systeme Engineering
Themenübersicht 1. Einführung 2. Grundlagen: Verhalten, Interaktion, Nebenläufigkeit 3. Sequentielle Programme und Koroutinen 4. Datenflussmodelle 5. Kommunizierende Prozesse 6. Zustandsübergangssysteme 7. Koordination 8. Ausführungen 9. Verhaltensspezifikationen 10.Erweiterte Themen Modellierung verteilter Systeme 2
Themenübersicht 1. Einführung 2. Grundlagen: Verhalten, Interaktion, Nebenläufigkeit 3. Sequentielle Programme und Koroutinen 4. Datenflussmodelle 5. Kommunizierende Prozesse 6. Zustandsübergangssysteme 7. Koordination 8. Ausführungen 9. Verhaltensspezifikationen 1. Temporale Spezifikationen 2. Sicherheits- und Lebendigkeitseigenschaften 10.Erweiterte Themen Modellierung verteilter Systeme 3
Motivation: Spezifikationen Formen von Verhaltensspezifikationen: Konstruktiv: Beschreibung einer (abstrakten) Implementierung Ziel: (Ausführbare) Beschreibung, aus der alle Beobachtungen über das Systemverhalten erzeugt werden können Modelle: z.b. Transitionssysteme, Kripkestrukturen, Prozessalgebren Notationen: z.b. Zustandsdiagramme, Prozessterme Deskriptiv: Beschreibung beobachtbaren Verhaltens Ziel: Beschreibung gewünschter / erlaubter / verbotener Beobachtungen über das Systemverhalten Modelle: z.b. Abläufe, Stromfunktionen Notationen: z.b. Sequenzdiagramme, temporallogische Terme S.Voss - Modellierung verteilter Systeme (Sommersemester 2017) 4
Motivation: Temporale Eigenschaften Falls zu einem Zeitpunkt eine Münze eingeworfen wurde und zum nächsten Zeitpunkt Tee ausgewählt wurde dann wird zu einem späteren Zeitpunkt Tee ausgegeben Behauptungen über zustands-basierte Systeme: Behauptungen über Zustände Behauptungen über Ausführungen S.Voss - Modellierung verteilter Systeme (Sommersemester 2017) 5
Wiederholung: Ablauf stop stop redyellow green go yellow hold stop redyellow green go yellow hold red stop Ziel: Modellierung einer (partiellen) Ausführung eines Systems Konzept: Ablauf = (Endliche oder unendliche) Sequenz von aufeinanderfolgenden Zuständen und Interaktionen s1 a1 s2 a2 s3 a3 s4... Erster Zustand ist ein Anfangszustand: s1 S0 Folgende Zustände stehen in Transitionsbeziehung: (si, ai, si+1) T Beispiel: stop redyellow green go S.Voss - Modellierung verteilter Systeme (Sommersemester 2017) 6
Konzept: Beobachtbarer Ablauf stop stop redyellow green go yellow hold stop redyellow green go yellow hold red stop Ziel: Modellierung einer (partiellen) Ausführung eines System (wie an der Schnittstelle zu beobachten) Konzept: Ablauf = (endliche oder unendliche) Sequenz aufeinanderfolgender Interaktionen a1 a2 a3 a4... Aω Erster Zustand ist ein Anfangszustand: s1 S0 Folgende Zustände stehen in Relationsbeziehung: (si, ai, si+1) T Beispiel: redyellow green yellow red redyellow green yellow... S.Voss - Modellierung verteilter Systeme (Sommersemester 2017) 7
Konzept: Ausführung stop stop redyellow green go yellow hold stop redyellow green go yellow hold red stop Ziel: Modellierung einer (partiellen) Ausführung eines Systems Konzept: Ausführungs(sequenz) = (Endliche oder unendliche) Sequenz von aufeinanderfolgenden Zuständen s1 s2 s3 s4... Erster Zustand ist ein Anfangszustand: s1 S0 Folgende Zustände stehen in Transitionsbeziehung: (si, ai, si+1) T Beispiel: stop go S.Voss - Modellierung verteilter Systeme (Sommersemester 2017) 8
Eigenschaften: Temporallogik Ziel: Beschreibung von Beobachtungen über vollständige Systemausführungen Beschreibung von Aspekten der zeitlichen Reihenfolge Beschreibung unabhängig von Implementierung Konzept: Beobachtung, Timed Proposition, Ausführung Notation: Linear Temporal Logic, Computation Tree Logic S.Voss - Modellierung verteilter Systeme (Sommersemester 2017) 9
Konzept: Atomare Eigenschaft tea tea Teeauswahl ist bestätigt Kaffee im Ausgabeschacht Münze im Einwurf Ziel: Beschreibung von zeitabhängigen Eigenschaften Konzept: (Zeitlich) Atomare Eigenschaft Atomar: Nicht zerlegbar in Untereigenschaften Beobachtbar: Entweder gültig oder ungültig Punktuell: Bezieht sich auf (aktuellen) Zeitpunkt Beispiel: Münze im Einwurf, Tee in Ausgabeschacht S.Voss - Modellierung verteilter Systeme (Sommersemester 2017) 10
Konzept: Next-Eigenschaft tea tea Teeauswahl bestätigt Im nächsten Schritt Wird Kaffee oder Tee ausgewählt Kaffeeauswahl bestätigt Ziel: Beschreibung von zum nächsten Zeitpunkt gültigen Eigenschaften Konzept: NeXt-Eigenschaft Notation: P, X P ( Next P ) Interpretation: Eigenschaft P zum nächsten Zeitpunkt gütig, gilt im nächsten Zustand Beispiel: Teeauswahl im nächsten Schritt betätigt Teeauswahl betätigt S.Voss - Modellierung verteilter Systeme (Sommersemester 2017) 11
Konzept: Future-Eigenschaft tea tea Münze ist eingeworfen Münze wird irgendwann eingeworfen Ziel: Beschreibung von in der Zukunft gültigen Eigenschaften Konzept: Future-Eigenschaft Notation: P, F P ( Finally P ) Interpretation: Zu einem Zeitpunkt nach dem aktuellen wird P gültig, gilt irgendwann auf dem nachfolgenden Pfad Beispiel: Münze wird irgendwann eingeworfen Münze ist eingeworfen S.Voss - Modellierung verteilter Systeme (Sommersemester 2017) 12
Konzept: Global-Eigenschaft tea tea Ziel: Beschreibung von für immer gültigen Eigenschaften Konzept: Global-Eigenschaft Notationen: P, G P ( Globally P ) Interpretation: Ab dem aktuellen Zeitpunkt ist P stets gültig Beispiel: Stets wird Kaffee nach der Kaffeeauswahl ausgegeben Kaffee im Ausgeabeschacht ( Kaffeeauswahl betätigt Kaffee ausgegeben ) Kaffeeauswahl bestätigt S.Voss - Modellierung verteilter Systeme (Sommersemester 2017) 13
Notation: LTL Ziel: Notation zur Beschreibung von Eigenschaften von Abläufen von Systemen Notation: Lineare temporale Logik (LTL) Grundterme: Atomare Aussagen, true, false Aussagenlogische Operatoren: P, P Q, P Q, P Q Einstellige temporallogische Operatoren P / X P: P gilt zum nächsten Zeitpunkt P / G P: P gilt immer P / F P: P gilt irgendwann Zweistellige temporallogische Operatoren P U Q: P gilt bis Q ( until ) P R Q: P führt zu Q ( release ) S.Voss - Modellierung verteilter Systeme (Sommersemester 2017) 14
Notation: LTL Bemerkung 1: Aus zwei der Operatoren lassen sich alle anderen ableiten Bemerkung 2: LTL erlaubt äquivalente Aussagenumformungen, z.b. (P Q) = P Q (P Q) = P Q P = P P= P P = P P = P U false P U Q = P U (P U Q) P U Q = Q (P (P U Q)) S.Voss - Modellierung verteilter Systeme (Sommersemester 2017) 15
Konzept: Lineare temporale Eigenschaft P P P Ziel: Beschreibung von für komplette Abläufe gültige Eigenschaften Konzept: Lineare temporale Eigenschaft Modell: Ablauf E = s0 s1 s2 s3... Interpretation: Eigenschaft P gilt für Ablauf E=s0 s1 s2 s3... P atomar: P(s0) gilt P = Q: Q gilt für Ablauf s1 s2 s3... P = Q: Q gilt für Ablauf si si+1 si+2... für alle i >= 0 P = Q: P gilt für Ablauf si si+1 si+2... für ein i >= 0 Gültigkeit von P: Eigenschaft gilt für alle möglichen im Startzustand beginnenden Abläufe S.Voss - Modellierung verteilter Systeme (Sommersemester 2017) 16
Konzept: Ausführungsbaum tea tea Ziel: Modellierung der Ausführungspfade eines Systems Konzept: Ausführungsbaum Knoten: Mögliche Systemzustände Kanten: Verbinden Knoten entsprechenden Transitonsrelation tea coffe S.Voss - Modellierung verteilter Systeme (Sommersemester 2017) 17
Konzept: Ausführungspfad tea tea Ziel: Modellierung einzelner möglicher Ausführungen Konzept: Ausführungspfad Linearer Teilbaum (i.e. verzweigungsfreier Pfad) im Ausführungsbaum Vollständig (i.e. nicht erweiterbar) tea coffe S.Voss - Modellierung verteilter Systeme (Sommersemester 2017) 18
Konzept: Universelle Eigenschaft Ziel: Beschreibung Eigenschaften für alle möglichen Pfade Konzept: Universelle Baumeigenschaft Notation: A P ( All P ) Interpretation: P gilt für alle im aktuellen Zeitpunkt beginnenden Pfade Beispiel: In allen möglichen Ausführungen wird entweder Tee oder Kaffee im nächsten Schritt ausgewählt A (X ( Kaffeeauswahl betätigt Teeauswahl ätigt )) S.Voss - Modellierung verteilter Systeme (Sommersemester 2017) 19
Konzept: Existentielle Eigenschaft Ziel: Beschreibung von mindestens in einem Pad gültigen Eigenschaften Konzept: Existentielle Baumeigenschaft Notation: E P ( Some P ) Interpretation: P gilt für mindestens einen Pfad, der zum aktuellen Zeitpunkt beginnt Beispiel: Es gibt mindestens einen Ausführungspfad, in dem irgendwann Kaffee ausgegeben wird E (F Kaffee im Ausgabeschacht ) S.Voss - Modellierung verteilter Systeme (Sommersemester 2017) 20
Konzept: CTL* Ziel: Notation zur Beschreibung von Eigenschaften von Ausführungsbäumen Notation: Computation Tree Logics (CTL*) Basisterme: Atomare Aussage, true, false Aussagenlogik: P, P Q, P Q, P Q Zustandsoperatoren: E P: P gilt für einen Pfad, der im aktuellen Zustand beginnt A P: P gilt für alle Pfade, die im aktuellen Zustand beginnen Pfadoperatoren: X P: P gilt im nächsten Zustand G P: P gilt in allen folgenden Zuständen F P: P gilt in einem folgenden Zustand Zusätzliche Pfadoperatoren P U Q: P gilt bis Q ( Until ) P R Q: P führt zu Q ( Release ) S.Voss - Modellierung verteilter Systeme (Sommersemester 2017) 21
Notation: CTL* Bemerkung: CTL: Teilmenge bei Beschränkung auf Zustand / Pfadoperatorenpaare (e.g., E F, A G) Bemerkung: Äquivalenzen von Termen Siehe LTL Minimale Menge definierender Temporaloperatoren in CTL: E G, E U, E X A X P = E X P A G P = E F P A F P = E G P S.Voss - Modellierung verteilter Systeme (Sommersemester 2017) 22
Konzept: Pfadeigenschaft Ziel: Beschreibung von Eigenschaft über Ausführungspfaden Konzept: Pfadeigenschaft Modell: Ausführungspfad E = s0 s1 s2 s3... Interpretation: Eigenschaft P gilt für E P = Q atomar: Zustandseigenschaft Q gilt für s0 P = X Q: Pfadeigenschaft Q gilt für s1 s2 s3... P = G Q: Pfadeigenschaft Q gilt für si si+1 si+2... für alle i >= 0 P = F Q: Pfadeigenschaft Q gilt für si si+1 si+2... für ein i >= 0 S.Voss - Modellierung verteilter Systeme (Sommersemester 2017) 23
Konzept: Zustandseigenschaft Ziel: Beschreibung von für einen Baum gültigen Eigenschaften Konzept: Zustandseigenschaft Modell: Zustand si eines Ausführungsbaums Interpretation: Eigenschaft P gilt in Zustand si P = Q atomar: Q(si) P = A Q: Pfadeigenschaft Q gilt für alle Pfade startend in si P = E Q: Pfadeigenschaft Q gilt für mindestens einen Pfad startend in si Gültigkeit von P für ein System S: P gilt im initialen Zustand s0 des Ausführungsbaumes von S S.Voss - Modellierung verteilter Systeme (Sommersemester 2017) 24
Beispiele: LTL / CTL tea tea Beispiele: LTL-Beispiele: Es wird (immer) irgendwann Tee bestellt: (G) F _tea Auf eine Teebestellung folgt Tee: (G)(_tea X tea) Es gibt keinen Kaffee ohne Bestellung: G ( R _) CTL-Beispiele: Es wird immer irgendwann Tee bestellt: AG AF _tea Es kann immer wieder Tee bestellt werden: AG EF _tea S.Voss - Modellierung verteilter Systeme (Sommersemester 2017) 25
Eigenschaften: Sicherheit / Lebendigkeit Ziel: Definition von Eigenschaftsklassen diskreter reaktiver Systeme Unabhängig von konkreter Systemeigenschaft Geprägt von Art des Gültigkeitsnachweises Konzept: Sicherheit (Safety), Lebendigkeit (Liveness) Modell: Ausführungen S.Voss - Modellierung verteilter Systeme (Sommersemester 2017) 26
Konzept: Sicherheitseigenschaft Ziel: Modellierung von Eigenschaften, die das Auftreten ungewünschter Aktionen einschränken Konzept: Sicherheitseigenschaft Intuition: Etwas Unerwünschtes tritt nicht ein Nachweisprinzip: Die Verletzung einer Sicherheitseigenschaft kann beim Auftreten eines bestimmten Ereignisses festgestellt werden Beispiel: Es wird nie Kaffee auf eine Teebestellung ausgegeben S.Voss - Modellierung verteilter Systeme (Sommersemester 2017) 27
Definition: Sicherheitseigenschaft Ziel: Klassifikation von Sicherheitseigenschaften Definition: Sicherheitseigenschaften Intuition: Eine Verletzung von Sicherheitseigenschaften kann in endlich vielen Schritten festgestellt werden Formalisierung: Sicherheitseigenschaft S als Eigenschaft (partieller oder vollständiger) Abläufe Verletzung: S(s0 s1 s2 s3...) Verletzender Schritt: s0 s1 s2 s3... sk für ein k Nat Kann nicht korrigiert werden: S(s0 s1 s2 s3... sk) S(s0 s1 s2 s3... sk s k+1 s k+2... ) für beliebige s k+1 s k+2... Beispiel: Tee wird ausgegeben nachdem Tee ausgewählt wurde S.Voss - Modellierung verteilter Systeme (Sommersemester 2017) 28
Beispiele: Sicherheit tea tea Beispiel: S = Tee wird ausgegeben nachdem Tee ausgewählt wurde Verletzung: S( -tea...) Verletzender Schritt: -tea Kann nicht korrigiert werden: S( -tea ) S( -tea... ) S.Voss - Modellierung verteilter Systeme (Sommersemester 2017) 29
AutoFOCUS3 Tool Demo 30 Phoenix, 2013-04-24 30
Konzept: Lebendigkeitseigenschaft Ziel: Definition von Eigenschaften, die das Auftreten einer gewünschten Aktion Erzwingen Konzept: Lebendigkeitseigenschaft Intuition: Etwas Gewünschtes tritt schließlich ein Nachweisprinzip: Die Verletzung von Lebendigkeitseigenschaften kann nur in einem vollständigen (unendlichen) Ablauf nachgewiesen werden Beispiel: Nach der Auswahl von Kaffee wird schließlich Kaffee ausgegeben S.Voss - Modellierung verteilter Systeme (Sommersemester 2017) 31
Definition: Lebendigkeitseigenschaft Ziel: Klassifikation von Lebendigkeitseigenschaften Definition: Lebendigkeitseigenschaft Intuition: Jede endliche Ausführung kann zu einer lebendigen Ausführung erweitert werden Formalisierung: Lebendigkeitseigenschaft L über vollständige Abläufe Endlicher (nicht-lebendiger) Ablauf : s0 s1 s2 s3... sk Erweiterter lebendiger Ablauf: L(s0 s1 s2 s3... sk s k+1 s k+2... ) Beispiel: Auf eine Anforderung folgt schließlich die Ausgabe S.Voss - Modellierung verteilter Systeme (Sommersemester 2017) 32
Beispiel: Lebendigkeit tea tea Beispiel: Auf eine Anforderung folgt schließlich die Ausgabe Endlicher (nicht-lebendiger) Ablauf : - - Erweiterter lebendiger Ablauf: L( - - ) S.Voss - Modellierung verteilter Systeme (Sommersemester 2017) 33
AutoFOCUS3 Tool Demo 34 Phoenix, 2013-04-24 34
Auswahl: Temporallogische Muster Sicherheitsmuster: Invarianz: Eine Verletzung tritt nie auf: G violated Auslösung: Eine Aktion tritt nie ohne Auslöser auf: G ( response U trigger) Beschränke Antwort: Eine Antwort wird nach k Schritten ausgelöst: G (trigger Xk response) Lebendigkeitsmuster: Erfüllung: Die gewünschte Eigenschaft wird hergestellt: F Eigenschaft Schwache Fairness: Dauerhaft mögliche Aktionen werden schließlich ausgeführt: G ( F enabled F performed) Starke Fairness: Immer wieder mögliche Aktionen werden schließlich ausgeführt: GF enabled GF performed Beobachtung: Jede Eigenschaft kann als Kombination einer Sicherheits- und Lebendigkeitseigenschaft beschrieben werden. S.Voss - Modellierung verteilter Systeme (Sommersemester 2017) 35
Danke... TTHank you Dr. Sebastian Voss (Department Model-based Systems Engineering) fortiss GmbH AN-Institut Technische Universität München Guerickestraße 25 80805 München Germany tel +49 89 3603522 33 fax +49 89 3603522 50 voss@fortiss.org S.Voss - Modellierung verteilter Systeme (Sommersemester 2017) 36