Simulation Allgemein

Um solch eine simulationsorientierte Modellkonstruktion vornehmen zu können, sollte man sich zunächst mal klar machen, was denn in einer Simulation geschieht. Im allgemeinen Fall wird der aktuelle Zustand eines Sysstems $S \in SYS$ mittels der Systemfunktion $f$ des Systems in seinen Folgezustand $S' \in SYS$ überführt. Genauer: ein Simulator $SIM$ nimmt die Beschreibung der aktuellen Zustände eines Input-Output-Systems {IN, OUT, IS} und berechnet neue Werte für diese Zustände, indem er die Beschreibung der Systemfunktion $f$ entsprechend interpretiert (vgl. auch Bild 7.4).


$\displaystyle SIM$ $\textstyle :$ $\displaystyle SYS \longmapsto SYS$ (7.17)
$\displaystyle SIM$ $\textstyle :$ $\displaystyle \langle IS, IN, OUT \rangle \times \{f\} \longmapsto \langle IS, IN, OUT \rangle \times \{f\}$ (7.18)

Im Falle von nicht-lernenden Systemen würde die Systemfunktion $f$ nicht verändert werden. Im Fall von lernenden Systemen wäre dies der Fall. Dann müßte man eine zusätzliche Lernfunktion $\cal{L}: F \longmapsto F$ annehmen mit $f \in \cal{F}$. Bislang sind Realzeitsysteme normalerweise keine lernenden Systeme.

Figure 7.4: Ein Simulator berechnet den Folgezustand zu einem Istzustand
\includegraphics[width=2.5in]{simu_frame_rts.eps}

Dies bedeutet, dass der Simulator $SIM$ die Sprache, in der die Beschreibungen von $IN, OUT, IS, f$ vorliegen, 'verstehen' muß. Im Falle der OKSIMO Software werden die visuellen Modelle intern in die Sprache $FCL$ übersetzt (:= Factor Connector Language). Diese wird nochmals weiter übersetzt in die Sprache $FSL$ (= Formal Systems Language). Diese Sprache versteht der OKSIMO-Simulator. Während die FCL-Sprache parallele Prozesse erlaubt und auch der Simulator so aufgebaut ist, dass er parallel mehrere Prozesse abarbeiten kann, ist die FSL-Sprache -aus historischen Gründen- bislang rein sequentiell. Dies führt bei der aktuellen Version der OKSIMO-Software noch zu Beschränkungen, die in der Zukunft hoffentlich beseitigt werden können.

Gerd Doeben-Henisch 2009-12-09