Hycomes was created a local team of the Rennes - Bretagne Atlantique Inria research center in 2013 and has been created as an Inria Project-Team in 2016. The team is focused on two topics in cyber-physical systems design:

Systems industries today make extensive use of mathematical modeling tools to design computer controlled physical systems. This class of tools addresses the modeling of physical systems with models that are simpler than usual scientific computing problems by using only Ordinary Differential Equations (ODE) and Difference Equations but not Partial Differential Equations (PDE). This family of tools first emerged in the 1980's with SystemBuild by MatrixX (now distributed by National Instruments) followed soon by Simulink by Mathworks, with an impressive subsequent development.

In the early 90's control scientists from the University of Lund (Sweden) realized that the above approach did not support component based modeling of physical systems with reuse 1. For instance, it was not easy to draw an electrical or hydraulic circuit by assembling component models of the various devices. The development of the Omola language by Hilding Elmqvist was a first attempt to bridge this gap by supporting some form of Differential Algebraic Equations (DAE) in the models. Modelica quickly emerged from this first attempt and became in the 2000's a major international concerted effort with the Modelica Consortium. A wider set of tools, both industrial and academic, now exists in this segment 2. In the Electronic Design Automation (EDA) sector, VHDL-AMS was developed as a standard 58 and also enables the use of differential algebraic equations. Several domain-specific languages and tools for mechanical systems or electronic circuits also support some restricted classes of differential algebraic equations. Spice is the historic and most striking instance of these domain-specific languages/tools 3. The main difference is that equations are hidden and the fixed structure of the differential algebraic results from the physical domain covered by these languages.

Despite these tools are now widely used by a number of engineers, they raise a number of technical difficulties. The meaning of some programs, their mathematical semantics, is indeed ambiguous. A main source of difficulty is the correct simulation of continuous-time dynamics, interacting with discrete-time dynamics: How the propagation of mode switchings should be handled? How to avoid artifacts due to the use of a global ODE solver causing unwanted coupling between seemingly non interacting subsystems? Also, the mixed use of an equational style for the continuous dynamics with an imperative style for the mode changes and resets, is a source of difficulty when handling parallel composition. It is therefore not uncommon that tools return complex warnings for programs with many different suggested hints for fixing them. Yet, these “pathological” programs can still be executed, if wanted so, giving surprising results — See for instance the Simulink examples in 27, 19 and 20.

Indeed this area suffers from the same difficulties that led to the development of the theory of synchronous languages as an effort to fix obscure compilation schemes for discrete time equation based languages in the 1980's. Our vision is that hybrid systems modeling tools deserve similar efforts in theory as synchronous languages did for the programming of embedded systems.

Non-Standard analysis plays a central role in our research on hybrid systems modeling 19, 27, 21, 20, 3, 11. The following text provides a brief summary of this theory and gives some hints on its usefulness in the context of hybrid systems modeling. This presentation is based on our paper 2, a chapter of Simon Bliudze's PhD thesis 33, and a recent presentation of non-standard analysis, not axiomatic in style, due to the mathematician Lindström 65.

Non-standard numbers allowed us to reconsider the semantics of hybrid
systems and propose a radical alternative to the super-dense
time semantics developed by Edward Lee and his team as part of the
Ptolemy II project, where cascades of successive instants can occur in
zero time by using infinitesimal and non-standard
integers. Remark that (1) non-standard semantics
provides a framework that is familiar to the computer
scientist and at the same time efficient as a symbolic
abstraction. This makes it an excellent candidate for the development
of provably correct compilation schemes and type systems for hybrid
systems modeling languages.

Non-standard analysis was proposed by Abraham Robinson in the 1960s to allow the explicit manipulation of “infinitesimals” in analysis 75, 50, 46. Robinson's approach is axiomatic; he proposes adding three new axioms to the basic Zermelo-Fraenkel (ZFC) framework. There has been much debate in the mathematical community as to whether it is worth considering non-standard analysis instead of staying with the traditional one. We do not enter this debate. The important thing for us is that non-standard analysis allows the use of the non-standard discretization of continuous dynamics “as if” it was operational.

Not surprisingly, such an idea is quite ancient. Iwasaki et al. 59 first proposed using non-standard analysis to discuss the nature of time in hybrid systems. Bliudze and Krob 32, 33 have also used non-standard analysis as a mathematical support for defining a system theory for hybrid systems. They discuss in detail the notion of “system” and investigate computability issues. The formalization they propose closely follows that of Turing machines, with a memory tape and a control mechanism.

