• Keine Ergebnisse gefunden

Modellierung verteilter Systeme

N/A
N/A
Protected

Academic year: 2021

Aktie "Modellierung verteilter Systeme"

Copied!
12
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)

Modellierung der Kontrollzustände als Prädikate

 Kontrollzustände beschreiben Mengen von Zuständen

 Zustandsmengen durch Zusicherungen p:   B darstellbar

 Um Kontrollzustände k1, k2, …, kn eindeutig zu unterscheiden können wir

eine Variable pc („program counter“) mit Sorte {k1, k2, …, kn} oder

boolesche Variablen k1, k2, …, kn einführen, wobei immer genau ein ki wahr gesetzt ist

 Beschreibung der markierten Übergänge durch Vorbedingung Q, Aktion S und Nachbedingung R

(3)

Zustandsübergangssysteme als Programme

 Programm besteht aus

Initialisierung für den Anfangszustand

und einer großen Endlosschleife

 Nehme Variable pc zur Identifikation der Kontrollzustände an

 Jeder Übergang wird übersetzt in eine bedingte Anweisung innerhalb der Schleife

(4)

Programme als Zustandsübergangssysteme

Transformation des Programms in Form mit Marken (engl. Labels), sodass vor und nach jeder Anweisung (zusammengesetzt und elementar) eine eindeutige Marke steht

neue Variable pc über der Menge der Marken einführen

Zu Beginn: Ersetze das durch Marken angereicherte Programm m0: S; m1

durch

pc := m0 do

[] true pc = m0 then S; pc := m1 od

Ersetze iteriert bewachte Anweisungen der Form [] G pc = m then S; pc := m‘

wie folgt

(5)

Programme als Zustandübergangssysteme ff.

Sequentielle Komposition wird zu

if-Anweisung

wird zu

(6)

Programme als Zustandübergangssysteme ff.

Schleife

wird zu

 Programm in einfacher Form kann dann in ZÜS übersetzt werden

Kontrollzustände sind durch die Markierungen gegeben

Bewachte Anweisungen ergeben Übergänge

(7)

Beispiel: Übersetzung Programm nach ZÜS

 Die Granularität des

Programms beeinflusst die der erzeugten

Zustandsmaschine

 Vergleiche

k := (min + max)/2

k := min + max; k := k / 2

 Nur im ersten Fall gilt die Invariante min k  max

(8)

Klassen und Objekte als Zustandsmaschinen

 Objektattribute bestimmen den Zustandsraum

 Methodenaufrufe als Eingabe

 Rückgabewerte als Ausgabe

 Betrachten Methodenaufruf als atomar, d.h. als einen Übergang

 : ObjectState  Call  ObjectState  Return

 Unteraufrufe können so nicht modelliert werden!

(9)

Beispiel: Lesen- und schreiben eines Attributes

 Für die Klassendefinition

 erhalten wir folgende Übergänge

(10)

Modellieren von Unteraufrufen

 Erlauben statt eines Rückgabewertes einen weiterleitenden Unteraufruf

 Außerdem ergänzen wir Objektidentifikatoren

(11)

Beispiel: Bankkonto objektorientiert

(12)

Beispiel: Bankkonto objektorientiert ff.

Referenzen

ÄHNLICHE DOKUMENTE

 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

 Ä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¨

ƒ Telekommunikationssysteme sind von den technischen Randbedingungen und somit auch von der technischen Architektur ähnlich zu eingebetteten Systemen (spezifische Hardware,

An dieser späten Stelle zeigt es sich, dass sich eine sorgfältige Planung des Modellsystems auszahlt: Die Wie- derverwendbarkeit bestehender Modellkomponenten wird im Wesentlichen