Martin Sjölund
Department of Computer and Information Science, Linköping University, Sweden
Peter Fritzson
Department of Computer and Information Science, Linköping University, Sweden
Download articlePublished in: Proceedings of the 4th International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools;
Zurich; Switzerland; September 5; 2011
Linköping Electronic Conference Proceedings 56:8, p. 67-74
Published: 2011-11-03
ISBN: 978-91-7519-825-5
ISSN: 1650-3686 (print), 1650-3740 (online)
How do you debug application models in an equation-based object-oriented (EOO) programming language? Compilers for these tools tend to optimize the model so heavily that it is hard to tell the origin of an equation during runtime.
This work proposes and implements a prototype of a method that is efficient; yet manages to keep track of all the transformations/operations that the compiler performs on the model. The method also considers the ability to collapse certain operations so that they appear to the user as a single expandable operation.
Using such a method enables makers of compilers for EOO programming languages to create debugging tools that contain sufficiently detailed information while still being appealing to the user as they minimize duplicate information.
[1] Ed Anderson et al. LAPACK Users’ Guide. Society for Industrial and Applied Mathematics; 1999.
[2] Uri Ascher and Linda Petzold. Computer Methods for Ordinary Differential Equations and Differential- Algebraic Equations. Society for Industrial and Applied Mathematics; 1998.
[3] Torsten Blochwitz et al. The functional mockupinterface for tool independent exchange of simulation models. In Modelica’2011 [16].
[4] Jean Bovet and Terence Parr. ANTLRWorks: an ANTLR grammar development environment. Software: Practice and Experience; 38:1305--1332; 2008.
[5] Willi Braun; Lennart Ochel; and Bernhard Bachmann.Symbolically derived Jacobians using automatic differentiation - enhancement of the OpenModelica compiler. In Modelica’2011 [16].
[6] Peter Bunus. Debugging and Structural Analysis of Declarative Equation-Based Languages. Licentiate thesis No 964; Linköping University; Department of Computer and Information Science; 2002.
[7] Conal Elliott. Beautiful differentiation. In International Conference on Functional Programming (ICFP); 2009.
[8] Jens Frenkel; Christian Schubert; Günter Kunze; Peter Fritzson; and Adrian Pop. Towards a benchmark suite for modelica compilers: Large models. In Modelica’ 2011 [16].
[9] Peter Fritzson. Principles of Object-Oriented Modeling and Simulation with Modelica 2.1. Wiley-IEEE Press; February 2004.
[10] 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; 44/45; December 2005.
[11] Peter Fritzson et al. Openmodelica 1.7.0; April 2011.
[12] Michaela Huhn; Martin Sjölund; Wuzhu Chen; Christan Schulze; and Peter Fritzson. Tool support for Modelica real-time models. In Modelica’2011 [16].
[13] Sven Erik Mattsson and Gustaf Söderlind. Index reduction in differential algebraic equations using dummy derivatives. Siam Journal on Scientific Computing; 14:677--692; May 1993.
[14] Modelica Association. The Modelica Language Specification version 3.2; 2010
[15] Modelica Association. Modelica Standard Library version 3.1; 2010.
[16] Proceedings of the 8th International Modelica Conference.Linköping University Electronic Press; March 2011.
[17] Roberto Parrotto; Johan Åkesson; and Francesco Casella. An XML representation of DAE systems obtained from continuous-time Modelica models. In Proceedings of the 3rd International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools; pages 91--98. Linköping University Electronic Press; October 2010.
[18] Adrian Pop and Peter Fritzson. Towards run-time debugging of equation-based object-oriented languages. In Proceedings of the 48th Scandinavian Conference on Simulation and Modeling (SIMS); October 2007.
[19] Richard Stallman; Roland Pesch; Stan Shebs; et al. Debugging with GDB. Free Software Foundation; 2011.