Die Simulation von Systemabläufen mit Hilfe von FORTRAN IV: GPSS auf FORTRAN-Basis [Reprint 2015 ed.] 9783110831481, 9783110040241

158 33 12MB

German Pages 239 [244] Year 1972

Report DMCA / Copyright

DOWNLOAD FILE

Polecaj historie

Die Simulation von Systemabläufen mit Hilfe von FORTRAN IV: GPSS auf FORTRAN-Basis [Reprint 2015 ed.]
 9783110831481, 9783110040241

Table of contents :
1. Begriff, Wesen und Möglichkeiten der digitalen Systemsimulation
1.1 Systemsimulation
1.2. Simulationsmodelle
1.3 Abgrenzung von den mathematisch-analytischen Verfahren des Operations Research
1.4 Anwendungsgebiete
1.5 Vor- und Nachteile im Vergleich zu den mathematisch-analytischen Verfahren des Operations Research
2. Die programmtechnischen Grundlagen der digitalen Systemsimulation
2.1 Allgemeines
2.2 Die Darstellung des Systemaufbaus
2.2.1 Verkehrseinheiten (transactions)
2.2.2 Bedienungs- oder Bearbeitungsstationen (facilities)
2.2.3 Speicher (storages)
2.2.4 Warteschlangen (queues)
2.2.5 Verkehrsleitstellen (gates)
2.2.6 Verkehrswege (channels)
2.3 Die Darstellung des Systemablaufs
2.3.1 Der Zeit- und Ereignismechanismus
2.3.2 Die Erzeugung von transactions
2.3.3 Die Bewegung von transactions
2.3.4 Die Simulation von Zustandsänderungen
2.3.5 Die Vernichtung von transactions
3. FORTRAN-Programmpaket zur Simulation von Systemabläufen
3.1 Vorbemerkungen
3.2 Allgemeiner Aufbau des Simulators
3.3 Die Zeit- und Ereignissteuerung
3.3.1 Ereignissuche in konstanten Zeitschritten
3.3.2 Ereignissuche in variablen Zeitschritten
3.3.3 Die Suche systemabhängiger Ereignisse
3.4. Attribute
3.4.1 Konstanten
3.4.2 Variablen
3.4.3 Funktionen
3.5 Die Simulation stochastischer Prozesse
3.5.1 Allgemeines
3.5.2 Theoretische Grundlagen eines Stichprobenmechanismus
3.5.3 Stichprobenziehen aus beliebigen Gesamtheiten mit mathematischen oder empirischen Verteilungsfunktionen
4. Die Unterprogramme des Simulators
4.1 Unterprogramme zur Steuerung des Programmablaufs
4.1.1 Unterprogramm INIT zur Wertzuweisung konstanter Steuer- und Anfangswerte
4.1.2 Unterprogramm RESET zur Löschung diverser Felder
4.1.3 Unterprogramm EVENT1 zur Suche zeitabhängiger Ereignisse
4.1.4 Unterprogramm AKTIV zur Aktivierung einer transaction
4.1.5 Unterprogramm OE AKT zur Deaktivierung einer transaction
4.1.6 Unterprogramm EVENT2 zur Suche systemabhängiger Ereignisse
4.1.7 Der Aufbau des Simulators unter Verwendung der Steuerungs-Unterprogramme
4.2 Unterprogramme zur Erzeugung, Steuerung und Vernichtung von transactions
4.2.1 Unterprogramm GENERA zur Erzeugung von transactions
4.2.2 Unterprogramm TERMIN zur Vernichtung von transactions
4.2.3 Unterprogramm SPLIT zur Duplizierung von transactions
4.2.4 Unterprogramm ASSEMB zur Zusammenlegung von transactions
4.2.5 Unterprogramm MATCH zur zeitlichen Koordination von transactions
4.2.6 Unterprogramm GATHER zur Erzeugung eines Staus von transactions
4.2.7 Unterprogramm GATE zur Umleitung, Blockierung oder Weiterleitung von transactions
4.2.8 Unterprogramm TRANSF zur stochastischen Aufspaltung eines Stroms von transactions
4.2.9 Unterprogramm ADV ANC zur Zeitverzögerung von transactions
4.3. Unterprogramme zur Simulation von Zustandsänderungen bei stationären Systemkomponenten
4.3.1 Unterprogramm SEIZE zur Belegung von facilities
4.3.2 Unterprogramm RE LEAS zur Freisetzung von facilities
4.3.3 Unterprogramm PREEMP zur bevorrechtigten Belegung von facilities
4.3.4 Unterprogramm RETURN zur Freigabe von bevorrechtigt belegten facilities
4.3.5 Unterprogramm ENTER zur Belegung von storages
4.3.6 Unterprogramm LEAVE zur Freigabe von storages
4.4 Unterprogramme zur Sammlung und Darstellung statistischen Materials
4.4.1 Unterprogramm QUEUE zur Registrierung eines Zugangs in eine Warteschlange
4.4.2 Unterprogramm DEPART zur Registrierung eines Abgangs aus einer Warteschlange
4.4.3 Unterprogramm TABULA zur Erzeugung von Häufigkeitstabellen
4.4.4 Unterprogramm EVALUE zur Auswertung und Ausgabe von Häufigkeitstabellen
4.4.5 Unterprogramm GRAPH zur graphischen Ausgabe von Häufigkeitstabellen
4.4.6 Unterprogramm REPORT zur Ausgabe diverser Zustandsdaten
4.5 Zusammenstellung aller Teile des Simulators
4.5.1 Steuerprogramm (Maximalausstattung)
4.5.2 Hilfs-Unterprogramme
4.5.3 Steuer-Unterprogramme
4.5.4 Modell-Unterprogramme
4.5.5 Kurzbeschreibung der Modell-Unterprogramm-Aufrufe
5. Anwendungsbeispiel: Die Simulation eines Produktionsbetriebsablaufs
6. Die Organisation von Simulationsabläufen
6.1 Allgemeines zur Versuchsgestaltung
6.2 Laufintervalle mit kumulativen Statistiken
6.3 Lauf interval le mit neuen Statistiken
6.4 Unabhängige Simulationsläufe mit neuem Zeitbeginn und neuen Statistiken

Citation preview

Gerhard Niemeyer Die Simulation von Systemabläufen

Die Simulation von Systemabläufen mit Hilfe von FORTRAN IV GPSS auf FORTRAN-Basis

von

Prof. Dr. Gerhard Niemeyer

w DE

G Walter de Gruyter • Berlin • New York • 1972

© Copyright 1972 by Walter de Gruyter & Co., vormals G.J. Göschen'sche Verlagshandlung — J. Guttentag, Verlagsbuchhandlung — Georg Reimer — Karl J. Trübner — Veit 8t Comp., Berlin 30. — Alle Rechte, einschl. der Rechte der Herstellung von Photokopien und Mikrofilmen, vom Verlag vorbehalten. Druck: Mercedes, Berlin 61 — Printed in Germany

ISBN 3 11 0040247

Vorwort

Seit d e r Einführung der d r i t t e n Computergeneration, die eine entscheidende Steigerung der K e r n s p e i c h e r k a p a z i t ä t e n und V e r a r b e i tungsgeschwindigkeiten mit sich brachte, gewinnt eine spezielle Methode d e s Operations R e s e a r c h , die digitale Systemsimulation, zunehmend an Bedeutung. D i e s e Methode beruht auf d e r Abbildung von Systemen im Rechner und auf d e r Nachahmung i h r e s zeitlichen oder logischen Ablaufs; dabei w e r d e n Daten, die den Systemablauf c h a r a k t e r i s i e r e n , g e n e r i e r t und dem Anwender zur Beurteilung übergeben. Durch Variation d e r abgebildeten Systemkonfigurationen u n d / o d e r d e r Ablaufbedingungen l a s s e n sich E x p e r i m e n t e m a n n i g f a l t i g e r A r t und Zwecksetzung v e r a n stalten, d e r e n Durchführung in der Realität entweder unmöglich oder a u s den v e r s c h i e d e n s t e n Gründen nicht r a t s a m ist: Zunächst ist, and e r s a l s beim Realexperiment, m i t Hilfe d e r Systemsimulation ein E x p e r i m e n t i e r e n m i t i m a g i n ä r e n Systemen möglich, also m i t Systemen, die der Anwender r e i n gedanklich aufbaut. Sodann erlaubt die Systemsimulation ein E x p e r i m e n t i e r e n mit r e a l e n Systemen, ohne d i e s e zu s t ö r e n oder gar zu z e r s t ö r e n . Die sich damit auftuenden Möglichkeiten f ü r W i s s e n s c h a f t und P r a x i s werden e r s t a l l m ä h l i c h erkannt, wenngleich b e r e i t s bei einigen Anwendungen, i n s b e s o n d e r e bei d e r Entwicklung von C o m p u t e r s y s t e m e n , überzeugende E r f o l g e e r z i e l t wurden. P a r a l l e l m i t d e r Entwicklung d i e s e r Methode ist im B e r e i c h d e r C o m p u t e r s o f t w a r e eine F ü l l e von P r o g r a m m i e r s p r a c h e n entstanden, die dem Anwender die E r s t e l l u n g d e r p r o g r a m m t e c h n i s c h oft r e c h t k o m p l i z i e r t e n und aufwendigen S i m u l a t i o n s p r o g r a m m e e r l e i c h t e r n sollen. GPSS, CSS, Simscript, Dynamo, Simon, Simpac, Simula und CSMP sind Beispiele f ü r solche Entwicklungen, um nur einige d e r bekanntesten zu nennen. Das Ziel d i e s e r Sprachen, den P r o g r a m m i e r a u f w a n d zu r e d u z i e r e n , w i r d in den m e i s t e n F ä l l e n e r r e i c h t . Jedoch wird d i e s e r Vorteil a u s n a h m s l o s mit einem zum T e i l b e t r ä c h t l i c h e n Aufwand bei den zugehörigen Compilern erkauft, was sich in großen K e r n s p e i c h e r a n f o r d e r u n g e n und langen Ü b e r s e t z u n g s z e i t e n niederschlägt. Das w i e d e r u m hat zur Folge, daß digitale System simulation m i t diesen Sprachen nur auf G r o ß r e c h n e r n durchgeführt w e r d e n kann. Die vorliegende Arbeit will nun einen Weg weisen, wie digitale Systemsimulation ohne allzu große Komforteinbußen auch m i t g e r i n g e r e m Aufwand an Software b e t r i e b e n w e r d e n kann und damit f ü r Anwender m i t m i t t l e r e n und k l e i n e r e n Anlagen nutzbar gemacht wird, s o f e r n d i e s e Anlagen über einen FORTRAN IV - Compiler verfügen. E s soll dabei keine neue Simulationssprache, sondern ein System von P r o g r a m m s t ü c k e n und U n t e r p r o g r a m m e n geschaffen werden, die j e nach Bedarf m o d i f i z i e r t und kombiniert w e r d e n können und die

f ü r eine möglichst große Anzahl von Simulationsproblemen verwendb a r sind. A l s Vorlage dient die Simulationssprache GPSS (General P u r p o s e Simulation System), die sich d u r c h Vielseitigkeit und durch eine b e s o n d e r s einfache Handhabung auszeichnet. Der K e r n d e r A r b e i t besteht darin, die Funktionsweise des GPSS unter Wahrung größtmöglicher Übereinstimmung in FORTRAN IV darzustellen; d. h. die GPSSM a k r o s w e r d e n a l s F O R T R A N - U n t e r p r o g r a m m e geschrieben, wobei im Rahmen d e r FORTRAN-Konventionen auf die Gleichheit d e r Nam e n sowie auf die Gleichheit d e r P a r a m e t e r r e i h e n f o l g e n geachtet wird. F e r n e r wird eine Zeit- und E r e i g n i s s t e u e r u n g b e r e i t g e s t e l l t , die im Effekt im wesentlichen d e r des GPSS gleicht, die in einigen Punkten a b e r zusätzliche Möglichkeiten bietet. Anwender, die m i t d e r Sprache GPSS v e r t r a u t sind, w e r d e n d a s vorliegende S o f t w a r e - P a k e t ohne g r ö ß e r e n L e r n p r o z e ß s o f o r t benutzen können. Zugleich werden sie a l l e r d i n g s f e s t s t e l l e n , daß es sich h i e r bei um eine s t a r k vereinfachte Abbildung des GPSS handelt; d. h. es werden, um den Umfang des Systems in Grenzen zu halten, nur die wichtigsten Funktionen des GPSS übernommen, was s i c h e r l i c h den P r o g r a m m i e r k o m f o r t , nicht a b e r die Anwendungsbreite b e e i n t r ä c h tigt. F e r n e r wird ü b e r a l l dort, wo GPSS-Funktionen durch einfache FORTRAN-Instruktionen d a r s t e l l b a r sind (z.B. ASSIGN, SAVEVALUE, PRIORITY, LOOP, TEST, TRANSFER), auf die U n t e r p r o g r a m m t e c h nik v e r z i c h t e t und i n s o f e r n die E n t s p r e c h u n g m i t dem GPSS aufgegeben. Die vorgenommenen Vereinfachungen und Abänderungen w e r d e n ind e s s e n durch die damit e r r e i c h t e n Vorteile gerechtfertigt: Die Simul a t i o n s p r o g r a m m e belegen entscheidend weniger Speicherplatz und haben deutlich k ü r z e r e Laufzeiten a l s gleichartige G P S S - P r o g r a m m e . D a r ü b e r hinaus ergeben sich d u r c h die Verwendung von FORTRAN a l s B a s i s folgende Vorteile gegenüber dem GPSS: (1) Unabhängigkeit von B y t e - M a s c h i n e n und (2) g r ö ß e r e Flexibilität in d e r P r o g r a m m g e s t a l t u n g und Anwendbarkeit. L e t z t e r e s r e s u l t i e r t aus d e r Möglichkeit, neben den s t a n d a r d i s i e r t e n U n t e r p r o g r a m m a u f r u f e n an j e d e r Stelle des S i m u l a t i o n s p r o g r a m m s beliebige FORTRAN-Routinen verwenden zu können. Die volle Ausschöpfung d i e s e r Möglichkeit setzt a l l e r d i n g s gute Kenntnisse d e s FORTRAN IV v o r a u s , was f ü r die einfache Anwendung des vorliegenden S o f t w a r e - P a k e t s nicht unbedingt e r f o r d e r l i c h ist. Vielmehr werden die einzelnen P r o g r a m m s t ü c k e und U n t e r p r o g r a m m e a u s f ü h r l i c h k o m m e n t i e r t , im Systemzusammenhang e r l ä u t e r t und anhand von Anwendungsbeispielen d e m o n s t r i e r t , so daß eine Handhabung auch ohne Vorkenntnisse möglich sein dürfte. An d i e s e r Stelle möchte ich d e r F i r m a IBM Deutschland f ü r die f r e u n d l i c h e Genehmigung danken, die Blocknamen und das Grundkonzept des GPSS verwenden zu dürfen. B e r l i n , i m J a n u a r 1972

Gerhard Niemeyer

Inhaltsverzeichnis

1. Begriff, Wesen und Möglichkeiten der digitalen Systemsimulation . . . . 1.1 Systemsimulation 1.2. Simulationsmodelle 1.3 Abgrenzung von den mathematisch-analytischen Verfahren des Operations Research 1.4 Anwendungsgebiete 1.5 Vor- und Nachteile im Vergleich zu den mathematisch-analytischen Verfahren des Operations Research

9 9 10 12 13 15

2. Die programmtechnischen Grundlagen der digitalen Systemsimulation 2.1 Allgemeines 2.2 Die Darstellung des Systemaufbaus 2.2.1 Verkehrseinheiten (transactions) 2.2.2 Bedienungs- oder Bearbeitungsstationen (facilities) 2.2.3 Speicher (storages) 2.2.4 Warteschlangen (queues) 2.2.5 Verkehrsleitstellen (gates) 2.2.6 Verkehrswege (channels) 2.3 Die Darstellung des Systemablaufs 2.3.1 Der Zeit- und Ereignismechanismus 2.3.2 Die Erzeugung von transactions 2.3.3 Die Bewegung von transactions 2.3.4 Die Simulation von Zustandsänderungen 2.3.5 Die Vernichtung von transactions

17 17 18 19 21 21 22 24 24 26 26 27 28 29 30

3. F O R T R A N - P r o g r a m m p a k e t zur Simulation von Systemabläufen . . . . 3.1 Vorbemerkungen 3.2 Allgemeiner Aufbau des Simulators 3.3 Die Zeit- und Ereignissteuerung 3.3.1 Ereignissuche in konstanten Zeitschritten 3.3.2 Ereignissuche in variablen Zeitschritten 3.3.3 Die Suche systemabhängiger Ereignisse 3.4. Attribute 3.4.1 Konstanten 3.4.2 Variablen 3.4.3 Funktionen 3.4.3.1 Arithmetische function statements 3.4.3.2 Logische function statements 3.4.3.3 Funktionsunterprogramm zur Interpolation punktuell bekannter Funktionsverläufe 3.4.3.4 Funktionsunterprogramm zur Erzeugung von PseudoZufallszahlen 3.5 Die Simulation stochastischer Prozesse 3.5.1 Allgemeines 3.5.2 Theoretische Grundlagen eines Stichprobenmechanismus 3.5.3 Stichprobenziehen aus beliebigen Gesamtheiten mit mathematischen oder empirischen Verteilungsfunktionen

31 31 31 38 38 40 42 43 43 45 47 48 49

4. Die Unterprogramme des Simulators 4.1 Unterprogramme zur Steuerung des Programmablaufs 4.1.1 Unterprogramm INIT zur Wertzuweisung konstanter Steuer- und Anfangswerte

