• Aucun résultat trouvé

Dans cet ´etat de l’art, nous avons d’abord voulu donner quelques ´el´ements pour com-prendre les attentes de la recherche en biologie. Nous avons constat´e que cette science exp´erimentale poss`ede `a l’origine assez peu d’outils th´eoriques, les rares pr´esents ´etant em-prunt´es aux autres domaines scientifiques. Ensuite, nous avons d´ecrit l’´emergence de la biolo-gie mol´eculaire et l’explosion des donn´ees due `a la g´en´etique. C’est `a ce moment que l’infor-matique est entr´ee en sc`ene avec la bio-inforl’infor-matique. Enfin nous avons fait ´etat de l’´emergence d’un nouveau paradigme en biologique que nous appelons biologie th´eorique, syst´emique ou int´egrative. Il paraˆıt essentiel `a l’informaticien souhaitant œuvrer pour la mod´elisation des syst`emes vivants de prendre en compte l’histoire des diff´erents paradigmes de la biologie. Ceci est d’autant plus vrai que la demande en outils de mod´elisation et de simulation provient du changement profond dans la mani`ere dont sont con¸cus les syst`emes complexes vivants par les biologistes.

La deuxi`eme partie de cet ´etat de l’art a consist´e `a pr´esenter un tour d’horizon des diff´erentes techniques de formalisation et de simulation mises `a dispositions de la biologie par le domaine de l’informatique. Parmi les formalismes, les alg`ebres de processus, les r´eseaux de Petri et la logique temporelle permettent de manipuler les r´eseaux complexes de la biologie. Ensuite, nous nous sommes int´eress´es plus particuli`erement aux outils de simulations, propo-sant un nouveau moyen d’investigation : les calculs in silico. Plusieurs m´ethodes mettent en œuvre ces calculs. Nous avons pr´ef´er´e les m´ethodes orient´ees objets et agents car elles per-mettent la simulation multi-´echelles et multi-mod`eles plus facilement que les outils classiques reposant sur la r´esolution d’´equations diff´erentielles.

Le dernier chapitre a eu pour objectif de montrer qu’il est possible d’aller plus loin dans l’acte d’exp´erience revendiqu´e par les concepteurs d’exp´erimentation in silico. Le principe de l’´enaction nous a fourni quelque concepts th´eoriques pour comprendre et d´efinir la cog-nition. Les concepts de la r´ealit´e virtuelle et le lien fort que ce domaine entretient avec l’acte d’exp´erience nous permettent alors d’envisager un nouveau type d’exp´erimentation des mod`eles num´eriques, l’exp´erience in virtuo. Cette derni`ere passe n´ecessairement par la double m´ediation des sens et de l’action. Nous avons ensuite montr´e que le principe d’autonomie se r´ev`ele incontournable pour construire les univers virtuels. Se faisant, la r´ealit´e virtuelle offre ´egalement un troisi`eme type de m´ediation : la m´ediation de l’esprit.

Les diff´erents travaux r´ealis´es au CERV tendent `a mettre en pratique les concepts et les outils de la r´ealit´e virtuelle pour mod´eliser et exp´erimenter les syst`emes complexes vivants. Ainsi nous avons pr´esent´e les agents Cellule, R´eaction et Organisation.

L’id´ee de m´elanger les agents Cellule et les agents R´eaction, introduite par les travaux sur le my´elome multiple, a permis d’avancer dans l’´etablissement d’exp´eriences in virtuo de syst`emes multi-mod`eles. Cependant, il apparaˆıt que ces diff´erents mod`eles reposent sur deux visions de la mod´elisation peu compatibles dans le cas g´en´eral et surtout redondantes. En effet, pour les agents Cellule, le mod´elisateur s’appuie sur la notion d’entit´e, alors que pour les agents R´eaction, ce sont les ph´enom`enes qui sont mod´elis´es sous la forme d’interactions. L’algorithme assurant la dynamique d’un ph´enom`ene particulier est alors r´ealis´e par l’entit´e active ou par l’interaction active. Il ne peut en aucun cas ˆetre r´ealis´e par les deux sous peine de dupliquer la dynamique du syst`eme. Le mod´elisateur doit donc d´ecider au cas par cas, quelle solution il souhaite appliquer.

La souplesse du paradigme agent permet de m´elanger ces deux visions. Mais, le manque de cadre strict peut tr`es rapidement conduire `a l’´ecriture de code non maintenable. De plus, le manque de g´en´ericit´e freine la modularit´e dans les applications. Ces difficult´es limitent

l’´evolution de nos applications en rendant difficile la r´eutilisation de code d’un mod´elisateur `

