• Aucun résultat trouvé

Automates cellulaires

3.3 DEVS et les mod` eles cellulaires

en utilisant h´eritage et polymorphisme. Parmi bien d’autres, il existe des impl´ementations devs bas´ees sur C++ : adevs (A Discrete EVent System simulator, J. Nutaro, universit´e d’Arizona), devs-C++ (Hyup. J. Cho et Young K. Cho, acims, universit´e d’Arizona), ainsi que sur Java :devsjava (H. Sarjoughian et B. Zeigler,acims, universit´e d’Arizona), jdevs (J. B. Filippi, universit´e de Corse). Comme nous n’utiliserons devs que comme outil de mod´elisation et non de simulation, nous n’entrerons pas plus dans le d´etail des simulateurs abstraitsdevs.

3.3 DEVS et les mod` eles cellulaires

Comme nous l’avons vu au chapitre pr´ec´edent consacr´e aux automates cellulaires, les mod`eles cellulaires sont une solution int´eressante lorsque l’espace doit ˆetre pris en compte de mani`ere discr`ete dans le mod`ele. Il ´etait donc in´evitable, puisque c’est un formalisme `a vocation universelle, que parmi les nombreuses extensions dedevs, certaines soient d´edi´ees aux mod`eles cellulaires, la plus aboutie d’entre elles ´etant certainement Cell-devs.

3.3.1 Cell-DEVS

L’approche na¨ıve de la formalisation devs d’un automate cellulaire est de consid´erer chaque cellule comme un mod`ele atomique devs, de coupler ce mod`ele avec les cellules de son voisinage et avec l’espace cellulaire global (figure 3.7). Chaque cellule poss`ede donc ses propres fonctions de transition. Le synchronisme des transitions peut ˆetre simplement assur´ee en ayant une fonction d’avance du temps identique pour toutes les cellules (la formalisation rigoureuse d’une transposition d’un automate cellulaire enp-devsest donn´ee par Vangheluwe, 2000, p. 87–88). N´eanmoins, cette transposition ne tire pas avantage des possibilit´es de la gestion par ´ev`enements : toutes les cellules calculent un changement d’´etat mˆeme lorsque ce n’est pas n´ecessaire, le choix d’un pas de temps unique est crucial (et en g´en´eral souffre de la n´ecessit´e d’´equilibre entre pr´ecision et temps de calcul). Pour ´eviter ces inconv´enients, Wainer et Giambiasi (2001b) ont propos´e l’extension Cell-devs.

Le mod`ele Cell-devs correspond `a celui de la figure 3.7, c’est-`a-dire un espace cellulaire consid´er´e comme un mod`ele coupl´e de cellules consid´er´ees comme des mod`eles atomiques.

Cependant les cellules sont des mod`eles atomiques non standards, puisque leur dynamique est temporis´ee (d’o`u l’appellation compl`ete originale deTimed Cell-devs) : l’´etat d’une cel-lule est modifi´e en fonction de l’´etat de son voisinage mais il ne sera connu des celcel-lules voisines qu’apr`es un certain d´elai. Le mod`ele atomique Cell-devsd’une cellule est d´efini par la structure suivante :

C =hX, Y, I, S, N,delay, d, δint, δext, τ, λ, tai o`u :

X, Y, S, δint, δext, λ et ta ont la mˆeme signification que pour le mod`ele atomique standard avec ports,

delay d´efinit le type de d´elai utilis´e par la cellule,

52 Chapitre 3. DEVS

Figure 3.7 – Un espace cellulaire 2D avec devs : chaque cellule est consid´er´ee comme un mod`ele atomique coupl´e avec ses voisines et avec l’espace cellulaire global.

dest la dur´ee de ce d´elai, I est l’interface de la cellule,

N est l’ensemble des ´etats des cellules voisines, τ est une fonction locale de calcul.

L’interface I de la cellule d´efinit le voisinage de la cellule ainsi que les connexions en terme de ports d’entr´ee et de sortie entre la cellule et ses voisines. La fonction de calcul τ permet de d´eterminer le nouvel ´etat de la cellule en fonction de l’´etat du voisinage transmis par I et conserv´e dans N. L’´etat de la cellule n’est effective pour ses cellules voisines qu’au bout du d´elai d’attented. Autrement dit un d´elai est respect´e entre l’arriv´ee d’un ´ev`enement externe qui provoque un changement d’´etat et l’activation de la fonction de transition interne qui appelle la fonction de sortie charg´ee de transmettre ce nouvel ´etat. Ce d´elai peut ˆetre de deux types (les deux valeurs possibles de delay) : soit c’est un d´elai de transport (le d´elai repr´esente alors tout le temps de propagation du signal dans la cellule, et tous les

´ev`enements sont transmis), soit c’est un d´elai inertiel (la s´emantique est alors pr´eemptive, tous les ´ev`enements ne sont pas obligatoirement transmis).

