• Aucun résultat trouvé

Les 3 composantes clé

2.5 Modèle agent proposé

2.5.4 Les 3 composantes clé

2.5.4.1 Mécanismes de perception et d’échange

Les agents évoluant dans notre SMA reçoivent et transmettent différentes informations. Si l’on se place du point de vue d’un agent, on appelle « requête » l’ensemble des informations (ou paramètres) reçus en entrée lorsqu’une demande lui est adressée. Tout au long de leur vie, les agents sont à l’écoute de requêtes qui leur sont adressées. Elles peuvent provenir d’autres agents à l’intérieur du SMA ou bien des utilisateurs humains du système. Dans ce dernier cas, pour assurer la compatibilité avec les normes FIPA (FIPA, 2002), il ne doit pas y avoir d‘échange direct entre les utilisateurs et les agents. Dans notre implémentation, nous utilisons l’outil (framework de développement multi-agents) Open Source JADE (Bellifemine, 1999). Comme proposé par JADE, on utilise un agent technique nommé « WebRequester » pour ce type d’échanges. Voir figure 11.

84

Figure 11 Echanges de flux dans notre SMA

Remarque :

Afin d’éviter les redites, la description détaillée de tous les mécanismes de perception et d’échange (i.e. schémas d’échange de flux, liste détaillée et illustrée des paramètres d’entrée présents dans chaque requêtes, cinématique des mécanismes, etc.) sera présenté dans le paragraphe « Modèle comportemental » du chapitre 3 décrivant l’implémentation de nos travaux. Cependant, de manière exhaustive mais synthétique, on retiendra que :

A. L’agent WebRequester est purement technique.

Il se contente de véhiculer les requêtes en provenance des utilisateurs humains vers l’un des agents (Objective ou Compétence) du SMA. Il renvoie ensuite la réponse de l’agent interrogé vers les utilisateurs humains.

B. L’agent Broadcast est purement technique.

Il se contente d’effectuer un broadcast de la requête qu’il reçoit en provenance d’un agent quelconque du SMA (e.g. Objective) vers tous les autres agents (e.g. Compétence) et de consolider les réponses reçues. Il renvoie finalement le résultat consolidé à l’agent qui l’a sollicité au départ.

C. L’agent Objective reçoit des requêtes en provenance des utilisateurs humains, via l’agent technique WebRequester. Ces dernières permettent de consulter la liste des compétences ayant été mises en œuvre dans des objectifs passés ou bien d’en créer de nouveaux. Cette création peut être réalise de 2 manières distinctes :

1. Soit par duplication partielle ou globale de la liste des compétences impliquées dans un objectif choisi.

2. Soit par interrogation des ACs, à travers les agents Objective puis Broadcast, à qui l’on transmet l’information concernant la création d’un nouvel objectif. Chaque AC interrogé se porte alors candidat ou non à participation au nouvel objectif.

85 D. L’agent Compétence reçoit 2 types de requêtes :

1. Suite à broadcast émis depuis l’agent Objective, via l’agent technique Broadcast, lors de la création de nouveaux objectifs.

2. En provenance des utilisateurs humains, via l’agent technique WebRequester, lors des demandes de liste d’acteurs pouvant exercer une compétence, lors de demandes de création de liens8 inter-ACs, ou bien lors de l’intégration d’évaluations à postériori d’acteurs ayant exercé la compétence dans le cadre d’un projet9.

2.5.4.2 Attributs internes

Un AC est défini par un ensemble d‘attributs internes. De manière synthétique10, on distingue:

1. Un identifiant numérique unique.

2. Une description textuelle simplifiée (champ description). Ex : « Ailier droit » au rugby.

3. Une description textuelle détaillée (champs abstract_content). 4. Un booléen indiquant que l’agent est en mode apprentissage ou non. 5. Le nombre de fois où l’agent a été utilisé dans des projets.

6. Un modèle comportementale évolutif au format XML. 7. Un âge11 (enfance, adolescence ou maturité) courant.

8. Une liste de mots clé. Exemples pour le rugby : « attaquer, rapidité, agilité, marquer, contre-attaquer ».

