Coopération Homme-Machine dans les Systèmes Complexes

Transcription

Coopération Homme-Machine dans les Systèmes Complexes
Comptes Rendus de la Conférence Nationale Interaction Homme-Machine, Toulouse, 1995
Coopération Homme-Machine dans les Systèmes
Complexes : Agents et Aide à la Décision
Guy A. Boy
Institut Européen de l'Ingénierie et des Sciences Cognitives (EURISCO)
4, avenue Edouard Belin, 31400 Toulouse, France
Tel. +33-62 17 38 38 - FAX +33-62 17 38 39 - Email: [email protected]
RESUME
Cet article présente une approche basée sur le
développement d'agents logiciels d'aide à la décision dans
le contrôle de systèmes complexes dynamiques. Il
s'appuie sur des exemples dans le domaine aérospatial. Il
discute les raisons qui font la promotion du concept
d'agent. Il décrit l'évolution d'une interaction basée sur
l'énergie vers une interaction basée sur l'information. La
décomposition de la complexité d'une tâche se fait par
une coopération entre agents. Elle induit la définition de
rôles affectés aux différents agents mis en jeu. La notion
d'interface profonde est définie par l'ensemble des agents
logiciels assistant l'utilisateur dans la prise de décision,
et plus généralement dans le contrôle du système.
Différents modèles de prise de décision sont présentés.
Le modèle RSRA (Reconnaissance de Situation et
Raisonnement Analytique), la représentation par blocs
de connaissances et l'analyse en fonctions cognitives
sont présentées comme support à la conception d'agents
logiciels.
MOTS CLEFS
Agents, aide à la décision, coopération Hommemachine, fonctions cogntives.
INTRODUCTION
Il existe une littérature importante dans le domaine de
la prise de décision [13; 16; 18; 28]. Plus récemment,
Wayne Zachary a donné un état de l'art sur les systèmes
d'aide à la décision (Decision Support Systems: DSS)
[32]. Cependant, la prise de décision dans la conduite de
systèmes complexes présente des caractéristiques
spécifiques qu'il convient d'analyser et de mieux
comprendre. Le pilotage d'avion fait partie des processus
dans lesquels la prise de décision doit être effectuée de
façon dynamique. En aviation, prendre une décision est
parfois synonyme de survie. Il existe bien sûr différents
niveaux de prise de décision. On se réfère en général au
modèle de Rasmussen pour expliciter les différents
niveaux de décision : habiletés, procédures et savoir
[27]. Les habiletés se réfèrent aux bas niveaux cognitifs,
et le savoir aux hauts niveaux cognitifs. Ce que nous
constatons aujourd'hui c'est la place de plus en plus
importante que prennent les décisions à des niveaux
cognitifs élevés.
Cet article tente de montrer pourquoi et comment
l'évolution actuelle des technologies de l'information
tend à privilégier la construction de systèmes hommesmachines multi-agents. Il discute les raisons qui font la
promotion du concept d'agent logiciel comme système
d'assistance à l'opérateur [5]. La coopération entre agents
humains et logiciels pour la prise de décision offre une
solution de décomposition de la complexité d'une tâche.
Il conduit à la notion d'interface profonde spécifiée à
partir de certains principes de coordination entre agents
humains et logiciels. Le rôle des agents dans la prise de
décision est défini grâce à différents modèles de prise de
décision. Dans tous les cas, ces agents logiciels doivent
aider à la compréhension et à la prise de conscience de la
situation.
Dans la conception de systèmes Hommes-machines
multi-agents, il est utile de considérer la dualité entre les
procédures et l'interface Homme-machine. La genèse et
l'utilisation du modèle R S R A (Reconnaissance de
Situation et Raisonnement Analytique) sont présentées.
Ce modèle a donné naissance à une représentation des
connaissances qui permet de prendre en compte la
modélisation des agents. Il s'agit de la représentation par
blocs. Elle nous permet entre autre de formaliser les
fonctions cognitives mises en jeu dans l'exécution de
tâches. Elle a donné lieu au développement et à la mise
en oeuvre d'une nouvelle méthode: l'analyse en fonctions
cognitives (AFC). Cette méthode permet de séparer les
aspects liés à l'interaction des aspects purement liés à la
tâche à effectuer. Des critères d'évaluation sont donnés.
Nous illustrerons notre approche sur des exemples dans
le domaine aérospatial.
POURQUOI LE CONCEPT D'AGENT D E V I E N T IL AUSSI IMPORTANT ?
D'une interaction basée sur l'énergie vers
une interaction basée sur l'information
La cognitivisation du pilotage d'avion est devenue une
réalité avec l'informatisation progressive des cockpits.
Nous sommes passés d'une interaction basée sur des
notions d'énergie (contrôle de processus classique) à une
interaction basée sur des notions d'informations (plus
proche de la gestion). Sur les avions traditionnels, le
pilotage est en grande partie basé sur des retours
proprioceptifs et sensori-moteurs. Par exemple, si le
pilote entend l'intensité sonore d'un moteur diminuer, il
regarde immédiatement l'indicateur de vitesse pour
vérifier la sécurité de l'avion. Aujourd'hui, pour des
raisons de confort, beaucoup de bruits et de retours
proprioceptifs ont été atténués (et parfois supprimés),
l'information qui était disponible directement dans le
passé est certes accessible en vision centrale sur des
écrans cathodiques, mais le pilote doit souvent
Comptes Rendus de la Conférence Nationale Interaction Homme-Machine, Toulouse, 1995
reconstruire cognitivement certains paramètres physiques
qui jadis pouvaient être perçus directement. A ces
aspects liés au confort passager, se sont ajoutés des
aspects liés à la sécurité. Il en a résulté que le nombre
d'informations transmises a beaucoup augmenté. Le fait
que le nombre de paramètres à prendre en compte
augmente ne favorise pas le processus de prise de
décision puisque le traitement et la capacité cognitive
humaine est limitée. Nous pensons que cette tendance
est propre à l'évolution des systèmes actuels en général.
C'est pour ce type de raison que la contribution d'agents
logiciels s'avère souvent utile, et dans certain cas
nécessaire. Il existe plusieurs objectifs qui motivent
l'automatisation. Ces objectifs peuvent être classés
selon la liste suivante adaptée de Billings :
• sécurité: pour conduire des opérations, du début à la
fin, sans causer de dommages aux personnes et à
l'environnement;
• fiabilité: pour fournir des opérations fiables sans
interférence des variables environnementales;
• économie: pour conduire toutes les opérations aussi
économiquement que possible;
• confort: pour conduire toutes les opérations de
manière à maximiser la santé et le confort des
utilisateurs et des personnes de leur environnement
(Billings, 1991, page 68).
Agents
Un agent est une entité (humain ou machine) qui est
capable d'effectuer une tâche. Un agent doit remplir un
ou plusieurs rôles et atteindre un ou plusieurs buts dans
un environnement donné. Un agent humain ou logiciel
peut être représenté simplement par un processeur
d'information, une base de connaissance et des canaux
d'interaction (Figure 1). Un agent a ses propres
exigences en information pour agir. Ces exigences sont
acquises par l'intermédiaire des canaux de réception.
Donnons quelques exemples de propriétés de ces canaux
récepteurs humains : séquentialité de la prise
d'information; persistance des informations acquises dans
la mémoire sensorielle (250 millisecondes pour le canal
visuel, par exemple); faculté de conscience de la
situation (focalisation de l'attention); précision des
informations; etc.
Ces propriétés peuvent être améliorées ou modifiées
par l'introduction de dispositifs adaptés. Notre objectif
est de concevoir des agents logiciels qui étendent les
capacités humaines, et parfois permettent à leurs
utilisateurs d'accomplir des tâches qu'ils n'ont pas la
capacité d'accomplir. Par exemple, l'être humain ne sait
pas voler sans l'utilisation d'un avion. Le problème
crucial dans l'utilisation de tels agents est de mettre en
évidence quelles sont les informations requises pour
piloter l'avion sûrement et confortablement.
Le processeur et la base de connaissances de chaque
agent est représentée par un ou plusieurs blocs de
connaissances associés à des métaphores traduisant
l'attitude de l'agent (voir plus loin la définition de la
méthode d'analyse en fonctions cognitives).
Environnement
Canaux
Récepteurs
Canaux
Emetteurs
Processeur et
Base de Connaissances
Figure 1. Un agent comme processeur
d'information.
La définition de nouveaux agents met en jeu de
nouveaux types de comportements et de traitements. Les
êtres humains ont besoin de s'adapter à de nouvelles
situations induites par l'introduction de ces nouveaux
agents. Afin de mieux caractériser ces changements,
faisons la liste d'une série de propriétés d'agents:
• délégation : une tâche ou sous-tâche est déléguée à un
agent;
• valeur cognitive : résultats de l'interaction avec
l'agent;
• contexte : un agent logiciel est conçu dans un
contexte spécifique qui définit (implicitement en
général) les limites de l'agent; il convient de noter que
le contexte d'utilisation effective de l'agent n'est en
général pas le même que le contexte d'utilisation
prévu pendant la conception;
• adaptation : les agents humains peuvent s'adapter
pratiquement à n'importe quoi, alors que les agents
logiciels sont relativement rigides même si l'on peut
les doter de capacités d'adaptation dans des contextes
très limités;
• prédictabilité : lorsque l'utilisateur peut prédire le
comportement d'un agent, il lui fait en général
confiance;
• expertise de l'utilisateur : les agents logiciels sont
conçus soit pour des experts, soit pour un public plus
large;
• type : les agents logiciels peuvent être réactifs (c'est la
forme la plus simple) ou cognitifs; nous dirons qu'un
agent est cognitif soit lorsqu'il a une architecture
cognitive (point de vue du concepteur), soit lorsqu'il a
un comportement cognitif (point de vue de
l'utilisateur);
• complexité : les agents logiciels peuvent être plus ou
moins complexes en fonction de la complexité de la
tâche qu'ils ont la mission d'accomplir,
• spécificité: il est important de préciser qu'un agent est
construit pour l'accomplissement d'une tâche
spécifique bien identifiée.
Coopération entre agents pour le maintien de
la conscience de la situation
Le pilotage de l'avion est caractérisé par la notion de
boucle fermée. Le fait que l'on ne puisse pas arrêter un
avion pour prendre une décision change radicalement les
Comptes Rendus de la Conférence Nationale Interaction Homme-Machine, Toulouse, 1995
conditions liées à la prise de décision. Le pilote doit être
conscient de la situation à tout instant afin de pouvoir
bâtir une décision sur des informations correctes en
nature et en nombre. Le processus de prise de décision
peut être guidé par l'utilisation de procédures. L'aspect
"monde semi-clos" de l'aéronautique lui confère des
possibilités de prédictions de situations et de cas déjà
traités, et donc de bâtir des procédures réutilisables en
fonction de circonstances analogues. Le pilote doit être
dans la boucle à tout instant. En effet, le niveau de
vigilance tend à baisser dès que l'opérateur ne fait rien.
En revanche, quelqu'un qui agit sait nécessairement ce
qui se passe dans son environnement pour maintenir la
stabilité globale du système Homme-machine. Il est par
conséquent très important que le pilote soit actif afin
qu'il ait une conscience "active" de la situation.
Habituellement, dans un environnement de prise de
décision multi-agents il existe trois paramètres
essentiels [20] : le vitesse d'évolution de l'information
dans l'environnement; l'ignorance de l'environnement; le
nombre d'agents et la complexité des interactions entre
agents. Ces paramètres permettent d'établir des critères
dans la définition des agents logiciels entrant dans le
processus coopératif de prise de décision. Ils doivent
donner à tout instant l'état de la négociation entre agents
en terme de consensus par exemple. Si les agents
logiciels sont mieux informés des intentions de
l'utilisateur, peut-être pourront-ils mieux aider
l'utilisateur dans sa prise de décision. Par conséquent,
tous les mécanismes mis en oeuvre dans la
reconnaissance d'intention seront utiles pour assurer une
meilleure interaction entre agents humains et logiciels.
Enfin, les agents logiciels doivent rester simples, faciles
à comprendre et à utiliser.
Décomposition de la complexité d'une tâche
en favorisant la coopération entre agents
La répartition du traitement de l'information entre
plusieurs agents a déjà été décrite par Paterson [26]. Un
modèle, appelé MESSAGE, a été proposé pour prendre
en compte la gestion du vol d'un avion de transport
commercial [2]. MESSAGE distingue trois niveaux
d'interaction entre agents : syntaxique, sémantique et
sémiologique. Ces niveaux sont des attributs de
messages échangés entre agents. En général, plusieurs
agents sont regroupés au sein d'une société d'agents
(Figure 2) [23].
Cette société d'agents délègue une tâche à l'un de ses
agents. Un agent représente sa société et est responsable
des tâches qui lui sont confiées. L'accomplissement de la
tâche est limité par des contraintes externes à l'agent
liées à la société d'agents et à l'environnement, et des
contraintes internes à l'agent liées aux compétences et à
la personnalité de l'agent lui-même. Cette approche
sociologique de l'interaction met en jeu des mécanismes
comme la négociation, la coopération, la supervision, la
subordination, l'organisation, etc. Considérons qu'un
agent humain ait à effectuer une tâche complexe, par
exemple conduire 300 personnes d'un aéroport à un autre
en utilisant un avion moderne. L'agent en question
s'appelle un pilote qui est délégué par sa compagnie
aérienne (sa société d'agents) pour effectuer la tâche déjà
décrite. Sa compagnie définit les contraintes externes
qu'il va devoir suivre pour représenter au mieux la
compagnie. Le pilote va s'appuyer sur ses propres
agents (cognitifs) et une autre société d'agents fournie
par le cockpit pour accomplir sa tâche. De la même
façon, un agent avion est composé d'un certain nombre
d'agents dont le pilote, le copilote et le cockpit (liste
non-exhaustive). Un agent tour de contrôle est composé
par exemple d'agents contrôleurs et d'agents systèmes
d'aide au contrôle (Figure 2).
Figure 2. Société d'agents.
La notion d'interface profonde
Une interface profonde est définie par la société
d'agents logiciels servant à gérer l'interaction entre
l'utilisateur/décideur et le système à contrôler. Nous
faisons la distinction entre une interface profonde qui a
la capacité de coopération et de médiation avec l'extérieur
(utilisateurs et environnement), et une interface
superficielle qui est un simple système de connexion
entre agents. Le problème est de savoir dans quel sens
cette gestion se fait (Figure 3) : interprétation ou
amplification [6].
Utilisateur/décideur
Interface
Système à contrôler
AMPLIFICATION
INTERPRETATION
Utilisateur/décideur
Interface
Système à contrôler
Figure 3. Interface utilisateur comme amplifieur
des capacités de l'utilisateur ou comme
interpréteur du comportement du système à
contrôler.
Si l'interface profonde est ajoutée comme une partie
intégrante de la machine, il remplace certaines fonctions
Comptes Rendus de la Conférence Nationale Interaction Homme-Machine, Toulouse, 1995
cognitives humaines. Nous dirons qu'il interprète pour
l'utilisateur. Si l'interface profonde est une ressource à la
disposition de l'utilisateur, il augmente les capacités de
l'utilisateur. Nous dirons qu'il amplifie les capacités
cognitives de l'utilisateur. Le choix entre ces deux
alternatives est un soucis constant en aéronautique. Elles
conduisent à des comportement différents aussi. Dans le
premier cas, l'interface profonde devra présenter la bonne
illusion à l'utilisateur afin qu'il puisse avoir la meilleure
représentation de la situation. La notion d'illusion [30]
est extrêmement importante dans la mesure où elle
définit les mécanismes à mettre en oeuvre pour
reconstituer un phénomène réel (ou connu de l'opérateur)
pour fournir à l'opérateur l'illusion de ce phénomène. En
aéronautique, l'horizon artificiel en est un exemple. En
général, il s'agit de construire des métaphores qui
donnent au pilote la sensation d'une réalité (simulée).
Dans le second cas, l'interface profonde est un outil dont
l'utilisateur se sert. Souvent, l'apprentissage d'un
nouveau dispositif est un handicap à son acceptation. En
revanche, lorsque l'Homme sait utiliser un outil, sa
performance est amplifiée. L'apprentissage de
l'utilisation de l'outil reste donc un problème à part
entière.
LE ROLE DES AGENTS DANS LA PRISE D E
DECISION
Les différents modèles de prise de décision
Afin de mieux identifier comment aider l'Homme dans
la prise de décision et d'orienter l'aide à la décision vers
l'interprétation ou l'amplification, nous allons analyser
un certain nombre de points de vue. La prise de décision
peut être vue soit comme un processus de traitement de
l'information, soit comme un processus de gestion de
l'information, soit comme une activité sociale, soit
comme une activité cognitive, soit comme un processus
de planification [6]. Nous déduisons de l'analyse de ces
points de vue une typologie d'agents logiciels utiles
pour la prise de décision.
Vue comme un processus de traitement de
l'information, la prise de décision est un choix parmi
plusieurs alternatives en fonction d'un certain critère. Il
est clair que la nature et la qualité de l'information
requise pour effectuer la décision sont cruciales. Les
pilotes se basent généralement sur des procédures
comme règles de décision pour contrôler le traitement de
l'information. Des agents logiciels permettant de
faciliter l'interprétation permettront à l'utilisateur de
mieux comprendre la nature des alternatives et donc de
mieux gérer ses choix.
Vue comme un processus de gestion de l'information,
la prise de décision est un processus qui tente de gérer
des compromis entre exigences de traitement et
ressources disponibles pour effectuer ce traitement
(capacité). En général, le pilote est en surcharge
d'information. Il doit décider de stratégies pour traiter les
informations essentielles en fonction de sa capacité. Le
pilote peut omettre d'effectuer un traitement, réduire la
précision des informations et des traitements, mettre en
attente certains traitements, filtrer certaines informations
(ne pas les considérer), décentraliser le traitement
(délégation) ou tout simplement abandonner la tâche.
Dans tous les cas, trois conditions doivent être
satisfaites : la bonne information doit être disponible
sous le bon format et au bon moment, le pilote doit
attendre cette information pour pouvoir bien la recevoir
et surtout l'interpréter, et le pilote doit savoir comment
traiter cette information. Les deux premières conditions
plaident en faveur d'agents logiciels d'aide à
l'interprétation. La dernière condition suggère des agents
amplifiant le traitement des décisions.
Vue comme une activité sociale, la prise de décision
est un processus d'allocation de rôles et de
responsabilités (délégation). Le pilote délègue à la
machine un certain nombre de tâches. La notion d'agent
logiciel prend tout son sens dans le cadre de l'analyse
sociologique de la prise de décision. En général,
l'utilisateur suppose que l'agent logiciel sait bien faire la
tâche qu'il lui confie. La question de confiance est
essentielle. Si l'utilisateur n'a pas confiance en la
machine, il ne pourra pas bien interagir. En revanche,
s'il a une confiance trop forte en la machine, son niveau
de vigilance peut diminuer et sa surveillance peut chuter
de façon considérable. Dans les deux cas, les
informations peuvent être acceptées ou refusées de façon
irrationnelle. On s'oriente ici vers des agents logiciels
d'aide à la vérification croisée de diverses sources
d'information (gestion de la redondance).
Vue comme une activité cognitive, la prise de
décision humaine est un processus à capacité cognitive
limitée. Donnons trois types de critères conduisant à
l'automatisation des systèmes Homme-machine :
automatiser tout ce que l'être humain ne peut pas faire
ou traiter; accroître artificiellement la capacité en
introduisant des systèmes opérationnels d'assistance à
l'opérateur; réduire les exigences jusqu'à ce qu'elles
puissent satisfaire la capacité cognitive. La troisième
option de cette liste correspond à une automatisation
centrée sur l'Homme. L'activité cognitive concerne la
performance et la charge de travail mentale. Ces
variables sont affectées par les rythmes circadiens, le
rôle social des pilotes, la situation ambiante, la pression
temporelle, etc. Les agents correspondant à cette classe
permettent de prolonger la mémoire de travail de
l'opérateur.
Vue comme une activité de planification, la prise de
décision est liée à l'anticipation. On ne peut pas
anticiper une action si l'on de décide pas a priori d'une
stratégie. Inversement, construire une stratégie c'est
planifier le futur en prenant des options (décisions) qu'il
conviendra éventuellement de modifier en fonction de
leur utilisation. Les agents logiciels facilitant
l'anticipation de l'utilisateur sont des aides à la
planification. La planification met en jeu des calculs
combinatoires complexes que l'être humain a du mal à
gérer ou tout simplement à faire. Par contre, il est
capable de juger si le résultat d'une planification est
Comptes Rendus de la Conférence Nationale Interaction Homme-Machine, Toulouse, 1995
acceptable ou non. Par conséquent, il convient de
développer des agents logiciels prenant en compte ces
calculs combinatoires et présentant à l'utilisateur des
résultats que celui-ci pourra accepter, rejeter et/ou
modifier.
Divers types d'agents d'aide à la prise de
décision et heuristiques d'utilisation
associées
Kjaer-Hansen [20] a décrit la prise de décision en
termes de fins-moyens (means-ends) comme un
problème de gestion de ressources. Ces ressources
peuvent être considérées comme des agents : des agents
d'aide à la recherche d'information; des agents d'aide à
l'exécution d'actions; des agents d'aide à la construction
de modèles de l'environnement; des agents d'aide à la
construction de critères de décision.
Wilensky [31] a donné cinq heuristiques pour la prise
de décision : ne pas gaspiller les ressources; satisfaire
autant de buts que possible; maximiser la valeur des
buts atteints; éviter les buts impossibles; ne pas violer
les états intermédiaires.
Le besoin de prise de conscience de la
situation
Prendre une décision nécessite trois types d'exigences :
(1) disposer des informations nécessaires; (2) attendre ces
informations; et (3) avoir des agents pour les interpréter
et les traiter. La plupart des approches actuelles d'aide à
la décision sont centrées sur le traitement de
l'information et non sur les deux autres aspects [32].
Dans beaucoup d'accidents où la prise de décision a joué
un rôle fondamental, ce n'était pas tant le traitement de
l'information qu'il fallait remettre en cause, mais la
conscience de la situation (les anglo-saxons parlent de
situational awareness). L'accident de la centrale nucléaire
de Three Mile Island aux Etats Unis en est un exemple
[22]. Le présent article se centre plutôt sur les deux
premières exigences de la prise de décision.
Dans le contrôle de systèmes complexes, prendre des
décisions c'est surtout bien comprendre l'environnement
à tout instant. Avoir conscience de la situation courante
(situation awareness), c'est mettre en oeuvre un modèle
de l'environnement. Ce modèle est élaboré et raffiné pasà-pas à mesure que de nouvelles informations sont
disponibles et traitées. Il est important de noter que
même si les informations nécessaires sont disponibles,
si le décideur ne les attend pas, elles risquent fort de ne
pas être perçues. Par conséquent, l'attente des
informations nécessaires à la prise de décision est une
exigence critique, surtout en situation de contrôle de
processus où le temps joue un rôle fondamental. Donc,
tous les dispositifs qui permettent de favoriser l'attente
des bonnes informations, au bon moment et sous le bon
format seront les bienvenus.
Différents types de communication entre
agents
Comme nous l'avons déjà dit, la conception d'un
système d'aide à la décision passe par la conception d'une
interface profonde, c'est-à-dire une société d'agents qui
vont coopérer avec l'utilisateur dans la prise de décision.
Le type d'interaction dépend, en partie, de la
connaissance que chaque agent a des autres. Un agent
qui interagit avec un autre agent, appelé son partenaire,
peut appartenir à deux classes : (classe 1) l'agent ne
connaît pas son partenaire; (classe 2) l'agent connaît son
partenaire.
La seconde classe peut être décomposée en deux sousclasses : (sous-classe 2a) l'agent connaît son partenaire
indirectement (en utilisant une base de données
commune par exemple), (sous-classe 2b) l'agent connaît
son partenaire explicitement (en utilisant des primitives
de communication clairement comprises par le
partenaire). Cette classification conduit à trois types de
relation entre deux agents communicants : (A)
compétition (classe 1); (B) coopération par partage de
données communes (sous-classe 2a); (C) coopération par
communication directe (sous-classe 2b).
Dans le cas de la compétition, l'agent est totalement
ignorant de l'existence de l'autre agent. Ceci peut
conduire à des conflits pour le partage de ressources. Il
est donc nécessaire de définir un ensemble de règles de
synchronisation pour éviter des problèmes d'affectation
de ressources entre agents. Typiquement, ces règles de
synchronisation doivent être gérées par un agent de
supervision appelé un superviseur (Figure 4). Le
superviseur peut être l'un des partenaires ou un agent
externe. Bien sur, si les ressources disponibles sont plus
nombreuses que les exigences de tous les agents, les
conflits sont en général automatiquement évités. Dans
le monde réel, on ne connaît pas toutes ces exigences.
Figure 4. Compétition : les agents ont besoin d'un
superviseur pour gérer leurs activités.
Dans le cas de la coopération par partage de données
communes, l'agent sait que son partenaire existe par la
conscience qu'il a des résultats de certaines actions de
son partenaire. Les deux agents utilisent une base de
données communes (Figure 5). Une telle base de
données communes peut être elle-même un agent si elle
informe de façon active les différents agents mis en jeu
dans l'environnement, ou demande à ces agents de
nouvelles informations (auto-mise à jour). Les agents
utilisent et mettent à jour l'état de la base de données. A
titre d'exemple, tout se passe comme si deux agents
notaient toutes leurs actions sur un tableau noir auquel
ils se réfèrent avant d'agir. Les agents doivent coopérer
Comptes Rendus de la Conférence Nationale Interaction Homme-Machine, Toulouse, 1995
pour gérer la base de données partagée. Ce paradigme est
appelé système orienté-données. Un tel système doit
contrôler la cohérence des données communes. Les
relations de coopération entre agents n'excluent pas des
relations de compétition. En particulier, les données
communes sont généralement supportées par des
ressources pour lesquelles les agents correspondants
peuvent être mis en compétition. Dans ce cas, des règles
de synchronisation doivent être établies pour gérer les
conflits d'affectation et la cohérence des données
correspondantes.
Base de données communes
identiques. Au contraire, lorsqu'un professeur donne un
cours à ses élèves, ils ne partage pas nécessairement le
même modèle interne. En particulier, le professeur doit
"décompiler" sa connaissance situationnelle pour la
rendre intelligible aux novices, nous diront qu'il utilise
une explication analytique pour se faire comprendre.
LA CONCEPTION DE SYSTEMES
MACHINES MULTI-AGENTS
HOMMES-
La dualité entre les procédures et l'interface
Notre approche se centre sur la dualité
procédures/interface. Plus une interface est bien conçue,
conviviale et transparente au pilote, moins il a besoin de
procédures (si le pilote sait ce qu'il a à faire, il n'a pas
besoin d'aide).
"Voici les aides cognitives les plus communes dans
le cockpit: —Des curseurs de vitesse : petits
tabulateurs métalliques ou plastiques que les pilotes
peuvent déplacer autour de l'indicateur de vitesse
pour les aider à se souvenir des consignes critiques.
—Des équipements fournis par l'équipage; des notes
écrites, des tasses à café et un rouleau de papier
collant. —Des check-lists" [23].
Agents
Figure 5. Coopération par partage de données
communes : les agents gèrent la communication
par l'intermédiaire d'une base de données qui est
une interface entre ces agents.
Dans le cas de la coopération par communication
directe, les agents interagissent directement avec les
autres (Figure 6).
Cependant, le problème de la boucle fermée en
aéronautique impose d'éduquer les équipages à avoir des
actes réflexes appropriés. Les check-lists et les do-lists
ont été créées pour cela. Une étude sur l'utilisation des
check-lists est en cours à EURISCO [19]. Il est
important que le pilote accomplisse bien certaines
actions et au bon moment (rôle des do-lists). Les dolists guident le pilote en utilisant une approche pas-àpas. Les procédures anormales et d'urgence sont
généralement des do-lists. Les check-lists servent à
vérifier si la configuration de l'avion est correcte. Elles
servent à contrôler si les actions critiques ont été
correctement réalisées. Les check-lists assurent une
stabilité mentale et opératoire au pilote, même si elles
sont parfois rébarbatives. Elles revêtent aussi un aspect
juridique clair.
Le modèle RSRA
Figure 6. Coopération par communication directe:
chaque agent interagit directement avec les
autres.
Ils doivent partager un but commun et un langage
commun, par exemple, des experts d'un même domaine
coopèrent en utilisant un langage spécialisé pour
résoudre un problème. La qualité d'une communication
entre deux individus repose sur la compréhension
réciproque du modèle interne de l'autre. Par exemple, une
discussion entre experts du même domaine se réduit à un
langage opératif [17], c'est-à-dire très situationnel. Dans
ce cas, les experts ont des connaissances quasi-identiques
sur le sujet: on dit que leurs modèles internes sont quasi-
Il est très difficile de construire des agents logiciels
génériques. C'est la raison pour laquelle les applications
qui ont connu le plus de succès ont été celles qui étaient
supportées par un modèle fort de la tâche défini dans un
contexte particulier. Dans les applications aéronautiques
où les problèmes sont complexes et de nature
dynamique, il est très difficile d'anticiper à la fois les
situations et les contextes auxquels les agents vont être
confrontés dans leur utilisation. Il en résulte que la
connaissance en contexte (patterns situationnels et
modèles de tâche correspondants) doit être acquise enligne et pas-à-pas (incrémentalement) lorsque les agents
effectuent les tâches dans le monde réel.
Le modèle reconnaissance de situation / raisonnement
analytique (RSRA) a été développé pour donner un
cadre conceptuel à l'acquisition de connaissance en
contexte (Figure 7) [5]. RSRA est un modèle évolutif
Comptes Rendus de la Conférence Nationale Interaction Homme-Machine, Toulouse, 1995
d'opérateur. Il a été développé en 1986 à l'issue d'un
projet d'aide aux astronautes pour le diagnostic de pannes
du système de ravitaillement orbital de la navette
spatiale américaine [3]. Par la suite, il a été utilisé dans
diverses applications dont l'assistance aux astronautes en
télémanipulation spatiale [10; 21], l'assistance à la
conduite automobile [25] et le développement d'un
système de documentation électronique intégrée (CID :
Computer Integrated Documentation) [4; 5; 8].
Patterns
Situationnels
Novice
Expert
Connaissance
Analytique
s1
A1
s2
A2
sn
An
S1
a1
S2
a2
connaissances en contexte. Cet apprentissage peut être
effectué soit manuellement soit automatiquement en
utilisant un algorithme informatique. C'est le cas dans
CID [4; 5; 8].
Les composantes d'un bloc sont : son nom; son
niveau hiérarchique; une liste de préconditions; une liste
d'actions; une liste de buts et une liste de blocs associés;
une liste de conditions anormales (CAs) et leurs listes de
blocs associés. En fonction de son niveau d'abstraction,
une procédure peut être représentée par un simple bloc,
une hiérarchie de blocs ou un réseau de blocs. Nathalie
Mathé a présenté une description exhaustive de la notion
de bloc dans sa thèse [21].
Préconditions de Déclanchement
Actions
Procédures
Contexte
Conditions
Anormales
But(s)
SN
aN
Figure 7. Modèle de reconnaissance de situation
et raisonnement analytique .
Le modèle RSRA fournit un cadre formel pour
intégrer des connaissances situationnelles (patterns
situationnels de positions de problèmes) et analytiques
(ressources pour la résolution de problèmes). Au début
les agents sont "inexpérimentés" et doivent se reposer
sur des connaissances analytiques relativement étendues
(comme par exemple des modèles de tâches et des
procédures qui peuvent être incomplets et incorrects).
Ces modèles peuvent être construits en utilisant des
méthodes "classiques" d'acquisition de connaissances du
type KADS [30] par exemple. Les mécanismes
d'apprentissage associés à RSRA reposent sur le
renforcement des actions utiles, la découverte de
conditions anormales et la génération d'actions de
récupération pour améliorer la performance. Certains
éléments de la connaissance analytique sont transférés
dans les patterns situationnels. Ce transfert résulte en un
raffinement des procédures utilisées dans des contextes
particuliers et par des personnes particulières. Les
patterns situationnels se multiplient et deviennent plus
complexes dans le temps, alors que les connaissances
analytiques ont tendance à se structurer [10].
La représentation par blocs
Les connaissances individuelles et collectives sont
représentées dans chaque agent par un réseau de blocs
[4; 21]. La représentation par blocs (Figure 8) a été
conçue pour représenter des manuels d'opérations, des
procédures, des check-lists, des guides d'utilisation [3] et
autres outils en-ligne utilisés pour contrôler des
systèmes dynamiques complexes [11]. De plus, elle doit
permettre aux agents d'acquérir pas-à-pas des
Figure 8. Bloc de connaissance.
Les conditions anormales et les b u t s sont des
conditions finales qui sont testées après l'exécution des
actions du bloc. Un but est une condition qui doit en
principe être satisfaite après l'exécution des actions du
bloc, c'est une conclusion finale normale de l'exécution
du bloc. Dans certaines situations dites anormales, le
but peut ne pas être satisfait après l'exécution des
actions. Les conditions anormales correspondent soit à
des situations anormales de l'environnement, soit à des
dysfonctionnement de l'agent (des erreurs humaines dans
le cas d'agents humains).
Vol
Avant Décollage
Décollage Montée Croisière Approche Atterrissage
Avant V1
Arrêter l'avion ?
Avant Rotation
Avant V2 + 10
Figure 9. Simple hiérarchie de contextes.
Les conditions contextuelles d'un bloc définissent son
domaine d'applicabilité. Par exemple, les conditions
contextuelles peuvent être un ensemble de conditions
caractérisant une panne, le but courant de l'utilisateur ou
un mélange de conditions intentionnelles ou liées à
l'environnement. Les conditions contextuelles sont
organisées en hiérarchies. Par exemple, en aviation, un
vol est généralement organisé en phases, qui peuvent
être décomposées en sous-phases et finalement chaque
Comptes Rendus de la Conférence Nationale Interaction Homme-Machine, Toulouse, 1995
sous-phase est décrite sous la forme de blocs de
connaissances représentant des procédures (Figure 9).
Dans le contexte d'un vol (racine de la hiérarchie
correspondante de contextes), il y a plusieurs souscontextes (avant-décollage, décollage, etc.). Dans chaque
contexte terminal (par exemple, décollage), un ensemble
de blocs doit être mis en œuvre. Si tout est "normal", le
pilote accélère l'avion jusqu'à une vitesse de décision
appelée V1 après laquelle il ne pourra plus arrêter l'avion
même en cas d'incident majeur. Le pilote exécute le
premier bloc "Avant V1". S'il n'y a pas de condition
anormale déclenchée, il exécute le bloc "Avant
Rotation" et "Avant V2 +10". Si une condition
anormale est satisfaite pendant l'exécution du bloc
"Avant V1", alors il peut décider d'exécuter le bloc
"Arrêter l'avion".
Cette méthode utilisée pour la re-conception de
l'interface profonde du système de gestion de vol des
Airbus a montré son efficacité. Ceci est principalement
dû au fait qu'elle est basée sur le concept d'agent. La
principale difficulté est de déterminer le bon niveau de
granularité pour les FCs. Des compromis doivent être
faits à ce niveau. Cependant, puisque les utilisateurs
(experts) peuvent avoir une perception quasi-réelle de
l'interface du système d'assistance, ils ont la possibilité
d'évaluer la pertinence et l'exactitude de l'AFC. En
particulier, ils peuvent avoir accès au niveau de
granularité de la représentation afin de raffiner en
contexte les fonctions cognitives pertinentes et
nécessaires pour les utilisateurs.
Bloc courant
Vue d’ensemble de la
base de fonctions cognitives
L'analyse en fonctions cognitives
Afin de mieux cerner ces aspects de coopération
Homme-machine, nous avons développé une méthode
d'analyse en fonctions cognitives basée sur la notion
d'agent [7; 9]. Nous considérons que chaque fonction
(agent) mise en jeu dans l'accomplissement d'une tâche
peut être représentée par un bloc de connaissances [4].
Ces fonctions sont parfois confiées à l'utilisateur,
parfois confiées à la machine. Le problème est de bien
comprendre comment la société d'agents résultante est
organisée en fonction des caractéristiques des Hommes et
des machines. Une fonction cognitive (FC) est définie
comme une fonction qui transforme une tâche (ce que
l'utilisateur doit faire) en une activité (ce que l'utilisateur
fait effectivement). Cette fonction est caractérisée par un
certain nombre de paramètres tels que la charge induite,
la performance, la quantité d'information traitée, sa
demande en vigilance, son contexte d'utilisation, etc. Le
transfert d'une fonction cognitive de l'Homme vers la
machine est communément appelé automatisation. Le
contrôle de ce transfert par la prise en compte de critères
ergonomiques conduit à une automatisation centrée sur
l'Homme [1].
Les fonctions cognitives sont difficiles à expliciter.
L'analyse en fonctions cognitives (AFC) consiste à
raffiner un réseau de FCs par une évaluation de leur
simulation pas-à-pas sur ordinateur. Ce processus
progressif de proposition et d'évaluation de FCs permet
de tester des alternatives. Chaque FC est représentée par
un bloc de connaissances (processeur et base de
connaissances de l'agent correspondant) et une métaphore
d'interface (canaux récepteurs et émetteurs) (Figure 1).
L'enchaînement des blocs est présenté dans une fenêtre,
et les métaphores d'interface dans une autre fenêtre
(Figure 10). La première fenêtre permet au concepteur de
contrôler l'enchaînement des FCs. La seconde permet à
un utilisateur potentiel de donner son avis sur
l'enchaînement cognitif des métaphores à l'écran. Un
travail coopératif peut dont s'installer entre le concepteur
et des utilisateurs potentiels pour concevoir l'interface
profonde. Des outils hypertextes permettent de gérer ce
type de système d'aide à la conception.
Métaphores courantes
Fenêtre du concepteur
Fenêtre d’évaluation
(orientée utilisateur)
Figure 10. Une vue d'une simulation cognitive
utilisant la méthode de l'analyse en fonctions
cognitives.
La méthode AFC consiste en les étapes suivantes :
• définir un premier sous-ensemble de contextes en
utilisant des méthodes d'explicitation classiques du
type interview, brainwriting (Boy, 1991), etc.;
• développer un réseau de blocs de connaissances qui
décrivent les processus de prise de décision des
utilisateurs potentiels dans les contextes définis dans
la première étape;
• faire tourner une simulation cognitive et évaluer sa
pertinence et son exactitude;
• raffiner les contextes courants et les blocs de
connaissances;
• faire tourner une simulation cognitive et évaluer sa
pertinence et son exactitude.
La distinction interaction-tâche
Une fonction cognitive (FC) peut être décomposée en
des fonctions cognitives de granularité plus faible
(décomposition de blocs en sous-blocs). En particulier,
une FC mise en jeu pour accomplir une tâche spécifique
peut être décomposée en deux principales composantes
(Figure 11) : une FC chargée de l'interaction : elle est
liée à la syntaxe utilisée pour accomplir la tâche; une
FC chargée du contenu de la tâche elle-même : elle est
liée à la sémantique utilisée pour accomplir la tâche.
Comptes Rendus de la Conférence Nationale Interaction Homme-Machine, Toulouse, 1995
Fonction cognitive
FC interaction
Tâche
Activité
FC contenu de la tâche
Figure 11. Composantes interaction et contenu
de la tâche d'une fonction cognitive.
Plus l'interface est facile à utiliser et à comprendre,
moins la composante de la fonction cognitive est
complexe. Par exemple, si la tâche est de programmer
un plan de vol en utilisant l'interface actuelle appelée
MCDU, le pilote doit appuyer sur des touches (c'est-àdire, une sous-FC d'interaction est chargée de localiser
les touches, une autre de vérifier son nom, une autre
d'apparier ce nom à l'intention de l'utilisateur, une autre
à la réponse du système sur l'écran de contrôle, etc.),
naviguer dans des menus plus ou moins profonds (bien
souvent la récursivité des menus multiples n'est pas
aisée à percevoir et à comprendre), etc. La composante
interaction de la fonction cognitive globale peut être
complexe. On préférera souvent laisser les FCs relatives
au contenu de la tâche aux utilisateurs alors que les FCs
d'interaction devront le plus possible être confiées à la
machine pour justement rendre l'interaction plus
naturelle (Figure 12).
Certains critères d'évaluation
Le développement de nouveaux outils peut faciliter
l'exécution de telles fonctions cognitives en transférant à
la machine certaines fonctions cognitives effectuées par
l'Homme. Le principal problème est de s'assurer de
l'équilibre de l'interaction entre les différents agents mis
en jeu dans le système Homme-machine résultant. Les
fonctions cognitives sont vues comme des agents
coopérant (en particulier dans la prise de décision). Ceci
veut dire que la plupart des fonctions cognitives relatives
à l'interaction peuvent être confiées à la machine pour
faciliter l'interaction (Figure 12), tandis que les
fonctions cognitives relatives au contenu de la tâche
peuvent être avantageusement conservées par l'Homme.
La formalisation des fonctions cognitives est un
moyen de mieux comprendre et de maîtriser
l'automatisation en fonction d'une liste d'objectifs tels
que la sécurité, la fiabilité, l'économie et le confort. Des
critères plus fins et plus orientés vers la prise en compte
de facteurs humains plus sophistiqués sont actuellement
à l'étude. Nous avons utilisé certains d'entre eux dans
l'étude de la re-conception de l'interface MCDU.
Billings a donné un certain nombre d'attributs pour
caractériser l'automatisation centrée sur l'Homme. Nous
proposons d'utiliser ces attributs comme des critères
d'évaluation d'agents.
• Redevable. L'agent doit informer l'utilisateur de ses
actions et être capable de les expliquer sur demande.
• Subordonné. Sauf dans des situations prédéfinies,
l'agent ne doit jamais prendre le contrôle. Dans ces
situations, on doit pouvoir le déconnecter facilement.
• Prédictible. Le comportement de l'agent doit pouvoir
être anticipé à partir de l'observation et de l'expérience.
• Adaptable. L'agent doit pouvoir être reconfiguré selon
les préférences et les besoins d'une gamme étendue
d'utilisateurs.
• Compréhensible. L'agent doit être intelligible.
• Flexible. L'agent doit pouvoir s'adapter à des
exigences nouvelles, différentes ou changeantes.
• Dépendant. L'agent doit faire ce qu'on lui dit de faire.
Il ne doit jamais faire ce qu'on ne lui a pas dit de faire.
Il ne doit jamais aggraver la situation.
• Informatif. L'agent doit garder l'utilisateur informé
(situational awareness).
• Résistant aux erreurs. L'agent doit empêcher
l'utilisateur de faire des erreurs autant que possible.
• Tolérant aux erreurs. Certaines erreurs se produisent,
même avec des systèmes très fortement résistants aux
erreurs. L'agent doit détecter et minimiser l'effet de ces
erreurs.
Nous avons ajouté à cette liste le critère de simplicité.
Fonction cognitive
humaine
Machine
FC-I
FC-CT
Figure 12. Transfert d'un partie de la composante
interaction d'une fonction cognitive (FC-I) à la
machine.
CONCLUSION ET PERSPECTIVES
L'objectif de cet article était de montrer l'utilité de la
technologie des agents logiciels dans la coopération
Homme-machine pour la prise de décision. Nous avons
montré que l'assistance dans l'acquisition et
l'anticipation (attente) des informations nécessaires à la
prise de décision étaient au moins aussi importantes
sinon plus importantes que l'assistance au traitement des
ces informations.
La méthode d'analyse en fonctions cognitives s'est
révélée très utile et convainquante pour la conception
d'outils d'aide à la décision coopératifs. Basée sur la
représentation par blocs, elle revêt un caractère formel
qui lui confère des propriétés intéressantes comme la
réutilisabilité de certaines séquences de fonctions
cognitives, l'explication a posteriori de décisions de
conception (traçabilité), et la simulation cognitive avec
possibilité d'évaluation aisée par des utilisateurs
potentiels. Nous continuons à développer cette méthode
en l'appliquant à la conception ergonomique des
systèmes dynamiques complexes.
Comptes Rendus de la Conférence Nationale Interaction Homme-Machine, Toulouse, 1995
Carroll et ses collègues ont étudié plusieurs facteurs
influençant l'efficacité des systèmes d'aide à la décision
[12]. Ils ont observé que les opérateurs ont plus de
difficultés à résoudre un problème mettant en jeu des
relations temporelles (planification d'une mission par
exemple) qu'un problème mettant en jeu des relations
spatiales (aménagement d'un bureau par exemple). Ceci
est principalement dû au fait que les relations spatiales
sont facilement représentables graphiquement, alors que
les relations temporelles sont plus difficilement
représentables. Le développement d'aides graphiques
pour la représentation de relations temporelles pour la
prise de décision est donc un axe de recherches à
préconiser.
REMERCIEMENTS
Je tiens à remercier Nathalie Mathé avec qui nous
avons discuté un grand nombre d'idées présentées dans
cet article. D'autres personnes ont contribué de prés ou
de loin au développement du concept d'agent logiciel
pour le contrôle de systèmes complexes et la prise de
décision. Citons Jeffrey Bradshaw, Laurent Coquin,
Gabrielle De Brito, Mario Delail, Erik Hollnagel,
Laurent Karsenty, Morten Lind, Patrick Pleczon, Alain
Rappaport, Valérie Bigot. Qu'ils en soient remerciés.
REFERENCES
1.
2.
3.
4.
Billings, C.E. (1991). Human-Centered Aircraft
Automation: A Concept and Guidelines. NASA
Technical Memorandum 103885, August.
Boy, G.A. (1983). Le système MESSAGE: Un
Premier Pas vers l'Analyse Assistée par Ordinateur
des Interactions Homme-Machine, Le Travail
Humain, 46 (2), pp. 271-286.
Boy, G.A. (1987). Operator assistant systems. In
E. Hollnagel, G. Mancini and D.D. Woods (Eds.)
Cognitive engineering in complex dynamic worls,
Computer and People Series, London: Academic
Press, 85-98. Also in International Journal of ManMachine Studies, 27, pp. 541-554.
Boy, G.A. (1989). The Block Representation in
Knowledge Acquisition for Computer Integrated
Documentation. Proceedings of the 4th AAAISponsored Knowledge Acquisition for KnowledgeBased Systems Workshop, Banff, Canada, 1-6
October.
5.
Boy, G.A. (1991). Intelligent Assistant Systems.
Academic Press, London.
6.
Boy, G.A. & Hollnagel, E. (1993). Cockpit
evolution and human-machine interaction.
EURISCO Report no. T-93-002-GB-VI.
7.
Boy, G.A. & L'Ebraly, H. (1994). Modèle de Tâche
et Représentation de l'Expertise pour la Conception
de Dispositifs d'Interaction Homme-Machine Exemple d'Application en Aéronautique. EURISCO
Report No. T-94-009-VI.
8.
Boy, G.A. (1991). Indexing Hypertext Documents
in Context.Proceedings of the Hypertext'91
Conference, San Antonio, Texas, December.
9.
Boy, G.A. (1995). Supportability-based design
rationale.
Proceedings
of
the
6th
IFAC/IFIP/IFORS/IEA Symposium on Analysis,
Design and Evaluation of Man-Machine Systems.
Boston, MA, USA. June.
10. Boy, G.A. and Delail, M. (1988). Knowledge
acquisition by specialization/structuring: a space
telemanipulation application. Proceedings of the
AAAI Workshop on Knowledge Acquisition, Saint
Paul, Minnesota, USA.
11. Boy, G.A., & Mathé, N. (1989). Operator
Assistant Systems: An Experimental Approach
Using A Telerobotics Application. IJCAI
Workshop on Integrated Human–Machine
Intelligence in Aerospace S y s t e m s , Detroit,
Michigan, USA, August 21.
12. Carroll, J.M., Thomas, J.C., and Malhotra, A.
(1980). Presentation and representation in design
problem solving. British Journal of Psychology,
71, pp. 143-153.
13. Cyert, R.M. et March, J.G. (1963). A behavioral
theory of the firm. Prentice Hall.
14. Dennett, D.C. (1971). Intentional systems. Journal
of Philosophy, 8, pp. 87-105.
15. Dennett, D.C. (1987). The intentional stance.
Bradford Book, The MIT Press.
16. Edwards, W. et Tversky, A. (1967). Decision
Making. Penguin Modern Psychology.
17. Falzon, P. (1986). La communication Hommemachine : Les stratégies de dialogue et le langage
d'interaction. Colloque sur l'Interaction HommeMachine et l'Intelligence Artificielle dans les
Domaines de l'Aéronautique et de l'Espace, ENSAE,
Toulouse, 13-14 octobre.
18. Hammond, K.R. et McClelland, G.H. (1980).
Human judgement and decision making -Theories,
methods, and procedures. Hemisphere Publishing
Corporation.
Comptes Rendus de la Conférence Nationale Interaction Homme-Machine, Toulouse, 1995
19. Karsenty, L. & de Brito, G. (1995). L'Utilisation
des procédures écrites dans un système complexe :
le cockpit d'un avion de ligne. Rapport Technique
EURISCO No. T-95-016-V2.
20. Kjaer-Hansen, J. (1991). Decision structure of
multi-agent systems. PhD Thesis. Institute of
Automatic Control Systems, Servolaboratoriet,
Technical University of Denmark.
21. Mathé, M. (1990). Intelligent Assistance to Process
Control: A Space Telemanipulation Application (In
French). PhD Thesis Dissertation. ENSAE,
Toulouse, France.
22. Moll, T.H. & Sills, D.L. (1981). The Three Mile
Island Nuclear Accident: Lessons and Implications.
New York, NY: Academic Press.
23. Minsky, M. (1985). The Society of Mind.
Touchstone Simon and Schuster.
24. Norman, D.A. (1992). Turn Signals are the Facial
Expressions of Automobiles. Addison Wesley,
Reading, Massachusetts.
25. Pleczon, P. (1992). Methodological elements and
tools for intelligent assistance: Application to car
driving (in French). PhD Thesis Dissertation.
ENSAE, Toulouse, France.
26. Patterson, T.T. (1969). Management theory.
London: Business Publications Ltd.
27. Rasmussen, J. (1983). Skills, rules, knowledge:
Signals, signs and symbols and other distinctions
in human performance models. IEEE Transactions
on Systems, Man and Cybernetics, SMC-13, pp.
257-267.
28. Simon, H.A. (1977). The new science of
management decision. Engelwood Cliffs, N.J.,
Prentice Hall.
29. Tognazzini, B. (1993). Principles, techniques, and
ethics of stage magic and their application to
human interface design. Human Factors in
Computing Systems INTERCHI'93 Conference
Proceedings, pp. 355-362.
30. Wielinga, B., Van de Velde, W., Schreiber, G. &
Akkermans, H. (1992). The CommonKADS
Framework for Knowledge Modelling. Proceedings
of the Seventh Knowledge Acquisition for
Knowledge-Based Systems AAAI Workshop,
Banff, Canada, October.
31. Wilensky, R. (1983). Planning and understanding.
A computational approach to human reasoning.
Addison-Wesley Pub. Company.
32. Zachary (1988). Decision support system:
Designing to extend the cognitive limits. Handbook
of Human-Computer Interaction. Martin Helander
(Ed.), Elsevier Science Pub., North Holland, pp.
997-1030.