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

Post on 05-Apr-2015

104 views 1 download

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

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).

Sichten auf verteilte Systeme

(eigene Zeichnung ca. 2005)

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

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

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?

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

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

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.

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

nein

Bahnübergang betrachten als:

zwei endliche Automaten, für jede Komponente einen.

Zug Schranke

offen

ja zu

keine Lösung!

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)

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)

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)

Ist eine Lösung leichter zu verstehen,

wenn man Aktionen ausschließt?

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

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:

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.

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

GI-Jahrestagung/ASM-Workshop Magdeburg 1997

?

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)

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"

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 …