Modellierung Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.

23
Modellierung Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld

Transcript of Modellierung Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.

Page 1: Modellierung Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.

Modellierung

Verteilte Anwendungen

Wintersemester 06/07

© Wolfgang Schönfeld

Page 2: Modellierung Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.

Entwickler, Benutzer (Anwender) und weitere Beteiligte sollten bei der Entwicklung möglichst lange kooperieren.

Da sie unterschiedliche Aufgaben erfüllen, bleibt es nicht aus, dass sie unterschiedliche Sichten auf das zu Entwickelnde haben.

Die Sichten müssen aber eindeutig ineinander überführbar sein (Bauplan → Haus).

Page 3: Modellierung Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.

Sichten auf verteilte Systeme

(eigene Zeichnung ca. 2005)

Page 4: Modellierung Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.

Als Modell bezeichnet man sowohl ein Vorbild, das der Nachahmung dient, als auch die – meist verkleinerte – Nachahmung eines Objektes.

Ein Modell kann sowohl ein physisches Objekt sein als auch eine abstrakte Vorstellung oder Theorie. Praktisch wird mindestens seit der Antike in abstrakten „Modellen“ gedacht, auch wenn der Begriff nicht explizit verwendet wurde.

(aus Wikipedia)

Mit Modellen kann man "herumspielen",

auch "auf dem Papier

und neuerdings mit dem Rechner.

Modelle

Page 5: Modellierung Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.

speziell mengentheoretische Modelleunter Abstraktion von Formen

in der Vergangenheit rein gedanklich, auf dem Papier

jetzt auch mit dem Rechner

zur Rolle der Mengenlehre vgl. "Why sets?" :

mathematische Modelle

Page 6: Modellierung Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.

Endliche Automaten

Petri-Netze

