Principles of Equation-Based
Object-Oriented Modeling and Languages
Mini-course, December 9-10, Scuola Superiore
, Pisa, Italy. [Flyer
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.
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
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
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.
- 12.00-13.00 and 14.30-17.00
Module B: DAEs and Algorithms in EOO languages
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.
Day 2 - November 10, 2014
Module C: Modelyze - Defining equation-based DSLs
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.
Module D: Co-Simulation and the Functional Mock-up Interface
This last part of the course discusses co-simulation in
general, with focus on
the Functional Mock-up
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.
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
LNCS 7149, pages 258-272, Philadelphia, Pennsylvania,
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.
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.
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
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.