Un interpréteur extensible pour le prototypage des langages d'aspects

L'intérêt de l'utilisation de différents langages d'aspects pour faire face à une variété de préoccupations transverses dans le développement de systèmes logiciels complexes est reconnu. Il faudrait être capable d'utiliser plusieurs de ces langages dans un seul logiciel donné. Ce...

Full description

Bibliographic Details
Main Author: Assaf, Ali
Language:ENG
Published: Université de Nantes 2011
Subjects:
Online Access:http://tel.archives-ouvertes.fr/tel-00726510
http://tel.archives-ouvertes.fr/docs/00/72/65/10/PDF/Assaf-phd2011.pdf
id ndltd-CCSD-oai-tel.archives-ouvertes.fr-tel-00726510
record_format oai_dc
spelling ndltd-CCSD-oai-tel.archives-ouvertes.fr-tel-007265102013-10-15T03:02:39Z http://tel.archives-ouvertes.fr/tel-00726510 http://tel.archives-ouvertes.fr/docs/00/72/65/10/PDF/Assaf-phd2011.pdf Un interpréteur extensible pour le prototypage des langages d'aspects Assaf, Ali [INFO:INFO_SE] Computer Science/Software Engineering [INFO:INFO_PL] Computer Science/Programming Languages programmation par aspects interpréteur sémantique prototypage composition langage d'aspects dédié L'intérêt de l'utilisation de différents langages d'aspects pour faire face à une variété de préoccupations transverses dans le développement de systèmes logiciels complexes est reconnu. Il faudrait être capable d'utiliser plusieurs de ces langages dans un seul logiciel donné. Cependant, d'une part la phase de développement d'un nouveau langage dédié capturant tous les patrons de programmation du domaine prend beaucoup de temps et, d'autre part, le concepteur doit gérer les interactions avec les autres langages quand ils sont utilisés simultanément. <br/> Dans cette thèse, nous introduisons un support pour le prototypage rapide et la composition des langages d'aspects, basé sur des interpréteurs. Nous partons d'un interpréteur d'un sous-ensemble de Java en étudiant et en définissant son extension modulaire afin de supporter la programmation par aspects en se basant sur une sémantique d'aspects partagée. Dans l'interpréteur d'aspects, nous avons implémenté des mécanismes communs aux langages d'aspects en laissant des trous à définir pour implémenter des langages d'aspects concrets. La puissance de cette approche est de permettre d'implémenter directement les langages à partir de leur sémantique. L'approche est validée par l'implémentation d'une version légère d'AspectJ. <br/> Pour appliquer la même approche et la même architecture à Java sans modifier son interpréteur (JVM), nous réutilisons AspectJ pour effectuer une première étape de tissage statique, qui est complétée par une deuxième étape de tissage dynamique, implémentée par une mince couche d'interprétation. C'est un exemple montrant l'intérêt qu'il peut y avoir à concilier interprétation et compilation. Des prototypes pour AspectJ, EAOP, COOL et des langages dédiés simples, valident notre approche. Nous montrons le caractère ouvert de notre implémentation d'AspectJ en décrivant deux extensions: la première permet l'ordonnancement dynamique des aspects, la deuxième propose des sémantiques alternatives pour les points de coupe. Les langages d'aspects implémentés avec notre approche peuvent être facilement composés. En outre, cette composition peut être personnalisée. 2011-10-21 ENG PhD thesis Université de Nantes
collection NDLTD
language ENG
sources NDLTD
topic [INFO:INFO_SE] Computer Science/Software Engineering
[INFO:INFO_PL] Computer Science/Programming Languages
programmation par aspects
interpréteur
sémantique
prototypage
composition
langage d'aspects dédié
spellingShingle [INFO:INFO_SE] Computer Science/Software Engineering
[INFO:INFO_PL] Computer Science/Programming Languages
programmation par aspects
interpréteur
sémantique
prototypage
composition
langage d'aspects dédié
Assaf, Ali
Un interpréteur extensible pour le prototypage des langages d'aspects
description L'intérêt de l'utilisation de différents langages d'aspects pour faire face à une variété de préoccupations transverses dans le développement de systèmes logiciels complexes est reconnu. Il faudrait être capable d'utiliser plusieurs de ces langages dans un seul logiciel donné. Cependant, d'une part la phase de développement d'un nouveau langage dédié capturant tous les patrons de programmation du domaine prend beaucoup de temps et, d'autre part, le concepteur doit gérer les interactions avec les autres langages quand ils sont utilisés simultanément. <br/> Dans cette thèse, nous introduisons un support pour le prototypage rapide et la composition des langages d'aspects, basé sur des interpréteurs. Nous partons d'un interpréteur d'un sous-ensemble de Java en étudiant et en définissant son extension modulaire afin de supporter la programmation par aspects en se basant sur une sémantique d'aspects partagée. Dans l'interpréteur d'aspects, nous avons implémenté des mécanismes communs aux langages d'aspects en laissant des trous à définir pour implémenter des langages d'aspects concrets. La puissance de cette approche est de permettre d'implémenter directement les langages à partir de leur sémantique. L'approche est validée par l'implémentation d'une version légère d'AspectJ. <br/> Pour appliquer la même approche et la même architecture à Java sans modifier son interpréteur (JVM), nous réutilisons AspectJ pour effectuer une première étape de tissage statique, qui est complétée par une deuxième étape de tissage dynamique, implémentée par une mince couche d'interprétation. C'est un exemple montrant l'intérêt qu'il peut y avoir à concilier interprétation et compilation. Des prototypes pour AspectJ, EAOP, COOL et des langages dédiés simples, valident notre approche. Nous montrons le caractère ouvert de notre implémentation d'AspectJ en décrivant deux extensions: la première permet l'ordonnancement dynamique des aspects, la deuxième propose des sémantiques alternatives pour les points de coupe. Les langages d'aspects implémentés avec notre approche peuvent être facilement composés. En outre, cette composition peut être personnalisée.
author Assaf, Ali
author_facet Assaf, Ali
author_sort Assaf, Ali
title Un interpréteur extensible pour le prototypage des langages d'aspects
title_short Un interpréteur extensible pour le prototypage des langages d'aspects
title_full Un interpréteur extensible pour le prototypage des langages d'aspects
title_fullStr Un interpréteur extensible pour le prototypage des langages d'aspects
title_full_unstemmed Un interpréteur extensible pour le prototypage des langages d'aspects
title_sort un interpréteur extensible pour le prototypage des langages d'aspects
publisher Université de Nantes
publishDate 2011
url http://tel.archives-ouvertes.fr/tel-00726510
http://tel.archives-ouvertes.fr/docs/00/72/65/10/PDF/Assaf-phd2011.pdf
work_keys_str_mv AT assafali uninterpreteurextensiblepourleprototypagedeslangagesdaspects
_version_ 1716604327422853120