• Aucun résultat trouvé

Chapitre 10 Preuves de concepts 95

10.6 Modification du multi-mod` ele

Le m´eta-mod`ele AA4MM a ´et´e con¸cu en gardant `a l’esprit que les logiciels de simulation utilis´es peuvent aussi ˆetre utilis´es en dehors du multi-mod`ele (en version standalone). Ainsi, les aspects concep-tuels, s´emantiques, syntaxiques, dynamiques et techniques propres `a un mod`ele particulier sont s´epar´es de ceux propres `a la multi-mod´elisation.

10.6.1 Modification ou ´echange d’un mod`ele par un autre

La modification d’un mod`ele m1 ou son remplacement par un autre mod`ele (m01) se fait facilement dans AA4MM. Nous faisons l’hypoth`ese que le mod`ele modifi´e ou le mod`ele rempla¸cant poss`ede les mˆemes ports d’entr´ee et de sortie que le mod`ele original.

Dans ce cas, il n’est pas n´ecessaire de modifier le graphe de d´ependances du multi-mod`ele. L’utilisation d’artefacts-d’interface permet de facilement g´erer la modification ou le remplacement d’un mod`ele. En effet, il est possible d’intervenir sur le mod`ele m1sans changer l’ensemble des entit´es propres `a AA4MM. On peut par exemple changer la dynamique du mod`ele NetLogo en ne changeant que le contenu de la proc´edure ”go” ou changer les param`etres intrins`eques au mod`ele comme la vitesse `a laquelle repousse l’herbe par exemple. L’artefact-d’interface A1 et l’m-agent A1 ne sont pas modifi´es.

On peut ´egalement changer le logiciel de simulation NetLogo par un autre. Dans ce cas, et sous l’hypoth`ese de ne pas modifier le graphe de d´ependance, l’utilisation d’artefacts-d’interface permet de facilement changer de logiciel de simulation. Il suffit de cr´eer un artefact-d’interface I10 associ´e au mod`ele m10. Ensuite pour ´echanger les deux mod`eles, il suffit de sp´ecifier `a l’m-agent A1 que son artefact-d’interface n’est plus I1 mais I10 (voir la figure 10.16). Une fois les artefacts-d’interface con¸cus, les m-agents peuvent g´erer n’importe quel logiciel de simulation.

Dans le cas o`u le nouveau mod`ele n’a pas les mˆemes ports d’entr´ee et de sortie que le mod`ele pr´ec´edent, il est n´ecessaire de refaire le graphe de d´ependance. Cela se traduit par des changements au niveau des entit´es du m´eta-mod`ele AA4MM comme la modification, l’ajout voire la suppression d’artefacts-d’interface et de artefacts-de-couplage.

10.6.2 Ajout et suppression d’un mod`ele

Concernant l’ajout et la suppression d’un mod`ele, il faut ´egalement distinguer deux cas. Dans cette section, nous nous pla¸cons dans le cas o`u l’ensemble des mod`eles gardent les mˆemes ports d’entr´ee et

10.6. Modification du multi-mod`ele

Figure 10.16

de sortie et l’´echange des donn´ees n’est pas interrompu. C’est par exemple le cas o`u on supprimerait le mod`ele m1du multi-mod`ele. Les deux mod`eles restant m2et m3peuvent toujours s’´echanger les positions des moutons et les variations d’´energie des moutons. Dans ce cas, il faut prendre garde `a modifier le artefact-de-couplage C31,2 afin de ne plus composer les donn´ees (voir figure 10.17).

(a) Graphe de d´ependance modifi´e. (b) Modification de l’artefact-de-couplage.

Figure 10.17 – Exemple de suppression du mod`ele m1.

On peut ´egalement ajouter un nouveau mod`ele m4qui prendrait en entr´ee la position des moutons par exemple. Dans ce cas, il est n´ecessaire de cr´eer un m-agent A4et un artefact-d’interface I4. Concernant l’´echange des donn´ees, il est n´ecessaire de cr´eer un nouvel artefact-de-couplage C3

4 qui g`ere l’´echange des positions des moutons entre le mod`ele m3 et m4 (voir figure 10.18). Dans chacun des exemples donn´es, il est n´ecessaire de mettre `a jour l’ensemble des informations propres au graphe de d´ependance (IN1, OUT2, L1

2, etc.) afin que chaque m-agent sache avec quel artefact-de-couplage ´echanger les donn´ees de leurs mod`eles.

(a) Graphe de d´ependance. (b) Nouveaux m-agents et artefacts-de-couplage.

Figure 10.18 – Exemple d’ajout d’un mod`ele m4. Il est `a noter que dans la figure de droite nous n’avons pas ajout´e les artefacts-d’interface, les mod`eles, les simulateurs et les logiciels de simulation pour plus de lisibilit´e.

10.6.3 Ajout d’un lien entre deux mod`eles

