Langage De Programmation Pour Les Simulations Géoréférencées À Base D’Agents
Total Page:16
File Type:pdf, Size:1020Kb
TONY GARNEAU LANGAGE DE PROGRAMMATION POUR LES SIMULATIONS GÉORÉFÉRENCÉES À BASE D’AGENTS Thèse de doctorat présentée à la Faculté des études supérieures de l’Université Laval dans le cadre du programme de doctorat en Informatique pour l’obtention du grade de Philosophiæ Doctor (Ph.D.) DÉPARTEMENT D’INFORMATIQUE ET DE GÉNIE LOGICIEL FACULTÉ DES SCIENCES ET DE GÉNIE UNIVERSITÉ LAVAL QUÉBEC Tony Garneau, thèse doctorale 2011 2011 © Tony Garneau, 2011 Résumé Lors des dix dernières années, les technologies basées sur les agents logiciels ont été appliquées dans plusieurs domaines tels que les jeux vidéo, les films où évoluent des personnages animés, en réalité virtuelle, dans le développement d‘interfaces où sont fournis des agents « assistants », dans les applications Web éducatives utilisant des personnages virtuels, pour ne nommer que ceux-là. Dans plusieurs de ces domaines, les simulations à base d‘agents nécessitent l‘intégration de données géographiques. Celles-ci intègrent une dimension spatiale et permettent la simulation de divers phénomènes complexes tels que ceux qui sont liés aux dynamiques urbaines. Ce qui a mené à un nouveau domaine de recherche : les simulations géoréférencées à base d‘agents (ou SGBA). Certaines plateformes logicielles développées pour les SGBA permettent à l‘aide de différentes techniques, la spécification et l‘implantation de simulations à base d‘agents. Par contre, les comportements des agents qui peuvent y être spécifiés sont encore très limités, ce qui est insuffisant pour le développement de simulations géoréférencées de phénomènes sociaux. Dans ce type de simulations, les agents doivent agir de façon autonome et posséder des capacités d‘appréhension de l‘espace et de prise de décisions en rapport avec l‘environnement géographique dans lequel ils évoluent. Pour posséder de telles caractéristiques, nous considérons que ces agents doivent au minimum posséder un mécanisme de perception autonome et individuel (de l‘espace physique, des autres objets et agents), en plus d‘être proactifs et posséder des Grizli777Résumé II Tony Garneau, thèse doctorale 2011 comportements autonomes prenant en compte de leur connaissance du monde dans lequel ils évoluent (leur environnement virtuel). La spécification de ce type d‘agents est une tâche très difficile et, à notre connaissance, aucun environnement de développement actuel n‘offre de langage de programmation permettant de créer ce type d‘agents. Dans le contexte du projet PLAMAGS (Programming LAnguage for MultiAgent GeoSimulations), nous avons développé un nouveau langage de programmation orienté-agent, une démarche de conception appliquée et un environnement de développement permettant la création et l‘exécution rapide et simple de simulations géoréférencées à base d‘agents. Les principales contributions du projet PLAMAGS sont : - Un langage de programmation descriptif, procédural et orienté-objet complet et utilisable à toutes les étapes du processus de développement et totalement dédié aux SGBA. Ce qui permet d‘éliminer l‘étape de transition et de transposition du modèle théorique en langage de programmation et ainsi éviter toutes les difficultés qui y sont rattachées. - Une démarche de conception appliquée où les étapes de modélisation, conception, implémentation, exécution et validation sont fusionnées et intégrées à chaque étape de la démarche. - Un modèle comportemental puissant (pour les agents), intuitif, modulaire, extensible et flexible permettant un développement itératif incrémental à l‘aide d‘abstractions prenant la forme de décompositions (sous-comportements). - Un modèle d‘interactions spatialisées clairement défini et directement intégré dans les primitives du langage de programmation. Grizli777Résumé III Tony Garneau, thèse doctorale 2011 Abstract In the last decade, technologies based on software agents have been used in many domains such as video games, movies containing animated characters, virtual reality, in visual interfaces development where ―wizards‖ are supplied and in educative Web applications using virtual characters, just to name a few. In many of these domains, agent-based simulations require the integration of geographic data. These add a spatial dimension and allow the simulation of many complex phenomena such as those included in urban dynamics. This has spawned a new research field: Multi-Agent- Geo- Simulation (MAGS for short). Some of the frameworks developed for MAGS use many different techniques to specify and implement tagent-based simulations. However, the agents‘ behaviors that can be specified are usually very limited and are insufficient for the development of geo-referenced simulation of social phenomena. In this type of simulation, the agents must act autonomously and have the ability to perceive the environment in which they evolve, and then take decision based on these perceptions. To benefit from such characteristics, we consider that these agents must minimally have a perception mechanism that is autonomous and unique to each agent which need as well as to be Grizli777Abstract IV Tony Garneau, thèse doctorale 2011 proactive and have autonomous behavior in relation to their virtual environment. The specification of this type of agent is a difficult task and, to the best of our knowledge, none of the existing development environment offers a language able to fulfill it. In the context of the PLAMAGS (Programming LAnguage for Multi-Agent Geo-Simulations) Project, we developed a new agent-oriented programming language, an applied design methodology and an integrated development environment that allow a quick and simple design and execution cycle of agent-based geo-referenced simulations. The main contributions of this work are as follows: - A full-fledged descriptive programming language, procedural and object-oriented that is usable at every stage of the development cycle and that is dedicated to MAGS. This language eliminates the transition and transposition from the theoretical model to the programming language and thus avoids all the difficulties inherent to such a transposition task. - An applied development methodology where the modeling, design and implementation, execution and validation steps are merged and integrated throughout the development cycle. - A behavioral model that is powerful (agent wise), intuitive, modular, extensible and flexible and thus allows a sequential and iterative development using abstractions based on decomposition (sub-behaviors). - A spatialized interaction model that is clearly defined and directly integrated in the primitives of the programming language. Grizli777Abstract V Tony Garneau, thèse doctorale 2011 Remerciements Premièrement, je tiens à remercier mon directeur de thèse Bernard Moulin, pour sa grande disponibilité, son enthousiasme et son dévouement pour ses étudiants, son support tout au long de ce projet autant pour la résolution de problèmes que pour la rédaction d‘articles scientifiques et de cette thèse ; en plus de sa générosité qui m‘a permis de me consacrer à l‘accomplissement de ce doctorat, et surtout pour son immense patience au cours des dernières années. J‘aimerais aussi dire un merci spécial à mon co-directeur de thèse Sylvain Delisle, qui a cru en moi et m‘a offert un soutien inconditionnel ces 10 dernières années, et ce même dans les moments plus difficiles. Sa patience, sa disponibilité et son implication, conjugués à un professionnalisme sans failles m‘ont permis de passer à travers un cheminement scolaire qui autrement aurait été impossible. Merci à Dominic Marcotte pour son apport au projet PLAMAGS, ce fut un réel plaisir de travailler avec une personne qualifiée et aussi passionnée. Merci au CRSNG qui, grâce à son support financier, m‘a permis de poursuivre mes études doctorales. Merci à ma mère Denise, son mari Alain ainsi qu‘à toute ma famille pour leur soutien tout au long de mes études, votre appui fut très important pour moi. Merci à Isabelle, qui m‘a accompagné, supporté et encouragé tout au long de ce périple. Grâce à elle l‘aventure fût beaucoup plus agréable. Et, merci à tous mes précieux et fidèles amis (et amies) que je n‘oserai nommer, dans la crainte d‘en oublier. Je prends le temps de vous remercier tous et toutes pour votre soutien, votre aide et les services que vous m‘avez rendus. Je vous en serais éternellement reconnaissant. Grizli777Remerciements VI Tony Garneau, thèse doctorale 2011 Remerciement aux membres du jury Je tiens à remercier les membres de mon jury de thèse, soit Bernard Moulin de l‘Université Laval, Luc Lamontagne de l‘Université Laval, Mourad Badri de l‘Université du Québec à Trois-Rivières, Sylvain Delisle de l‘Université du Québec à Trois-Rivières et Sylvain Giroux de l‘Université de Sherbrooke. Je tiens à les remercier d‘avoir accepté de consacrer chacun de leur temps respectif pour l‘évaluation de cette thèse. Ce geste est grandement apprécié. Grizli777 VII À ma mère Tout ceci et tout ce que je suis devenu C‘est grâce à ta confiance et ton amour inébranlable en moi À mon père Papa, si tu étais là, tu serais fier de moi Vous serez toujours mes super-héros Je vous aime Tony Garneau, thèse doctorale 2011 Table des matières Résumé II Abstract IV Remerciements VI Remerciement aux membres du jury VII Table des matières IX Liste des figures XVIII Liste des tableaux XXIII Liste des algorithmes XXV Liste des éléments de langage XXVI Acronymes et conventions utilisées XXIX 1. Introduction 31 1.1 Introduction générale 31 1.2 Contexte 32 1.3 Problématique 34 1.3.1 Problématique générale 35 1.3.1.1 Complexité