Modelica
# Modelica

Modelica ist eine objektorientierte Modellierungssprache für physikalische Modelle. Sie ist 1997 im Programmiersprachenstandard 1.0 erschienen. Im März 2023 wurde Version 3.6 veröffentlicht. Ein in Modelica mit algebraischen und gewöhnlichen Differenzialgleichungen formuliertes, physikalisches Modell wird von einem Modelica-Translator in ein mathematisches Modell übersetzt und mittels eines Lösungsalgorithmus gelöst.

## Entstehungsgeschichte

1996 startete Hilding Elmqvist gemeinsam mit Sprachentwicklern von Allan, Dymola, NMF, ObjectMath, Omola, SIDOPS+, Smile und praxisorientierten Anwendern aus verschiedenen Domänen eine Initiative zur Definition eines standardisierten Formates für objektorientierte Modelle. Nach 19 Meetings wurde 1999 die Version 1.3 des Modelica Sprachstandards veröffentlicht und in praktischen Anwendungen eingesetzt.

## Sprachbeschreibung

Es existieren verschiedene grafische Entwicklungsumgebungen für die Sprache. Die bekanntesten sind Dymola, SimulationX und Wolfram SystemModeler (früher MathModelica). Sie erlauben dem Benutzer die Entwicklung komplexer Simulationsmodelle mittels grafischer Symbole, die jeweils ein Objekt darstellen. Die Verbindung der Objekte erfolgt über Konnektoren, die auch ungerichtet sein dürfen. Diese Modellierungsart wurde später auch in MATLAB/Simulink zur physikalischen Modellierung aufgegriffen.
Modelica ist zur Beschreibung von fachbereichsübergreifenden Problemen in einem weiten Bereich von Wissensgebieten geeignet: Mechanik, Elektrotechnik und Elektronik, Thermodynamik, Hydraulik und Pneumatik, Regelungstechnik und Prozesstechnik.
Die Sprachdefinition und die Modelica-Standardbibliothek sind frei verfügbar und werden von der Modelica Association weiterentwickelt und gefördert. Aktuell ist der Sprachstandard 3.6.

## Vorteile von Modelica

Ein wesentlicher Vorteil von Modelica besteht darin, dass Modelica mit Gleichungen statt mit Zuweisungen arbeitet. Es muss nicht nach gesuchten Variablen aufgelöst werden.
Ein weiterer Vorteil besteht darin, dass Variablen mit Eigenschaften (physikalische Größe, Einheit) versehen werden können. Dies erlaubt die Prüfung von Gleichungen durch die Simulationssoftware.