• Aucun résultat trouvé

Chapitre 5 Couplage de mod` eles et interop´ erabilit´ e de simulations 37

5.5 Approches existantes

5.5.1 Approches ad hoc . . . 43 5.5.2 Int´egration formelle de mod`eles . . . 45 5.5.3 Couplage de simulateurs . . . 46

5.6 Synth`ese . . . 48

5.6.1 R´esum´e du chapitre . . . 48 5.6.2 Limite des approches existantes de multi-mod´elisation . . . 48

5.1 Introduction

Ce chapitre pr´esente les diff´erentes probl´ematiques rencontr´ees lors de la d´emarche de couplage de mod`eles (encore appel´ee multi-mod´elisation, voir section 5.2). La multi-mod´elisation faisant appel `a de nombreux domaines, nous structurons l’ensemble des questions en plusieurs niveaux : le niveau conceptuel, le niveau s´emantique, le niveau syntaxique, le niveau dynamique et le niveau technique. Cette classification a pour but premier de rendre notre travail plus intelligible et comparable aux travaux existants (voir section 5.4).

Nous passons ensuite en revue les diff´erentes contraintes ou besoins inh´erents `a notre cas d’´etude. ´

Etant donn´e la sp´ecificit´e des ph´enom`enes ´etudi´es et la quantit´e d’outils de mod´elisation et de simu-lation pr´esents dans le domaine de l’informatique ambiante, nous posons des contraintes en terme de r´eutilisation, d’interop´erabilit´e, de modularit´e et de passage `a l’´echelle (voir section 5.3).

Nous pr´esentons par la suite les approches existantes de couplage de mod`eles, leurs avantages et leurs limites. Nous distinguons les approches de multi-mod´elisation ad hoc qui sont mises en place pour traiter un probl`eme particulier et qui n’ont pas pour vocation d’ˆetre des approches g´en´eriques et les m´ethodes de multi-mod´elisation d´edi´ee (voir section 5.5). Nous montrons que ces m´ethodes apportent des r´eponses techniques aux probl`emes li´es `a la multi-mod´elisation. Bien que ces solutions techniques soient indispensables `a la mise en œuvre de la multi-mod´elisation, ces approches manquent de solutions aux niveaux conceptuels. Nous pensons d’autres solutions sont `a rechercher du cˆot´e de la mod´elisation multi-agent.

5.2 D´emarche de multi-mod´elisation

Dans la partie pr´ec´edente, nous avons montr´e que l’´etude des ph´enom`enes d’inter-influences n´ecessite de prendre en compte simultan´ement plusieurs mod`eles. D’une mani`ere g´en´erale, mod´eliser un syst`eme complexe par un seul mod`ele n’est pas toujours la solution la plus simple. En effet, dans ce type de syst`eme il est n´ecessaire de repr´esenter diff´erentes dynamiques et leurs interactions. Ces dynamiques peuvent ˆetre repr´esent´ees par des domaines et des niveaux d’abstraction particuliers et requ´erir des techniques et des connaissances provenant de domaines scientifiques diff´erents. La solution consiste `a repr´esenter chacune de ces dynamiques ´el´ementaires par un mod`ele sp´ecifique et de repr´esenter le syst`eme complexe par un ensemble de mod`eles en interaction. Cette approche se nomme la multi-mod´elisation.

La multi-mod´elisationest la d´emarche qui consiste `a coupler diff´erents mod`eles.

La d´emarche de multi-mod´elisation est un cas particulier de mod´elisation. Tout comme cette derni`ere, la multi-mod´elisation cherche `a r´epondre `a une question sur un syst`eme ´etudi´e en cr´eant un mod`ele de ce syst`eme. `A la diff´erence de la mod´elisation ”classique” qui ne cr´ee qu’un seul mod`ele, la multi-mod´elisation repr´esente le syst`eme ´etudi´e par un ensemble plusieurs mod`eles coupl´es.

L’ensemble des mod`eles coupl´es se nomme le multi-mod`ele[Zeigler and ¨Oren, 1986; Fishwick and Zeigler, 1992].

