9
Einführung in das Simulationsframework Referent: Jan Schröter

Einführung in das Simulationsframework

  • Upload
    zoe

  • View
    18

  • Download
    0

Embed Size (px)

DESCRIPTION

Einführung in das Simulationsframework. Referent: Jan Schröter. Übersicht. basiert auf dem Simsalabim-Paket von Martin Öster und Johan Larson stellt ein Grundgerüst für ereignisorientierte Simulation dar geschrieben in Java 1.1 - PowerPoint PPT Presentation

Citation preview

Page 1: Einführung in das Simulationsframework

Einführung in das Simulationsframework

Referent: Jan Schröter

Page 2: Einführung in das Simulationsframework

AWS00/sim 2

Übersicht

• basiert auf dem Simsalabim-Paket von Martin Öster und Johan Larson

• stellt ein Grundgerüst für ereignisorientierte Simulation dar

• geschrieben in Java 1.1

• Sammlung von Klassen und Interfaces, die einen Rahmen bilden für die Simulation

Page 3: Einführung in das Simulationsframework

AWS00/sim 3

Die Framework-Klassen: SimSystem

Die eigentliche Simulationsengine.Arbeitet die in der Eventwarteschlange wartenden Events ab.Methoden:• start() - startet die Simulation, nimmt jeweils nächstes Ereignis aus der

Warteschlange und ruft dessen resume()-Methode auf. Dabei werden allen Supervisor benachrichtigt.

• post(SimEvent e) - fügt ein neues Ereignis in die Warteschlange einAchtung: Events können illegalerweise in die Vergangenheit gepostet werden!

• addSupervisor() - Fügt dem System einen neuen Supervisor hinzu

Page 4: Einführung in das Simulationsframework

AWS00/sim 4

Die Framework-Klassen: SimEvent

Abstrakte Klasse eines Event.Flags:• isDue - ist soll das Ereignis ausgeführt werden (dadurch

Löschen möglich)• isPrimary - falls true, werden zuerst die Supervisor

benachrichtigtMethoden:• resume() - Ereignisroutine des Ereignisses, wird von

SimSystem aufgerufen

Page 5: Einführung in das Simulationsframework

AWS00/sim 5

Die Framework-Klassen: SimSupervisor

Interface, das eine Überwachungsinstanz des Simulationslaufes modelliert.

Hier können statistische Daten gesammelt werden.

Methoden: • supervise(SimEvent e) - Jedes abgearbeitete Ereignis wird

den Supervisor-Objekten durch diese Methode übergeben.

Page 6: Einführung in das Simulationsframework

AWS00/sim 6

Die Framework-Klassen: Der Rest

• SimReceiver - Interface, die Events empfangen kann (legacy von Simsalabim)

• Linkage & List - Hilfsklassen zur Realisierung von Warteschlangen

Page 7: Einführung in das Simulationsframework

AWS00/sim 7

Ablauf der EventbehandlungSimSystem sim = new SimSystem();

sim.post(new SimEvent e());

sim.start();

...

dispatch(event);

event.resume();

notifySupervisors(event);

// Simulator initialisiert

// neues Event wird gepostet

// Starten der Simulation

// Zeit vergeht

// SimSystem dispatcht Event

// SimSystem ruft dieEventmethode auf// SimSystem benachrichtigtdie Supervisors

Page 8: Einführung in das Simulationsframework

Beispiel: simExample.CallCenter

Page 9: Einführung in das Simulationsframework

AWS00/sim 9

Beispiel: simExample.CallCenter

Das Beispiel aus der Vorlesung mit Hilfe des Simulationsframeworks.

folgende Klassen:• CallCenter• CallSupervisor• NewCustomerEvent• EndOfServiceEvent• EndOfPatienceEvent• EndOfSimEvent