9. Une date de création de l’agent par l’administrateur12.

10.Une référence vers les règles éducatives de base qui lui ont été attribuées au moment de sa création (champs basic-rules_id).

A ces attributs, il convient d’ajouter une liste de compétences élémentaires13 Cet (avec Cet ∈ CEt), référencées dans la table agent_efficency. De plus, ils peuvent évoluer, ce qui rend nos ACs dynamiques. En effet, la liste des Cet varie, le nombre de fois où l’agent est utilisé dans les projets également, tout comme le modèle comportemental lui-même14.

8 Cf. paragraphe « 1.4.8 Relations entre compétences » au chapitre 1

9

Cf. paragraphe « 1.2 Définitions, concepts & notions clé » au chapitre précédent

10 Cf. paragraphe « 2.5.3 Modèle de données » plus haut

11 Cf. paragraphe « 2.5.6 Cycle de vie » plus bas

12 Cf. paragraphe « 2.5.2 Proposition » plus haut

13

Cf. paragraphe « 1.2.6 Compétence élémentaire » plus haut

86

2.5.4.3 Intentionnalité et buts

Tels que nous les avons définis au paragraphe « 2.5.2 Proposition », les ACs modélisent le concept de compétence sous la forme d’agents logiciels qui vivent et évoluent au sein d’un système apprenant. Ils font preuve de dynamisme et ne sauraient être considérés comme purement statiques. Ce sont des agents cognitifs. Cependant, dans la réalité des faits et la plupart des applications informatiques, ce sont souvent les acteurs humains qui sont modélisés sous la forme d’agents, les compétences ne traduisant que leurs comportements (Ferber, 1999) (Holger, 1998). Considérons l’inverse : une compétence modélisée sous la forme d’un agent. Parler de perception, d’intention, de motivation, ou moyen d’action sur l’environnement, ne semble pas trivial de prime abord. Sachant qu’en IA la notion d’ « embodiment of mind » (Ferber, 1999) (Pfeifer, 2007) (Shapiro, 2010) est essentielle pour pouvoir parler d’agent cognitif, nous proposons de définir ces éléments artificiellement. Nous suggérons ainsi qu’il y a du sens à supposer qu’une compétence, sous la forme d’un agent, soit motivée à minima par l’atteinte des 4 buts suivants :

1. Constitution de sa propre définition : identification de la liste compétences

élémentaires qui la compose. Cette liste peut évoluer en fonction des besoins des

projets, et conduire éventuellement à la disparition de la compétence elle-même. 2. Restitution d’une liste d’acteurs humains capable de la concrétiser au sein d’un

projet. Cette restitution vient en réponse à la demande d’un utilisateur du système qui recherche un acteur humain capable de répondre à son besoin, traduit par un projet.

3. Etablissement de relations avec les autres compétences du SMA. Les relations (appelées « liens ») entre 2 compétences, peuvent être mises en évidence par ce que nous appelons l’analyse des « similitudes » existantes entre elles. Ce peut être leur participation à des projets communs, des éléments de définition qu’elles partagent, etc.

4. Souhait de se porter candidate à une participation à un nouveau projet qui vient d’être créé dans le système.

2.5.4.4 Mécanismes d’action

Un AC met en œuvre des mécanismes d’apprentissage et des règles. Il exerce des actions qui traduisent des comportements et réalise les 4 buts présentés au paragraphe précédent. Tout au long de sa vie, chaque AC va ainsi :

1. Constituer sa propre définition.

2. Restituer une liste d’acteurs humains capables de le concrétiser au sein d’un projet. 3. Etablir des liens (relations) avec d’autres ACs.

87

A la réalisation des 4 buts évoqués ci-dessus s’ajoutent :

1. Faire évoluer son « cycle de vie » décliné en 3 « âges » (enfance, adolescence et

maturité). Chaque âge traduit un niveau d’autonomie différent15.

2. Intégrer les évaluations à postériori de sa mise en œuvre au sein d’un projet (apprentissage).

Dans le cadre de nos travaux, nous avons modélisé puis implémenté notre propre gestion de modèle comportemental16.