Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Modellierungswerkzeug Heidelberg, 2006 © Wolfgang Schönfeld.

Ähnliche Präsentationen


Präsentation zum Thema: "Modellierungswerkzeug Heidelberg, 2006 © Wolfgang Schönfeld."—  Präsentation transkript:

1 Modellierungswerkzeug Heidelberg, 2006 © Wolfgang Schönfeld

2 Modell (nach Wikipedia) entweder ein Vorbild, das der Nachahmung dient, oder die – meist verkleinerte – Nachahmung eines Vorbilds vgl. Modelleisenbahn - nicht nur Spielzeug, sondern auch (ernsthaftes) Lern-Hilfsmittel, vor allem für das ungefährliche Ausprobieren von SondersituationenSondersituationen

3 existierende Werkzeuge Visualisierung von Verteilten Algorithmen durch animierte HTML- und JAVA-Applets, Dortmund, 1997 Java Network SimulatorJava Network Simulator, in SourceForgeNetSourceForgeNet Java-Version von ND-2 (das in C++ implementiert wurde) Überblick Netzwerksimulatoren (von 1997)Überblick Netzwerksimulatoren (von 1997) (nur im WWW) msgnetmsgnet (R. Schiele, sourceforge.net) NetLogo

4 eigenes Modellierungswerkzeug für einfaches Herstellen einfacher Modelle selbst implementiert in Java (vor allem, weil kurzer Edit-Test- Zyklus) mit ECLIPSE nicht: (einfache) sequenzielle Programme auf einem Multi- Tasking-System laufen lassen sondern: Verteilung selber realisieren (eigenes kleines "Betriebssystem") Gründe (echte?) Verteilung besser steuerbar bestimmte Abläufe exakt wiederholbar Verwendung in meiner ersten Vorlesung war nicht geplant. Ursprünglich war es gedacht für die Entwicklung von mobilen Systemen. Ich möchte es auch jetzt noch nicht aus der Hand geben.

5 Ausführung mehrerer Prozesse durch einen Rechner (Multitasking) Prozesse in einem Kreis anordnen rundum durchlaufen ("round robin") und jeweils ein Stück ("Schub") voranbringen Auch Menschen sind zu Multitaking fähig. Die Länge der Schübe wird bei Betriebssystemen präemptiv (zentrale Instanz entscheidet) kooperativ (jeder Prozess entscheidet selbst) bestimmt. Frauen und Männer unterscheiden sich!

6 Prozess Runde Zeit 1234 1 2 3 4

7 Fairness Die Ausführung muss möglichst fair sein. Insbesondere sollte eine in einer bestimmten Runde abgesandte Nachricht nicht in derselben Runde verarbeitet werden. Dazu fügt man den Nachrichten ihren Absendezeit hinzu und sorgt dafür, dass sie frühestens in der nächsten Runde verarbeitet wird.

8 1234 1 2 3 4 Senden Empfangen nicht hier erst hier

9 arbeiten "kooperativ". Bei jedem ist von vornherein bekannt, was er macht (in einem "Schub"): 1.Nimm die oberste Nachricht vom Eingangspostkasten. 2.Verarbeite sie. 3.Versende neue Nachricht(en). Deswegen ist Unterbrechen nicht nötig! Erfasst man mit einfachem Nachrichten-Austausch alle Möglichkeiten zur Interaktion? Die Prozesse im Modellierungswerkzeug

10 (vereinfachter) Nachrichtentransport Es kommt nur darauf an, dass eine Nachricht zum Empfänger gelangt, aber nicht wie. Daher wird die Nachricht mit einer Laufzeit versehen. Der Sender legt sie in den Eingangspostkasten ("inbox") des Empfängers. Dort muss sie so lange warten, bis die Laufzeit vorüber ist. Diese Laufzeit kann fest eingestellt sein von der realen Entfernung abhängen zufällig sein von der Dringlichkeit abhängen

11 Bedienung "Load" lädt - je nach Version - ein Netz von der Datei. "Print" druckt den momentanen Zustand. "Initialize" ist eine eigenhändige Änderung des Zustands: Einem ausgewählten Knoten wird eine Nachricht in die inbox gelegt. Dies darf nur dann geschehen, wenn das Netz nicht aktiv ist. "Run" schaltet den Takt an. "Step" startet einen Taktschritt. Es kann nicht gleichzeitig mit "Initialize" gedrückt werden. Deswegen braucht man da keine Vorkehrungen wegen gleichzeitigem Zugriff zu treffen.)

12 Darstellung Knotens werden durch Rechtecke mit der vorgegebenen Position dargestellt. Neben dem Rechteck steht der Name des Knoten (und weitere Information). Die Laufzeit soll später durch einen Pfeil entsprechender Länge dargestellt werden, desse Spitze auf den Empfänger zeigt und diesen am Ende erreicht.

13 Implementiert sind Mengen durch ArrayList: Knoten (Netz) Verbindungen (Links) Nachrichten –get - Nimm die oberste Nach von der inbox und verarbeite sie. –remove - Entferne sie von der inbox

14 Implementiert sind Aktionen der einzelnen Knoten als Teile des Java-Programms. Es gibt also keine "Aktionssprache" und keinen Interpreter dafür. Geplant ist die Heraustrennung der Aktionssprache in eigene, getrennte Objekte Knoten (erledigt alle Systemaufgaben) Akteur (sitzt "auf" dem Knoten und erledigt die Anwendungen)

15 Speicherung in Dateien Nodes.dat erste Zeile: Vereinbarung der Namen der Knoten danach: ihre Position und erreichbaren Nachbarn Derzeit nur Load, nicht Save.


Herunterladen ppt "Modellierungswerkzeug Heidelberg, 2006 © Wolfgang Schönfeld."

Ähnliche Präsentationen


Google-Anzeigen