The Modelica language is based on Differential Algebraic Equations (DAE). The general form of a DAE is given by:

where

Let leading variables of

The state variables of

A leading variable algebraic
if

DAE are a strict generalization of ordinary differential
equations (ODE), in the sense that it may not be immediate
to rewrite a DAE as an explicit ODE of the form

For a square DAE of dimension

can locally be made explicit, i.e., the Jacobian matrix of differentiation
index 40 of

In practice, the problem of automatically finding a ”minimal”
solution structural nonsingularity of the Jacobian matrix, i.e., its
almost certain nonsingularity when its nonzero entries vary over some
neighborhood. In this framework, the structural analysis
(SA) of a DAE returns, when successful, values of the

A renowned method for the SA of DAE is the Pantelides method;
however, Pryce's $\Sigma $-method is introduced also in what
follows, as it is a crucial tool for our works.

In 1988, Pantelides proposed what is probably the most well-known SA method for DAE 72. The leading idea of his work is that the structural representation of a DAE can be condensed into a bipartite graph whose left nodes (resp. right nodes) represent the equations (resp. the variables), and in which an edge exists if and only if the variable occurs in the equation.

By detecting specific subsets of the nodes, called Minimally
Structurally Singular (MSS) subsets, the Pantelides method
iteratively differentiates part of the equations until a perfect
matching between the equations and the leading variables is found. One
can easily prove that this is a necessary and sufficient condition for
the structural nonsingularity of the system.

The main reason why the Pantelides method is not used in our work is that it cannot efficiently be adapted to multimode DAE (mDAE). As a matter of fact, the adjacency graph of a mDAE has both its nodes and edges parametrized by the subset of modes in which they are active; this, in turn, requires that a parametrized Pantelides method must branch every time no mode-independent MSS is found, ultimately resulting, in the worst case, in the enumeration of modes.

Albeit less renowned that the Pantelides method, Pryce's
$\Sigma $-matrix, or

This matrix is given by:

where

The primal problem consists in finding a maximum-weight
perfect matching (MWPM) in the weighted adjacency
graph. This is actually an assignment problem, for the solving of
which several standard algorithms exist, such as the push-relabel
algorithm 57 or the Edmonds-Karp
algorithm 52 to only give a few. However, none of
these algorithms are easily parametrizable, even for applications to
mDAE systems with a fixed number of variables.

The dual problem consists in finding the component-wise minimal
solution fixpoint
iteration (FPI) that makes use of the MWPM found as a
solution to the primal problem, described by the set of tuples

From the results proved by Pryce in 73, it is known
that the above algorithm terminates if and only if it is provided a
MWPM, and that the values it returns are independent of the choice of
a MWPM whenever there exist several such matchings. In particular, a
direct corollary is that the

Another important result is that, if the Pantelides method succeeds
for a given DAE

Working with this method is natural for our works, since the algorithm for solving the dual problem is easily parametrizable for dealing with multimode systems, as shown in our recent paper 38.

Once structural analysis has been performed, system

System companies such as automotive and aeronautic companies are facing significant difficulties due to the exponentially raising complexity of their products coupled with increasingly tight demands on functionality, correctness, and time-to-market. The cost of being late to market or of imperfections in the products is staggering as witnessed by the recent recalls and delivery delays that many major car and airplane manufacturers had to bear in the recent years. The specific root causes of these design problems are complex and relate to a number of issues ranging from design processes and relationships with different departments of the same company and with suppliers, to incomplete requirement specification and testing.

We believe the most promising means to address the challenges in systems engineering is to employ structured and formal design methodologies that seamlessly and coherently combine the various viewpoints of the design space (behavior, space, time, energy, reliability, ...), that provide the appropriate abstractions to manage the inherent complexity, and that can provide correct-by-construction implementations. The following technology issues must be addressed when developing new approaches to the design of complex systems:

The challenge is to address the entire process and not to consider only local solutions of methodology, tools, and models that ease part of the design.