Nous appelons graphe de d´ependances, l’ensemble des relations qui lient les diff´erents mod`eles.

On distingue g´en´eralement trois types de couplages [Ramat, 2006] : le couplage faible, le couplage fort et le couplage hi´erarchique. Lecouplage faible, aussi appel´e param´etrage, d´efinit une relation uni-directionnelle entre deux mod`eles. Les r´esultats d’un mod`ele sont utilis´es en entr´ee (comme param`etres) d’un deuxi`eme mod`ele (voir figure 5.1a) mais l’inverse n’est pas vrai (le graphe de d´ependance est orient´e et acyclique). Dans le cas du couplage fort, aussi appel´e couplage dynamique, les deux mod`eles s’in-fluencent l’un et l’autre (voir figure 5.1b). Lecouplage hi´erarchiqued´efinit, quant `a lui, une relation de d´ecomposition. Un mod`ele ou une partie de ce mod`ele est repr´esent´e par des sous-mod`eles interconnect´es (voir figure 5.1c). Ce dernier cas est une g´en´eralisation du couplage fort.

Nous laissons ici de cˆot´e le couplage faible de mod`eles. En effet, celui-ci repr´esente pour nous peu d’int´erˆet dans la mesure ou nous cherchons `a mod´eliser les ph´enom`enes d’inter-influences qui sont pr´esents dans des syst`emes complexes comme les r´eseaux ambiants. Nous nous focalisons sur les couplages de mod`eles de type forts et hi´erarchique. D’une mani`ere g´en´erale, nous affirmons que la mod´elisation des syst`emes complexes implique automatiquement ce genre d’approche.

5.3 Contraintes propres `a notre cas d’´etude

5.3.1 R´eutilisation et interop´erabilit´e

Nous avons vu dans la partie pr´ec´edente que les outils de mod´elisation existent `a la fois dans le domaine des r´eseaux informatiques et dans le domaine des sciences sociales. Nous posons donc une premi`ere contrainte forte qui est de pouvoir r´eutiliser les mod`eles et les simulateurs pr´esents dans ces

5.3. Contraintes propres `a notre cas d’´etude

(a) Couplage faible de mod`eles (b) Couplage fort de mod`eles

(c) Couplage hi´erarchique de mod`eles

Figure5.1 – Diff´erents types de couplages de mod`eles. D’apr`es [Ramat, 2006].

domaines. Nous posons comme corollaire de cette premi`ere contrainte que les outils r´eutilis´es doivent pouvoir ˆetre utilis´es `a la fois de mani`ere unique (standalone) et dans le multi-mod`ele.

Il est int´eressant de r´eutiliser les outils de mod´elisation et de simulation `a la fois pour acc´el´erer la mise en place du multi-mod`ele et pour b´en´eficier d’outils v´erifi´es et de mod`eles r´ealistes et valides. Cependant, il ne faut pas perdre de vue que, d’une part, la plupart du temps, ces outils n’ont pas ´et´e con¸cus pour interagir avec d’autre. D’autre part, ces outils sont `a diff´erents niveaux de leurs cycles de vie : certains sont abandonn´es, d’autres sont maintenus par une communaut´e ou encore en plein d´eveloppement. Ainsi, il nous paraˆıt important d’apporter le minimum de modifications aux outils existants que l’on souhaite r´eutiliser.

5.3.2 Modularit´e

Nous avons ´egalement vu que, dans le domaine des r´eseaux ambiants, les probl´ematiques li´ees aux ph´enom`enes d’inter-influences entre les comportements des usagers et le fonctionnement des r´eseaux se retrouvent dans diff´erentes technologies (r´eseaux de capteurs sans fil, r´eseaux mobiles ad hoc, r´eseaux pair-`a-pair). Plus simplement, il peut ˆetre int´eressant de comparer plusieurs protocoles de r´eseaux face `a diff´erents cas d’usage. Cela principalement dans une optique debenchmarking. Les mod`eles de protocoles peuvent ˆetre mod´elis´es par diff´erentes personnes voire implant´es dans des simulateurs diff´erents. Idem pour les mod`eles des cas d’usages. Nous posons donc comme deuxi`eme contrainte forte le fait de pouvoir facilement changer nos mod`eles ´el´ementaires dans le multi-mod`ele.

