navi11x4.gif
navi12x1.gif
 

In Simplex3 ist eine eigenständige Modellbeschreibungssprache (MDL Model Description Language) integriert. Sie erlaubt eine formale, nichtprozedurale Modellspezifikation. Die zur Modellbeschreibung angebotenen Sprachkonstrukte sind sehr systemnah, sehr anschaulich und nahezu selbsterklärend.

Aus der formalen Modellspezifikation wird mit Hilfe des MDL-Compilers ein ausführbares Simulationsprogramm erzeugt.

Die Modellbeschreibungssprache SIMPLEX-MDL hat folgende Eigenschaften:

  • Sie beruht auf systemtheoretischer Grundlage
  • Sie übernimmt Vorstellungen aus der logischen Programmierung
  • Sie verfügt über das Klassenkonzept
  • Sie erweitert den objektorientierten Ansatz um weitere Kommunikationsmechanismen zwi­schen den Komponenten
  • Sie erlaubt eine hierarchische Strukturierung und macht schrittweise Verfeinerungen einschließlich Rapid Prototyping möglich

In einheitlicher, in sich geschlossener Weise können Modelle aus den folgenden Modellklassen beschrieben werden:

  • Zeitkontinuierliche Modelle
  • Ereignisorientierte Modelle
  • Auftragsorientierte Modelle
  • Transportmodelle

Weiterhin ist es möglich, kombinierte Modelle aufzubauen, die Anteile aus den oben erwähnten Modellklassen enthalten.

Die Modellbeschreibungssprache SIMPLEX-MDL geht davon aus, dass sich jedes Modell aus elemen­taren Komponenten, den sog. Basiskomponenten, zusammensetzen lässt, die durch Verbindungen miteinander verknüpft werden (siehe Abbildung 1).


Abbildung 1. Der Modellaufbau mit Hilfe von Basiskomponenten und Verbindungen



Basiskomponenten

 

Eine einzelne Basiskomponente besteht aus drei Teilen
(siehe Abbildung 2):

  • Name
    Über den Namen kann die Komponente identifiziert werden.
  • Deklaration
    Es werden die Modellgrößen und ihre Eigenschaften angegeben.
  • Dynamikbeschreibung
    Das zeitliche Verhalten der Komponente wird spezifiziert.





Abbildung 2: Aufbau einer Basiskomponente

 

Abbildung 3 zeigt ein Beispiel für die Dynamikbeschreibung in SIMPLEX-MDL.

Abbildung 3: Dynamikbeschreibung für eine Komponente

Weiterhin sind Fallunterscheidungen möglich. Sie geben an, dass abhängig vom Modellzustand eine unterschiedliche Dynamikbeschreibung gültig ist.

Beispiel:

Ein Ball rollt ohne Reibung eine geneigte Ebene hinunter. Anschließend bewegt er sich über eine horizontale Ebene der Länge 2c solange, bis er wieder auf eine geneigte Ebene trifft. Der Ball rollt die Ebene hinauf, bis die Geschwindigkeit den Wert Null erreicht hat. Abbildung 4 zeigt die Anordnung.


Abbildung 4: Der rollende Ball auf den beiden geneigten Ebenen

Die Dynamikbeschreibung dieses einfachen Modells hängt davon ab, ob für die x-Koordinate des Schwerpunktes gilt:

• x < -c

• oder x > c

• oder -c <= x <= c

Die Dynamikbeschreibung des Modells in SIMPLEX-MDL hat eine Form, die Abbildung 5 zeigt.


Abbildung 5: Die Fallunterscheidung




Verbindungen

Um Komponenten zu Modellen zu verknüpfen, stehen Verbindungen zur Verfügung. Bei Ver­bindungen wird eine Modellgröße einer Komponente an eine Modellgröße der nachfolgenden Komponente angeschlossen. Abbildung 6 zeigt ein Beispiel.

In der Komponente mit dem Namen Zufuhr wird die Zustandsvariable a in einem Ereignis gesetzt. Über eine Verbindung wird sie an die Variable b in der Komponente Reaktor angeschlossen. Auf diese Weise beeinflusst das Verhalten der Variablen a in der Komponente Zufuhr das dynamische Verhalten der Variablen x in der Komponente Reaktor .

