• Aucun résultat trouvé

1 1 * plays member of

Figure 1.11 Méta-modèle UML du modèle organisationnel AGR.

G3 R2 G1 G2 R1 R5 R4 R3

Figure 1.12 Exemple d’illustration concrète d’une organisation définie avec le modèle

Agent-Groupe-Rôle à travers le diagramme du « plateau à fromages », repris de Ferber et al. (2003). Les

rôles sont représentés par les hexagones et les groupes par les ellipses.

En étudiant les différents aspects de conception, nous avons pu entrevoir la richesse des concepts mis en application dans les SMA. Tous ces concepts ne sont généralement pas mis en œuvre au sein d’un même SMA, mais sont souvent dictés par le domaine d’application. Du point de vue de l’ingénierie logicielle, un nombre important de modèles piochant parmi les différentes notions que nous avons abordées ont été proposés pour la conception de SMA.

3.5 Méthodologies de conception

Nous nous plaçons maintenant dans un cadre d’ingénierie logicielle pour étudier les différents modèles et méthodologies qui ont été proposés pour guider la communauté dans la conception d’un SMA. Nous n’étudions pas de manière exhaustive l’ensemble des modèles existants, mais proposons plutôt une vue d’ensemble afin de voir les différents concepts mis en œuvre dans chacun d’eux. Ceci nous permet également d’identifier quels modèles sont adaptés à la simulation orientée agent, et lesquels sont les plus adaptés pour représenter des systèmes environnementaux, qui nous intéressent plus particulièrement

s y s t è m e s m u lt i-agents et simulation [ 33

dans le cadre de cette thèse.

Avant de parler de manière plus détaillée des apports de ces différents travaux, quelques définitions s’imposent, afin de clarifier les concepts de métamodèle, de méthode et de méthodo-logie, issus de l’ingénierie logicielle :

Métamodèle Un métamodèle est un modèle qui définit le langage d’expression d’un

modèle, c’est-à-dire le langage de modélisation (Combemale,2008). Selon Cadavid et al. (2012), il est définit par la composition de :

Concepts. Les concepts fondamentaux et les attributs qui définissent le domaine. Relations. Les relations qui spécifient la manière dont les concepts peuvent être liés ensemble dans un modèle.

Règles. Des propriétés supplémentaires qui restreignent la façon dont les concepts peuvent être assemblés pour former un modèle valide.

Méthodologie (Ghezzi et al.,2002) Une méthodologie est une collection de méthodes

couvrant et reliant les différentes étapes d’un processus. L’objectif d’une méthodologie est de prescrire une approche cohérente à adopter pour résoudre un problème dans le contexte d’un processus de développement.

Méthode (Cernuzzi et al.,2005) Une méthode prescrit une manière d’exécuter un type

d’activité dans un processus donné afin de produire correctement un résultat spécifique à partir d’une entrée spécifique. Toutes les phases d’un processus, pour être applicables avec succès, doivent être complétées par toutes directives méthodologiques (identification des techniques et outils à employer, et définition de la façon dont les résultats doivent être produits) susceptibles d’aider les parties prenantes du projet à accomplir leur travail selon les meilleures pratiques définies.

La plupart des méthodologies orientées agent sont issues de l’ingénierie logicielle et s’inspirent des méthodes orientées objet tout en intégrant les spécificités liées au paradigme agent, comme la notion d’autonomie, de protocoles d’interaction entre agents ou d’organisa-tion sociale. Si certaines méthodologies sont plus ou moins complètes, la plupart couvrent l’intégralité du processus de développement, c’est-à-dire l’analyse des besoins, la conception de l’architecture, le développement et le déploiement (Gleizes et al.,2009).

Comme le font remarquer Kubera et al. (2011), la plupart des méthodologies orientées agent sont destinées à la conception d’applications livrables. De fait, elles ne sont pas forcément adaptées au processus de développement de modèles de simulation pour plusieurs raisons. En effet, les cycles et processus de développement logiciels classiques (en cascade, en V, en spirale, itératif) diffèrent du processus de simulation (Campos et al., 2004). Ce dernier peut être considéré comme un processus itératif dont l’objectif est de faire évoluer un modèle initial jusqu’à obtenir un modèle en adéquation avec les objectifs de simulation, représentatif d’un système réel, tandis que les cycles de conception des processus d’ingénierie logicielle visent à atteindre de nouvelles fonctionnalités à travers une conception modulaire et incrémentale.

Au delà du processus de développement, il est possible de déterminer si une métho-dologie est compatible avec la M&S en fonction des concepts du paradigme agent qu’elle

34 ] s y s t è m e s m u lt i-agents et simulation

manipule. En effet, les méthodologies « sont principalement destinées à la spécification de composants logiciels concurrents (agents) » (Campos et al., 2004), et leur conception se concentre sur la façon dont ils sont organisés et sur la façon dont ils communiquent (Kubera et al.,2011). Or, comme le rappellent Kubera et al. (2011), les interactions dans une simulation orientée agent (particulièrement dans des domaines comme l’écologie ou l’éthologie) ne reposent pas uniquement sur une communication par échanges de messages, mais impliquent également des interactions physiques au sein d’un environnement.

