Der DEVS Formalismus ist objekt-orientiert und eignet sich zur Beschreibung komplexer Systeme unter Verwendung hierarchisch gegliederter Modelle [2].
Obwohl bereits seit langem klar war, dass der DEVS Formalismus auch bei der Simulation kontinuierlicher Systeme eingesetzt werden kann, zeigte sich erst vor kurzem, dass diese Vorgehensweise tatsächlich Vorteile mit sich bringt [3].
Bei der Simulation kontinuierlicher Systeme unter Verwendung eines Digitalrechners muss auf jeden Fall diskretisiert werden, da Digitalrechner keine kontinuierlichen Signale verarbeiten können. Die konventionelle Lösung diskretisiert dazu die Zeitachse, lässt aber die Zustandsachse kontinuierlich. Bei der DEVS Lösung wird im Gegensatz dazu die Zustandsachse diskretisiert, während die Zeitachse kontinuierlich belassen wird.
Eine Implementation des DEVS Formalismus, die sich für solche Anwendungen besonders gut eignet, ist PowerDEVS, eine in C++ geschriebene Software, die speziell für die Simulation kontinuierlicher Systeme unter Verwendung des DEVS Formalismus entwickelt wurde [4].
Ein Nachteil von PowerDEVS besteht darin, dass bei Verwendung dieser Software sämtliche kontinuierlichen Signale auf die gleiche (DEVS) Weise diskretisiert werden müssen. Es mag aber von Interesse sein, einzelne Subsysteme konventionell zu diskretisieren, während andere unter Verwendung des DEVS Formalismus diskretisiert werden.
Zu diesem Zweck mag es nützlich sein, eine Neuimplementierung von PowerDEVS ins Auge zu fassen, wobei eine Modellierungs- und Simulationsumgebung gewählt werden soll, die dem Softwareentwickler ermöglicht, verschiedenste Modellierungsansätze flexibel miteinander zu verbinden.
Dymola ist eine graphische objekt-orientierte Modellierungsumgebung, welche für die Modellierung und Simulation physikalischer Systeme entwickelt wurde [5]. Die Anwenderschnittstelle von Dymola ist sehr flexibel gehalten und ermöglicht dem Softwareentwickler, alternative Modellierungsansätze elegant zu implementieren. Somit eignet sich Dymola ausgezeichnet für die angestrebte Neuimplementierung von PowerDEVS.
Beginnen Sie damit, die PowerDEVS Software auf Ihrem Rechner zu installieren und damit einige Anwendungsbeispiele zu rechnen, die Sie den Referenzen [3,4] entnehmen können.
Die PowerDEVS Software besteht aus zwei völlig unterschiedlichen Teilen. Der eine Teil implementiert den DEVS Formalismus, während der andere Teil die Graphikoberfläche unterstützt. Bei der Neuimplementierung muss nur der erste Teil berücksichtigt werden, da Dymola bereits sehr flexible Graphiksoftware zur Verfügung stellt.
Implementieren Sie die PowerDEVS Interpretation des DEVS Formalismus neu in Dymola unter Verwendung der darunterliegenden Programmierungssprache Modelica [6].
Es ist zu beachten, dass es sich bei der Simulation kontinuierlicher Systeme unter Anwendung des DEVS Formalismus eigentlich nur um eine neue Integrationsmethode handelt. Somit wäre es sinnvoll, die Einbindung in Dymola so nahtlos wie möglich zu gestalten. Dazu bietet sich an, einen neuen der() Operator zu definieren - verwenden Sie z.B. den Operator diff(), so dass Sie bei der Simulation unter Verwendung von DEVS eigentlich nur den Integrationsoperator austauschen müssen. In Zukunft könnte DEVS völlig transparent als zusätzliches Integrationsverfahren angewählt werden. Dies bedingt aber Zugriff zu Dymola auf einer Ebene, die Ihnen nicht zur Verfügung steht. Somit wird diese Anpassung später von Dynasim durchgeführt werden müssen. Die Quantisierung kann hinter dem diff() Operator versteckt werden, da Sie ja bereits wissen, dass jeder DEVS Integrator quantisiert werden muss.
Simulieren Sie die Beispiele, die Sie bereits früher unter Verwendung von PowerDEVS simuliert hatten, nochmals unter Verwendung Ihrer Neuimplementierung, und verifizieren Sie, dass Sie in der Tat die gleichen Resultate erhalten.
Programmieren Sie ein Beispiel mit mehreren Integratoren, und diskretisieren Sie wahlweise einen Unterteil der Integratoren unter Verwendung von DEVS, den anderen Teil unter Verwendung der konventionellen Methoden (z.B. DASSL), und verifizieren Sie, dass die gemischte Simulation ebenfalls funktioniert.