Generated by GPT-5-mini| Modelica | |
|---|---|
| Name | Modelica |
| Paradigm | Multi-domain, declarative, equation-based |
| First appeared | 1996 |
| Designed by | Péter Fritzson, Hilding Elmqvist |
| Typing | Mostly static |
| License | Open standard |
| Influenced by | Simula (programming language), Mathematical Modelling Language, FORTRAN |
Modelica is an open, non-proprietary, declarative, equation-based language for modeling complex physical systems. It was created to enable component-oriented, acausal modeling across multiple domains such as mechanics, electrical engineering, thermodynamics, and hydraulics. The language emphasizes reuse of libraries, numerical simulation interoperability, and formal specification suitable for toolchains used by industry and academia including Siemens, Dassault Systèmes, Bosch, and General Motors.
The language emerged in the mid-1990s through collaborations among researchers and engineers at institutions like the Swedish Institute of Computer Science, the Royal Institute of Technology, and companies including Dynasim AB and ABB. Early work was influenced by languages and projects such as Simula (programming language), FORTRAN, and efforts within the European Union research programs. The first public specifications and implementations appeared around 1996 and evolved through successive revisions driven by working groups involving Modelica Association members, multinational corporations like Siemens PLM Software, and research centers including Linköping University.
The syntax of the language is declarative and centered on acausal equations that express relationships rather than assignment; this design contrasts with procedural languages like C (programming language), Pascal, and Ada (programming language). Components are organized into packages and classes, supporting object-oriented features influenced by Simula (programming language) and Smalltalk. Strong emphasis is placed on multiple inheritance, connectors, and encapsulation, aligning with engineering toolchains from firms such as Eaton, Continental AG, and Robert Bosch GmbH. The language supports parameterization, arrays, and algorithm sections to embed algorithmic code comparable to constructs in MATLAB and Octave.
Modeling uses components from libraries to assemble networks of equations that represent energy, mass, and signal flows—paradigms familiar to practitioners at General Motors Research Laboratory, Toyota, and research groups at Massachusetts Institute of Technology. Acausal modeling enables reusability across contexts similar to approaches from Bond graph theory and techniques developed at institutions like ETH Zurich. Simulation workflows integrate symbolic transformation, index reduction, and numerical solvers such as those found in solvers derived from SUNDIALS and algorithms used by NASA and European Space Agency. Co-simulation standards and interfaces allow coupling with platforms from MathWorks, Ansys, and Altair Engineering.
The language is supported by a comprehensive standard library maintained by the Modelica Association, covering domains like Thermodynamics, Electrical engineering, Mechanics, and Controls. Commercial and open-source tools implement the language, including offerings from Dassault Systèmes, Siemens, Wolfram Research integrations, as well as open-source projects linked to institutions such as Linköping University and companies like Dymola, OpenModelica Project, and JModelica.org. Ecosystem components include editing environments, translators, numerical runtime engines, and visualization front-ends employed at organizations like Siemens Digital Industries Software and research labs at Carnegie Mellon University.
Adoption spans automotive engineering at Volkswagen Group, Daimler AG, and BMW, aerospace and space systems at Airbus, NASA, and European Space Agency, power systems and grid modeling used by ABB, Siemens Energy, and utilities, as well as building energy modeling applied by firms like Schneider Electric. Research applications are found at universities including Stanford University, Technical University of Munich, and KTH Royal Institute of Technology. Use cases cover system-level virtual prototyping, controller co-design in partnership with National Instruments, and digital twin development integrated with platforms such as Microsoft and Amazon Web Services.
The language and its library are governed by the Modelica Association, an international consortium with working groups and editorial boards comprising members from industry and academia including Siemens, Dassault Systèmes, Bosch, Toyota, Linköping University, and ETH Zurich. Revisions follow formal procedures similar to standards bodies like ISO and IEC while engaging committees and task forces that produce specification updates, library extensions, and compliance test suites. Interoperability efforts coordinate with standards like Functional Mock-up Interface and consortia such as ASAM, facilitating tool coupling across vendors like MathWorks and Ansys.
Critiques include steep learning curves reported by engineers transitioning from procedural environments such as MATLAB/Simulink and integration challenges with legacy codebases from C (programming language) or FORTRAN. Performance variations across toolchains from vendors like Dassault Systèmes and Siemens and the need for advanced numerical expertise—similar to concerns raised in high-performance computing at Oak Ridge National Laboratory—have been noted. Licensing and commercial ecosystem fragmentation involving companies such as Dassault Systèmes, Siemens PLM Software, and smaller vendors can complicate procurement and long-term maintenance for organizations comparable to General Motors and Ford Motor Company.
Category:Modeling languages