Quelques travaux ont appliqué une méthodologie pour la simulation d’agents : ingenias (Pavón et al.,2008) et ioda (Kubera et al., 2011). Campos et al. (2004), eux, proposent m a s i m, une méthodologie dédiée au développement de simulations orientées agent. À notre connaissance, le reste des méthodologies proposées sont destinées à la conception d’applications plutôt qu’au développement de modèles de simulation. Gleizes et al. (2009) dressent un état de l’art offrant une vue d’ensemble des différentes méthodologies qui ont été proposées pour le développement de SMA.

Si les méthodologies ne sont pas forcément adaptées au processus de modélisation et de simulation, elles établissent en revanche des relations entre les concepts issus du paradigme agent. À ce titre, elles définissent un métamodèle qu’il est possible d’étudier pour voir quels concepts ont été appliqués. Le métamodèle est parfois clairement identifié au sein d’une méthodologie, comme crio (Rodriguez et al.,2007) pour aspecs (Cossentino et al.,

2009) ou amas-ml pour adelfe (Picard et Gleizes,2004). Dans le cas contraire, il peut tout de même être extrait. D’autres chercheurs ont également proposé des métamodèles agent sans y associer une méthodologie de conception particulière. C’est le cas d’agr (Ferber et Gutknecht,1998), de rio (Mathieu et al.,2003), d’agre (Ferber et al.,2005), de masq (Stratulat et al.,2009) ou encore des travaux d’Odell et al. (2003b). Face à la diversité des métamodèles existants, des travaux d’unification ont également été proposés. Par exemple, Bernon et al. (2009) proposent un métamodèle issu des méthodologies gaia (Wooldridge et al.,2000), adelfe et passi (Cossentino et Potts, 2001). Elammari et Elsaeti (2011), eux, proposent un métamodèle issu des méthodologies roadmap, hilm (Elammari et Lalonde,

1999), sonia (Alonso et al.,2005) et styx (Bush et al.,2001).

Dans le tableau1.1, nous dressons un comparatif de plusieurs métamodèles selon les concepts qu’ils mettent en œuvre. L’aspect environnemental est étudié afin de savoir si l’approche offre une structuration physique aux agents (topologie, ressources, . . .), une structuration sociale (concepts organisationnels), si plusieurs environnements peuvent coexister ou encore si l’agent dispose d’une représentation dans l’environnement (corps, rôle, . . .). L’aspect interactionnel est également étudié, afin de déterminer si les agents peuvent communiquer de façon directe ou indirecte.

Comme on peut l’observer sur le tableau 1.1, les aspects sociaux associés à la com-munication directe sont les plus développés par les différents métamodèles. Ce constat n’est pas surprenant, puisque comme nous l’avons déjà mentionné, ces métamodèles sont pour la plupart associés à des méthodologies pour la conception de SMA applicatifs. Pour la simulation de systèmes environnementaux, qui nous intéresse plus particulièrement,

s y s t è m e s m u lt i-agents et simulation [ 35

Métamodèle Environnement Interaction physique social multiple repr. agent directe indirecte

a m a s-ml 3 7 3 3 3 3 g a i a 3 3 3 7 3 3 pa s s i 7 3 7 3 3 7 roa d m a p 3 3 3 3 3 3 h i l m 7 3 7 7 3 7 s t y x 7 3 7 3 3 7 s o n i a 3 3 7 7 3 3 c r i o 7 3 7 3 3 7 ag r e 3 3 3 3 7 7 i o da 3 3 7 7 3 3 m a s q 3 3 3 3 3 3

Tableau 1.1 Comparaison (non-exhaustive) des différents métamodèles SMA selon les aspects environnementaux et interactionnels.

un environnement capable de structuration physique, associé à la possibilité d’interaction indirecte, est indispensable. L’aspect multi-environnemental n’est pas une caractéristique très répandue, mais offre des possibilités également intéressantes en vue de la simulation de systèmes environnementaux (e.g. représentation d’un environnement aquatique et de surface pour la modélisation d’un système de pêcherie). Parmi les différents métamodèles étudiés, bien que minimaliste, seul le métamodèle MASQ (Stratulat et al.,2009), semble développer tous les critères qui nous semblent important pour la conception d’un modèle SMA. À ce titre, il représente une source d’inspiration intéressante pour la suite de nos travaux. Soulignons néanmoins que ce constat ne constitue pas selon nous un critère suffisant pour arrêter définitivement notre choix sur l’utilisation d’un métamodèle en particulier.

4 Simulation orientée agent et reproductibilité

Jusqu’ici, nous avons donné une vision d’ensemble des différents points de vue à propos des concepts du paradigme agent, ainsi que des travaux visant à guider la conception d’un SMA. Nous proposons dans cette section de présenter les différentes problématiques qui ont pour dénominateur commun l’amélioration de la reproductibilité des expériences numériques, influence principale de nos travaux de recherche. Les difficultés liées à la reproductibilité des modèles et des résultats publiés, a été soulevée à plusieurs reprises au sein de la communauté SMA (Duboz et al.,2012; Michel,2004; Rouchier,2003; Wilensky et Rand,2007). Bien que cette problématique concerne la simulation de manière générale (Stodden et al.,2013), la complexité des SMA et la jeunesse du paradigme agent semblent l’exacerber.

Documents relatifs