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.

74 Prozessorverwaltung<br />

(1) Q wird gestartet, wenn entweder beide oder nur ein Proze den Prozessor anfordern.<br />

Erhalt Q sowohl h P 1 !DtoP1 i uber Kanal P 1toQ als auch h P 2 !DtoP2 i<br />

uber Kanal P 2toQ, werden h P 1 !DtoP1 i uber Kanal QtoD gesendet und P 2 gespeichert.<br />

Erhalt Q nur uber Kanal P 1toQ oder P 2toQ eine Anforderung, wird<br />

diese uber Kanal QtoD gesendet. Es wird registriert, da im nachsten Zeitintervall<br />

die uber Kanal P 2toQ eintreende Anforderung zuerst gespeichert wird.<br />

(2) Empfangt Q uber Kanal DtoQ die Anfrage Next und gilt p 6= hi, sendet Q die<br />

Sequenz h ft:p!Dto(ft:p) i uber Kanal QtoD. Erhalt Q zudem uber die Kanale<br />

P 1toQ bzw. P 2toQ die Identikatoren P 1 bzw. P 2 und die Ports !DtoP1 bzw.<br />

!DtoP2, so werden diese gema der aktuell gultigen Reihenfolge abgespeichert.<br />

(3) Erhalt Q uber Kanal DtoQ die Anfrage Next, liegen keine weiteren Eingaben an<br />

den Kanalen P 1toQ bzw. P 2toQ an und gilt p = hi, so sendet Q die Nachricht<br />

Empty uber Kanal QtoD.<br />

(4) Es gilt p = hi.<br />

(a) Erhalt Q die Nachricht Next uber Kanal DtoQ und eine Anforderung des<br />

Prozessors uber den Kanal P itoQ, der der aktuell gultigen Reihenfolge<br />

entspricht, so wird diese Anforderung uber Kanal QtoD an den Dispatcher<br />

gesendet. Falls vom zweiten Proze ebenfalls eine Anforderung des<br />

Prozessors vorliegt, wird diese abgespeichert.<br />

(b) Q erhalt die Nachricht Next uber Kanal DtoQ, und am Kanal PitoQ,<br />

der der aktuell gultigen Reihenfolge entspricht, liegt keine Anforderung<br />

des Prozessors als Eingabe vor. Wenn hierbei die Anmeldung des zweiten<br />

Prozesses vorliegt, wird diese uber Kanal QtoD gesendet.<br />

(5) Erhalt Q uber die Kanale P 1toQ bzw. P 2toQ die Anforderungen <strong>von</strong> P 1 bzw.<br />

P 2 und uber Kanal DtoQ eine <strong>von</strong> Next verschiedene Nachricht, so werden die<br />

Identikatoren gema der aktuell gultigen Reihenfolge abgespeichert.<br />

Die bereits erwahnte richtige Reihenfolge modellieren wir, indem die an den Kanalen P 1toQ<br />

und P 2toQ in jedem Zeitintervall eintreenden Prozeidentikatoren in alternierender Reihenfolge<br />

abgespeichert werden, wobei wir mit Kanal P 1toQ beginnen. In der Spezikation<br />

der Queue fuhren wir hierzu einen Zustandsparameter <strong>zur</strong> Festlegung der Reihenfolge ein,<br />

in der die eintreenden Identikatoren im internen Speicher abgespeichert werden. Dieser<br />

Zustandsparameter wird mit "<br />

2\ initialisiert. Mit jedem Verstreichen eines Zeitintervalls<br />

wird er auf j = (l mod 2) + 1 gesetzt. Damit nimmt der Zustandsparameter alternierend<br />

die Werte "<br />

1\ und "<br />

2\ an.<br />

Die Umsetzung der Anforderungen (1) bis (5) ergeben sich mit dem allgemeinen Schema<br />

(2.7) <strong>von</strong> Seite 20 fur pulsgetriebene Funktionen. Da jedoch zusatzliche Variablen verwendet<br />

und einige Fallunterscheidungen explizit speziziert werden, geben wir weitere Erlauterungen<br />

zu den <strong>formalen</strong> Spezikationen an.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!