a l’autre. Un cadre g´en´erique plus strict permettrait de pallier ces d´efauts.

Le travail que pr´esente cette th`ese intervient donc dans la continuit´e des travaux du CERV. Il vise `a d´efinir un cadre g´en´erique permettant de rassembler les diff´erentes techniques d´ej`a d´evelopp´ees, au sein d’une mˆeme boˆıte `a outils. Pour cel`a, nous devrons faire un choix dans la posture de mod´elisation. C’est la vision (( interaction )) que nous choisirons. La seconde partie de la th`ese expose donc le mod`ele g´en´erique propos´e. Elle se divise en deux chapitres. Tout d’abord, nous d´efinissons le cœur de ce que propose cette th`ese. Pour cel`a, le chapitre 4 est donc consacr´e `a la d´efinition du mod`ele g´en´erique. Ensuite, nous montrons comment le mod`ele peut ˆetre d´eriv´e et appliqu´e aux diff´erents ph´enom`enes biologiques qui nous int´eressent. C’est le rˆole du chapitre 5 qui pr´esente une (( boˆıte `a outils )) biologique pour l’exp´erience in virtuo.

Deuxi`eme partie

Chapitre 4

Le mod`ele g´en´erique

Comment construire nos applications pour l’exp´erimentation in virtuo ? Voil`a finalement la question pos´ee par notre ´etat de l’art. Le but de cette th`ese n’est donc pas de d´efinir la nouvelle th´eorie biologique ou le nouveau formalisme du vivant, mais de proposer une m´ethode g´en´erique de mod´elisation fournissant un bon compromis compatible avec :

• les r´ealit´es de la biologie appliqu´ee,

• les ´evolutions th´eoriques propos´ees par la biologie int´egrative ou syst´emique, • notre conception de la r´ealit´e virtuelle,

• le patrimoine du projet in virtuo du CERV.

Pour se faire nous proposons ici un mod`ele g´en´erique. L’utilisation de la programmation orient´ee objet convient au principe de la modularit´e que nous nous imposons. Le contexte de l’´equipe EBV et plus g´en´eralement du CERV nous incite ´egalement `a utiliser une program-mation orient´e agent. Nous le verrons, l’utilisation du langage C++ nous permet d’utiliser la biblioth`eque AR´eVi et de concevoir des agents sous la forme d’objets actifs g´er´es par un ordonnanceur.

Ce chapitre est alors construit de la mani`ere suivante. Premi`erement, nous fondonds notre mod`ele sur la r´eification des interactions en objets actifs autonomes pour permettre une conception multi-mod`eles. Ensuite, nous exposons les diff´erentes solutions d’ordonnan-cement asynchrone des objets autonomes pour permettre la simulation multi-´echelles tempo-relles. Enfin, nous int´egrons les notions d’organisation et de ph´enom`ene pour permettre une construction modulaire de syst`emes autonomes.

4.1 R´eification des interactions

4.1.1 Motivations

Nous traitons ici de ce qui constitue l’originalit´e et le point de d´epart de cette th`ese. Ce travail repose en effet sur une id´ee assez simple qui consiste `a changer la posture classique de mod´elisation centr´ee sur les entit´es pour en adopter une autre bas´ee sur la r´eification des interactions entre ces entit´es. Plusieurs raisons motivent ce choix.

Premi`erement, lors des travaux sur les agents cellules et mol´ecules, la mod´elisation micro-scopique des composants a montr´e ses limites en terme de puissance de calcul. Pour d´epasser ce probl`eme, les agents R´eactionmod´elisent les r´eactions chimiques plutˆot que les composants

Mol´ecule(voir section 3.4.3). Nous parlons alors de (( r´eification )) des r´eactions chimiques. L’acception classique du terme (( r´eification )) en programmation orient´ee objet, signifie que l’on d´efinit une classe correspondant `a ce que l’on r´eifie. R´eifier les r´eactions chimiques si-gnifie donc qu’on les (( objectifie )) : on cr´ee la classe R´eactionChimique. Un des avantages de cette m´ethode est qu’elle permet de prendre en compte un niveau de mod´elisation plus macroscopique tout en conservant l’int´erˆet d’une architecture individu-centr´ee et orient´ee agent.