Une fois les cellules d´efinies, il faut pouvoir les connecter et les inclure dans l’espace cellulaire. C’est le rˆole du mod`ele coupl´e cellulaire qui se d´efinit par la structure :

M CC =hX, Y, Xlist, Ylist, I, n,{t1. . . tn}, N, C, B, Zi o`u :

XetY ont la mˆeme signification que pour le mod`ele coupl´edevs: ce sont les ´ev`enements externes d’entr´ee et de sortie avec ports,

Xlist, Ylistsont les listes de cellules disponibles pour une connexion avec un autre mod`ele, respectivement en entr´ee ou en sortie,

3.3. DEVS et les mod`eles cellulaires 53 I est l’interface du mod`ele cellulaire avec l’ext´erieur,

n∈Nd´efinit la dimension de l’espace,

∀i∈[1 :n]ti∈Ndonne la taille de l’espace pour chaque dimension i, N d´efinit la forme du voisinage des cellules,

C repr´esente les cellules contenues dans l’espace cellulaire,

B ⊆C repr´esente les cellules des bords, qui peut ˆetre l’ensemble vide (cas du tore en 2D), Z est la fonction de traduction sortie-entr´ee entre ports de sortie et ports d’entr´ee.

Un mod`ele coupl´e Cell-devs est compatible avec un mod`ele coupl´edevs, ce qui permet de r´ealiser des mod`eles int´egrant un automate cellulaire sp´ecifi´e dans le formalisme Cell-devs et d’autres mod`eles compatiblesdevs(Wainer et Giambiasi, 2001a). Comme pour les autres extensions devs, Wainer et Giambiasi fournissent les simulateurs abstraits de leur mod`ele Cell-devs. De plus, Wainer (2002) a d´evelopp´e cd++ un ensemble de biblioth`eques qui permet la d´efinition de mod`elesdevset Cell-devsen utilisant un langage de sp´ecification de haut niveau.

3.3.2 Espaces cellulaires non modulaires

Le formalisme Cell-devs pr´esente deux inconv´enients. Le premier est une mod´elisation qui peut ˆetre consid´er´ee comme plus complexe que celle d’un automate cellulaire classique, et qui n’est pas toujours ais´ee `a mener `a bien, notamment en ce qui concerne la question du choix du type de d´elai, et de la valeur de ce d´elai. Le deuxi`eme inconv´enient, inh´erent au type de communication par port du mod`ele devs original, est le nombre de messages transmis lors d’une simulation. Pour une grille 2D carr´ee de dimension N, en supposant que chaque cellule envoieV messages `a ses 4 voisines (voisinage de Von Neumann) durant une it´eration, on obtient dans le pire des cas 4N2V −4N V −4V messages par it´eration, soit pour une grille de 200×200 et un seul message par cellule (V = 1), presque 160 000 messages par it´eration.

Si l’on se place dans un espace cellulaire 3D, le nombre de messages devient vite un handicap insurmontable en termes de temps d’ex´ecution, sauf si l’on peut garantir que peu de cellules aient `a communiquer une information `a chaque it´eration.

Pour pallier cet inconv´enient, diff´erentes solutions ont ´et´e propos´ees : Wainer et Giam-biasi (2001a) mettent `a plat la hi´erarchie des coordinateurs du simulateur, Muzy et Nutaro (2005) ´eliminent les coordinateurs superflus et ne prennent en compte dans les algorithmes d’ordonnancement que les cellules actives, approche d´ej`a envisag´ee par Hu et Zeigler (2004).

N´eanmoins, ces solutions restent au niveau de l’impl´ementation et continuent de traiter les cellules comme autant de mod`eles atomiques. Dans sa th`ese, Shiginah (2006) adopte une d´emarche plus radicale qui lui permet de tirer avantage de ces am´eliorations en appliquant des m´ethodes comparables, mais cette fois au niveau de la mod´elisation.

L’id´ee principale de Shiginah est de diviser l’espace cellulaire en un nombre r´eduit de

54 Chapitre 3. DEVS

(a) Le mod`ele cellulaire ori-ginal : N2 cellules ´ equi-valentes `a autant de mo-d`eles atomiques.

(b) Partage en 4 sous-espaces dans lesquels les cellules sont regroup´ees en un ta-bleau bidimensionnel.

(c) Transformation de ces sous-espaces en mod`eles atomiques.

Figure 3.8 – Principe du passage d’un espace cellulaire `aN2 mod`eles atomiques `a sa repr´esentation non-modulaire `a 4 mod`eles atomiques seulement (Shiginah, 2006).

