Analyse et vérification en-ligne de protocoles multi-agents

De par la nature distribuée des protocoles multi-agents, leurs concepteurs rencontrent fréquemment des difficultés à s’assurer de la bonne mise en œuvre d’un protocole donné, même si son comportement théorique est bien défini. En effet, si un protocole de communication faisant intervenir 2 agents est relativement aisé à implémenter sans erreur, la situation devient plus complexe lorsque plusieurs dizaines d’agents échangent par le biais d’un même protocole, ou que plusieurs protocoles s’exécutent simultanément.

Les travaux existants [1,2,3] sont difficilement déployables et utilisables, car nécessitant une configuration et un langage de description spécifiques. L’objectif de ce sujet est, en s'appuyant sur le travail réalisé l'année passée, d'enrichir le comportement d'un agent de supervision afin de permettre aux utilisateurs de suivre dynamiquement le comportement des protocoles en cours d’exécution sur la plateforme JADE [5]. L'agent de supervision a la capacité de voir passer tous les messages des agents qui lui sont rattachés. Il lui faut maintenant détecter, identifier et signaler les éventuels dysfonctionnements.
Cet agent de supervision sera déployé et testé au sein de la plateforme multi-agent DEDALE [4], développée au sein de l’équipe Systèmes Multi-Agents.

Les tâches à réaliser sont donc :
1. Analyse de la littérature sur cette problématique
2. Analyse et prise en main du travail/code existant
2. Extension des types de protocoles actuellement chargeables dans la mémoire de l’agent de supervision (à partir d’une description au format plantuml [6]).
3. Conception de l’interface graphique (JavaFx) de l’agent de supervision permettant de visualiser dynamiquement le déroulement d’un protocole donné.
4. Refonte du mécanisme de vérification d’un protocole en cours d’exécution permettant la mise en correspondance des messages observés avec ceux attendus.
5. Tests sur des protocoles simples: 2 agents, puis n agents.
6. Tests dans des situations complexes (plusieurs protocoles s’exécutant en même temps).

La gestion de projet suit la méthodologie agile Scrum et le code développé est open-source. Une attention particulière sera apportée aux tests et à la rédaction (en anglais) de la documentation technique et fonctionnelle associée au code fourni. Le travail fourni sera disponible sur gitLab. En cas de travail abouti, une publication dans un workshop est envisageable.
Ce sujet pourra donner suite à un stage de 2 mois cet été.

***
Nombre d’étudiants : 2
Contact : Envoyer CV à Cédric Herpson - cedric.herpson@lip6.fr
***

[1] Briola, D., Mascardi, V., & Ancona, D. (2015). Distributed runtime verification of JADE multiagent systems. In Intelligent Distributed Computing VIII (pp. 81-91). Springer, Cham.
[2] Baldoni, Matteo, Cristina Baroglio, and Federico Capuzzimati. "2COMM: A commitment-based MAS architecture." International Workshop on Engineering Multi-Agent Systems. Springer, Berlin, Heidelberg, 2013.
[3] Java-sniffer,  stand alone Java application that can remotely connect to running JADE systems and is intended as a more powerful alternative to JADE’s built-in sniffer https://jade.tilab.com/dl.php?file=JavaSniffer2.7.zip
[4] https://dedale.gitlab.io/
[5] http://jade.tilab.com/
[6] https://plantuml.com/fr/sequence-diagram

Encadrant: 
Cédric Herpson
Nombre d'étudiants: 
2
Attribué: 
No
Deprecated: 
Yes

User login