Modellierung verteilter Systeme

Ähnliche Dokumente
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)

Modellierung verteilter Systeme

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

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

1. Einführung in Temporallogik CTL

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

Motivation. Motivation

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

Kurzeinführung in SAL

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

2. Vorlesung. Systemtheorie für Informatiker. Dr. Christoph Grimm. Professur Prof. Dr. K. Waldschmidt, Univ. Frankfurt/Main

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

Computergestützte Modellierung und Verifikation

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

Kapitel 4 Ereignisdiskrete Systeme (V)

Übung 8 Transitionssysteme Formale Techniken in der Software-Entwicklung

LTL und Spin. Stefan Radomski

Diskrete Ereignissysteme. Spezielle Netzstrukturen- Übersicht. Beispiele zu speziellen Netzstrukturen. Petri-Netze und Zustandsautomaten

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

Foundations of System Development

Ereignisdiskrete Systeme

Stetige Funktionen. Definition. Seien (X, d) und (Y, D) metrische Räume und f : X Y eine Abbildung. i) f heißt stetig in x 0 (x 0 D(f)), wenn

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

Was bisher geschah Modellierung von Daten durch Mengen Beziehungen (Zusammenhänge und Eigenschaften) durch Relationen, Graphen und Funktionen

MODEL CHECKING 2 - AUTOMATEN

Kapitel 8: Gewöhnliche Differentialgleichungen 8.1 Definition, Existenz, Eindeutigkeit von Lösungen Motivation: z.b. Newton 2.

MODEL CHECKING 3 TEMPORALE LOGIKEN

WS 05/06 mod Verifikation

Sequenzgenerierung aus Klassifikationsbäumen

Model Checking. Timed Computation Tree Logic TCTL. Michael Hess

C7 Differentgleichungen (DG) C7.1 Definition, Existenz, Eindeutigkeit von Lösungen Motivation: z.b. Newton 2. Gesetz: Ort: Geschwindigkeit:

WS 2009/10. Diskrete Strukturen

WS 2013/14. Diskrete Strukturen

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

Einführung in die Theoretische Informatik

Entscheidungsverfahren mit Anwendungen in der Softwareverifikation

Kapitel 4: Analyse von Petrinetzen

Reinforcement Learning

Konvergenz von Hopfield-Netzen

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

Vorlesung und Übung. Modellierung, Simulation, Entwurf heterogener Systeme. Dr. Christoph Grimm Professur Technische Informatik

Petri-Netze / Eine Einführung

Ein Beispielbeweis zur Verifikation des Programms zur Division mit Rest auf der Basis der Hoare-Regeln

Korrektheit imperativer Algorithmen

Diskrete Strukturen Kapitel 1: Einleitung

Modellieren im Informatikunterricht

Einleitung und Intelligente Agenten MAS-Seminar - SS2008

Foundations of Systems Development

Aussagenlogische Testspezifikation

Petri-Netze. Teil 2. Chandran Goodchild. Department of Automata Theory University of Freiburg. Pro Seminar, 2017

Interleaving-Semantik: Parallelausführung wird auf Hintereinanderausführung in beliebiger Reihenfolge zurückgeführt.

{P} S {Q} {P} S {Q} {P} S {Q} Inhalt. Hoare-Kalkül. Hoare-Kalkül. Hoare-Tripel. Hoare-Tripel. Hoare-Tripel

Automaten, Spiele und Logik

In vielen Situation interagieren Spieler wiederholt: Interaktion innerhalb von Organisationen und Gruppen

Elementare Regressionsrechnung

4.3 Verifikation von Aussagen über Algorithmen

Grundlagen der Objektmodellierung

Random Access Machine (RAM) Berechenbarkeit und Komplexität Random Access Machines

6. Explizite Zeit und Zeitautomaten

Brownsche Bewegung. M. Gruber. 20. März 2015, Rev.1. Zusammenfassung

Transkript:

Modellierung verteilter Systeme (Grundlagen der Programm- und Systementwicklung II) 10 Erweiterungen 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 10.Erweiterte Themen 1. Gezeitete Transitionssysteme 2. Andere Transitionssysteme Modellierung verteilter Systeme 3

Gezeitete Transitionssysteme Ziel: Modellierung von kontinuierlichem Zeitverhalten Beschreibung nicht-diskreter Interaktionszeitpunkte Explizite Modellierung von Zeitverhalten Konzepte: Zustand, Uhr, Zustandsinvariante, Transition Modell: Gezeitetes Transitionssystem 4

Wiederholung: Zeitdiskrete Systeme t t+1 t+2 t+3 t+4 TrafLights::TrafColor T Konzept: Zeitdiskretes System = Interaktion an einzelnen diskreten Zeitpunkten Abstraktion: Zeitpunkte der Interaktion sind undefiniert aber global Abstraktion: Aktionen sind atomar = Aktionen haben keine Dauer Intuition: Systemkomponenten interagieren simultan im Takt einer globalen Uhr unbekannter Geschwindigkeit 5

