1. 2. 17 Objektverknüpfungen
Verknüpfungen stellen Beziehungen von Simulationsbausteinen
untereinander her. Sie sind für den Ablauf der Simulation
erforderlich.
Verknüpfungen können auf verschiedene Art und Weise erzeugt
werden. Auf der Zeichenfläche können Bausteine durch
Drag&Drop (Absetzen eines oder mehrerer Bausteine mit
gedrückter linker Maustaste auf einem anderen Baustein) direkt
miteinander verknüpft werden. In Dialogen stehen an entsprechender
Stelle Kontextmenüs (Öffnen mit rechter Maustaste) zur
Verfügung, die die Auswahl bestehender Objekte oder das
Verknüpfen mit einem neu zu erzeugenden Baustein und ebenso das
Lösen der Verknüpfung zulassen. Somit sind immer alle
Verknüpfungsoperationen über die Kontextmenüs
zugänglich, nur eine Auswahl davon kann auf der Zeichenfläche
realisiert werden. An geeigneter Stelle können auch innerhalb der
Dialoge Verknüpfungen durch Anklicken der Bausteine auf der
Zeichenfläche erzeugt werden.
Bausteine können mehrfach verknüpft werden, beispielsweise
kann ein Job in mehreren Stationen platziert werden, eine Stochastik
für mehrere Maschinen verwendet werden, eine Station in mehreren
Technologien und Verzweigungen eingesetzt werden oder ein
Bedarfs-Objekt in mehreren
Arbeitsgängen wirken. Dabei ist prinzipiell zwischen den
Hauptobjekten (Maschine, Warteschlange, Technologie, Job,
Verzweigung,...) und den Unterobjekten (Arbeitsgang der Technologie,
Zweig der Verzweigung, Platzierung des Jobs,...), die in aller Regel
als Listen der Hauptobjekte existieren, zu unterscheiden. Eine
Verknüpfung zu einem Objekt wird dann entsprechend vom Hauptobjekt
(Bsp.: Zeitplan einer Maschine) oder einem Unterobjekt (Bsp.: Station
eines Arbeitsgangs einer Technologie) verwaltet. Beim Verknüpfen
wird eine Referenz auf das
verwendete Objekt erstellt. Referenzierte Objekte können nicht
gelöscht
werden, da sie noch verwendet werden. Zum Löschen wären
zunächst
alle Verknüpfungen zum Objekt aufzuheben.
Bei Maschinen und Warteschlangen werden
Verknüpfungen zu Objekten symbolisch dargestellt. Die ersten Jobs
werden als kleine Container angezeigt, Stochastiken,
Zeitpläne und Rüstungen
durch kleine Symbole. Zusätzlich erhalten alle Bausteine ein
Symbol für Ereignisroutinen, wenn eine solche hinterlegt ist.

1. 2. 17. 1 Jobs platzieren
Das Platzieren von Jobs in Stationen stellt eine Verknüpfungsform
von Modellbausteinen dar. Die Beziehungen der Objekte untereinander ist
an dieser Stelle komplexer. Ein Job kann in mehreren Stationen
platziert werden, eine Station wiederum kann viele Jobs aufnehmen
(entsprechend ihrer Kapazität). Ein Job kann in einer Station nur
unter Verwendung eines bestimmten Arbeitsganges platziert werden. Somit
ergibt sich eine Dreierbeziehung von Job, Station und Arbeitsgang einer
Technologie. Genauer noch kann sich der Arbeitsgang in Haupt- und
Unterarbeitsgänge unterteilen. Das passiert, wenn die Station im
Arbeitsgang der Haupttechnologie keine Maschine oder Warteschlange ist,
sondern eine Verzweigung (und damit auf weitere Stationen zeigt). Wenn
z.B. in einer
Technologie eine Parallelverzweigung als Station verwendet wird, dann
betritt der Job den Hauptarbeitsgang und
entsprechend parallel alle Stationen der angegebenen Verzweigung als
Unterarbeitsgang. Durch die Möglichkeit, Technologien und
Verzweigungen beliebig ineinander zu schachteln, können sehr viele
Unterarbeitsgänge entstehen. Die Hierarchie wird dabei durch den Arbeitsgang-Stack verwaltet.

Zum Platzieren von Jobs in Stationen werden verschiedene Wege
angeboten. Direkt auf der Zeichenfläche können ein oder
mehrere Jobs durch Drag&Drop auf eine Station (Maschine,
Warteschlange, Verzweigung) gesetzt werden. Es werden alle
Technologien und die zugehörigen Arbeitsgänge ermittelt, die
die gewählte Station
enthalten. Sind mehrere Technologien/Arbeitsgänge möglich,
wird die Auswahl einer Technologie und des dazugehörigen
Arbeitsgangs verlangt.

Der Job kann nun in die Station aufgenommen
werden, vorausgesetzt, dass die Station auch aufnahmebereit ist. Dabei
kann
der Job die Station regulär betreten, unter Berücksichtigung
aller
Nebenbedingungen, die auch beim Transfer eines Jobs durch den Scheduler
berücksichtigt
werden (jobCmd enter,
inkl.
Zu- und Abbuchung). Der Job wird in die Station mit allen vorgegebenen
Arbeitsgangparametern aufgenommen und entsprechend der
Einlagerungsstrategie eingeordnet. Sind nicht alle Bedingungen
erfüllt, wird dies dem Anwender mitgeteilt (jobCmd check). Es besteht
daraufhin die Möglichkeit den Job dennoch in der Station zu
platzieren (jobCmd place),
wenn
nicht essentielle Bedingungen verletzt werden.
Analog verläuft das Aufnehmen von Jobs in Stationen über den
Dialog der Station. Das Kontextmenü
der Jobliste bietet das
Aufnehmen eines Jobs an. Folgende Schritte sind zu durchlaufen:
- Auswahl eines oder mehrerer Jobs,
- Auswahl einer Technologie und des Arbeitsgangs für den Job
(die Jobs), der
diese Station direkt oder indirekt enthält.
Besteht der Arbeitsgang, in dem der Job platziert wird, aus einer
Verzweigung, so ermittelt der Scheduler automatisch entsprechende
Platzierungsregeln. Die Grundlage hierfür beruht auf dem Verzweigungstyp und dem Parallelitätsgrad der
Verzweigung. Der Arbeitsgang-Stack der entsprechenden
Platzierungs-Objekte wird dabei automatisch aufgebaut. Sollten diese
Regeln nicht zur gewünschten Platzierung führen, können
sie umgangen werden, indem der Job direkt in die gewünschte
Warteschlange oder Maschine platziert wird. Anschließend muss
dann aber der Arbeitsgang-Stack
von Hand aufgebaut werden (erreichbar über das Kontextmenü zum Link
im Stationsdialog).
Alle Platzierungs-Objekte einer Station sind in Reihenfolge geordnet.
Die
Reihenfolge der Jobs innerhalb der Station kann beliebig vertauscht
werden (Drag&Drop innerhalb der Jobliste).
Dieselben Platzierungs-Objekte sind auch bei den jeweiligen Jobs in
Reihenfolge geordnet. Diese Reihenfolge kann nicht geändert werden
(Stationsliste des Jobs), da sie den
Ablauf bestimmt und vom Scheduler gesteuert wird (zuerst betretene
Stationen
am Anfang, zuletzt betretene Stationen am Ende der Liste). Das
Aufnehmen von Jobs als Muster in Quellen erfolgt analog.
|