• Aucun résultat trouvé

Phase 2 : preuve de la convergence du SMA avec le patron P_CONV

5.2 RefProSOAMS : un processus pour le développement formel des SMA auto-

5.2.2 Phase 2 : preuve de la convergence du SMA avec le patron P_CONV

Cette deuxième phase du processus a pour objectif la preuve de la convergence du SMA conçu. La machine MASmeso (résultat de la première phase) est raffinée par la machine

MASmacroGoal en introduisant l’objectif global des agents. Ce raffinement se fait manuel-

lement et permet de préparer l’application du patron P_CONV qui sert de guide afin de prouver la convergence des agents vers l’objectif global du système.

Le patron P_CONV est composé par :

3 la machine MacroConvGo al qui décrit de façon généralisée le comportement d’un en- semble d’agent ainsi que l’objectif global à atteindre. Cette machine est composée des événements de la machine MesoLevel du patron P_MAS et de l’événement observer qui modélise l’objectif global du système.

3 la machine Macro Level décrite à la section 4.2.3 par la figure 4.12. Rappelons que la ma- chine MacroLevel est formée d’un ensemble d’événements qui permettent d’atteindre la fonction globale du système (noté sel f OrgConv), ceux qui la maintiennent (notés m), les perturbations (notés p), les événements d’auto-organisation notés sel f Org et de l’événement observer. A ce niveau de raffinement, nous nous intéressons à prouver la convergence du système. Ainsi, seuls les événements m, sel f OrgConv et observer sont considérés.

L’intégration de ce patron dans le processus de conception permet d’automatiser le raffinement de la machine MASmacroGoall en MASconv. Cette intégration est effectuée en deux étapes. La première consiste à raffiner tous les événements d’action par l’événement sel f OrgConv du patron PCONV et décrit par la figure 4.14 dans la section 4.2.3. La deuxième étape a pour objet la preuve de la terminaison des événements d’action et le non blocage de la machine MASconvdans un état non désiré. Pour prouver la terminaison des événements d’action, qui passe par la définition d’un variant, plusieurs étapes de raffinement sont par- fois nécessaires. En effet, à chaque étape, un ensemble d’événements décrémentant le même variant sont considérés par la preuve. Les événements non considérés doivent être définis comme des événements anticipés pour signaler que la preuve de leur terminaison est repor- tée pour les prochaines étapes de raffinement. Comme indiqué dans le chapitre 4 (section 4.1.3), le choix du variant n’est pas toujours évident et dans certains cas, il faut avoir recours aux hypothèses d’équité forte pour prouver la terminaison.

5.2.3 Phase 3 : preuve de la résilience du SMA avec le patron P_RES

Le comportement décrit par la machine MASconvProved permet aux agents d’atteindre l’adéquation fonctionnelle en l’absence de perturbations. Lors de cette troisième phase, la machine MASconvProved est raffinée conformément au patron P_RES afin de spécifier puis prouver le comportement adéquat pour faire face aux perturbations et aux changements de l’environnement.

5.3. Conclusion

La spécification du patron P_RES est composée des deux machines suivantes :

3 MacroResGoal : modélise le comportement d’un ensemble d’agents et l’objectif de la résilience.

3 MacroLevel : raffine MacroResGoal en tenant compte des perturbations et des méca- nismes d’auto-organisation.

L’intégration du patron P_RES dans le processus de développement se fait en raffinant : 3 l’événement EnvironmentChange dans la machine MASrespour modéliser les perturba-

tions de l’environnement et

3 les événements d’action pour modéliser les mécanismes d’auto-organisation permet- tant aux agents de neutraliser les effets provoqués par les perturbations et revenir aux règles comportementales nominales pour converger à nouveau vers l’objectif du SMA. La preuve de la résilience se fait en prouvant la formule ¬FA(macroState)

