La plate-forme MAST ( Multi Agent System
Toolkit)
O. Boissier, P.
Beaune, C. Sayettat, T. Carron, F. Gaultier, M. Hannoun,
H. Proton, L. Vercouter.
Equipe SMA/Ecole Nationale Supérieure des Mines de Saint-Etienne
Contact : OIivier.Boissier@emse.fr
Caractéristiques
générales
La plate-forme
MAST est un environnement de développement et de programmation orientée
multi-agents. Elle a deux objectifs : (i) fournir un environnement de développement
pour construire des applications multi-agents (analyse, conception et programmation),
(ii) fournir une infrastructure d?exécution répartie et de
test des applications multi-agents développées (validation,
test, exploitation). Aucun type d?application n?est a priori privilégié.
Les services suivants sont offerts au programmeur :
(i) un environnement
d?exécution répartie des agents et de différents logiciels
interopérant au travers de la plate-forme (DEMAS),
(ii) des outils
d?observation, de mise au point et de test tant pour les agents que pour
le système, ainsi que des outils d?administration d?une application
multi-agents (AdMAS)
(iii) des
modèles réutilisables permettant d?organiser les traitements,
de définir la structure d?échange commune, de définir
les schémas de contrôle en termes de modèles d?Agent,
d?Environnement, d?Interaction, d?Organisation (GeMAS), (iv) des interfaces
de développement d?applications multi-agents selon une méthodologie
d?analyse et de conception (MeMAS). Elle constitue naturellement une infrastructure
dans laquelle s?intègrent les travaux menés dans les axes
de recherche
de l?équipe.
MAST est actuellement
en cours de développement. Une première maquette a été
utilisée pour développer quelques applications tests à
l?Université de São Paulo et au sein du laboratoire. Ecrite
en Java (1.2), elle permet d?intégrer différents langages
tels que Jess, Clips, C++, Prolog, Tcl/tk. Elle s?exécute sur stations
SUN et PCs, sous Solaris 2.x, Linux ou Windows.
Modèles
multi-agents
C?est dans la composante
GeMAS que se situent différents outils pour concevoir les agents
et le SMA lui-même. Le concepteur choisit dans des bibliothèques
de modèles individuels, d?organisations, d?interactions et d?environnements.
-Le type d?agent disponible
est pour le moment essentiellement délibératif. Le type des
connaissances, des compétences ainsi que
les modèles de raisonnement disponibles dépendent fortement
du
modèle d?agent choisi. L?adaptabilité est un aspect en cours
de développement : des modèles
individuels seront partiellement spécifiés pour permettre
l?utilisation de techniques
d?apprentissage notamment en ce qui concerne la représentation des
autres agents (en cours de
développement). Des modèles temporels sont également
en cours de réalisation.
-Actuellement les outils
d?organisation disponibles sont un langage de représentation de
structures
organisationnelles, des calculs de dépendances selon la théorie
de la dépendance et de dépendances
temporelles, des mécanismes de raisonnement sur l?organisation et
la réorganisation. Le langage
de représentation des structures organisationnelles permet de définir
des structures
organisationnelles explicites, dynamiques et de différents types
selon la volonté du concepteur ou
des agents eux-mêmes (réorganisation).
-Les outils d?interaction
disponibles permettent une communication directe entre agents hétérogènes
(modèles différents, langages d?implémentation différents,
...). Les agents peuvent communiquer
avec tous les autres agents moyennant la structure organisationnelle définie.
Plusieurs langages
d?interaction basés sur les actes de langage sont disponibles. Ils
intègrent notamment des aspects
temporels. Les protocoles d?interaction sont définis de manière
explicite par graphes d?états
-Actuellement aucun
outil de définition de l?environnement n?est disponible. Celui-ci
est défini au
cas par cas pour chacune des applications.
Aucune limite n?est
fixée sur le nombre d?agents. Les modèles de coopération
disponibles dépendent
des structures organisationnelles
et des protocoles définis.
Caractéristiques
physiques
Selon
le modèle d?agent choisi, l?architecture disponible dans la bibliothèque
de modèles individuels de GeMAS peut être implémentée
en C++, Java, Jess, Clips ou Prolog. Les représentations et les
mécanismes de raisonnement sur l?organisation, l?interaction et
l?environnement choisis dans les autres bibliothèques viennent enrichir
cette architecture pour constituer un agent capable de coopérer
dans le système. Ainsi la représentation de l?organisation
et les mécanismes de raisonnement correspondants sont distribués
au sein de chacun des agents. L?organisation peut être définie
et figée par le concepteur de l?application ou évoluer en
fonction des besoins des agents. Le moteur d'interaction est également
distribué au sein de chacun des agents. Actuellement la mobilité
du code n?est pas prise en compte dans la plate-forme.
La
plate-forme permet de répartir le SMA sur un parc de machines hétérogènes,
fonctionnant sur DEMAS, middleware agent disponible au sein de la plate-forme.
Actuellement, les aspects tolérance aux pannes, temps réel
ne sont pas pris en compte.
Environnement
de développement
L?aspect méthodologie d?analyse et de conception est en cours
de développement au travers de l?environnement de développement
MEMAS qui doit permettre d?accéder aux différents outils
offerts. Actuellement aucun langage de description d?agents n?est disponible.
Il n?est cependant pas nécessaire de connaître le langage
de programmation dans lequel la plate-forme est écrite, mais celui
dans lequel l?architecture du modèle d?agent est écrite.
En revanche pour les aspects organisation et interaction une description
de haut niveau est possible (définition graphique et dans un langage
indépendant de
l?implantation réelle).
Une documentation dédiée est disponible : aide en ligne
pour certaines parties, manuel d?installation et d?utilisation. Des articles
de recherche décriventdifférents points particuliers. Un
prototype d?outil d?administration, de configuration et de lancement est
disponible dans AdMAS. De même, il est possible, actuellement, d?observer
l?exécution du système, uniquement en terme
d?échanges de messages entre les agents, ou au sein du middleware.
A terme, il sera possible d?observer l?état de raisonnement des
agents, les organisations existantes, les exécutions de protocoles.
Actuellement le concepteur peut utiliser les modèles et les outils
fournis par la plate-forme afin de développer son application. Il
pourra également s?il le souhaite et s?il en a les compétences,
enrichir les outils et les modèles. L?utilisateur d?une application
peut adapter le système multi-agents (application) à ses
besoins en terme d?exécution à l?aide de l?outil de configuration
et de lancement. La plate-forme étant en cours de développement,
la fréquence des nouvelles versions est élevée. Le
support technique est assuré par l?équipe.
Publications