Dymola: Umgebung zur objekt-orientierten Modellierung
physikalischer Systeme
Kurzbeschreibung
Dymola wurde von Hilding Elmqvist an der Technischen Hochschule Lund (LTH)
in Schweden im Rahmen seiner Dissertation entworfen.
Es handelt sich dabei um eine Modellierungsumgebung, die es erlaubt,
Hardwarekomponenten physikalischer Systeme direkt auf entsprechende
Softwarekomponenten abzubilden.
Elmqvist erkannte als erster, dass es dabei keinen Unterschied zwischen Ein- und
Ausgabeparametern solcher Objekte geben darf. Die Richtung des Informationsflusses
darf erst während der Übersetzung des Modells auf Grund der Einbettung der
Modellkomponenten bestimmt werden.
Dymola/Modelica wurde unterdessen zur besten und flexibelsten Modellierungsumgebung
für die Beschreibung physikalischer Prozesse, die auf dem Softwaremarkt erhältlich
ist.
Historische Entwicklung
- Im Jahre 1978 stellte Hilding Elmqvist eine erste Version von Dymola im
Rahmen seiner Dissertation vor. Es handelte sich dabei um eine rein
alphanumerische Sprachdefinition, welche die Grundlage zur heutigen
Modellierungssprache Modelica bildet. Eine erste Version des
Dymola Compilers war in Simula 68 entwickelt worden. Diese Version
wurde aber schon bald durch eine Version ersetzt, die in Pascal
kodiert war. Der Compiler übersetzte Dymola Modelle nach Simnon,
einer Simulationsumgebung, die Elmqvist 1975 als Teil seiner MS Thesis
entwickelt hatte.
- Im Jahre 1981 entwickelte Hilding Elmqvist eine erste Version einer
Graphik-Oberfläche zur graphischen Beschreibung physikalischer Systeme.
Die Graphikmodule wurden auf Dymola abgebildet. Elmqvist war überzeugt
davon, dass die graphische Beschreibung einfacher zu verwenden wäre, da
diese zweidimensionale Verknüpfungen ermöglicht, während eine alphanumerische
Beschreibung notgedrungenerweise eindimensional sein muss. Die vorgeschlagene
Graphik-Oberfläche war allerdings damals noch nicht sinnvoll einsetzbar,
da sie zu viele Resourcen verschlang. Die Computer jener Zeit waren noch
nicht reif für diese Entwicklung.
- Nachdem Elmqvist 1984 in die Industrie abgewandert war, begann ich 1986,
Dymola mit meinen Studenten weiter zu entwickeln. Insbesondere entwickelten
wir neue Übersetzungsmodule, welche Dymola Modelle auf die Simulationssprachen
Desire und ACSL abbildeten. Diese Module wurden im Auftrag der
NASA entwickelt.
- Im Jahre 1991 publizierte ich das Buch
Continuous System Modeling [1],
in welchem Dymola eine zentrale Rolle zugewiesen wird. Dieses Buch überzeugte
Hilding Elmqvist, seine Stelle in der Industrie aufzugeben und stattdessen
eine eigene Firma,
Dynasim AS, zu gründen, deren Aufgabe es sein würde,
Dymola weiter zu entwickeln.
- Ein ungelöstes Problem war die symbolische Behandlung algebraischer Schleifen
sowie struktureller Singularitäten, welche bei der Kopplung von Dymola Modellen
häufig auftreten. Dieses Problem wurde von Elmqvist 1992 gelöst. Dies führte
zur Publikation [2].
- Im Sommer 1992 arbeitete ich bei der Deutschen Luft- und Raumfahrt (DLR) in
Oberpfaffenhofen. Dieser Aufenthalt führte zu einer engen und sehr fruchtbaren
Zusammenarbeit zwischen Hilding Elmqvist (Dynasim), Martin Otter (DLR) und mir.
In der Folge finanzierte die DLR nahmhaft die Weiterentwicklung von Dymola. So
wurde zunächst eine Schnittstelle zur Simulationsumgebung DSblock der
DLR entwickelt, welche die Grundlage zur heute verwendeten Simulationsumgebung
Dymosim bildet.
- 1993 wurde die Dymola Modellierungsumgebung um Sprachelemente zur Modellierung
diskontinuierlicher Prozesse erweitert, welche die Modellierungskonzepte, welche
in der Modellierungsumgebung
COSY vorgeschlagen worden waren,
ersetzte und verbesserte [3]. Gleichzeitig wurde eine neue Version des
Compilers erstellt, welche nun in C kodiert ist.
- 1994 wurde die symbolische Behandlung algebraischer Schleifen durch das Einführen
von Schneidevariablen verbessert. Gleichzeitig wurden Sprachelemente zugefügt,
die es erlauben sollten, vektorielle Prozesse, wie sie zum Beispiel bei
Mehrkörperproblemen in der Mechanik auftreten, in Matrizenschreibweise ähnlich
wie in Matlab beschreiben zu können.
- Ebenfalls 1994 kam eine neue Graphik-Oberfläche dazu, die zunächst Dymodraw
genannt wurde. Im Gegensatz zur früheren Entwicklung von 1981 war Dymodraw durchaus
anwendbar. Allerdings waren die Werkzeuge zur Erstellung graphischer Objekte
noch sehr mangelhaft, d.h. graphische Objekte konnten zwar bereits bequem
angewandt aber nicht entwickelt werden. Der Graphik-Compiler wurde in C++
geschrieben.
- 1995 wurde die Effizienz der Simulationsprogramme wesentlich durch die
Einführung des DASSL Integrationsverfahrens sowie durch das neue Konzept
des "Inlining", d.h. des Zusammenfügens der Integratorgleichungen mit den
Modellgleichung vor der symbolischen Vorverarbeitung des resultierenden
differential-algebraischen Gleichungssystems, verbessert [4].
- 1996 wurde die symbolische Vorverarbeitung um einen weiteren Algorithmus, das
"Relaxing" von linearen Gleichungssystemen, erweitert. Dabei handelt es sich
um eine symbolische Variante des Gauss'schen Austauschverfahrens [5].
- Ebenfalls 1996 begann eine Überarbeitung der nunmehr 18 Jahre alten
Modellierungssprache Dymola. Die neue Sprache wurde
Modelica genannt, und deren Sprachdefinition wurde als Public Domain
erklärt. Da der Name Dymola jetzt frei geworden war, wurde von nun an
die Graphik-Oberfläche als Dymola bezeichnet. Im Jahr 2003, Dymola
Version 5 wurde fertifgestellt. Die neue Version von Dymola verfügte über
eine völlig neu entwickelte graphische Schnittstelle, welche nun voll
ausgereift war, und in welcher auch neue graphische Objekte elegant und
zuverlässig entwickelt werden können.
- 1997 wurde ein Standardisierungskomitee gebildet, welches die
Sprachdefinition von Modelica vorantreiben sollte. An diesen Arbeiten
konnte ich mich leider nicht mehr direkt beteiligen, da dies 2-3 Europa-Reisen
pro Jahr, meistens während der Vorlesungsperioden, bedingt hätte, was ich nicht
verantworten konnte.
- Ebenfalls stellte ich bereits 1993 meine eigenen Arbeiten am Compiler von
Dymola ein, da ich mit der Gruppe von Elmqvist weder konkurrieren wollte
noch konnte. Ich konzentrierte mich in der Folge auf eine Aufgabe, die
ich weit besser mit meinen Studenten bewältigen konnte, nämlich die
Entwicklung von Dymola/Modelica Bibliotheken, wie z.B.
BondLib .
Wichtigste Publikationen
- Cellier, F.E. (1991),
Continuous System Modeling,
Springer-Verlag, New York.
- Cellier, F.E., and H. Elmqvist (1993),
Automated Formula Manipulation Supports Object-Oriented
Continuous-System Modeling,
IEEE Control Systems, 13(2), pp.28-38.
- Elmqvist, H., F.E. Cellier, and M. Otter (1993),
Object-Oriented Modeling of Hybrid Systems,
Proc. ESS'93, SCS European Simulation Symposium,
Delft, The Netherlands, pp.xxxi-xli.
- Elmqvist, H., M. Otter, and F.E. Cellier (1995),
Inline Integration: A New Mixed Symbolic/Numeric Approach for Solving
Differential-Algebraic Equation Systems,
Proc. ESM'95, SCS European Simulation MultiConference,
Prague, Czech Republic, pp.xxiii-xxxiv.
- Otter, M., H. Elmqvist, and F.E. Cellier (1996),
"Relaxing" - A Symbolic Sparse Matrix Method Exploiting the Model
Structure in Generating Efficient Simulation Code,
Proc. Symposium on Modelling, Analysis, and Simulation,
CESA'96, IMACS MultiConference on Computational Engineering in Systems
Applications, Lille, France, vol.1, pp.1-12.
Sponsoren
- NASA
- Deutsche Luft- und Raumfahrt
English Version
Homepage
Modifiziert: 4. Juli 2005 -- © François Cellier