FA(macroState) conformément à la discussion menée au chapitre 4. Elle peut nécessi- ter plusieurs itérations de raffinement et donne lieu à la machine MASresProved. Cette machine marque la fin du processus de développement et elle comporte les règles compor- tementales nominales des agents et celles relatives à leur capacité d’auto-organisation.

5.3

Conclusion

Dans ce chapitre, le processus RefProSOMAS de modélisation et de vérification formelle de SMA auto-organisateurs est décrit. Ce processus, formé de trois phases, se base sur des patrons de raffinement visant à guider le développement et la vérification dans chacune de ses étapes. Pour illustrer ce processus, nous présentons dans le chapitre suivant une modé- lisation de l’étude de cas des fourmis fourrageuses à l’aide de RefProSOMAS.

Troisième partie

6

Application de RefProSOMAS

sur le cas d'étude des fourmis

fourrageuses

Dans ce chapitre, nous appliquons le processus ascendant RefProSOMAS sur l’étude de cas des fourmis fourrageuses. A travers cette application, nous visons aussi à illustrer les modèles génériques décrits sous forme de patrons au chapitre précédent.

La description de notre cas d’étude fait l’objet de la première section. Les trois sections sui- vantes décrivent l’application de chacune des phases RefProSOMAS pour modéliser le com- portement local des fourmis et ensuite prouver les propriétés globales de convergence et de résilience.

6.1

Description du cas d’étude des fourmis fourrageuses

L’exemple que nous présentons est une formalisation des comportements d’une colonie de fourmis fourrageuses [Topin et al., 1999]. Le système est composé de plusieurs fourmis qui se déplacent à la recherche de nourriture dans un environnement qui est un ensemble de cellules reliées entre elles. L’objectif principal des fourmis est de ramener toute la nourriture placée dans l’environnement vers leur nid. Elles n’ont pas d’information sur les emplacements des sources de nourriture, mais elles sont capables de percevoir la nourriture qui est à l’intérieur de leur champ de perception. Les fourmis interagissent entre elles via l’environnement en déposant des phéromones. Les perturbations provenant de l’environ- nement sont principalement l’évaporation de la phéromone, l’apparition d’obstacles et la disparition ou l’apparition de nourriture.

Le comportement des fourmis est décrit comme suit. Initialement, toutes les fourmis sont dans le nid. Lors de l’exploration de l’environnement, la fourmi met à jour ses repré- sentations dans son champ de perception et décide vers quelle cellule se déplacer. Lors d’un déplacement, la fourmi doit éviter les obstacles. Selon ce qu’elle perçoit, trois cas sont pos- sibles :

1. la fourmi perçoit la nourriture : elle décide de prendre la direction dans laquelle le gradient de la nourriture est le plus fort,

2. la fourmi sent uniquement de la phéromone : elle décide de s’orienter vers la direction dans laquelle le gradient de phéromone est le plus fort et

3. la fourmi ne perçoit rien : elle choisit sa prochaine destination au hasard.

Quand une fourmi atteint une source de nourriture, elle en prend une partie et rentre au nid. Si de la nourriture reste à cet endroit, la fourmi dépose de la phéromone sur son chemin de retour. En arrivant au nid, la fourmi dépose la nourriture récoltée et recommence une autre exploration.

En plus des propriétés de non blocage LocProp1, LocProp2 et LocProp3 (décrites à la section 3), les propriétés suivantes doivent être vérifiées au niveau micro.

3 LocInv1 : la fourmi doit éviter les obstacles et

3 LocInv2 : un endroit donné ne peut pas contenir à la fois des obstacles et de la nourri- ture.

Les propriétés globales auxquelles nous nous intéressons sont décrites comme suit : 3 la convergence : les fourmis sont en mesure d’apporter toute la nourriture au nid

3 la résilience : lorsqu’on rajoute une nouvelle source de nourriture dans l’environne- ment, les fourmis sont capables de la détecter.

6.2

Phase N°1 : modélisation du comportement des fourmis à