• Aucun résultat trouvé

Partie II : Méthodologie de Composition

III. A. Composition de modèles de calcul pour le dimensionnement

III.A.1.  Les composants de calcul pour le dimensionnement

Les COBs, que nous avons décrits dans le chapitre 2, correspondent aux composants actuellement les plus disponibles dans notre contexte de travail, car disposant de plusieurs services dont celui du dimensionnement par technique d’optimisation. La particularité de ce composant réside dans la nature des paramètres définis en entrée et en sortie. Ils

contiennent en effet deux grandeurs, une valeur et une valeur de différentielle (ou dérivée directionnelle [GIL 91]). Ils possèdent également deux méthodes d’appel qui permettent de se calculer ou de se différentier (cf. Figure 46).

Figure 46 : COB : composant de calcul pour le dimensionnement

III.A.2.  Moteur de résolution : séquencement

Les paramètres connectés entre les différents composants définissent l’information de composition, à partir de laquelle le générateur doit définir le séquencement des composants. Pour produire un séquencement qui puisse s’exécuter, chaque composant est encapsulé par une entité plus complète (Runner), laquelle lui déléguera les fonctionnalités de calcul.

Ce Runner possède notamment des informations qui permettent de savoir s’il est prêt à s’exécuter. Il est capable d’attendre que d’autres Runners aient terminé de s’exécuter, ainsi que de signaler aux Runners qui se sont enregistrés auprès de lui, qu’il a lui même fini son exécution. Pour définir le séquencement, il est donc nécessaire de :

¬  définir tous les composants qui doivent être exécutés en premier (ceux qui ne nécessitent

aucune information d’autres composants).

¬  enregistrer les autres composants comme attendant la fin de l’exécution des composants le précédant.

Chacun des Runner est définis dans un processus indépendant qui permet, par exemple, de distribuer les composants COB, trop lourds, sur différentes machines. Ces COBs distants peuvent être obtenus par deux projections successives à « sémantique constante » (COB→CORBA16→COB) [DEL 02a] (cf. Figure 47)

       

16 CORBA : norme d’interopérabilité entre langages de programmation et entre systèmes d’exploitation différents. Pour plus d’informations, consulter l’Annexe IV décrivant les problématiques de pilotage de logiciels.

(Sj,dSj) (Ei,dEi) Calc Diff (Sj,dSj) (Ei,dEi) Calc Diff

Partie II : Méthodologie de Composition

Figure 47 : Mécanisme de double projection permettant de distribuer un composant de calcul sur différentes machines

III.A.3.  Moteur de résolution : propagation de valeur

Concernant la propagation des valeurs entre les composants, elle devrait être définie à chaque fin d’exécution d’un Runner. Or les spécifications des composants COB, définies dans une optique de composition [ATI 99], permettent une gestion simplifiée de propagation des valeurs. En effet, les COB permettent de gérer cette propagation par un mécanisme de partage d’instance. Les valeurs des paramètres n’existent en fait que dans les interfaces de sortie des composants. Les interfaces d’entrée doivent alors « pointer » vers la valeur définie dans les interfaces de sortie auxquelles elles sont connectées.

Figure 48 : Mécanisme de partage d’instance permettant la propagation de valeur au sein d’une composition

Une autre particularité des COBs peut être soulevée ici, il s’agit de l’utilisation de différentielle. Grâce à ces spécifications, la composition du calcul global de sensibilité est automatique par simple propagation des différentielles.

D’autres normes de composants de dimensionnement ont été introduites dans l’équipe CDI, notamment celle mettant en œuvre des dérivées partielles au lieu des différentielles.

Figure 49 : Norme de composant de dimensionnement utilisant les dérivées partielles au lieu des différentielles

Ce modèle de composant demande un moteur de résolution plus complexe que celui mis en œuvre dans le cas de la composition des COBs. En effet, il nécessite un superviseur remontant les différents composants, à partir de la dérivée partielle de sortie, afin de composer toutes les dérivées partielles intermédiaires. Dans l’exemple de la Figure 50, le calcul nécessaire est celui décrit par l’équation (1) :

Ei, Calc(Sj) Diff(Sj,      ) i j dE dS (Ei,dEi) (S 2,dS2) (S1,dS1) (S1,dS1) (Ei,dEi) Composant

COB

Projection

COB vers CORBA

Souche Squel

ette

CORBA

Projection CORBA vers COB

Composant

COB

Ordinateur distant Bus CORBA Ordinateur local

Composant

COB

Projection

COB vers CORBA

Souche Squel

ette

CORBA

Projection CORBA vers COB

Composant

COB

Figure 50 : Une composition par dérivées partielles nécessite un superviseur pour propager le calcul de sensibilité

Bien qu’imposant un moteur de résolution plus compliqué à mettre en oeuvre, cette norme de composant offre la possibilité d’alléger les calculs de sensibilité lorsque toutes les dérivées partielles ne sont pas nécessaires. En effet, réalisé dans un contexte de modèles analytiques (très rapides), le COB réalisant le calcul des différentielles par propagation automatique, ne permet pas de sélectionner les sorties sur lesquelles on souhaite avoir la sensibilité. L’utilisation du COB pour des modèles de calcul lourds, nécessite alors de gérer de manière très précise le calcul de sensibilité (cf. Annexe III) [DEL 03].

Cet exemple nous montre combien le contexte d’utilisation peut imposer des différences fondamentales entre des composants réalisant des fonctionnalités similaires, et defacto, la nécessité d’une gestion de l’évolution du besoin en s’adaptant. C’est dans ce cadre d’application que des projeteurs à sémantique constante permettent de réutiliser des composants existants mais différents.

III.A.4.  Conclusion

Ce module de génération, composant des modèles de dimensionnement, nous permet d’envisager un grand nombre d’applications afin de venir en aide au concepteur durant son processus de conception, mais aussi de lui offrir de nouvelles méthodologies de travail. Nous détaillerons quelques applications dans le prochain chapitre, dont la mise en œuvre d’un modèle mixte (analytique + numérique) pour le dimensionnement d’un transformateur de tensions triphasées. (1) Modèle 2 E1 Modèle 1 (S1, )1 1 dE dS P1 P3 P2 3 2 2 . 1 1 1 1 1 dP dP P S P S dE dS ⋅ ∂ ∂ + ∂ ∂ =

Partie II : Méthodologie de Composition