![]() |
Prozesse → Teilschritte |
In diesem Lernmodul wird das Verhalten der Prozesse
in mehrere Teilschritte unterteilt. Diese Teilschritte werden dann in einer Endlosschleife
ständig wiederholt ausgeführt.
Jeder Teilschritt wird durch eine Java-Anweisung angegeben.
Hierbei gilt die gewohnte Java-Syntax. Neben einfachen Anweisungen wie Zuweisungen
können auch komplexere Ausdrücke wie z.B. For-Anweisungen, While-Anweisungen und
If-Anweisungen als ein Teilschritt angeben werden. So ist es möglich für einen Prozess
jedes Verhalten, dass in Java spezifizierbar ist, zu realisieren.
Abbildung 11
Bei den Teilschritten werden zwei verschiedene Typen unterschieden.
Für eine mögliche Initialisierungsphase kann ein Prozess eine Reihe von
Initialisierungsteilschritten
besitzen. Diese werden nur einmal am Anfang der gesamten Ausführung des Prozessnetzwerks
ausgeführt.
Neben den Initialisierungsteilschritten gibt es noch die Schleifenteilschritte,
die im Anschluß an die Initialisierungsphase dann in einer Endlosschleife
ausgeführt werden und so immer wiederholt werden.
Um bei der Visualisierung bzw. der Ausführung der Prozesse ein gewisses Zeitverhalten
simulieren zu können, wird jedem Teilschritt
eine Ausführungsdauer in Form von einer Anzahl von Zeitschritten zugeordnet.
Ein Zeitschritt ist die kleinste
nicht weiter unterteilbare Zeiteinheit innerhalb des Lernmoduls. Sie liegt auch der
schrittweisen Visualisierung zu Grunde (Details siehe Kapitel Visualisierung).
Zum Senden und Empfangen von Daten gibt es zwei ergänzende Anweisungen, die
im üblichen Java-Sprachumfang nicht existieren bzw. eine andere Bedeutung haben.
Mit der Anweisung send werden Daten an einen anderen Prozess gesendet.
Hierzu wird der jeweilige Wert, der übertragen werden soll und der Name des FIFO-Buffer
angegeben. Mit der Anweisung send i to X wird z.B. der Wert der prozessinternen Variable
i über den FIFO-Buffer
X an den entsprechenden Prozess gesendet. Mit der Anweisung wait werden Daten von
einem anderen Prozess empfangen bzw. es wird auf die Daten gewartet. Mit
der Anweisung i = wait Y wird z.B. ein Wert aus dem FIFO-Buffer
Y gelesen und der prozessinternen Variable i zugewiesen. Ist der FIFO-Buffer Y
leer, wartet der Prozess in diesem Teilschritt bis Daten im FIFO-Buffer angekommen sind.
Im folgenden Unterkapitel erfahren Sie, wie man einen Prozess in unserem Lernmodul einfügt, wieder entfernt oder verschiebt.
Einführung > Prozesse
> Teilschritte
zurück | weiter |