Architecture Agent pour la modélisation et simulation de systèmes complexes multidynamiques : une approche multi-comportementale basée sur le pattern « Agent MVC »
Modélisation et Simulation Orientée Agent
La Simulation Orientée Agent (SOA) est une branche spécifique des Systèmes Multi-Agents (SMA) Un système multi-agents est constitué de plusieurs agents interagissant entre eux et avec leur environnement. Un agent est une entité réelle ou virtuelle, qui se comporte de manière autonome, aux buts propres, aux perceptions et capacités d’action limitées, et capable d’interaction avec d’autres agents ainsi qu’avec l’environnement dans lequel il évolue. La simulation orientée agent reprend les caractéristiques des SMA en y adjoignant un temps virtuel propre à la simulation : les comportements des agents, notamment leurs interactions, s’établissent en respect de règles temporelles basées sur ce temps virtuel et non sur le temps réel. Les SOA sont couramment utilisées pour la validation d’hypothèses scientifiques et la réalisation d’outils de prospection et d’aide à la décision.
Mes travaux, réalisés au sein de l’équipe SMART du LIM (Université de La Réunion), s’appuient sur des projets de simulations thématiques menés avec des partenaires scientifiques et se focalisent sur le comportement des agents.
La co-construction et la réutilisation de modèles font l’objet de plusieurs travaux dans le domaine de la simulation. Cependant, dans le domaine plus spécifique de la Simulation Orientée Agent (SOA), nous pouvons constater un manque sur ces deux points malgré un besoin fort de la part des thématiciens.
La co-construction est essentielle pour optimiser la mise en commun du savoir de différents experts, mais nous faisons souvent face à des divergences de points de vue. Les méthodologies existantes pour la co-construction en SOA ne permettent qu’un faible niveau de collaboration entre thématiciens durant la phase initiale de modélisation, ainsi qu’entre les des thématiciens avec les modélisateurs ou les modélisateurs-informaticiens… Pour faciliter cette co-construction, nous proposons de suivre une méthodologie de conception favorisant cette collaboration.
La réutilisation de modèle octroie un gain de temps significatif, une amélioration du modèle et l’apport de nouvelle connaissance. Les méthodologies en SOA dans ce domaine existent. Cependant, dans le spectre de réutilisation, elles sont souvent limitées au niveau du modèle complet ou de l’agent avec l’impossibilité de « descendre » plus bas.
L’expérience de EDMMAS, un cas concret d’un modèle issu de trois réutilisations successives, nous a permis de constater une nouvelle complexité qui découle de la démultiplication des comportements des agents et crée un décalage conséquent entre le modèle opérationnel et le modèle conceptuel
Notre objectif est de promouvoir la réutilisation aussi bien des modèles, que des agents et de leurs comportements.
Pour répondre à ces questionnements, nous proposons dans ce manuscrit une manière de codifier et d’intégrer la connaissance provenant de disciplines différentes dans le modèle, tout en utilisant des modules « composables » qui facilitent la réutilisation. Nous proposons (i) une nouvelle architecture Agent (aMVC), appliquée dans un cadre multidynamique (DOM), avec l’appui (ii) d’une approche méthodologique (MMC) basée sur la décomposition et réutilisation des comportements.
Cet ensemble de propositions, (i) et (ii), permet de conduire un projet pluridisciplinaire de SOA avec un grand nombre d’acteurs, facilitant la co-construction des modèles grâce à l’instauration de nouvelles synergies entre les différents acteurs participant à la modélisation. Les concepteurs pourront travailler de manière autonome sur leur dynamique et la plateforme fera l’intégration de ces dernières en assurant la cohésion et la robustesse du système. Nos contributions offrent la capacité de créer les briques élémentaires du système de manière indépendante, de les associer et de les combiner pour former des agents, selon des dynamiques conformément à l’approche DOM. Elles permettent ainsi de comparer la logique selon différentes possibilités pour une même dynamique et d’ouvrir la perspective d’étudier un grand nombre d’alternatives de modélisation d’un même système complexe, et de les analyser ensuite à une échelle très fine.