|
- Dazu wird als erstes die Klasse "Foerderband" im LUS registriert,
denn sie stellt dann die Methode "controlMotor" zur Verfügung. "Foederband"
meldet auch die Klasse "Motorsteuerung" im LUS an. Außerdem werden hier
die benötigten Stubs und Skeletons erzeugt, bzw. bereitgestellt. Zur
näheren Erläuterung sind Stubs und Skeletons Rumpfklassen, die im Server
dem Client zur Verfügung stehen. Sie sind von entscheidender Wichtigkeit,
da sie die Informationen enthalten, mit welcher Methode (hier "controlMotor")
in welcher Klasse der Client mit dem Server über welches Interface (hier
" JiniInterface") kommunizieren kann. Skeletons werden für die Übergabe
Server/Client benötigt, während die Stubs für die Übergabe Client/Server
da sind. In unserem Fall sind es die Klassen "Motorsteuerung_Stub" und
"Motorsteuerung_Skel".
- Anschließend definiert die Klasse "JiniInterface" die Methode "controlMotor",
da sie ja in "JiniInterface" beinhaltet ist.
- Nun wird die Klasse "Foerderbandsteuerung" gestartet. Sie implementiert
das Interface "JiniInterface".
- Als nächstes erfolgt in der Klasse "Motorsteuerung" die Erzeugung
einer neuen Methode "Steuerung".
- Im fünften Schritt wird die Klasse "Foederbandsteuerung" als Client
aufgerufen und registriert sich im LUS selbständig.
- Jetzt ruft die Klasse "Foederbandsteuerung" die Methode "controlMotor"
im Service (hier die Klasse "Foederband") auf. Anschließend übergibt
die "Foerderbandsteuerung" der Methode "controlMotor" ein String-Literal
mit der aktuellen Laufrichtung, in der das Förderband laufen soll.
- Nachdem das String-Literal übergeben wurde, wird die Methode "controlMotor"
in der Klasse "Motorsteuerung" ausgeführt und übergibt anschließend
an die Klasse "Foederbandsteuerung" einen Vector mit der aktuellen Endposition
des Laufbandes und der aktuellen Signal- bzw. Befehlslaufzeit. Hier
findet sozusagen die eigentliche Messung der Zeit statt.
- Anhand dieser Information in diesem Vector entscheidet die "Foerderbandsteuerung"
über die neue Laufrichtung, übergibt diese der Methode "controlMotor"
und gibt gleichzeitig die aktuelle Endposition des Laufbandes sowie
die Signallaufzeit auf dem Monitor aus.
- Nun werden die Schritte 6.) bis 8.) mehrfach wiederholt, abhängig
davon, wieviele Wiederholungzyklen an Messungen der Signallaufzeit und
damit Richtungsbestimmungen bzw. -änderungen durchführt werden sollen.
Natürlich wird beim letzten Mal dann kein String-Literal mehr an "controlMotor"
übergeben, da das Programm ja abgearbeitet wurde.
- Zum Schluß werden die Klassen "Foerderbandsteuerung" und "Motorsteuerung"
beendet, denn das Programm wurde ja abgearbeitet. Der Service, die Klasse
"Foerderband" sowie die Stubs und Skeletons bleiben erhalten. Sie werden
geschlossen, wenn die JINI-Umgebung geschlossen wird.
|
|