• Aucun résultat trouvé

Contributions des travaux de l’équipe de simula- simula-tion MOISEsimula-tion MOISE

Propositions - Contributions

3.6 Contributions des travaux de l’équipe de simula- simula-tion MOISEsimula-tion MOISE

3.6.1 Introduction

Les travaux de la thèse et de l’équipe de simulation MOISE se sont déroulés en paral-lèle, et avec une certaine forme de séparation, pour laisser à chaque partie la liberté de développer son approche. Ainsi, vers la fin du projet, chacun a pu enrichir l’autre de ses retours d’expériences.

La première version du simulateur, de l’équipe de simulation MOISE, a pour but de mettre en place une chaîne de simulation, sur la base du cas d’utilisation AIDA. Les différentes fonctions ont été modélisées, puis les FMU générés, avec le logiciel SimulationX [ESI19]. L’exécution des FMU et la prise en compte de la notion d’entreprise étendue sont réalisées via le logiciel Cosimate [CHI18]. Les deux entreprises, détentrices des droits sur chacun de leur logiciel, sont membres du projet MOISE. En plus de la mise en place de cette chaîne de simulation, cette première version du simulateur explore la qualité de la simulation, en regard de la fragmentation plus ou moins importante, du modèle de référence, en sous-modèles répartis chez les différents partenaires [Bos+18].

La deuxième version de ce simulateur prend en compte certains aspects de la mé-thode, notamment la proposition de génération automatique des données pour le squelette du FMU et les interconnexions avec le logiciel Cosimate, l’allocation des fonctions à des composants et aux unités d’exécution, le tout, au sein du logiciel Capella [CAP19]. Le déve-loppement, puis la réutilisation, dans son ensemble, du modèle système AIDA (couche Step

Physical) oblige à devoir développer des fonctionnalités supplémentaires, telles que la

sélec-tion des foncsélec-tions, des ports, des flux, uniquement nécessaires à l’objectif de la simulasélec-tion. Ces fonctionnalités supplémentaires, intégrées dans le méta-modèle de Capella ViewPoint, sont incluses dans cette version 2 du simulateur. Elles offrent une souplesse accrue pour

Figure 3.21 – Interaction avec l’équipe Simulation-MOISE bien répondre aux objectifs de simulation.

3.6.2 Les contributions de l’équipe MOISE

La méthode proposée dans cette thèse est cohérente, au sens où elle prend en compte la partie méthodologie, sans oublier le support d’exécution matériel et logiciel constitué par la plateforme de cosimulation. L’architecte système pour le produit fournit la partie du modèle qui doit être simulé, avec les sémantiques prescriptives et descriptives explicites, l’objectif de simulation, et les autres éléments décrits à la sous-section 3.2.3.6. À charge pour l’architecte de la simulation de créer son architecture de simulation.

Cette approche présuppose que l’architecte système pour le produit maîtrise suffisam-ment bien les domaines techniques entrant dans la conception du produit, que les règles initiales soient bien prises en compte, tant par l’architecte du produit, que par la culture de l’entreprise. Or, lorsque, par manque de connaissances, par une pression potentielle exercée sur l’architecte système du produit, par le non respect des règles, il est possible, devant ces difficultés et pour répondre plus rapidement aux impératifs de l’organisation, que celui-ci fournisse des sémantiques implicites ou encore le modèle dans son ensemble à l’architecte de la simulation. À charge pour l’architecte de la simulation, s’il ne peut faire autrement, de prendre l’ensemble et d’agir en conséquence.

De par sa démarche expérimentale initiale, l’équipe MOISE pour la simulation a trans-féré l’ensemble du modèle système de l’étape Construction du produit à l’architecte de la simulation. Sur cette base et en fonction des objectifs de simulation, cette équipe a dû dé-velopper des concepts et outils spécifiques, sous le logiciel de modélisation système Capella

[CAP19], pour arriver à soustraire, sélectionner, raffiner, abstraire les fonctions devant en-trer dans la simulation. Afin d’éprouver la robustesse de l’architecture du drone, objet de leur expérimentation, les membres de cette équipe ont développé des outils complémen-taires pour observer (fig 3.22-f) et/ou pour injecter (fig 3.22-e) des erreurs sur les signaux circulant entre les fonctions. Il est à noter que le retour complet de l’expérience de l’équipe MOISE apparaît dans un document de synthèse, dont l’accès est réservé aux membres du projet MOISE. C’est la raison pour laquelle il n’y a pas, dans cette thèse, de référence bibliographique associé à de document. L’objet de cette section est de décrire plus en dé-tail les autres aspects de leurs retours d’expérience. Ce retour d’expérience est représenté graphiquement par la figure 3.22.

Figure 3.22 – Retour Expériences de l’équipe MOISE.

