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

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

156 Prozekooperation<br />

folgenden nicht demonstrieren. Wir verweisen hierfur auf die Spezikation des Prozessors<br />

in Abschnitt 5.8.2 und zeigen die Spezikation nur fur den Fall, da der Nachrichtenaustausch<br />

vollstandig durchgefuhrt werden kann, ohne da der Proze suspendiert wird. PZ<br />

sei aktuell mit einem Proze Pi verbunden, der <strong>zur</strong> Familie F 1 gehort.<br />

(1) Erhalt PZ uber Kanal P toP Z die Nachricht (Rec(Pj) va) und die Sequenz v = hi<br />

uber Kanal DtoP Z, so sendet PZ die Nachricht Rec(Pj) uber Kanal PitoKV F 1<br />

und uber Kanal P ZtoP die Nachricht Blocked sowie die Ports ?SV toP i, !PitoSV,<br />

?KV F 1 toP i und !P itoKV Fk uber Kanal P ZtoP .<br />

(2) Erhalt PZ im Zustand (Send(val Pj) va) uber Kanal SV toP i die Nachricht<br />

(va ra), sendet PZ die Nachricht Read(ra) uber Kanal PZtoAS.<br />

(3) (a) Nichtblockierendes Senden:<br />

Erhalt PZ im Zustand (Send(val Pj) va) uber Kanal AStoP Z die Nachricht<br />

m 2 Msg, so sendet er die Nachrichten Send(m Pj) uber Kanal<br />

P itoKV F 1 und Ok((Send(val Pj) va) uber Kanal P ZtoP .<br />

(b) Blockierendes Senden:<br />

Erhalt PZ im Zustand (Send(val Pj) va) uber Kanal AStoP Z die Nachricht<br />

m 2 Msg, so sendet er die Nachricht Send(m Pj) und den Port<br />

!ConftoP i uber Kanal PitoKV F 1 und Blocked sowie die Ports ?SV toP i,<br />

!PitoSV, ?KV F 1 toP i und !PitoKV Fk uber Kanal PZtoP<br />

In Punkt (1) mussen wir nicht zwischen blockierendem und nichtblockierendem Senden<br />

unterscheiden, da Prozesse bei der Ausfuhrung einer Empfangsoperation stets blockieren.<br />

Erweiterung der Spezikation fur f PZ <strong>von</strong> Seite 136<br />

(1) f PZ (fP toP Z 7! h (Rec(Pj)va) i DtoP Z 7! hig s)<br />

= fPitoKV F 1 7! h Rec(Pj) i P ZtoP 7! h Blocked chanlistig f PZ (s)<br />

(2) g((Send(val Pj)va))(fSV toP i 7! h (va ra) ig s)<br />

= fP ZtoAS 7! h Read(ra) ig g(Send(val Pj)va))(s)<br />

Fur nichtblockierendes Senden:<br />

(3a) g((Send(val Pj)va))(fAStoP Z 7! h m ig s)<br />

= fPitoKV F 1 7! h Send(m P j) i P ZtoP 7! h Ok(Send(val Pj)va)gf PZ (s)<br />

Fur blockierendes Senden:<br />

(3b) g((Send(val Pj)va))(fAStoP Z 7! h m ig s)<br />

= fPitoKV F 1 7! h Send(m P j) i P ZtoP 7! h Blocked chanlistig f PZ (s)<br />

wobei : chanlist = ?SV toP i !PitoSV?KV F 1 toP i !P itoKV F 1

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!