Mieux modéliser les systèmes cyber-physiques

Assemblages d’éléments physiques et de composants logiciels, les systèmes cyber-physiques deviennent de plus en plus complexes. Pour continuer à les modéliser, il faut donc envisager un changement de paradigme. C’est l’objectif de ModeliScale, un projet coordonné par Inria autour de six équipes de recherche. Les travaux en cours ont permis l’élaboration de deux premiers outils qui pourraient bientôt être intégrés dans le langage Modelica ainsi que dans des logiciels très répandus dans l’industrie.


Image par PublicDomainArchive de Pixabay

 

Les systèmes cyber-physiques sont-ils devenus trop complexes pour être modélisés ? “Bonne question, répond Benoît Caillaud, responsable de l’équipe de recherche Hycomes au centre Inria Rennes – Bretagne Atlantique et coordinateur du projet ModeliScale. La réponse est… oui. Il existe beaucoup de systèmes dans lesquels des pans entiers ne sont pas modélisés. Dans les moteurs d’avions, par exemple, les modèles utilisés pour concevoir la partie physique décrivent des régimes stationnaires. Donc des fonctionnements à l’équilibre et non pas des changements de régimes. Les modèles pour les changements de régime, eux, sont réalisés plus tard par les automaticiens qui en ont besoin pour leur boucle de contrôle. Ce sont des modèles empiriques qui reposent principalement sur les données des bancs d’essais.” Les fabricants préféreraient “avoir une continuité des modèles, des composants de bas niveau jusqu’à des modèles systèmes avec de la dynamique et utilisables par l’automaticien.

Lancé en 2017 pour explorer de nouvelles voies, ModeliScale est ce qu’on appelle un Inria Project Labs (IPL), c’est-à-dire un programme rassemblant plusieurs équipes de recherche sur un problème demandant une action interdisciplinaire d’une certaine envergure. En l’occurrence, six équipes sont mises à contribution : Cosynus (LIX, École Polytechnique), L2S (Centrale-Supélec, CNRS), SSH (U2IS, ENSTA ParisTech), Tripop (Inria), Parkas (Inria) et Hycomes (Inria).

Systèmes multimodes

Une part importante des travaux porte sur l’un des fondements du langage Modelica. À savoir ce que l’on appelle l’analyse structurelle des systèmes d’équations algébro-différentielles (DAE) multimodes. “Les systèmes multimodes sont des modèles physiques ou cyber-physiques dans lesquels la structure du modèle va évoluer au cours du temps.” Exemple ? “Un bilboquet. Il a deux modes. Celui quand la ficelle n’est pas tendue. La boule tombe alors selon la loi de la gravitation. Celui quand la ficelle est tendue. La boule se comporte plus comme un pendule. Quand on va écrire les équations de la mécanique, il va être difficile d’avoir un modèle unique prenant en compte à la fois ces deux modes de fonctionnement et en même temps les transitions d’un mode à l’autre.” Les chercheurs se posent donc une question : “Que faut-il mettre dans un langage comme Modelica pour pouvoir bien faire ce genre de modèles ?

Dymola

Les deux premières années de travaux ont fait émerger “une nouvelle vision mais aussi deux nouveaux outils que nous envisageons d’interfacer avec Dymola, un logiciel de modélisation fondé sur le langage Modelica et développé par Dassault Systèmes avec qui nous collaborons. Nous développons de l’algorithmique de base pour la compilation de Modelica. Les outils actuels ne sont capables de supporter de façon mathématiquement correcte qu’un petit fragment de ce langage. La raison essentielle tient au fait que l’analyse structurelle n’a pas été effectuée en prenant en compte la multiplicité des modes et, en particulier, ce qui peut se passer aux changements de modes.

Prendre en compte la multiplicité des modes