66 66

50 56 59 59 60 62

67

4.1.2 4.1.3 4.1.4 4.1.5 4.1.6 4.1.7

Unterprogramm RESET zur Löschung diverser Felder Unterprogramm E V E N T 1 zur Suche zeitabhängiger Ereignisse Unterprogramm A K T I V zur Aktivierung einer transaction .... Unterprogramm O E A K T zur Deaktivierung einer transaction . . . . Unterprogramm E V E N T 2 zur Suche systemabhängiger Ereignisse . Der Aufbau des Simulators unter Verwendung der SteuerungsUnterprogramme 4.2 Unterprogramme zur Erzeugung, Steuerung und Vernichtung von transactions 4.2.1 Unterprogramm G E N E R A zur Erzeugung von transactions . . . . 4.2.2 Unterprogramm T E R M I N zur Vernichtung von transactions . . . . 4.2.3 Unterprogramm SPLIT zur Duplizierung von transactions 4.2.4 Unterprogramm A S S E M B zur Zusammenlegung von transactions. . 4.2.5 Unterprogramm MATCH zur zeitlichen Koordination von transactions 4.2.6 Unterprogramm G A T H E R zur Erzeugung eines Staus von transactions 4.2.7 Unterprogramm GATE zur Umleitung, Blockierung oder Weiterleitung von transactions 4.2.8 Unterprogramm T R A N S F zur stochastischen Aufspaltung eines Stroms von transactions 4.2.9 Unterprogramm A D V A N C zur Zeitverzögerung von transactions . . 4.3. Unterprogramme zur Simulation von Zustandsänderungen bei stationären Systemkomponenten 4.3.1 Unterprogramm S E I Z E zur Belegung von facilities 4.3.2 Unterprogramm R E L E A S zur Freisetzung von facilities 4.3.3 Unterprogramm P R E E M P zur bevorrechtigten Belegung von facilities 4.3.4 Unterprogramm R E T U R N zur Freigabe von bevorrechtigt belegten facilities 4.3.5 Unterprogramm ENTER zur Belegung von storages 4.3.6 Unterprogramm L E A V E zur Freigabe von storages 4.4 Unterprogramme zur Sammlung und Darstellung statistischen Materials . . 4.4.1 Unterprogramm QUEUE zur Registrierung eines Zugangs in eine Warteschlange 4.4.2 Unterprogramm D E P A R T zur Registrierung eines Abgangs aus einer Warteschlange 4.4.3 Unterprogramm T A B U L A zur Erzeugung von Häufigkeilstabellen 4.4.4 Unterprogramm E V A L U E zur Auswertung und Ausgabe von Häufigkeitstabellen 4.4.5 Unterprogramm G R A P H zur graphischen Ausgabe von Häufigkeitstabellen 4.4.6 Unterprogramm REPORT zur Ausgabe diverser Zustandsdaten . . 4.5 Zusammenstellung aller Teile des Simulators 4.5.1 Steuerprogramm (Maximalausstattung) 4.5.2 Hilfs-Unterprogramme 4.5.3 Steuer-Unterprogramme 4.5.4 Modell-Unterprogramme 4.5.5 Kurzbeschreibung der Modell-Unterprogramm-Aufrufe 5. Anwendungsbeispiel: Die Simulation eines Produktionsbetriebsablaufs .

68 69 70 72 72

176 184 185 185 186 188 191 206 211

6. Die Organisation von Simulationsabläufen 6.1 Allgemeines zur Versuchsgestaltung 6.2 Laufintervalle mit kumulativen Statistiken 6.3 Laufintervalle mit neuen Statistiken 6.4 Unabhängige Simulationsläufe mit neuem Zeitbeginn und neuen Statistiken

228 228 231 234 237

75 80 80 87 91 98 104 113 123 142 145 146 146 148 149 151 159 160 165 165 167 170 174

1. Begriff, Wesen und Möglichkeiten der digitalen Systemsimulation

1.1 Systemsimulation S y s t e m s i m u l a t i o n i s t die Nachahmung von Abläufen w i r k l i c h e r oder gedachter Systeme m i t Hilfe von Modellen d i e s e r Systeme. Unter Ablauf i s t eine Folge von Zustandsänderungen zu v e r s t e h e n , die sich durchweg entlang d e r Z e i t a c h s e ereignen und die daher in d e r Regel a l s Zeitfunktion b e t r a c h t e t werden. Der Zustand eines Systems ist durch die Zustände der Systemkomponenten d e f i n i e r t . B e i s p i e l s w e i s e läßt sich d e r Zustand eines P r o d u k t i o n s s y s t e m s u. a. d a r a n m e s s e n , wieviele B e a r b e i t u n g s s t a t i o n e n i m Augenblick d e r Zustandsaufnahme beschäftigt sind und wieviele leerlaufen. Gegenstand d e r Systemsimulation sind a u s s c h l i e ß l i c h m a t e r i e l l e , d. h. physikalische, biologische und soziale Systeme, nicht hingegen f o r m a l e Systeme, wie Sprachen, Algebren oder G e s e t z e s w e r k e . Der Grund d a f ü r ist, daß eine Betrachtung des zeitlichen Ablaufs nur bei m a t e r i e l l e n Systemen sinnvoll e r s c h e i n t . Die f o r m a l e n Systeme sind dagegen von Menschen geschaffene Konventionen, die d e r Kommunikation und d e r Ablaufsteuerung in b e s t i m m t e n m a t e r i e l l e n Systemen dienen. Demzufolge spielen sie bei der digitalen Systemsimulation nur eine m i t t e l b a r e Rolle, und zwar auf d r e i v e r s c h i e d e n e n Ebenen: Zunächst dienen f o r m a l e Systeme d e r B e s c h r e i b u n g d e r Funktionen e i n z e l n e r Systemkomponenten, d e r Beschreibung d e r W i r k z u s a m m e n hänge und Abhängigkeiten u n t e r den einzelnen Komponenten sowie d e r B e s c h r e i b u n g d e r Ablaufbedingungen. Sodann dienen die zu den f o r m a l e n Systemen zählenden P r o g r a m m i e r s p r a c h e n d e r Aufstellung d e r S i m u l a t i o n s p r o g r a m m e . Schließlich können f o r m a l e Systeme in i h r e r m a t e r i e l l e n Signalgestalt auch a l s Komponenten e i n e s m a t e r i e l l e n S y s t e m s b e t r a c h t e t werden, wenn m a n i h r e Erzeugung, Übertragung, Handhabung oder V e r a r b e i t u n g durch das m a t e r i e l l e System s i m u l i e r e n will. Systeme l a s s e n sich ganz a l l g e m e i n a l s ein Kollektiv von Objekten (Komponenten) definieren, die aufgrund irgendwie g e a r t e t e r W e c h s e l wirkungen u n d / o d e r e i n s e i t i g e r Abhängigkeiten m i t e i n a n d e r verbunden sind. B e t r a c h t e t m a n a l s Beispiel wiederum den P r o d u k t i o n s b e t r i e b , so sind etwa die Gebäude, Maschinen, L ä g e r , P r o d u k t e und die im B e t r i e b tätigen Menschen einige Komponenten d i e s e s Systems. Sie bilden z u s a m m e n m i t a n d e r e n j e n e s Kollektiv von Objekten, welches d a s funktionale Gefüge des Systems d e t e r m i n i e r t . M a t e r i e l l e Systeme können auch r e k u r s i v definiert werden, und zwar läßt sich j e d e s System a l s Teil (Komponente) eines ü b e r g e o r d 9

neten Systems begreifen. E s ergibt sich a l s o eine H i e r a r c h i e von Systemen, d e r e n Spitze das Universum ist. Die B a s i s wird durch die Atome gebildet, die zwar selbst noch Systeme sind, d e r e n Komponenten jedoch nach bisherigem W i s s e n s s t a n d und den d a r a u s r e s u l t i e r e n d e n ModellvorStellungen keine selbständigen U n t e r s y s t e m e m e h r enthalten. Systemsimulation kann sich nun prinzipiell m i t m a t e r i e l l e n System e n auf j e d e r H i e r a r c h i e s t u f e a u s e i n a n d e r s e t z e n . Die B e t r a c h t u n g s w e i s e i s t dann d e r Art, daß m a n von einem b e s t i m m t e n System auf einer b e s t i m m t e n H i e r a r c h i e s t u f e einige oder a l l e U n t e r s y s t e m e m o dellmäßig e r f a ß t , wobei von einigen U n t e r s y s t e m e n wiederum die Unt e r s y s t e m e d a r g e s t e l l t werden können usw. Die Regel wird jedoch sein, daß m a n nur T e i l e des Systems in die Betrachtung einbezieht und d i e s e Teile auch nicht bis hin zu den letzten U n t e r s y s t e m e n auflöst; denn die Simulationsmodelle dürfen einen gewissen Umfang nicht ü b e r s c h r e i t e n , wenn sie operabel sein sollen. F e r n e r sind die Existenz, die E i g e n s c h a f t e n und die Wirkungen v i e l e r Komponenten und Unterkomponenten nicht oder nur ungenügend bekannt, so daß eine m o d e l l m ä ß i g e B e s c h r e i b u n g vielfach nicht möglich ist. Die nicht e r f a ß t e n Komponenten und Unterkomponenten des b e t r a c h teten Systems bilden die sogenannte Umwelt. Diese beeinflußt das Verhalten des b e t r a c h t e t e n Systems auf mannigfaltige Weise. Umwelteinflüsse sind s t e t s s t o c h a s t i s c h e r Natur; d e t e r m i n i s t i s c h e , d. h, s t r e n g kausal begründete E i n f l ü s s e können nur erkannt und a l s solche d a r g e s t e l l t werden, wenn sie von den explizite e r f a ß t e n Systemkomponenten und Unterkomponenten ausgehen.

1.2 Simulationsmodelle Systemsimulation setzt die Anfertigung von Simulationsmodellen v o r a u s , denn die Nachahmung des Ablaufs soll sich l^ut Definition nicht a m System selbst, sondern am Modell vollziehen. Als Modelle w e r d e n jene physikalischen oder f o r m a l e n Gebilde bezeichnet, die die S y s t e m e mit m e h r oder m i n d e r großem A b s t r a k tionsgrad d a r s t e l l e n . P h y s i k a l i s c h e Simulationsmodelle sind durch die hinlänglich bekannten Flugsimulatoren, F a h r s c h u l s i m u l a t o r e n und Windkanalmodelle r e p r ä s e n t i e r t . F o r m a l e Simulationsmodelle sind Beschreibungen d e r Komponenten, W i r k z u s a m m e n h ä n g e und A b l a u f r e geln d e r b e t r a c h t e t e n Systeme. Sie können v e r b a l abgefaßt, durch m a t h e m a t i s c h e Beziehungen ausgedrückt und, was im vorliegenden Zusammenhang b e s o n d e r s i n t e r e s s i e r t , durch C o m p u t e r p r o g r a m m e d a r g e s t e l l t werden. Modelle wie Systeme l a s s e n sich nun entsprechend d e r A r t d e r bet r a c h t e t e n Z u s t a n d s v a r i a b l e n u. a. durch die Attribute " z e i t s t e t i g " , " z e i t d i s k r e t " , " s t r u k t u r s t e t i g " , " s t r u k t u r d i s k r e t " , " s t o c h a s t i s c h " und " d e t e r m i n i s t i s c h " k l a s s i f i z i e r e n . Da jedoch in d e r Regel m e h r e r e 10

verschiedenartige Variablen in einem System auftreten und im Modell betrachtet werden, kann sich diese Klassifikation nur auf die Mehrheit oder auf eine Auswahl besonders i n t e r e s s i e r e n d e r Zustandsvariablen beziehen. Unter d i e s e r Einschränkung spricht man von zeitstetigen Modellen bzw. Systemen, wenn sich die Zustandsänderungen der Variablen ständig, d. h. in kontinuierlichen P r o z e s s e n vollziehen. B e i zeitdiskreten Modellen bzw. Systemen ereignen sich die Zustandsänderungen nur zu bestimmten Zeitpunkten. Strukturstetig heißen Modelle bzw. Systeme, wenn die betrachteten Zustandsvariablen in s t e tig veränderlichen Quanten variieren, wie z. B . die Änderungen eines Flüssigkeitsstandes. Von strukturdiskreten Modellen bzw. Systemen spricht man hingegen, wenn die Zustandsänderungen nur bestimmte Vielfache einer Einheit annehmen, sich also in diskret veränderlichen Quanten vollziehen, wie z. B. die Änderungen eines L a g e r b e standes abzählbarer Güter. Stochastische Modelle bzw. Systeme sind solche, bei denen der Umfang und/oder der Zeitverlauf der Zustandsänderungen zufallsabhängig sind. Dagegen nennt man Modelle bzw. Systeme deterministisch, wenn Umfang und/oder Zeitverlauf der Zustandsänderungen durch feste Kausalzusammenhänge begründet sind. Systeme und zugehörige Modelle unterscheiden sich häufig in diesen Attributen. Vor allem sind Simulationsmodelle, die mit digitalen Rechenanlagen bearbeitet werden, wegen der begrenzten Stellenzahl des R e c h n e r s stets zeit- und struktur diskret. Die zugrunde liegenden Systeme können hingegen zeit- und strukturstetig sein. Kontinuierliche P r o z e s s e und stetige Zustandsvariationen l a s s e n sich auf digitalen Rechnern nur approximativ darstellen. Diese Approximation geschieht durch die Definition entsprechend kleiner Zeit- und Maßeinheiten. F e r n e r sind r e a l e Systeme, soweit s i e sich dem B e t r a c h t e r darbieten, überwiegend stochastisch; d. h. die meisten Zustandsvariablen sind Zufallsvariablen, was auf den b e r e i t s erwähnten stochastischen Einfluß der Umwelt des Systems zurückzuführen ist. Die zugehörigen Simulationsmodelle sind hingegen durchweg deterministisch, selbst wenn sie stochastische Konzepte enthalten. Der Grund dafür ist, daß sich mit einer digitalen Rechenanlage ohne aufwendige Zusatzapparaturen keine echten, sondern nur Pseudo-Zufallsprozesse darstellen l a s s e n . L e t z t e r e sind Zahlenfolgen mit deterministischer Gesetzmäßigkeit, die sich jederzeit aufgrund b e s t i m m t e r Algorithmen reproduzieren l a s s e n , die a b e r in gewissen Grenzen Eigenschaften aufweisen, die den echten Zufallszahlenfolgen entsprechen. Anders sind die Verhältnisse bei Simulationsmodellen, die mit Analogrechnern bearbeitet werden. Hierbei gibt e s echte zeit- und strukturstetige sowie echte stochastische Modelle. Jedoch i s t die Anwendbarkeit der Analogsimulation auf einige wenige physikalische Systemtypen beschränkt.

11

1.3 Abgrenzung von den mathematisch-analytischen Verfahren des Operations Research Als Resümee der bisherigen Ausführungen läßt sich die digitale Systemsimulation nunmehr wie folgt definieren: Sie ist die Nachahmung von Systemabläufen mit Hilfe zeit- und strukturdiskreter Modelle auf digitalen Rechenanlagen, wobei stochastische Systemabläufe in der Regel durch Pseudozufallszahlen nachgebildet werden. Nun könnte diese Definition in etwa auch für eine bestimmte Art des Durchspielens mathematischer Modellansätze gelten, bei der man die Modelle in mehreren Arbeitsgängen mit verschiedenen, eventuell auch zufällig variierten Parametern auf digitalen Rechenanlagen durchrechnet. In der einschlägigen Literatur wird diese Tätigkeit gelegentlich auch als Simulation bezeichnet. In Wahrheit dürfte es sich hierbei jedoch eher um eine Art komparativ-statischer Modellauswertung handeln, wofür in der angelsächsischen Literatur auch der Begriff "model evaluation" verwendet wird. Um diese Tätigkeit von dem dieser Arbeit zugrunde liegenden Begriff der Systemsimulation abzugrenzen, soll kurz auf die wesentlichen Unterschiede hingewiesen werden. Die mathematisch-analytische Modellauswertung gestattet zweifellos, Systemzustände in einem oder mehreren Zeitpunkten darzustellen, indem man das Modell mit den Parametern dieser Zeitpunkte durchrechnet. Entscheidend für die Abgrenzung von der Systemsimulation ist jedoch, daß bei der mathematisch-analytischen Modellauswertung eine exogene Zuordnung von Parametern zu bestimmten Zeitpunkten vorgenommen werden muß. Solange also Systemabläufe mit mathematischen Modellen in der Weise dargestellt werden, daß der Anwender für jeden betrachteten Zeitpunkt einen kompletten Satz von Parametern bereitstellt, mit dem das Modell durchgerechnet wird, sollte man noch nicht von Systemsimulation sprechen. Die hier gemeinte digitale Systemsimulation basiert vielmehr auf einer autogenen Darstellung von Systemabläufen im Rechner; d. h. die Simulationsprogramme verfügen über einen Zeit- und Ereignismechanismus, der die Zustandsänderungen der betrachteten Systeme über eine gewisse Zeitstrecke hinweg automatisch steuert. Die Zustandsänderungen entwickeln sich dabei endogen aus dem Ablaufgeschehen, aus einer Kausalkette von Ereignissen, bei der eventuell stochastische Einflüsse zu berücksichtigen sind. Modelltechnisch bedeutet das unter anderem, daß die zu einem bestimmten Zeitpunkt generierten Werte der Zustandsvariablen automatisch, direkt oder indirekt (nach Umrechnung), als Parameter für die Erzeugung der Systemzustände in einem oder mehreren späteren Zeitpunkten herangezogen werden. Ein weiteres Unterscheidungskriterium ist die Modellbildung und die Art und Weise, in der die Resultate gewonnen werden. Bei der mathematisch-analytischen Modellauswertung erfolgt die Darstellung der Systemzustände ausschließlich mit Hilfe mathematischer Funktio12

