Teil 3: Kommunikation zwischen aufrufenden und aufgerufenem Package

../../_images/Tut_PT_Part3.png

Ziel

Kommunikation mittels In- und Outboxen zwischen aufrufendem und aufgerufenem Package.

Testerstellung

  1. Im Testfall-Editor zu „Sender“ wechseln

  2. Anlegen der Variablen „sendLine“ mit dem Typ „Outbox“, kennzeichnen als Rückgabewert

  3. Die Operation „In Outbox schreiben“ unter Testschritte ‣ Datenoperationen (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

  4. Im Testfall-Editor zu „Main“ wechseln

  5. Anlegen der Variablen „receiveLine“ mit dem Typ „Inbox“, dabei die Voreinstellungen beibehalten

  6. Anlegen der numerischen Variable „receivedData“ mit dem Standardwert

  7. Anlegen der numerischen Variable „loopCounter“ mit dem Standardwert

  8. Nach dem Aufruf von „Receiver2“ eine Schleife mit der Anzahl „sendCountInput“ einfügen und den Zähler in „loopCounter“ speichern

  9. 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

  10. Die Operation „Aus Inbox lesen“ unter Testschritte ‣ Datenoperationen innerhalb der Schleife einfügen, dabei die Inbox „receiveLine“ auswählen, den Wert in Variable „receivedData“ speichern und als Erwartungswert Messwert gleich „loopCounter“ angeben

  11. Alle Packages speichern und das Main-Package ausführen

../../_images/ParalleleTests_Boxen.png

Testschritte für In- und Outboxen auswählen

../../_images/ParalleleTests_BoxParameter.png

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.