Introduction au toolkit Zeus
Auteur Muthanna Alshoufi
Notre Zeus, que nous présentons ici, n'est pas ce dieu absolu
dominant le ciel et la terre par son énorme puissance selon la
mythologie grècque. Et pourtant Zeus est une plateforme
développée par British Telecom (Agent Research Programme
of BT Intelligent Research Laboratory), c'est Un toolkit très
avancé servant à développer et construire des
applications à agents collaboratifs. Ce type d'agents
coopératifs est assez complexe du fait qu'ils peuvent
avoir des modèles internes riches et en même temps
s'exécuter dans un environnement ouvert ou restreint au niveau
du temps.
Zeus définie la méthodologie du design d'un
système multi agents, offre un environnement intégré pour capturer la pécification d'agent fournie par l'utilisateur, et
génère automatiquement le code source exécutable
de l'agent spécifié.
Zeus a
été développé pour deux raisons fondamentales:
- Le besoin croissant d'un toolkit générique,
personnalisable, et fort industriellement pour construire des systèmes multi-agents distribués.
- Faciliter l'ingénierie d'agents, et accélérer
le processus de développement en encourageant la
réutilisation du code et la standardisation de la technologie
d'agents.
La philosophie du design de Zeus a exigé que le TOOLKIT
encapsule les principes suivants :
- Primo, il devrait clairement délinéer entre
résoudre le problème domain-level et la
fonctionnalité agent-level. Celle-ci couvre les issues
multi-agents indépendantes de l'application telles que la
communication,la coordination, l'exécution de tâche et
surveillance, tolérance aux pannes, etc. Tandis que la solution
du problème domain-level couvre l'acquisition, la
représentation et l'utilisation de connaissance du domaine
spécifié. Ainsi, le TOOLKIT fournie les
développeurs d'agents par toutes les fonctionnalités
agent-level de manière qu'ils n'aient besoin que de fournir le
code implémentant la capacité de résoudre le problème du domaine spécifié par les agents qu'ils définissent.
- Secundo,l'utilisation du TOOLKIT devrait être basée
sur une métaphore à manipulation directe où que
ce soit faisable.Cette métaphore à interaction homme
ordinateur est assumée par le pattern de programmation
visuelle et le principe de pick-and-choose. Et ainsi, il a
été nécessaire que le TOOLKIT supporte le
processus de création d'agent en offrant des menus structurés de manière que les développeurs d'application puissent configurer
la fonctionnalité et les modalités de leurs agents en
sélectant des items du menu convenable.
- Tertio, le TOOLKIT devrait supporter un design ouvert pour
garantir une extensibilité aisée. Donc, il faut que les
utilisateurs experts soient capables de facilement rajouter à
la librairie des composants niveau-agent, et configurer de nouveaux
agents s'appuyant sur une combinaison des composants définis
par l'utilisateur et ceux fournis par le système.
- Quarto, le TOOLKIT devrais se baser sur des composants
standardisés, la standardisation dans les applications
multi-agents adresse agent-agent, agent-legacy software, et les
interactions agent-utilisatuer qui utilisent une ACL
standardisée.
Vu par l'utilisateur et ses
exigences, le TOOLKIT permet aux utilisateurs de :
- Configurer un nombre de différents agents, de
différentes fonctionnalités et de comportements
variés.
- Organiser les agent de manière quelconque en implémentant les relations organisationnelles fournies par le systèmes.
- Fournir chaque agent avec le code de solution de problème d'application lui étant approprié.
- Générer automatiquement les exécutables pour les agents.
- Fournir des agents prédéfinis pour la
découverture d'information, tels que les agents facilitateurs
et les agents nameserver.
À partir des hypothèses principales supposées
à l'égard du comportement de l'agent, on trouve que les
agents sont :
- délibératifs, but-orientés et
rationnels.
- toujours fidèles lors de la communication avec les autres agents.
- versatiles, les agents peuvent avoir de nombreux objectifs et
s'engager dans une diversité de tâches.
- continus provisoirement.
Donc, il faut que les agents soient délibératifs dans
le sens où ils devraient explicitement raisonner sur leurs
actions pour déterminer quels sont les objectif à
achever, quand adopter de nouveaux objectifs, et quand abandonner les
objectifs existants.
Les domaines typiques d'applications d'agents semblent être les
domaines orientés-tâche tels que l'approvisionnement de
service, la gestion resource/processus, et la fourniture de gestion
d'asservissement. Ces domaines-ci disposent des caractéristiques
importantes :
- Etant donné un objectif, l'agent crée un plan
d'action pour accomplir la tâche, et tels plans
nécessitent un raisonnement sur les pré conditions et
les effets des actions de domaine disposant d'un temps limité et d'autres ressources.
- Une solution optimale du problème exige une coopération entre agents.
- L'environnement de l'agent est dynamique, alors que le taux de
changement de l'environnement est au moins d'une grandeur d'ordre inférieur au temps de raisonnement de l'agent.
- Finalement, le rôle des agents dans un tel domaine est
typiquement le raisonnement sur comment et quand configurer, activer
ou désactiver les systèmes externes achevant le vrai
travail dans le domaine. En réalité, l'agent
possède un modèle logique du système externe
qu'il utilise afin de contrôler le système
entièrement.