Titre original :

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

Titre traduit :

A model-driven toll-set for developing and validating annotation frameworks

Mots-clés en français :
  • Programmation à base d'annotations

  • Ingénierie dirigée par les modèles
  • Java (langage de programmation)
  • Logiciels -- Validation
  • Logiciels -- Réutilisation
  • Métadonnées
  • Langue : Anglais
  • Discipline : Informatique
  • Identifiant : 2008LIL10074
  • Type de thèse : Doctorat
  • Date de soutenance : 25/11/2008

Résumé en langue originale

Les annotations, dans le langage de programmation de Java, sont une manière d'inclure des méta-données dans le code source d' un programme. Des annotations peuvent être employées pour prolonger la langue de Java avec des concepts spécifiques à un domaine. Des cadres d'annotation déjà sont adoptés par l'industrie; cependant, leur développement demeure complexe, et il est fait en grande partie d'une façon ad hoc. En développant le cadre d'annotation, le programmeur doit s'assurer que le programme qui emploie l'annotation est conforme aux contraintes définies pour lui. De telles contraintes sont souvent reléguées à la documentation du cadre. En plus de ceci, les processeurs courants d'annotation offrent juste au programmeur de cadre l'AST du programme comme entité de manipulation. Ceci force le programmeur à reify les annotations lui-même s'il veut des éléments plus élevés d'abstraction. Nous proposons deux cadres d'annotation. AVal, fournit un certain nombre de contraintes réutilisables, déclaratives et extensibles qui peuvent être employées pour spécifier le cadre d'annotation, et peut être interprété afin de valider un programme annoté. Et, ModelAn permet au lotisseur de cadre d'annotation de décrire un modèle qui correspond aux annotations dans le cadre. Des programmes annotés sont représentés comme exemples du modèle d'annotation, et contraintes vérifiées lui. De ce modèle, des classes de Java qui reify les annotations sont produites. Pour valider l'approche, nous construisons le modèle d'annotation, et décrivons les contraintes comme AVal et expressions de OCL de trois cadres industriels d'annotation: Fraclet, un cadre d'annotation pour le modèle composant de fractale, JWS pour le développement des services de Web dans Java, et la persistance api de Java.

Résumé traduit

Annotations, in the Java programming language, are a way to embed meta-data into the source of a program. Annotations can be used to extend the Java language with concepts specific to a domain. Annotation frameworks are already being adopted by industry; however, their development remains complex, and it is done largely in an ad-hoc manner. When developing the annotation framework, the programmer must make sure that the program that uses the annotation complies with the constraints defined for it. Such constraints are often relegated to the documentation of the framework. ln addition to this, current annotation processors just offer to the framework programmer the AST of the program as manipulation entity. This forces the programmer to reify the annotations himself if he wants higher abstraction elements. We propose two annotation frameworks. AVal, provides a number of reusable, declarative and extensible constraints that can be used to specify the annotation framework, and can be interpreted in order to validate an annotated program. And, ModelAn allows the annotation framework developer to describe a model that corresponds to the annotations in the framework. Annotated programs are represented as instances of the annotation model, and the constraints checked on it. From this model, Java classes that reify the annotations are generated. To validate the approach, we construct the annotation model, and describe the constraints as AVal and OCL expressions of three industrial annotation frameworks: Fraclet, an annotation framework for the Fractal component model, JWS for the development of web serviœs in Java, and the Java Persistence APl.

  • Directeur(s) de thèse : Duchien, Laurence
  • École doctorale : École doctorale Sciences pour l'ingénieur (Lille)

AUTEUR

  • Noguera (Noguera Garcia), Carlos
Droits d'auteur : Ce document est protégé en vertu du Code de la Propriété Intellectuelle.
Accès libre