Un grand nombre d'architectures d'agents sont organisées de manière
modulaire
[#!abchiche-1999!#,#!metral-1993!#,#!riley-2000!#,#!tambe-1995!#].
Ces modules se retrouvent sous des formes proches dans
la plupart des architectures d'agents (typiquement, toutes les
architectures d'agents comportent les trois volets perception,
délibération et action). En revanche, leur organisation au sein de
l'architecture d'un agent et les communications et interdépendances
entre modules sont différentes d'une architecture à l'autre. Nous
allons détailler les différents composants habituellement trouvés dans
les architectures d'agents décrites dans la littérature.
On trouve dans pratiquement toutes les architectures d'agents un
organe preneur de décisions (ordonnanceur), assimilé par analogie à
l'unité de contrôle de l'ordinateur de Von
Neumann5.1. La plupart des agents ne
peuvent structurellement exécuter qu'un nombre limité d'actions
atomiques simultanément (généralement une seule en raison de
limitations physiques ou de limitations des langages de programmation
ou de systèmes d'exploitation utilisés, tous n'offrant pas facilement
de fonctionnalités de parallélisme préemptif ou d'exécution
asynchrone). Il est donc nécessaire de choisir parmi les actions à
effectuer celle qui pourra s'exécuter en se basant sur des critères
tels que l'adéquation aux objectifs, la priorité (pondération), la
complexité, la durée, etc. Le choix d'une tâche à exécuter peut être
influencé par les autres organes de l'agent. Typiquement,
l'ordonnanceur peut faire appel à l'expertise d'autres organes pour
évaluer la pertinence d'une tâche.
Les agents de type intentionnel ayant un but à accomplir, il leur est
nécessaire de connaître les actions à effectuer pour l'atteindre, c'est-à-dire de
disposer d'objectifs intermédiaires à accomplir. De tels agents ont donc
besoin de conserver en mémoire une image de leurs
objectifs ou au contraire dont
la validité n'est pas possible dans l'état actuel du monde. En effet, les
cogniticiens considèrent généralement que la décision d'adopter
d'une attitude est le résultat d'un calcul basé sur la multiplication
de l'importance de cette attitude (selon les critères des motivations de
l'agent) par l'estimation des espérances de succès. Une telle base
d'objectifs doit être mise à jour de manière régulière pour
correspondre à la réalité. Par exemple, une mise à jour est nécessaire
à chaque accomplissement d'un objectif intermédiaire ou
lorsque la dérivation de la perception du monde dépasse un certain
seuil par rapport à l'état du monde lors de l'établissement des
objectifs.
Afin de connaître la pertinence d'un objectif, c'est à dire de
vérifier s'il est toujours valable en fonction de l'état du monde
extérieur ou de l'état interne de l'agent lui-même, un agent
intentionnel a besoin de
disposer d'une vision (ou modèle) symbolique du monde. Ce modèle est
une représentation interprétative du monde obtenue à partir
d'informations sensorielles ou de croyances structurelles. Il prend
la forme d'une base de données de symboles
représentant chacun un aspect de l'environnement (par exemple, des
symboles décrivant la température, les coéquipiers, la topologie du
terrain, etc.) ou des relations entre symboles. Cette représentation
étant interprétative, elle peut dériver fortement de la
réalité fonctionnelle extérieure. C'est pour cette raison qu'elle est
aussi parfois appelée base de croyances (nous considérons ici
l'adéquation physique et non opérationnelle avec la réalité). De
plus, dans le cas particulier d'un milieu dynamique (voir le chapitre
), cette représentation
du monde doit être mise à jour de manière régulière, voire en
temps réel, afin d'être la plus consistante et pertinente possible.
Le planificateur est un organe qui met en place
une succession d'opérations, dans le but de remplir les
objectifs, en se basant sur l'hypothèse que les actions planifiées vont modifier
l'environnement dans un sens positif. Le planificateur intervient à deux
niveaux dans le comportement d'un agent: à un niveau supérieur, il
détermine quels sont les comportements à suivre sur le long terme pour
adopter une stratégie efficace et à un niveau inférieur, il détermine
les primitives d'action (actions atomiques) nécessaires à
l'accomplissement de la prochaine étape planifiée importante. Dans le
cas d'un système
multi-agents, l'activité planifiée coordonnée nécessite de plus une
synchronisation entre les différents agents impliqués et un partage de
plans afin d'obtenir un ordonnancement
efficace entre leurs actions en vue d'une résolution globale de
problèmes [#!durfee-1991!#].
Un agent a besoin de connaître avec une précision suffisante l'état de
son environnement. Pour posséder un état du monde adéquat, il doit
le percevoir directement ou doit obtenir des
informations sur celui-ci par le biais d'autres agents (des agents
facilitateurs par exemple). Dans les deux
cas, il a besoin d'organes sensitifs ou percepteurs, qui lui
envoient des informations sur son environnement, en continu ou
sur des bases événementielles. Les récepteurs d'un agent sont typiquement des
capteurs dans le cas d'un agent robotique ou des canaux de
communication avec son environnement informatique dans le cas d'un
agent purement logiciel (cela peut inclure des canaux de communication
avec d'autres agents ou des dispositifs de mesure). L'action des
percepteurs est renforcée par un travail
de reconstruction d'informations à un niveau symbolique ou
logique.
De même, un agent doit avoir le pouvoir d'agir sur son environnement afin de résoudre le problème pour lequel il a été créé ou afin de maintenir un équilibre ou un état en fonction de la représentation qu'il se fait de son environnement. Par exemple, il peut s'agir d'assurer sa propre survie ou de maintenir un facteur au dessus d'un certain seuil. Les actions portant sur l'environnement de l'agent sont effectuées par ses effecteurs, qui consistent en des dispositifs mécaniques dans le cas d'un agent robotique (par exemple des roues, un bras articulé, un émetteur radio ou lumineux, etc.) ou en des méthodes logicielles (canal de communication avec un processus, appel système, etc.). Le bon fonctionnement des plans de l'agent nécessite d'obtenir des informations en retour de son action afin d'entreprendre une correction en cas d'échec (par exemple, nos agents évaluent à chaque cycle l'adéquation de la situation par rapport à l'action suivie). Certains effecteurs permettent l'évaluation de l'action entreprise (mesure de la vitesse d'un moteur, code de retour d'une procédure, etc.) ce qui permet d'obtenir immédiatement une mesure de l'incidence de l'action sur l'environnement ou sur son issue. Dans le cas contraire, l'évaluation de l'action d'un effecteur doit se faire par l'étude de l'environnement et de son évolution.