Un ensemble d'outils orientés modèle pour développer et valider des cadres logiciels à base d'annotations

Les annotations, dans le langage de programmation Java, sont un moyen d'embarquer des méta-données dans le code source d'un programme. Elles peuvent être utilisées pour étendre le langage Java avec des concepts spécifiques à un domaine. Utilisées de cette manière, les annotations offrent u...

Full description

Bibliographic Details
Main Author: Noguera, Carlos
Language:FRE
Published: Université des Sciences et Technologie de Lille - Lille I 2008
Subjects:
Online Access:http://tel.archives-ouvertes.fr/tel-00668953
http://tel.archives-ouvertes.fr/docs/00/66/89/53/PDF/CarlosNoguera.pdf
id ndltd-CCSD-oai-tel.archives-ouvertes.fr-tel-00668953
record_format oai_dc
spelling ndltd-CCSD-oai-tel.archives-ouvertes.fr-tel-006689532013-01-07T17:14:19Z http://tel.archives-ouvertes.fr/tel-00668953 http://tel.archives-ouvertes.fr/docs/00/66/89/53/PDF/CarlosNoguera.pdf Un ensemble d'outils orientés modèle pour développer et valider des cadres logiciels à base d'annotations Noguera, Carlos [INFO:INFO_SE] Computer Science/Software Engineering Programmation à base d'annotations Ingénierie dirigée par les Modèles Langages Dédies Validation de programmes Les annotations, dans le langage de programmation Java, sont un moyen d'embarquer des méta-données dans le code source d'un programme. Elles peuvent être utilisées pour étendre le langage Java avec des concepts spécifiques à un domaine. Utilisées de cette manière, les annotations offrent un moyen de réduire le fossé sémantique entre les concepts du domaine et les concepts fournis par le langage de programmation. Pour l'utilisateur de ce cadre d'annotations (c.-à-d., le développeur d'applications), il est important de comprendre comment les différentes annotations se relient entre elles afin de les utiliser correctement et de détecter des erreurs d'utilisation au plus tôt. Des cadres d'annotation ont déjà été adoptés par l'industrie. Cependant, leur développe- ment demeure complexe et est fait, en grande partie, de façon ad-hoc. En développant un cadre d'annotations, le développeur doit s'assurer que le programme qui emploie les annotations est conforme aux contraintes définies pour elles. Telles contraintes sont souvent reléguées à la documentation du cadre logiciel, puisque les processeurs d'annotation existants ne fournissent pas une façon de les spécifier et vérifier. En plus de ceci, les processeurs d'annotations existants offrent comme entité de manipulation juste l'arbre de syntaxe abstraite (AST) du programme. Ceci force le développeur à réifier les annotations elles-mêmes s'il veut des éléments d'abstraction d'un plus haut niveau. Pour aider le réalisateur de cadre d'annotations, nous proposons deux cadres d'annotations. Le premier, appelé AVal, fournit un nombre de contraintes réutilisables, déclaratives et extensibles pour spécifier un cadre d'annotation. Les applications annotées peuvent ainsi être interprétées afin de les valider. Le deuxième cadre, appelé ModelAn, permet au réalisateur de cadre d'annotations de décrire un modèle qui correspond aux annotations définies dans cadre d'annotations. Par ce moyen, le réalisateur peut exprimer les contraintes en termes du modèle. Des programmes annotés sont alors représentés comme instances du modèle (d'annotation), et les contraintes sont vérifiées sur cette même instance. A partir de ce modèle d'annotations, les classes Java qui réifient les annotations sont pro duites. Les annotations réifiéess peuvent alors servir de point de départ à l'interprétation du programme annoté. Pour valider notre approche, nous avons construit le modèle d'annotation et décrit leurs contraintes à l'aide d'AVal et d'expressions OCL pour trois cadres d'annotation industriels: Fraclet, un cadre d'annotation pour le modèle composant de Fractal, JWS pour le développement de services Web dans Java, et l'API de persistance Java, une partie de la spécification Java de EJB3. 2008-11-25 FRE PhD thesis Université des Sciences et Technologie de Lille - Lille I
collection NDLTD
language FRE
sources NDLTD
topic [INFO:INFO_SE] Computer Science/Software Engineering
Programmation à base d'annotations
Ingénierie dirigée par les Modèles
Langages Dédies
Validation de programmes
spellingShingle [INFO:INFO_SE] Computer Science/Software Engineering
Programmation à base d'annotations
Ingénierie dirigée par les Modèles
Langages Dédies
Validation de programmes
Noguera, Carlos
Un ensemble d'outils orientés modèle pour développer et valider des cadres logiciels à base d'annotations
description Les annotations, dans le langage de programmation Java, sont un moyen d'embarquer des méta-données dans le code source d'un programme. Elles peuvent être utilisées pour étendre le langage Java avec des concepts spécifiques à un domaine. Utilisées de cette manière, les annotations offrent un moyen de réduire le fossé sémantique entre les concepts du domaine et les concepts fournis par le langage de programmation. Pour l'utilisateur de ce cadre d'annotations (c.-à-d., le développeur d'applications), il est important de comprendre comment les différentes annotations se relient entre elles afin de les utiliser correctement et de détecter des erreurs d'utilisation au plus tôt. Des cadres d'annotation ont déjà été adoptés par l'industrie. Cependant, leur développe- ment demeure complexe et est fait, en grande partie, de façon ad-hoc. En développant un cadre d'annotations, le développeur doit s'assurer que le programme qui emploie les annotations est conforme aux contraintes définies pour elles. Telles contraintes sont souvent reléguées à la documentation du cadre logiciel, puisque les processeurs d'annotation existants ne fournissent pas une façon de les spécifier et vérifier. En plus de ceci, les processeurs d'annotations existants offrent comme entité de manipulation juste l'arbre de syntaxe abstraite (AST) du programme. Ceci force le développeur à réifier les annotations elles-mêmes s'il veut des éléments d'abstraction d'un plus haut niveau. Pour aider le réalisateur de cadre d'annotations, nous proposons deux cadres d'annotations. Le premier, appelé AVal, fournit un nombre de contraintes réutilisables, déclaratives et extensibles pour spécifier un cadre d'annotation. Les applications annotées peuvent ainsi être interprétées afin de les valider. Le deuxième cadre, appelé ModelAn, permet au réalisateur de cadre d'annotations de décrire un modèle qui correspond aux annotations définies dans cadre d'annotations. Par ce moyen, le réalisateur peut exprimer les contraintes en termes du modèle. Des programmes annotés sont alors représentés comme instances du modèle (d'annotation), et les contraintes sont vérifiées sur cette même instance. A partir de ce modèle d'annotations, les classes Java qui réifient les annotations sont pro duites. Les annotations réifiéess peuvent alors servir de point de départ à l'interprétation du programme annoté. Pour valider notre approche, nous avons construit le modèle d'annotation et décrit leurs contraintes à l'aide d'AVal et d'expressions OCL pour trois cadres d'annotation industriels: Fraclet, un cadre d'annotation pour le modèle composant de Fractal, JWS pour le développement de services Web dans Java, et l'API de persistance Java, une partie de la spécification Java de EJB3.
author Noguera, Carlos
author_facet Noguera, Carlos
author_sort Noguera, Carlos
title Un ensemble d'outils orientés modèle pour développer et valider des cadres logiciels à base d'annotations
title_short Un ensemble d'outils orientés modèle pour développer et valider des cadres logiciels à base d'annotations
title_full Un ensemble d'outils orientés modèle pour développer et valider des cadres logiciels à base d'annotations
title_fullStr Un ensemble d'outils orientés modèle pour développer et valider des cadres logiciels à base d'annotations
title_full_unstemmed Un ensemble d'outils orientés modèle pour développer et valider des cadres logiciels à base d'annotations
title_sort un ensemble d'outils orientés modèle pour développer et valider des cadres logiciels à base d'annotations
publisher Université des Sciences et Technologie de Lille - Lille I
publishDate 2008
url http://tel.archives-ouvertes.fr/tel-00668953
http://tel.archives-ouvertes.fr/docs/00/66/89/53/PDF/CarlosNoguera.pdf
work_keys_str_mv AT nogueracarlos unensembledoutilsorientesmodelepourdevelopperetvaliderdescadreslogicielsabasedannotations
_version_ 1716395388576989184