nen; d, h. der modellbildende Vorgang besteht in der Festlegung der Funktionstypen und in der Quantifizierung der Funktionsparameter. Mit d i e s e r Modellbildung sind die E r g e b n i s s e der Modellberechnung b e r e i t s determiniert und die Ausrechnung des Ansatzes dient nur noch der Transformation der in das Modell hineingegebenen Informationen mit dem Ziel, die E r g e b n i s s e sichtbar zu machen. Die Modellbildung bei der digitalen Systemsimulation kann ebenfalls ausschließlich mit Hilfe mathematischer Funktionen geschehen, deren Berechnung allerdings in einem rekursiven Algorithmus zu erfolgen hat. Daneben i s t jedoch auch eine Art der Modellbildung möglich, bei der die relevanten Systemkomponenten logisch im Rechner abgebildet werden. Mathematische Funktionen spielen dabei nur noch eine Hilfsrolle, indem sie die Beschreibung einiger Eigenschaften der Komponenten und einiger interaktiver Wirkzusammenhänge übernehmen. Zu einer derartigen Modellbildung gehört dann notwendigerweise die Erzeugung eines E r e i g n i s s t r o m e s in der Zeit, der die Zustandsänderungen im abgebildeten System steuert. Die Auswertung eines Simulationsmodells besteht in einer Beobachtung oder Messung der Systemzustände zu bestimmten Zeitpunkten und in einer statistischen Verdichtung der beobachteten oder g e m e s senen Werte. B e i d e s wird in der Regel vom Rechner übernommen, d. h. man wird am Ende des Simulationslaufs ein Protokoll über die Zeitreihen der verschiedenen Zustandsvariablen und eine Verdichtung der Zeitreihen in Häufigkeitsverteilungen erhalten. Die Simulationsprogramme l a s s e n sich a b e r auch so gestalten, daß die Systemzustände laufend ausgegeben werden. Da dies jedoch zu einer Überflutung des Anwenders mit Informationen und zu einer beträchtlichen Verlängerung der Programmlaufzeiten führen kann, sollte eine derartige F o r m der Modellauswertung nur für bestimmte Analyse- und Testzwecke vorgesehen werden.

1.4 Anwendungsgebiete Die hauptsächlichen Anwendungsgebiete der digitalen Systemsimulation sind das Systemstudium, der Systementwurf, die Systemoptimierung und die Schulung der Systembeherrschung. Systemstudium mit Hilfe der Simulation kann als Systemanalyse oder a l s Systemsynthese betrieben werden. B e i der Systemanalyse ist das Verhalten des betrachteten Systems bekannt und es wird nach dem Verhalten und dem Zusammenwirken der Systemkomponenten gefragt. Aufgrund logischer Deduktionen und/oder h e u r i s t i s c h e r Überlegungen werden Annahmen über die Eigenschaften und Wirkzusammenhänge der Komponenten gemacht, nach denen dann ein Simulationsmodell konstruiert wird. Verhält sich das simulierte so wie das betrachtete System, so kann man davon ausgehen, daß die Annahmen hinsichtlich der Komponenten richtig waren. Ergeben sich Unter13

schiede im G e s a m t v e r h a l t e n , so sind die Annahmen ü b e r die Eigenschaften und Wirkzusammenhänge d e r Komponenten zu r e v i d i e r e n . Bei d e r Systemsynthese sind die Eigenschaften und W i r k z u s a m m e n hänge d e r Komponenten bekannt oder postuliert. G e f r a g t wird nach dem G e s a m t v e r h a l t e n des b e t r a c h t e t e n Systems. K o n s t r u i e r t m a n nach den bekannten Daten über die Komponenten ein Simulationsmodell und spielt es u n t e r experimentell v a r i i e r t e n Ablaufbedingungen durch, so läßt sich ü b e r das Studium des Verhaltens d e r Komponenten, i h r e r Sensitivität und i h r e r gegenseitigen Beeinflussung ein Bild vom G e s a m t v e r h a l t e n des b e t r a c h t e t e n Systems gewinnen. Systementwurf durch Simulation i s t Systemsythese m i t b e s o n d e r e r Zielsetzung. E s handelt sich also um die Kombination von Systemkomponenten m i t d e f i n i e r t e n (bekannten oder postulierten) E i g e n s c h a f ten und Wirkzusammenhängen in einem Simulationsmodell und um die Ü b e r p r ü f u n g d e r Funktionsfähigkeit des abgebildeten Systems durch die Nachahmung d i v e r s e r Testläufe. Diese Methode des e x p e r i m e n tellen Systementwurfs ist u. a. e r f o l g r e i c h bei d e r Computerentwicklung eingesetzt worden und hat rückwirkend die Weiterentwicklung d e r digitalen Systemsimulation entscheidend g e f ö r d e r t . Systemoptimierung durch Simulation kann sowohl in Bezug auf den Systemaufbau a l s auch in Bezug auf den Systemablauf b e t r i e b e n w e r den. Optimierung des Systemaufbaus durch Simulation bedeutet die a l t e r n a t i v e Kombination von Systemkomponenten m i t bekannten oder p o s t u l i e r t e n Wirkungen in diversen Simulationsmodellen und die Auswahl desjenigen Systems, welches die besten A b l a u f r e s u l t a t e aufweist. Bei b e r e i t s existierenden Systemen kann eine Optimierung des Systemaufbaus durch p r o b e w e i s e s Austauschen von Systemkomponenten im Simulationsmodell versucht werden. Optimierung des Systemablaufs durch Simulation bedeutet d a s A u s p r o b i e r e n a l t e r n a t i v e r Strategien, Politiken und Methoden innerhalb eines d e f i n i e r t e n S y s t e m aufbaus, d e r in einem Simulationsmodell abgebildet ist. Gewählt wird d a s V e r f a h r e n , welches die besten A b l a u f r e s u l t a t e e r b r i n g t . Die Systemoptimierung durch Simulation gehört zu den p r o b l e m a t i s c h s t e n Anwendungen des V e r f a h r e n s . Dies hängt einmal m i t den Schwierigkeiten z u s a m m e n , angesichts d e r gemeinsam b e t r a c h t e t e n und oft r e c h t heterogenen Zustandsvariablen ein Optimum überhaupt zu definieren. Zum a n d e r e n ist es angesichts d e r Fülle m ö g l i c h e r Systemvariationen nahezu unmöglich, ein irgendwie d e f i n i e r t e s Optim u m a u c h wirklich zu finden. Die h i e r angeschnittenen P r o b l e m e w e r d e n in Kapitel 1. 5 nochmals in einem a n d e r e n Zusammenhang etwas a u s f ü h r l i c h e r behandelt. Die Schulung d e r Systembeherrschung durch digitale S y s t e m s i m u lation i s t in zwei Varianten möglich. Einmal kann der Schüler unm i t t e l b a r in den Simulationsprozeß einbezogen werden, d. h. e r i s t Systemkomponente und damit gleichsam Bestandteil des Simulationsm o d e l l s . Seine Handlungen sind E r e i g n i s s e im s i m u l i e r t e n Systemablauf. Das bekannteste Beispiel h i e r f ü r dürfte das U n t e r n e h m e n s spiel sein. Die zweite Variante beläßt den Schüler außerhalb des Simulationsmodells. Seine Handlungen sind daher nicht E r e i g n i s s e im Modellablauf, sondern d e t e r m i n i e r e n lediglich die Ablaufbedingungen 14

oder den Modellaufbau f ü r einen b e s t i m m t e n Simulationslauf. Bei beiden V a r i a n t e n handelt es sich jedoch gleichermaßen um ein E n t s c h e i dungstraining, bei dem der Schüler die Resultate seiner Entscheidungen s o f o r t e r f ä h r t und somit in die Lage v e r s e t z t wird, d a r a u s Schlüsse f ü r sein w e i t e r e s Entscheidungsverhalten zu ziehen. An dies e r Stelle i s t jedoch einzuräumen, daß die zweite Variante d e r Entscheidungsschulung und das Vorgehen bei der experimentellen Sys t e m o p t i m i e r u n g im Grunde genommen identisch sind und sich nur durch die Zielsetzung unterscheiden.

1.5 Vor- und Nachteile im Vergleich zu den mathematischanalytischen Verfahren des Operations Research Die digitale Systemsimulation weist im Vergleich zu den m a t h e m a t i s c h - a n a l y t i s c h e n Methoden des Operations R e s e a r c h einige m a r k a n te V o r - und Nachteile auf, die h i e r kurz gegenübergestellt w e r d e n sollen. Als Vorteile sind vor allem die folgenden zu nennen: — Simulationsmodelle gestatten die Abbildung von Systemen m i t einem Grad von Komplexität und Wirklichkeitsnähe wie e r m i t m a t h e m a t i s c h e n Modellen nicht e r r e i c h b a r ist. Insbesondere gestatten Simulationsmodelle die gleichzeitige Betrachtung qualitativer und quantitativer sowie d e t e r m i n i s t i s c h e r und s t o c h a s t i s c h e r Variablen, wodurch eine nahezu vollkommene Approximation der s i m u l i e r t e n E x p e r i m e n t e an die entsprechenden R e a l e x p e r i m e n t e e r r e i c h t w e r den kann. Das bedeutet, daß m a n an einem Simulationsmodell dieselben Versuche, Messungen und Beobachtungen vornehmen kann wie am wirklichen System. — Simulationsmodelle sind in d e r Regel wesentlich a n s c h a u l i c h e r a l s m a t h e m a t i s c h e Modelle, denn sie gestatten die u n m i t t e l b a r e Beobachtung des Systemverhaltens im Zeitverlauf. Man kann a l s o unm i t t e l b a r verfolgen, wie sich die einzelnen Z u s t a n d s v a r i a b l e n entwickeln, wie die Systemkomponenten aufeinander einwirken und wie sich d a r a u s das gesamte Systemverhalten ergibt. — Systemsimulation e r f o r d e r t im allgemeinen keinen großen m a t h e m a t i s c h e n Aufwand, da sich das Verhalten d e r einzelnen Komponenten und i h r e Abhängigkeiten z u m e i s t unmittelbar aus dem Systemaufbau ergeben. B e i s p i e l s w e i s e kann in einem P r o d u k t i o n s modell durch die Anordnung d e r Maschinen und die Definition d e r M a t e r i a l t r a n s p o r t w e g e die Reihenfolge der Arbeitsgänge festgelegt werden. D a r a u s r e s u l t i e r e n zwangsläufig Abhängigkeiten, die die Beschäftigungszustände, die Produktionskosten, den Verschleiß u. a . m . bei den einzelnen Maschinen b e t r e f f e n . Nur bei b e s o n d e r s komplexen Systemen m ü s s e n einzelne Abhängigkeiten und V e r h a l t e n s w e i s e n durch m a t h e m a t i s c h e Funktionen b e s c h r i e b e n werden. Die Abwesenheit oder die s p a r s a m e Verwendung von Mathematik m a c h t die Systemsimulation einem großen K r e i s von Anwendern 15

zugänglich. Als Nachteile sind die folgenden zu nennen: Die S y s t e m s i m u l a t i o n kennt keine s p e z i f i s c h e n Lösungsalgorithmen. I n s b e s o n d e r e gibt es keine Algorithmen, die zwangsläufig zu einer optimalen Systemkonfiguration oder zu optimalen Ablaufbedingungen führen. Ein solches Optimum könnte, s o f e r n es überhaupt d e f i n i e r bar ist, m i t Sicherheit nur dann gefunden werden, wenn a l l e nur möglichen Systemvarianten und Ablaufbedingungen in B e t r a c h t gezogen würden. Da d i e s jedoch nach den Gesetzen d e r Kombinator i k zu e i n e r unüberschaubaren und p r a k t i s c h nicht v e r i f i z i e r b a r e n Anzahl zu s i m u l i e r e n d e r Modellvarianten führen würde, i s t m a n bei d e r Suche nach dem Optimum auf ein m e h r oder m i n d e r s y s t e m a t i s c h e s P r o b i e r e n angewiesen. Man wird a l s o vielfach nur durch h e u r i s t i s c h e Überlegungen v e r s u c h e n können, eine b e g r e n z t e Anzahl von Modellvarianten zu finden, die einen zufriedenstellenden Ablauf v e r s p r e c h e n . Diese V a r i a n t e n wird m a n d u r c h s p i e l e n und diejenige m i t den f e s t e n A b l a u f r e s u l t a t e n auswählen. Dies a l l e s muß sich jedoch in dem Bewußtsein vollziehen, daß das t a t s ä c h l i che Optimum mit hoher Wahrscheinlichkeit unentdeckt bleibt. — T r o t z d e r Entwicklung s p e z i e l l e r Simulationssprachen bleibt d e r P r o g r a m m i e r a u f w a n d bei u m f a n g r e i c h e r e n Simulationsstudien groß, da jede Modellvariante, die eine neue Systemkonfiguration d a r stellt, in d e r Regel durch U m p r o g r a m m i e r u n g des Simulationsprog r a m m s e r z e u g t werden muß. Modellvarianten, die Veränderungen in den Ablaufbedingungen beinhalten, werden zumeist durch einfache P a r a m e t e r ä n d e r u n g e n erzeugt. Jedoch können in b e s t i m m t e n F ä l l e n auch h i e r b e i U m p r o g r a m m i e r u n g e n e r f o r d e r l i c h sein. — U m f a n g r e i c h e SimulationsStudien sind in d e r Regel ä u ß e r s t r e c h e n zeitaufwendig, insbesondere, wenn s i e zum Zweck d e r Systemoptim i e r u n g v e r a n s t a l t e t werden. Zunächst einmal e r f o r d e r t die D a r stellung d e r E r e i g n i s s e und d e r d a r a u s r e s u l t i e r e n d e n Z u s t a n d s änderungen r e c h t umfangreiche P r o g r a m m e , die f ü r jeden s i m u l i e r t e n Zeitpunkt durchlaufen w e r d e n m ü s s e n . Da ein einziger Simulationslauf s t e t s eine Vielzahl von Zeitpunkten umfaßt, ergibt sich d a r a u s b e r e i t s f ü r das einzelne E x p e r i m e n t ein nicht u n e r heblicher Maschinenzeitkonsum. Sodann i s t zu beachten, daß bei den (pseudo-)stochastischen Modellen, die die Regel sind, ein einziger Simulationslauf nicht zu r e p r ä s e n t a t i v e n Resultaten f ü h r t , so daß nach den Grundsätzen der s t a t i s t i s c h e n Stichprobentheorie m i t j e d e r Modellvariante s t e t s m e h r e r e Simulationsläufe d u r c h z u f ü h r e n sind. Berücksichtigt m a n schließlich die Vielzahl der bei einer Simulationsstudie zu betrachtenden Modellvarianten, so bekommt m a n eine Vorstellung davon, b i s in welche Größenordnungen sich die Rechenzeiten kumulieren können. Bei OptimierungsStudien l a s sen sich a l l e r d i n g s exakte Vorausschätzungen d e r benötigten Rechenzeit nicht gewinnen, da die Anzahl d e r e r f o r d e r l i c h e n Simulationsläufe im Zuge d e s h e u r i s t i s c h e n V o r t a s t e n s zu einer " b e s t e n " Lösung zu einem großen Teil vom Können und vom " F i n g e r s p i t zengefühl" des Anwenders abhängt. 16

2. Die programmtechnischen Grundlagen der digitalen Systemsimulation

2.1 Allgemeines Ein P r o g r a m m zur Simulation eines Systemablaufs auf einer digitalen Rechenanlage muß über Elemente verfügen, die e r s t e n s die Komponenten des modellierten Systems abbilden, die zweitens die Zustandsänderungen der Komponenten simulieren und die drittens diese Zustandsänderungen zu einem zusammenhängenden E r e i g n i s s t r o m entlang der Zeitachse verbinden. Damit unterscheiden sich Simulationsprogramme grundlegend von den üblichen kommerziellen und wissenschaftlichen Programmen, bei denen es im wesentlichen nur um die Ordnung, die Veränderung und den Transport von Daten geht. Bevor nun als Kern der Arbeit das eigentliche FORTRAN - P r o grammpaket zur Simulation von Systemabläufen — im folgenden kurz Simulator genannt — behandelt werden kann, sollen die oben genannten drei Kategorien von Programmelementen in i h r e r Funktion und ihrem Zusammenwirken beschrieben werden; denn ohne eine solche Erläuterung wären die nachfolgenden Programmstücke und Unterprogramme des Simulators kaum verständlich. Das Grundkonzept des Simulators (wie selbstverständlich auch des zugrunde liegenden GPSS) b a s i e r t auf der Vorstellung, daß mobile Systemkomponenten (Verkehrseinheiten) einen Verbund von stationären Systemkomponenten (Stationen) durchlaufen und auf diesem Weg diverse Zustandsänderungen auslösen. Verändert werden dabei sowohl die Zustände der stationären a l s auch die Zustände der mobilen Systemkomponenten. Auslösendes Moment für diese Zustandsänderungen ist stets das Auftreffen einer mobilen auf eine stationäre Komponente. D i e s e s Konzept ist dem Vorgang der elektronischen Datenverarbeitung abgeschaut, denn die zu verarbeitenden Daten, die durch die Anlage geschleust werden, lassen sich a l s mobile Systemkomponenten und die einzelnen Bausteine der Anlage, wie Peripherie, Kanäle, K e r n s p e i c h e r und Register als stationäre Komponenten des Datenverarbeitungssystems interpretieren. Die Veränderungen der Systemkomponenten (Beschäftigung der P e r i p h e r i e und Kanäle, Veränderung der Speicher- und Registerinhalte, Veränderung der Daten etc. ) geschieht durch die diversen, vom Programm angesprochenen Instruktionsmoduln der Anlage. Die Verknüpfung der Zustandsänderungen zu einem zusammenhängenden E r e i g n i s s t r o m in der Zeit besorgt das Steuerwerk. Nachdem nun ursprünglich dieses spezielle System zum Zweck der Analyse und Weiterentwicklung komplexer Computersysteme in einem 17

