La classe Inspecteur (A_Inspector)
est une classe générique de la plate-forme et constitue un élément important de
la simulation des populations de
rongeurs.
L’inspecteur est chargé d'observer la simulation et de
récupérer toute les informations utiles et importantes sur le déroulement de la
simulation en général pour les restituer à la demande ou les stocker dans des
tableaux ou des variables qui seront ensuite récupérables, à la fin de l’étude,
dans des fichiers de sorties (fichiers Excel, courbes). Il gère les listes
d'objets utiles au déroulement de la simulation.
L'inspecteur fait partie du système
épiphyte de la simulation au sens où il effectue des mesures sur les
résultats de simulation. Cependant, il n'intervient pas dans son fonctionnement
(idéalement, la suppression de l'inspecteur ne modifie pas la performance de la
simulation).
Le contrat de l'inspecteur est défini
par l'interface I_inspector. Ce contrat impose aux classes qui
l'implémentent de pouvoir:
1.
Calculer les
indicateurs globaux (procédure computeIndicators)
2.
Stocker les
valeurs de ces indicateurs (procédure storeIndicatorValues)
3.
Réaliser un certain
nombre de ces actions à chaque pas de temps (procédure step).
Ceci devient intéressant dans la mesure
où, puisque la simulation génère plusieurs réplicas à chaque simulation, il est
indispensable d’utiliser des méthodes permettant de récupérer et de conserver
toutes ces informations pour pouvoir ensuite les utiliser.
Gestion des listes: Une fonction clé de l'inspecteur est la gestion des
listes d'objets qui doivent être connus du système. Dans le cadre du protocole
Bandia l'inspecteur (C_InspectorBandia) gère
1.
la liste des rongeurs capturés (et taggés);
c'est à cette liste qu'il va s'adresser pour calculer les indicateurs
spécifiques de l'expérience de Capture-Marquage-Recapture (CMR).
2.
la liste des
pièges posés dans le quadrat
calcul des indicateurs: A chaque sollicitation (i.e., à la fin d'une session
de capture), l'inspecteur sollicite chacun des rongeurs qui ont été capturés
pour obtenir leur valeur individuelle de chaque indicateur (cf. ci-dessous). L'inspecteur
se charge ensuite d'effectuer les sommes et les moyennes de ces indicateurs
pour restituer une valeur globale pour la simulation (valeurs qui pourront
ensuite comparées avec les valeurs observées in situ). Le calcul des
indicateurs porte sur :
1.
la distance
moyenne entre les recaptures successives (DRS)
2.
la distance
maximale entre les recaptures de tous les rongeurs capturés au cours de la
session (DMR).
3.
le nombre minimum
d’individus vivant dans le quadrat au cours de la session (MNA).
Stockage des données: Pour chaque session de piégeage simulée ces
informations, caractéristiques pour une session de piégeage donnée, peuvent
être enregistrées dans un tableau de données externes (au format .csv) qui
permettra à l’utilisateur d’estimer la taille de la population pour chaque
session mais également de connaitre le maximum et la moyenne des déplacements
des rongeurs capturés (procédure storeCMRValues).
Marquage des rongeurs: Comme toute étude de CMR, les individus capturés
doivent être obligatoirement marqués pour pouvoir être identifiés à la
prochaine capture. Dans la création d’un modèle informatique pour une expérience de CMR, l’inspecteur est
la classe chargée d'attribuer un numéro de marquage à chaque rongeur piégé pour
ceux qui n’en avaient pas. Le marquage des rongeurs se fait par attribution
d’un numéro de tag (marquage) après chaque nouvelle capture de rongeurs. Ce
numéro, initialement égal à 0 sera incrémenté à chaque capture. Donc le premier
rongeur capturé aura le numéro 1, le second le numéro 2
ainsi de suite jusqu’à la fin de l’étude. C'est l'inspecteur qui gère
(procédure tag) l'attribution de ces marques (NB: entorse au système
épiphyte)
Gestion des indicateurs: L’une des fonctions de l’inspecteur est également de
réinitialiser le calcul des indicateurs de CMR à la fin de chaque session et
aussi de fermer le fichier qui a servi à mettre les informations concernant
l’étude au terme de la simulation.
L’inspecteur joue donc un rôle très
important dans l’étude de la dynamique des rongeurs même si sa non prise en
compte dans le protocole de simulation n’entrave en rien le bon déroulement de
la simulation (principe d'un système épiphyte).