• Aucun résultat trouvé

1.4 De la théorie à la pratique

1.4.5 Analyse et constat

La conception de systèmes émergents soulève de nombreuses difficultés. En effet, la dé- finition de l’émergence reste imprécise et repose sur des assertions permettant de dire a posteriori si un système est émergent ou non. Aucun critère pragmatique n’a jusqu’à pré- sent été avancé afin de caractériser a priori et donc de spécifier des systèmes émergents (voir §1.1). Méthodologiquement parlant, cela pose un problème.

Cependant, nous avons vu que la nature nous offre des mécanismes au fonctionnement complexes mais aux spécifications simples, comme l’auto-organisation (voir §1.1.2). L’idée est donc que si un concepteur veut développer un système émergent, il devra mettre en place des mécanismes auto-organisateurs. La conception deviendra à la fois plus simple et plus complexe : plus simple, car les entités manipulées sont d’un moindre niveau d’abstraction que le système dans sa globalité, et donc les théories de micro-niveau seront plus simples à définir ; plus complexe, car les paramètres jouant sur le comportement de macro-niveau sont dissociés des comportements de micro-niveau. La gestion de cette complexité passe donc par le choix des paramètres les moins sensibles.

L’utilisation de la coopération comme critère d’auto-organisation (voir §1.3) est un moyen de manipuler ces paramètres, et de rendre le passage du micro au macro plus compréhensible ou "traçable". Néanmoins, les exemples d’applications présentés ci-dessus montrent l’intérêt de l’approche par la théorie des AMAS, mais soulèvent les problèmes d’identification des agents et de la définition des situations non coopératives.

Dans ABROSE (au niveau des TA) ou ANTS, les agents sont directement issus de l’ana- lyse du domaine classique. Le concepteur peut identifier dès les premières phases de concep- tion quelles entités du système doivent être modélisées en tant qu’agents grâce aux proprié- tés propres aux fourmis ou aux humains s’échangeant des services. Par contre, dans STAFF l’identification des tranches horaires comme agents est bien moins intuitive et a été définie par des concepteurs spécialistes des AMAS. De même, dans ABROSE, au niveau des BA, la décomposition des croyances et connaissances en systèmes multi-agents de termes est aussi un exemple d’identification difficile. Ainsi, la diffusion de la technologie AMAS passe par un effort conséquent en la direction des concepteurs en leur fournissant des méthodes d’identification des agents.

La définition de la coopération restant informelle, car complètement indépendante du domaine ou des techniques de programmation utilisées, la spécification des situations non coopératives, moteur de l’auto-organisation et garantes du bon fonctionnement du système, représente un problème épineux. Comment garantir l’exhaustivité des SNC spécifiées ? Comment garantir la complétude des compétences nécessaires à la coopération ? Comment s’assurer de la valeur des échanges liés à la coopération ? Là encore, un effort méthodolo- gique doit nous pousser à proposer des outils et méthodes permettant une spécification plus complète.

Notre but est de fournir à des concepteurs novices dans cette technologie, une méthode de développement de systèmes adaptatifs, des notations et des outils associés afin de leur faciliter la tâche. Depuis, quelques années, le domaine des méthodes2orientées agent est en

2Les anglophones ont plutôt tendance à appeler les méthodes des methodologies. En français, nous conservons

plein essor et voit apparaître de nombreuses nouvelles méthodes dédiées à des problèmes particuliers. Nous allons étudier dans le chapitre suivant les méthodes existantes les plus pertinentes pouvant être une source d’inspiration pour une méthodologie de conception des systèmes auto-organisateurs.

Une telle méthode devra permettre de concevoir des systèmes multi-agents adaptatifs, ouverts et dynamiques, composés d’agents coopératifs. Ces notions ne sont pas forcément connues des développeurs non spécialistes. Un effort didactique semble nécessaire – en s’in- tégrant dans des contextes connus par exemple, et en proposant une aide à leur identifica- tion. De plus, l’auto-organisation par coopération repose sur les interactions entre les agents, il conviendra donc de se munir d’outils supportant cet aspect, mais aussi de contraindre l’utilisation des concepts et propriétés propres aux systèmes multi-agents, par la mise en place de processus précis et de règles de bon usage.

le terme méthodologie pour définir l’étude d’un ensemble de méthodes pour un domaine particulier – d’où le titre de ce mémoire.