S i m u l a t i o n s m o d e l l abgebildet und p r o g r a m m i e r t w a r , w u r d e a l s b a l d d i e a l l g e m e i n e V e r w e n d b a r k e i t d i e s e s P r o g r a m m p a k e t s e r k a n n t ; denn e s gibt e i n e F ü l l e von S y s t e m e n , d i e n a c h d e m s e l b e n P r i n z i p a u f g e baut sind und a b l a u f e n : V e r k e h r s e i n h e i t e n t r e t e n in ein S y s t e m ein, w e r d e n b e i m A n l a u f e n e i n z e l n e r Stationen d e s S y s t e m s v e r ä n d e r t und v e r ä n d e r n d i e s e , u m s c h l i e ß l i c h d a s S y s t e m w i e d e r zu v e r l a s s e n . J e d e r P r o d u k t i o n s - und D i e n s t l e i s t u n g s b e t r i e b l ä u f t auf d i e s e W e i s e ab. A b e r a u c h A b l ä u f e d e s S t r a ß e n v e r k e h r s , d e s N a c h r i c h t e n w e s e n s und d e s l e b e n d e n O r g a n i s m u s l a s s e n s i c h u n t e r d i e s e m A s p e k t b e t r a c h t e n . D a s V o r k o m m e n d i e s e s S y s t e m t y p s i s t so z a h l r e i c h und v i e l g e s t a l t i g , daß m a n d a f ü r e i g e n s den B e g r i f f " V e r k e h r s s y s t e m " g e p r ä g t hat. Nun i s t j e d o c h d i e V e r w e n d b a r k e i t e i n e s P r o g r a m m p a k e t s z u r Sim u l a t i o n von V e r k e h r s s y s t e m e n k e i n e s w e g s auf d i e s e n S y s t e m t y p b e s c h r ä n k t , denn m a n k a n n sich w e i t g e h e n d von d e r V o r s t e l l u n g " V e r k e h r s e i n h e i t e n und Stationen" l ö s e n . Die m o b i l e n S y s t e m k o m p o n e n t e n s t e l l e n dann ganz a l l g e m e i n i r g e n d w e l c h e E r e i g n i s i m p u l s e in e i n e r e i n d i m e n s i o n a l e n O r d n u n g (z. B. in d e r Zeit) d a r , w ä h r e n d d i e s t a t i o n ä r e n S y s t e m k o m p o n e n t e n ganz e i n f a c h Z u s t a n d s g e n e r a t o r e n sind. Durch diese Abstraktion lassen sich nahezu alle Systeme, die einen z e i t l i c h e n o d e r l o g i s c h e n Ablauf a u f w e i s e n , m i t e i n e m d e r a r t i g e n S i m u l a t o r d a r s t e l l e n , a l s o z. B. a u c h R e c h e n a l g o r i t h m e n o d e r C o m p u t e r p r o g r a m m e . D a s P r o b l e m b e s t e h t dann n u r noch d a r i n , d i e P r o g r a m m - M o d u l n z u r E r z e u g u n g d e r f ü r ein s p e z i e l l e s S y s t e m t y pischen Zustandsänderungen bereitzustellen. Die v o r l i e g e n d e A r b e i t wird d i e s e Ü b e r l e g u n g e n j e d o c h n i c h t w e i t e r v e r t i e f e n , s o n d e r n s i c h im w e s e n t l i c h e n auf d i e S i m u l a t i o n von Verkehrssystemen beschränken.

2.2 Die Darstellung des Systemaufbaus Die D a r s t e l l u n g d e s S y s t e m a u f b a u s i m R e c h n e r g e s c h i e h t m i t Hilfe von P r o g r a m m e l e m e n t e n , die d i e S y s t e m k o m p o n e n t e n s y m b o l i s i e r e n ( i d e n t i f i z i e r e n ) und d i e d i e m ö g l i c h e n Z u s t ä n d e und s p e z i f i s c h e n E i g e n s c h a f t e n a u s d r ü c k e n und s p e i c h e r n . B e t r a c h t e t m a n beispielsweise die Systemkomponenten eines P r o duktionsbetriebes, also die Menschen, Aufträge, Werkstücke, Mas c h i n e n , L ä g e r , V e r k e h r s w e g e etc. , s o m ü ß t e n f o l g e n d e P r o g r a m m elemente bereitgestellt werden: (1) K o n s t a n t e n z u r B e s c h r e i b u n g bes t i m m t e r u n v e r ä n d e r l i c h e r E i g e n s c h a f t e n d e r K o m p o n e n t e n , wie z. B. Auftragsnummern, Auftragsdatum, Auftragsart, Personalnummern, B e r u f e , fixe Maschinenkosten, Anschaffungsdatum, Kapazitäten etc. (2) V a r i a b l e n z u r A u f n a h m e d e r s i c h w ä h r e n d d e s S i m u l a t i o n s l a u f s ä n d e r n d e n Z u s t ä n d e , z. B. k u m u l a t i v e K o s t e n d e r K o s t e n t r ä g e r , k u mulative Kosten der Kostenstellen, Beschäftigungszustände der Maschinen, L a g e r b e s t ä n d e etc. (3) F u n k t i o n e n z u r D a r s t e l l u n g d e r Zu18

s t a n d s v a r i a b i l i t ä t d e r S y s t e m k o m p o n e n t e n in A b h ä n g i g k e i t vom e i g e n e n Z u s t a n d o d e r von den v a r i i e r e n d e n Z u s t ä n d e n und u n t e r s c h i e d l i c h e n E i g e n s c h a f t e n d e r auf s i e e i n w i r k e n d e n a n d e r e n S y s t e m k o m p o nenten, z. B. D a r s t e l l u n g d e r A u s s c h u ß q u o t e in A b h ä n g i g k e i t vom A l t e r einer Anlage oder Darstellung des L e i s t u n g s v e r h a l t e n s eines M e n s c h e n in Abhängigkeit von d e r T a g e s z e i t o d e r D a r s t e l l u n g d e r B e a r b e i t u n g s d a u e r und d e r B e a r b e i t u n g s k o s t e n a n e i n e r M a s c h i n e in A b h ä n g i g k e i t von d e r A u f t r a g s a r t . (4) A l g o r i t h m e n z u r D a r s t e l l u n g d e r Z u s t a n d s v a r i a b i l i t ä t d e r S y s t e m k o m p o n e n t e n in A b h ä n g i g k e i t von k o m p l e x e n S y s t e m - und U m w e l t e i n f l ü s s e n , z. B. D a r s t e l l u n g d e r B e a r b e i t u n g s d a u e r a n e i n e r M a s c h i n e in Abhängigkeit von d e r A u f t r a g s a r t , von d e r T a g e s z e i t , von M a s c h i n e n s t ö r u n g e n , von Schwankungen d e r M a t e r i a l b e s c h a f f e n h e i t usw. Um n u n ein S y s t e m r a t i o n e l l im R e c h n e r d a r s t e l l e n zu können, m u ß z u n ä c h s t von d e r s p e z i e l l e n B e d e u t u n g d e r S y s t e m k o m p o n e n t e n und i h r e n s p e z i f i s c h e n E i g e n s c h a f t e n a b s t r a h i e r t w e r d e n ; denn n u r so i s t e s m ö g l i c h , eine b e g r e n z t e A n z a h l a l l g e m e i n e r M o d e l l b a u s t e i n e zu d e f i n i e r e n , d i e s i c h m i t r e l a t i v e i n f a c h e n P r o g r a m m e l e m e n t e n d a r s t e l l e n l a s s e n . Versucht m a n daher, die typischen Komponenten e i n e s V e r k e h r s s y s t e m s zu b e s t i m m e n , so k o m m t m a n auf die f o l g e n den: V e r k e h r s e i n h e i t e n , V e r k e h r s w e g e , V e r k e h r s l e i t s t e l l e n , B e a r b e i t u n g s - o d e r B e d i e n u n g s s t a t i o n e n , S p e i c h e r und W a r t e s c h l a n g e n . Mit H i l f e d i e s e r E l e m e n t a r b a u s t e i n e l ä ß t s i c h j e d e s V e r k e h r s s y s t e m m o d e l l i e r e n . Die A n p a s s u n g d i e s e r B a u s t e i n e a n den individuellen Systemfall geschieht durch entsprechende Interpretation, durch D e f i n i t i o n d e r b e s o n d e r e n E i g e n s c h a f t e n und d u r c h a d ä q u a t e F o r m u l i e r u n g d e r F u n k t i o n e n und A l g o r i t h m e n z u r D a r s t e l l u n g d e r Z u standsvariabilität.

2.2.1. Verkehrseinheiten (transactions) V e r k e h r s e i n h e i t e n (englisch: t r a n s a c t i o n s ) sind j e n e m o b i l e n Sys t e m k o m p o n e n t e n , die s i c h d u r c h den V e r b u n d d e r s t a t i o n ä r e n K o m p o n e n t e n b e w e g e n und auf d i e s e m W e g e den Z u s t a n d d e s S y s t e m s laufend v e r ä n d e r n . Dabei s o l l b e r e i t s von e i n e r Z u s t a n d s ä n d e r u n g d e s S y s t e m s g e s p r o c h e n w e r d e n , wenn s i c h d e r Z u s t a n d n u r e i n e r e i n z i g e n K o m p o n e n t e v e r ä n d e r t . Im e i n z e l n e n w e r d e n V e r k e h r s w e g e b e n u t z t , B e d i e n u n g s s t a t i o n e n belegt o d e r f r e i g e g e b e n , L a g e r b e s t ä n d e vergrößert oder verringert, Warteschlangen verlängert oder v e r k ü r z t , V e r k e h r s e i n h e i t e n auf den V e r k e h r s w e g e n bewegt (eine O r t s v e r ä n d e r u n g gilt e b e n f a l l s a l s Z u s t a n d s ä n d e r u n g ) , an den B e d i e n u n g s s t a t i o n e n b e d i e n t , b e a r b e i t e t o d e r v e r a r b e i t e t , in L ä g e r n g e s p e i c h e r t in W a r t e s c h l a n g e n a u f g e h a l t e n und a n V e r k e h r s l e i t s t e l l e n b l o c k i e r t , umgeleitet oder weitergeleitet. F ü r d i e S i m u l a t i o n d i e s e r Z u s t a n d s ä n d e r u n g e n h a b e n die t r a n s a c t i ons zwei w i c h t i g e F u n k t i o n e n zu e r f ü l l e n . Die e i n e i s t d a s A u s l ö s e n d e r Z u s t a n d s ä n d e r u n g e n d u r c h d a s A u f t r e f f e n auf die s t a t i o n ä r e n Sys t e m k o m p o n e n t e n . Die a n d e r e i s t d i e V e r s o r g u n g d e r v e r s c h i e d e n e n P r o g r a m m e l e m e n t e (Funktionen, A l g o r i t h m e n ) z u r E r z e u g u n g d e r 19

Zustandsänderungen mit aktuellen Informationen. Umgekehrt werden a b e r a u c h b e s t i m m t e I n f o r m a t i o n e n ü b e r den S y s t e m z u s t a n d a n d i e t r a n s a c t i o n s a b g e g e b e n ; d i e s gilt i n s b e s o n d e r e f ü r s o l c h e I n f o r m a t i o nen, d i e den Z u s t a n d d e r t r a n s a c t i o n s s e l b s t b e t r e f f e n . Aus d e r Funktion der transactions als I n f o r m a t i o n s t r ä g e r ergibt s i c h d i e Notwendigkeit, f ü r jede t r a n s a c t i o n , sobald s i e in d a s s i m u l i e r t e S y s t e m e i n t r i t t , einen V e k t o r von D a t e n - und R e c h e n f e l d e r n b e r e i t z u s t e l l e n . In d i e s e F e l d e r w e r d e n a l l e m ö g l i c h e n , w ä h r e n d d e s D u r c h l a u f s d u r c h d a s Modell b e n ö t i g t e n bzw. b e r e c h n e t e n W e r t e g e s p e i c h e r t , a l s o z. B. die E n t s t e h u n g s z e i t , die I d e n t i f i k a t i o n , d e r A r b e i t s f o r t s c h r i t t , die k u m u l a t i v e n B e a r b e i t u n g s k o s t e n u. a. m . Diese W e r t e s o l l e n i m f o l g e n d e n a l s P a r a m e t e r d e r t r a n s a c t i o n s und die F e l d e r dementsprechend als P a r a m e t e r f e l d e r bezeichnet werden. Die p r o g r a m m t e c h n i s c h e D a r s t e l l u n g g e s c h i e h t d u r c h die Z u o r d nung d e r t r a n s a c t i o n s zu e i n e m e n t s p r e c h e n d e n K e r n s p e i c h e r b e r e i c h . Da f ü r j e d e t r a n s a c t i o n m e h r e r e P a r a m e t e r f e l d e r v o r z u s e h e n sind und da s i c h zu j e d e m s i m u l i e r t e n Zeitpunkt in d e r R e g e l m e h r e r e t r a n s a c t i o n s im s i m u l i e r t e n System befinden, ergibt sich eine t r a n s a c t i o n s - M a t r i x , d e r e n Z e i l e n d i e t r a n s a c t i o n s d a r s t e l l e n und d e r e n Spalten d i e e i n z e l n e n P a r a m e t e r f e l d e r bilden. D e r v o r l i e g e n d e S i m u l a t o r s i e h t je t r a n s a c t i o n 20 P a r a m e t e r f e l d e r v o r , von d e n e n a l l e r d i n g s nur 10 d u r c h den A n w e n d e r b e l i e b i g b e nutzt w e r d e n können. Die P a r a m e t e r f e l d e r 11 und 12 sind f ü r d i e lfd. N r . im assembly set 1

2

3

4

5

6

7

8

frei verfügbar

Entstehungszeit

9 10 11 12 13 14 15 16 17 18 19 20 preemptSteuerung

Eintrittszeiten in d i e q u e u e s

Priorität Abb. 1

Parameterfelder einer

transaction

S t e u e r u n g e i n e r b e s t i m m t e n A r t d e r B e l e g u n g von B e d i e n u n g s S t a t i o n e n r e s e r v i e r t . D a s P a r a m e t e r f e l d 13 dient d e r A u f n a h m e e i n e s P r i o r i t ä t e n s c h l ü s s e l s , d a s F e l d 14 d e r A u f n a h m e e i n e r G r u p p e n n u m e r i e r u n g , die F e l d e r 15 b i s 19 d e r S p e i c h e r u n g d e r E i n t r i t t s z e i t e n in g e s c h a c h t e l t e Z e i t m e ß s t e l l e n und d a s F e l d 20 d e r A u f n a h m e d e r E n t s t e h u n g s z e i t . E i n z e l h e i t e n ü b e r die B e d e u t u n g d e r I n f o r m a t i o n e n i n den F e l d e r n 11 b i s 20 w e r d e n s p ä t e r b e i d e r B e h a n d l u n g d e s Simulators gebracht.

20

2.2.2 Bedienungs- oder Bearbeitungsstationen (facilities) B e d i e n u n g s - o d e r B e a r b e i t u n g s S t a t i o n e n (englisch: f a c i l i t i e s ) sind S y s t e m k o m p o n e n t e n , die von d e n V e r k e h r s e i n h e i t e n b e l e g t , e i n e Z e i t l a n g b e s c h ä f t i g t und dann w i e d e r f r e i g e g e b e n w e r d e n . F ü r d i e Z e i t d e r Belegung haben die nachfolgenden t r a n s a c t i o n s keinen Zutritt; sie o r d n e n s i c h in eine W a r t e s c h l a n g e ein. Ü b l i c h e r w e i s e d e f i n i e r t m a n f ü r d i e f a c i l i t i e s d i e K a p a z i t ä t 1, d . h . daß zu j e d e m Z e i t p u n k t i m m e r n u r eine e i n z i g e t r a n s a c t i o n b e a r b e i t e t w e r d e n kann. Die B e i s p i e l e f ü r d e r a r t i g e B e d i e n u n g s Stationen sind r e c h t z a h l r e i c h , da z u m i n d e s t auf d e r E b e n e d e r e l e m e n t a r e n A r b e i t s g ä n g e s e h r o f t s e q u e n z i e l l und weit s e l t e n e r s i m u l t a n g e a r b e i t e t w i r d . So v o l l z i e h t s i c h b e i s p i e l s w e i s e m a n u e l l e und g e i s t i g e A r b e i t a n m e h r e r e n O b j e k t e n z u m e i s t s e q u e n z i e l l ; e b e n f a l l s a r b e i t e n die m e i s t e n W e r k z e u g m a s c h i n e n und a l l e d i g i t a l e n R e c h e n a n l a g e n s e q u e n z i e l l . S i m u l t a n e A r b e i t k o m m t h i n g e g e n u. a. v o r b e i m Z u s c h n e i d e n , Stanzen, Gießen, K u n s t s t o f f s p r i t z e n und B e f ö r d e r n . Facilities mit der Kapazität 1 l a s s e n sich p r o g r a m m t e c h n i s c h d u r c h e i n f a c h e S p e i c h e r f e l d e r d a r s t e l l e n , die z. B. die W e r t e 1 f ü r " b e l e g t " und 0 f ü r " f r e i " a n n e h m e n . F e r n e r b e d a r f e s e i n e s Algor i t h m u s , d e r d a s B e l e g e n und F r e i s e t z e n sowie d a s B l o c k i e r e n bzw. d a s E n t b l o c k i e r e n d e r t r a n s a c t i o n s v o r e i n e r b e l e g t e n bzw. w i e d e r f r e i gewordenen facility besorgt. Sollen Stationen m i t g r ö ß e r e r K a p a z i t ä t a l s 1, a l s o m i t s i m u l t a n e r V e r a r b e i t u n g , d a r g e s t e l l t w e r d e n , so kann d i e s e n t w e d e r d u r c h P a r a l l e l s c h a l t e n m e h r e r e r f a c i l i t i e s o d e r m i t Hilfe d e r a n s c h l i e ß e n d behandelten storages geschehen.

