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.
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]
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]
- 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.