5.3.3 Passage `a l’´echelle

Il nous faut d´efinir ce que nous entendons par passage `a l’´echelle. Les r´eseaux ambiants sont des syst`emes qui comprennent g´en´eralement un grand nombre d’usagers (de l’ordre du million d’usagers pour les r´eseaux pair-`a-pair, actuellement de l’ordre de la centaine, voire du millier pour les r´eseaux mobiles ad hoc). Mod´eliser de tels syst`emes implique de pouvoir repr´esenter un ordre de grandeur suffisamment grand pour que les r´esultats de simulation soient satisfaisants. Nous parlerons dans ce cas desize-up12.

12. Terme emprunt´e `a l’informatique parall`ele. Lesize-up d´esigne la capacit´e `a r´esoudre des probl`emes de taille de plus en plus grande [Bouzid, 2001]

Ensuite, au vu de la taille du ph´enom`ene ´etudi´e, il est aussi n´ecessaire que la simulation se fasse en un temps satisfaisant. Nous parlerons dans ce cas de speed-up13. Nous ajouterons une nouvelle d´efinition dans le passage `a l’´echelle. Les ph´enom`enes que nous cherchons `a mod´eliser nous obligent `a consid´erer simultan´ement diff´erents niveaux d’abstraction (microscopique, m´esoscopiques, macroscopique). Ces ni-veaux d’abstraction interagissent ensemble. Il est donc n´ecessaire de pouvoir repr´esenter les nini-veaux d’abstraction, voire de pouvoir en ajouter ou en supprimer selon les besoins de l’´etude. Nous parlerons ici de passage `a l’´echelle de typelevel-up.

Le passage `a l’´echelle de type level-up est la capacit´e d’une approche de mod´elisation `a permettre l’ajout (ou la suppression) de niveaux d’abstraction.

Nous ajoutons, comme derni`ere contrainte forte, le passage `a l’´echelle de type level-up de la multi-mod´elisation. Les deux autres types de passage `a l’´echelle (size-up et speed-up) nous semblent moins important au regard des ph´enom`enes ´etudi´es.

5.4 Structuration des probl`emes rencontr´es en niveaux

Cr´eer un multi-mod`ele pose de nouvelles questions par rapport `a l’approche de mod´elisation et de simulation classique. Nous classons ces derni`eres en diff´erents niveaux. Ces niveaux nous permettent simplement de structurer les familles de probl`emes auxquels le mod´elisateur doit faire face durant la multi-mod´elisation. Cette structuration n’est pas sans rappeler les niveaux de sp´ecifications introduits par Zeigler [Zeigler et al., 2000] et les niveaux de connaissances introduits par Klir [Klir, 1984]. Ces derniers permettent de structurer m´ethodologiquement l’approche de mod´elisation et de simulation. Pour notre part nous proposons une structuration plus proche de celle propos´ee par Tolk (Levels of Conceptual Interoperability Models) pr´esent´e dans [Tolk and Muguira, 2003; Cantot et al., 2009] dans le domaine de l’interop´erabilit´e des simulations.

5.4.1 Niveau conceptuel

Le niveau conceptuel est le niveau le plus ´elev´e. Ici, les mod`eles sont vus comme des boˆıtes noires et la discussion porte sur la mani`ere de repr´esenter le multi-mod`ele. Les questions qui se posent `a ce niveau sont, par exemple : ”quelle repr´esentation du multi-mod`ele doit ˆetre utilis´ee pour r´epondre aux questions portant sur un syst`eme complexe particulier ?” ou encore ”une repr´esentation du multi-mod`ele est-elle assez g´en´erique pour s’appliquer `a d’autre type de syst`emes complexes ?”. En fonction de l’´etude men´ee, le mod´elisateur peut avoir besoin de d´efinir les notions de syst`eme ouvert, d’environnement, d’´echelle ou de niveau d’abstraction. De mˆeme, il peut ˆetre int´eressant de voir le multi-mod`ele comme un syst`eme de syst`eme ou encore comme un syst`eme multi-agent.

Le niveau conceptuel porte sur les questions de m´eta-mod´elisation du multi-mod`ele.

5.4.2 Niveau s´emantique

Le niveau s´emantique porte sur la signification et le rˆole du multi-mod`ele face aux questions pos´ees sur le syst`eme ´etudi´e. Les mod`eles ´el´ementaires utilis´es dans le multi-mod`ele sont d´evelopp´es par les th´ematiciens des domaines concern´es. Dans notre cas ce sont les mod`eles d’usagers et de r´eseaux. On se pose ici des questions comme ”que doivent repr´esenter chacun des mod`eles ?”, ”comment interagissent les mod`eles ?”, ”comment est repr´esent´e un mˆeme objet dans des mod`eles diff´erents ?” ou encore ”que signifie passer d’un niveau d’abstraction `a un autre ?”.

