Modellierung verteilter Systeme

Ähnliche Dokumente
Modellierung verteilter Systeme

Modellierung verteilter Systeme (Grundlagen der Programm- und Systementwicklung II)

Modellierung verteilter Systeme (Grundlagen der Programm- und Systementwicklung II)

Modellierung verteilter Systeme (Grundlagen der Programm- und Systementwicklung II)

1. Einführung in Temporallogik CTL

MODEL CHECKING 3 TEMPORALE LOGIKEN

Modellierung verteilter Systeme (Grundlagen der Programm- und Systementwicklung II)

Werkzeuggestützte Softwareprüfungen: Model Checking I - CTL. Vortrag von Florian Heyer

Model Checking I. Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg

LTL und Spin. Stefan Radomski

Modellierung verteilter Systeme (Grundlagen der Programm- und Systementwicklung II)

Lineare Temporale Logik

Computergestützte Modellierung und Verifikation

CTL Model Checking SE Systementwurf CTL Model Checking Alexander Grafe 1

2.1 Lineare Temporallogiken: LTL

1.1 Transitionssysteme Produkte von Transitionssystemen Kripkestrukturen Verifikation und Model-Checking...

Model Checking. Timed Computation Tree Logic TCTL. Michael Hess

Einführung in LTL unter MAUDE. Maschine!es Beweisen Einführung in LTL Seit# 1

Sequenzgenerierung aus Klassifikationsbäumen

Übung 8 Transitionssysteme Formale Techniken in der Software-Entwicklung

Aussagenlogik. Spezifikation und Verifikation Kapitel 1. LTL und CTL Syntax & Semantik. Aussagenlogik: Syntax. Aussagenlogik: Syntax (Alternative)

Automaten, Spiele und Logik

Lineare Temporale Logik

Temporale Operatoren auf Pfaden. Sicherheit und Lebendigkeit. Der Berechnungsbaum. CTL* -Pfadquantoren. Computergestützte Verifikation.

Modellierung und Validierung von Datenschutzanforderungen in Prozessmodellen

Diskrete Strukturen. Sebastian Thomas RWTH Aachen Mathematische Logik

Bisher. Wiederholung NFA Modellierung durch NFA Kripke-Struktur

Model Checking mit SPIN

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

Model Checking. Grundlagen und Motivation. Alex Salnikow

Abstrakte Temporale Eigenschaften

Allgemeingültige Aussagen

Probeklausur Mathematische Logik

Logik für Informatiker

Kurzeinführung in SAL

Syntax der Aussagenlogik. Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen. Formel als Syntaxbaum. Teilformel A 3 A 1 A 4

Motivation. Formale Grundlagen der Informatik 1 Kapitel 14 Aussagenlogik Syntax & Semantik. Motivation. Motivation

Thomas Schirrmann Nebenläufigkeit. Nebenläufigkeit. Vortrag Thomas Schirrmann. Seminar Systementwurf Dozentin Daniela Weinberg

De Morgan sche Regeln

Logik für Informatiker

Logik. Gabriele Kern-Isberner LS 1 Information Engineering. TU Dortmund Wintersemester 2014/15 WS 2014/15

Grundlagen der Logik

Logic in a Nutshell. Christian Liguda

Foundations of System Development

Formale Verifikation von Software. 8. Juli 2015

Einführung in die Logik

MODEL CHECKING 2 - AUTOMATEN

3) Linearzeit-Eigenschaften

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

Tableaukalkül für Aussagenlogik

Formale Verifikation von Software. 10. Juli 2013

Nichtklassische Logiken

Grundlagen des expliziten Model Checkings

1. Motivation. Modelchecking. NuSMV. NuSMV und SMV. 2. Modellierung. Erinnerung (Kapitel II)

Logik für Informatiker

Logik für Informatiker

Aussagenlogische Testspezifikation

Probeklausur Mathematische Logik

Korrektheit und Hoare-Kalkül für Imperative Programme

Strukturelle Rekursion und Induktion

Formale Grundlagen der Informatik 1 Kapitel 13 Aussagenlogik Syntax & Semantik

Frank Heitmann 2/42. 1 Etwas aus der realen Welt in der Logik abstrakt ausdrücken. 2 In der Logik Schlüsse ziehen.

Software Engineering Praktikum

Vorlesung Logik Wintersemester 2017/18 Universität Duisburg-Essen

Modellierung verteilter Systeme (Grundlagen der Programm- und Systementwicklung II)

Was ist mathematische Logik?

Software Engineering Ergänzung zur Vorlesung

Transkript:

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