3. 7 Event-Handler
Modell: event-handler (DEMO)
Beschreibung:
Das Modell zeigt die Verwendung einer
Ereignisroutine.
Auf der Maschine M werden 100 Jobs verschiedener Größe (1...30)
gefertigt. Dabei gilt für
die Maschine eine weiche Kapazitätsbeschränkung: Unter Volllast kann
die Maschine
maximal 105 Kapazitätsstellen bereitstellen. Um die Maschine zu
schonen, soll diese nach Möglichkeit aber
nur selten vollständig ausgeschöpft werden.
Im Modell besitzt M die Maximalkapazität von 105. Die weiche
Kapazitätsbeschränkung
wird durch einen Ereignishandler gesteuert, der vor jedem Transfer
eines Jobs auf Maschine M
die Funktion test aufruft. Der Transfer eines Jobs wird durch den
Rückgabewert 0 verweigert,
wenn zum Zeitpunkt der Anfrage mindestens 100 Kapazitätsstellen der
Maschine belegt sind.
Bei Rückgabe von 1 wird der Transfer durchgeführt und der Simulator
platziert den Job auf der Maschine.
Durch die Zuweisung der Maximalkapazität von 105 an die Maschine M wird
verhindert,
dass der Ereignishandler durch Jobs aufgerufen wird, die diese harte
Restriktion verletzen.
proc test {} {
if {[this load] >= 100} {
return 0
} else {
return 1
}
}
|