<?xml version="1.0" encoding="UTF-8"?><mets:mets xmlns:mets="http://www.loc.gov/METS/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:mads="http://www.loc.gov/mads/" xmlns:metsRights="http://cosimo.stanford.edu/sdr/metsrights/" xmlns:suj="http://www.theses.fr/namespace/sujets" xmlns:tef="http://www.abes.fr/abes/documents/tef" xmlns:tefextension="http://www.abes.fr/abes/documents/tefextension" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.loc.gov/METS/ http://www.abes.fr/abes/documents/tef/recommandation/tef_schemas.xsd">
<mets:metsHdr CREATEDATE="2010-09-28T11:42:41" ID="ABES.STAR.THESE_3493.METS_HEADER" LASTMODDATE="2025-05-06T05:05:08Z" RECORDSTATUS="valide">
<mets:agent ROLE="CREATOR">
<mets:name/>
<mets:note>Note</mets:note>
</mets:agent>
<mets:agent ROLE="DISSEMINATOR">
<mets:name>ABES</mets:name>
</mets:agent>
<mets:altRecordID ID="ABES.STAR.THESE_3493.METS_HEADER.ALTERNATE" TYPE=""/>
</mets:metsHdr>
<mets:dmdSec ID="ABES.STAR.THESE_3493.DESCRIPTION_BIBLIOGRAPHIQUE">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="tef_desc_these">
<mets:xmlData>
<tef:thesisRecord>
<dc:title xml:lang="fr">Un ensemble d'outils orientés modèle pour développer et valider des cadres logiciels à base d'annotations</dc:title>
<dcterms:alternative xml:lang="en">A model-driven toll-set for developing and validating annotation frameworks</dcterms:alternative>
<dc:subject xml:lang="fr">Programmation à base d'annotations</dc:subject>
<dc:subject xsi:type="dcterms:DDC"/>
<tef:sujetRameau xml:lang="fr">
<tef:vedetteRameauNomCommun>
<tef:elementdEntree autoriteExterne="112999050" autoriteSource="Sudoc">Ingénierie dirigée par les modèles</tef:elementdEntree>
</tef:vedetteRameauNomCommun>
<tef:vedetteRameauNomCommun>
<tef:elementdEntree autoriteExterne="034591966" autoriteSource="Sudoc">Java (langage de programmation)</tef:elementdEntree>
</tef:vedetteRameauNomCommun>
<tef:vedetteRameauNomCommun>
<tef:elementdEntree autoriteExterne="053469933" autoriteSource="Sudoc">Logiciels -- Validation</tef:elementdEntree>
</tef:vedetteRameauNomCommun>
<tef:vedetteRameauNomCommun>
<tef:elementdEntree autoriteExterne="032056214" autoriteSource="Sudoc">Logiciels -- Réutilisation</tef:elementdEntree>
</tef:vedetteRameauNomCommun>
<tef:vedetteRameauNomCommun>
<tef:elementdEntree autoriteExterne="099096943" autoriteSource="Sudoc">Métadonnées</tef:elementdEntree>
</tef:vedetteRameauNomCommun>
</tef:sujetRameau>
<dcterms:abstract xml:lang="fr">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.</dcterms:abstract>
<dcterms:abstract xml:lang="en">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.</dcterms:abstract>
<dc:type>Electronic Thesis or Dissertation</dc:type>
<dc:type xsi:type="dcterms:DCMIType">Text</dc:type>
<dc:language xsi:type="dcterms:RFC3066">en</dc:language>
</tef:thesisRecord>
</mets:xmlData>
</mets:mdWrap>
</mets:dmdSec>
<mets:dmdSec ID="ABES.STAR.THESE_3493.VERSION_COMPLETE.DESCRIPTION.EDITION_ARCHIVAGE">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="tef_desc_edition">
<mets:xmlData>
<tef:edition>
<dcterms:medium xsi:type="dcterms:IMT">PDF</dcterms:medium>
<dcterms:extent>9445934</dcterms:extent>
<dc:identifier xsi:type="dcterms:URI">https://pepite-depot.univ-lille.fr/LIBRE/EDSPI/2008/50376-2008-Noguera.pdf</dc:identifier>
<dc:identifier xsi:type="dcterms:URI">https://theses.fr/2008LIL10074/abes</dc:identifier>
</tef:edition>
</mets:xmlData>
</mets:mdWrap>
</mets:dmdSec>
<mets:amdSec>
<mets:techMD ID="ABES.STAR.THESE_3493.ADMINISTRATION">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="tef_admin_these">
<mets:xmlData>
<tef:thesisAdmin>
<tef:auteur>
<tef:nom>Noguera</tef:nom>
<tef:prenom>Carlos</tef:prenom>
<tef:nomDeNaissance>Noguera Garcia</tef:nomDeNaissance>
<tef:dateNaissance>1979-05-14</tef:dateNaissance>
<tef:nationalite scheme="ISO-3166-1">CO</tef:nationalite>
<tef:autoriteExterne autoriteSource="Sudoc">133345688</tef:autoriteExterne>
</tef:auteur>
<dc:identifier xsi:type="tef:nationalThesisPID">https://theses.fr/2008LIL10074</dc:identifier>
<dc:identifier xsi:type="tef:NNT">2008LIL10074</dc:identifier>
<dc:identifier xsi:type="tef:DOI">https://doi.org/10.70675/6873f786z3c9az4647z9b41z08616fb44afb</dc:identifier>
<dcterms:dateAccepted xsi:type="dcterms:W3CDTF">2008-11-25</dcterms:dateAccepted>
<tef:thesis.degree>
<tef:thesis.degree.discipline xml:lang="fr">Informatique</tef:thesis.degree.discipline>
<tef:thesis.degree.grantor>
<tef:nom>Lille 1</tef:nom>
<tef:autoriteExterne autoriteSource="Sudoc">026404184</tef:autoriteExterne>
</tef:thesis.degree.grantor>
<tef:thesis.degree.level>Doctorat</tef:thesis.degree.level>
<tef:thesis.degree.name xml:lang="fr">Docteur es</tef:thesis.degree.name>
</tef:thesis.degree>
<tef:theseSurTravaux>non</tef:theseSurTravaux>
<tef:avisJury>oui</tef:avisJury>
<tef:directeurThese>
<tef:nom>Duchien</tef:nom>
<tef:prenom>Laurence</tef:prenom>
<tef:autoriteInterne>MADS_DIRECTEUR_DE_THESE_1</tef:autoriteInterne>
<tef:autoriteExterne autoriteSource="Sudoc">033697787</tef:autoriteExterne>
</tef:directeurThese>
<tef:ecoleDoctorale>
<tef:nom>École doctorale Sciences pour l'ingénieur (Lille ; 1992-2021)</tef:nom>
<tef:autoriteInterne>MADS_ECOLE_DOCTORALE_1</tef:autoriteInterne>
<tef:autoriteExterne autoriteSource="Sudoc">147297028</tef:autoriteExterne>
</tef:ecoleDoctorale>
<tef:oaiSetSpec>ddc:004</tef:oaiSetSpec>
<tef:MADSAuthority authorityID="MADS_DIRECTEUR_DE_THESE_1" type="personal">
<tef:personMADS>
<mads:namePart type="family">Duchien</mads:namePart>
<mads:namePart type="given">Laurence</mads:namePart>
</tef:personMADS>
</tef:MADSAuthority>
<tef:MADSAuthority authorityID="MADS_ECOLE_DOCTORALE_1" type="corporate">
<tef:personMADS>
<mads:namePart type="family">École doctorale Sciences pour l'ingénieur (Lille)</mads:namePart>
</tef:personMADS>
</tef:MADSAuthority>
</tef:thesisAdmin>
</mets:xmlData>
</mets:mdWrap>
</mets:techMD>
<mets:techMD ID="ABES.STAR.THESE_3493.VERSION_COMPLETE.EDITION_ARCHIVAGE.TECH_FICHIER.DOSSIER_1.DOSSIER_1.FICHIER_1">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="tef_tech_fichier">
<mets:xmlData>
<tef:meta_fichier>
<tef:formatFichier>PDF</tef:formatFichier>
<tef:taille>9445934</tef:taille>
</tef:meta_fichier>
</mets:xmlData>
</mets:mdWrap>
</mets:techMD>
<mets:rightsMD ID="ABES.STAR.THESE_3493.DROITS_UNIVERSITE">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="tef_droits_etablissement_these">
<mets:xmlData>
<metsRights:RightsDeclarationMD RIGHTSCATEGORY="CONTRACTUAL">
<metsRights:Context CONTEXTCLASS="GENERAL PUBLIC">
<metsRights:Permissions COPY="false" DELETE="false" DISPLAY="true" DUPLICATE="true" MODIFY="false" PRINT="true"/>
</metsRights:Context>
<metsRights:Context CONTEXTCLASS="INSTITUTIONAL AFFILIATE">
<metsRights:Permissions COPY="false" DELETE="false" DISPLAY="true" DUPLICATE="true" MODIFY="false" PRINT="true"/>
</metsRights:Context>
</metsRights:RightsDeclarationMD>
</mets:xmlData>
</mets:mdWrap>
</mets:rightsMD>
<mets:rightsMD ID="ABES.STAR.THESE_3493.DROITS_DOCTORANT">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="tef_droits_auteur_these">
<mets:xmlData>
<metsRights:RightsDeclarationMD RIGHTSCATEGORY="CONTRACTUAL">
<metsRights:Context CONTEXTCLASS="GENERAL PUBLIC">
<metsRights:Permissions COPY="false" DELETE="false" DISPLAY="true" DUPLICATE="true" MODIFY="false" PRINT="true"/>
</metsRights:Context>
<metsRights:Context CONTEXTCLASS="INSTITUTIONAL AFFILIATE">
<metsRights:Permissions COPY="false" DELETE="false" DISPLAY="true" DUPLICATE="true" MODIFY="false" PRINT="true"/>
</metsRights:Context>
</metsRights:RightsDeclarationMD>
</mets:xmlData>
</mets:mdWrap>
</mets:rightsMD>
<mets:rightsMD ID="ABES.STAR.THESE_3493.VERSION_COMPLETE.DROITS">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="tef_droits_version">
<mets:xmlData>
<metsRights:RightsDeclarationMD RIGHTSCATEGORY="CONTRACTUAL">
<metsRights:Context CONTEXTCLASS="GENERAL PUBLIC">
<metsRights:Permissions COPY="false" DELETE="false" DISPLAY="true" DUPLICATE="true" MODIFY="false" PRINT="true"/>
</metsRights:Context>
<metsRights:Context CONTEXTCLASS="INSTITUTIONAL AFFILIATE">
<metsRights:Permissions COPY="false" DELETE="false" DISPLAY="true" DUPLICATE="true" MODIFY="false" PRINT="true"/>
</metsRights:Context>
</metsRights:RightsDeclarationMD>
</mets:xmlData>
</mets:mdWrap>
</mets:rightsMD>
</mets:amdSec>
<mets:fileSec>
<mets:fileGrp ID="ABES.STAR.THESE_3493.VERSION_COMPLETE.EDITION_ARCHIVAGE.FILEGRP" USE="archive_et_diffusion">
<mets:file ADMID="ABES.STAR.THESE_3493.VERSION_COMPLETE.EDITION_ARCHIVAGE.TECH_FICHIER.DOSSIER_1.DOSSIER_1.FICHIER_1" ID="ABES.STAR.THESE_3493.VERSION_COMPLETE.EDITION_ARCHIVAGE.DOSSIER_1.DOSSIER_1.FICHIER_1" SEQ="1">
<mets:FLocat LOCTYPE="URL" xlink:href="LIL1/THESE_3493/document/0/0/ThFse Noguera C/CarlosNoguera.pdf"/>
</mets:file>
</mets:fileGrp>
</mets:fileSec>
<mets:structMap TYPE="logical">
<mets:div ADMID="ABES.STAR.THESE_3493.ADMINISTRATION ABES.STAR.THESE_3493.DROITS_UNIVERSITE ABES.STAR.THESE_3493.DROITS_DOCTORANT" CONTENTIDS="CONTENTIDS.ABES.STAR.THESE_3493" DMDID="ABES.STAR.THESE_3493.DESCRIPTION_BIBLIOGRAPHIQUE" TYPE="THESE">
<mets:div ADMID="ABES.STAR.THESE_3493.VERSION_COMPLETE.DROITS" CONTENTIDS="CONTENTIDS.ABES.STAR.THESE_3493.ABES.STAR.THESE_3493.VERSION_COMPLETE" TYPE="VERSION_COMPLETE">
<mets:div CONTENTIDS="CONTENTIDS.ABES.STAR.THESE_3493.VERSION_COMPLETE.EDITION_ARCHIVAGE" DMDID="ABES.STAR.THESE_3493.VERSION_COMPLETE.DESCRIPTION.EDITION_ARCHIVAGE" TYPE="EDITION">
<mets:fptr FILEID="ABES.STAR.THESE_3493.VERSION_COMPLETE.EDITION_ARCHIVAGE.FILEGRP"/>
</mets:div>
</mets:div>
</mets:div>
</mets:structMap>
</mets:mets>