D’une mani`ere g´en´erale, le multi-mod`ele doit r´epondre `a une question sur le ph´enom`ene ´etudi´e. Le mod´elisateur ne con¸coit pas seulement un mod`ele pour r´epondre `a une question sur le syst`eme ´etudi´e mais couple un ensemble de mod`eles ´el´ementaires pour ce faire. Il faut d`es lors d´efinir le graphe d’interaction du multi-mod`ele puis d´efinir ce que signifient chacune des fl`eches de ce graphe. Ensuite, il faut faire en sorte

13. Terme l`a aussi emprunt´e `a l’informatique parall`ele. Lespeed-up d´esigne la capacit´e `a acc´el´erer les traitements infor-matiques [Bouzid, 2001]

5.4. Structuration des probl`emes rencontr´es en niveaux

que l’ensemble des objets et ph´enom`enes repr´esent´es dans chacun des mod`eles ´el´ementaires s’accordent afin que le multi-mod`ele soit coh´erent s´emantiquement (voir l’exemple donn´e par la figure 5.2).

Figure5.2 – Exemple d’intersection de domaines de repr´esentation de diff´erents mod`eles. Cet exemple illustre la multi-mod´elisation d’un r´eseau mobile repr´esent´e par un mod`ele de d´eplacement des usagers (en haut) et un mod`ele de r´eseau (en bas). Ces deux mod`eles partagent une information commune (on dit que leurs domaines d’abstraction s’intersectent). En effet, la position spatio-temporelle des usagers correspond `a la position des nœuds du r´eseau.

Sachant que les mod`eles sont peut-ˆetre repr´esent´es `a des ´echelles spatio-temporelles diff´erentes, le mod´elisateur doit d´efinir comment une information d’un mod`ele doit ˆetre per¸cue par un autre. Par exemple, la qualit´e de services du r´eseau au cours du temps d´epend notamment d’un certain nombre de messages qui sont relativement rapides et fr´equents (de l’ordre de la milliseconde). Si l’on souhaite mod´eliser des utilisateurs qui per¸coivent la qualit´e de services et qui modifient leurs comportements en fonction de celle-ci, l’´echelle temporelle ne sera pas la mˆeme (de l’ordre de la minute ou de l’heure) car un comportement humain n’´evolue pas aussi rapidement et fr´equemment. Il faut repr´esenter la qualit´e de services per¸cue pour un usager, par exemple le nombre de messages d’erreur survenus dans les derni`eres 10 minutes (voir figure 5.3). Le mod´elisateur doit donc r´eifier et sp´ecifier les interactions entre les mod`eles. Outre les questions de mod´elisation qui se posent pour chacun des mod`eles ´el´ementaires, se posent ici des questions de mod´elisation quant `a l’interaction de ces mod`eles ´el´ementaires au sein du multi-mod`ele. La d´efinition du graphe d’interaction et la gestion de la coh´erence s´emantique sont autant de choix faits par le mod´elisateur dans le but de r´epondre aux questions qu’il se pose sur le syst`eme ´etudi´e. Il est donc n´ecessaire que ce dernier puisse les expliciter, les sp´ecifier et les valider.

Leschoix de multi-mod´elisationsont les choix faits par le mod´elisateur qui concernent la s´emantique de l’interaction des diff´erents mod`ele ´el´ementaires constituants le multi-mod`ele.

5.4.3 Niveau syntaxique

Le niveau syntaxique concerne les questions propres `a la formalisation du multi-mod`ele. Tout d’abord, chaque mod`ele ´el´ementaire utilis´e dans le multi-mod`ele est formalis´e. ´Etant donn´e que ces mod`eles peuvent provenir de diff´erents domaines scientifiques, il est fort probable que les formalismes utilis´es soient diff´erents.

Figure 5.3 – Exemple d’interaction de diff´erents mod`eles. Diff´erence d’´echelles entre les diff´erents mod`eles.

On parle de multi-mod´elisation homog`ene quand tous les mod`eles ´el´ementaires entrant en jeu poss`edent le mˆeme formalisme ; et demulti-mod´elisation h´et´erog`enesinon. D’apr`es [Fishwick, 2007].

La multi-mod´elisation homog`ene ne pose g´en´eralement pas de soucis `a ce niveau. La multi-mod´elisation h´et´erog`ene n´ecessite de g´erer les diff´erences entre les formalismes comme par exemple, les repr´esentations des changements d’´etats, de l’espace ou encore du temps. Il est important de noter que la formalisation du multi-mod`ele se doit de prendre en compte `a la fois les formalismes de chacun des mod`eles ´el´ementaires pr´esents et la sp´ecification des choix de multi-mod´elisation.

