May 15–17, 2017 in Prague, Czech Republic
[Proceedings] [Sessions] [Authors] [Schedule] [Further material]

Session 10B: Modelica Language & Tools

Title: Innovations for Future Modelica
Authors: Hilding Elmqvist, Toivo Henningsson and Martin Otter
Abstract:This paper discusses language innovations for future Modelica versions, on the one hand for generally applicable language elements, and on the other hand to improve modeling of multibody systems with contacts, and media modeling. In a companion paper new algorithms are proposed to handle much larger models than can be treated today. All these innovations are developed and evaluated with the experimental modeling and simulation environment Modia. Modia is based on Julia, a powerful programming language with strong focus on scientific computing, meta-programming and just-in-time compilation that allows very fast development. The modeling language is directly defined and implemented with Julia’s meta-programming constructs and is designed tightly together with the symbolic and numeric algorithms. This approach is very well suited for innovation and experimenting with evolutions of modeling capabilities in Modelica.
Links: Full paper

Title: Hierarchical Semantics of Modelica
Authors: Christoph Höger
Abstract:We present a definition of syntax and semantics for Modelica's hierarchical lookup. By using a context-independent encoding of the static semantics of free variables, it becomes possible to define the evaluation of references within a calculus based on substitution. Hence, all steps of evaluation have a concrete syntactic representation. We augment the calculus with a terminating evaluation and a semantics-preserving translation to a basic \(\lambda\)-calculus.
Links: Full paper

Title: Towards a Standard-Conform, Platform-Generic and Feature-Rich Modelica Device Drivers Library
Authors: Bernhard Thiele, Thomas Beutlich, Volker Waurich, Martin Sjölund and Tobias Bellmann
Abstract:There are many cases where simulation applications need to interact with their environment. Typical examples are Human-in-the-Loop (HITL) simulators (including flight, driving, and marine training simulators), Hardware-in-the-Loop (HIL) simulators, but also offline process simulators which cannot operate in a completely self-contained manner and therefore need to be coupled to external applications. Embedded control applications are another related area which requires that applications interact with their environment. The Modelica_DeviceDrivers library, which had its first release as open-source library in 2012, tries to cater for such use cases. This paper describes the library for the first time and reports about the numerous challenges that the project experienced to meet its goal of supporting several platforms and tools within a standard-conform, platform-generic, feature-rich, and easy-to-use Modelica library.
Links: Full paper

Title: modelica.university: A Platform for Interactive Modelica Content
Authors: Michael Tiller and Dietmar Winkler
Abstract:The web was conceived of as a medium for the expression and exploration of scientific and engineering ideas. However, observing the actual content on the web, an alien race might presume that the primary impetus for web technologies was the dessimention of cat videos or celebrity gossip. Fundamentally, HTML and HTTP are certainly sufficient for the creation of scientific and engineering content just as they are for the creation of online magazines and websites. But while a number of "content management systems" have been created to facilitate the publication of prose, there are very few such tools that cater to making it easy to create scientific and engineering content. In this paper, we will present a platform which can be thought of as a content management system for scientific and engineering content. We will start by describing what we believe to be the fundamental requirements for such a system. From there, we will discuss two different applications built on this platform. The first is an interactive tutorial for teaching the basics of the Modelica languages and the other is an example application that involves creating interactive content for use in an engineering course on hydro-electric power generation. This content will be published on the modelica.university domain and we invite others to contribute additional content to the site.
Links: Full paper