Il est des situations où la mise en œuvre de l’outil Abstraction peut avoir tout son sens. C’est le cas pour des fonctions faisant partie d’un environnement interne (fig 3.22-a). Ces fonctions sont à la fois prescriptive et descriptive. L’architecte de la simulation a, alors, la possibilité de regrouper ces fonctions en ne gardant que les parties spécifiques répondant à l’objectif de la simulation. Il peut en découler un temps d’exécution moindre et une qualité de simulation supérieure, du fait qu’il n’y a qu’un composant de simulation au lieu de deux [Bos+18].

L’architecte de la simulation, pour les besoins de la simulation peut vouloir raffiner une fonction en autant de sous-fonctions désirées, pour, par exemple, répartir les différents constituants chez les partenaires les plus appropriés, par rapport à leur métier. Cette fonctionnalité est représentée par la figure 3.22-c. Cela concerne aussi bien les fonctions dont la sémantique est prescriptive ou descriptive, tout en étant déclarée implicitement ou explicitement.

La Composite function peut être lue de différentes manières. L’une d’elles, c’est de re-grouper au sein d’un même composant de simulation (par exemple FMU), des fonctions qui nécessitent un échange de données important. C’est une manière de s’abstraire des temps de transfert entre ces différents composants de simulation. En abordant cette fonction com-posite sous un autre regard, elle permet de « cacher » derrière une fonction paravent, un ensemble de fonctions qui contiennent le savoir-faire de l’entreprise. La fonction englobante présente l’interface de communication pour la simulation, en conformité avec la technolo-gie de simulation retenue par les partenaires : FMI, HLA, etc. Pour les autres fonctions, le partenaire qui reçoit ce composite a le choix, la liberté d’utiliser la technologie qui lui semble la plus adéquate. Derrière ce paravent que peut être la fonction Composite, il est possible au partenaire d’agréger ses plateformes de simulation, ou encore, d’être en relation avec des partenaires sous-traitants. Enfin, cela semble une manière élégante d’intégrer des phénomènes de couplage mécanique, électrique ou autre, qui ne sont pas initialement pris en compte dans l’architecture du produit, mais qui semble nécessaire d’introduire pour l’objectif de simulation. Suivant les résultats de la simulation, ces couplages peuvent par la suite être intégrés dans l’architecture système du produit, si et seulement si, l’architecte du produit en convient (séparation des responsabilités).

Un autre aspect à prendre en compte lors d’une simulation, ce sont les relations directes (fig 3.22-d et fig 3.23) qui peuvent exister entre les entrées/sorties d’une fonction ("direct feedthrough"), dans laquelle le calcul de la sortie d’une fonction est directement relié à son entrée [Sim19] [FMI14]. Mettre en exergue ces relations directes, permet, via l’analyse des interconnexions entre les fonctions, de déterminer s’il existe des boucles algébriques artificielles ou réelles (fig 3.23). Les boucles algébriques réelles peuvent ralentir ou ne pas permettre de réaliser la simulation demandée de manière correcte.

[Sim19] donne des indications pour savoir si une fonction possède une relation directe entre ses entrées et sorties. La fonction mathématique, la fonction gain, l’espace d’état lorsque la matrice des coefficients n’est pas nulle, la fonction somme, la fonction de transfert lorsque le numérateur et le dénominateur sont du même ordre, ou encore, la fonction Zero-Pole qui possède autant de pôles que de zéros, toutes ces fonctions ont des relations directes entre leurs entrées/sorties. Les fonctions qui ne possèdent pas de relations directes sont les fonctions qui maintiennent des variables d’état. Par exemple, la fonction intégrateur ou la fonction de délais.

Pour illustrer le propos, dans la figure 3.22-d, la sortie Out 01 est directement déterminée avec les entrées In 01 et In 03, tandis que la sortie Out 02 ne dépend pas directement des entrées In 01, In 01 ou In 03. Cette dernière sortie dépend de l’état de variables internes à la fonction.

Figure 3.23 – Différentes boucles algébriques [FMI14]

L’équipe MOISE a modifié le modèle du logiciel Capella en ajoutant un méta-modèle pour l’espace de simulation, pour mettre à disposition des développeurs ces nou-velles fonctionnalités. Dans le cadre de cette thèse, les ajouts au méta-modèle Capella sont traduits dans le formalisme Ecore [Ste+08], dont le diagramme en est donné par la figure 3.24.

La métaclasse SimulationElement représente l’ensemble des éléments du modèle du produit, que l’architecte de la simulation peut recevoir de la part de l’architecte du pro-duit. En se servant de ces éléments et de leurs propriétés, l’architecte de la simulation va pouvoir travailler son architecture, en se basant sur les métaclasses pour abstraire (AbstractionSimulationUnit), raffiner (RefinementSimulationUnit), observer

(ObserverSimulationUnit), injecter des erreurs (DisturbanceSimulationUnit), créer des composites (CompositeSimulationUnit) avec la méta-classe associée

(AtomicSimulationUnit). Cette extension du méta-modèle Cappela (point de vue) a été implanté dans le cadre du projet MOISE, et a été appliquée pour validation à l’étude du

cas AIDA20.