ARENA Tutorial 1 OttovonGuerickeUniversitt Magdeburg Thomas Schulze ARENA
ARENA Tutorial -1 Otto-von-Guericke-Universität Magdeburg Thomas Schulze
ARENA Tutorial 1. 2. 3. 4. 5. 6. 7. Historisches Basis-Elemente Ergebnisanalyse Modellierung von Transportvorgängen Integration mit anderen Systemen Customizing Kontinuierliche und kombinierte Modelle Otto-von-Guericke-Universität Magdeburg Thomas Schulze 2
Basiselemente n n Arena-Modelle bestehen aus Modulen Module – flowcharts » Beschreiben den Prozess für Entitäten » Sind untereinander verbunden » Create, Dispose, Process, Decide, Batch, Separate, Assign, Record – data » Beschreiben Objekte für die Prozesse » Entities, Resources, Queues » Statische Objekte: Variable, Schedule, Sets Otto-von-Guericke-Universität Magdeburg Thomas Schulze 3
Example 1 n n An einem Drucker treffen in zufälligen Abständen Druckjobs ein Modellierung: – Erzeugen der Jobs – Zuweisung einer Jobnummer – Vernichten der Jobs (ohne eigentliches Drucken) n Werte zur Simulation: – ZE entspricht 1 Sekunde – Zwischenankunftszeit gleichverteilt [10, 20] – Ende der Simulation nach 600 ZE Otto-von-Guericke-Universität Magdeburg Thomas Schulze 4
Example 1 Otto-von-Guericke-Universität Magdeburg Thomas Schulze 5
Create n Erzeugen von Entities – Es lasen sich verschiedene Entitätstypen definieren Otto-von-Guericke-Universität Magdeburg Thomas Schulze 6
Assign n Zuweisen von Werten an Attribute und Variablen – Variable V_Jobnummer wird inkrementiert Otto-von-Guericke-Universität Magdeburg Thomas Schulze 7
Assign – Zuweisung des aktuellen wertes der Variablen V_Jobnummer an das Attribut Jobnummer Otto-von-Guericke-Universität Magdeburg Thomas Schulze 8
Dispose n n Vernichten von Entities Einbindung einer Statistik Otto-von-Guericke-Universität Magdeburg Thomas Schulze 9
Steuerung der Simulation n Run ->Setup ->Replication Parameters Otto-von-Guericke-Universität Magdeburg Thomas Schulze 10
Standardresultatausgabe n Run -> Setup -> Reports Otto-von-Guericke-Universität Magdeburg Thomas Schulze 11
Entity-Report Otto-von-Guericke-Universität Magdeburg Thomas Schulze 12
Einfache Prozessbeschreibung n n Einfache Zeitverzögerung Bedingungsabhängige Verzögerung – Spezialfall : Belegung einer Resource – Allgemeiner Fall n n Totale Blockierung Verzweigen und Zusammenführen Otto-von-Guericke-Universität Magdeburg Thomas Schulze 13
Einfache Zeitverzögerung n Einfache Zeitverzögerung mit dem Modul Process – Auch für Verzögerungen im Zusammenhang mit einer Resource n Angabe einer Verzögerungszeit – Wird in dem Modul berechnet – Verwendung von Datenmodulen (Attributen, Variablen, Sequences) Otto-von-Guericke-Universität Magdeburg Thomas Schulze 14
Example 2 n n Grundidee von Example 1 Der Job wird im Netz um eine Zeit verzögert – Gleichverteilung [ 9, 19] Otto-von-Guericke-Universität Magdeburg Thomas Schulze 15
Process-Modul Otto-von-Guericke-Universität Magdeburg Thomas Schulze 16
Bedingungsabhängige Verzögerung n Bedingung – Warte bis eine Resource belegt werden kann n Zusätzliche Aktionen – Belege diese Resource um eine definierte Zeit – Gib die Resource wieder frei, so dass eine wartende Entität diese Resource wieder belegen kann n Wird im Process-Modul abgebildet Otto-von-Guericke-Universität Magdeburg Thomas Schulze 17
Resource n n n Einheit, um Entitäten aufzunehmen Entität kann die Resource nur belegen, wenn freie Einheiten vorhanden sind (Seize) Wartende Entitäten werden in einer Warteschlange gesammelt Verfügt über eine Kapazität, die sich während der Simulation verändern kann Nach dem Verlassen einer Entität wird versucht, wartende Entitäten nachrücken zu lassen (Release) Otto-von-Guericke-Universität Magdeburg Thomas Schulze 18
Example 3 n n n Grundidee von Example 1 Der Drucker wird als Resource nachgebildet Die Verweilzeit im Drucker ist: – Gleichverteilung [9, 19] n Statistiken sind zu erstellen Otto-von-Guericke-Universität Magdeburg Thomas Schulze 19
Process-Modul Otto-von-Guericke-Universität Magdeburg Thomas Schulze 20
Process-Modul n Im Process-Modul wird die Action – Seize-Delay-Release selektiert n n Die Resource Drucker (Datenmodul) definiert und ausgewählt Die Zeitverzögerung für eine Entität in der Resource beschrieben Otto-von-Guericke-Universität Magdeburg Thomas Schulze 21
Statistiken n In Run -> Setup -> Project Parameter wird definiert, welche Statistiken gesammelt werden sollen Otto-von-Guericke-Universität Magdeburg Thomas Schulze 22
Ergebnisse Example 3 Otto-von-Guericke-Universität Magdeburg Thomas Schulze 23
Ergebnisse Example 3 Otto-von-Guericke-Universität Magdeburg Thomas Schulze 24
Bedingungsabhängige Verzögerung n n Vielfach lässt sich eine Resource zur Nachbildung von Bedingungen verwenden, dann ist die Verwendung von Process zu empfehlen Allgemeiner wird die Bedingung durch den Hold-Modul beschrieben (Advanced Process Template) Die Entitäten warten in einer Queue Der Hold-Module unterscheidet drei Formen: Otto-von-Guericke-Universität Magdeburg Thomas Schulze 25
Hold-Module n Scan for Condition – Entitäten warten in der Queue, bis eine Bedingung wahr wird n Wait for Signal – Entitäten warten in der Queue auf ein bestimmtes Signal ( Wird von einer anderen Entität erzeugt) n Infinite Hold – Entitäten warten, bis eine andere Entität sie aus der Queue mit Remove herausholt Otto-von-Guericke-Universität Magdeburg Thomas Schulze 26
Example 4 n n Fahrzeuge kommen an einer Kreuzung an. In Abhängigkeit vom Zustand der Lichtsignalanlage (LSA) können sie weiterfahren, oder sie müssen warten Die LSA wird in einem separatem Prozess gesteuert Otto-von-Guericke-Universität Magdeburg Thomas Schulze 27
Example 4 Otto-von-Guericke-Universität Magdeburg Thomas Schulze 28
Hold mit Scan n Zur Nachbildung des Wartens auf „grün“ wird der Hold-Modul verwendet Bedingung: Variable V_LSA = 1 Otto-von-Guericke-Universität Magdeburg Thomas Schulze 29
Verändern der Bedingung n n Der Prozess zur Beschreibung der LSA-Steuerung setzt in periodischen Abständen die Variable V_LSA auf 1 oder 0. Beschreibung als Zyklus wäre günstiger (Sprachelemente sind noch nicht verfügbar) Otto-von-Guericke-Universität Magdeburg Thomas Schulze 30
Example 5 n n Ein Produzent liefert 5 verschiedene Teile in ein Lager. Die Zwischenankunftszeit ist exponential-verteilt und die Verteilung auf die Teilarten ist gleichmäßig. Ein Kunde kommt an dem Lager vorbei und entnimmt alle Teile einer bestimmten Teileart. Die Zwischenankunftszeit ist exponential-verteilt und die Verteilung auf die Teilearten ist ebenfalls gleichmäßig. Otto-von-Guericke-Universität Magdeburg Thomas Schulze 31
Example 5 Otto-von-Guericke-Universität Magdeburg Thomas Schulze 32
Hold mit Signal n n Jedem ankommenden Teil wird sein Teiletyp zugewiesen (Attribut Teiletyp) Die im Lager anbekommenden Teile warten auf das Signal entsprechend ihres Teilstyps Otto-von-Guericke-Universität Magdeburg Thomas Schulze 33
Auslösen des Signals n n Jedem Kundenauftrag wird der Teiletyp (Attribut Teiletyp. Order) zugewiesen. Für diesen Teiletyp wird ein Signal gegeben Otto-von-Guericke-Universität Magdeburg Thomas Schulze 34
Example 6 n n n Ein Lieferant legt Rohteile in einem Lager (Pool) ab. Jedem ankommenden Teil wird eine Bearbeitungszeit zugeordnet. Die Teile werden absteigend nach ihren Bearbeitungszeiten im Lager sortiert. Ein Disponent prüft ob Teile im Lager vorhanden sind, wählt das erste Teil entsprechend der Strategie aus und gibt den Auftrag an die Fertigung frei. Nach der Abarbeitung wird der Disponent über das Ende der Bearbeitung informiert und er überprüft erneut den Pool auf vorhandene Aufträge. Otto-von-Guericke-Universität Magdeburg Thomas Schulze 35
Example 6 Otto-von-Guericke-Universität Magdeburg Thomas Schulze 36
Infinite Hold n n n Bei dem Infinite Hold wird die Entität in einer Queue verzögert. Sie kann nur durch eine andere Entität mittels Remove-Module aus dieser Queue entfernt werden In dem Remove-Modul muss die Position der zu entfernenden Entität angeben werden Otto-von-Guericke-Universität Magdeburg Thomas Schulze 37
Infinite Hold Otto-von-Guericke-Universität Magdeburg Thomas Schulze 38
Reihenfolge in der Queue n Im Queue-Datenmodul kann die Warteschlangendisziplin beschrieben werden Otto-von-Guericke-Universität Magdeburg Thomas Schulze 39
Hold mit Scan für den Disponenten n Der Disponent wartet bis mindesten 1 Auftrag im Pool ist Otto-von-Guericke-Universität Magdeburg Thomas Schulze 40
Freigabe des Auftrages n n Mittels Remove wird der Auftrag auf der ersten Position aus dem Pool ausgewählt Ausgewählte Entität wird zu „Verabeiten“ verzweigt Otto-von-Guericke-Universität Magdeburg Thomas Schulze 41
Warten auf das Ende der Berabeitung n n Der Disponent wartet auf das Ende der Bearbeitung Das Ende wird durch ein Signal angezeigt Otto-von-Guericke-Universität Magdeburg Thomas Schulze 42
Weitere Basic-Process. Module n Decide – Gestattet 2 - und n-Wege Verzweigungen – Bei 2 -Wege-Verzweigung wird nur ein Ausgang verwendet – Bei der n-Weg-Verzweigung wird durch jeden erfüllten Ausgang eine Entität geschickt ( neue Entitäten werden generiert) Otto-von-Guericke-Universität Magdeburg Thomas Schulze 43
Weitere Basic-Process. Module n Batch, Separate – Gruppenbildung von Entitäten – Temporär » Können mittels Separate-Modul wieder aufgelöst werden – Permanent » Können nicht wieder aufgelöst werden – Entitäten werden verzögert, bis eine bestimmte Anzahl erreicht ist Otto-von-Guericke-Universität Magdeburg Thomas Schulze 44
Statistiken n Tally-Statistics (discrete-time statistics) – Statistische Parameter über eine Menge von Werten – Beobachtungen zu diskreten Zeitwerten n Time-persistent-Statistics – Statistische Parameter über Größen, die sich über der Zeit verändern (mittlere Warteschlabgenlänge) n Counter-Statistics – Einfache Zählungen Otto-von-Guericke-Universität Magdeburg Thomas Schulze 45
Record-Modul n Mit dem Record-Module werden die Tallyund die Counter-Statistic unterstützt Otto-von-Guericke-Universität Magdeburg Thomas Schulze 46
Modellierung auf dem Sprachlevel n n Die Sprache SIMAN bildet die Grundlage SIMAN-Anweisungen – Entitätenfluß » Blocks-Panel – Objekte » Elements-Panel Otto-von-Guericke-Universität Magdeburg Thomas Schulze 47
Single-Server n Benötigte Elements Otto-von-Guericke-Universität Magdeburg Thomas Schulze 48
Single-Server n Benötigte Blöcke Otto-von-Guericke-Universität Magdeburg Thomas Schulze 49
Single-Server mit zwei Warteschlangen n n Zwei unterschiedliche Teile werden in zwei getrennten Puffern gelagert. Die Maschine wählt vorrangig Teile aus dem Puffer 1 zur Bearbeitung aus Modellierung mit zwei Warteschlangen Ankommende Teile werden mit QUEUEdetach in den Warteschlangen aufgehalten Otto-von-Guericke-Universität Magdeburg Thomas Schulze 50
Single-Server mit zwei Warteschlangen Otto-von-Guericke-Universität Magdeburg Thomas Schulze 51
Blockierende Queues Otto-von-Guericke-Universität Magdeburg Thomas Schulze 52
Auswahl aus Queues n QPICK-Modul erlaubt die Auswahl von Entitäten aus unterschiedlichen Warteschlangen nach bestimmten Regeln Otto-von-Guericke-Universität Magdeburg Thomas Schulze 53
- Slides: 53