Contract-based design has been proposed as a new approach to
the system design problem that is rigorous and effective in dealing
with the problems and challenges described before, and that, at the
same time, does not require a radical change in the way industrial
designers carry out their task as it cuts across design flows of
different types.
Indeed, contracts can be used almost everywhere and at nearly all
stages of system design, from early requirements capture, to embedded
computing infrastructure and detailed design involving circuits and
other hardware. Contracts explicitly handle pairs of properties,
respectively representing the assumptions on the environment and the
guarantees of the system under these assumptions. Intuitively, a
contract is a pair

A detailed bibliography on contract and interface theories for embedded system design can be found in 4. In a nutshell, contract and interface theories fall into two main categories:

Requirements Engineering is one of the major concerns in large systems industries today, particularly so in sectors where certification prevails 76. Most requirements engineering tools offer a poor structuring of the requirements and cannot be considered as formal modeling frameworks today. They are nothing less, but nothing more than an informal structured documentation enriched with hyperlinks. As examples, medium size sub-systems may have a few thousands requirements and the Rafale fighter aircraft has above 250,000 of them. For the Boeing 787, requirements were not stable while subcontractors were working on the development of the fly-by-wire and of the landing gear subsystems, leading to a long and cahotic convergence of the design process.

We see Contract-Based Design and Interfaces Theories as innovative tools in support of Requirements Engineering. The Software Engineering community has extensively covered several aspects of Requirements Engineering, in particular:

Behavioral models and properties, however, are not properly encompassed by the above approaches. This is the cause of a remaining gap between this phase of systems design and later phases where formal model based methods involving behavior have become prevalent—see the success of Matlab/Simulink/Scade technologies. We believe that our work on contract based design and interface theories is best suited to bridge this gap.

The Hycomes team contributes to the design of mathematical modeling languages and tools, to be used for the design of cyberphysical systems. In a nutshell, two major applications can be clearly identified: (i) our work on the structural analysis of multimode DAE systems has a sizeable impact on the techniques to be used in Modelica tools; (ii) our work on the verification of dynamical systems has an impact on the design methodology for safety-critical cyberphysical systems. These two applications are detailed below.

Mathematical modeling tools are a considerable business, with major actors such as MathWorks, with Matlab/Simulink, or Wolfram, with Mathematica. However, none of these prominent tools are suitable for the engineering of large systems. The Modelica language has been designed with this objective in mind, making the best of the advantages of DAEs to support a component-based approach. Several industries in the energy sector have adopted Modelica as their main systems engineering language.

Although multimode features have been introduced in version 3.3 of the language 54, proper tool support of multimode models is still lagging behind. The reason is not a lack of interest from tool vendors and academia, but rather that multimode DAE systems poses several fundamental difficulties, such as a proper definition of a concept of solutions for multimode DAEs, how to handle mode switchings that trigger a change of system structure, or how impulsive variables should be handled. Our work on multimode DAEs focuses on these crucial issues 26.

