Proposition de Stage de DEA
Encadrants : Christelle Urtado – Sylvain Vauttier
Lieu du stage : Laboratoire de Génie Informatique et
d'Ingénierie
de Production (LGI2P) - Ecole des Mines d'Alès - Nîmes
Titre : Modèle
de composants pour le développement d'agents logiciels.
Motivation :
La programmation à base de composants et d’agents sont des
paradigmes distincts qui proposent
des solutions pour le développement d’applications complexes.
Les composants sont des briques réutilisables de logiciels
développés par la recherche en génie logiciel pour
faciliter le développement d'applications distribuées
multi-tiers (architectures client-serveur hiérarchisées).
Ils sont décrits par un ensemble d'interfaces d'entrée et
de sortie et permettent le développement d'applications par
simple assemblage, c'est-à-dire la connexion des interfaces des
composants.
Les agents sont des entités actives, capables de percevoir leur
environnement, de raisonner sur cet environnement et d'agir de leur
propre initiative sur cet environnement. Ils ont été
développés pour répondre à des
problématiques de résolution de problèmes
(intelligence artificielle distribuée) ou de simulation
(écosystèmes, systèmes sociaux, ...).
Les travaux sur l'utilisation des agents pour le génie logiciel
sont plus récents et comparativement peu nombreux. Ainsi, les
modèles actuels de composants n'offrent pas de solution
dédiée au développement d'agents logiciels dans
les applications multi-tiers. Les modèles les plus
avancés commencent simplement à intégrer la
gestion d'interactions asynchrones entre les composants. Pourtant les
avantages (support de la concurrence, faible couplage, autonomie)
procurés par l'intégration d'agents aux applications
distribuées sont nombreux en matière de performance, de
fiabilité, d'ouverture, de mobilité, de
maintenance, de déploiement, ...
Pour répondre à ce besoin, nous souhaitons concevoir un
modèle de composants actifs, c'est-à-dire
d'entités qui se définissent et se manipulent comme des
composants mais qui se comportent comme des agents.
Travail à réaliser :
Le travail consistera dans un premier temps en une
étude bibliographique sur la notion de composants (concurrence,
asynchronisme, message-oriented middleware) et d'applications des
agents pour le génie logiciel afin de cerner les hybridations
possibles entre ces deux paradigmes de programmation. Un
deuxième temps consistera à définir un
modèle de composants permettant le développement et
l'utilisation d'agents dans une plateforme de développement
à base de composants typique, soit en se basant sur un standard
industriel (Java Enterprise, Corba 3.0), soit sur un projet de
recherche existant (Fractal, SOFA). Une maquette du modèle
pourra être réalisé à l'aide d'une
implémentation open-souce de ces plateformes.
Bibliographie :
A venir…