Entwurf und Entwicklung einer Dymola/Modelica Bibliothek für diskrete ereignis-orientierte Systeme unter Verwendung der DEVS Methodologie

Beschreibung

DEVS ist ein Modellierungsformalismus für die mathematische Beschreibung diskreter ereignis-orientierter Systeme, der auf einer Neuinterpretation der klassischen Systemtheorie basiert [1]. Ein System (Modell) hat Eingänge und Ausgänge; nur empfängt das DEVS System über seine Eingänge keine zeitkontinuierlichen Signale, sondern diskrete Ereignisbeschreibungen. Gleicherweise sendet es durch seine Ausgänge Ereignisbeschreibungen an andere Systeme (Modelle).

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.

Aufgabenstellung

Bei der vorgeschlagenen Untersuchung geht es um eine Neuimplementierung der PowerDEVS Software [4] in Dymola [5].

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.


Referenzen

  1. Zeigler, B.P. (1976), Theory of Modelling and Simulation, Wiley, New York.

  2. Concepción, A.I. and Zeigler, B.P. (1988), "DEVS Formalism: A Framework for Hierarchical Model Development," IEEE Trans Software Engineering, 14(2), pp. 228-241.

  3. Cellier, F.E. and E. Kofman (2005), Continuous System Simulation, Springer-Verlag, New York.

  4. Kofman, E., M. Lapadula, and E. Pagliero (2003), PowerDEVS: A DEVS-based Environment for Hybrid System Modeling and Simulation, Technical Report LSD0306, LSD, Universidad Nacional de Rosario, Argentinien. Submitted to Simulation.

  5. Brück, D., H. Elmqvist, H. Olsson, S.E. Mattsson (2002), Dymola for Multi-Engineering Modeling and Simulation, Proc. 2nd International Modelica Conference, Oberpfaffenhofen, Deutschland, pp. 55:1-55:8.

  6. Tiller, M.M. (2001), Introduction to Physical Modeling with Modelica, Kluwer Academic Publishers, Boston.


English Version
Homepage


Modifiziert: 11. September 2005 -- © François Cellier