Teil 3: Kommunikation zwischen aufrufenden und aufgerufenem Package¶
Ziel
Kommunikation mittels In- und Outboxen zwischen aufrufendem und aufgerufenem Package.
Testerstellung
Im Testfall-Editor zu „Sender“ wechseln
Anlegen der Variablen „sendLine“ mit dem Typ „Outbox“, kennzeichnen als Rückgabewert
Die Operation „In Outbox schreiben“ unter (siehe Abb. „Testschritte für In- und Outboxen auswählen“) innerhalb der Schleife einfügen, dabei als Outbox „sendLine“ auswählen und als Nachricht „loopCounter“ angeben
Im Testfall-Editor zu „Main“ wechseln
Anlegen der Variablen „receiveLine“ mit dem Typ „Inbox“, dabei die Voreinstellungen beibehalten
Anlegen der numerischen Variable „receivedData“ mit dem Standardwert
Anlegen der numerischen Variable „loopCounter“ mit dem Standardwert
Nach dem Aufruf von „Receiver2“ eine Schleife mit der Anzahl „sendCountInput“ einfügen und den Zähler in „loopCounter“ speichern
Den Package-Parametrierungsdialog für „Sender“ aufrufen und den Tab In-/Outboxen aktivieren, darin eine Verknüpfung zwischen „sendLine“ und „receiveLine“ wie in Abb. „In- und Outboxen über den Package-Parametrierungsdialog verknüpfen“ herstellen
Die Operation „Aus Inbox lesen“ unter innerhalb der Schleife einfügen, dabei die Inbox „receiveLine“ auswählen, den Wert in Variable „receivedData“ speichern und als Erwartungswert Messwert gleich „loopCounter“ angeben
Alle Packages speichern und das Main-Package ausführen
Testschritte für In- und Outboxen auswählen¶
In- und Outboxen über den Package-Parametrierungsdialog verknüpfen¶
Ergebnis
Das Package „Sender“ sendet bei jedem Schleifendurchlauf seinen Zähler über eine Outbox an das aufrufende Package. Dieses liest den Zähler mit der verknüpften Inbox wieder aus und vergleicht ihn mit seinem Zähler.
Bemerkung
In- und Outboxen sind Speicher, die miteinander verknüpfbar sind und zur Kommunikation zwischen Packages dienen. Zu jeder Outbox gehört eine Inbox. Im vorliegendem Beispiel arbeiten In- und Outbox nach dem FIFO-Prinzip. Zur Kommunikation mit In- und Outboxen zwischen Packages muss die Box-Variable zwingend als Eingabeparameter beziehungsweise Rückgabewert gekennzeichnet sein.