Thesis Topic: The Design and Implementation of the ╬╝Modelica Compiler

Abstract: Modelica is a recently developed object-oriented language for modeling of large, complex, and heterogeneous physical systems. It is a modern language built on non-causal modeling with mathematical equations and object-oriented constructs.

I have built a research prototype compiler for μModelica (a subset of Modelica) in my M.Sc. thesis. The μModelica compiler is focused on non-causal modeling, which is the real essence of Modelica. It takes textual Modelica source as input, translates it into flat Modelica, then performs a series of symbolic transformations on the differential-algebraic equations, most notably, assigning causality, and generates input suitable for processing by a numerical simulator such as Octave.

For a detailed description of the design of my compiler, please refer to my thesis.


  1. May 10, 2005: the final version of my thesis: pdf and LaTex source.
  2. Mar 20, 2005: the initial version of my M.Sc. thesis: pdf
  3. Nov 04, 2004: Presentation @ the weekly Software Engineering Group meeting, SOCS, McGill: pdf or ppt

Source Code

The source code of the ╬╝Modelica Compiler (download). See the readme file (after unzip) for installation and usage.

Maintained by Steven Xu. Last Modified: 2008/09/09 18:03:05.