Motivation: Zeitkontinuierliche Systeme Ansatz: Interaktionszeitpunkte eines Systems sind nicht auf global definierte Zeitpunkte beschränkt: System kann zu beliebigen Zeitpunkten interagieren Zeitpunkte sind metrisch erfassbar (genaue globale Beobachtung) Weiterhin: Aktionen sind atomar = Aktionen haben keine Dauer Konzept: Lokale Uhren System kann zu beliebigen Zeitpunkten interagieren Zeitpunkte sind metrisch erfassbar (genaue globale Beobachtung) 6

Konzept: Uhr Ziel: Modell für kontinuierlichen Zeitverlauf Konzept: Uhr - explizite Zeitvariablen aus R0+ Verhalten: Gleichmäßiger, global kompatibler, analoger Werteverlauf Uhrenoperationen: Zurücksetzen, Wertabfrage Beispiel: Uhr C, Zurücksetzen: c = 0, Werteabfrage: 1 <= c < 2 7

Konzept: Gezeitete Transition s1 c 1 a c = 0 s2 Ziel: Modell für Aktion des Systems Konzept: Gezeitete Transition = Markierung, (Zeit-) Bedingung Beschreibt die Zustandsänderungen des Systems Zeitbedingungen über Uhren c, d: Vorbedingungen: c {,<,=,,> } x, c - d {,<,=,,> } x mit R0+ Nachbedingungen: c = 0 (Zurücksetzen von Uhren) Ansonsten: analog erweiterte markierte Transitionssysteme Beispiel: ((s1,c = 2),a,(s2, c = 0)) 8

Konzept: Gezeitete Zustandsinvariante 0 c 1 1 c d < 4 s1 s2 Ziel: Modell für (modulo Zeit) inaktives Verhalten eines Systems Konzept: Zustandsinvariante = Zeitbedingung P(c,..,d) Beschreibt im Zustand gültige Zeitbedingungen über Uhren c,,d Zeitbedingung P(c,..., d) i.a. beschränkt auf c {<,,=,>, } n bzw. c - d {<,,=,>, } n für n Nat Kombinationen mittels {,, } (oft beschränkt auf ) Beispiel: Zustand s1 mit Invarianten 0 c 1: Im Zustand s1 hat die Uhr c immer einen Wert zwischen 0 und 1 9

Interpretation: Zustandsinvariante / gezeitete Transition c 1 d < 4 s1 s2 c 1 - d < 4 - c = c+ d = d+ Intuition: Analoger Zeitfortschritt ohne Änderung diskreter Zustand Interpretation: Zustandsinvariante = gezeitete Transition P(c,..,d) Markierung: Verzögerungsereignis ( delay ) der Dauer Vorbedingung: Uhren erfüllen vor und nach Transition Zeitbeschränkung Nachbedingung: Uhren sind um Dauer fortgeschritten Impliziert Transitionsmenge: { (s1,c=x,...,d=y),, (s1,c=x+,...d=y+ ) P(x,..,y) P(x+,..,y+ ) } für R+ 10

Beispiel: Zustandsinvariante c = 0,d = 0 0.2 c = 0.2, d = 0.2 c 1 d < 4 s s s c = 0,d = 1.1 0.9 c = 0.9, d = 2 c 1 - d < 4 - c = c+ d = d+ c = 0.9,d=3,8 0.1 c = 1,d=3.9 Beispiel: Zustand s mit Invarianten c 1 d < 4: Zustandsmenge { ( s, c=x, d=y) 0 x 1 0 y < 4} Transitionen { ((s, c=x, d=y),, (s, c=x+, d=y+ )) R+ x+ 1 y+ < 4} = {((s,c=0,d=0),0.2,(s,c=0.2,d=0,2)), (s,c=0,d=2),0.8, (s,c=0.8,2.8), } 11

Model: Gezeitetes Transitionssystem c>3 produce c<=5 wait write c<=10 exchange c=0 c>5 Ziel: Verhaltensbeschreibung von Systemen Modell: Gezeitetes Transitionssystem (S,V,S0,A,T) Menge möglicher Zustände S und Uhrenbelegungen V: C R0+ Anfangszustände S0 S mit V0: C {0} Menge möglicher Transitionen T (S x V) x A x (S x V) (S x V) x R+ x (S x V) 12

Model: Gezeitetes Transitionssystem c<=5- c>3 produce c<=10- wait write c=c+ c<=5 c=0 exchange c>5 c<=10 c=c+ Beispiel: S = { write}, C = { c } S0 = { wait } T = { ((c=x),produce,(write,c=x)) 3<x 5} {((write,c=x),exchange,(c=0)) 5<x 10} {(c=x),,(c=x+ )) R+ x+ 5 } {(write,c=x),,(write,c=x+ )) R+ x+ 10 } 13

Konzept: Beobachtbarer gezeiter Ablauf c=0 c=0 4 produce write, c=4 c=4 3 write, c=7 c=0 4 1 c=4 c=5 produce write, c=5 exchange c=0 Ziel: Modellierung einer (partiellen) Ausführung eines System wie an der Schnittstelle - einschließlich Verzögerungen - zu beobachten Konzept: Ablauf = (endliche oder unendliche) Sequenz aufeinanderfolgender Interaktionen oder Verzögerungen a1 a2 a3 a4... Erster Zustand ist ein Anfangszustand: s1 S0 x V0 Folgende Zustände stehen in Relationsbeziehung: (si, ai, si+1) T Beispiel: 4 1 produce 3 2 exchange 1... 14

