OpenModelica is a unique large-scale integrated open-source Modelica-and FMI-based modeling, simulation, optimization, model-based analysis and development environment. Moreover, the OpenModelica environment provides a number of facilities such as debugging; optimization; visualization and 3D animation; web-based model editing and simulation; scripting from Modelica, Python, Julia, and Matlab; efficient simulation and co-simulation of FMI-based models; compilation for embedded systems; Modelica-UML integration; requirement verification; and generation of parallel code for multi-core architectures. The environment is based on the equation-based object-oriented Modelica language and currently uses the MetaModelica extended version of Modelica for its model compiler implementation. This overview paper gives an up-to-date description of the capabilities of the system, short overviews of used open source symbolic and numeric algorithms with pointers to published literature, tool integration aspects, some lessons learned, and the main vision behind its development.
Recently the Julia language has become an option for scientific computing. As of 2020, efforts exist to provide libraries that emulate the equation-based modeling features provided by Modelica or otherwise provide such functionality in Julia. The issue with these approaches is that investment in standardization and libraries would be lost unless standard-compliance is guaranteed. We believe that it is possible to combine features from both by implementing such a compiler in Julia. We argue that this approach would open additional opportunities. One such being the handling of variable structure systems (VSS) within the framework of a Modelica standard-compliant compiler. The other being a proposed compiler architecture reminiscent of LLVM for equation-based objectoriented languages. Using the OpenModelica Compiler as a baseline, we verified the fidelity of our implementation by simulating a selected set of models. While there are performance penalties, we argue that improvements to the frontend would mitigate these issues.
Nowadays, industrial products are getting increasingly complex, and time-to-market is significantly shorter. Modeling and simulation tools for cyber-physical systems need to keep up with the increased complexity. This paper presents OpenModelica.jl, a modular and extensible Modelica compiler framework in Julia targeting ModelingToolkit.jl and supporting Variable Structured Systems. We extended the Modelica language with three new operators to support continuous-time mode-switching and reconfiguration via recompilation at runtime. Therefore, our compiler supports the Modelica language and variable structure systems via the aforementioned extensions. To our knowledge, there are no other Modelica tools available that support both standard Modelica and variable structure systems. We evaluated our framework using a standardized benchmark suite, in terms of simulation, compilation and recompilation performance. The results concerning compilation and simulation time performance were compared with the results of running the existing OpenModelica compiler with the same set of models. A custom benchmark was devised to estimate the cost in terms of recompilation when simulating variable structure systems. The performance experiments showed that OpenModelica.jl is currently about four times slower in terms of compilation time when compiling a transmission line model with tens of thousands of equations and variables. The difference in simulation performance between the two compilers was negligable. Furthermore, the impact of recompilation during the simulation was usually small compared with the simulation time for long simulations. The results are promising for a prototype, and we outline approaches to further improve both compilation and simulation performance as future research.
Modeling and Simulation are usually used to solve real-world problems safely and efficiently by constructing digital models of Cyber-Physical Systems. The models can be simulated and analyzed with respect to requirements, and decisions about their design can be based on this analysis. In the latest years, the field of Modeling and Simulation has grown massively and is tackling systems with increased complexity. Thus, the process of modeling and simulating Cyber-Physical systems is becoming more and more complex. This increase vii Författarens tackFörst och främst skulle jag vilja tacka min huvudhandledare Adrian Pop. Adrian har alltid varit tillgänglig, och vi har haft flera intressanta prestigelösa diskussioner där jag har kunnat diskutera allt mellan himmel och jord. Jag skulle också vilja tacka min bihandledare Martin Sjölund. Martin introducerade mig till kompilatorkonstruktion och till ekvationsbaserad modellering från ett datalogiskt perspektiv. Vidare skulle jag också vilja utbringa ett stort tack till min andra bihandledare Peter Fritzson. Peters långa erfarenhet och kunnande har varit ytterst hjälpsamt under forskarutbildningen samt i mitt akademiska skrivande. Vidare skulle jag skulle också vilja tacka mina kollegor vid PELAB. Tack till Mahder Gebremedhin och Lennart Ochel för intressanta lunchdiskussioner. Jag vill också uttrycka tacksamhet till Alachew Mengist för hans återkoppling på de sista utkasten av avhandlingen och den alltid tillgängliga och kompetente labchefen Kristian Sandahl.Mina kollegor Lena Buffoni, Christoph Kessler och Ola Leifler har också varit viktiga. Att handleda masterarbeten tillsammans med er har varit väldigt givande vilket har hjälpt mig i mitt eget skrivande.Jag skulle också vilja tacka Francesco Casella, Andreas Heuermann, Karim Abdelhak och Bernhard Bachman i OpenModelica-konsortiet för deras hjälp. Anne Moe förtjänar också att omnämnas, tack för att du alltid har tid och tack för allt du gör för att hjälpa och vägleda doktorander på IDA. Samma tack förtjänar också administratören på SaS, Lene Rosell, utan hennes hjälp hade det varit väldigt svårt att resa.Sist men inte minst vill jag tacka min familj, speciellt min mor Angela och min far Anders, mina vänner och resten av min familj. Tack för att ni finns och har funnits! ix
Cyber-Physical Systems are ever-increasing in complexity and new methods and tools for developing them are needed. To support these highly dynamic systems, increasing the flexibility of the modeling languages is desirable. This paper proposes and examines a Modelica language extension to support dynamic overconstrained graphs with reconfiguration at runtime. Two applications of this new feature are also discussed: synchronous AC power systems and incompressible fluid networks. Reported findings suggest that supporting dynamic overconstrained graphs might yield performance benefits and provide the possibility of simulating systems that can not currently be simulated in existing Modelica tools.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2025 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.