Compiling Modelica

dc.contributor.advisorPepper, Peter
dc.contributor.authorHöger, Christoph
dc.contributor.grantorTechnische Universität Berlinen
dc.contributor.refereePepper, Peter
dc.contributor.refereeJähnichen, Stefan
dc.contributor.refereeBroman, David
dc.date.accepted2018-05-07
dc.date.accessioned2019-05-07T15:07:12Z
dc.date.available2019-05-07T15:07:12Z
dc.date.issued2019
dc.description.abstractThe equation-based object-oriented modeling language Modelica is an openly accessible standard with many implementations and applications. Most, if not all, tools that execute a Modelica simulation follow a common scheme: Models are loaded, composed, analyzed, and transformed into a system of equations. This system is then further simplified, translated into efficient code, and simulated. The latter steps are executed by the tool at hand and not specified by the modeling language's semantics. This architecture has profound impact on the relationship between models and their simulation. After the simulation code has been generated, a model cannot change its structure, i.e. its equations, during simulation. This thesis investigates an alternative approach: Here, each model is considered separately and has an intrinsic context-independent meaning. In this view, simulation is not a tool-specific step, disconnected from the language semantics but expressed in the modeling language itself and each model can be translated separately into executable code. Consequently, a model can then control the course of the simulation, enabling a powerful variant of variable-structure systems. The translation of models builds upon a partial but rigorous definition of the modeling language's semantics in the form of a core language, MCL. The core language focuses on the most important aspects of Modelica: the organization of models in hierarchies and their reduction to systems of equations. The formalization of the reduction in a continuation-passing style permits the definition of variable-structure models. The compiler, although only a prototype, is capable of translating several important features of Modelica. As an extension to the language, it has a straightforward support for variable-structure systems with many modes. With the help of first-class models it becomes possible to implement the symbolical and numerical treatment of models in MCL itself. A kernel library provides the means for the description of equations, discrete signals, symbolic manipulation, and simulation. This architecture reduces the complexity of the modeling language to a manageable magnitude and also makes it rather simple to extend or change the features of that library.en
dc.description.abstractDie gleichungsbasierte, objektorientierte Modellierungssprache Modelica ist standardisiert und hat viele verschiedene Anwendungsgebiete und Implementierungen. Die meisten dieser Implementierungen folgen einem gemeinsamen Schema: Modelle werden erst kombiniert, dann zu einem Gleichungssystem reduziert, analysiert und schließlich in effizienten Simulationscode übersetzt. Analyse und Übersetzung sind nicht Teil der Sprachspezifikation. Die Details ihrer Umsetzung sind der Implementierung überlassen. Dieser Ablauf hat einen Entscheidenden Einfluss auf die Beziehung zwischen Modellen und ihrer Simulation. Nach der Erzeugung des Simulationscodes kann ein Modell seine Struktur, d.h. seine Gleichungen, nicht mehr ändern. Diese Dissertation untersucht einen alternativen Ansatz, in dem jedes Modell getrennt betrachtet wird und so eine intrinsische, kontext-unabhängige Bedeutung hat. Aus dieser Perspektive ist die Simulation kein von der Modellierungssprache unabhängiger Schritt, sondern wird in dieser selbst ausgedrückt. So kann jedes Modell separat in Maschinencode übersetzt werden. Daraus folgt die Möglichkeit, den Simulationsverlauf aus den Modellen heraus zu steuern und eine mächtige Variante strukturdynamischer Systeme zu implementieren. Die Übersetzung von Modellen beruht auf einer rigorosen Definition einzelner Aspekte der Semantik von Modelica in Form einer Kernsprache, MCL. Diese Kernsprache konzentriert sich auf die wesentlichsten Aspekte von Modelica: Die hierarchische Organisation von Modellen und ihre Reduktion zu Gleichungssystemen. Die Formalisierung der Reduktion erfolgt mit Continuations und ermöglicht so die Implementierung von Strukturdynamik. Der so implementierte Compiler kann mit vielen Sprachmittel von Modelica umgehen. Darüberhinaus unterstützt er eine unkomplizierte Form zur Modellierung strukturdynamischer Systeme mit vielen Modi. Weil Modelle in MCL Objekte erster Klasse sind, kann ihre symbolische und numerische Verarbeitung in der Sprache selbst implementiert werden. Eine Kernel Bibliothek stellt die Mittel zur Erzeugung, Transformation und Simulation von kontinuierlichen Gleichungen diskreten Signalen bereit. Dieser Ansatz reduziert die Komplexität der Sprachsemantik erheblich und erleichtert die Änderung oder Erweiterung der Algorithmen die Modelle verarbeiten.de
dc.identifier.urihttps://depositonce.tu-berlin.de/handle/11303/9277
dc.identifier.urihttp://dx.doi.org/10.14279/depositonce-8354
dc.language.isoenen
dc.rights.urihttps://creativecommons.org/licenses/by-sa/4.0/en
dc.subject.ddc005 Computerprogrammierung, Programme, Datende
dc.subject.otherModelicaen
dc.subject.otherseparate compilationen
dc.subject.othercorrect translationen
dc.subject.othersemanticsen
dc.subject.othervariable-structure modelingen
dc.subject.otherseparate Kompilierungde
dc.subject.otherkorrekte Ãœbersetzungde
dc.subject.otherSemantikde
dc.subject.otherStrukturdynamikde
dc.titleCompiling Modelicaen
dc.title.subtitleabout the separate translation of models from Modelica to OCaml and its impact on variable-structure modelingen
dc.title.translatedModelica Ãœbersetzende
dc.title.translatedsubtitleüber die separate Übersetzung von Modellen aus Modelica nach OCaml und ihre Auswirkung auf die Modellierung mit Strukturdynamikde
dc.typeDoctoral Thesisen
dc.type.versionacceptedVersionen
tub.accessrights.dnbfreeen
tub.affiliationFak. 4 Elektrotechnik und Informatik::Inst. Softwaretechnik und Theoretische Informatik::FG Ãœbersetzerbau und Programmiersprachende
tub.affiliation.facultyFak. 4 Elektrotechnik und Informatikde
tub.affiliation.groupFG Ãœbersetzerbau und Programmiersprachende
tub.affiliation.instituteInst. Softwaretechnik und Theoretische Informatikde
tub.publisher.universityorinstitutionTechnische Universität Berlinen

Files

Original bundle
Now showing 1 - 1 of 1
Loading…
Thumbnail Image
Name:
hoeger_christoph.pdf
Size:
2.21 MB
Format:
Adobe Portable Document Format
Description:
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
4.9 KB
Format:
Item-specific license agreed upon to submission
Description:

Collections