2.2.3 Speicher (storages) S p e i c h e r (englisch: s t o r a g e s ) sind S y s t e m k o m p o n e n t e n , d i e von e i n e r b e s t i m m t e n A n z a h l von S p e i c h e r e i n h e i t e n b e l e g t o d e r v e r l a s s e n w e r d e n können. A u s g e l ö s t w e r d e n d i e s e V o r g ä n g e d u r c h t r a n s a c t i o n s , d i e u. a . a u c h die I n f o r m a t i o n m i t s i c h f ü h r e n können, wie v i e l e S p e i c h e r e i n h e i t e n z u - o d e r a b z u b u c h e n sind. Die B e l e g u n g d e s s t o r a g e i s t b i s zu e i n e r d e f i n i e r t e n K a p a z i t ä t s g r e n z e m ö g l i c h . Ist d i e K a p a z i t ä t s g r e n z e e r r e i c h t , so w e r d e n a l l e n a c h f o l g e n d e n t r a n s a c t i o n s b l o c k i e r t , d. h. s i e o r d n e n s i c h wie bei e i n e r b e l e g t e n f a c i l i t y in e i n e W a r t e s c h l a n g e ein. L i e f e r n t r a n s a c t i o n s u n t e r s c h i e d l i c h e M e n g e n von S p e i c h e r e i n h e i t e n im s t o r a g e ab, so w e r d e n n u r d i e j e n i g e n blokk i e r t , d e r e n Aufnahme die K a p a z i t ä t s g r e n z e ü b e r s c h r e i t e n würde. D a g e g e n können d i e j e n i g e n t r a n s a c t i o n s p a s s i e r e n , d e r e n S p e i c h e r e i n h e i t e n noch in d e n s t o r a g e h i n e i n p a s s e n . V e r l a s s e n können den s t o r a g e h ö c h s t e n s so v i e l e E i n h e i t e n , wie d a r i n e n t h a l t e n sind. E i n e t r a n s a c t i o n , die m e h r S p e i c h e r e i n h e i t e n a b z i e h e n will, w i r d j e d o c h n i c h t b l o c k i e r t ; s i e m a c h t d e n S p e i c h e r l e e r , s o f e r n e r d a s noch nicht i s t , und geht w e i t e r . D i e s e E i g e n s c h a f t e n g e s t a t t e n u. a. d i e V e r w e n d u n g d e s s t o r a g e z u r D a r s t e l l u n g v o n B e a r b e i t u n g s Stationen m i t e i n e r K a p a z i t ä t g r ö ß e r o d e r g l e i c h 1. 21

Die p r o g r a m m t e c h n i s c h e Realisation eines s t o r a g e besteht in d e r B e r e i t s t e l l u n g z w e i e r Speicherfelder. Das eine dient a l s Zählerfeld f ü r die F o r t s c h r e i b u n g d e r Zu- und Abgänge und das a n d e r e als Konstantenfeld f ü r die Speicherung der K a p a z i t ä t s g r e n z e . F e r n e r bedarf es eines Algorithmus zur F o r t s c h r e i b u n g und zur Blockierung bzw. Entblockierung der t r a n s a c t i o n s , die an einen vollbelegten und dann w i e d e r f r e i werdenden s t o r a g e gelangen.

2.2.4 Warteschlangen (queues) Vor j e d e r Station m i t b e g r e n z t e r V e r a r b e i t u n g s - oder Speicherkapazität sowie vor V e r k e h r s l e i t s t e l l e n m i t Blockiereinrichtung können sich W a r t e s c h l a n g e n (englisch: queues) von V e r k e h r s e i n h e i t e n bilden. I n t e r e s s i e r t m a n sich f ü r das Verhalten solcher Warteschlangen während des Simulationslaufs, so m ü s s e n geeignete P r o g r a m m e l e m e n t e zur Messung d e r Warte schlangen b e r e i t g e s t e l l t werden. In d e r Funktionsweise sind d i e s e ebenfalls mit queue bezeichneten P r o g r a m m e l e m e n t e ähnlich dem storage: J e d e t r a n s a c t i o n l i e f e r t eine b e s t i m m t e Anzahl von Einheiten ab, die die Warteschlange v e r l ä n g e r n und sorgt auch dafür, daß diese Einheiten die Warteschlange wieder v e r l a s s e n . Die Schlangenkapazität ist jedoch unbegrenzt; zum i n d e s t gilt dies logisch. P r a k t i s c h ist eine Kapazitätsbegrenzung durch die größte in d e r jeweiligen Rechenanlage d a r s t e l l b a r e Integerzahl gegeben. In d i e s e m Punkt unterscheidet sich a l s o 'die queue vom s t o r a g e . Hingegen können genau wie beim storage nicht m e h r Einheiten die W a r t e s c h l a n g e v e r l a s s e n a l s sich darin befinden. P r o g r a m m t e c h n i s c h besteht eine queue aus einer Anzahl von Speic h e r f e l d e r n , in denen verschiedene f ü r die Beurteilung der W a r t e schlange r e l e v a n t e Informationen berechnet und gespeichert werden. Hinzu k o m m e n Algorithmen zur F o r t s c h r e i b u n g d e r Schlangenlänge und zur Erzeugung d e r gewünschten s t a t i s t i s c h e n Informationen. F ü r den vorliegenden Simulator wurden f ü r jede queue 8 F e l d e r v o r g e s e h e n , und zwar f ü r die Berechnung bzw. Speicherung folgend e r Informationen: (1) laufende Länge d e r Warteschlange, (2) m a x i m a l e Länge d e r Warteschlange, (3) Summe d e r Zugänge, (4) Summe d e r Abgänge, (5) Summe der Nulldurchgänge (Durchgänge von Einheiten ohne Wartezeit), (6) Summe der Zeitmengen (Summe a l l e r Bestände m a l Zeit bis z u r Veränderung), soweit sie t r a n s a c t i o n s bet r e f f e n , die die queue während des Simulationslaufs b e t r e t e n und w i e d e r v e r l a s s e n , (7) Summe d e r Zeitmengen unter Berücksichtigung von Anfangs- und Endbeständen und (8) Zeitpunkt d e r letzten Bestandsveränderung. Mit diesen Informationen l a s s e n sich u. a. f ü r jede queue die m i t t l e r e W a r t e z e i t je E l e m e n t und die m i t t l e r e Schlangenlänge b e r e c h nen. Die m i t t l e r e W a r t e z e i t der durch die queue hindurchgeschleusten Einheiten ergibt sich aus der Division d e r Zeitmenge in (6) durch die Zahl d e r Abgänge in (4), also (6)/ (4). Bei d i e s e r Rechnung w e r den wie gesagt etwaige Anfangs- und Endbestände nicht b e r ü c k s i c h 22

tigt, denn die Zeitmenge in (6) wird so gewonnen, daß m a n f ü r jede t r a n s a c t i o n die Zeitdifferenz vom E i n t r i t t bis zum V e r l a s s e n d e r queue e r m i t t e l t , m i t den Speichereinheiten m u l t i p l i z i e r t und die P r o dukte k u m u l i e r t . Dies ist jedoch v e r s t ä n d l i c h e r w e i s e nur f ü r die während des Simulationslaufs durch eine queue hindurchgehenden E i n heiten möglich. Gibt e s Anfangs- und Endbestände, d e r e n Verweilzeiten bei d e r Berechnung d e r m i t t l e r e n W a r t e z e i t m i t b e r ü c k s i c h t i g t w e r d e n sollen, so wird von d e r Zeitmenge in (7) ausgegangen. Diese wird in d e r Weis e gewonnen, daß zu jedem Zeitpunkt einer B e s t a n d s v e r ä n d e r u n g d e r b i s h e r i g e Bestand mit der Zeitdifferenz zwischen der vorangegangenen und d e r jetzigen B e s t a n d s v e r ä n d e r u n g m u l t i p l i z i e r t und kumul i e r t w i r d (vgl. Abb. 2). Bt

Abb. 2

Zeitmenge: Summe der s c h r a f f i e r t e n Flächen

In Abbildung 2 bedeuten: B t j = Anfangsbestand + etwaige Bestands Veränderungen im Zeitpunkt t i B t n = Endbestand = Bt n _^ + etwaige B e s t a n d s v e r ä n d e r u n g e n i m Zeitpunkt t n Aus (7) b e r e c h n e t m a n die m i t t l e r e W a r t e z e i t nach d e r Näherungsformel H -

(3) + (4) 5

Die m i t t l e r e Schlangenlänge ergibt sich ebenfalls aus d e r Zeitmenge in (7), indem m a n diese durch die Zahl d e r s i m u l i e r t e n Zeiteinheiten dividiert, a l s o

23

Die d u r c h die queue g e l e i s t e t e D a t e n e r f a s s u n g und - a u s w e r t u n g legt e s nahe, d i e s e s P r o g r a m m e l e m e n t nicht nur z u r M e s s u n g d e s W a r t e s c h l a n g e n v e r h a l t e n s , s o n d e r n auch ü b e r a l l dort e i n z u s e t z e n , wo Z e i t m e n g e n beobachtet w e r d e n sollen. So könnten q u e u e s z. B. zur E r m i t t l u n g d e r m i t t l e r e n B e a r b e i t u n g s z e i t e n in f a c i l i t i e s o d e r z u r E r m i t t l u n g d e r m i t t l e r e n L a g e r u n g s z e i t e n und D u r c h s c h n i t t s b e s t ä n d e i n s t o r a g e s benutzt w e r d e n . Auch können queues u n m i t t e l b a r z u r Simulation von B e a r b e i t u n g s und L a g e r u n g s v o r g ä n g e n v e r w e n d e t w e r d e n , s o f e r n die d a r z u s t e l l e n d e n Stationen keine K a p a z i t ä t s b e s c h r ä n k u n g e n haben.

2.2.5 Verkehrsleitstellen (gates) V e r k e h r s l e i t s t e l l e n (englisch: gates) sind Systemkomponenten, a n denen d e r Fluß d e r V e r k e h r s e i n h e i t e n in Abhängigkeit von b e s t i m m t e n Z u s t ä n d e n o d e r E i g e n s c h a f t e n d e r S y s t e m k o m p o n e n t e n o d e r in Abhängigkeit von exogenen Daten (z. B. Zeit, Zufall) b l o c k i e r t , u m g e l e i t e t o d e r w e i t e r g e l e i t e t wird. Im F a l l e d e r B l o c k i e r u n g r e i h e n s i c h die t r a n s a c t i o n s so lange in eine W a r t e s c h l a n g e ein, b i s die B l o c k i e r u n g s b e d i n g u n g aufgehoben i s t . Mit Hilfe von gates können u. a. R e g e l u n g s - und S t e u e r u n g s v o r gänge n a c h g e a h m t w e r d e n , die a u f g r u n d m e n s c h l i c h e r Routineents c h e i d u n g e n o d e r aufgrund p r o g r a m m i e r t e r E n t s c h e i d u n g s r e g e l n in a u t o m a t i s c h e n R e g e l u n g s - oder S t e u e r u n g s v o r r i c h t u n g e n ablaufen. B e i s p i e l s w e i s e können f a c i l i t i e s , s t o r a g e s , q u e u e s o d e r auch g a t e s auf i h r e n Z u s t a n d a b g e f r a g t w e r d e n , bevor w e i t e r e t r a n s a c t i o n s d o r t h i n g e s c h i c k t werden. Ein a n d e r e s B e i s p i e l i s t d a s A u f h a l t e n o d e r U m l e i t e n von t r a n s a c t i o n s in Abhängigkeit von d e r s i m u l i e r t e n Z e i t , um d a m i t S p e r r - o d e r Ö f f n u n g s z e i t e n n a c h z u a h m e n . Die p r o g r a m m t e c h n i s c h e R e a l i s a t i o n d i e s e s P r o g r a m m e l e m e n t s g e s c h i e h t d u r c h V e r g l e i c h s - und bedingte V e r z w e i g u n g s o p e r a t i o n e n . V e r g l i c h e n wird z. B. d e r B e s c h ä f t i g u n g s z u s t a n d e i n e r f a c i l i t y , die L ä n g e e i n e r queue, d e r Inhalt e i n e s s t o r a g e oder d e r Stand d e r Sim u l a t i o n s u h r m i t b e s t i m m t e n v o r g e g e b e n e n o d e r aus dem S y s t e m z u stand e r r e c h n e t e n V e r g l e i c h s w e r t e n . J e nachdem, ob die V e r g l e i c h s bedingung e r f ü l l t ist o d e r nicht, w i r d die an d e r gate befindliche transaction blockiert, umgeleitet oder weitergeleitet.

2.2.6 Verkehrswege (channels) V e r k e h r s w e g e (englisch: channels) sind die Verbindungen z w i s c h e n den e i n z e l n e n f a c i l i t i e s , s t o r a g e s , q u e u e s und gates, auf denen sich d i e t r a n s a c t i o n s d u r c h das System bewegen. Die k o n k r e t e G e s t a l t d e r Wege hängt von d e r A r t d e r auf ihnen v e r k e h r e n d e n t r a n s a c t i o n s und von den s p e z i e l l e n E i g e n s c h a f t e n d e s abgebildeten S y s t e m s ab. Somit können channels T r a n s p o r t s t r e c k e n f ü r G ü t e r , F a h r z e u g e und M e n s c h e n o d e r R o h r l e i t u n g e n f ü r F l ü s s i g k e i t e n o d e r G a s e sein. G e l e g e n t l i c h w e r d e n a b e r auch die auf den Wegen v e r k e h r e n d e n 24

Transportmittel oder Fördereinrichtungen durch Channels abgebildet. Weitere B e i s p i e l e für Channels i i n d Kabel-, Funk-, Licht- oder Schallstrecken für den Transport von Nachrichten. F ü r die programmtechnische Realisation wird von diesen vielfältigen F o r m e n abstrahiert. Entscheidend ist lediglich, ob der T r a n s port- oder Übermittlungsvorgang überhaupt explizite in die Modellbetrachtung einbezogen werden soll oder nicht. Im Interesse einer Modellvereinfachung wird häufig so verfahren, daß man die durch den Transport oder die Übermittlung entstehenden Z e i t - , Modulati ons- und Kostenwirkungen entweder der sendenden oder der empfängenden Station zurechnet oder zwischen beiden aufteilt. Eine solche Vereinfachung ist jedoch nur dann möglich, wenn die Kapazitäten der Channels entweder unbegrenzt oder zumindest größer oder gleich der Kapazität der jeweils sendenden Stationen sind. In diesen Fällen benötigt man für die Darstellung der Verkehrswege keine besonderen Programmelemente. Vielmehr wird der Verkehrs ström programm technisch dadurch gelenkt, daß man die Instruktionen zur Simulation der Zustandsänderungen in der Reihenfolge aneinanderreiht, in der die Stationen des abgebildeten Systems von den transactions angelaufen werden. Abweichungen von dieser Flußrichtung können durch die zuvor beschriebenen gates oder durch einfache Verzweigungsinstruktionen e r r e i c h t werden. E s gibt jedoch auch Situationen, in denen die V e r k e h r s w e g e explizite in die Modellbetrachtung einzubeziehen sind. Dies ist insbesondere der Fall, wenn — V e r k e h r s w e g e eine begrenzte Kapazität haben, — V e r k e h r s w e g e mit unterschiedlichen Eigenschaften bzw. v e r s c h i e dene A r t e n des Transports oder der Übermittlung ausprobiert w e r den sollen, — V e r k e h r s w e g e mit Störungen behaftet sind, die einen entscheidenden Einfluß auf die Transportdauer, den Transporterfolg und den Zustand der transportierten Verkehrseinheiten (Alterung, B e s c h ä digung, chemische Veränderung, Modulation etc. ) haben. Die programmtechnische Realisation der Channels geschieht in diesen Fällen dadurch, daß man zwischen die Stationen des Modells, also zwischen die bisherigen facilities, storages, queues und gates weiter e f a c i l i t i e s oder storages einfügt und diese a l s Channels interpretiert. Durch entsprechende Definition der Eigenschaften und durch geeignete Festlegung der Variabilität der interessierenden Zustandsvariablen l a s s e n sich mit facilities und storages alle möglichen A r ten von Channels und alle darin ablaufenden Transport- bzw. Übermittlungsvorgänge modellieren.

25