Thanks to the experimental coupling of Dymola (Dassault Systèmes' commercial implementation of the Modelica language) with our IsamDAE prototype 39, 37, that is being tested at the time of writing of this activity report, a larger class of Modelica models are expected to be compiled and simulated correctly. This should enable industrial users to have cleaner and simpler multimode Modelica models, with dynamically changing structure of cyberphysical systems. On the longer term, our ambition is to provide efficient code-generation techniques for the Modelica language, supporting, in full generality, multimode DAE systems, with dynamically changing differentiation index, structure and dimension.

In addition to well-defined operational semantics for hybrid systems, one often needs to provide formal guarantees about the behavior of some critical components of the system, or at least its main underlying logic. To do so, we are actively developing new techniques to automatically verify whether a hybrid system complies with its specifications, and/or to infer automatically the envelope within which the system behaves safely. The approaches we developed have been already successfully used to formally verify the intricate logic of the ACAS X, a mid-air collision avoidance system that advises the pilot to go upward or downward to avoid a nearby airplane which requires mixing the continuous motion of the aircraft with the discrete decisions to resolve the potential conflict 60. This challenging example is nothing but an instance of the kind of systems we are targeting: autonomous smart systems that are designed to perform sophisticated tasks with an internal tricky logic. What is even more interesting perhaps is that such techniques can be often "reverted" to actually synthesize missing components so that some property holds, effectively helping the design of such complex systems.

The expected impact of our research is to allow both better designs and better exploitation of energy production units and distribution networks, enabling large-scale energy savings. At least, this is what we can observe in the context of the FUI ModeliScale collaborative project, which is focused on electric grids, urban heat networks and building thermal modeling.

The rationale is as follows: system engineering models are meant to assess the correctness, safety and optimality of a system under design. However, system models are still useful after the system has been put in operation. This is especially true in the energy sector, where systems have an extremely long lifespan (for instance, more than 50 years for some nuclear power plants) and are upgraded periodically, to integrate new technologies. Exactly like in software engineering, where a software and its model co-evolve throughout the lifespan of the software, a co-evolution of the system and its physical models has to be maintained. This is required in order to maintain the safety of the system, but also its optimality.

Moreover, physical models can be instrumental to the optimal exploitation of a system. A typical example are model-predictive control (MPC) techniques, where the model is simulated, during the exploitation of the system, in order to predict system trajectories up to a bounded-time horizon. Optimal control inputs can then be computed by mathematical programming methods, possibly using multiple simulation results. This has been proved to be a practical solution 56, whenever classical optimal control methods are ineffective, for instance, when the system is non-linear or discontinuous. However, this requires the generation of high-performance simulation code, capable of simulating a system much faster than real-time.

The structural analysis techniques implemented in IsamDAE 39 generate a conditional block dependency graph, that can be used to generate high-performance simulation code : static code can be generated for each block of equations, and a scheduling of these blocks can be computed, at runtime, at each mode switching, thanks to an inexpensive topological sort algorithm. Contrarily to other approaches (such as 55), no structural analysis, block-triangular decompositions, or automatic differentiation has to be performed at runtime.

This has been an decisive year for the Hycomes yeam, with the evaluation and the extension of the team till the end of 2025, the evaluation of Irisa by the HCERES, the completion of the FUI ModeliScale and Glose projects, the completion of Aurélien Lamercerie's PhD thesis, the publication of three papers at the Modelica'21 conference, and (last but not least) the ongoing development of the IsamDAE software.

The development of the IsamDAE software has been an ongoing effort of the Hycomes team in 2021. This is detailed below.

Modeling languages and tools based on Differential Algebraic Equations (DAE) bring several specific issues that do not exist with modeling languages based on Ordinary Differential Equations. The main problem is the determination of the differentiation index and latent equations. Prior to generating simulation code and calling solvers, the compilation of a model requires a structural analysis step, which reduces the differentiation index to a level acceptable by numerical solvers.

The Modelica language, among others, allows hybrid models with multiple modes, mode-dependent dynamics and state-dependent mode switching. These Multimode DAE (mDAE) systems are much harder to deal with. The main difficulties are (i) the combinatorial explosion of the number of modes, and (ii) the correct handling of mode switchings.

The aim of the software is on the first issue, namely: How can one perform a structural analysis of an mDAE in all possible modes, without enumerating these modes? A structural analysis algorithm for mDAE systems has been designed and implemented, based on an implicit representation of the varying structure of an mDAE. It generalizes J. Pryce's Sigma-method to the multimode case and uses Binary Decision Diagrams (BDD) to represent the mode-dependent structure of an mDAE. The algorithm determines, as a function of the mode, the set of latent equations, the leading variables and the state vector. This is then used to compute a mode-dependent block-triangular decomposition of the system, that can be used to generate simulation code with a mode-dependent scheduling of the blocks of equations.

IsamDAE (Implicit Structural Analysis of Multimode DAE systems) is a software library implementing new structural analysis algorithms for multimode DAE systems, based on an implicit representation of incidence graphs, matchings between equations and variables, and block decompositions. The input of the software is a variable dimension multimode DAE system consisting in a set of guarded equations and guarded variable declarations. It computes a mode-dependent structural index reduction of the multimode system and produces a mode-dependent graph for the scheduling of blocks of equations. It also computes the differentiation order of the latent equations and leading variables, as functions of the modes.

IsamDAE is coded in OCaml, and uses (at least partially) the following packages: MLBDD by Arlen Cox, Menhir by François Pottier and Yann Régis-Gianas, GuaCaml and Snowflake by Joan Thibault, Pprint by François Pottier, XML-Light by Nicolas Cannasse and Jacques Garrigue.

Versions 0.3e and 0.3f (released in July and August 2021):

New features:

• For a structurally nonsingular model, the -a option returns an XML file giving the results of the multimode structural analysis, i.e., this file describes the mode-dependent orders of differentiation (and activation conditions) of all equations and variables in the model, along with the conditions themselves.

• Option -i performs the structural analysis of the consistent initialization problem associated with a multimode model. (As it relies on the results of the structural analysis of long modes, it is only performed if this first analysis succeeds.) A warning message is returned if no initial event is declared. Either the model is deemed structurally nonsingular for all initial events and all associated modes, or the underdetermined and overdetermined subsystems of the initialization system in a given mode are displayed. Improvements of this option, including the generation of a conditional dependency graph for consistent initialization, are planned for later versions.

• Option –siconos performs the generation of simulation code for the nonsmooth numerical simulation tool Siconos. It is compatible with the -o option, that specifies a common prefix for the output C++ files, and comes with two additional options:

• –merge-systems is used for forcing the generation of a single dynamical system for the Siconos simulation, even if the system could be split into several dynamical systems. This option avoids unexpected bugs that can occur during numerical simulation.

• –force-dummy-derivatives is used for forcing the use of dummy derivatives for all time derivatives of all variables of the system. The use of this option is highly recommended for now, as disabling it may lead to out of bounds exceptions (this shall be fixed in a later version).

MEL syntax

• Modules can be declared and instantiated in the MEL language, allowing for a more component-based design. Note that, at the moment, the model is flattened before structural analysis, modular analysis is still in progress.

• Time derivatives of a variable x can now be written as x', x”, and so on. The syntax der(x), der(der(x))... can still be used.

• The n-th order derivative of an external function foo can be written as foo#n.

Performance improvement

• Transitive closure computations were made faster, observed gains vary from a few percents to several orders of magnitude depending on the structure of the model.

Syntax highlighting

• Syntax highlighters for Emacs and Visual Studio Code are now available for the MEL language in the utilities directory.

New examples

• dynamiccheckvalve: three-mode models of a check valve submitted to uncontrollable pressure drops, adapted from a model kindly provided by D. Bouskela (EDF Lab).

• modules/battery_storage_relay: a model of a battery storage with a BMS (battery management system) preventing over-/under-discharges, using a multimode parametrization of relay conditions declared in modules.

• modules/recursive: a MWE of a model with recursive module instantiation, rejected by IsamDAE.

• modules/rldc2-faulty-diode: a module-based adaptation of the RLDC2 model, in which one of the diodes will behave like a small resistor in case of a fault.

• nonsingularchair: a simple adaptation of the so-called singularchair model that solves over/underdetermination issues.

• twotanks: a two-tanks system with control.

• travelersystem: a standard traveler system (or "common" system), used for switching a load on and off from two SPDT switches.

• windkessel: an electrical circuit approximating the windkessel effect observed in the aorta during systole.

Bug fixes

• A bug in the structural analysis and diagnostics of singular models has been fixed.

• An error is returned if several equations of the same name are declared (this was uncaught until version 0.3d, leading to unexpected behavior during the structural analysis).

• The presence of a comment on the last line of a MEL model does not cause unwanted errors at parsing anymore.

• A minor bug affecting line and column counts by the MEL parser has been fixed.

• A minor bug in a function returning the size of a BDD has been fixed.

Thanks to the improvements on the index reduction and block-triangular decomposition algorithms, it has been possible to perform the structural analysis of systems with more than 2500 equations and 10 to the power 115 modes, therefore demonstrating the scalability of the method.

A multimode initialization structural analysis method has been implemented. It decides whether the initial equations, combined with the consistency equations are structurally nonsingular, for all possible initial modes of a model.

A Siconos code generator has been implemented in IsamDAE. It supports the generation of C code, to be interfaced with the Siconos library, for the simulation of Mixed Complementarity Systems defined as the combination of a DAE with complementarity or relay conditions.

Since version 3.3, the Modelica language offers the possibility of specifying multimode dynamics, by describing state machines with different DAE dynamics in each different state 53. This feature enables describing large complex cyber-physical systems with different behaviors in different modes.

While being undoubtedly valuable, multimode modeling has been the source of serious difficulties for non-expert users of the current generation of Modelica tools. Indeed, while many large-scale Modelica models are properly handled, some physically meaningful models do not result in correct simulations with most Modelica tools. As such problematic models are actually easy to construct, the likelihood of such bad cases occurring in large models is significant.

It is unfortunately unclear which multimode Modelica models will be properly handled, and which ones will fail. As a consequence, quite often, end users have to ask Modelica experts, or even tool developers themselves, to tweak their models in order to make them work as expected. While it is accepted that physical modeling itself requires expertise, requiring expertise in how to get around tool idiosyncrasies is not desirable. This situation hinders a wider spreading of Modelica tools among a larger class of users, such as Simulink-trained engineers.

As our review of several examples, presented in 8 and 9, reveals, this problem is due to an inadequate structural analysis, performed during compilation. As far as we know, no industrial-strength Modelica tool implements a mode-dependent structural analysis. Worse, it is not even understood what kind of structural analysis should be associated with mode change events.

Some years ago, we started a project aiming at addressing all the above issues 24, 23, 26. In 8, we cast our approach in the context of the Modelica language, by illustrating it on two simple yet physically meaningful examples that current Modelica tools fail to properly simulate. The use of nonstandard analysis allows us to perform the analysis of both modes and mode changes in a unified framework, including the handling of transient modes and that of impulsive mode changes. Standardization techniques are then used in order to generate effective code for restarts at mode changes. As an efficient implementation of such methods in Modelica compilers would greatly expand the class of multimode models amenable to reliable numerical simulation, we hint at possible mechanizations towards the end of the paper; this aspect is developed further in both the companion paper 7 and the previously published article 38.

Another issue is the existence, in many physical models, of impulsive behaviors for some variables. With existing tools, such models give rise to failed or inaccurate simulations. Impulsive behaviors are already a problem from a mathematical standpoint, as they do not fall within the classical concepts of solutions of a DAE system, that assume the smoothness of the trajectories.

To cope with this issue, distributions were considered by some authors. To our knowledge, the most comprehensive approach was provided by Stephan Trenn. In his PhD thesis 77 and his article 78, he pointed out the difficulty in defining piecewise smooth distributions: several mathematically sound definitions of the “Dirac part” of such a distribution can be considered, so that it has no intrinsic definition. This indicates that distributions are not the ultimate answer to deal with impulsive variables in multimode DAE systems. Still, 64 were able to define complete solutions for a class of switched DAE systems in which each mode is in quasi-linear form and switching conditions are time-based, not state-based.

Another important step forward was done in 22. An interesting subclass of multimode DAE systems was identified, which possibly exhibit impulsive variables at mode changes. They extend the “quasi-linear systems” proposed by Trenn in the sense that switching conditions are no longer restricted to time-based ones, instead including state-based switching conditions. The analysis and discretization schemes proposed in 22 are mathematically sound. Building on this work, Martin Otter has developed the ModiaMath tool for semi-linear multimode DAE systems.

Since this work, this approach was refined and extended in 26, and is illustrated on examples in 8. In a nutshell, a complete structural analysis of multimode DAE systems is proposed in these papers. In particular, this approach distinguishes between long modes, in which the dynamics is continuous-time and governed by a DAE system for a strictly positive duration, and transient modes, which are zero duration events at which state-jumps may occur.

We develop in 7 another important aspect of our approach, by focusing on impulsive behaviors. To analyze this behavior, we propose a general compile-time analysis, acting as an additional step of the multimode structural analysis presented in the companion paper 8. Since distributions fail to properly handle impulsive behaviors in general, our mathematical tool for this is nonstandard analysis 75, 46, 65, which allows for a correct use of infinities and infinitesimals in mathematical analysis. We use this setting in two ways:

A compile-time calculus that evaluates the impulse order of algebraic variables is detailed in the paper. Finite impulse orders can be used to renormalize impulsive variables when implementing a numerical scheme that approximates the restart values for each state variable of the system.

In a third paper 9, presented at the Modelica'21 conference, we propose a systematic way of rewriting a multimode Modelica model, based on the results of an already implemented multimode structural analysis. The rewritten Modelica model is guaranteed to be correctly compiled by state-of-the-art Modelica tools. Simulation results are presented on a simple, yet meaningful, physical system whose original Modelica model is not correctly handled by state-of-the-art Modelica tools.

We demonstrate how the results of this multimode structural analysis can be used for transforming a multimode Modelica model into its RIMIS (Reduced Index Mode-Independent Structure) form, which is guaranteed to yield correct execution on state-of-the-art Modelica tools. This method is illustrated on a water tank model for which current Modelica tools fail to execute; in this model, the differentiation index depends on the mode, which is a difficulty for these tools. In particular, we explain how existing structural analysis methods fail to yield correct execution code for this model, then demonstrate the generation of a target Modelica code under RIMIS form, resulting in a correct simulation of the model. Our approach is then formalized for its broad application to a large class of Modelica multimode models.

We present concise and canonical representations of Boolean functions akin to Binary Decision Diagrams, a versatile data structure with several applications beyond computer science. Our approach is functional: we encode the process that constructs the Boolean function of interest starting from the constant function zero (or False). This point of view makes the data structure more resilient to variable ordering, a well-known problem in standard representations. The experiments on both dense and sparse formulas are very encouraging and show not only a better compression rate of the final representation than all existing related variants but also a lower memory peak.

For Ordered Functional Decision Diagrams, we introduce a novel framework, termed λDD, that revisits Binary Decision Diagrams from a purely functional point of view. The framework allows to classify the already existing variants, including the most recent ones like Chain-DD and ESRBDD, as implementations of a special class of ordered models. We enumerate, in a principled way, all the models of this class and isolate its most expressive model. This new model, termed λDD-O-NUCX, is suitable for both dense and sparse Boolean functions, and is moreover invariant by negation. The canonicity of λDD-O-NUCX is formally verified using the Coq proof assistant. We furthermore give bounds on the size of the different diagrams: the potential gain achieved by more expressive models can be at most linear in the number of variables n.

In the context of Christelle Kozaily's PhD, we have shown that the existence of solutions for linear complementarity problems amounts to a covering of the entire space by a set of finite cones defined by the involved vectors as well as the standard basis. We give several full characterizations in dimension 2 and detail how these could be used to derive several necessary conditions for higher dimensions. The local existence of solutions is also investigated. It is shown that the positivity condition on the determinant, or equivalently, the orientation of the vectors forming the complementarity cones cannot be captured purely structurally.

In 12, we present two characterizations of positive invariance of sets for systems of ordinary differential equations. The first characterization uses inward sets which intuitively collect those points from which the flow evolves within the set for a short period of time, whereas the second characterization uses the notion of exit sets, which intuitively collect those points from which the flow immediately leaves the set. Our proofs emphasize the use of the real induction principle as a generic and unifying proof technique that captures the essence of the formal reasoning justifying our results and provides cleaner alternative proofs of known results. The two characterizations presented in this article, while essentially equivalent, lead to two rather different decision procedures (termed respectively LZZ and ESE) for checking whether a given semi-algebraic set is positively invariant under the flow of a system of polynomial ordinary differential equations. The procedure LZZ improves upon the original work by Liu, Zhan and Zhao 66. The procedure ESE, introduced in this article, works by splitting the problem, in a principled way, into simpler sub-problems that are easier to check, and is shown to exhibit substantially better performance compared to LZZ on problems featuring semi-algebraic sets described by formulas with non-trivial Boolean structure.

In the context of a framework agreement between Safran Tech. of the Safran aeronautic group and Inria, the Hycomes team, jointly with the KAIROS and DIVERSE teams, contributed to the Glose research grant funded by Safran. In 2021, Benoît Caillaud and Mathias Malandain have contributed an hybrid systems extension of CosApp, an open-source modeling and simulation framework developed in Python, supporting system design activities. This extension implements the main language features advocated in 19 and previously experimented in the Zélus hybrid systems modeling language. There are significant differences between Zélus and CosApp though, in part related to the fact that CosApp supports dynamic reconfigurations of the model at runtime. One difference is that, unlike in the Zélus language, the segregation between continuous-time and discrete-time dynamics is achieved by distinguishing continuous-time and discrete-time variables. A common feature of both languages is the introduction of the concept of events, defined as the zero-crossing of a numerical expression. The CosApp hybrid systems extension is currently being tested within Safran and is expected to be merged in the master distribution branch of the framework in 2022.

The project gathers researchers from three Inria teams (Hycomes, Parkas and Tripop), and from three other research labs in Paris area (ENSTA Paris-Tech, L2S-CNRS and LIX, École Polytechnique).

The main objective of ModeliScale is to advance modeling technologies (languages, compile-time analyses, simulation techniques) for CPS combining physical interactions, communication layers and software components. We believe that mastering CPS comprising thousands to millions of components requires radical changes of paradigms. For instance, modeling techniques must be revised, especially when physics is involved. Modeling languages must be enhanced to cope with larger models. This can only be done by combining new compilation techniques (to master the structural complexity of models) with new mathematical tools (new numerical methods, in particular).

ModeliScale gathers a broad scope of experts in programming language design and compilation (reactive synchronous programming), numerical solvers (nonsmooth dynamical systems) and hybrid systems modeling and analysis (guaranteed simulation, verification). The research program is carried out in close cooperation with the Modelica community as well as industrial partners, namely, Dassault Systèmes as a Modelica/FMI tool vendor, and EDF and Engie as end users.

In 2021, one general meeting and a final review meeting have been organized at the Inria Paris research center premises, with presentations of the partners on new results related to hybrid systems modeling and verification.

Two PhDs are funded by the ModeliScale Challenge. Both started in October 2018:

FUI ModeliScale was a French national collaborative project coordinated by Dassault Systèmes. The partners of this project are: EDF and Engie as main industrial users; DPS, Eurobios and PhiMeca are SME providing mathematical modeling expertise; CEA INES (Chambéry) and Inria are the academic partners. The project started in 2018 and has been completed in September 2021. Three Inria teams have contributed to the project : Hycomes, Parkas (Inria Paris / ENS) and Tripop (Inria Grenoble / LJK).

The focus of the project was on the scalable analysis, compilation and simulation of large Modelica models. The main contributions expected from Inria have been:

In 2021, the effort has been put on the first objective, and in particular the improvement of the scalability of the algorithms implemented in the IsamDAE software. The performance of the tool has been improved by two orders of magnitude on some examples. This has allowed us to perform the structural analysis of multimode models of more than 2500 equations and 10 to the power 115 modes.

A multimode initialization structural analysis method has been released in version v0.3f of IsamDAE. It decides whether the initial equations, combined with the consistency equations are structurally nonsingular, for all possible initial modes of a model.

A Siconos code generator has also been implemented in version v0.3f of IsamDAE. It supports the generation of C code, to be interfaced with the Siconos library, for the simulation of Mixed Complementarity Systems defined as the combination of a DAE with complementarity or relay conditions.

A coupling of IsamDAE with Dymola (Dassault Système's commercial implementation of the Modelica language) has been implemented by Dassault Systèmes AB (Lund, Sweden), and has been successfully tested on several Modelica models.

Contributing to the broad dissemination of the results of the FUI ModeliScale project, Albert Benveniste, Benoît Caillaud and Mathias Malandain have coauthored three papers 7, 8, 9 on the topic of multimode model handling by Modelica tools. These papers have been presented at the Modelica'21 conference.

Benoît Caillaud has contributed, jointly with Patrick Chombart (Dassault Systèmes) and Luis Corona (EDF), to a talk at the 1DCAE MBD Symposium of the Japan Society of Mechanical Engineers, presenting the main results of the FUI ModeliScale project.

In 2021, Benoît Caillaud has served on the program committee of the FDL'21 (Forum on specification and Design Languages) conference. He chaired a panel on cyberphysical systems modeling and simulation.

In 2021, Benoît Caillaud has reviewed papers for the following journals: Applied Mathematics and Computation, Discrete Event Dynamic Systems.

Albert Benveniste is member of the French National Academy of Technology. He also serves of the Scientific Advisory Board of the aeronautic company Safran.

Benoît Caillaud has been head of the Language and Software Engineering department of IRISA and member of the Scientific Board of IRISA, until the successful evaluation of the laboratory by the HCERES, in February 2021. He then passed the responsability, after five years of duty, to Nicolas Markey.

Benoît Caillaud has co-supervised (with Annie Forêt) Aurélien Lamercerie's PhD, defended in April 2021. In a nutshell Aurélien Lamercerie's PhD thesis focuses on the combined use of natural language processing techniques and formal methods, to support formal reasoning on reactive systems behavioral requirements, expressed in a fragment of the English language.

Benoît Caillaud and Khalil Ghorbal are co-supervising Joan Thibault's PhD work. Joan Thibault is focusing on compositional computation techniques for concise and canonical representations of Boolean functions akin to Binary Decision Diagrams.

Benoît Caillaud and Khalil Ghorbal are co-supervising (with Vincent Acary) Christelle Kozaily's PhD. Christelle Kozaily is working on the characterization, by geometric methods, of the existence of solution of Linear Complementarity Problems.

Benoît Caillaud has been external examiner of Stefano Centomo's PhD thesis (U. Verona, Italy).