*Article accepted for publication in the Annual Review in Control*

Modern modeling languages for general physical systems, such as Modelica, Amesim, or Simscape, rely on Differential Algebraic Equations (DAE), i.e., constraints of the form f(x’,x,u)=0. This drastically facilitates modeling from first principles of the physics and the reuse of models. In this paper we develop the mathematical theory needed to establish the development of compilers and tools for DAE based physical modeling languages on solid mathematical bases. Unlike Ordinary Differential Equations, DAE exhibit subtle issues because of the notion of differentiation index and related latent equations — ODE are DAE of index zero for which no latent equation needs to be considered. Prior to generating execution code and calling solvers, the compilation of such languages requires a nontrivial structural analysis step that reduces the differentiation index to a level acceptable by DAE solvers. The models supported by tools of the Modelica class involve multiple modes with mode-dependent DAE based dynamics and state-dependent mode switching. Multimode DAE are much more difficult than DAE. The main difficulty is the handling of the events of mode change. Unfortunately, the large literature devoted to the mathematical analysis of DAEs does not cover the multimode case, typically saying nothing about mode changes. This lack of foundations causes numerous difficulties to the existing modeling tools. Some models are well handled, others are not, with no clear boundary between the two classes. In this paper, we develop a comprehensive mathematical approach supporting compilation and code generation for this class of languages. Its core is the structural analysis of multimode DAE systems. As a byproduct of this structural analysis, we propose well sound criteria for accepting or rejecting models. For our mathematical development, we rely on nonstandard analysis, which allows us to cast hybrid systems dynamics to discrete time dynamics with infinitesimal step size, thus providing a uniform framework for handling both continuous dynamics and mode change events.

Author version available on HAL: [hal-02521747]