Il est ´egalement plus ´el´egant, au niveau de l’impl´ementation, de r´eifier l’interaction si elle peut l’ˆetre. En effet, cela permet d’´eviter la redondance de la description et de l’application des protocoles d’interaction1. De plus, cela permet la r´ealisation d’une dynamique multi-´echelles temporelle (ce sera l’objet de la section suivante).

Ensuite, l’utilisation de l’approche biologie syst´emique, int´egrative ou th´eorique (voir section 1.5) pour l’´etude des syst`emes complexes, nous pousse `a nous focaliser sur les relations entre les composants. D’ailleurs, cette importance donn´ee aux relations est un point commun `

a l’ensemble des th´eories ´etudiant les syst`emes complexes ; ce qui nous donne une raison suppl´ementaire de rendre explicite ces interactions pour leur donner au sein de nos mod`eles num´eriques, la mˆeme importance que dans les mod`eles th´eoriques.

Enfin, malgr´e l’int´erˆet a priori de cette posture, l’examen de notre ´etat de l’art indique qu’a l’exception des travaux sur les agents Reaction [Kerd´elo, 2006], cette voie ne semble pas avoir ´et´e explor´ee. La majorit´e des applications sont en effet centr´ees composant (ou entit´e) et aucune n’est centr´ee interaction. Ainsi, nous choisissons de construire nos mod`eles autour de cette id´ee de r´eification des interactions, la notion d’objet R´eaction se g´en´eralisant en objet Interaction.

Interrogeons-nous alors logiquement, sur l’int´egration de ce choix dans nos univers autonomes.

4.1.2 Abstraction des composants

Nous avons d´efini la r´eification comme l’(( objectification )). Mais, nous nous pla¸cons ici dans le contexte d’applications prenant pour principe la notion d’autonomie. Autrement dit pour aller au bout de cette d´emarche, il nous faut conf´erer une certaine autonomie aux objets Interaction. Enrichissons alors le sens du verbe r´eifier pour l’adapter `a notre contexte de r´ealit´e virtuelle : r´eifier signifie dor´enavant (( objectifier et autonomiser )). Nous obtenons ainsi des agents Interaction.

Que faisons nous maintenant de nos agents Composant (mod´elisant les cellules, les mol´ecu-les...) ? La r´eification des interactions entraˆıne la d´elocalisation de ce qui fait la dynamique du syst`eme, des objets Composant vers les objets Interaction. De ce fait, l’activit´e des agents Composantdevient nulle. Nous observons une abstraction des composants qui se r´eduisent alors `a de simples ´etats de la m´emoire servant de m´ediateur aux interactions. La figure 4.1 illustre ce changement de point de vue.

1

Lorsque deux entit´es, A et B, doivent ˆetre en relation, nous ne savons si c’est A qui agira sur B, ou si c’est B qui agira sur A. Dans tout les cas, le protocole d’interaction doit ˆetre d´ecrit concr`etement quelque part :

• S’il est d´ecrit dans A et dans B, il y a redondance de la description et potentiellement de la mise en œuvre de l’interaction, ce qui n’est bien sˆur pas souhaitable.

• S’il n’est d´ecrit que pour l’une des deux entit´es, nous parlons alors plus d’action que d’interaction. Ceci pose un probl`eme, car savoir si A agit sur B ou B agit sur A est souvent ind´ecidable.

• S’il est d´ecrit dans une troisi`eme entit´e C, alors le probl`eme de redondance ne se pose plus. L’entit´e C repr´esente finalement l’interaction r´eifi´ee.

R´eification des interactions I1 I2 I3 C2 C1 I1 I2 I3 C2 C1

Fig. 4.1: Ces deux graphes duaux illustrent le changement de point de vue op´er´e grˆace `a la r´eification des interactions. `A gauche, le graphe repr´esente la m´ethode classique de mod´elisation d’un syst`eme avec des nœuds “composants” et des arcs “interactions”. Le graphe de droite repr´esente notre approche dans laquelle les arcs sont transform´es en nœuds et inversement.

ObjetActif Interaction Univers Virtuel

*

1

1

*

Structure

Fig. 4.2: La classe Univers Virtuel est compos´e d’un ´etat du monde (classe Structure), et d’objets actifs r´ealisant sa dynamique (classe Interaction).

4.1.3 Point de d´epart du mod`ele informatique

