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’inspirant des travaux existants, de concevoir et mettre en œuvre un agent de supervision permettant aux utilisateurs de suivre dynamiquement le comportement des protocoles en cours d’exécution sur la plateforme JADE [5]. Cet agent de supervision aura ainsi la capacité de voir passer tous les messages des agents qui lui sont rattachés et de signaler les éventuels dysfonctionnements détectés.
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. Conception d’un comportement d’agent permettant de charger dans la mémoire de l’agent de supervision la description d’un protocole donné à partir d’une description du protocole sous la forme d’un diagramme de séquence 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. Conception du mécanisme de vérification d’un protocole en cours d’exécution par 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. Ce sujet pourra donner suite à un stage de 2 mois cet été.

***
Nombre d’étudiants : 2-3
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é: 
Yes
Deprecated: 
No

User login