Le premier outil s’appelle IsamDAE. Il permet d’effectuer de l’analyse structurelle multi-mode sans énumération de modes. Qu’est-ce que l’analyse structurelle ? “Quand on a un système d’équations différentielles algébriques, on doit se poser une première question : est-ce que mon système d’équations est déterminé ? Autrement dit : admet-il une solution unique ? On ne peut pas le faire d’une manière certaine, mais presque certaine.” Pourquoi ? “Parce qu’à la compilation, on ne connaît pas la valeur de tous les paramètres et on ignore quels états sont atteignables. Donc, on fait de l’analyse structurelle pour tous les états possibles, y compris quelques états exceptionnels pour lesquels le système d’équations algébro-différentielles est singulier. Dans la littérature, il existe des algorithmes qui font de l’analyse de systèmes d’équations différentielles algébriques, mais mono-mode. Nous, nous avons revu ces algorithmes pour prendre en compte la multiplicité des modes. Nous calculons pour chaque mode l’index structurel de différenciation du système et aussi, pour chaque mode et pour chaque équation, à quel ordre l’équation doit-elle être différentiée pour obtenir un système d’équations déterminé. Ce qui est subtil, c’est qu’on sait le faire sans avoir à énumérer ces modes qui peuvent être très nombreux.” Le second outil s’appelle SunDAE. Il utilise le premier pour “produire du code dans lequel se trouvent des blocs d’équations qui vont être ordonnancés. Cet ordonnancement est dépendant du mode.” Dans un futur assez proche, ce tandem pourrait venir remplacer le cœur des compilateurs du langage Modelica.

Simulation garantie

Des progrès commencent aussi à apparaître sur un deuxième axe de recherche : la simulation garantie. Objectif : “faire de l’intégration numérique tout en apportant des garanties sur les erreurs. Donc borner de manière mathématiquement prouvée les erreurs numériques inhérentes aux schémas de discrétisation et au calcul en virgule flottante. Quand on résout des équations différentielles, qu’elles soient ordinaires (ODE) ou algébriques (DAE), il faut utiliser une méthode numérique. Ce qui revient à discrétiser le temps et donc à introduire un terme d’erreur. À cela s’ajoute le calcul en virgule flottante qui constitue une autre d’approximation, donc une deuxième source d’erreur. Or, il peut s’avérer difficile d’estimer l’impact de ces deux erreurs combinées sur la précision de la méthode numérique.

La solution est de calculer des bornes sur ces erreurs. “Au lieu de calculer une trajectoire filiforme, par des méthodes numériques, nous calculons une enveloppe, une sorte de tuyau, et nous garantissons mathématiquement que la trajectoire s’inscrit dans ce tuyau.” Classiquement, l’état de l’art permettait déjà d’obtenir des approximations de l’enveloppe extérieure de la trajectoire. Les travaux réalisés dans le cadre de Modeliscale par Cosynus, l’équipe de l’école Polytechnique, permettent désormais de calculer des approximations intérieures. Cette avancée “concerne des systèmes possédant des entrées ou des paramètres incertains. Elle permet de résoudre des problèmes de contrôle simples et d’apporter dessus une garantie.

Co-simulation

À plus longue échéance, le projet envisage aussi de nouvelles méthodes de co-simulation. “Dans un moteur de voiture, il va y avoir deux modèles complètement différents : l’un pour la mécanique avec des contraintes de temps assez rapides. Quelques dizaines de micro-secondes. L’autre pour les échanges thermiques, beaucoup plus lent. De la centaine de millisecondes à la seconde. Pour coupler ces modèles, ce n’est pas une bonne idée de les simuler au même pas de temps, ni du point de vue calculatoire, ni du point de vue de la précision. Du coup, il faut que chaque modèle puisse avancer à son rythme. Mais néanmoins, il faut les synchroniser. Le modèle thermique a besoin de savoir quelle est la chaleur produite dans les chambres de combustion. Inversement, le modèle mécanique a besoin de données venant du modèle thermique. Si les pistons chauffent plus vite que les chemises, ça risque de frotter. Ce que l’on veut, c’est que la synchronisation entre ces deux modèles soit la plus lâche possible tout en garantissant les propriétés de convergence numérique. Nous explorons pour cela plusieurs pistes et, en particulier, les schémas QSS (Quantized State Solvers) qui permettent de paralléliser et de désynchroniser la simulation de grands systèmes. Nous souhaiterions adapter ces schémas aux systèmes hybrides.” Cette partie des travaux s’effectue en collaboration avec le groupe Safran, mais, prévient Benoît Caillaud, “c’est une recherche qui est encore au stade des premiers balbutiements.

Les commentaires sont clos.