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.

62 Prozessorverwaltung<br />

Kanale ist initial festgelegt mit pp D = f?!P toP Z ?!PZtoPg. In den Phasen, in denen<br />

eine Kopplung zwischen Prozessor und Proze besteht, gilt: pp D = .<br />

Zur Prazisierung des Verhaltens <strong>von</strong> D und <strong>zur</strong> Festlegung der Nachrichten, die D empfangt<br />

und verschickt, geben wir folgende Erlauterungen: Das aktuell gultige Quantum wird mit<br />

rrq 2 IN (abkurzend fur round-robin-quantum) bezeichnet. Die Nachricht Timeout signalisiert,<br />

da die Zeitscheibe abgelaufen ist. Mit Reset wird das Messen einer Zeitscheibe<br />

gestoppt. D fordert durch Ausgabe der Nachricht Next uber Kanal DtoQ den fur die<br />

nachste Zuteilung des Prozessors ausgewahlten Proze an. Empfangt D <strong>von</strong> der Queue die<br />

Nachricht Empty, so wird erneut ein Identikator erfragt. Auf diese Weise realisieren wir<br />

aktives Warten. Mit diesen Erlauterungen ergeben sich die in Tabelle 4.3.3 aufgefuhrten<br />

Nachrichtenmengen.<br />

Kanal n<br />

QtoD<br />

DtoQ<br />

P ZtoD<br />

DtoP Z<br />

T toD<br />

DtoT<br />

P toP Z<br />

P ZtoP<br />

Nachrichtenmengen S n<br />

fP 1g [ fEmptyg<br />

fNextg<br />

fTermg<br />

fSuspendg<br />

fT imeoutg<br />

IN [ fResetg<br />

STEP [ fTermg<br />

fOk(Step) j Step 2 STEPg [ fSuspendg<br />

9<br />

>=<br />

><br />

[ ?!N OneP<br />

Tabelle 4.3.3: Nachrichtentypen fur D<br />

Wir spezizieren den Dispatcher zustandsorientiert, um explizit zu dokumentieren, ob der<br />

Prozessor aktuell an einen Proze gebunden ist, oder nicht. Als Zustandsmenge denieren<br />

wir: State D = ffreeboundg. Fur das Verhalten <strong>von</strong> D gilt:<br />

(1) D wird durch den Erhalt <strong>von</strong> P 1 und dem Port !DtoP1 uber Kanal QtoD gestartet.<br />

D initiiert den Verbindungsaufbau mit den Kanalen PtoPZ und PZtoP<br />

zwischen P 1 und PZ, loscht die Verbindung uber DtoP1, sendet die Nachricht<br />

rrq uber Kanal DtoT und geht in den Zustand bound uber.<br />

(2) Erhalt D die Nachricht Timeout uber Kanal TtoD, sendet D die Nachricht Suspend<br />

uber Kanal DtoPZ und verbleibt in Zustand bound.<br />

(3) Erhalt D im Zustand bound uber Kanal P ZtoD die Ports ?!P ZtoP und ?!PtoPZ,<br />

sendet D uber Kanal DtoQ die Nachricht Next und geht in den Zustand free uber.<br />

(4) Erhalt D uber Kanal TtoD die Nachricht Timeout und zusatzlich die Nachricht<br />

Term sowie die Ports ?!P ZtoP und ?!PtoPZ uber Kanal PZtoD, so sendet D die<br />

Nachricht Next uber Kanal DtoQ und geht in den Zustand free uber.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!