Die
Aufgabe soll mit genau einem Server Prozess gelöst werden.
Channels werden in MPD anders als in dem Buch mit
dem Keyword op deklariert. Schaut euch bei Problemen auch
das Tutorial
an.
Hat man den 2. Aufgabenteil gelöst braucht man den 1. Teil
nicht mehr machen. Um Missverständnisse zu vermeiden sollte aber
dann im 1. Teil auf den 2. verwiesen werden.
Bei Aufgabenteil 1 (Pseudocode) darf auch
der Befehl empty benutzt werden. MPD stellt empty
nicht zur Verfügung.
Ist es eigentlich wichtig zu modellieren, dass z.B. die Autos
auf der Brücke nicht ueberholen können? Wenn also ein Strom von
Autos auf die Brücke fährt, dürfte das schnellste, aber
vielleicht hintereste Auto nicht zuerst die Brücke verlassen. Dieser Aspekt kann vernachlässigt werden.
Muss man bei den Booten die unterschiedlichen Fahrtrichtungen
ebenfalls modellieren? Nein, da sie in der selben
Phase die Brücke passieren können sie zusammengefasst werden.
Falls euch die zündende Idee fehlt,
schaut euch Readers/Writers (und den Barbershop) nochmal an.
Aufgabe 5
Wenn ihr euch an die Angaben unter Compiling
and Running the RMI Example haltet, die Lösung also auf
meheren Rechner auch funktioniert bekommt ihr einen Bonus. Die volle
Punktzahl ist zu erreichen wenn die Lösung nur auf einem Rechner läuft.
Zu Teil 1. Jeder Prozess sollte sowohl als Client als auch als
Server agieren. Sie sollen die Minima untereinander verschicken,
nicht über einen (oder auch mehrere) Server.
Es dürfen Semaphoren oder synchronized-Methoden benutzt werden.
Es darf bei rmi auch mehr als das Minnimum
kommuniziert werden.