Les lignes de produits pour la gestion de la variabilité comportementale et la réutilisabilité en ingénierie multi-agents

Contexte : MAS-PL : Multi-Agent System Product Lines
======================================================
La variabilité logicielle dans les systèmes multi-agents (SMA) est définie par la capacité d’un SMA de varier et
de s’adapter en fonction de plusieurs facteurs de variation. Ces facteurs peuvent être techniques (utilisation d’une
variété d’outils associés aux SMA) ou fonctionnelles (des SMAs qui diffèrent en terme de fonctionnalités).
La gestion de la variabilité dans les SMA a été déjà identifiée par la communauté SMA comme une
problématique majeure et plusieurs solutions ont été déjà proposées [6]. L’une des solutions les plus
prometteuses est la proposition de cette notion de MAS-Product Line (MAS-PL) qui permet de considérer une
famille de SMA similaires et appartenant au même domaine. MAS-PL est l’application de l’approche ingénierie
des lignes de produits, initialement étudiée dans le domaine du génie logiciel, pour la gestion de la variabilité des
SMA.
L’ingénierie des lignes de produits logiciels (LdP) [1,2] est une approche du génie logiciel qui a commencé à
s’imposer ces dix dernières années. Le principe de l’approche LdP réside dans la conception d’une architecture
permettant de définir plusieurs logiciels à la fois. La gestion de la variabilité est l’une des activités clé des lignes
de produits. Une autre activité dans l’ingénierie des LdP concerne la construction d’un produit logiciel (on parle
aussi de dérivation de produit ) qui consiste en partie à figer certains choix vis-à-vis de la variabilité définie dans
la ligne de produits pour générer un produit spécifique. La Figure 1 illustre le schéma général de l’approche LdP.

Plusieurs méthodes, souvent intégrées dans des outils,
ont été proposées ces dernières années pour la manipulation des LdP [1,2].
L’idée de base de ces travaux consiste à implémenter les deux axes ci-dessus à
savoir : 1) proposer des mécanismes pour la spécification de la variabilité, et 2) automatiser la dérivation de
produits en utilisant les transformations de programmes et/ou de modèles. L’équipe MoVe a une très large
expertise dans le domaine de l’ingénierie des lignes de produits logiciels.
Dans le cadre d’une première collaboration entre les équipes MoVe et SMA (Projets LIP6 en 2013, 2014 et
2017), nous avons proposé une approche outillée permettant de développer des MAS-PL. La contribution
principale de cette approche réside dans l’automatisation de l’étape de la dérivation de plusieurs variantes d’une
même famille de SMA [3,4]. Cependant la variabilité considérée jusqu’à maintenant ne concerne que l’aspect
structurale (statique) d’un SMA (variation d’un composant d’un agent, changement d’un protocole
d’interaction…). En effet, l’approche proposée n’a traité que l a structure d’un SMA en terme de properties et de
caractéristiques..

II. Objectifs
==============
Dans ce projet, nous souhaitons explorer l’utilisation des lignes de produits pour la gestion de la
variabilité comportementale . Nous souhaitons nous intéresser à la variabilité des différentes interactions des
agents telles l’interaction agent-agent, l’interaction agent-environnement, l’interaction avec l’utilisateur final ou
l’interaction avec un autre SMA.). Notre objectif est ainsi d’étudier les interactions dans différents contextes. Le
but est ainsi de développer une plate-forme pour gérer les interactions entre les utilisateurs et les SMA avec une
prise en charge de la variabilité comportementale. Nous allons en effet réaliser des agents assistants qui sont eux
mêmes des SMA; Ces agents assistants sont dotés de capacités cognitives de haut niveau (raisonnement,
apprentissage, planification, modélisation et représentations des personnalités, affects, émotions des
utilisateurs..). Dans ce contexte, la variabilité comportementale joue un rôle important pour permettre d’adapter
et varier le comportement de ces agents assistants sophistiqués en fonction de l'environnement.
La gestion de cette variabilité comportementale nous permettra d’atteindre 2 objectifs :
1/ Identifier la variabilité concernant les interactions par une analyse d’une famille de SMA .
2/ Spécifier explicitement cette variabilité pour faciliter la réutilisation dans d’autres SMA.
L’ingénierie orientée agents et SMA nous permettra d’atteindre les objectifs suivants :
3/ Proposer des “design patterns” agents et SMA (en intégrant les résultats des deux premiers défis )
pour concevoir les agents assistants et leurs interactions.
4/ Valider notre approche sur une étude de cas de “troc intelligent” permettant à divers utilisateurs
d’échanger des objets à travers une plate-forme multi-agents jouant le rôle d’un tiers de confiance.