2

Ingénierie orientée agent

L

A communauté agent a beaucoup oeuvré dans le domaine des méthodes orientées agent depuis quelques années. En effet, malgré la résonance du paradigme multi-agent dans la communauté scientifique, la technologie n’est pas encore devenue un standard pour l’in- dustrie. Nous pouvons attribuer ce défaut de reconnaissance à deux manques majeurs : la communauté multi-agent n’a pas encore montré la réelle utilité de l’approche par agent avec la résolution d’un problème significatif (ou killer application) ; la culture multi-agent n’a pas encore (ou pas assez en tout cas) développé les outils pédagogiques de communication vers les non spécialistes (étudiants et entreprises). Ceci inclut des livres de méthodes, des nota- tions spécifiques et des outils facilitant la réalisation de systèmes.

Pour Booch, une methodology1est "un ensemble de méthodes appliquées tout au long du

cycle de développement d’un logiciel, ces méthodes étant unifiées par une certaine approche philosophique générale" [Booch, 1992]. Une méthode de conception est constituée d’un pro- cessus de développement, de notations permettant la modélisation et d’outils d’aide à la conception, à la vérification et/ou au suivi du processus. Deux grands courants existent lorsque l’on traite des méthodes orientées agent. Les unes sont une suite logique des mé- thodes de conception objet s’inspirant des processus, des méthodes et des outils déjà exis- tants. Les autres s’inspirent des modèles exhibés par les sciences du naturel, ce qui est com- préhensible lorsque l’on considère les propriétés attribuées aux systèmes multi-agents (voir chapitre 1). Bien sûr, le premier courant possède un avantage certain dans la course à l’ac- cès à l’industrie, car la technologie objet est à l’apogée de son utilisation en entreprise – du moins lors des phases de conception... La deuxième approche est plus risquée mais peut- être nécessaire afin de s’attaquer à la conception de systèmes aux fonctionnalités incomplè- tement spécifiées comme l’informatique diffuse. Néanmoins, ces deux courants principaux ne sont pas les seuls à avoir inspiré les méthodes orientées agent. D’autres approches, plus restreintes, comme l’ingénierie des connaissances ou des besoins, ont donné naissance à des méthodes plus spécifiques aux systèmes d’information. De même, certaines méthodes se sont ouvertement inspirées des domaines de la simulation biologique ou sociale comme cadre de développement.

Ce chapitre a pour but de montrer un état courant des méthodes orientées agent les plus représentatives. Les méthodes basées sur le paradigme objet sont nombreuses, et seule- ment certaines des plus citées dans la littérature seront exposées dans le paragraphe 2.1. Celles qui s’inspirent des phénomènes naturels, souvent les plus pertinentes pour résoudre

1Attention au distingo entre le terme anglais methodology qui détermine un ensemble de méthodes, voire une

méthode, et le terme français méthodologie qui définie l’étude d’un ensemble de méthodes – ce que nous faisons actuellement.

les problèmes dans un environnement dynamique nécessitant une adaptation par auto- organisation, sont moins nombreuses et moins développées. Certaines d’entre-elles seront présentées dans le paragraphe 2.2. Bien sûr, d’autres alternatives existent et seront briève- ment présentées dans la paragraphe 2.3. Enfin, à partir de ces présentations et d’une com- paraison entre des méthodes existantes, dans le paragraphe 2.4, nous dresserons les besoins pour la conception de systèmes multi-agents adaptatifs par coopération et exprimerons nos choix quant au développement d’une méthode dédiée à de tels systèmes dans le paragraphe 2.5.

2.1. L'inuence du paradigme objet

2.1

L’influence du paradigme objet

Les agents sont des entités autonomes, possédant des propriétés internes capables d’agir sur leur environnement. Il n’est pas rare, donc, de modéliser des agents par spécification orientée objet, compte tenu des points communs entre agents et objets. Bien sûr d’autres modélisations sont possibles, et souvent inspirées par la nature. De nombreuses méthodes orientées agent ont déjà vu le jour, mais ont toutes des disparités en terme de modèles d’agent, d’architecture, d’adaptation ou bien de facilité d’utilisation. Il convient donc de les survoler afin de déterminer quelles sont les notions et les méthodes exploitables afin de concevoir des systèmes multi-agents adaptatifs par coopération.