01.01.2015 Views

Table des matières - Gilles Daniel

Table des matières - Gilles Daniel

Table des matières - Gilles Daniel

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Sciences sociales computationnelles : simulation sociale multi-agents. 137<br />

La création de ces listes amènera souvent à introduire de nouveaux attributs pour<br />

les agents comme pour l'environnement, dans un va-et-vient constant avec la phase<br />

de conception. Une fois un ensemble cohérent de classes, attributs et règles de<br />

conditions-actions créé, il peut être utile de résumer les dynamiques dans un<br />

diagramme de séquences, un autre type de diagramme UML. Un diagramme de<br />

séquences représente chaque classe d'agents par une ligne verticale, reliées entre elles<br />

par <strong>des</strong> flèches horizontales pour chaque message ou action allant de l'objet expéditeur<br />

à l'objet <strong>des</strong>tinataire. La séquence <strong>des</strong> messages est ici symbolisée par<br />

l'ordonnancement <strong>des</strong> flèches, de haut en bas. Le comportement <strong>des</strong> agents peut<br />

également être représenté sous forme de diagrammes d'états-transitions ou de<br />

diagrammes d'activité [FOW 99]. Un diagramme d'états-transitions représente chaque<br />

état distinct d'un agent et explique les transitions d'un état à l'autre. Un diagramme<br />

d'activité se concentre plutôt sur la manière dont les agents prennent leurs décisions.<br />

A ce stade du processus de conception, la plupart <strong>des</strong> aspects internes du modèle<br />

auront été définis, même si de nombreux détails devront sans doute encore être<br />

précisés. L'étape finale consiste à concevoir l'interface utilisateur. Celle-ci se<br />

compose de contrôles tels que <strong>des</strong> listes déroulantes, champs libres, interrupteurs et<br />

autres boutons pour la saisie <strong>des</strong> paramètres d'entrée, ainsi que de graphiques divers<br />

et variés représentant les sorties et permettant de suivre le déroulement de la<br />

simulation. Au début, mieux vaut limiter le nombre d'entrées, pour <strong>des</strong> raisons de<br />

simplicité. Au fur et à mesure que la compréhension du modèle évolue et que de<br />

nouveaux paramètres d'entrée sont identifiés, de nouveaux contrôles peuvent être<br />

ajoutés. De même pour les graphiques de sortie, mieux vaut commencer simplement<br />

et éventuellement ajouter de nouveaux graphiques lorsque le besoin s'en fait sentir.<br />

Bien évidemment, chaque modèle a besoin pour commencer d'au moins un contrôle<br />

d’entrée et de sortie, afin de visualiser le bon déroulement de la simulation, comme<br />

par exemple un compteur indiquant les pas de temps écoulés. Lors <strong>des</strong> simulations<br />

préliminaires, on peut également avoir besoin de visualiser certaines sorties pour<br />

s'assurer que le modèle répond correctement aux attentes, et repérer les éventuels<br />

bugs. Ces visualisations peuvent ultérieurement être supprimées si elles ne sont pas<br />

utiles pour répondre à la question de recherche.<br />

Avant même d'écrire la première ligne de code du modèle, il est conseillé de<br />

réfléchir à la manière dont la simulation sera testée. Une technique de plus en plus<br />

répandue, appelée tests unitaires, consiste à développer, en parallèle du modèle luimême,<br />

de petites unités de code <strong>des</strong>tinées à tester un aspect particulier du programme.<br />

Chaque fois que le programme est modifié, toutes ces unités sont re-exécutées pour<br />

s'assurer que les changements apportés n'ont pas introduit de nouveau bug. Avec<br />

l'extension du modèle, de nouveaux tests unitaires sont écrits, avec pour but de pouvoir<br />

tout tester. L'idée de tests unitaires vient d'un type de programmation appelé eXtreme<br />

Programing [BEC 99], une méthode de programmation particulièrement efficace pour<br />

le prototypage et la conception itérative, typiques <strong>des</strong> simulations en recherche.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!