• Keine Ergebnisse gefunden

Temporale Logik, Prozessalgebren und Modelchecking

N/A
N/A
Protected

Academic year: 2022

Aktie "Temporale Logik, Prozessalgebren und Modelchecking"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Reaktive Programmierung Vorlesung 16 vom 10.07.2019

Theorie der Nebenläufigkeit

Christoph Lüth, Martin Ring Universität Bremen Sommersemester 2019

17:06:24 2019-07-10 1 [15]

Fahrplan

IEinführung

IMonaden und Monadentransformer INebenläufigkeit: Futures and Promises IAktoren I: Grundlagen

IAktoren II: Implementation IMeta-Programmierung IBidirektionale Programmierung IReaktive Ströme I

IReaktive Ströme II

IFunktional-Reaktive Programmierung ISoftware Transactional Memory IEventual Consistency IRobustheit und Entwurfsmuster ITheorie der Nebenläufigkeit, Abschluss

RP SS 2019 2 [15]

Theorie der Nebenläufigkeit

INebenläufige Systeme sindkompliziert INicht-deterministisches Verhalten INeue Fehlerquellen wieDeadlocks ISchwer zu testen

IReaktive Programmierung kann diese Fehlerquelleneinhegen ITheoretische Grundlagenzur Modellierung nebenläufiger Systeme

IzurSpezifikation(CSP)

Iaber auch alsBerechnungsmodell(π-Kalkül)

RP SS 2019 3 [15]

Temporale Logik, Prozessalgebren und Modelchecking

IProzessalgebren und temporale Logik beschreibenSystemeanhand ihrerZustandsübergänge

IEin System ist dabei im wesentlichen eineendliche ZustandsmaschineM=hS,Σ,→imit Zustandsübergang

→ ⊆S×Σ×S

ITemporale Logiken reden übereineZustandsmaschine IProzessalgebren erlaubenmehrereZustandsmaschinen und ihre

Synchronisation

IDer Trick istAbstraktion: mehrere interne Zustandsübergänge werden zu einem Zustandsübergang zusammengefaßt

RP SS 2019 4 [15]

Einfache Beispiele

IEinfacher Kaffee-Automat:

P=10ccoffeeP

IKaffee-Automat mit Auswahl:

P=10ccoffeeP220clatteP

IPufferprozess:

COPY=left?xright!xCOPY NB. Eingabe (c?x) und Ausgabe (c!x) sindreine Konvention.

RP SS 2019 5 [15]

CSP: Syntax

Gegeben ProzeßalphabetΣ, besondere EreignisseX, τ P ::=Stop|aP|µP.F(P) fundamentale Operationen

|P

2

Q|P

u

Q externe und interne Auswahl

|PkQ|Pk X

Q synchronisiert parallel

|P

|||

Q unsynchronisiert parallel

|P\X hiding

|Skip|P;Q sequentielle Komposition

RP SS 2019 6 [15]

Externe vs. interne Auswahl

IInterne Zustandsübergänge (τ) sindnicht beobachtbar, aber können Effekte haben.

IVergleiche:

abStop

2

acStop

abStop

u

acStop a→(b→Stop

2

cStop)

a→(b→Stop

u

cStop)

RP SS 2019 7 [15]

Beispiel: ein Flugbuchungssystem

IOperationen des Servers:

INimmt Anfragen an, schickt Resultate (mit flid)

INimmt Buchungsanfragen an, schickt Bestätigung (ok) oder Fehler (fail) INimmt Stornierung an, schickt Bestätigung

IUnterschied zwischeninternerAuswahl

u

(Server trifft Entscheidung), undexternerAuswahl

2

(Server reagiert)

SERVER= query?(from,to)result!flidSERVER

2

booking?flid(okSERVER

u

failSERVER)

2

cancel?flidokSERVER

queryresultSERVER

2

booking(okSERVER

u

failSERVER)

2

cancelokSERVER

Eingabe(c?x)und Ausgabe(c!a)sind reineKonvention

RP SS 2019 8 [15]

(2)

Beispiel: ein Flugbuchungssystem

IDer Client:

IStellt Anfrage

Iwenn der Flug richtig ist, wird er gebucht;

Ioder es wird eine neue Anfrage gestellt.

