Aspects Comportementaux et Tissage

La séparation de préoccupations transverses permet au concepteur de logiciels d'avoir un meilleur contrôle sur les variations et les évolutions du logiciel. Dans le domaine de la programmation, cette idée a été popularisée par le langage AspectJ, mais aujourd'hui, la communauté aspect s�...

Full description

Bibliographic Details
Main Author: Klein, Jacques
Language:FRE
Published: Université Rennes 1 2006
Subjects:
MDE
IDM
Online Access:http://tel.archives-ouvertes.fr/tel-00538382
http://tel.archives-ouvertes.fr/docs/00/53/83/82/PDF/klein06c.pdf
Description
Summary:La séparation de préoccupations transverses permet au concepteur de logiciels d'avoir un meilleur contrôle sur les variations et les évolutions du logiciel. Dans le domaine de la programmation, cette idée a été popularisée par le langage AspectJ, mais aujourd'hui, la communauté aspect s'intéresse aussi à opérer cette séparation plus tôt dans le cycle de développement: dès les phases d'analyse/conception et même d'expression des besoins. Dans cette optique, cette thèse propose une technique permettant de tisser des comportements décrits sous forme de scénarios dans un modèle de base de scénarios. Le processus de tissage se décompose en deux phases. Tout d'abord, une phase de détection permettant d'identifier des parties particulières d'un modèle de base où un aspect doit être tissé, puis une phase de composition permettant de construire le modèle voulu. Ces deux phases sont détaillées dans cette thèse. En particulier, nous proposons plusieurs sémantiques de détection dans des scénarios finis. Certaines de ces sémantiques favorisent le tissage d'aspects multiples. Nous proposons également un algorithme de détection dans des scénarios infinis, fondé sur l'analyse statique de la sémantique des scénarios (qui est dynamique), ce qui revient à proposer un tissage statique d'aspects dynamiques. Pour fusionner des scénarios, nous proposons plusieurs opérateurs de composition, définis formellement, permettant d'obtenir des résultats cohérents. Finalement, nous décrivons l'implantation du tisseur de scénarios proposé dans l'environnement Kermeta, et nous montrons son utilité à travers des cas d'application.