L'apport des logiciels libres à la modélisation et la simulation des systèmes dynamiques

31/08/2017
Publication REE REE 2006-4
OAI : oai:www.see.asso.fr:1301:2006-4:19732
DOI :

Résumé

L'apport des logiciels libres à la modélisation et la simulation des systèmes dynamiques

Métriques

20
4
1.45 Mo
 application/pdf
bitcache://20b5ef62fc2c82f4f47b8a948bef4dd6fddd2017

Licence

Creative Commons Aucune (Tous droits réservés)
<resource  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xmlns="http://datacite.org/schema/kernel-4"
                xsi:schemaLocation="http://datacite.org/schema/kernel-4 http://schema.datacite.org/meta/kernel-4/metadata.xsd">
        <identifier identifierType="DOI">10.23723/1301:2006-4/19732</identifier><creators><creator><creatorName>Thierry Bastogne</creatorName></creator></creators><titles>
            <title>L'apport des logiciels libres à la modélisation et la simulation des systèmes dynamiques</title></titles>
        <publisher>SEE</publisher>
        <publicationYear>2017</publicationYear>
        <resourceType resourceTypeGeneral="Text">Text</resourceType><dates>
	    <date dateType="Created">Thu 31 Aug 2017</date>
	    <date dateType="Updated">Thu 31 Aug 2017</date>
            <date dateType="Submitted">Fri 10 Aug 2018</date>
	</dates>
        <alternateIdentifiers>
	    <alternateIdentifier alternateIdentifierType="bitstream">20b5ef62fc2c82f4f47b8a948bef4dd6fddd2017</alternateIdentifier>
	</alternateIdentifiers>
        <formats>
	    <format>application/pdf</format>
	</formats>
	<version>33506</version>
        <descriptions>
            <description descriptionType="Abstract"></description>
        </descriptions>
    </resource>
.