Konzept: Synchronisierte Interaktion c<=5 c=c+ d<=8 d=d+ wait read c>3 produce write exchange c<=5 c=0 c>5c<=10 d=2 exchange consume d<=8 d=0 d>8 ready c<=10- c=c+ d<=10- d<=10 d=d+ read ready write, read read ready produce consume exchange (0,min(5-c,8-d] (0,min(5-c,10-d] write, read read ready read ready Ziel: Modellierung synchronisierter Interaktionen von gezeiteten Systemen Konzept: Transition für synchronisierte Interaktionen (S,C,A,S0,T) u. (S,C,A,S 0,T ) Synchronisierter Interaktion: Aktion a A A sowie Verzögerung R+ (((s,v),(s,v )),e,((t,w),(t,w ))) for each ((s,v),a,(t,w)) T, ((s,v ),a,(t,w )) T, und e R+ A A Beispiele:(((write,c=6),(read,d=6)),exchange,((c=0),(ready,d=6))) oder (((c=1),(read=7)),,((c=1+ ),(read,d=7+ ))) mit (0,1] 15

Modell: Synchronisiertes Produkt-Transitionssystem Modell: Gezeitetes Produkttransitionssystem von (S,C,A,S0,T) und (S,C,A,S 0,T ): Zustandsraum: S x V x S x V für Uhrenbelegungen V: C R0+ und V : C R0+ Alphabet: A A Anfangszustände: S0 x V0 x S 0 x V0 Transitionsrelation T T : für ((s,v),a,(t,w)) T, bzw ((s,v ),a,(t,w )) T (((s,v),(s,v )),a,((t,w),(s,v ))) bzw. (((s,v),(s,v )),a,((s,v),(t,w ))) für a A \ A, bzw. a A \ A (((s,v),(s,v )),a,((t,w),(t,w ))) für ((s,v),a,(t,w)) T, ((s,v ),a(,t,w )) T, und a A A R+ 16

Beispiel: Synchronisiertes Produkt-Transitionssystem 17

Anomalie: Zeno-Transitionssystem produce d=>0 exchange wait write read ready c<=5 c=0 exchange c>=0 c<=6 c<=10 consume d=0 d<=8 Bemerkung: (Uhren-) Bedingungen können (ungewollt) unendliche Abläufe ohne echte Verzögerungen in gezeiteten Systemen erlauben Beobachtung: Unverzögernde Systeme stellen eine Zeit-Anomalie dar Unendliche Abläufe: Eine unbeschränkte Anzahl von Aktionen kann ausgeführt werden Verzögerungsfreie Abläufe: Während das Ablaufs schreitet die Zeit nicht voran Bemerkung: Gezeitete Transitionssysteme auf stetige Ausführung von Verzögerungstransitonen untersuchen ( Nicht-Zeno-Eigenschaft ) 18

Gezeitete Transitionssysteme: Modellnutzung Verifikation: Überprüfung von Systemen Verfahren: Analog erweitertet markierter Transitionssysteme Vergleich von Systemen: Simulation bzw. Bisimulation Nachweis von Eigenschaften: Temporale Logik Erweiterung atomarer Eigenschaften: Uhrenprädikate Zustands-/Pfadeigenschaften: Analog LTL, CTL*, CT Insbesondere Konsistenzüberprüfungen: Nicht-Blockieren, Nicht-Zeno 19

Weitere Transitionsystemarten Ziel: Modellierung von allgemeinerem Verhalten Beschreibung physikalischer Prozesse Beschreibung unscharfer Aussagen Konzepte: Kontinuierliche Zustandsveränderung, Übergangswahrscheinlichkeit Modell: Hybrides Transitionssystem, Markovprozess 20

Konzept: Hybrides System Ansatz: Aktionszeitpunkte eines Systems sind nicht auf diskrete Zeitpunkte beschränkt: System kann zu und zwischen diskreten Zeitpunkten agieren Zeitpunkte sind metrisch erfassbar (genaue globale Beobachtung) Aktionen sind nicht nur atomar = Aktionen haben Dauer Konzept: Modellierung mittels kontinuierlicher (Fluss-)Variablen System kann zu beliebigen, global messbaren Zeitpunkten interagieren System hat zwischen Zeitpunkten kontinuierlich analoge Wertverläufe 21

Konzept: Markovprozess Ziel: Modellierung probabilistischen Verhaltens Konzept: Modellierung Wahrscheinlichkeiten Nichtdeterminismus Übergangsverteilung: Transition mit Wahrscheinlichkeit x annotiert Wahrscheinlichkeit: Summe aller Transitionen pro Zustand und Marke ist 1 Erweiterung: Komposition: Analog erweitertet markierter Transitionssysteme Verifikation: Probabilistisches CTL mit Zustandsquantor P x S = Eigenschaft S gilt mit Wahrscheinlichkeit x 25

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 26