in endliche Automaten zerlegbare Petri-Netze(http://portal.acm.org/citation.cfm?coll=GUIDE&dl=GUIDE&id=889750)

Zelluläre Netze

abstrakte Zustandsmaschinen

Kalküle

Werkzeuge für Modellierung wurden in eigenem Kapitel behandelt.

spezielle mathematische Modelle

alternierende Turingmaschinen?

Page 7: Modellierung Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.

endlicher Automat (EA)(engl. finite state machine) ist ein Modell des Verhaltens, bestehend aus

Zuständen, Zustandsübergängen und Aktionen.

Page 8: Modellierung Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.

endlicher Automat (EA)Varianten sind:• erkennender Automat (Akzeptor)

Aktionen sind die Eingaben von Informationen.• erzeugender Automat

Aktionen sind die Ausgaben von Informationen.• Transduktor

Ein- und Ausgabe

Endliche Automaten spielen eine wichtige Rolle bei der Untersuchung von formalen Sprachen.

Page 9: Modellierung Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.
Page 10: Modellierung Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.

ZeitBeispiel: Bahnübergang

Zug

geschlossen

Schranke

offen offen

nein neinja

Die zwei Komponenten Zug und Schranke ändern ihren Zustand durch

• Zug: Ankunft/Abfahrt

• Schranke: Öffnen/Schließen

Page 11: Modellierung Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.

nein

Bahnübergang betrachten als:

zwei endliche Automaten, für jede Komponente einen.

Zug Schranke

offen

ja zu

keine Lösung!

Page 12: Modellierung Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.

nein

Zug

Schranke

keine Lösung!

ja

zu

ja

nein

zu

offen

offen

ein Automat, dessen zwei Koponenten voneinander unabhängig agieren(mathematisch: direktes Produkt)

Page 13: Modellierung Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.

auch keine Lösung (Schranke darf auch schließen, wenn kein Zu kommt.)

nein

ja

zu

ja

nein

zu

offen

offen

ein Automat mit zwei Komponenten, deren Aktionen vollständig gekoppelt sind

(mathematisch: isomorph einem Automaten mit zwei Zuständen)

Page 14: Modellierung Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.

nein

Zug

Schranke

Lösung! Aber nicht leicht zu verstehen.

ja

zu

ja

nein

zu

offen

offen

Meist sind mehr Zustände möglich als erwünscht.

ein Automat mit zwei Komponenten, deren Aktionen teilweise gekoppelt sind

(mathematisch: sub-direktes Produkt)

Page 15: Modellierung Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.

Ist eine Lösung leichter zu verstehen,

wenn man Aktionen ausschließt?

Page 16: Modellierung Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.

Ein Petrinetz ist ein bipartiter Graph von Aktionen ("Transitionen") und Zuständen ("Stellen"). Eine Transition ist mit einer Stelle durch eine gerichtete Kante verbunden, wenn die Aktion in diesem Zustand möglich ist. Dass eine Aktion einen Zustand bewirkt, ist ebenfalls durch eine Kante angedeutet.

Der Zustand eines verteilten Systems wird durch Marken (Token) auf den entsprechenden Stellen gekennzeichnet. Aktionen des Systems werden durch Verschieben der Marken dargestellt. (Es können auch Marken entstehen oder verschwinden.)

Petrinetz

Page 17: Modellierung Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.

Petrinetze können manchmal einfache Systeme besser veranschaulichen (wie man es für grafische Darstellungen erwartet).

Werden sie komplexer, so lässt sich eine übersichltiche Darstellung meist schon deswegen nicht erreichen, weil die Grafik prinzipiell nicht in die Ebene einbettbar ist (nicht planar).

Petrinetze sind für die Ausbildung, aber weniger für den Entwurf gedacht.

Sie sind außerdem als deutsche Entwicklung im amerkikanischen Umfeld nicht sehr bekannt.

Ihre wesentliche Beschränkung teilen sie mit den endlichen Automaten: Zustände sind nur durch Namen benannt und nicht im Detail beschrieben.

Das gilt auch für zelluläre Automaten:

Page 18: Modellierung Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.

Ein zellulärer Automat ist ein System von endlichen, im mehr-dimensionalen Raum angeordneten Automaten. Sie agieren gleichzeitig, wobei die jeweiligen Folgezustände von den augenblicklichen Zuständen der Nachbarn abhängen.

Page 19: Modellierung Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.

abstrakte Zustandsmaschinen: sequenziell

Abstract State Machines (ASM), formerly known as Evolving Algebras, are a formal method for specification and verification. The approach was originally developed by Yuri Gurevich, based around the concept of an abstract state machine, and is also espoused by Egon Börger. ASM theory is the basis for Abstract State Machine Language by Microsoft and XASM (Anlauff's eXtensible ASMs), an open source implementation. A number of support tools are available.

aus Wikipedia

Page 20: Modellierung Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.

GI-Jahrestagung/ASM-Workshop Magdeburg 1997

?

Page 21: Modellierung Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.

Kalkül

ist eine Menge von "formalen" Regeln

mathematische Kalküle: Arithmetik Differenzial- und Integralrechnung

logische Kalküle: Aussagenkalkül Relationenkalkül Situationskalkül

Sind Kalküle relevant für verteilte Anwendungen?

Vollständigkeit: gilt? ist erforderlich?

Kalkül != mathematische Modellierung (Schachspiel)

Page 22: Modellierung Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.

Modallogik

Prädikatenlogik + zusätzliche Operatoren • möglich• notwendig • immer (in der Zukunft) • manchmal/irgendwann (in der Zukunft) Ausdrucksmöglichkeiten • morgen wird es regnen • möglicherweise wird es morgen regnen, möglicherweise auch nicht in der Vorlesung nicht betrachtet, da in verteilten Anwendungen vor

allem nur "Faktenwissen"

Page 23: Modellierung Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.

Dialog

als Element der natürlichen Sprache

vergleichsweise wenige Modellierungsansätze (?)

funktionale Sprachen liefern eigentlich einen Hinweis

spielen aber keine Rolle bei verteilten Systemen

(s. Wikipedia)

Es gibt jedoch eine Dialoglogik in der Philosophie …