Dans les sections pr´ec´edentes, nous avons fait l’hypoth`ese que les modifications des mod`eles, l’ajout et la suppression de mod`eles ou de logiciels de simulation n’engendrait que des modifications mineures du graphe de d´ependances. Si on cherche `a modifier plus en profondeur le multi-mod`ele, il est n´ecessaire de revoir le graphe de d´ependance, et l’ensemble des entit´es du m´eta-mod`ele AA4MM.

Dans cette section, nous reprenons l’exemple des moutons, loups et bergers. Nous introduisons un nouveau ph´enom`ene qui est que les loups ont peur de la pr´esence des bergers. Nous avons donc trois mod`eles : le mod`ele m1des moutons qui mangent de l’herbe et qui reste inchang´e, le mod`ele m02des loups qui et une modification de m2 et le mod`ele m03 le mod`ele de bergers qui est une modification du mod`ele m3 (voir figure 10.19).

Si on reprend le graphe de d´ependance du multi-mod`ele, cela signifie que le mod`ele m03 (moutons + bergers) envoie la position des bergers (que l’on notera P B) au mod`ele m02(loups + moutons). Ces deux mod`eles poss`edent donc respectivement un port de sortie et un port d’entr´ee en plus par rapport aux mod`eles m2 et m3 pr´ec´edents (voir figure 10.20).

10.7 Synth`ese

Bien que relativement simple, l’exemple introduit dans ce chapitre nous a permis de montrer comment le m´eta-mod`ele AA4MM permet de construire un multi-mod`ele `a partir de logiciels de simulation, de simulateurs et de mod`eles existants. L’utilisation de AA4MM impose une certaine d´emarche dans la multi-mod´elisation : d´efinition des mod`eles ´el´ementaires utilis´es, d´efinition d’un graphe de d´ependances puis cr´eation des entit´es propres `a AA4MM. La d´ecomposition en diff´erents niveaux (s´emantique, syntaxique, dynamique, technique) permet de cibler l’ensemble des probl`emes li´es `a cette approche de couplage de mod`eles. Loin de proposer un m´ethodologie compl`ete de multi-mod´elisation, nous pensons que cet exemple peut servir de guide lors de l’utilisation de AA4MM.

10.7. Synth`ese

(a) Mod`ele m1.

(b) Mod`ele m0 2.

(c) Mod`ele m0 3.

Figure 10.19 – Nouveaux mod`eles utilis´es.

(a) Nouveau graphe de d´ependance. (b) Nouveaux m-agents et artefacts-de-couplage.

Figure 10.20 – Nouveau graphe de d´ependance et entit´es du m´eta-mod`ele AA4MM. Il est `a noter que le graphe de d´ependance implique de cr´eer deux artefacts-de-couplage entre les m-agents A3 et A2. Par soucis de lisibilit´e nous n’avons pas fait figurer les artefacts-d’interface ainsi que les mod`eles, les simulateurs, etc.

L’exemple pr´esent´e dans ce chapitre, nous a donn´e l’occasion de d´efinir et d’illustrer ce que l’on entend par compositions des donn´ees et comment celle-ci est g´er´ee par AA4MM `a la fois aux niveaux s´emantique, syntaxique et dynamique. Cet exemple a donn´e lieu `a plusieurs implantations ce qui nous a permis de v´erifier exp´erimentalement le d´eroulement de la simulation. `A ce niveau, il est important de noter que les implantations effectu´ees poss`edent leurs limites : en terme de passage `a l’´echelle pour la version centralis´ee et en terme de performances pour la version d´ecentralis´ee utilisant JMS.

Une fois le multi-mod`ele d´efini et les entit´es propres au m´eta-mod`ele AA4MM cr´e´ees, nous avons montr´e comment il est possible de prendre en compte des diff´erences d’´echelles aussi bien spatiales que temporelles. Nous avons ´egalement montr´e comment modifier le multi-mod`ele sans changer l’ensemble des entit´es du multi-mod`ele. `A ce sujet, il est important de noter que l’utilisation d’artefacts-d’interface et d’artefacts-de-couplage rend la phase de multi-mod´elisation relativement modulaire. On peut par exemple changer facilement de logiciel de simulation, ajouter un nouveau mod`ele, etc.

Au chapitre suivant, Le m´eta-mod`ele AA4MM est utilis´e pour concevoir un multi-mod`ele de r´eseau dynamique (chapitre 11). Ainsi, nous d´ecrivons une partie du travail exp´erimental effectu´e durant cette th`ese. Ce dernier chapitre porte sur les probl´ematiques d’influences entre le fonctionnement des r´eseaux mobiles ad hoc et les comportements mobiles de leurs usagers.