Generating FMUs for the Feature-Based Language Bloqqi

Niklas Fors
Department of Computer Science, Lund University, Sweden

Joel Petersson
Modelon AB, Sweden

Maria Henningsson
Modelon AB, Sweden

Ladda ner artikelhttp://dx.doi.org/10.3384/ecp18148245

Ingår i: Proceedings of the 2nd Japanese Modelica Conference, Tokyo, Japan, May 17-18, 2018

Linköping Electronic Conference Proceedings 148:34, s. 245-254

Visa mer +

Publicerad: 2019-02-21

ISBN: 978-91-7685-266-8

ISSN: 1650-3686 (tryckt), 1650-3740 (online)


In this paper, we describe how we generate Functional Mock-up Units (FMUs) for the automation block language Bloqqi. This allows Bloqqi control programs to be tested with simulations of the physical processes they control. The physical process can be specified in any tool that supports the Functional Mockup-Interface (FMI) standard. For example, we have successfully run Bloqqi programs together with Modelica models exported as FMUs. Bloqqi programs execute at discrete times, and we describe how this is handled in the implementation of the DoStep function, specified in the standard.


FMI; Bloqqi; code generation


Johan Åkesson, Torbjörn Ekman, and Görel Hedin. Implementation of a Modelica compiler using JastAdd attribute grammars. Science of Computer Programming, 75(1-2):21–38, 2010.

Torsten Blochwitz, Martin Otter, Johan Åkesson, Martin Arnold, Christoph Clauss, Hilding Elmqvist, Markus Friedrich, Andreas Junghanns, Jakob Mauss, Dietmar Neumerkel, et al. Functional mockup interface 2.0: The standard for tool independent exchange of simulation models. In 9th International Modelica Conference, 2012.

David Broman, Christopher X. 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, pages 2:1–2:12, 2013.

Anton Cervin, Dan Henriksson, Bo Lincoln, Johan Eker, and Karl-Erik Årzén. How does control timing affect performance? Analysis and simulation of timing using Jitterbug and TrueTime. IEEE Control Systems Magazine, 23(3):16–30, June 2003.

Fabio Cremona, Marten Lohstroh, David Broman, Stavros Tripakis, and Edward A. Lee. Hybrid Co-simulation: It’s About Time. Technical report, Electrical Engineering and Computer Sciences University of California at Berkeley, April 2017.

Torbjörn Ekman and Görel Hedin. The JastAdd system – modular extensible compiler construction. Science of Computer Programming, 69(1-3):14–26, 2007.

fmi standard. Functional mock-up interface, 2017. URL http://fmi-standard.org/.

Niklas Fors. The Design and Implementation of Bloqqi – A Feature-Based Diagram Programming Language. PhD thesis, Lund University, October 2016.

Niklas Fors and Görel Hedin. Intercepting dataflow connections in diagrams with inheritance. In IEEE Symposium on Visual Languages and Human-Centric Computing, pages 21–24, 2014. doi:10.1109/VLHCC.2014.6883016.

Niklas Fors and Görel Hedin. Bloqqi: modular feature-based block diagram programming. In 2016 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Onward! 2016, Amsterdam, The Netherlands, November 2-4, 2016, pages 57–73, 2016. doi:10.1145/2986012.2986026.

Rüdiger Franke, Sven Erik Mattson, Martin Otter, Karl Wernersson, Hans Olsson, Lennart Ochel, and Torsten Blochwitz. Discrete-time models for control applications with fmi. In 12th International Modelica Conference, 2017.

P.A. Fritzson. Principles of object-oriented modeling and simulation with Modelica 2.1. Wiley-IEEE Press, 2004.

Görel Hedin. Reference Attributed Grammars. In Informatica (Slovenia), 24(3), pages 301–317, 2000.

Jochen Köhler, Hans-Martin Heinkel, Pierre Mai, Jürgen Krasser, Markus Deppe, and Mikio Nagasawa. Modelicaassociation- project ”system structure and parameterization” – early insights. In 1st Japanese Modelica Conference, 2016.

Roberto Lublinerman, Christian Szegedy, and Stavros Tripakis. Modular code generation from synchronous block diagrams: modularity vs. code size. In Proceedings of the 36th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2009, Savannah, GA, USA, January 21-23, 2009, pages 78–89, 2009.

Modelica. The Modelica Association, 2018. http://www.modelica.org.

Harald Vogt, S. Doaitse Swierstra, and Matthijs F. Kuiper. Higher-order attribute grammars. In PLDI, pages 131–145, 1989.

Citeringar i Crossref