CLIENT =queryresult

(booking→ (ok→CLIENT

2

failCLIENT)

u

CLIENT)

IDas Gesamtsystem — Client und Serversynchronisiert:

SYSTEM=CLIENT

k

SERVER

IProblem:Deadlock

IEs gibtWerkzeuge(Modelchecker, z.B. FDR), um solche Deadlocks in Spezifikationen zu finden

RP SS 2019 9 [15]

Ziele der Semantik von Prozesskalkülen

IReasoning about processes by their external behaviour

IUntersuchung von

IVerfeinerung (Implementation) Ideadlock:Keine Transition möglich Ilivelock:Divergenz

IGrundlegender Begriff:Äquivalenz (Gleichheit) von Prozessen

RP SS 2019 10 [15]

Operationale Semantik für CSP (I)

Definition: Labelled Transition System (LTS)

Einlabelled transition system (LTS)istL= (N,A,→)mit MengeN der Knoten (Zustände), MengeAvon Labels und Relation

{→ ⊆a N×N}a∈Avon Kanten (Zustandsübergänge).

Hier:N=P,A= ΣS

{X, τ},→definiert wie folgt:

ePa P[a/e]acomms(e)

PuQτ P PuQτ Q

RP SS 2019 11 [15]

Operationale Semantik für CSP (II)

Pτ P0 P2Qτ P02Q

Qτ Q0 P2Qτ P2Q0 Pa P0

P2Qa P0 a6=τ Qa Q0 P2Qa Q0 a6=τ Px P0

P\Bτ P0 xB Px P0

P\Bx P0\B x6∈B

RP SS 2019 12 [15]

Operationale Semantik für CSP (III)

Pτ P0 Pk

X Qτ P0k

X Q

Qτ Q0 Pk

X Qτ Pk

X Q0 Pa P0

Pk X

Qa P0k X

Q a6∈X Qa Q0 Pk

X Qa Pk

X Q0 a6∈X Pa P0Qa Q0

Pk X

Qa P0k X

Q0aX

RP SS 2019 13 [15]

Denotationale Semantik für CSP

IOperationaleSemantik erklärt dasVerhalten, erlaubt kein Reasoning

IDenotationaleSemantik erlaubtAbstraktionüber dem Verhalten

IFür CSP: Denotat eines Prozesses ist:

Idie Menge aller seinerTraces

Idie Menge seinerTracesundAcceptance-Mengen

Idie Menge seinerTracesund seinerFailure/Divergence-Mengen

RP SS 2019 14 [15]

Anwendungsgebiete für CSP

IModellierung nebenläufiger Systeme (Bsp: ISS)

IVerteilte Systeme und verteilte Daten

IAnalyse von Krypto-Protokollen

IHautpwerkzeug: der ModellcheckerFDR

Ihttp://www.cs.ox.ac.uk/projects/fdr/

RP SS 2019 15 [15]

Referenzen

ÄHNLICHE DOKUMENTE

Falls alle Dimensionsdaten in einem Data Warehouse zeitbezogen abgebildet sind, kann das aggregierte Faktenmodell weiter optimiert werden, indem es nicht nur temporale

Temporallogische Ausdr¨ ucke:

I Model-checking allows us to show to show properties of systems by enumerating the system’s states, by modelling systems as finite state machines, and expressing properties in

Diese Ergebnisse können als Weiterführung der empirischen Arbeiten von Schmidt-Lauff (2018) gesehen werden, sind aber auch im Rahmen der Forschung zu Weiterbildungsbeteiligung

Auch das Erfassen der Transaktionszeit bringt einige Probleme       mit sich, da verhindert werden muss, dass diese im Nachhinein geändert wird.. Desweiteren ist es notwendig

Analysis of variance models can be written as multiple regression models with indicator variables. Analysis of variance models are

Ist der aktuelle Verlauf nicht mit der Gewichteten­Linearität vorherzusagen, weil sich dieser gerade nicht linear verhält oder eine langfristige Vorhersage benötigt wird, so wird

Mari koristab esiku Totalobjekt ära •Mari wird den Flur aufräumen1 Ema paneb lapse Totalobjekt magama »Die Mutter wird das Kind, zu Bett E bringen* Esik saab koristatud 'Der Flur wird