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.

6.1 Einfuhrung 139<br />

Weitere Varianten sind dadurch gekennzeichnet, wie die Kommunikation die Ausfuhrung<br />

der Berechnung beeinut. Es wird unterschieden zwischen:<br />

Die Kommunikation erfolgt in Abstimmung erst wenn Sender und Empfanger bereit<br />

<strong>zur</strong> Kommunikation sind, kann die stattnden. Diese Form des Nachrichtenaustauschs<br />

wird als blockierendes Senden (mittels Rendezvous) bezeichnet.<br />

Die Kommunikation kann erfolgen, ohne da sich Sender und Empfanger abstimmen.<br />

Diese Form wird nichtblockierendes Senden genannt.<br />

Blockierendes und nichtblockierendes Senden sind alternative Primitive, wobei die Entscheidung<br />

fur eine der Varianten vom Systementwickler getroen wird. Nur selten werden<br />

beide Arten angeboten, so da der Benutzer zwischen ihnen wahlen kann.<br />

Als Basisoperationen werden eine Sende- und eine Empfangsoperation fur alle Prozesse<br />

einheitlich festgelegt. Wir erklaren sie hier fur die Prozesse Pi und Pj mit i j 2 f1 : : : ng<br />

und i 6= j sowie Nachrichten des allgemein festgelegten Typs Msg.<br />

Sendeanweisung : Pi : send exp to Pj<br />

(exp ist ein Ausdruck vom Typ Msg)<br />

Empfangsanweisung : Pj : receive var from Pi<br />

(var ist eine Variable vom Typ Msg)<br />

Die 1:1-Zuordnung kann anhand der Anweisungen nachvollzogen werden: Mit der Sendeanweisung<br />

wird festgelegt, da der Wert des Ausdrucks exp <strong>von</strong> Proze Pi an den Proze<br />

Pj ( "<br />

to Pj\) zu senden ist. Mit der Empfangsoperation wird gekennzeichnet, da der Proze<br />

Pj eine Nachricht <strong>von</strong> Proze Pi ( "<br />

from Pi\) empfangen soll. Mit diesen einheitlichen<br />

Festlegungen fur die Sende- und Empfangsoperationen beschreiben wir die oben genannten<br />

Varianten blockierendes und nichtblockierendes Senden.<br />

6.1.2.1 Blockierendes Senden (Rendezvous)<br />

Wir beschreiben blockierendes Senden fur die beiden Prozesse Piund Pj mittels eines Rendezvous.<br />

Die Sendeoperation sei fur Proze Pi und die entsprechende Empfangsoperation<br />

fur Proze Pj deniert. Es gilt:<br />

1. Von Pi wird die Sendeoperation ausgefuhrt Pi bestimmt den Wert <strong>von</strong> exp, sendet<br />

diesen an Pj und wartet auf die Empfangsbestatigung <strong>von</strong> Pj.<br />

2. Von Pj wird die Empfangsoperation ausgefuhrt. Pj uberpruft das Vorliegen einer<br />

Nachricht <strong>von</strong> Pi. Falls diese noch nicht vorliegt, wird Pj bis zum Eintreen der<br />

Nachricht blockiert.<br />

3. Das Rendezvous wird ausgefuhrt, sobald die Nachricht bei Pj vorliegt. Pj ubernimmt<br />

den Wert der Nachricht in var und bestatigt Pi deren Empfang. Damit sind die

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!