thesis

An operational architecture to handle multiple levels of representation in agent-based models

Defense date:

Jan. 1, 2012

Edit

Institution:

Paris 6

Disciplines:

Authors:

Directors:

Abstract EN:

La modélisation à base d’agent (MBA) est une approche de modélisation qui peut être considérée comme un croisement réussi entre la modélisation individu-centrée, qui tire son origine de modèles en écologie, et la programmation orientée objet (POO), provenant, elle, de l’informatique. Comme la première, elle vise à construire des modèles génératifs où le comportement général du modèle est le résultat des interactions entre ses composants; comme la seconde, elle permet de construire des modèles de façon modulaire et progressive, facilitant leur conception et leur réutilisation par les modélisateurs. En revanche, elle hérite aussi des limites de ses deux ancêtres, en particulier l’absence d’abstractions dédiées à la représentation et à la gestion de plusieurs niveaux d’abstraction dans un même modèle. Je décris dans ma thèse une proposition conceptuelle et opérationnelle qui introduit la possibilité de représentation multi-niveaux dans une approche de modélisation purement à base d’agents. Cette proposition consiste en une évolution du méta-modèle généralement associée à la MBA et une implémentation de ce méta-modèle dans le noyau de la plate-forme GAMA (accompagné d’un enrichissement du langage GAML). Contrairement aux contributions similaires proposées dans la littérature, qui sont, soit purement conceptuelles, soit spécifiques à un domaine d’application, celle que je propose est générique, entièrement implémentée et immédiatement réutilisable par des modélisateurs. Actuellement, elle est déjà utilisée dans la conception de plusieurs modèles à grande échelle. Ma contribution a donc été formalisée après une analyse exhaustive des besoins des modélisateurs travaillant sur les modèles à base d’agent multi-niveaux et dans le souci de leur fournir des abstractions réutilisables et génériques. Etant donné que les méta-modèles MBA actuels suivent les principes de la POO (i. E. , un modèle étant un ensemble de “classes” d’agents qui fournissent à ces derniers des attributs et des opérations, et qui peuvent être spécialisées par héritage entre ces “classes”), j’ai proposé une extension de ce méta-modèle qui intègre et généralise les notions suivantes: la description d’une relation d’“hôte” entre “classes” en plus de celle de l’héritage, la description explicite de “populations” d’agents (instances de la même “classe” appartiennent au même hôte), la possibilité d’associer une échelle temporelle et spatiale à chaque “classe”, et l’ajout d’un opérateur de “migration” entre les populations pour compléter l’“instanciation”. Ce méta-modèle a été implémenté dans une plate-forme open-source, GAMA, initialement développée en 2006 comme une extension de la plate-forme Repast avec le support explicite des systèmes d’information géographique (SIG). J’ai complètement refactorisé le méta-modèle de GAMA et enrichi son langage de modélisation, GAML, afin de le rendre capable de supporter le développement de modèle à base d’agent multi-niveaux. Cette évolution (1) permet aux modélisateurs de représenter plusieurs niveaux d’organisations et leurs dynamiques dans les modèles, (2) leur permet de procéder méthodologiquement de façon “bottom-up” à l’introduction de capacités “multi-niveaux” dans des modèle “mono-niveau”, sans casser ou même changer le modèle initial, (3) ne remet pas en cause les concepts fondamentaux de la MBA, car le méta-modèle classique de la MBA devient un sous-ensemble particulier de ma proposition. Cette nouvelle architecture a été validée avec succès au cours de l’élaboration, par des modélisateurs indépendants, de deux modèles multi-niveaux sur la plate-forme GAMA: le premier concerne l’organisation des évacuations en réponse à une alerte au tsunami dans une ville côtière du centre du Vietnam, le second traite de l’évaluation des politiques de lutte contre les invasions de ravageurs du riz dans la région du delta du Mékong. Le développement de plusieurs nouveaux modèles, ainsi qu’un portage du méta-modèle à d’autres plate-formes, sont actuellement à l’étude.

Abstract FR:

Agent-based modeling (ABM) is a modeling approach that can be viewed as a successful crossbreeding of Individual-Based Modeling (IBM), originated in Ecology, and Object- Oriented Programming (OOP), originated in Computer Science. Like the former, it aims at building generative models where the general behavior of the model is the result of the interactions between its components; like the latter, it allows building these models in a modular and incremental way, promising reusability and flexibility to the modelers. However, it also inherits some of the limits of its two ancestors, in particular the absence of dedicated abstractions for handling more than one level of representation at once in a same model. I describe in my thesis a conceptual and fully operational proposal to support multiple levels of representation within a pure agent-based modeling approach. This proposal consists in an evolution of the meta-model usually associated with ABM and an implementation of this meta-model in the kernel of the GAMA platform (along an enrichment of the GAML language). Contrary to similar contributions found in the literature, which are either purely conceptual or specific to one application domain, the one I propose is generic, completely implemented and immediately reusable by modelers. As a matter of fact, it is already in use in several large-scale models. My contribution has been formalized after a careful analysis of the requirements of modelers working on multi-level agent-based models and a specific attention to providing them with reusable and generic abstractions. Given that most of the existing ABM meta- models follow the principles of OOP (i. E. A model being a set of “classes” allowing building “instances” of agents, providing them with attributes and operations, and allowing specialization through inheritance between “classes”), I have proposed an extension of this meta-model that integrates and generalizes the following notions: description of a “host” relationship between “classes” in addition to inheritance, explicit description of the “populations” of agents (instances of the same “class” that belong to the same host), possibility to attach a temporal and spatial scale to each “class”, and addition of a primary operator of “migration” between “populations” to complement “instantiation”. This meta-model has been implemented in an open-source agent-based modeling platform, GAMA, initially developed in 2006 as an extension of the Repast platform with explicit support for geographical information. I completely re-factored the meta-model of GAMA and enriched its modeling language in order to make it capable of supporting the development of multi-level agent-based models. This evolution (1) allows modelers to represent multi-level organizations and their dynamics as first-class citizens in their model; (2) allows them to proceed methodologically in a bottom-up fashion, adding multi-level capabilities to existing “single-level” models without breaking or even changing the initial model; (3) does not break the core concepts of ABM, as the “classic” ABM meta-model is still a subset of my proposal. This new architecture has been extensively and successfully validated during the course of the development, by independent modelers, of two multi-level agent-based models on the GAMA platform: the first one concerning the organization of evacuations in response to a tsunami warning in a Vietnamese coastal city, the second one dealing with the assessment of policies against the invasions of rice pests in the Mekong delta region. The development of several new models, as well as a porting of the meta-model to other environments, is under consideration at the time of this writing.