• Keine Ergebnisse gefunden

Modellierung verteilter Systeme

N/A
N/A
Protected

Academic year: 2021

Aktie "Modellierung verteilter Systeme"

Copied!
25
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Modellierung verteilter Systeme

Grundlagen der Programm und Systementwicklung

Sommersemester 2012

Prof. Dr. Dr. h.c. Manfred Broy

Unter Mitarbeit von Dr. M. Spichkova, J. Mund, P. Neubeck

(2)

Synchrone Kommunikation

Broy SS 12: Modellierung verteilter Systeme 2

(3)

Formen der Kommunikation

Fragen im Zusammenhang mit Kommunikation

 Adressierung

Über Identifikatoren der beteiligten Systeme (siehe OO)

Über Kanäle oder Ports

Über Vermittler (Konnektoren, Bussysteme, Black Boards, ...)

 Es existieren zwei grundlegend verschiedene Konzepte von Kommunikation (Nachrichtenaustausch)

asynchron: Nachricht wird gesendet (unabhängig von der Bereitschaft des Empfängers zum Empfangs): Senden und Empfangen sind

eigenständige Aktionen; Senden ist unabhängig vom Empfangen, aber kausal für Empfangen

(4)

Asynchrone Kommunikation

Senden

ist immer möglich, wenn zu sendende Nachricht vorliegt

braucht nicht mit dem Empfänger abgestimmt werden

Übertragen

kann über Ketten von Übertragungsschritten erfolgen

Kein Deadlock möglich (nur zyklisches Warten auf Nachrichten)

Gesendete Nachrichten

müssen gepuffert werden, bis Empfänger empfangsbereit ist

werden u.U. nie empfangen/abgerufen

Sender

kann unabhängig von der Empfangsbereitschaft seine Aktivität fortführen

erfährt nichts über den Zustand des Empfängers oder ob dieser die Nachricht abruft

Empfänger

Kann Nachricht empfangen, sobald sie vorliegt

Broy SS 12: Modellierung verteilter Systeme 4

(5)

Synchrone Kommunikation

Senden

ist nur möglich, wenn Empfänger empfangsbereit ist

muss mit dem Empfänger abgestimmt werden

Übertragen

muss (zumindest logisch) direkt erfolgen

Deadlock möglich (Warten auf Sende/Empfangsbereitschaft)

Gesendete Nachrichten

müssen nicht gepuffert werden

werden sicher empfangen

Sender

muss ggf. warten - kann nicht unabhängig von der Empfangsbereitschaft seine Aktivität fortführen

erfährt etwas über den Zustand des Empfängers und dass der Empfänger die Nachricht abgerufen hat

(6)

Synchrone Kommunikation

 Erfordert das Konzept gemeinsamer Aktionen

 Historische Beiträge

CSP von Hoare

CCS von Milner

weitere Prozessalgebren

Broy SS 12: Modellierung verteilter Systeme 6

(7)

Zustandsmaschinen mit gemeinsamen Aktionen

 Wir betrachten Zustandsmaschinen mit aktionsmarkierten Übergängen

Zustandsmenge ,

Aktionsmenge A

Anfangszuständen 0  

Zustandsübergangsrelation Δ:   A    IB für (, a, )  Δschreiben wir kurz

 Die Aktionsmenge A sei in zwei disjunkte Mengen gegliedert

lokale Aktionen

gemeinsame Aktionen



  

a

 

(8)

Synchrone Automaten

Broy SS 12: Modellierung verteilter Systeme 8

(9)

Synchrone Automaten

(10)

Synchrone Automaten

Broy SS 12: Modellierung verteilter Systeme 10

Die Grundidee ist, dass die synchronen Aktionen durch die Automaten in dem zusammengesetzten Automaten gemeinsam ausgeführt

werden (müssen)

(11)

CSP - Syntax

(12)

CSP - Syntax - Kommunikation in Wächtern

Broy SS 12: Modellierung verteilter Systeme 12

