Ent?te

Logo du LIFL

Depuis le 1er janvier 2015 le LIFL et le LAGIS forment le laboratoire CRIStAL

  1. News

Thesis of

Carlos-Francisco Noguera-Garcia

Tuesday 25 November 2008
Amphithéâtre de l'IRCICA

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

Rapporteurs :
Consel Charles, Professeur des Universités, ENSEIRB,
Jézéquel Jean-Marc, Professeur des Universités, Université Rennes 1,
Examinateurs :
Deridder Dirk, Docteur, Vrije Universiteit Brussel,
Donsez Didier, Professeur des Universités, Université Joseph Fourier,
Gilleron Rémi, Professeur des Universités, Université Lille 3,
Pawlak Renaud, Docteur, ISEP,
Directrice de Thèse : Duchien Laurence, Professeur des Universités, Université Lille1,

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 sont reliées 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éveloppement 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. De telles contraintes sont souvent reléguées à la documentation du cadre logiciel, puisque les processeurs d'annotation existants ne fournissent pas de moyens de les spécifier et vérifier. En plus de ceci, les processeurs d'annotations existants offrent comme entité de manipulation uniquement l'arbre de syntaxe abstraite (AST) du programme. Ceci force alors le développeur à réifier les annotations s'il veut des éléments d'abstraction d'un plus haut niveau.

Pour aider le développeur de cadres d'annotations, nous proposons deux outils. 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 outil, appelé ModelAn, permet au réalisateur de cadre d'annotations de décrire un modèle qui correspond aux annotations définies. Par ce moyen, le déeloppeur peut exprimer des 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 produites. Les annotations réifiées peuvent alors servir de point de départ à l'interprétation du programme annoté.

Mots clés: Programmation à base d'annotations, Ingénierie dirigée par les Modèles, Langages Dédiés, Validation de programmes

Ours

UMR 8022 - Laboratoire d'Informatique Fondamentale de Lille - Copyright © 2012 Sophie TISON - Crédits & Mentions légales

Page respectant XHTML et CSS.

Pour tout commentaire / Comments and remarks : webmaster