“Industrial Evaluation of Integrated Performance Analysis and Equation Model Debugging for Equation-Based Models”

Authors: Åke Kinnander, Martin Sjölund and Adrian Pop,
Affiliation: SIEMENS and Linköping University
Reference: 2016, Vol 37, No 4, pp. 225-236.

Keywords: profiler, debugging, Modelica, industrial, OpenModelica

Abstract: The ease of use and the high abstraction level of equation-based object-oriented (EOO) languages such as Modelica has the drawback that performance problems and modeling errors are often hard to find. To address this problem, we have earlier developed advanced performance analysis and equation model debugging support in the OpenModelica tool. The aim of the work reported in this paper is to perform an independent investigation and evaluation of this equation model performance analysis and debugging methods and tool support on industrial models. The results turned out to be mainly positive. The integrated debugger and performance analyzer locates several kinds of errors such as division by zero, chattering, etc., and greatly facilitates finding the equations that take most of the execution time during simulation. It remains to further evaluate the performance profiler and debugger on even larger industrial models.

PDF PDF (1398 Kb)        DOI: 10.4173/mic.2016.4.3

DOI forward links to this article:
[1] R P Mitrev, B N Tudjarov and T S Todorov (2019), doi:10.1088/1757-899X/664/1/012015
References:
[1] Bunus, P. (2004). Bunus, P, Debugging techniques for Equation-Based languages. Doctoral thesis No 873, Linköping University, Department of Computer and Information Science. http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-35555, .
[2] Fritzson, P. (2015). Fritzson, P, Principles of Object-Oriented Modeling and Simulation with Modelica 3.3: A Cyber-Physical Approach. Wiley-IEEE Press, 2 edition. .
[3] Graham, S., Kessler, P., and McKusick, M. (1983). Graham, S, , Kessler, P., and McKusick, M. An execution profiler for modular programs. Software: Practice and Experience. 13(8):671--685. doi:10.1002/spe.4380130803
[4] Huhn, M., Sjölund, M., Chen, W., Schulze, C., and Fritzson, P. (2011). Huhn, M, , Sjölund, M., Chen, W., Schulze, C., and Fritzson, P. Tool support for Modelica real-time models. In C.Clauß, editor, Proceedings of the 8th International Modelica Conference. Linköping University Electronic Press. doi:10.3384/ecp11063537
[5] Kinnander, Aa., Sjölund, M., and Pop, A. (2016). Kinnander, Aa, , Sjölund, M., and Pop, A. Industrial evaluation of an efficient equation model debugger in OpenModelica. In Proceedings of 9th EUROSIM Congress on Modelling and Simulation. 2016. .
[6] Modelica Association. (2014). Modelica Association, Modelica: A unified object-oriented language for physical systems modeling, language specification version 3.3 revision 1. 2014. http://www.modelica.org/, .
[7] Nethercote, N. and Seward, J. (2007). Nethercote, N, and Seward, J. Valgrind: a framework for heavyweight dynamic binary instrumentation. In Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation, PLDI '07. pages 89--100, 2007. doi:10.1145/1250734.1250746
[8] Open Source Modelica Consortium. (2016). Open Source Modelica Consortium, Openmodelica. 2016. https://openmodelica.org/. .
[9] Pop, A. and Fritzson, P. (2005). Pop, A, and Fritzson, P. A portable debugger for algorithmic Modelica code. In G.Schmitz, editor, Proceedings of the 4th International Modelica Conference. 2005. .
[10] Pop, A., Sjölund, M., Ashgar, A., Fritzson, P., and Casella, F. (2014). Pop, A, , Sjölund, M., Ashgar, A., Fritzson, P., and Casella, F. Integrated Debugging of Modelica Models. Modeling, Identification and Control. 35(2):93--107. doi:10.4173/mic.2014.2.3
[11] Schulze, C., Huhn, M., and Schüler, M. (2010). Schulze, C, , Huhn, M., and Schüler, M. Profiling of Modelica real-time models. In P.Fritzson, E.Lee, F.Cellier, and D.Broman, editors, Proceedings of the 3rd International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools. Linköping University Electronic Press, pages 23--32. http://www.ep.liu.se/ecp/047/, .
[12] Sjölund, M. (2015). Sjölund, M, Tools and Methods for Analysis, Debugging, and Performance Improvement of Equation-Based Models. Doctoral thesis No 1664, Linköping University, Department of Computer and Information Science. doi:10.3384/diss.diva-116346
[13] Sjölund, M., Fritzson, P., and Pop, A. (2014). Sjölund, M, , Fritzson, P., and Pop, A. Bootstrapping a Compiler for an Equation-Based Object-Oriented Language. Modeling, Identification and Control. 35(1):1--19. doi:10.4173/mic.2014.1.1
[14] Stallman, R., Pesch, R., Shebs, S., etal. (2014). Stallman, R, , Pesch, R., Shebs, S., etal. Debugging with GDB. Free Software Foundation. http://www.gnu.org/software/gdb/documentation/, .
[15] Zeller, A. (2009). Zeller, A, Why Programs Fail: A Guide to Systematic Debugging. Morgan Kaufmann Publishers Inc., 2nd edition. .


BibTeX:
@article{MIC-2016-4-3,
  title={{Industrial Evaluation of Integrated Performance Analysis and Equation Model Debugging for Equation-Based Models}},
  author={Kinnander, Åke and Sjölund, Martin and Pop, Adrian},
  journal={Modeling, Identification and Control},
  volume={37},
  number={4},
  pages={225--236},
  year={2016},
  doi={10.4173/mic.2016.4.3},
  publisher={Norwegian Society of Automatic Control}
};