A Portable Debugger for Algorithmic Modelica Code

In this paper we present the first comprehensive debugger for the algorithmic subset of the Modelica language, which augments previous work in our group on declarative static and dynamic debugging of equations in Modelica. This replaces debugging of algorithmic code using primitive means such as print statements or asserts which is complex, time-consuming and errorprone. The debugger is portable since it is based on transparent source code instrumentation techniques that are independent of the implementation platform. The usual debugging functionality found in debuggers for procedural or traditional object-oriented languages is supported: setting and removing breakpoints, singlestepping, inspecting variables, back-trace of stack contents, tracing, etc.