L’ensemble des composants constitue la structure du syst`eme mod´elis´e dans l’univers virtuel. L’ensemble des objets actifs Interaction repr´esente ce qui fait la dynamique du syst`eme. Nous reviendrons sur cet ensemble dans la section 4.3. Le diagramme de classe de la figure 4.2 correspond `a notre approche. Le mod`ele est alors une sorte d’architecture en tableau noir. En effet, une instance de la classe Structure est un objet passif qui n’est qu’un ensemble d’´etats du monde et qui, par cons´equent, peut ˆetre consid´er´e comme un tableau noir de m´emoire partag´ee par les instances de la classe Interaction.

Dans un souci d’autonomie, il paraˆıt souhaitable que les objet actifs Interaction ne connaissent que le sous ensemble de la structure qui les concerne. La classe Structure est alors un conteneur se composant de constituants, chaque objet Constituant repr´esentant un morceau de l’´etat du monde. Une interaction connaˆıt seulement l’ensemble des constituants qui la concerne. Le diagramme de la figure 4.3 montre l’int´egration de la nouvelle classe Constituant.

Voici donc poser la premi`ere pierre de notre mod`ele. Il est maintenant int´eressant de nous interroger sur notre positionnement informatique.

ObjetActif Interaction Univers Virtuel

*

1

*

Structure Constituant

* *

Fig. 4.3: La classe Univers Virtuel est compos´ee d’un ´etat du monde (classe Structure), et d’objets ac-tifs r´ealisant sa dynamique (classe Interaction). Une Structure est compos´ee de Constituants. Chaque interaction agit sur un certain nombre de constituants.

4.1.4 Agents ou objets actifs ?

Le mod`ele bas´e sur la r´eification des interactions ressemble `a une architecture en tableau noir. Durant l’´etat de l’art, nous avons consid´er´e ce type d’architecture comme faisant partie de la famille des agents r´eactifs2

. Nous nous interrogeons ici, sur l’aspect (( syst`eme multi-agents )) du mod`ele.

Tout d’abord, si il y a un candidat `a l’appellation agent, c’est bien l’objet de type Interaction. Il n’est soumis `a aucun contrˆole global, il est autonome. C’est un objet ac-tif qui a des activit´es de :

• perception : l’´etat des constituants,

• d´ecision : calcul de la dynamique `a mettre en œuvre, • action : modification de l’´etat des constituants.

Ensuite, l’environnement de l’interaction est `a la fois compos´ee de la structure et des autres interactions. Mais, l’interaction ne peut en aucun cas percevoir l’ensemble de cet environnement. Elle ne per¸coit que le sous-ensemble immuable de constituants qui lui est imparti.

L’interaction entre les agents est une notion cl´e des SMA. Nous parlons ici d’(( inter-actions entre les Interinter-actions )), ce qui ne veut plus dire grand chose. Les liens entre les Interactions sont r´ealis´es grˆace aux constituants, donc indirectement par l’interm´ediaire de l’environnement. En fait les objets Interaction communiquent indirectement par couplage des ensembles structuraux (les constituants) auxquels ils sont associ´es. Nous n’utilisons donc pas non plus, la communication par envoie de messages.

Enfin, les syst`emes multi-agents sont l’apanage des simulations individu-centr´ees. Or, nous ne sommes plus tout `a fait dans cette d´emarche de mod´elisation, mˆeme si d’un point de vue informatique, l’architecture peut correspondre `a ce type d’approche.

2Ce classement peut d’ailleurs ˆetre mis en cause ´etant donn´e que certains travaux sur l’architecture en blackboard ne mentionne pas l’appellation agent. De plus, l’architecture en blackboard a pr´ec´ed´e la notion d’agent.

L’ordonnancement asynchrone multi-´echelles

Ces constatations nous am`enent aux limites de la d´efinition Vowel pr´esent´ee `a la section 2.4.5. La notion d’agent cognitif serait, elle, totalement inadapt´ee. Celle d’agent r´eactif peut correspondre `a la limite, mais elle ne nous apporte pas grand chose ´etant donn´ee la distance avec les travaux classiques. De plus, elle v´ehicule un certain nombre de pr´econceptions et de suppositions qui sont aussi vari´ees qu’il y a de concepteurs de syst`emes multi-agents. Fina-lement, nous pr´ef´erons abandonner la d´enomination agent pour utiliser l’appellation (( objet actif )) ou (( entit´e autonome )).

Les bases de notre mod`ele sont ainsi pos´ees : nous souhaitons mod´eliser les syst`emes vivants complexes au moyen d’entit´es autonomes r´eifiant les interactions fa¸connant l’´etat des syst`emes. Il nous faut maintenant d´ecrire le mode d’ex´ecution de l’activit´e des objets Interaction.