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


[1]AlloucheM., Une société d?agents temporels pour la supervision de systèmes industriels, Thèse de
Doctorat, Université Jean Monnet / ENSM.SE - Octobre 1998
[2]Boissier O., Demazeau Y. : Une architecture multi-agent pour l?intégration et la coopération de
traitements visuels, TSI. - Technique et Science Informatique,vol. 16, n° 8, oct. 97, pp. 1039 à 1062.
[3]Hannoun M., Boissier O., Sichman J., Sayettat C. : MOÏSE : un modèle organisationnel pour la
conception de systèmes multi-agents. 7èmes journées francophones IADSMA, La Réunion,
novembre 1999.
[4]Carron T, Proton H., Boissier O. : « A Temporal Agent communication language for dynamic
Multi-Agent Systems », MAAMAW?99 (Modelling Autonomous Agents in a Multi-Agent World,
Espagne, juillet 1999.
[5]Vercouter L., Beaune P., Sayettat C. : « Apprentissages dans les SMA », JFIADSMA?98 - Journées
Francophones sur Intelligence Artificielle Distribuée et les Systèmes Multi-Agents, novembre 1998,
Pont à Mousson
[6]Hannoun M., Sichman J.S., Boissier O., Sayettat C. : « Dependence Relations between Roles in a
Multi-Agent System », workshop on Multi-agent systems and Agent-Based Simulation
(MABS?98), Cité des Sciences - La Villette, 4-6 juillet 1998, Paris, France.