• Aucun résultat trouvé

3.5 L’analyse (WD 3 )

3.5.2 Vérifier l’adéquation aux AMAS (A 11 )

Dans cette activité, il faut vérifier si un (ou plusieurs) système(s) multi-agent(s) adapta- tif(s) (AMAS) est(sont) nécessaire(s) pour réaliser l’application à construire. Parfois, ce type de modélisation est complètement inutile. Par exemple, avoir un système qui est capable de s’adapter est complètement inutile si l’algorithme requis pour résoudre la tâche est déjà connu, si la tâche n’est pas complexe ou tout simplement si le système à construire ne pos- sède aucune des propriétés identifiées dans le chapitre 1.

Dans cette activité, il faut donc étudier l’adéquation à deux niveaux :

au niveau global, pour répondre à la question "un AMAS est-il nécessaire pour im- planter le système" ?

au niveau local, pour essayer de déterminer si des agents ont besoin eux aussi d’être implantés en tant qu’AMAS, c.-à-d. si un certain degré de décomposition ou de récur- sivité est requis durant la construction du système.

3.5. L'analyse (WD3)

Pour ceci, il devra donc prendre une décision multi-critère qu’il aura lui-même établie ou bien utiliser l’outil que nous avons développé (voir §4.3). Ce dernier produit le résultat pour les deux niveaux et s’appuie sur l’expérience acquise par l’équipe à travers la mise en œuvre de différents projets utilisant la modélisation AMAS (voir §1.4).

Toutes les informations concernant cette étape sont stockées dans un document nommé synthèse de l’adéquation aux AMAS.

Il est possible de reboucler sur l’activité A10précédente si une décomposition à été dé- tectée afin de préciser l’analyse du domaine et obtenir une décomposition suffisante.

3.5.2.1 Vérifier l’adéquation aux AMAS au niveau global (S1)

Pour décider si une implantation en utilisant un SMA adaptatif (AMAS) est utile au niveau global, on peut étudier les huit questions suivantes :

1. La tâche globale est-elle incomplètement spécifiée ? Un algorithme est-il inconnu a priori ? En effet, les AMAS sont adéquats pour des systèmes non complètement spécifiés, pour lesquels la solution pourra être émergente.

2. Si plusieurs entités sont nécessaires pour résoudre la tâche globale, doivent-elles agir dans un certain ordre ? Une activité corrélée est-elle nécessaire ? La coopération peut être une bonne solution pour gérer la collaboration entre composantes et leur ordonnacement.

3. La solution est-elle, de manière générale obtenue par essais successifs, plusieurs essais sont-ils requis avant de trouver une solution ? Cette question concerne certains problèmes dans lesquels la sortie du système ne peut être prévue en fonction des conditions initiales et pour lesquels une technique par essai/erreur est utilisée afin de modifier les paramètres pas-à-pas. Les AMAS peuvent répondre à cette problématique par leur caractère non- linéaire.

4. L’environnement du système peut-il évoluer ? Auquel cas, un système adaptatif par auto- organisation, par exemple, sera une bonne solution.

5. Le traitement effectué par le système est-il fonctionnellement ou physiquement distribué ? Plu- sieurs entités physiquement réparties sont-elles utiles à la résolution de la tâche globale ? Une distribution conceptuelle est-elle nécessaire ? Cette question envisage la pertinence de l’uti- lisation de systèmes multi-agents comme solution aux problème distribués.

6. Est-il nécessaire d’avoir un grand nombre d’entités ? Plus un système possède d’entités, plus les règles de coopération sont nécessaires, et donc les AMAS seront peut-être une solution.

7. Le système étudié est-il linéaire ? Si oui, il y a peu de chance que les AMAS soient utiles à la conception, car on peut résoudre le problème en fournissant une organisation hiérar- chique fixe des composantes.

8. Enfin, le système est-il évolutif ou ouvert ? De nouvelles entités peuvent-elles apparaître ou disparaître dynamiquement ? Les AMAS peuvent répondre à ces problèmes d’ouverture par leur capacité d’auto-organisation.

Toutes les informations à propos de cette étape sont stockées dans le document intitulé synthèse de l’adéquation aux AMAS.

Exemple 3.16. Pour ETTO, on peut répondre à ces questions de la manière suivante (en estimant l’importance du critère sur une échelle allant de 0 à 20) :

1. La tâche globale ne pourra pas être complètement spécifiée (18/20) : Établir un emploi

du temps consiste à pouvoir satisfaire au mieux les contraintes de chacun des intervenants. Le résultat que nous souhaitons obtenir est donc connu mais les moyens et les solutions à mettre en oeuvre pour y arriver ne le sont pas forcément ; a priori, il n’y a pas de solution algorithmique universelle pour résoudre l’ensemble de ces contraintes.