2.3 Die Darstellung des Systemablaufs Die D a r s t e l l u n g des S y s t e m a b l a u f s geschieht d u r c h P r o g r a m m s t ü k ke, die die E r z e u g u n g , Bewegung und Vernichtung d e r t r a n s a c t i o n s sowie die d i v e r s e n Z u s t a n d s ä n d e r u n g e n d e r S y s t e m k o m p o n e n t e n s i m u l i e r e n . Die E r z e u g u n g und Bewegung d e r t r a n s a c t i o n s e r f o l g t u n t e r d e r K o n t r o l l e e i n e s Z e i t - und E r e i g n i s m e c h a n i s m u s , d e s s e n A u f b a u und W i r k u n g s w e i s e zunächst zu b e s c h r e i b e n i s t .

2.3.1 Der Zeit- und Ereignismechanismus B e s t i m m t e E r e i g n i s s e i n n e r h a l b d e r s i m u l i e r t e n Z e i t s t r e c k e , und z w a r die E r z e u g u n g e i n e r t r a n s a c t i o n sowie d a s S t a r t e n e i n e r t r a n s a c t i o n nach einem z e i t v e r b r a u c h e n d e n B e a r b e i t u n g s - o d e r L a g e r u n g s v o r g a n g , e r h a l t e n w ä h r e n d des A b l a u f s d e s S i m u l a t i o n s p r o g r a m m s b e s t i m m t e F ä l l i g k e i t s z e i t p u n k t e . D i e s e w e r d e n laufend m i t d e m Stand e i n e s Z e i t z ä h l e r s (Simulationsuhr) v e r g l i c h e n und sobald eine Ü b e r e i n s t i m m u n g f e s t g e s t e l l t wird, s i m u l i e r t das P r o g r a m m den E r e i g n i s e i n t r i t t , a l s o die E r z e u g u n g o d e r das S t a r t e n e i n e r t r a n s a c t i o n . Sind a l l e zu e i n e m Zeitpunkt f ä l l i g e n E r e i g n i s s e e i n g e t r e t e n , so w i r d d i e S i m u l a t i o n s u h r w e i t e r g e s t e l l t und d e r ganze Vorgang w i e d e r h o l t sich. D e r Simulationslauf endet e n t w e d e r d u r c h E r r e i c h e n e i n e s v o r g e g e b e n e n Z e i t p u n k t e s oder d u r c h E i n t r i t t e i n e s beliebigen a n d e r e n S y s t e m z u s t a n d e s , d e r a l s E n d e k r i t e r i u m gewählt w o r d e n ist und d e r v o r j e d e m W e i t e r s t e l l e n d e r S i m u l a t i o n s u h r a b g e f r a g t w e r d e n muß. Wenn nun e i n e t r a n s a c t i o n e r z e u g t worden i s t , w i r d s o g l e i c h d e r T e r m i n f ü r die G e n e r i e r u n g d e r n ä c h s t e n t r a n s a c t i o n b e r e c h n e t . E b e n s o w i r d b e i m E i n t r i t t e i n e r t r a n s a c t i o n in einen z e i t v e r b r a u c h e n den B e a r b e i t u n g s - , T r a n s p o r t - o d e r L a g e r u n g s v o r g a n g s o g l e i c h d e r n ä c h s t e S t a r t z e i t p u n k t b e r e c h n e t . Auf d i e s e W e i s e e r h ä l t m a n e i n e k o n t i n u i e r l i c h e F o l g e von F ä l l i g k e i t s z e i t p u n k t e n , die den s i m u l i e r t e n Systemablauf m a r k i e r e n . D e r s i m u l i e r t e Zeitablauf hat a l l e r d i n g s k e i n e r l e i p h y s i k a l i s c h e B e z i e h u n g z u r R e a l z e i t ; d. h. die s i m u l i e r t e n Z e i t e i n h e i t e n sind nicht B r u c h t e i l e o d e r V i e l f a c h e e i n e r r e a l e n Zeiteinheit. V i e l m e h r hängt die r e a l e D a u e r e i n e r s i m u l i e r t e n Z e i t s t r e c k e a l l e i n davon ab, w e l che Zeit d e r R e c h n e r z u r D a r s t e l l u n g und A u s w e r t u n g d e r d a r i n v o r k o m m e n d e n E r e i g n i s s e benötigt. Die F o l g e kann sein, daß die zu zwei g l e i c h l a n g e n s i m u l i e r t e n Z e i t s t r e c k e n g e h ö r i g e n R e a l z e i t e n v e r s c h i e d e n lang sind, da in den Z e i t s t r e c k e n u n t e r s c h i e d l i c h e Mengen und A r t e n von E r e i g n i s s e n s t a t t f i n d e n können. Die s i m u l i e r t e Z e i t hat a l s o z u n ä c h s t nur die Bedeutung e i n e r R e c h e n g r ö ß e , d e r e n E n t wicklung w ä h r e n d des P r o g r a m m a b l a u f s dann a l l e r d i n g s a l s Z e i t a b lauf i n t e r p r e t i e r t wird. Neben den z e i t l i c h d e t e r m i n i e r t e n E r e i g n i s s e n gibt e s auch solche, die vom Z u s t a n d des Systems abhängig sind. Gemeint sind die S t a r t s von t r a n s a c t i o n s , die z u v o r b l o c k i e r t w a r e n . 26

In j e d e m s i m u l i e r t e n Zeitpunkt können an einigen f a c i l i t i e s , s t o r a ges und Channels wegen des dort h e r r s c h e n d e n Belegungszustandes oder an einigen gates wegen der dort h e r r s c h e n d e n logischen Bedingungen t r a n s a c t i o n s blockiert werden. D e s g l e i c h e n können in j e d e m s i m u l i e r t e n Zeitpunkt an anderen f a c i l i t i e s , s t o r a g e s , Channels oder gates die Blockierungsbedingungen entfallen, so daß etwaige zuvor b l o c k i e r t e t r a n s a c t i o n s nunmehr s t a r t e n können. Neben dem M e c h a n i s m u s zur Steuerung der termingebundenen E r e i g n i s s e b e d a r f es daher eines zweiten M e c h a n i s m u s , d e r nach j e d e r vollendeten Bewegung einer t r a n s a c t i o n prüft, ob diese Bewegung den Zustand d e s S y s t e m s so verändert hat, daß einige B l o c k i e r u n g s b e dingungen beseitigt sind, und der gegebenenfalls den Start d e r blokk i e r t e n t r a n s a c t i o n s steuert. Der vorliegende Simulator i s t so konzipiert, daß so lange mit dies e m M e c h a n i s m u s o p e r i e r t wird, b i s keine w e i t e r e n S t a r t s m e h r möglich sind; denn durch die Bewegung e i n e r zuvor b l o c k i e r t e n und nunmehr g e s t a r t e t e n t r a n s a c t i o n können j a ebenfalls einige B l o c k i e rungsbedingungen aufgehoben werden. D i e s e s Vorgehen geschieht im Einklang m i t d e r allgemeinen Gepflogenheit , bei der Simulation von V e r k e h r s s y s t e m e n zunächst a l l e b l o c k i e r t e n t r a n s a c t i o n s zu s t a r t e n , bevor m a n zur Ausführung eines neuen termingebundenen S t a r t s übergeht.

2.3.2 Die Erzeugung von transactions Die Erzeugung von t r a n s a c t i o n s geschieht im vorliegenden Simulat o r dadurch, daß ein U n t e r p r o g r a m m in b e s t i m m t e n d e t e r m i n i s t i s c h oder s t o c h a s t i s c h v o r d e f i n i e r t e n Z e i t i n t e r v a l l e n d e r Simulationsuhr a n g e s p r o c h e n wird und dann eine R e i h e von Operationen ausführt, die den Erzeugungsvorgang bewirken. Zunächst wird ein t r a n s a c t i o n s - Z ä h l e r um eine Einheit erhöht und damit eine laufende t r a n s a c t i o n - N u m m e r erzeugt. F e r n e r wird die b e r e i t s erwähnte P a r a m e t e r m a t r i x nach e i n e r f r e i e n Z e i l e durchsucht, in die dann u. a. d e r Entstehungszeitpunkt g e s p e i c h e r t wird. Die Nummer der t r a n s a c t i o n und die Nummer der zugehörigen Z e i l e der P a r a m e t e r m a t r i x werden f e r n e r in eine E r e i g n i s l i s t e gebracht (vgl. Abb. 3), deren Funktion später e r k l ä r t wird. Schließlich wird nach Beendigung d i e s e s E r zeugungsvorganges sogleich d e r Zeitpunkt der nächsten G e n e r i e r u n g berechnet. Nun können die Aufrufe d i e s e s G e n e r a t o r - U n t e r p r o g r a m m s an v e r schiedenen Stellen des S i m u l a t i o n s p r o g r a m m s auftreten, wo s i e j e weils eine autonome, d. h. von anderen unabhängige Quelle s y m b o l i s i e r e n . Aus diesem Grund sind die Zeitpunkte für das n ä c h s t e Ans p r e c h e n d e s U n t e r p r o g r a m m s für j e d e Quelle gesondert zu r e g i s t r i e r e n , w a s m i t Hilfe der E r e i g n i s l i s t e geschieht. In d i e s e r L i s t e hat j e d e im Modell vorkommende Quelle einen festen P l a t z , wo der Standort und der Zeitpunkt der j e w e i l s nächsten E m i s s i o n v e r m e r k t wird. Die Aktivierung der Quellen geschieht dann mit Hilfe des eingangs g e s c h i l d e r t e n Z e i t - und E r e i g n i s m e c h a n i s m u s . 27

2.3.3 Die Bewegung von transactions Der Weg einer transaction durch ein System ist durch eine Serie von Aufenthaltsorten und Startzeitpunkten gekennzeichnet, die für die modellmäßige Darstellung der Bewegung herangezogen werden; d. h. die Bewegung wird nur dadurch simuliert, daß man die transactions startet und den damit verbundenen Wechsel des Aufenthaltsortes registriert. Auf diese Weise wird der an sich stetige Bewegungsvorgang in eine Anzahl diskreter Zeit- und Wegpunkte aufgelöst und somit einer Darstellung durch digitale Rechenanlagen zugänglich gemacht. Nach dem Start wird eine transaction so lange bewegt, bis eine der folgenden drei Bedingungen eintritt: (1) die transaction verläßt das Modell und wird vernichtet, (2) die transaction gerät an eine stationäre Systemkomponente, an der sie blockiert wird und (3) die transaction gerät an eine stationäre Systemkomponente, an der sie einem zeitverbrauchenden Bearbeitungs-, Transport- oder Lagerungsvorgang unterzogen wird. Erst wenn eine dieser drei Bedingungen eingetreten ist, wird die nächste transaction gestartet. Die programmtechnische Realisation der Bewegung geschieht nun nicht, wie es zunächst naheliegend erscheint, durch eine Umschichtung der transactions in der Parametermatrix. Zwar könnte durch das Wandern der transactions durch alle Matrixzeilen die Ortsveränderung recht anschaulich simuliert werden, jedoch müßten dafür zu viele Daten umgespeichert werden. Vielmehr wird die Bewegung der transactions durch eine besondere Listentechnik mit Hilfe der bereits erwähnten Ereignisliste dargestellt.

Nr. der transaction

Nr. der zugehörigen Zeile in der Parametermatrix

Zieladresse

Startzeitpunkt bzw. Blockierungsvermerk

Gener. itoren

trans actions

Abb. 3 28

Ereignisliste

EL(I, J)

Die E r e i g n i s l i s t e i s t e b e n f a l l s e i n e M a t r i x im K e r n s p e i c h e r m i t ME = M + L - 1 Zeilen und 4 Spalten, wobei M die Z e i l e n z a h l d e r P a r a m e t e r m a t r i x und L - 1 die Zahl d e r m a x i m a l f ü r das Modell v o r g e s e h e n e n Quellen ist. Die halten 1. 2.

e r s t e n L, - 1 Zeilen sind f ü r die Quellen r e s e r v i e r t . Sie entfolgende Informationen: Spalte: l a u f e n d e N u m m e r d e r zuletzt e r z e u g t e n t r a n s a c t i o n Spalte: Zahl d e r von e i n e r b e s t i m m t e n Quelle b e r e i t s e r z e u g ten t r a n s a c t i o n s 3. Spalte: A d r e s s e des U n t e r p r o g r a m m a u f r u f s , d u r c h den die b e t r e f f e n d e Quelle r e a l i s i e r t wird 4. Spalte: n ä c h s t e r E m i s s i o n s z e i t p u n k t

Die a n s c h l i e ß e n d e n M = ME - L + 1 Z e i l e n sind f ü r die t r a n s a c t i ons b e s t i m m t und enthalten folgende I n f o r m a t i o n e n : 1. Spalte: l a u f e n d e N u m m e r d e r b e t r e f f e n d e n t r a n s a c t i o n 2. Spalte: N u m m e r d e r z u g e h ö r i g e n Z e i l e in d e r P a r a m e t e r m a trix 3. Spalte: A d r e s s e d e r Instruktion, die die t r a n s a c t i o n nach i h r e m Start a n l a u f e n soll, bzw. A d r e s s e d e r I n s t r u k t i on, an d e r die t r a n s a c t i o n b l o c k i e r t ist 4. Spalte: n ä c h s t e r Startzeitpunkt bzw. B l o c k i e r u n g s v e r m e r k Die Bewegung d e r t r a n s a c t i o n s w i r d nun e b e n f a l l s nicht d u r c h e i ne U m s c h i c h t u n g d e r Zeilen in d e r E r e i g n i s l i s t e s i m u l i e r t , s o n d e r n d u r c h ein g e e i g n e t e s updating d e r I n f o r m a t i o n e n in den Spalten 3 u. 4. Sobald eine t r a n s a c t i o n irgendwo b l o c k i e r t o d e r z e i t v e r z ö g e r t w i r d , wird die A d r e s s e d e r b l o c k i e r e n d e n bzw. n ä c h s t e n Station (Instruktion), die die t r a n s a c t i o n nach i h r e m Start a n l a u f e n soll, in die Spalte 3 d e r E r e i g n i s l i s t e e i n g e t r a g e n . F e r n e r wird ein Blokk i e r u n g s v e r m e r k bzw. d e r Zeitpunkt des n ä c h s t e n S t a r t s in die Spalt e 4 e i n g e t r a g e n . Auf d i e s e W e i s e i s t s t e t s bekannt, wo s i c h eine t r a n s a c t i o n zu einem b e s t i m m t e n Zeitpunkt hinbewegen wird bzw. wo s i e b l o c k i e r t i s t . Die Bewegung d e r t r a n s a c t i o n s w i r d a l s o e i n f a c h d u r c h die V e r ä n d e r u n g d e r O r t s - und Zeitangaben s i m u l i e r t .

2.3.4 Die Simulation von Zustandsänderungen P r o g r a m m t e c h n i s c h ist die in d e r E r e i g n i s l i s t e f ü r eine t r a n s a c tion v e r m e r k t e Z i e l a d r e s s e i d e n t i s c h m i t d e r A d r e s s e d e r I n s t r u k tion, m i t d e r n a c h dem S t a r t d e r t r a n s a c t i o n im P r o g r a m m f o r t z u f a h r e n ist. E s wird dann n a c h e i n e r e n t s p r e c h e n d e n V e r z w e i g u n g des P r o g r a m m s eine F o l g e von Instruktionen, z u m e i s t U n t e r p r o g r a m m a u f r u f e , a u s g e f ü h r t . F ü r das b e s s e r e V e r s t e h e n des S i m u l a t i o n s p r o g r a m m s ist es sinnvoll, sich v o r z u s t e l l e n , daß die t r a n s a c tion s e l b s t d i e s e I n s t r u k t i o n s f o l g e d u r c h w a n d e r t . Dabei w e r d e n die I n s t r u k t i o n e n a n g e r e g t und eventuell d u r c h die t r a n s a c t i o n m i t a k t u ellen I n f o r m a t i o n e n v e r s o r g t . Die t r a n s a c t i o n w a n d e r t so l a n g e d u r c h 29

die Instruktionsfolge, bis sie durch irgendeine Instruktion blockiert, zeitverzögert oder vernichtet wird. Der Informationsaustausch zwischen einer transaction und den Instruktionen wird programmtechnisch dadurch ermöglicht, daß die transaction mit dem, was bisher als "Starten" bezeichnet wurde, aktiviert wird. Dies geschieht so, daß über den pointer in der Spalte 2 der Ereignisliste, der auf die zur transaction gehörigen Zeile der Parametermatrix zeigt, auf die Parameterfelder der gestarteten transaction Bezug genommen wird; d. h. die Parameter der transaction werden für die Dauer der Bewegung zu globalen Größen, zu denen die Instruktionen direkten Zugriff haben. Aus ihnen werden beispielsweise die zur Aktivierung von Unterprogrammen notwendigen aktuellen Parameter gewonnen; zugleich werden in sie die bei der Abarbeitung der Instruktionen entstehenden Resultate gespeichert. Die Instruktionsfolge, die die transaction nach ihrem Start durchläuft, bewirkt nun die Zustandsänderungen des Systems. Durch sie werden beispielsweise facilities belegt oder freigesetzt, queues v e r längert oder verkürzt, storages fortgeschrieben, die transaction selbst blockiert, umgeleitet, zeitverzögert, vernichtet oder in ihren Parameterwerten verändert.