5.4.4 Niveau dynamique

Le niveau dynamique concerne les questions propres `a l’ex´ecution du multi-mod`ele. Tout d’abord, on retrouve ici les probl´ematiques classiques du domaine de la simulation distribu´ee. Il est n´ecessaire de g´erer l’ordre dans lequel les mod`eles sont ex´ecut´es, si la simulation est distribu´ee ou non (probl`emes de respect de la causalit´e de la simulation) ou encore si les mod`eles n´ecessitent des politiques d’ex´ecutions identiques ou diff´erentes (voir chapitre 2).

Ensuite, on retrouve des probl´ematiques classiques du domaine de la simulation multi-agent. Faire interagir des mod`eles va entraˆıner la possibilit´e pour diff´erents mod`eles de modifier simultan´ement un mˆeme param`etre. Il faut alors g´erer la simultan´eit´e des actions et la r´esolution des conflits potentiels. Il a ´et´e d´emontr´e, dans la communaut´e de la simulation multi-agent, que cette gestion se doit d’ˆetre sp´ecifi´ee. En effet, mˆeme si cet aspect n’est pas directement li´e au niveau s´emantique du multi-mod`ele, les diff´erents choix li´es au niveau dynamique vont avoir un impact sur les r´esultats des simulation [Michel, 2004; Chevrier and Fates, 2010].

5.4.5 Niveau technique

Le niveau technique concerne l’ensemble des questions li´ees aux aspects implantation de la simulation du multi-mod`ele. La discussion `a ce niveau porte sur la distribution (ou la centralisation) de l’implanta-tion, sur la robustesse, la fiabilit´e et l’efficacit´e de la simulation.

5.5. Approches existantes

5.5 Approches existantes

Dans cette section, nous passons en revue les diff´erentes m´ethodes de multi-mod´elisation existantes. Tout d’abord, nous faisons la distinction entre les approches ad hoc qui sont utilis´ees pour r´epondre `a une probl´ematique particuli`ere et qui n’ont pas pour vocation d’ˆetre g´en´erique (voir section 5.5.1), et les m´ethodes d´edi´ees `a la multi-mod´elisation qui se veulent plus g´en´eriques. Dans les approches d´edi´ees, nous distinguons l’approche formelle d’int´egration de mod`eles (voir section 5.5.2) et l’approche de couplage de simulateurs (voir section 5.5.3). Dans la section 6.1 nous nous int´eressons `a l’approche de mod´elisation et de simulation multi-agent en tant que forme de multi-mod´elisation.

5.5.1 Approches ad hoc

Les approches de multi-mod´elisation dites ad hoc sont utilis´ees pour r´epondre aux besoins d’une ´etude sp´ecifique et n’ont pas pour vocation d’ˆetre g´en´erique. Il est relativement fr´equent de rencontrer ce type d’approches car elles pr´esentent une grande souplesse en pratique. Le mod´elisateur se concentre sur les questions du niveau s´emantique qui sont en relation directe avec le but de son ´etude. Ensuite, les niveaux technique, dynamique et syntaxique sont vus comme autant d’aspects d’ing´enierie qui sont faciles `a r´esoudre lorsqu’il s’agit de mettre sur pied une solution logicielle sp´ecifique `a l’´etude en cours. L’avantage de ces m´ethodes ad hoc est de mettre sur pied rapidement des outils de multi-mod´elisation qui r´epondent exactement aux besoins du mod´elisateur. Cependant, la sp´ecificit´e se fait g´en´eralement au d´etriment des sp´ecifications et donc de la possibilit´e pour la communaut´e scientifique de comparer et de reproduire les r´esultats de simulation obtenus par ces m´ethodes ad hoc. Nous distinguons deux types d’approches ad hoc. La d´emarche d’int´egration op´erationnelle de mod`eles et la d´emarche de couplage ad hoc de simulateurs.

Int´egration op´erationnelle de mod`eles

L’int´egration op´erationnelle consiste `a coupler ensemble des mod`eles dans un seul et mˆeme logiciel de simulation.

Dans cette d´emarche, chaque mod`ele est con¸cu dans son propre formalisme. Ensuite, ces mod`eles sont