Verbindungen symbolisieren damit kausale Abhängigkeiten.


Abbildung 6: Die Verbindung zwischen Zustandsvariablen


Eine Verbindung hat zwei anschauliche Deutungen:

  • Signalübertragung
    Das Verhalten der Variablen a der Komponente Zufuhr wird über die Verbindung zeitlos und unverzerrt zur Variablen b in der Komponente Reaktor übertragen.
  • Datenzugriff
    Die Komponente Reaktor hat ständig lesend Zugriff auf die Variable a in der Komponente Zufuhr. Der Wert der Variablen a in der Komponente Zufuhr steht der Komponente Reaktor in der Variablen b zur Verfügung.

Der hierarchische Modellaufbau

Ein Modell besteht aus Komponenten und Verbindungen. Das Verhalten einer Komponente wird mit Hilfe der Zustandsvariablen beschrieben.

Soll der kausale Mechanismus einer Komponente genauer untersucht werden, so ist es erfor­derlich, auf der nächst niedrigeren Abstraktionsebene die Komponente selbst als Modell zu be­trachten, für das eine Struktur gesucht wird (siehe Abbildung 6).

Die Auflösung einer Komponente in eine Struktur von untergeordneten Komponenten ist nach unten hin nicht begrenzt. Alle Komponenten, die zu einer übergeordneten Komponente gehören und damit auf gleichem Niveau liegen, definieren eine Abstraktionsebene.

Beispiel:

Eine Fabrikanlage bestehe aus Maschinen mit einem bestimmten Verhalten. Hierzu gehört z.B. die Bearbeitungszeit für ein Werkstück oder die Fehlerwahrscheinlichkeit.

Soll die Bearbeitungszeit oder das Fehlerverhalten der Maschine ausführlicher untersucht wer­den, so ist die Maschine selbst zum Untersuchungsgegenstand zu machen. Für die Maschine ist jetzt auf der nächst niedrigeren Abstraktionsebene ein abstraktes Modell zu entwerfen, das die Bearbeitungszeit oder das Fehlerverhalten nachspielen kann.



Abbildung 7: Der hierarchische Modelaufbau



Der hierarchische Modellaufbau setzt voraus, dass jede untergeordnete Komponente selbst nur aus den beiden Grundbausteinen Komponente und Verbindung besteht.

Mobile Komponenten und Locations

Bewegte Einheiten wie z.B. Aufträge, zu bearbeitende Werkstücke aber auch Werkzeuge werden in SIMPLEX-MDL mit Hilfe mobiler Komponenten beschrieben.

Mobile Komponenten können erzeugt, modifiziert, bewegt und vernichtet werden. Sie sind dadurch ausgezeichnet, dass sie sich nur auf den sog. Locations einer Komponente aufhalten können. Eine Location ist als Warteschlange ausgebildet.

Abbildung 8 zeigt ein Beispiel. Wenn eine bestimmte Bedingung erfüllt ist, wird eine mobile Komponente aus der Klasse Werkstck erzeugt und in die Location mit dem Namen Quelle eingeordnet. Gleichzeitig werden zwei Attribute gesetzt.

Falls eine weitere Bedingung wahr wird, kann aus der Location Quelle das Werkstück, das in der Warteschlange an erster Stelle steht, in die Location Maschine geschickt und dort eingeordnet werden.

Mobile Komponenten eignen sich zur Beschreibung von Aufträgen, Botschaften oder Werk­stücken. Sie entsprechen den Transactions in GPSS.


Abbildung 8: Mobile Komponenten und Locations

Von besonderer Bedeutung ist die Tatsache, dass mobile Komponenten ebenfalls Locations besitzen können. Das heißt, dass eine mobile Komponente ihrerseits Aufenthaltsplätze für mobile Komponenten aufweist. Auf diese Weise ist die Beschreibung von Fahrzeugen möglich, die sich von Location zu Location bewegen und auf ihrer eigenen Location Fahrgäste oder Transportgüter bewegen.

navi16x1.gif
Die Modellbeschreibungssprache SIMPLEX-MDL:

Die Entwicklung des Simulationssystems Simplex
Web-basierte Simulation
Anwendungsbezogene Projekte mit
Industriepartnern

Optimierung

Allgemeine Simulationstechnik