Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld

Ähnliche Präsentationen


Präsentation zum Thema: "Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld"—  Präsentation transkript:

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

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

3 Sichten auf verteilte Systeme
(eigene Zeichnung ca. 2005)

4 Modelle 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.

5 mathematische Modelle
speziell mengentheoretische Modelle unter Abstraktion von Formen in der Vergangenheit rein gedanklich, auf dem Papier jetzt auch mit dem Rechner zur Rolle der Mengenlehre vgl. "Why sets?" :

6 spezielle 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. alternierende Turingmaschinen?

7 endlicher Automat (EA)
(engl. finite state machine) ist ein Modell des Verhaltens, bestehend aus Zuständen, Zustandsübergängen und Aktionen.

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

9

10 Beispiel: Bahnübergang
Zeit Zug geschlossen Schranke offen nein ja Die zwei Komponenten Zug und Schranke ändern ihren Zustand durch Zug: Ankunft/Abfahrt Schranke: Öffnen/Schließen

11 Bahnübergang betrachten als: zwei endliche Automaten, für jede Komponente einen.
ja zu Zug Schranke nein offen keine Lösung!

12 ein Automat, dessen zwei Koponenten voneinander unabhängig agieren (mathematisch: direktes Produkt)
ja ja zu offen Zug Schranke nein nein zu offen keine Lösung!

13 (mathematisch: isomorph einem Automaten mit zwei Zuständen)
ein Automat mit zwei Komponenten, deren Aktionen vollständig gekoppelt sind (mathematisch: isomorph einem Automaten mit zwei Zuständen) ja ja zu offen nein nein zu offen auch keine Lösung (Schranke darf auch schließen, wenn kein Zu kommt.)

14 ein Automat mit zwei Komponenten, deren Aktionen teilweise gekoppelt sind
(mathematisch: sub-direktes Produkt) ja ja zu offen Zug Schranke nein nein zu offen Lösung! Aber nicht leicht zu verstehen. Meist sind mehr Zustände möglich als erwünscht.

15 Ist eine Lösung leichter zu verstehen, wenn man Aktionen ausschließt?

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

17 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:

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

19 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

20 ? GI-Jahrestagung/ASM-Workshop Magdeburg 1997

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

22 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"

23 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 …


Herunterladen ppt "Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld"

Ähnliche Präsentationen


Google-Anzeigen