22.04.2014 Aufrufe

Eine Methode zur formalen Modellierung von ...

Eine Methode zur formalen Modellierung von ...

Eine Methode zur formalen Modellierung von ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

6.5 Nichtblockierendes Senden 153<br />

Spezikation eines Prozesses <strong>von</strong> Seite 133 mu entsprechend um den Port !ConftoP i<br />

sowie die Ports zu KV F 1 erweitert werden.<br />

6.5 Nichtblockierendes Senden<br />

Ausgehend <strong>von</strong> Abschnitt 6.4 beschreiben wir im folgenden die Ausfuhrung der Operationen<br />

mit nichtblockierendem Senden. Analog zu Abschnitt 6.4 werden wir einen Kooperationsverwalter<br />

modellieren, der die sendenden und empfangenden Prozessen koordiniert.<br />

6.5.1 Der Kooperationsverwalter bei nichtblockierendem Senden<br />

Der Kooperationsverwalter wird mit dem strukturellen Aufbau modelliert, den wir bereits<br />

fur den Nachrichtenaustausch mit Rendezvous verwendet haben. Damit konnen wir<br />

das in Abbildung 6.4.1 gezeigte SSD und die Andl-Spezikation <strong>von</strong> Abbildung 6.4.2<br />

vollstandig ubernehmen. Der wesentliche Unterschied in den <strong>Modellierung</strong>en besteht darin,<br />

da keine Ports an den Manager weitergegeben werden und dementsprechend keine<br />

Ports an Partnerprozesse weiterzuleiten sind. Wir konnen die Spezikationen der Komponente<br />

V F 1 fast vollstandig ubernehmen. Die Sequenzen h Send(val Pj) !ConftoP j i bzw.<br />

h (m Pj) !ConftoP j i mussen abgeandert werden zu: h Send(val Pj) i bzw. h (m Pj) i.<br />

Wir verzichten auf die Spezikation, die sich gema Abschnitt 6.4.1.1 leicht ergibt.<br />

Entsprechend <strong>zur</strong> Anderung an der <strong>Modellierung</strong> der Verteilerkomponente sind geringe<br />

Anderungen an der Spezikation der Nachrichtenpuer PiB vorzunehmen. Die in Abbildung<br />

6.4.4 gezeigte Andl-Spezikation einer Komponente PiB kann ubernommen werden.<br />

Es ist zu beachten, da die Kanale ConftoP i fur das System mit nichtblockierendem<br />

Senden nicht deniert sind. Wir verwenden somit die Menge der Kanalbezeichner N Koop .<br />

Bei nichtblockierendem Senden kann fur einen Empfanger eine Liste <strong>von</strong> Nachrichten vorliegen.<br />

Ein Empfanger entnimmt die Nachrichten elementweise, alle gesendeten Nachrichten<br />

mussen gespeichert und durfen nicht uberschrieben werden. Dementsprechend erweitern<br />

wir den Zustandsraum zu StateNB PiB wie folgt:<br />

StateNB PiB : is record [P 1 : : : Pf] of TNB PiB<br />

mit TNB PiB = fStandby Emptyg [ Msg .<br />

Das Verhalten <strong>von</strong> PiB wird textuell beschrieben durch:<br />

(1) (a) Erhalt PiB die Nachricht (val Pj) uber Kanal V F 1 toP iB, und ist Pi<br />

nicht empfangsbereit, wird val abgespeichert. Hierbei werden die Falle<br />

z[Pj] = Empty und z[Pj] = mstr mit mstr 2 Msg nfhig unterschieden.<br />

(b) Erhalt PiB die Nachricht (val Pj) uber Kanal V F 1 toP iB, und ist Pi<br />

empfangsbereit, wird uber Kanal KV F 1 toP i die Nachricht val gesendet.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!