• Aucun résultat trouvé

7.3 Exp´erimentation sur la base de cas d’´ecole

7.3.1 D´etection d’affordance

Nous pr´esentons dans cette section deux exemples de d´etection d’affordance : l’affordance

PFeedingAnimals et l’affordance PPlowingPlot. PFeedingAnimals est une action possible

qui consiste `a nourrir les animaux. PPlowingPlot est la possibilit´e d’action de labour.

Exemple 1 : affordance PFeedingAnimals

La figure 7.9 montre l’affordance PFeedingAnimals d´etect´ee au niveau de l’une des places de l’atelier d’´elevage. On consid`ere que dans cet exemple, sur cette place sont localis´ees, `

a un pas de temps donn´e, 4 entit´es-environnementales qui sont des instances des classes : Efarmer, Efood, Eanimals et Emanure.

C’est-`a-dire les couples de coordonn´ees (x,y) d´efinissant les positions de ces entit´es dans l’environnement spatial se trouvent `a l’int´erieur d’une place de l’atelier d’´elevage. Cha-cune de ces entit´es poss`ede des capacit´es `a ex´ecuter ou `a subir des actions comme le

Chapitre 7. Impl´ementation 142

Place of livestock

enterprise

Rule used to detect

PFeedingAnimals

a ordance

Efood Emanure

Eanimals

Efarmer

Figure 7.9 :exemple de d´etection de l’affordance≪PFeedingAnimals≫.

montre la figure 7.9. L’agent-place qui pilote l’atelier d’´elevage ne peut percevoir que les capacit´es d’actions et les actions qu’une entit´e peut subir qui lui servent `a d´etecter les affordances dont les actions peuvent ˆetre ex´ecut´ees sur sa place. Dans le prototype nous avons d´efini en plus de l’action PFeedingAnimals, trois autres actions possibles au niveau de la place atelier d’´elevage : PCleaningEnterprise (action qui consiste `a nettoyer l’ate-lier), PEmptyingStock(action qui consiste `a vider un stock d’effluent ou de nourriture) et PMovingEntity (action qui consiste `a d´eplacer une entit´e-environnementale telle que les instances de la classe EFarmer). L’agent-place de l’atelier d’´elevage ne peut donc pas percevoir les capacit´es de Efarmer : CplowPlot et CfertilisePlot car ce sont des capacit´es d’actions qui ne peuvent pas ˆetre r´ealis´ees sur la place de l’atelier d’´elevage. Pour filtrer les faits port´es par les entit´es-environnementales, nous avons indiqu´e dans le chapitre 6 qu’un agent utilise une fonction F iltreK. Pour cela, une capacit´e d’action d’un objet por-tant deux informations : (i) le libell´e de la capacit´e d’action : lorsque le libell´e est pr´ec´ed´e parCcela signifie que c’est une capacit´e d’action. Lorsqu’il est pr´ec´ed´e parScela signifie qu’il s’agit d’une action qui peut ˆetre subie par l’entit´e-environnementale. (ii)

Chapitre 7. Impl´ementation 143

le type : indique les classes d’agents (EnterpriseAgent, RoadAgent, PlotAgent, Ware-houseAgent ou HomeAgent ) qui peuvent percevoir cette capacit´e d’action. La fonction

F iltreK est impl´ement´ee par une simple m´ethode qui consiste `a v´erifier si le type de

la capacit´e d’action ou l’action `a subir correspond `a la classe de l’agent capable de la percevoir.

Enfin, la r`egle de d´etection d’affordance consiste `a v´erifier pour l’affordance de

PFee-dingAnimals s’il existe une entit´e-environnementale poss´edant la capacit´e Cemptying-Stock et la capacit´e CfeedingAnimals et deux entit´es-environnementales pouvant subir

l’actionSemptyingStock et l’action SfeedingAnimals. L’affordance d´etect´ee porte l’action possible : PFeedingAnimals, l’actuateur correspondant est l’entit´e-environnementale de type Efarmer qui porte les capacit´es n´ecessaires `a l’ex´ecution de l’action FeedingAni-mals. Les entit´es-environnementales qui jouent le rˆole d’objet-passifs sont de type Efood et Eanimals.

Etractor and Eplow

Efarmer

Place of warehouse

Flag of PPlowingPlot affordance

Flag of PDisinfectingPlot affordance

Figure 7.10 : exemple de d´epˆot de drapeaux suite `a la d´etection de l’affordance PPlo-wingPlot≫qui correspond `a l’action de labour.

Chapitre 7. Impl´ementation 144

Exemple 2 : affordancePPlowingPlot

Cet exemple illustre l’affordance de PPlowingPlot, d´etect´ee par un agent-place de type

EPlotAgent. Les entit´es-environnementales : Efarmer, Etractor, Eplow qui ont men´e

`

a la d´etection de cette affordance ne sont pas situ´ees sur la place de l’agent-place

EPlotAgent mais sur une place voisine de type EWarehouse. Contrairement au cas

pr´ec´edent o`u l’action possible PFeedingAnimals peut devenir l’action `a ex´ecuter si les conditions de sa r´ealisation sont v´erifi´ees ; l’agent-place EPlotAgent doit d’abord d´eposer une marque de type drapeau pour demander `a l’agent EWarehouse de lui envoyer les entit´es-environnementales n´ecessaires `a l’action PlowingPlot (l’action de labour de par-celle). En effet, selon notre mod`ele chaque agent place ne peut agir que sur les entit´es situ´ees sur sa place. De plus, les agents-places ne communiquent pas de fa¸con expli-cite mais par l’interm´ediaire des marques. La figure 7.10, illustre le drapeau d´epos´e par l’agent-place EPlotAgent. Le drapeau permet d’informer l’agent EWarehouse de l’action possible (PPlowingPlot) d´etect´ee sur la place de son voisin et de sa priorit´e, des entit´es-environnementales demand´ees (Efarmer, Etractor et Eplow), de l’agent qui a d´epos´e le drapeau. Dans le prototype, nous avons d´efini deux priorit´es pour les actions : 0 et 1. 0 indique que l’action est urgente ou la plus prioritaire, 1 dans le cas contraire.

Chapitre 7. Impl´ementation 145

La figure 7.11, montre deux drapeaux d´epos´es par deux agents-places de type PlotAgent appartenant `a deux parcelles nomm´ees : P11 et P4. Le diagramme d’actions sur la figure montre que l’action de PlowingPlot est en cours sur la parcelle P11 tandis qu’un agent-place appartenant `a la parcelle P4 a pu d´etecter l’affordance de PdisinfectingPlot et a d´epos´e un drapeau pour demander cette entit´e. Nous remarquons aussi, un autre drapeau d´epos´e par un agent-place de la parcelle P11 afin d’obtenir les entit´es-environnementales : Efarmer, Etractor, Eplow pour r´ealiser `a son tour l’action de PPlowingPlot.

Flag of PPlowingPlot affordance

Flag of PDisinfectingPlot affordance

Flag of PFertilizingPlot affordance

PlowingPlot

Figure 7.11 : exemple de d´epˆot de drapeaux pour l’affordance ≪PdisinfectingPlot≫ et

Chapitre 7. Impl´ementation 146