Principles of Equation-Based
Object-Oriented Modeling and Languages

Mini-course, December 9-10, Scuola Superiore Sant'Anna, Pisa, Italy. [Flyer]

David Broman
Associate Professor
KTH Royal Institute of Technology, Sweden.

In this course, we discuss the fundamentals of equation-based object-oriented (EOO) modeling languages. We use Modelica, OpenModelica, and Modelyze as example languages and environments.

Agenda

The course includes both theory parts, presented in the form of interactive lectures, and practical parts in the form of exercises and lab assignments. Students are expected to have installed OpenModelica and/or Modelyze on their laptops before the course starts. Note that OpenModelica is easiest to install on Windows and Modelyze on Mac OS or Linux.

Day 1 - November 9, 2014

  • 9:30-12.00
    Module A: EOO Languages and Modelica Fundamentals

    The first part of the course introduces fundamental concepts in equation-based object-oriented (EOO) languages in general, focusing on the Modelica language in particular. Besides language concepts, I will also give a fundamental introduction to acausal modeling in Modelica.
    [slides]

  • 12.00-13.00 and 14.30-17.00
    Module B: DAEs and Algorithms in EOO languages

    The second part discusses the concept of DAEs and fundamental algorithms used in EOO compilers. We will go through the main algorithms that are used when simulating an EOO model, including matching, Pantelide's algorithm, and BLT sorting.
    [slides]

Day 2 - November 10, 2014

  • 9.00-11.00
    Module C: Modelyze - Defining equation-based DSLs

    This part will introduce the research language Modelyze, a host language for modeling and analyzing cyber-physical systems (CPS). More specifically, we will explain the main principles of embedded equation-based DSLs and how they can be implemented in Modelyze.
    [slides]

  • 11.00-13.00
    Module D: Co-Simulation and the Functional Mock-up Interface (FMI)

    This last part of the course discusses co-simulation in general, with focus on the Functional Mock-up Interface (FMI).
    [slides]

References

Some of the key references for this course are:
  • David Broman and Jeremy G. Siek. Modelyze: a Gradually Typed Host Language for Embedding Equation-Based Modeling Languages. Technical Report No. UCB/EECS-2012-173. EECS Department. University of California, Berkeley. June 30, 2012. [Tech Report]

  • David Broman and Henrik Nilsson. Node-Based Connection Semantics for Equation-Based Object-Oriented Modeling Languages In Proceedings of Fourteenth International Symposium on Practical Aspects of Declarative Languages (PADL 2012), LNCS 7149, pages 258-272, Philadelphia, Pennsylvania, USA, 2012. [Springer Link]

  • David Broman, Christopher Brooks, Lev Greenberg, Edward A. Lee, Michael Masin, Stavros Tripakis, and Michael Wetter. Determinate Composition of FMUs for Co-Simulation. In Proceedings of the International Conference on Embedded Software (EMSOFT 2013), Montreal, Canada, 2013. [IEEE Link] [Tech Report]

  • David Broman. Meta-Languages and Semantics for Equation-Based Modeling and Simulation. Ph.D. thesis, Thesis No 1333. Department of Computer and Information Science, Linköping University, Sweden, 2010. [PDF]

  • Iain S. Duff. On Algorithms for Obtaining a Maximum Transversal. ACM Transactions on Mathematical Software, 7(3):315-330, 1981.

  • Peter Fritzson, Peter Aronsson, Håkan Lundvall, Kaj Nyström, Adrian Pop, Levon Saldamli, and David Broman The OpenModelica Modeling, Simulation, and Software Development Environment. Simulation News Europe. Issue 44, Pages 8-16, ARGESIM, 2005 [Journal Link]

  • Peter Fritzson. Principles of Object-Oriented Modeling and Simulation with Modelica 2.1. Wiley-IEEE Press, New York, 2004.

  • S. E. Mattsson, H. Olsson, and H. Elmqvist. Dynamic selection of states in Dymola. In Proceedings of the Modelica Workshop, pages 61-67, 2000.

  • S. E. Mattsson and G. Söderlind. Index reduction in differential-algebraic equations using dummy derivatives. SIAM Journal on Scientific Computing, 14(3):677–692, 1993.

  • C. C. Pantelides. The Consistent Initialization of Differential-Algebraic Systems. SIAM Journal on Scientific and Statistical Computing, 9(2):213-231, 1988.

  • R. Tarjan. Depth-first search and linear graph algorithms. SIAM Journal on Computing, 1(2):146-160, 1972.