• Aucun résultat trouvé

Grizli777 Modèle structurel PLAMAGS 109 d‘appréhension de l‘espace et qui leur permettront d‘être en mesure de prendre des décisions en

rapport avec l‘environnement géoréférencé dans lequel ils évoluent.

Dans le modèle de PLAMAGS, un objet/agent de la simulation est en interaction avec l‘environnement (et les autres objets/agents de la simulation) à l‘aide de deux mécanismes : l‘un gère la cohérence spatiale/physique et l‘autre met en œuvre les différentes capacités sensorielles des objets/agents.

3.1.2.2.1 Gestion de la cohérence spatiale et physique

Le mécanisme de gestion de la cohérence spatiale et physique consiste à contrôler, de façon transparente et automatisée, l‘état spatial et physique de chacun des objets/agents. À l‘aide du moteur de physique, le moteur d‘exécution s‘assure que les actions spatialisées effectuées par chacun des objets/agents sont possibles et valides. Par exemple, si un objet/agent tente de se déplacer dans une direction, mais que celui-ci entre en collision avec un obstacle (mur d‘une bâtisse, un autre objet/agent, etc.), alors le moteur d‘exécution doit calculer les forces en présence (friction, masse, etc.) et corriger le déplacement « souhaité » du composant en une nouvelle position cohérente qui respecte les contraintes spatiales et physiques (Figure 13).

Le moteur d‘exécution est aussi responsable de produire les effets de bord associés aux forces physiques qui influencent les objets/agents. Par exemple, si une collision se produit avec un objet/agent à un endroit où le terrain possède une certaine dénivellation, alors dépendamment des propriétés physiques du terrain et de l‘objet/agent (gravité, friction, masse, etc.), il est possible que celui-ci « se mette à glisser ». Dans ce cas, l‘engin d‘exécution (encore une fois à l‘aide du moteur de physique) est responsable de gérer le déplacement involontaire de l‘objet/agent et de notifier ce dernier de son changement de position à chaque itération.

Grizli777Modèle structurel PLAMAGS

110

Figure 13 : Mécanisme de gestion de la cohérence spatiale.

Un autre mécanisme de gestion spatiale que nous avons appelé « espace vital » peut être utilisé au niveau des composants de la simulation. L‘espace vital est aussi géré de façon implicite par le moteur d‘exécution, cependant l‘espace vital n‘est pas contrôlé par le moteur de physique, mais plutôt directement par l‘engin d‘exécution. L‘espace vital permet de définir une zone minimale nécessaire pour un objet/agent. Si un autre objet/agent pénètre dans cette zone, alors certaines forces sont automatiquement appliquées pour tenter de repousser l‘intrus. Les forces appliquées et leurs effets sont dépendants des paramètres définis au niveau de l‘espace vital des objets et agents impliqués dans le conflit. Il est à noter que les calculs effectués par l‘engin d‘exécution pour la gestion de l‘espace vital sont faits à partir d‘algorithmes spécifiques au moteur d‘exécution de PLAMAGS.

La gestion de l‘espace vital est un mécanisme très utile pour les développeurs qui permet d‘automatiser la gestion de la proximité entre objets/agents, en plus de rendre plus réalistes les microcomportements spatiaux (par exemple, le déplacement d‘un agent se frayant un chemin à travers une foule), ce qui serait une tâche très lourde à gérer de façon atomique sans ce type d‘outil (au niveau du comportement de chaque agent).

Ce premier niveau d‘interaction entre l‘EVG et les objets/agents de la simulation est complètement automatisé et ne nécessite aucune intervention de la part du concepteur. Cependant, ce dernier peut utiliser le feedback qu‘il reçoit de l‘environnement et intégrer ces informations au niveau du processus de décision des agents (dans leurs comportements). La section 3.2.2.3 détaille les informations qu‘il est possible de récupérer au niveau du feedback provenant de ces actions.

Grizli777Modèle structurel PLAMAGS

111

3.1.2.2.2 Capacités sensorielles des objets/agents

Pour permettre aux agents de connaître l‘EVG dans lequel ils évoluent (ainsi que les autres objets/agents qui l‘entourent), le modèle permet de définir des capacités sensorielles pour chaque objet/agent de la simulation. Bien que ces capacités soient intégrées de façon transparente dans la logique d‘exécution de la simulation, celles-ci doivent être explicitement traitées par le développeur. Deux catégories de capacités sensorielles peuvent être utilisées au niveau d‘un objet/agent : la situation spatiale et les perceptions.

La situation spatiale

Nous définissons la « situation spatiale » comme étant une capacité des objets/agents à se mettre en relation spatiale par rapport à l’EVG et aux autres objets/agents à proximité. Par exemple, un objet/agent connaît sa position dans l‘environnement, l‘angle d‘inclinaison du terrain où il se trouve, son orientation, les autres objets/agents qui ne respectent pas son espace vital, etc. La section 3.2.2.3 présente la liste des principaux éléments récupérables à l‘aide de la situation spatiale.

Toutes ces informations sont directement accessibles pour un objets/agents à l‘aide du seul mot-clé

percepts dans le langage (voir le chapitre 6). Le développeur peut donc intégrer ces informations

dans le comportement d‘un agent pour lui permettre de prendre certaines décisions informées par rapport à l‘environnement et aux objets/agents qui l‘entourent.

Les perceptions

Les perceptions constituent la deuxième catégorie de capacités sensorielles intégrées dans le modèle des objets/agents de PLAMAGS. À l‘instar de la situation spatiale, les perceptions sont intégrées de façon transparente dans le langage et peuvent être récupérées tout simplement à l‘aide du seul mot-clé references pour chaque type de perception (voir le chapitre 6). Différents types de perceptions peuvent être récupérés par un objet/agent en particulier, dont entre autres les perceptions visuelles des autres objets/agents de la simulation. Les perceptions d‘un objet/agent peuvent être récupérées et utilisées à n‘importe quel moment lors de la définition du comportement

Grizli777Modèle structurel PLAMAGS

112