31.01.2013 Aufrufe

Objektorientierte Modellierung zur Simulation des Steuerverhaltens ...

Objektorientierte Modellierung zur Simulation des Steuerverhaltens ...

Objektorientierte Modellierung zur Simulation des Steuerverhaltens ...

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.

<strong>Simulation</strong> 25<br />

Addition der vorherbestimmten Prozeßzeit <strong>zur</strong> aktuellen Zeit wird das Austrittsereignis bestimmt<br />

und in eine Tabelle eingetragen.<br />

Um die <strong>Simulation</strong> durch den Ereignisverwalter steuern zu können, müssen die Funktionen, die<br />

beim Ereigniseintritt ausgeführt werden sollen, bekannt sein. Dafür sind sie zusammen mit ihren<br />

Parametern in der Ereignistabelle gespeichert. Die Einträge haben also die Form:<br />

Ereignis(t, Funktion, [Parameter] ).<br />

Beim Start einer <strong>Simulation</strong> wird der Startzeitpunkt t0 festgelegt und die Prozesse bestimmt, an<br />

denen zu diesem Zeitpunkt ein Ereignis stattfindet. Daraus ergeben sich die Einträge in der<br />

Tabelle der Ereignisse. Die Zeit „läuft“ dadurch, daß nachdem alle Ereignisse die zum Zeitpunkt<br />

t0 stattfinden bearbeitet sind,<br />

• t auf die Zeit <strong>des</strong> Ereignisses mit der kleinsten Zeit tmin gesetzt wird.<br />

• Alle Ereignisse, die zum Zeitpunkt tmin stattfinden, werden der Reihe nach bearbeitet 10 .<br />

• Alle bearbeiteten Ereignisse werden gelöscht 11 .<br />

• Es werden die Folgeereignisse bestimmt und in die Ereignistabelle eingefügt.<br />

Nach dem Abschluß dieser Vorgänge wird ein neues tmin bestimmt und der Vorgang beginnt<br />

von neuem. So springt die Variable t von Ereignis zu Ereignis.<br />

3.2.4 Prozeßzeitsteuerung<br />

Die prozeßorientierte <strong>Simulation</strong> wird ebenfalls von einem Ereignisverwalter gesteuert. In der<br />

Queue der Ereignisse finden sich neben den Zeiten in diesem Falle aber keine explizit definierten<br />

Ereignisse, sondern Verweise auf Prozesse, die Steuerungen von aktiven Objekten sind.<br />

Diese Prozesse führen, abhängig vom Systemzustand und von ihrem eigenen Status, die erforderlichen<br />

Aktionen durch, indem sie:<br />

• Objektattribute modifizieren,<br />

• neue Prozesse generieren,<br />

• andere Prozesse aufrufen,<br />

• andere Prozesse zu vorgegebenen Zeitpunkten in die Tabelle <strong>des</strong> Ereignisverwalters<br />

einfügen,<br />

• sich selbst deaktivieren und<br />

• Prozesse beenden /PAGE 91/.<br />

10<br />

Wenn mehrere Ereignisse, die sich gegenseitig ausschließen, zum gleichen Zeitpunkt eingetragen sind, liegt ein<br />

Konflikt vor. Die Reihenfolge der Bearbeitung kann durch die Einfügereihenfolge, eine den Ereignissen<br />

gegebene Priorität oder Zufällig bestimmt werden. Die Auswahl der Methode beeinflußt das<br />

<strong>Simulation</strong>sergebnis.<br />

11<br />

Ereignisse, die durch zuvor bearbeitete Ereignisse undurchführbar geworden sind, können <strong>zur</strong>ückgestellt oder<br />

ebenfalls gelöscht werden

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!