sous-espaces (nombre pouvant ˆetre ´egal `a 1) qu’il rend ´equivalents `a des mod`eles atomiques p-devs (figure 3.8), en utilisant la propri´et´e de fermeture par couplage des mod`elesp-devs, qui garantit qu’un mod`ele coupl´e est aussi un mod`ele atomique. Ainsi, il peut ´eliminer les communications inter-cellules en les traitant de mani`ere globale dans chaque sous-espace : les ports sont supprim´es et les cellules ont un acc`es direct aux variables d’´etat des autres cellules. Il cr´ee de cette fa¸con un mod`ele atomique qu’il nomme CellSpace et qu’il formalise de la fa¸con suivante1 :

CellSpace =hX, Y, S, n,{t1. . . tn}, C, B,{Cellid}, δint, δext, δcon, λ,Eventsi o`u :

X, Y, S, δint, δext, δcon, λont la mˆeme signification que pour un mod`ele atomique p-devs, n∈Nd´efinit la dimension de l’espace,

∀i∈[1 :n]ti∈Ndonne la taille de l’espace pour chaque dimensioni, C repr´esente les cellules contenues dans l’espace cellulaire,

B⊆C repr´esente les cellules des bords,

∀ id ∈ C, Cellid = hN, Si, N ´etant le voisinage de id et S le tableau des variables d’´etats des cellules de ce voisinage,

Events ={(time, id)|time∈R+, id∈C}est la liste des ´ev`enements `a venir (next events list) qui remplace en quelque sorte la fonction d’avance du tempstadu mod`ele classique, avec la convention suivante :

ta(s) = min(time)(time,id)Events

1. Dans un souci de clart´e, pour les concepts communs au mod`ele coupl´e Cell-devs, nous conservons les notations utilis´ees par Wainer et Giambiasi plutˆot que celles propos´ees par Shiginah.

3.3. DEVS et les mod`eles cellulaires 55 Cette liste d’´ev`enements est la partie la plus complexe de ce mod`ele, puisqu’elle doit permettre de remplacer la fonction d’avance du temps globale du mod`ele atomique ainsi que toutes les fonctions d’avance du tempslocales aux cellules, en y ajoutant de plus, le principe de scanner l’activit´e des cellules afin de ne traiter que les cellules actives ou susceptibles de le devenir.

Shiginah d´emontre de fa¸con formelle que le mod`ele atomique ainsi obtenu est bien ´equi-valent au mod`ele atomique p-devs, la seule diff´erence ´etant que CellSpace comporte plus de d´etails et de param`etres, mais qui pourraient ˆetre inclus dans le comportement interne de tout mod`ele p-devs. Lorsque l’espace cellulaire a ´et´e divis´e en quelques sous-espaces, Shiginah en obtient ainsi une repr´esentation non-modulaire, ´equivalent `a un mod`ele coupl´e p-devs, ce qui, outre le gain de temps de traitement, offre ´egalement l’avantage de simplifier dans certains cas la mod´elisation et donc de r´epondre ainsi `a l’inconv´enient de la complexit´e qu’implique parfois l’emploi du formalisme Cell-devs. Comme illustration de son mod`ele, Shiginah propose une mod´elisation deLife (voir section 2.2.3.2, page 33).

3.3.3 Relation avec les automates cellulaires ´etendus

Les r´esultats de Shiginah permettent de consid´erer un automate cellulaire, mˆeme en faisant l’´economie d’une d´ecomposition compl`ete en mod`eles atomiques, comme un mod`elep-devs, pour peu que soient respect´ees les s´emantiques de communication avec l’environnement et de dynamique d’´evolution. Si nous consid´erons un automate cellulaire ´etendu (voir section 2.3, page 37) :

ACE = (C, E, Q, V, f, g, P ) avec P ={∆t,∆x, . . .}

nous allons constater qu’il peut ˆetre d´ecrit avec un mod`eleCellSpace d´efini dans la section pr´ec´edente :

CellSpace =hX, Y, S, n,{t1. . . tn}, C, B,{Cellid}, δint, δext, δcon, λ,Eventsi

En effet, en ce qui concerne la structure du mod`ele, la description de l’espace cellulaire n-dimensionnel est inclus dans les deux d´efinitions (C d’une part, C, B, n,{t1. . . tn} d’autre part), et dans les deux cas nous avons un ensemble d’´etats du syst`eme (QetS). L’information de voisinageV est contenue dans l’ensemble {Cellid}.

Le syst`eme change d’´etat soit selon l’avanc´ee du temps (∆t ∈ P et ta d´efini grˆace `a Events) en respectant une fonction de transition interne (f etδint), soit selon l’arriv´ee d’´ev`e-nements discrets (correspondant aux influences ext´erieures de l’automate cellulaire ´etendu) en respectant une fonction de transition externe (g et δext). L’apport important de devs se situe justement dans la formalisation de cette fonction de transition externe, qui, comme nous l’avons vu au chapitre pr´ec´edent, n’´etait pas assez rigoureuse dans le cas de l’automate cellulaire ´etendu. Nous disposons maintenant d’un mod`ele qui peut explicitement g´erer des influences externes au syst`eme en tant qu’´ev`enements discrets, non soumis `a une mise `a jour selon un pas de temps constant. Ces influences externes se traduisent ´egalement de fa¸con pr´ecise en termes de ports d’entr´ee ou de sortie dans les ensembles X et Y, qui peuvent permettre par exemple de sp´ecifier quelles sont les cellules concern´ees (ce qui correspond aux r´egionsEi de l’automate cellulaire ´etendu). De plus, les collusions entre une transition interne

56 Chapitre 3. DEVS et une transition externe sont explicitement g´er´ees par la fonction de conflit δcon. Enfin, la fonction de sortie λ permet de donner une information suppl´ementaire sur ce que l’espace cellulaire transmet `a son environnement. Le comportement de l’automate cellulaire ´etendu se trouve donc enti`erement (et mieux) d´ecrit par le mod`eleCellSpace. Les seules caract´eristiques non prises en compte explicitement correspondent aux param`etres globaux contenus dansP, notamment le pas spatial. Comme il s’agit de simples attributs n’affectant pas la dynamique du mod`ele, ces caract´eristiques peuvent ˆetre ajout´ees `a la d´efinition deCellSpacesans perdre la conformit´e avec le formalisme p-devs.

3.4 Conclusion

Le formalisme devsd´ecrit dans ce chapitre offre de nombreux avantages. C’est un outil de mod´elisation mais il permet ´egalement l’impl´ementation, en offrant une s´emantique op´e-rationnelle par le biais des simulateurs abstraits. L’utilisation d’un des nombreux logiciels ou biblioth`eques d´edi´es `a ce formalisme peut permettre de r´eduire le temps de d´eveloppement d’un mod`ele, ainsi que sa v´erification. La structure et la dynamique d’un mod`ele peuvent ˆetre d´ecrits rigoureusement, en mettant `a profit une vision modulaire et hi´erarchique du syst`eme, grˆace `a la propri´et´e de fermeture par couplage. Il est th´eoriquement possible de coupler des mod`elesdevsexistants et donc de d´efinir ainsi des mod`eles de plus haut niveau d’une grande complexit´e en r´eutilisant des travaux ant´erieurs, d’o`u un gain de temps. Une grande qualit´e dedevsest sa capacit´e `a int´egrer des formalismes et des paradigmes de nature diff´erente, soit parmapping (traduction compl`ete de l’existant versdevs), soit parwrapping (encapsulation de l’existant dans des fonctions permettant de faire la transition avec devs).

La mod´elisation des espaces cellulaires est ´egalement incluse dansdevs, notamment grˆace

`a Cell-devsqui ajoute au paradigme des automates cellulaires la notion de temps de transfert.

La communication par ports de devs a cependant l’inconv´enient de multiplier les messages inter-cellules, ce qui peut augmenter consid´erablement les temps de calculs lors d’une simula-tion. Parmi les solutions propos´ees pour pallier cet inconv´enient, le mod`eleCellSpace permet de consid´erer un espace cellulaire de fa¸con non-modulaire, ce qui ´elimine les communications inter-cellules et donc entraˆıne une ´economie en temps d’ex´ecution, ainsi que dans certains cas une mod´elisation moins complexe. Le mod`ele atomiqueCellSpace est ´equivalent `a un mod`ele atomique p-devs, et nous avons montr´e dans ce chapitre que ce mod`ele est parfaitement adapt´e pour la sp´ecification rigoureuse d’un automate cellulaire ´etendu, ce qui ´etablit par cons´equent l’´equivalence entre un automate cellulaire ´etendu et un mod`ele atomiquep-devs.

Il devient donc possible de construire un mod`ele coupl´ep-devscomprenant un automate cel-lulaire ´etendu, et nous exploiterons cette opportunit´e dans la d´efinition de nos deux mod`eles d’´evolution du sol qui seront d´ecrits dans les deux parties suivantes de ce m´emoire : le mod`ele de d´egradation de la surface du sol sous l’action de la pluie, et le mod`ele de fissuration du sol par dessiccation.