2.3.5 Die Vernichtung von transactions Sobald eine Verkehrseinheit alle vorgesehenen Stationen (Instruktionen) durchlaufen hat, scheidet sie aus dem Modell aus; d. h. sie hört auf, Systemkomponente zu sein. Mit diesem logischen Ausscheiden muß eine physikalische Vernichtung einhergehen, um Speicherplatz für neue transactions zu gewinnen. Andernfalls würden wegen der während des Simulationslaufs ständig neu hinzukommenden transactions die Parametermatrix und die Ereignisliste sehr schnell überlaufen. Im übrigen bereitet die richtige Dimensionierung dieser beiden Matrizen ohnehin einige Schwierigkeiten, da man a priori oft nicht genau abschätzen kann, wieviele transactions sich aufgrund des simulierten System Verhaltens gleichzeitig im Modell aufhalten werden. Aus diesen Gründen wird man in Zweifelsfällen diese Matrizen so groß wie irgend möglich dimensionieren oder aber sich in mehreren Testläufen zur richtigen Größe vortasten. Modelltechnisch geschieht die Vernichtung der transactions durch die Einrichtung sogenannter Senken an den logischen Endpunkten bzw. Ausgängen des Modells. Programmtechnisch sind diese Senken Unterprogrammaufrufe für Routinen, die das Löschen der transactions in der Ereignisliste und in der Parametermatrix besorgen.

30

3. FORTRAN-Programmpaket zur Simulation von Systemabläufen

3.1 Vorbemerkungen Das vorliegende FORTRAN-Programmpaket zur Simulation von Systemabläufen wurde an einer Datenstation der Anlage IBM 360/67 unter dem t i m e s h a r i n g - B e t r i e b s s y s t e m CP/ CMS entwickelt. D e r F O R TRAN-Compiler und der linkage editor dieses B e t r i e b s s y s t e m s weisen einige Eigenschaften auf, die e s unmöglich machen, die Gegebenheiten des FORTRAN IV voll auszuschöpfen. So ergeben sich u. a. bei der Formulierung von function statements gewisse, von der Norm abweichende Restriktionen. F e r n e r ist bei den Unterprogrammen ein Arbeiten mit entries nicht möglich. Das Resultat ist, daß einige P a s s a g e n des Simulators nicht so p r o g r a m m i e r t werden konnten, wie ursprünglich beabsichtigt war. Das Programmpaket dürfte jedoch in Anbetracht der notwendig gewordenen Primitivitäten nunmehr von allen möglichen FORTRAN IV Compilern akzeptiert werden.

3.2 Allgemeiner Aufbau des Simulators Bevor das FORTRAN-Programmpaket zur Simulation von System abläufen in allen Einzelheiten besprochen wird, soll zunächst der allgemeine "kartenmäßige" Aufbau dargestellt und anhand eines einfachen P r o g r a m m b e i s p i e l s i l l u s t r i e r t werden. Die nachfolgende Aufstellung gibt die Reihenfolge an, in der die einzelnen T e i l e des Simulators aneinanderzureihen sind. F e r n e r wird durch die Buchstaben (S) und (A) angezeigt, welche T e i l e zum eigentlichen Simulator gehören, also unverändert (S) oder leicht modifiziert (A, S) für alle möglichen P r o b l e m e verwendet werden können und welche T e i l e vom Anwender dem speziellen Problem entsprechend gestaltet werden müssen (A). 1. Allgemeine FORTRAN-Definitionen ( a r r a y s , Typenvereinbarungen) (A, S)

common-Bereiche,

2. Definition von function statements (entspricht den Vereinbarungen von VARIABLES und B V A R I A B L E S beim GPSS) (A) 3. E i n l e s e n von variablen P r o g r a m m steuerwerten,

Anfangswerten 31

und Funktions-Wertetabellen (A) 4. Wertzuweisung von konstanten S t e u e r - und Anfangswerten (S) 5. L ö s c h e n d i v e r s e r Felder (S) 6. E i n l e s e n oder Wertzuweisen d e r e r s t e n Startzeitpunkte d e r t r a n s a c t i o n s - G e n e r a t o r e n (A) 7. E r e i g n i s s u c h e 1: terminabhängige S t a r t s von t r a n s a c t i o n s (S) 8. Aktivieren einer t r a n s a c t i o n durch A k t u a l i s i e r e n der zugehörigen P a r a m e t e r (S) 9. A d r e s s v e r t e i l e r z u r Ansteuerung beliebiger Startpunkte im Modell (A) 10. Modell: s t a n d a r d i s i e r t e und m o d i f i z i e r b a r e U n t e r p r o g r a m m a u f r u fe sowie einfache FORTRAN-Instruktionen zur Darstellung d e s F l u s s e s und der Zustandsänderungen (A, S) 11. Deaktivieren der laufenden t r a n s a c t i o n (S) 12. E r e i g n i s s u c h e 2: systemabhängige S t a r t s von t r a n s a c t i o n s (Starten b l o c k i e r t e r transactions) (S) 13. Endabrechnung d e r Statistiken (z.B. Mittelwertberechnung) (A) 14. Ausgabe der Resultate (A, S) 15. U n t e r p r o g r a m m e (S) Als Beispiel möge ein P r o g r a m m zur Simulation eines einfachen W a r t e s c h l a n g e n p r o b l e m s dienen; dabei wird a l l e r d i n g s nur das Hauptp r o g r a m m d a r g e s t e l l t , nicht hingegen die unter Punkt 15 genannten U n t e r p r o g r a m m e . F e r n e r werden m e h r e r e T e i l e des Simulators, die s p ä t e r a l s U n t e r p r o g r a m m e abgefaßt werden, der b e s s e r e n T r a n s p a r e n z wegen h i e r noch in das H a u p t p r o g r a m m einbezogen. Beschreibung des P r o b l e m s : V e r k e h r s e i n h e i t e n laufen in exponent i a l v e r t e i l t e n Zeitintervallen (Zwischenankunftszeiten) in ein Bedien u n g s s y s t e m ein. Als Beispiel denke m a n sich das Einlaufen von K r a f t f a h r z e u g e n a n einen einspurigen Grenzkontrollpunkt. Die m i t t l e r e Zwischenankunftszeit beträgt MT1 Zeiteinheiten. Die m i t t l e r e Abf e r t i g u n g s z e i t beträgt MT2 Zeiteinheiten und s t r e u t gleichverteilt + 30% um diesen Mittelwert. Die Werte MT1 und MT2 sollen f ü r j e des E x p e r i m e n t neu eingelesen werden. Gegenstand der Untersuchung i s t das Warteschlangenverhalten vor dem Grenzübergang sowie die G e s a m t d a u e r des G r e n z ü b e r t r i t t s (Wartezeit + Abfertigungszeit) bei u n t e r s c h i e d l i c h e n Werten für MT1 und MT2. 32

C C C C

FORTRAN-PROGRAMH ZUR SIMULATION EINES WARTESCHLANGEN-PROBLEMS 1. ALLGEMEINE

FORTRAN-DEFINITIONEN

COMMON E H 5 1 0 . U ) , J, JE,L,LTR,M,ME,N,N2,NADR, NTR COMMON SPI(5300),T,TR(500, 20 ) COMMON/EN/STO(100,2) COMMON/QU/QUE(100,8) COMMON/SE/FACC100) COMMON/R3/1X3,IXP3,KONST3 INTEGER EL,FAC,PR,QUE,SPI,STO,T,TR INTEGER PI, P2, P3, PU, P5, P6, P7, P8, P9, P10 INTEGER FN1 INTEGER RN3 EXTERNAL RN3

C C C

2. DEFINITION VON FUNCTION STATEMENTS

C C C C

3. EINLESEN VON VARIABLEN STEUERWERTEN, ANFANGSWERTEN UND FUNKTIONS WERTE-TABELLEN

FNKD)—1.«MT1«ALOGC1.-RN3(-1000)/1000. )

2000 2001 2002

READC 5,2000) N FORMAT(14) READC5, 2002) MT1,MT2 FORMAT«2(IX,12)) I F(MTl) 2003,201(0, 2003

C C 4. WERTZUWEISUNG VON KONSTANTEN STEUER- UND ANFANGSWERTEN C 2003 1X3-65539 IXP3-1 KONST3-7 Kl-0 L-ll M-500 ME»M*10 N2-N*2 T-0 C C 5. NULLSEtZEN DIVERSER FELDER C C NULLSETZEN DER EREIGNISLISTE C DO 111 1-1,510 DO 111 J-1,4 111 EL(l,J)-0 C C NULLSETZEN DER PR-MATRIX UND DES TR-ZAEHLERS C DO 222 1-1,500 DO 222 J-1,20 222 TR(I,J)-0 NTR-0 C C NULLSETZEN DER FACILITIES C DO 333 1-1,100 333 FAC( I)-0 C C. NULLSETZEN DER STORAGES UND FESTLEGEN DER KAPAZITAET C DO 444 1-1,100

33

STO(I,1)>0 i»i«i» sTO(i,2)-2U7ii836fc7 c C NULLSETZ'EN DER QUEUES C DO 555 1-1,100 QUE(I,8>-1 DO 555 J - 1 , 7 555 QUE(l,J)-0 C C DURCHNUMERIEREN OER SPERRINDIKATORFELDER C DO 666 1-1,5300 666 SPI( I )«l C C 6. WERTZUWEISUNG DER ERSTEN STARTZEITPUNKTE UNO EM I SSIOMSADRESSFN C BEI DEN TRANSACTIONS-GENERATOREN C EL(1,3)=1 EL(1,I»)-1 C C 7. EREIGNISSUCHE 1 : TERMINABHAENG IGE TRANSACTION-STARTS C 999 T=T+1 J-l 1000 IF(EL(J,U).EQ.T) GOTO 1002 1001 J - J + l - K l Kl-0 IF(J.LE.ME) GOTO 1000 IF(T.GE.N) GOTO 1011 GOTO 999 C C 8. AKTIVIEREN EINER TRANSACTION C 1002 NADR-EL(J,3) LTR-EL(J,2> NTR»ELU,1) JE-J I F ( J . L E . I O ) GOTO 1003 P1-TR(LTR,1) P2*TR(LTR,2) P3-TR(LTR,3) Pl»«TR(LTR,U) P5-TR(LTR,5) P6-TR(LTR,6) P7-TR(LTR,7) P8«TR(LTR,8) P9»TR(LTR,9) P10-TRC LTR,10) C C 9. ADRESS VE.RTE I LER C 1003 GOTO(l,2,3,U),NADR C C 10. MODELL C 1 CALL GENERA(FNKD),0,2**30,0,1,RN3,1) CALL QUEUE(2,1,1) CALL QUEUE(1,1,1) 2 CALL S E l Z E ( l , 2 , » 1 0 0 l t , l ) CALL OEPART(1,1,1) 3 CALL ADVANC(MT2,MT2*30/100,3,RN3,M00lt,l) Ii CALL RELEAS(1,1) CALL DEPART(2,1,1) CALL TERM IN(A100 5,1)

34

c

C 1 1 . D E A K T I V I E R E N OER LAUFENDEN TRANSACTION C 1001» TR(LTR,1)-P1 TR(LTR,2)-P2 TRUTR,3)-P3 TR(LTR,li)-Plt TR(LTR,5)-P5 TR(LTR,6)-P6 TR(LTR,7)-P7 TR(LTR,8)-P8 TR(LTR,9)-P9 TR(LTR,10)-P10 C C 1 2 . E R E I G N I S S U C H E 2 : SYSTEMABHAENGIRE T R A N S A C T I O N - S T A R T S C 1005 DO 1010 J A - L , M E I F ( E L ( J A , I » ) . L E . N 2 > GOTO 1010 K-EL(JA,I»)-N2 I F ( K . N E . S P K K ) ) GOTO 1010 NTR"EL(JA,1) JC-JA PR-TR(EL(JA,2),13) DO 1009 J B - J A , M E I F ( E L ( J B , 4 ) . L E . N 2 ) GOTO 1009 I F ( ( E L ( J B , U ) - N 2 ) . N E . K ) GOTO 1009 I F ( T R ( E L ( J B , 2 ) , 1 3 ) . L E . P R ) GOTO 1008 1007 NTR-EL(JB,1) JC-JB PR-TR(EL(JB,2),13) GOTO 1009 1008 I F ( E L ( J B , 1 ) . G T . N T R ) GOTO 1009 GOTO 1007 1009 CONTINUE JE-JC LTR»EL(JE,2) NADR-EL(JE,3) GOTO 1003 1010 CONTINUE GOTO 1 0 0 1 C C 1 3 . ENDABRECHNUNG DER STATISTIKEN C 1011 D W Z - 2 . * F L O A T ( Q U E ( l , 7 ) ) / ( Q U E ( l , 3 ) + QUE(l,li>) DGZ-2.*FLOAT(QUE c 100U 1005 1006 2001

símil

fortran

COMMON E L ( 5 1 0 , U ) , J , J E , L , L T R , M , M E , N , N 2 , N A [ > R , N T R COMMON S P I ( 5 3 0 0 ) , T , T R ( 5 0 0 , 2 0 ) COMMON/AS/ASM( 2 5 0 , 4 ) COMMON/EN/STO(100,2) COMMON/QU/QUEC100, 8) COMMON/SE/FAC(100) COMMON/Rl/1X1,IXPl,KONSTl INTEGER E L , F A C , Q U E , S P I , T , T R INTEGER R N 1 EXTERNAL RN1 LOGICAL L I READ(5,2000) N FORMATO!») CALL I N I T CALL R E S E T EL(1,3)-1 ELC1,4)-1 CALL EVENT1C&1006) CALL A K T I V K Ä 1 0 0 3) CALL A K T I V 2 GOTO( 1 , 2 , 3 , 1 1 , 5 , 6 , 7, 8 , 9 , 1 0 ) , N A D R

CALL G E N E R A ( 5 , 4 , 2 * * 3 0 , 0 , 1 , R N 1 , 0 ) Ll-FAC(l).EQ.O.AND.FAC(2).EQ.r>.OR.FAC(l).NE.H.AND.FAC(2).NE.O CALL G A T E 1 ( L I , 1 , 2 , 0 , A U , & 1 0 0 4 , 1 ) WRITE(6,2001) QUE(1,1),QUE(2,1) CALL GATE 1 (QU E ( 1 , 3 ) . L T , Q U E ( 2 , 3 ) , 2 , 3 , 0 , Ä 8 , * 1 0 0 4 , 1 ) GOTO 5 CALL G A T E l ( F A C ( l ) . E Q . n , 3 , l i , n , Ä 8 , & 1 0 0 l t , l ) CALL S E I Z E ( 1 , 5 , & 1 0 0 4 , 1 ) CALL ADVANCC 6 , 5 , 6 , R N 1 , A 1 0 0 4 , 1 ) CALL RELEAS ( 1, 0 ) CALL QUEUEC1, 1 , 0) CALL T E R M I N ( & 1 0 0 5 , 0 ) CALL S E I Z E ( 2 , 8 , S 1 0 0 4 , 1) CALL ADVANCÍ 5,"», 9 , R N 1 , » 1 0 0 4 , 1 ) CALL R E L E A S ( 2 , 0 ) CALL Q U E U E ( 2 , 1 , 0 ) CALL T E R M I N ( A 1 0 0 5 , 0 )

CALL DEAKT CALL E V E N T 2 ( f t l 0 0 1 , A 1 0 0 2 ) WR1TE(6,2001) QUE(1,1),QUE(2,1) FORMAT(10H Q U E ( 1 , 1 ) - , I 2 , 2 X , 1 0 H Q U E ( 2 , 1 ) » , I 2 ) STOP ENn

R; T - 0 . 0 8 / 0 . 3 7

130

19.09.16