2. La solution impose l’activité corrélée de plusieurs composants (02/20) : Etant donné le

problème posé, il est encore trop tôt pour que nous sachions la façon dont vont interagir les entités du système. Il est fort possible qu’elles interagissent mais nous ne pouvons dire si elles vont avoir une "activité corrélée".

3. La solution est habituellement obtenue par essais successifs (20/20) : La solution "idéale"

à l’emploi du temps n’existe généralement pas, certaines contraintes ne pourront être prises en compte et certains intervenants (au sens large) devront relâcher une ou plusieurs de leurs contraintes. La solution est, en général, atteinte par tâtonnements.

4. L’environnement du système est évolutif, dynamique (20/20) : Pouvoir ajouter ou modifier

des contraintes en temps réel oblige l’environnement du système à être clairement dynamique.

5. Le système est physiquement ou fonctionnellement distribué (0/20) : Même si les inter-

venants dans le problème de l’emploi du temps sont physiquement distribués, la résolution du problème n’implique en rien une distribution des données ou des fonctions.

6. Le système comporte un nombre considérable de composants (10/20) : Le nombre de com-

posants à mettre en oeuvre pour résoudre ce problème ne dépend que de la vision qu’en a l’in- génieur construisant le système ou du problème posé (en termes de professeurs, d’élèves et de salles). Nous ne pouvons, a priori, décider de ce nombre.

7. Le système est potentiellement non linéaire (15/20) : On peut dire que le fait de tenir compte

des contraintes d’un certain intervenant peut avoir un impact sur le fait de conserver ou de relâcher les contraintes d’un autre intervenant. Les intervenants sont donc liés et ce que l’on fait pour l’un peut influencer la manière dont un intervenant va être traité.

8. Le système est ouvert, évolutif (15/20) : Ajouter des étudiants, des salles, des contraintes

en cours de fonctionnement demande que le système soit ouvert. Cependant, ce n’est pas une caractéristique première du système. La réponse est donc positive mais avec un peu de retenue. La réponse pour le niveau global est alors qu’en utilisant la fonction de décision que nous avons définie dans l’outil d’adéquation, on peut conclure que certains aspects de l’application justifient un développement à l’aide des AMAS. Il faudra identifier ultérieurement les classes à décomposer en AMAS.

3.5.2.2 Vérifier l’adéquation aux AMAS au niveau local (S2)

Afin de déterminer l’adéquation aux AMAS au niveau local, on peut étudier trois critères supplémentaires. Une question est associée à chacun d’entre eux et il faut y répondre selon le même principe que dans l’étape précédente.

3.5. L'analyse (WD3)

9. Une entité n’a-t-elle qu’une rationalité limitée ? Si les composantes n’ont pas accès à toutes les données de traitement, il sera nécessaire de mettre en place des mécanismes coopé- ratifs d’échange de connaissances afin d’atteindre une solution efficacement.

10. Une entité est-elle de forte granularité ou non ? Est-elle capable d’effectuer de nombreuses ac- tions, de raisonner beaucoup ? Doit-elle posséder beaucoup de capacités pour effectuer sa propre tâche ? Plus une entité peut faire d’actions, plus il est difficile de les agencer ou de four- nir des modèles de décision. Les AMAS peuvent être une solution par décomposition.

11. Le comportement d’une entité peut-il évoluer ? L’entité doit-elle s’adapter aux changements de son environnement ? Comme les AMAS fournissent des fonctions adaptatives, c’est un bon moyen de faire des systèmes apprenants par composition.

Ici encore, une décision multi-critère s’impose. Toutes les informations relatives à cette étape seront aussi stockées dans le document nommé synthèse de l’adéquation aux AMAS.

Exemple 3.17. L’adéquation aux AMAS étudiée au niveau "local" pour l’application ETTO donne le résultat suivant :

9. Les composants du système n’ont qu’une rationalité limitée (10/20) : Pour l’instant,

les composants n’ont pas été définis et dépendent (comme à la question 6) de la vision qu’en a l’ingénieur. Il est donc trop tôt pour déterminer ce que ces composants connaissent de l’environ- nement.

10. En première analyse, les composants ont une forte granularité (17/20) : Les composants

chargés d’établir la solution au problème de l’emploi du temps doivent être, a priori, capables d’apporter l’expertise d’un humain résolvant le problème "à la main", leur granularité est donc forte.

11. Le comportement des composants est susceptible d’évolution (0/20) : Pour le problème

de l’emploi du temps, tel qu’il a été défini, les composants du système à mettre en oeuvre n’ont pas besoin de s’adapter à un environnement foncièrement différent ou à des intervenants d’un type nouveau, leur comportement devrait rester sensiblement stable.

La réponse pour le niveau local est alors que certains composants du système justifient le déve- loppement avec les AMAS. ADELFE doit donc être appliquée à ces composants.