M Reperes 1 LES APPLICATIONS INDUSTRIELLES DES LOGICIELS LIBRES (2e,lepartie) m m L'apport des logiciels libres à la modélisation et la simulation des systèmes dynamiques Mots clés Logiciels libres, Modélisation, Simulation, Systèmesdynamiques, UML' " Modelical Thierry BASTOGNE Université Henri Poincaré, Nancy 1, Centre de Recherche en Automatique de Nancy (CRAN) Cet article promeut l'utilisation de langages objet couplés à des compilateurs libres pour la modélisation et la simulation des systèmes dynamiques. Introduction En ingénierie des systèmes, la maîtrise des coûts, des délais, des risques et de la complexité, passe de plus en plus souvent par une étape de modélisation et de simula- tion des systèmes assistée par ordinateur [3, 4, 7]. Un modèle est généralement une description abstraite du système par une théorie ou par un langage symbolique donné. Il peut être mathématique, graphique ou algorith- mique. Nous évoquons ici le cas des modèles à base de composants, modèles décrivant les composants internes du système et leurs modes d'interaction. La figure 1 pré- sente un exemple de système hydraulique constitué d'une cuve de mélange binaire et de son instrumentation. Le modèle de composant de ce système est décrit à la figure 2, chacun des objets du modèle est associé à un des composants du système, les liens en trait plein repré- sentent les échanges d'énergie alors que ceux en trait pointillé correspondent aux transmissions d'information [2]. La phase de développement de ces modèles est repré- sentée par un cycle en V à la figure 3. On y retrouve une première phase d'analyse dans laquelle le système est décomposé en classes d'objets, puis une seconde phase de synthèse dans laquelle les objets modélisés sont recompo- sés pour constituer le modèle. Figitre 1. Systèiiie à iiiodélisei, ESSENTIEL SYNOPSIS La rentabilité du processus de modélisation d'un système dépend de facteurs comme l'indépendance de la démarche vis-à-vis des outils logiciels propriétaires, optimiser la réutilisation des modèles existants ainsi que la flexibilité et la portabilité des modèles déve- loppés. Une solution préconisée dans cet article est d'associer des langages de modélisation standard et orientés objet à des logiciels libres de compilation pour la simulation. Le cas de deux langages objet, UML et Modelica, et d'un logiciel libre de compi- lation, Open Modelica, illustre ce point de vue. Il souligne aussi les efforts à développer en termes d'intégration et d'interopérabilité des différents logiciels libres de calcul scientifique. The profitability of the system modeling process depends on fac- tors like the independence of the approach with respect to the do- sed source software, optimizing the re-use of existing models as weil as the flexibility and portability of the developed models. A solution, recommended in this article, is to associate standard and object-oriented modeling languages with free compilers for their simulation. A study case, based on two object languages, UML and Modelica, and one open source simulation software, Open Modelica, illustrates this point of view. Efforts should now be focused on the improvement of open source software, for scien- tific computing particularly, in terms of integration and interopera- bility across software. REE N 4 Avril 2006 L'apport des logiciels libres à la modélisation et la simulation des systèmes dynamiques PLC1 L16 L17 - I L16 LU'unL15 F!C2 -< L12 L LIT1 L15 il L19 L14 L19 .... L18 L8 -------- V L6 VM1 L7 F!T2 L8 j !F2 ! L6 \/ [Il L7 " FIT2 IF2 1 ---I L13 TMX1 -- ",' " 1 L8 ! IF2 i j L13 TMX1 L10 L9 L3 L4 l' " --IF1--- L1 r-FIT1- L2 1 -----,- --FlTl PPI!F1 L1 F!T1 L2 PP1 OV1 L5 OF1ovi L5 OF1 Figzrre 2. Modèle de composant du système. début f!n (<)début F Analyse des Tests exigences d'acceptation z Modélis ion de la st ucture r N J v Modélisation des Tests - z- composants unitaires Implémentation Figure 3. Cycle de modélisation en V La phase de modélisation est généralement une tâche longue, coûteuse et incertaine. Le rendement de cette étape et la robustesse du modèle vis-à-vis des erreurs de modélisa- tion et des diverses incertitudes dépendent essentiellement des trois points suivants : . la liberté de la démarche vis-à-vis des outils logi- ciels propriétaires, l'approche ne doit pas être remise en cause par la moindre modification du logi- ciel ; . choisir les outils logiciels en fonction de la méthode et non l'inverse afin de pérenniser l'approche ; . et capitaliser au mieux les résultats de la modélisation. Les outils logiciels libres offrent une réponse aux deux premiers points de cette liste. Il existe aujourd'hui plu- sieurs logiciels libres de calcul scientifique comme RI pour le calcul statistique, MAXIMA2 et AXIOM3 pour le calcul symbolique, SCILAB4 et OCTAVE5 pour le calcul algébrique, SCICOS6 pour l'édition de schémas blocs ainsi que OPEN MODELICA7 pour la modélisation objet des systèmes physiques. En plus d'être des logiciels libres, tous sont également des gratuiciels. Pour ce qui est du dernier point, la capitalisation efficace de la connais- sance implique plusieurs conditions : . optimiser la réutilisation des modèles existants ; < la modularité ou flexibilité des modèles, c'est-à-dire pouvoir modifier ou mettre à jour une partie du modèle REE IN 4 Avril1-006 E? t B° t at M Repères 1 LES APPLICATIONS INDUSTRIELLES DES LOGICIELS LIBRES (2e,llepartie) sanssystématiquement avoir à remettre en cause le reste; * etvérifier la portabilité des modèles, c'est-à-dire pouvoir exécuter le modèle sur d'autres plates-for- mes de simulation. Capitaliser les modèles dans des bibliothèques est un moyen couramment utilisé par les logiciels de modélisation pour permettre à l'utilisateur de les réutiliser ultérieurement. Cependant, un objet doit aussi posséder des interfaces de communication standards pour être re-connecté facilement dans un autre modèle. Concernant la seconde spécification, les notions de classes et d'héritage liées au paradigme objet offrent un début de solution. A cela il faut ajouter la possi- bilité d'une modélisation non causale ou implicite des systèmes, c'est-à-dire la possibilité de déclarer des équa- tions de comportement sans avoir à définir au préalable si une variable est une variable d'entrée ou de sortie. En effet ce caractère entrée-sortie dépend pleinement de chaque application. Enfin, pour ce qui est du dernier point, une solution consiste à utiliser des langages stan- dards ou quasi-standards. En effet, il est tout à fait envisa- geable de développer des modèles sur la base de langages standards à l'aide de logiciels libres de compilation. Un exemple bien connu est GCC8, logiciel libre GNU, pour la compilation d'algorithmes écrits en langage C, C++ ou Objective-C. Les langages UML et Modelica évoqués dans les paragraphes suivants sont deux illustra- tions de solution pour la modélisation de systèmes dyna- miques. 2. Modélisation structurelle avec UML Une première étape en modélisation à base de compo- sants consiste à déterminer la structure statique du sys- tème, c'est-à-dire identifier les classes d'objets et leurs modes d'interaction. La manière d'aborder cette décom- position est multiple. Une première question concerne la nature de la décomposition. Elle peut être matérielle, temporelle ou fonctionnelle. Une seconde question traite de la direction de la décomposition. Elle peut être descendante, ascen- dante ou mixte. Une analyse descendante démarre de la définition générale du système et consiste à le décompo- ser en éléments de plus en plus petits et précis. Cette pro- cédure s'arrête lorsque tous les éléments sont supposés être connus. Cette approche générale, souvent considérée comme étant la plus systématique et la plus logique, per- met à l'ingénieur de préserver les aspects génériques du système. Néanmoins, les éléments sont rarement tous connus et la réalité n'est pas toujours aussi cohérente que souhaitée par ce mode de décomposition. Cette solution est plutôt utilisée dans les études de conception. En rétro- ingénierie, il est souvent plus économique de commencer par considérer les éléments terminaux de l'installation, c'est-à-dire d'effectuer une analyse ascendante. Cette approche consiste à agréger les éléments en sous- systèmes de plus en plus importants jusqu'à obtenir le système complet. Mais, il est encore souvent plus prati- que de combiner les deux approches via une décomposi- tion mixte [1]. Enfin, une dernière question consiste à déterminer le niveau d'abstraction du modèle : modélisa- tion microscopique ou macroscopique ? Ce choix dépend essentiellement de l'application finale du modèle : prédic- tion, fiabilité, sûreté de fonctionnement, simulation, etc. Pour traiter ces différentes questions, le langage UML (Unified Modeling Langage) offre, dans son panel de diagrammes, quelques représentations utiles à cette décomposition [5]. UML est né de la fusion des méthodes objet (OMT, Booch et OOSE) et a été normalisé par l'OMG en 1997. UML n'est pas à proprement dit une méthode de modélisation mais plutôt une bibliothèque de diagrammes objets. Dans cette collection, les diagrammes de classe et les diagrammes d'activité sont deux outils permettant de traiter la décomposition des systèmes sous des aspects matériel, temporel et fonctionnel. Beaucoup de logiciels libres pour l'édition de graphiques ou de schémas, comme DIA9 logiciel libre sous licence GPL, possèdent désormais des bibliothèques d'édition de dia- grammes en langage UML. Les diagrammes de classes expriment la structure sta- tique d'un système, en termes de classes et de relations entre ces classes. La figure 4 présente un exemple de dia- gramme de classe d'une unité de stockage composée de n cuves de classe C, version spéciale d'une classe de cuve '""""" Os'' li7, 1 '. C2 t C-2 none CG none h Pl,P2.Ql 02 -MdPlPr,PLI0 p2mP(i L Q=Ql 02 (Pil-lC'Pc-Pu=rho'cL puic'- der(L}: tf (L : O ancl L produit A + produit B Mélange C = A + B Vidange produit de C \ fin (1) Figure 5. Diagi-aii7ii7e d'activité d'iiize iinité de niélcinge. 0 il File dit Opons Siniulabon HeJp io....--'.. " I I.;;;;J :.à.]:. --fo',Z -.,\...iJ ;;-t-::; : "':.. Objectbro,/.,serIcon2 \/ldangeCu'....e,mot'E-GItfp:':'arf. i_Vfi' :'Id.3riqrl_.l!'·:'_-..ffl0I "' " j " -,- ",L, l'- -, - - H--- ,- ;)\,1':!I.jttQt:'JJ.: t:' r--iloce......_,-,,':::'_. :...t:,_.........-e AI r . f·.. .rdIpctct hsdi _'. _, , li RCdl `- f3t,._ " _i ; eqnatiolt parartieter Real .. Real !Sâ= ! ;eCfuatlon B : der !'* if > theu -K'qn) ! eise ; !' " j Une'Mege e i d V idanr4ecu,*e, rio Figiti-e 6. FME : Fi-ee Modeli (--ci Editol-. spécialisée vers la classe plus générale. Un diagramme d'activité est un graphe dirigé repré- sentant le déroulement d'un processus sous la forme d'étapes ordonnées séquentiellement. Le début et la fin du processus sont représentés respectivement par un point noir et un point noir encerclé, les activités par des rectan- gles arrondis et les transitions par des connexions unidi- rectionnelles. La figure 5 présente un exemple de dia- gramme d'activité d'un cycle de production d'une unité de mélange. Ce cycle est décomposé en quatre phases : repos, remplissage, mélange et vidange. 3. Modélisation à base de composant avec le langage Modelica Une fois la structure statique du modèle de composant déterminée, il reste à définir le comportement de chaque classe d'objet. Le langage Modelica, né en 1998 par un effort d'unification de langages objets existants : Alan, Dymola, NMF, ObjectMath, Omola, SIDOPS+, Smile [6], peut être utilisé dans ce but. La publication et la spé- cification de ce langage sont réalisées par l'association ModelicalQ. Modelica n'est pas un langage standard au sens ISO/ANSI/IEEE mais un langage non propriétaire à l'image de C++ mais dédié à la modélisation des systè- mes physiques. Il possède tous les avantages des langages objets. En outre, il permet la modélisation non causale ou implicite des systèmes. De plus, il possède des instruc- tions lui permettant de traiter simplement la modélisation d'un grand nombre de systèmes à dynamique hybride. Enfin, autre avantage, il autorise l'inclusion de routines écrites en C et Fortran77. L'écriture d'un modèle de com- posant à l'aide du langage Modelica peut être réalisée à REE N 4 Avril2006 Repères 1 LES APPLICATIONS INDUSTRIELLES DES LOGICIELS LIBRES (2elle partie) " Ed'je " ; " & ! p ,)1:. l.::êJ W=1.,.- Startingserver. » IoadModel [Modelica} true » loadFilef'c : lusers [TB/modelicalVidangeCuve.mo'l true » simulate [VidangeCuve,startT ! rne=0.0,stepTime=5.0) record resultFile = "UidangeCuve_res.plY' end record » plutilh » true » 1 1 -., ",,Il 1. . L- Etile Speciat1tite h.rCO'i PlotbyOpenModelica ! il 4 4Li (a) Feuëre de cornn7ande (b) Fenêtre de tracé de cozrrbes Figure 7. Iiiteifaes gi-al) hiqiies de Opeii Modelica V 1.2. partir de n'importe quel éditeur de texte. La figure 6 montre l'exemple d'un gratuiciel, FMEI l, dédié à l'édi- tion des modèles développés en Modelica. L'algorithme édité à la figure 6 est un exemple basique de modèle d'une classe d'objet associée à une cuve de vidange. On y retrouve des instructions de base comme (der) pour la dérivée temporelle d'une variable et les instructions conditionnelles (ifthcn eise) pour le traitement des dis- continuités dans les équations différentielles. Mais un tel modèle est inutile si on ne dispose pas des outils logiciels pour le simuler. Jusqu'en 2004 les seuls compilateurs du langage Modelica étaient commerciaux. Depuis 2004, il existe un début d'alternative fondée sur un compilateur libre, Open Modelica', développé à l'Université de Linkôping en Suède. La figure 7 montre les fenêtres de commande et de tracé des courbes de cet outil. La première fenêtre, figure 7(a) permet de lancer les instructions de chargement du modèle, de simulation et de tracé des résultats. La figure 7(b) illustre un exemple de courbe de simulation dans le cas de la cuve de vidange. L'interface graphique de ce compilateur est certes sommaire et ne vaut pas encore celle des produits com- merciaux dans ce domaine mais la jeunesse de ce compi- lateur explique cette différence. L'évolution rapide, si l'on en juge sur le nombre de versions développées en un an, permet d'espérer une amélioration rapide et significa- tive de son ergonomie et de ses capacités. On peut espé- rer également l'apparition d'autres compilateurs libres comme celui en développement à l'INRIA au sein des projets successifs SYMPA12 et METALAUli pour son intégration dans SCICOS. 4. Conclusion La modélisation et la simulation des systèmes sont deux disciplines de plus en plus utilisées en ingénierie des systèmes pour la maîtrise des coûts, des délais, des ris- ques et de la complexité. Très liées, ces deux disciplines sont, à tort, souvent confondues. En mathématique, la modélisation peut être vue comme la mise en équation du problème et la simulation comme la résolution de ces équations ; en informatique, la modélisation correspond plutôt à la programmation et la simulation à la compila- tion. Dans le cas des systèmes dynamiques complexes, pour des critères d'indépendance, de réutilisation, de flexibilité et de portabilité, il est intéressant d'utiliser des langages standards ou quasi-standards pour la partie modélisation et des logiciels libres de compilation pour la simulation. Bien qu'antinomique à première vue, l'utili- sation de langage standard n'est pas incompatible avec celle de compilateurs libres mais plutôt complémentaire. En effet, le paradigme objet contribue aux aspects de réutilisation et de flexibilité des modèles, l'utilisation de langage standard accroît leur portabilité et l'utilisation de logiciels libres de simulation participe à l'indépendance de l'approche vis-à-vis des outils logiciels propriétaires. REE Ne 4 A\iil 1006 L'apport des logiciels libres à a modélisation et la simulation des systèmes dynamiques Deux exemples de langage, UML pour la modélisation à haut niveau d'abstraction et Modelica pour la modélisa- tion de bas niveau, ainsi qu'Open Modelica, compilateur libre du langage Modelica, illustrent ce point de vue. Toutefois, l'utilisation de ce compilateur libre montre des limites qui sont aussi celles de la plupart des logiciels libres, c'est-à-dire : (1) une interface homme-machine généralement rudimentaire, (2) une absence d'outil de débogage efficace et (3) une absence quasi totale d'inter- opérabilité entre logiciels libres. Ce dernier point est par- ticulièrement important pour les logiciels de calcul scien- tifique comme R, MAXIMA, AXIOM, SCILAB, OCTAVE et OPEN MODELICA dans le but de disposer d'une plate-forme complète couvrant des disciplines variées comme le calcul statistique, le calcul formel, le calcul matriciel ou la modélisation sous forme de diagrammes objet. Références [Il K. J. ASTROM & B. WITTENMARK, " Computer-Controlled Systems - Theory and Design, chapter Design : An Overview ;'pages 224-241. Prentice Hall, 1997 Third Edition. [2] T. BASTOGNE,'A Multiport Object-Oriented Diagram for Batch System Modelling. Methodology and Implementation. Simulation Practice and Theory " 12 (6) : 425-449, October 2004. [31 F. E. CELLIER, " Continuous System Modellng ;' Springer- Verlag, 1991. [4] L. LJUNG & SI GLAD, "On Global Identifiability for Arbitrary Model Parameterizations ;' Automatica, 30 : 265- 276, 1994. [5] P.-A. MULLER & N. GAERTNER, " Modélisation objet avec UMU', Eyrolles, 2002. [6] M. TILLER, " Introduction to Physical Modeling VVith Modelica ;' Kluwer International Series in Engineering and Computer Science, 2001. t7j B. P ZEIGLER, H. PRAEHOFER & T G, KIM, " Theory of Modeling and Simulation - Integrating Dlscrete Event and Continuous Complex Dynamic Systems ;' Academic Press, 1999. Second Edition, 1 http ://vvvvvv.r project.org/ 2 http ://maxima.sourceforge.net/ 3 http ://savannah.nongnu.org/projects/ax ! om 4 http//www.scilab.org 5 http ://www.octave.org/ 6 http ://www.scicos.org/ 7 http ://www.ida.liu.se/pelab/modelica/OpenModelica.html 8 http//www.gnu.org/software/gcc/gcc.html 9 http ://www.gnome.org/projects/dia/ 10 http ://www.modelica.org http//wwwet.web mekdtudk/FME/downloadhtml 12 http ://www.telecom.gouvfr/rntl/FichesA/Simpa.htm L3 http //wvvvv.inria.fr/rapportsactivite/RA2002/metaau/module html L'auteur Thierry Bastogne est maître de conférences en Automatique et Traitement du S gnal a l'Universite Heriri Po ncaré, Nancy 1, depuis 1998, Il effectue ses recherches au CRAN (Centre de Recherche en Automatique de Nancy) sur la modélisation expérimentale des sys- tèmes dynamiques REE \4 Avi il 2006