Skip to content

"Modelica: Component Oriented Modeling of Physical Systems" by Michael Tiller

Michael Tiller

CommunityStrange Loop Conference42 minBeginnerOpen on YouTube ↗

Presenters detail vulnerability discovery and exploitation in "Modelica: Component Oriented Modeling of Physical Systems" by Michael Tiller.

Summary

This talk introduces Modelica, a declarative component-oriented modeling language for simulating complex physical systems. Tiller opens with historical context about computation's role in engineering, using ENIAC and artillery trajectory calculations as examples of why simulation matters. The core problem addressed is handling hybrid nonlinear simultaneous differential-algebraic equations (DAEs) in an accessible way. Traditional imperative approaches require tedious, error-prone manual discretization and equation manipulation; Modelica instead allows engineers to declare physical behavior using equations, deferring complex transformations to the compiler.

Key technical concepts include connectors (abstracted interaction points between components with flow attributes), inheritance (shared model definitions to reduce duplication), and hierarchical composition (systems built from nested sub-components spanning multiple engineering domains). The industrial robot example demonstrates scalability: a demo model contains 4,000 variables, 1,342 parameters, and approximately 500 components integrating electrical, mechanical, and control systems simultaneously.

Compiler optimizations are substantial. Equation sorting transforms dense O(n²) matrix operations into lower-triangular O(n) structures through dependency analysis. The Pantelides algorithm handles index reduction for differential-algebraic equations. Additional optimizations include state selection, tearing for nonlinear systems, and constraint handling for closed-loop mechanical systems. For the 4,000-variable problem, complexity reduces from n²·³⁷³ to linear n, a significant computational gain.

Practical ecosystem contributions include the Functional Mock-up Interface (FMI) standard for cross-tool model exchange, npm-based scientific model packaging (demonstrated with artillery trajectory simulation), and educational resources including an interactive web tour and a crowdfunded open textbook with embedded interactive simulations. The Q&A addresses solver limitations (particularly variable-index problems in impacts and separations), inter-tool component integration via FMI, and parameter sensitivity analysis approaches.

Related talks