Dabei können die Bedingungen Gi von bewachten Anweisungen und Wiederholungsanweisungen folgende syntaktische Form annehmen (Ci sei ein Boolescher Ausdruck und c sei ein Kanalname):

(13)

CSP – Beispiel: Puffer

(14)

CSP – Beispiel: Verkaufsautomat

Broy SS 12: Modellierung verteilter Systeme 14

Kanäle:

wahl, warenaus : Chan Ware geldein, geldaus : Chan Nat

ausgabe, rückgabe : Chan Signal

(15)

Verklemmung in CSP

 In CSP stellt jeder Nachrichtenaustausch eine unteilbare Aktion dar.

 Nicht zusammenpassende Aktionen können zu einer Verklemmung führen

 Betrachte folgendes Programm:

 Der linke Prozess wartet auf einen Empfänger einer Nachricht auf Kanal x, der rechte Prozess wartet auf einen Empfänger einer

Nachricht auf Kanal y

 Keine Verklemmung des obigen Programms bei asynchroner

(16)

Operationelle Semantik von CSP

Broy SS 12: Modellierung verteilter Systeme 16

(17)

Operationelle Semantik von CSP: Senden/Empfangen

Operationelle Semantik durch Axiomatisieren der Übergangsfunktion:

(18)

Operationelle Semantik von CSP: Seq. Komposition

Broy SS 12: Modellierung verteilter Systeme 18

(19)

Operationelle Semantik von CSP: Kommunikation

(20)

Operationelle Semantik von CSP: Parallelität

Zur Anzeige wird der QuickTime™

Dekom pressor „“

be nö ti g t.

Broy SS 12: Modellierung verteilter Systeme 20

(21)

Operationelle Semantik von CSP

(22)

Operationelle Semantik von CSP: Verklemmung

Broy SS 12: Modellierung verteilter Systeme 22

(23)

Operationelle Semantik von CSP

(24)

Bereitschaft und Verweigerung

Broy SS 12: Modellierung verteilter Systeme 24

(25)

Bemerkungen zu CSP und synchroner Kommunikation

 Semantik sehr kompliziert

 Zur Äquivalenz/Kompatibilität von CSP-Programmen siehe nächsten Foliensatz

Stichwort Bisimulation

 Kommunikationsmodell entspricht nicht heutigen Systemen

Internet

Client/Server

Bordnetze in Fahr- und Flugzeugen

 Als Abstraktion dennoch manchmal hilfreich

Referenzen

ÄHNLICHE DOKUMENTE

 Äquivalenzbegriffe für Zustände (erweiterbar auf Mengen von Zuständen und Zustandsmaschinen) von Maschinen mit markierten Übergängen:.

Verfeinerung (engl. Refinement) adressiert die Beziehung zwischen Systemmodellen, wie sie im Verlauf einer Entwicklung mit immer mehr Details entstehen..  Formal ist

 In einem Zeitintervall können beliebig viele Nachrichten auf einem Kanal ausgetauscht werden.  Perfekte Synchronie (engl.

Jeder Kundenfunktion werden die logischen Komponenten zugeordnet, die an der. Erbringung der Kundenfunktion

(3) Wenn ein stabiles Pr¨ adikat in allen Startzust¨ anden gilt, gilt es auch f¨ ur alle erreichbaren Zust¨

Abgabe = alle Arzneimitteldaten, die aus dem Anwendungs- und Abgabebeleg (AuA-Beleg) vom Tierhalter oder vom Dritten (z.B. Tierarzt oder QS) in die HIT TAM Datenbank oder

Wählen Sie im Feld Signatur A aus der Drop-down-Liste die Option Externe Signatur verwenden und bestätigen Sie die Auswahl mit der Schaltfläche OK B.. um den Dialog Anhang

Caro hat ihre Onlinebestellungen auf der Websei- te von boost gestartet. Jedes Mal, wenn man dort über den Oxfam-Link http://bit.ly/oxboost zu einem von über 500 Partnershops geht