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.6 Erweiterung des Prozessors 155<br />

Ausgehend <strong>von</strong> der in Abschnitt 6.4.2 gezeigten <strong>Modellierung</strong> des Verhaltens leiten wir<br />

das Verhalten fur nichtblockierendes Senden ab. Die Erweiterung der Spezikation eines<br />

Prozesses fur nichtblockierendes Senden konnen wir mit nur geringfugigen Anderungen<br />

ubernehmen. Die Punkte (1"), (4") und (8) konnen vollstandig und unverandert wiederverwendet<br />

werden. Schritt (3') dessen Anpassung in Abschnitt 6.4.2 notig war, da Pi die<br />

Vorbereitungen fur das Rendezvous treen mu, ist hier nicht erforderlich, er tritt in der<br />

Spezikation nicht mehr auf. Ebenso ist die Spezikation <strong>von</strong> Punkt (9) nicht notig, da<br />

ein Proze bei der Ausfuhrung einer Sendeoperation nicht blockiert wird und nicht auf die<br />

Bestatigung des Empfangers wartet. Punkte (10) wird wie folgt angepat und formalisiert:<br />

(10') Erhalt Pi im Zustand (waitKoop (Rec(Pj) va) p) uber Kanal KV F 1 toP i die<br />

Nachricht m 2 Msg, sendet Pi die Sequenz h Pi!DtoPii uber Kanal P itoQ und<br />

geht in den Zustand (ready Write(m va) p) uber.<br />

Anpassung der Spezikation fur f Pi der Seiten 133 und 152<br />

(10 0 ) h(waitKoop (Rec(Pj)va) p)(fKV F 1 toP i 7! h m ig s)<br />

= fPitoQ7! h Pi!DtoP i ig h(ready W rite(m va) rt:p)(s)<br />

6.6 Erweiterung des Prozessors<br />

Mit der <strong>Modellierung</strong> des Nachrichtenaustauschs wurden die Berechnungsschritte bereits<br />

bei den Prozessen detaillierter beschrieben. Zusatzlich verfugt der Prozessor uber den Kooperationsverwalter<br />

des Prozesses und initiiert in Verbindung mit diesem den Nachrichtenaustausch<br />

zwischen Prozessen. Wir erweitern die in Abschnitt 5.8.2 gezeigte <strong>Modellierung</strong><br />

des Prozessors. Dessen Verhalten wurde so beschrieben, da auf dem Arbeitsspeicher<br />

abstrakte Speicheroperationen Step i mit realer Adresse ra i ausgefuhrt werden. Mit einer<br />

Sendeoperation wird ein Wert an den Partnerproze gesendet, der aus dem Speicher<br />

entnommen wird. Gema dieser Vorstellung wird die Spezikation des Prozessors so erweitert,<br />

da er bei einer Nachricht (Send(val Pj) va) und bei nicht vorliegendem Seitenfehler<br />

einen Wert aus dem Speicher liest. Dieser Wert wird an den Kooperationsverwalter gesendet.<br />

Die <strong>Modellierung</strong> des Prozessors wird ebenfalls an die beiden alternativen Paradigmen<br />

des Nachrichtenaustauschs angepat. Wir zeigen beide in der folgenden Spezikation.<br />

Zusatzlich ist zu beachten, da ein Proze wahrend der Ausfuhrung einer Instruktion suspendiert<br />

werden kann. In Abschnitt 5.8.2 haben wir bereits detailliert die verschiedenen<br />

Falle speziziert, die hierbei auftreten konnen. Die Ausfuhrung einer Instruktion ist im<br />

Gegensatz <strong>zur</strong> <strong>Modellierung</strong> im Kapitel 4 in mehrere Einzelschritte aufgeteilt. Bei der<br />

Ausfuhrung jedes dieser Schritte kann die Nachricht Suspend uber die Verbindung zum<br />

Dispatcher eintreen. Vor allem bei der Ausfuhrung einer Sendeoperation sind hier bei<br />

der <strong>Modellierung</strong> mehrere zusatzliche Fallunterscheidungen notig. Diese werden wir im

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!