Peter Lorenz English smaller fonts Simulation und Animation

3. GPSS/H als Programmiersprache


Um Verständnis dafür zu erlangen, wie S&A funktionieren und um aktiv an der Lösung von Aufgaben zur S&A mitwirken zu können, benötigt man die Kenntnis wenigstens eines Simulationssystems. Das im Rahmen dieser Einführung ausgewählte Simulationssystem hat den Namen GPSS. Dieser Name steht für General Purpose Simulation System, stammt aus dem Jahre 1961 und wurde über ein Jahrzehnt lang durch Geoffrey Gordon bei IBM gepflegt und entwickelt. Dort entstanden auch die Versionen GPSS/360 und GPSS/V. GPSS-Versionen sind heute für Computer unter fast allen Betriebssystemen verfügbar. Ihre textuellen Schnittstellen vereinfachen die Bereitstellung im WWW, von der hier und in den folgenden Kapiteln ausgiebig Gebrauch gemacht wird. Damit erlangt GPSS vollständige Plattformunabhängigkeit.
Mitte der siebziger Jahre hat James Henrikson ( Wolverine Software Corp.) sein GPSS/H entwickelt, das sich von den Vorgängerversionen hauptsächlich durch seine enorme Laufzeiteffizienz und die Integration einer universellen Programmiersprache unterscheidet. Im vorliegenden Kapitel 3 werden diejenigen Komponenten von GPSS/H vorgestellt, die es zu einer einfachen, aber universellen Programmiersprache machen. GPSS/H als Programmiersprache kann man dazu benutzen, Animationstracefiles zu erzeugen, mit denen die Proof-Animationslayouts zum Leben erweckt werden. Später eignet sich diese Sprache, um Modelle mit Eingangsdaten zu versorgen, Resultate auszuwerten und Experimente mit Modellen zu beschreiben. Die Einführung in diejenigen GPSS/H-Komponenten, die man zur Simulation braucht, erfolgt im Kapitel 4.

Inhaltsübersicht

Die folgende Vorstellung des GPSS/H-Sprachkonzeptes setzt einen Leser voraus, der wenigstens eine klassische "prozedurale" Programmiersprache wie Pascal, C, FORTRAN oder Basic kennt. GPSS/H ist eine klassische, anweisungsorientierte Sprache, die man mit Basic vergleichen kann. Ein Unterschied zu Basic besteht im strengen Typkonzept für alle Größen, das sich beim Programmtest oft als nützlich erweist. Ansonsten findet man die üblichen Anweisungen für Wertzuweisungen, unbedingte und bedingte Verzweigungen und zur Organisation von Zyklen. Es gibt ein Makrokonzept, aber sonst keine Unterprogrammtechnik. Zu den klassischen Anweisungen zum Rechnen, Lesen und Schreiben kommt eine Vielzahl simulationsspezifischer Anweisungen hinzu, die erst später vorgestellt werden.

3.1. Konstanten und Ampervariablen

Im GPSS/H gibt es wie in vielen anderen Programmiersprachen einige Typen von Werten. Jede Konstante und jede Variable gehört zu einem dieser Typen. Die im GPSS/H eingeführten Variablen heißen Ampervariablen, weil ihre Namen mit & (Ampersand) beginnen. Das hat historische Ursachen: Der Name Variable war bereits in früheren Versionen belegt; Variablen dieser Art werden in 3.7. erklärt.

3.2. Ausdrücke

Variablen und Konstanten kann man mit Operationssymbolen zu Ausdrücken verknüpfen. Diese Ausdrücke besitzen Werte, mit denen man rechnen und die man anderen Variablen zuweisen oder als Argumente von Funktionen benutzen kann. Ausdrücke können arithmetische, logische oder Zeichenkettenwerte besitzen.

3.3. Anweisungen

GPSS/H hat drei Klassen von Anweisungen:

In diesem Abschnitt geht es um Steueranweisungen, die mit den Anweisungen (Statements, Befehlen) anderer Programmiersprachen vergleichbar sind.

3.4. Ein- und Ausgaben

Um Simulationsmodelle in andere Anwendungen einzubinden, um Eingangsdaten aus vorhandenen Dateien zu lesen und um Resultate für weitere Auswertungen bereitzustellen, benötigt man Anweisungen zur Arbeit mit Dateien.

3.5. Standardattribute

GPSS/H unterscheidet logische, numerische und Zeichenketten-Standardattribute. Sie sind mit Standardfunktionen anderer Programmiersprachen vergleichbar. Sie können ein oder mehrere Argumente besitzen und stellen bei ihrem Aufruf logische (0/1), numerische oder Zeichenkettenwerte bereit.

3.6. Funktionen

In GPSS/H ist eine Funktion eine Wertetafel. Argumentwerten werden Funktionswerte zugeordnet. Bei stetigen Funktionen wird interpoliert. Man benötigt Funktionen u.a. zur Definition empirischer Verteilungsfunktionen, zur Zuordnung von Namen und Nummern von Objekten.

3.7. Variablen

Die klassischen GPSS/H-Variablen, die nicht mit den unter 3.1. eingeführten Ampervariablen verwechselt werden dürfen, sind mit Formelfunktionen anderer Sprachen vergleichbar: Es sind Ausdrücke, deren Werte bei jedem Aufruf berechnet und bereitgestellt werden.

3.8. Zufallszahlen

Zufallszahlen benötigt man überall dort, wo im Modell zufällige Einflüsse aus der Realität nachzubilden sind. Im GPSS/H gibt es Generatoren zur Erzeugungvon Standardzufallszahlen, die im Intervall (0, 1) gleichverteilt sind und Funktionen zu deren Transformation in fast dreißig verschiedene Verteilungstypen.

3.9. Graphische Darstellung von Daten

Eingangs- und Resultatdaten der Simulation kann man oft viel leichter überschauen oder erklären, wenn man sie in graphischer Form darstellt. GPSS-eigene Graphiken sind nur noch historisch interessant. Heute kann man die Daten in ein Geschäftsgraphiktool exportieren oder auch im Web direkt zur Anzeige bringen.



3. GPSS/H als Programmiersprache
3.1.Konstanten und Ampervariablen
3.2.Ausdrücke
3.3.Anweisungen
3.4.Ein- und Ausgaben
3.5.Standardattribute
3.6.Funktionen
3.7.Variablen
3.8.Zufallszahlen
3.9.Graphische Darstellung von Daten
Gesamtübersicht
Inhalt
1.Einführung in Modellierung, Simulation und Animation.
2.Proof Animation™.
3.GPSS/H als Programmiersprache.
4.GPSS/H-Bedienungsmodelle.
5.GPSS/H-Steuerungskonzepte.
Anhang/Index
Kontrollfragen
Scheine und Prüfungen
Termine
SAHome previous next up Englishsmaller fonts Top Line
Last Modified Fri 05-27-11 06:54 GMT Valid CSS!

Comments please to:pelosim@yahoo.com