$ slmll EXECUTION B E G I N S . . . 50 T1 TR 1 , 0 B E T R I T T D I E GATE N R . UNO GEHT W E I T E R ZUR NAECHSTEN S T A T I O N QUE(1,1)• 0 QUE(2,1)- 0 T» 1 TR 1 , 0 B E T R I T T D I E GATE N R . UND WIRD U M G E L E I T E T ZUR ANGEGEBENEN S T A T I O N T1 TR 1 , 0 B E L E G T FAC 2 T» 1 TR 1 , 0 WIRD B E D I E N T B I S k T3 TR 2, 0 B E T R I T T D I E GATE N R . UNO W I R D U M G E L E I T E T ZUR ANGEGEBENEN S T A T I O N T« 3 TR 2, 0 B E T R I T T D I E GATE N R . UND GEHT W E I T E R ZUR NAECHSTEN S T A T I O N T3 TR 2, 0 B E L E G T FAC 1 T« 3 TR 2, 0 WIRD B E D I E N T B I S 10 T« 8 TR 3, 0 B E T R I T T D I E GATE N R . UND WIRD U M G E L E I T E T ZUR ANGEGEBENEN S T A T I O N T» 8 TR 3, 0 B E T R I T T D I E GATE N R . UND W I R D U M G E L E I T E T ZUR ANGEGEBENEN S T A T I O N T8 TR 3, 0 B E L E G T FAC 2 T8 TR 3, 0 WIRD B E D I E N T B I S 13 T13 TR I», 0 B E T R I T T D I E GATE N R . UND W I R D U M G E L E I T E T ZUR ANGEGEBENEN S T A T I O N T» 13 TR I», 0 B E T R I T T D I E GATE N R . UND GEHT W E I T E R ZUR NAECHSTEN S T A T I O N T13 TR k, 0 B E L E G T FAC 1 T13 TR 4, 0 WIRD B E D I E N T B I S 21 T22 TR 5, 0 B E T R I T T D I E GATE N R . UND GEHT W E I T E R ZUR NAECHSTEN S T A T I O N QUE(1,1)• 2 QUE(2,1)- 2 T22 TR 5, 0 B E T R I T T D I E GATE N R . UND WIRD U M G E L E I T E T ZUR ANGEGEBENEN S T A T I O N T22 TR 5, 0 BELEGT FAC 2 T22 TR 5, 0 WIRD B E D I E N T B I S 25 T30 TR 6, 0 B E T R I T T D I E GATE N R . UND GEHT W E I T E R ZUR NAECHSTEN S T A T I O N QUE(1,1)- 2 QUE(2,1)- 3 T30 TR 6, 0 B E T R I T T D I E GATE N R . UND GEHT W E I T E R ZUR NAECHSTEN S T A T I O N T30 TR 6, 0 BELEGT FAC 1 T30 TR 6, 0 WIRD B E D I E N T B I S I»0 T38 TR 7, 0 B E T R I T T D I E GATE N R . UND W I R D U M G E L E I T E T ZUR ANGEGEBENEN S T A T I O N T38 TR 7, 0 B E T R I T T D I E GATE N R . UND WIRD U M G E L E I T E T ZUR ANGEGEBENEN S T A T I O N T3 8 TR 7, 0 BELEGT FAC 2 T» 38 TR 7, 0 WIRD B E D I E N T B I S 1(7 Tl»3 TR 8, 0 B E T R I T T D I E GATE N R . UND W I R D U M G E L E I T E T ZUR ANGEGEBENEN S T A T I O N TIi3 TR 8, 0 B E T R I T T D I E GATE N R . UND GEHT W E I T E R ZUR NAECHSTEN S T A T I O N T43 TR 8, 0 B E L E G T FAC 1 TU3 TR 8, 0 WIRD B E D I E N T B I S 51t T» 50 TR 9, 0 B E T R I T T D I E GATE N R . UND W I R D U M G E L E I T E T ZUR ANGEGEBENEN S T A T I O N T« 50 TR 9, 0 B E T R I T T D I E GATE N R . UND WIRD U M G E L E I T E T ZUR ANGEGEBENEN S T A T I O N T50 TR 9, 0 B E L E G T FAC 2 T50 TR 9, 0 WIRD B E D I E N T B I S 53 QUE( 1 , 1 ) « 3 Q U E ( 2 , 1 ) • l» R; T - l . 5 5 / 3 . 6 6 1 9 . 0 6 . 5 7

1 2

1 3

1 3

1 3

1 2

1 2

1 3

1 3

1 3

132

print

slnl9

2000

COMMON E L ( 5 1 0 , 4 ) , J , J E , L , L T R , M , M E , N , N 2 , N A D R , N T R COMMON S P I ( 5 3 0 0 ) , T , T R ( 5 0 0 , 2 0 ) COMMON/AS/ASM(250,4) C O M M O N / E N / S T O d O O , 2) C O M M O N / Q U / Q U E d O O , 8) COMMON/SE/FAC(100) COMMON/R1/IX1,IXP1,K0N5T1 C0MM0N/R2/ 1X2, I X P 2 , K O N S T 2 INTEGER E L , F A C , Q U E , S P I , T , T R INTEGER R N 1 , R N 2 EXTERNAL RN1,RN2 READ(5, 2000) N FORMAT ( - l i t ) C A L L IN I T C A L L RESET EL(1,J)-l ELCl,4)"1 EL(2,J)-3 EL(2,4)"1 EL(3,3)-4 EL(3,4)"1 CALL E V E N T K & 1 0 0 6 ) C A L L AKTI V M S 1 0 0 3 ) CALL AKTIV2 GOTO(1,2,3,4,5,6,7,8),NADR

1001 1002 1003 C C C 1 2 3

C 4

6 7 8 C C C 1004 1005 1006

R;

CALL G E N E R A ( 1 0 , 5 , 2 * » 3 0 , 0 , 1 , R N 1 , 0 ) CALL Q U E U E ( 1 , 1 , 1 ) C A L L TERM I N ( & 1 0 0 5 , 0 ) CALL G E N E R A ( 1 2 , 6 , 2 * * 3 0 , 0 , 3 , R N 1 , 0 ) CALL QUEUE(2, 1, 1) GOTO 2 CALL CALL CALL CALL CALL CALL CALL CALL CALL GOTO

5

fortran

GENERAC40,0,2**30,0,4,RN1,1) QUEUE(3, 1 , 1 ) GATE1(QUE(1,1).GE.4.AND.QUE(2,1).GE.3,1,5,1,«1004,61004,1) DEPART(1, 4,1) DEPART56 0.111 0.111 0.167 0. Ili 0.167 0.056 0.111 0.056 0.05E

0.056 0.167 0.278 0.U II li 0.556 0.722 0.778 0. P 89 O . W 1. n 0 0

VAR« 17.59

* » » . .

. .

2

3



5

6

SDV-

4

3

CENT

1

182

3 F

X

7

8

. . . . . . . . . . .

• • * * • * . . . . . . . . . . . .

. . . . . . . . . .

. . . . .

* * * * * •

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . .

. . . . . .

9 10 11 12 13 ÌU 15 16 17 18 19 20 21 22 23 21»

m K>

¿t

> 107,207,107 CONTINUE TRCLTR,l)-T*100+NQU QU E ( N Q U , 1 ) » Q U E ( N Q U , 1 ) + NE I F ( Q U E ( N Q U , 2 ) . G E . Q U E ( N Q U , 1 ) ) GOTO 3 0 7 QUE(NQU,2)«QUE(NQU,1) QUE(NQU,3)«QUE(NQU,3)+NE I F ( I PR I N T ) 5 0 0 0 , 5 0 0 1 , 5 0 0 0 WR I T E ( 6 , 3 0 0 8 ) T , N T R , T R ( L T R , 11» ) , NQU FORMATO 3H T - , I 5 , 2 X , 3 H T R , I 3

SUMA l» 3

3.556 8.250

08.19.33

239

Literaturverzeichnis

1] Blake, K. u. Gordon, G., Systems Simulation with Digital Computers, I8M Systems Journal 3 (1964) 2} Bonini, C.P., Simulation of Information and Decision Systems in the Firm, Englewood Cliffs 1963 3] Busienko, N.P. u. Schreider, J.A., Die Monte-Carlo-Methode und ihre Verwirklichung auf elektronischen Digitalrechnern, Leipzig 1964 4] Busienko, N.P., Simulation von Produktionsprozessen, Leipzig 1971 5] Chorofas, D.N., Systems and Simulation, Academic Press, New York-London 1965 6] Colman, H.L. u. Smallwood, C„ F O R T R A N , Stuttgart 1966 7] Conway, R.W., Some Tactial Problems in Digital Simulation, Management Science 10 (1963) 8] Conway, R.W., Priority Dispatching and Work-in Process Inventory in a Job Shop, Journal of Industrial Engineering 16 (1965) 9] Cox, R.D., Plannings of Experiments, New York-London 1958 10] Crawford, J.R., Simulation Methods and Model Design, Santa Monica 1963 11] Dimitry, D. u. Mott, T.,Introduction to F O R T R A N IV Programming, New York 1966 12] Efron, R. u. Gordon, G., A General Purpose Digital Simulator and Examples of Its Application, IBM Systems Journal 3 (1964) 13] Fine, G.H. u. Mclsaac, P. V., Simulation of a Time-sharing System, Management Science 12 (1966) 14] Forrester, J. W„ Industrial Dynamics, Cambridge/Mass. 1961 15] Gerson, M.L. u. Maffei, R.B., Technical Characteristics of Distribution Simulation, Management Science 10 (1963) 16] Golden, J.T., F O R T R A N IV Programming and Computing, Englewood Cliffs 1965 17] Hammerslay, J.M. u. Handscomb, D.C. Monte Carlo Methods, London 1964 18] Heil, H., Simulation in der Datenverarbeitung, IBM Nachrichten 16 (1966) 19] Hicks, C.R., Fundamental Concepts in the Design of Experiments, New York 1964 20] Hoerner, $., Herstellung von Zufallszahlen auf Rechenautomaten, Zeitschrift für angewandte Mathematik und Physik 32 (1952) 21] Jentsch, W., Digitale Simulation kontinuierlicher Systeme, München-Wien 1969 22] Katz, J.H., Simulation of a Multiprocessor Computer System, A F I P S Conference Proceedings 28 (1966) 23] Koller, H., Simulation als Methode in der Betriebswirtschaft, Zeitschrift für Betriebswirtschaft 36 (1966) 24] Kong Chu u. Naylor, T.H., Two Alternative Methods for Simulating Waiting Line Models, Journal of Industrial Engineering 16 (1965) 25] Koxholt, R., Die Simulation als Hilfsmittel der Unternehmensforschung, München-Wien 1967

[26] Markowitz, H., Hausner, B. u. Karr, A/.,Simscript, a Simulation Programming Language, New Y o r k 1963 [27] Martin, F.,Computer Modelling and Simulation, New Y o r k - L o n d o n Sydney 1968 [28] McCracken, D.D., A Guide to F O R T R A N IV Programming, New Y o r k 1965 [29] McMillan, C., u. Gonzalez, R.F., Systems Analysis, Homewood 1965 [30] Meier, R.C., Newell, W. T. u. Pazer, H.L., Simulation in Business and Economics, Englewood Cliffs 1969 [31 ] Mertens, P., Simulation, Stuttgart 1969 [32] Mize, J.H. u. Cox, J.G., Essentials of Simulation, Englewood Cliffs 1968 [33] Müller, W„ Die Simulation betriebswirtschaftlicher Informationssysteme, Wiesbaden 1969 [34] Naylor, T.H., Balintfy,J.L., Burdick, D.S. u. Kong Chu, Computer Simulation Techniques, New York-London-Sydney 1966 [35] Neumann, J., Forsythe, G.E. u. Hammer, P.C., Monte Carlo Methods, Washington 1951 [36] Nielsen, N.R., The Simulation of Time-sharing Systems, Communications A C M 10(1967) [37] Niemeyer, G., Investionsentscheidungen mit Hilfe der elektronischen Datenverarbeitung, Berlin 1970 [38] Ohne Verf., Bibliography on Simulation, IBM, White Plains, N . Y . 1966 [39] Ohne Verf., Introductory User's Manual, General Purpose Simulation System/360, IBM, White Plains, N . Y . 1967 [40] Ohne Verf., User's Manual, General Purpose Simulation System/360, IBM, White Plains, N . Y . 1968 [41] Ohne Verf., IBM Form 81 802, Simulationstechniken [42] Ohne Verf., IBM System/360 and System/370, F O R T R A N IV Language, IBM, White Plains, N.Y. 1971 [43] Ohne Verf., Simulationsmodelle, Schriftenreihe Datenverarbeitung, Berlin 1967 [44] Pfanzagl, J., Allgemeine Methodenlehre der Statistik, Band I und II, Berlin 1968 [45] Risak, V., Simulation von Digitalrechnern, München 1971 [46] Spiegel, M.R., Statistics, New Y o r k 1961 [47] Spiess, W.E. u. Rheingans, F.G., Einführung in das Programmieren in F O R T R A N , Berlin 1970 [48] Tocher, K.D., The A r t of Simulation, London 1967

w DE

G

Walter de Gruyter Berlin-New York I nformations-Systeme Herausgegeben von S. Dworatschek

Sebastian Dworatschek

Management-Informations-Systeme Mit 92 Abbildungen/Groß-Oktav. 214 Seiten. 1971. Gebunden DM 4 2 , - ISBN 3 11 003549 9 Das Buch gibt eine umfassende Darstellung der Merkmale, der Entwicklungs- und Einsatzprobleme sowie der Auswirkungen eines Management-Informations-Systems (MIS). Dabei werden zunächst, aufbauend auf der systematischen Abgrenzung der Grundbegriffe Management, Information und System, die Merkmale eines MIS ausführlich behandelt. Den zweiten Schwerpunkt der Arbeit, Entwicklung und Einführung eines MIS, bilden Fragen des Projekt-Managements, der Systemanalyse (Informationsanalyse, Darstellungsmethoden) der Planungs- und Entscheidungsmethoden (Operations Re^ search), der Systemkonzeption (Subsysteme, Daten- und Modellbank) und der analytischen Computer-Auswahl. Mit heute schon erkennbaren und noch zu erwartenden ökonomischen und organisatorischen Auswirkungen eines MIS befaßt sich der dritte Abschnitt, wobei Wirtschaftlichkeitsfragen, Probleme der Ausbildung sowie Rückwirkungen des MIS auf den Managementprozeß und die Unternehmensorganisation im Mittelpunkt stehen.

Dieter S. Koreimann

Methoden und Organisation von Management-Informations-Systemen Mit 38 Abbildungen. Groß-Oktav. 154 Seiten. 1971. Gebunden DM 34 - ISBN 3 11 003551 9 Der Autor weist nach, daß der Aufbau von MIS mit der heute verfügbaren Hardware uhd Software möglich und notwendig ist. Der Schwerpunkt des Buches liegt auf den praktischen Realisierungsmöglichkeiten unter Berücksichtigung der Entwicklungstendenzen auf dem EDV-Sektor. Dabei werden Mittel und Wege aufgezeigt, die es gestatten, das gegenwärtig bestéhende „communication gap" zwischen operierendem und disponierendem Management zu überbrücken. Aus dem Inhalt: Zielsetzungen und Grundsätze eines MIS, organisatorische Vorarbeiten, Wirtschaftlichkeit, Installationsmöglichkeiten, Systemtechnik und Datentechnik, theoretische Implikationen, Auswirkungen auf den Führungsstil.

w DE

G Fischer/Walter

Walter de Gruyter Berlin-New York Informationssysteme in Wirtschaft und Verwaltung Herausgegeben v o n Helmut R. Walter und Rolf A . Fischer in Zusammenarbeit mit der GES-Gesellschaft für elektronische Systemforschung e.V. Bühl. Groß-Oktav. Mit zahlreichen A b bildungen und 1 Ausschlagtafel. 4 0 2 Seiten. 1971. Gebunden D M 6 8 , - I S B N 3 11 0 0 3 6 6 8 1 Das Buch vermittelt einen umfassenden Überblick über Datenbanken und Informationssysteme und spricht wegen seiner Form der Darstellung nicht nur den Fachmann, sondern auch die in den Anwendungsbereichen Tätigen an. Systemplaner und Systemanalytiker finden die anwendungsspezifischen Zusammenhänge leicht Uberschaubar dargestellt. Das Werk ist Handbuch und Lehrbuch zugleich. Inhalt: Einführung in Datenbank- und Informationssysteme — Management-Informationssysteme — Informationssysteme der industriellen Fertigung — Informationssysteme in Politik und Verwaltung — Militärische Informations- und Führungssysteme— Medizinische Informationssysteme.

Donald H. Sanders

Computer und Management Übersetzt aus dem Englischen von Klaus Jaeger. Groß-Oktav. 554 Seiten. Mit 4 8 Abbildungen und Tabellen. 1972. Gebunden D M 8 6 - I S B N 3 11 0 0 1 9 7 9 5 (Informations-Systeme) Gegenstand des Buches sind die methodischen und personellen Aspekte einer computertechnisch induzierten Entwicklung, wie z.B. Fragen nach der Transparenz der Computer-Anwendungen, nach der Technik der Systemanalyse, nach der Konzeption für Management-Informations-Systeme, nach Planungs- und Entscheidungstechniken und Probleme der Personalplanung und -ausbildung. Jedem Kapitel themengerecht zugeordnete Leseproben in Form v o n Zeitschriftenaufsätzen bekannter amerikanischer Autoren sind eine wertvolle Ergänzung der wohl umfassendsten Darstellung auf diesem Gebiet. Sie vermitteln dem Leser ein repräsentatives Meinungsspektrum über Stand, Entwicklung u n d Auswirkungen des Computer-Einsatzes in der Wirtschaft.

w G DE

Gerhard Niemeyer

Walter de Gruyter Berlin-New York Ein integriertes Datenverarbeitung* und Informationssystem mit Programmen für einen Modellbetrieb Groß-Oktav. 212 Seiten. 1972. Gebunden D M 52 — ISBN 3 11 003807 2 (I nformations-Systeme) Das Buch stellt ein funktionsfähiges integriertes Datenverarbeitungs- und Informationssystem am Beispiel eines Modellbetriebes vor. Das Konzept des Systems: Die Programme zur Abwicklung des betrieblichen Rechnungswesens arbeiten auf einer zentralen Datenbasis, an die gleichzeitig Anfragen gerichtet werden können. Das Werk enthält Dienst- und Anwenderprogramme zur Einrichtung und Verwaltung der Datenbasis, Anwenderprogramme zur Abwicklung des Rechnungswesens und einen Compiler zur Übersetzung einer einfachen aber vielseitigen Anfragesprache. Sämtliche Anwenderprogramme und der Compiler sind in der Sprache ASSEMBLER/360 geschrieben. Das Programmpaket ist leicht modifizierbar und erweiterungsfähig, so daß es als Vorlage für den Aufbau konkreter Systeme benutzt werden kann.

Gerhard Niemeyer

Investitionsentscheidungen mit Hilfe der elektronischen Datenverarbeitu ng Mit 27 Abbildungen und 23 Tabellen. Groß-Oktav. 278Seiten. 1970. Gebunden DM 6 8 ISBN 3 11 002812 3 (Kommerzielle Datenverarbeitung) Das Problem der Investitionsentscheidung ist in der Unternehmensforschung von zentraler Bedeutung. Das Ziel dieses Buches ist, den Weg von der Investitionstheorie über die Modellbildung bis hin zum Computer-Programm zu verfolgen. Dabei werden die theoretischen Ansätze kritisch dargestellt. Hinweise für eine möglichst praxisnahe Modellformulierung gegeben und geeignete Programme in Fortran IV entwickelt. Ferner wird der Versuch unternommen, die in jüngster Zeit stark aufkommende Methode der digitalen Systemsimulation für das Problem der Investitionsentscheidung nutzbar zu machen. Die Programmierung der Simulationsmodelle erfolgt in GPSS. Schließlich werden alle dargestellten Verfahren in einem halbautomatischen, iterativen Entscheidungsalgorithmus vereinigt.