Méthodologie
==============
Pour adresser le premier objectif, nous explorerons l’approche ascendante pour
l’analyse des protocoles d’interaction dans la famille de SMAs considérée. L’objectif étant d’identifier
explicitement la partie commune et la partie variable au sein de ces protocoles d’interaction.
Une première méthode ascendante pour la construction des lignes de produits a été déjà implémentée au sein de
l’équipe MoVe. Cette approche est intégrée dans le prototype BUT4Reuse ( http://www.but4reuse.org ).
BUT4Reuse [5] consiste à identifier à partir d’artefacts logiciels similaires les éléments communs et variables.
Nous souhaitons dans ce projet intégrer à BUT4Reuse un nouveau adaptateur permettant d’extraire la variabilité
comportementale.

Pour atteindre le deuxième objectif, nous proposons d’utiliser les notations standards de lignes de produits
comme les feature models pour décrire explicitement la variabilité comportementale. BUT4Reuse permet de
visualiser et de manipuler ces modèles une fois que le nouvel adaptateur est implémenté.
Pour atteindre le troisième objectif nous envisageons l’utilisation de la notion de design pattern pour capturer
les connaissances concernant cette variabilité. Un design pattern peut être défini par un motif qui représente une
solution générique pour un problème récurrent. Les design patterns ont été déjà utilisés dans le domaine de
SMAs [7] mais à notre connaissance, leur utilisation n’a été effective jusqu’à maintenant que pour capturer la
variabilité comportementale dans les MAS-PL.
Par ailleurs, la spécification formelle des protocoles d’interaction a déjà été étudiée [8]. Cette étude montre
comment transformer des protocoles d’interaction spécifiés au moyen du semi-formalisme AUML [] en Réseaux
de Petri Colorés et comment les valider formellement pour démontrer leurs bonnes propriétés.
Dans ce projet, nous souhaitant aller au delà de la spécification formelle en proposant des LP pour générer leurs
codes.

Enfin le 4ème objectif sera atteint par la mise en place d’une plate-forme expérimentale . Cette plateforme sera
intégrée avec le prototype BUT4Reuse pour proposer une chaîne complète.

Références
================
[1] Klaus Pohl, Günter Böckle , Frank van der Linden : Software product line engineering - foundations,
principles, and techniques. Springer 2005, isbn 978-3-540-24372-4, pp. I-XXVI, 1-467.
[2] Apel, S. B et al..Feature-oriented software product lines: concepts and implementation. Springer, 2013.
[3] Casare Sara, Ziadi Tewfik, Brandão Anaroa, Guessoum Zahia : “ Meduse: an Approach for Tailoring
Software Development Process ”, 21st International Conference on Engineering of Complex Computer Systems
(ICECCS 2016 ), Dubai, United Arab Emirates, pp. 197-200 (2016)
[4] D. Boufedji, Z. Guessoum, A. Brandão, T. Ziadi, A. Mokhtari : “ Towards a MAS Product Line
Engineering Approach ”, 5 th International Workshop on Engineering Multi-Agent Systems (EMAS
2017), vol. 10738, Lecture Notes in Artificial Intelligence, Sao Paulo, Brazil, pp. 161-179,
(Springer) (2017)
[5] J. Martinez, T. Ziadi, T. Bissyandé, J. Klein, Y. Le Traon : “ Bottom-Up Adoption of Software Product Lines
- A Generic and Extensible Approach ”, 19th International Software Product Line Conference (SPLC), Nashville,
TN, USA, pp. 101-110, (ACM), (ISBN: 978-1-4503-3613-0) (2015)
[6] Peana, J., Hinchey, M.G., Ruiz-Cort´es, A.: Multi-agent system product lines: challenges and benefits.
Communications of the ACM 49(12), 82–84 (2006).
[7] Growin, Joanna & Weyns, Danny & Holvoet, Tom. (2014). Design Patterns for Multi-agent Systems: A
Systematic Literature Review. Agent-Oriented Software Engineering: Reflections on Architectures,
Methodologies, Languages, and Frameworks. 9783642544323. 79-99. 10.1007/978-3-642-54432-3_5.
[8] Hamza Mazouzi , Amal El Fallah-Seghrouchni, Serge Haddad : Open protocol design for complex interactions
in multi-agent systems. AAMAS 2002 : 517-526
[9] Arthur Casals, Amal El Fallah-Seghrouchni, and Anarosa A. F. Brandão. 2018. Augmented Agents:
Contextual Perception and Planning for BDI Architectures. In Engineering Multi-Agent Systems , Amal El
Fallah-Seghrouchni, Alessandro Ricci, and Tran Cao Son (Eds.). Springer International Publishing, Cham, 38–55

Lieu: 
LIP6
Thématiques: 
Encadrant: 
Zahia Guessoum
Co-Encadrant: 
Tewfik Ziadi
Référent Universitaire: 
n/a
Attribué: 
No
Année: 
2 019
Deprecated: 
No

User login