Soutenance du Travail d’Etude et de Recherches Master 1 STIC Année 2005 Plugin Eclipse pour la composition des préoccupations dans le langage Java.

Slides:



Advertisements
Présentations similaires
Applications N-Tiers Rappels: architecture et méthodologie
Advertisements

LA QUALITE LOGICIELLE Plan du cours La modélisation d’activité 1 h ½
E-learning Evolutif Albarelli Corinne Behem Patrice Guillot Jérôme
« Les Mercredis du développement » Introduction Office « 12 » Présenté par Bernard Fedotoff Microsoft Regional Director Agilcom.
La Gestion de la Configuration
Eclipse Plug-ins Factory
Nairobi, Kenya, Septembre 2010
JXDVDTEK – Une DVDthèque en Java et XML
TER Gestionnaires de contenu en ligne
BISSOL Cédric DAVID Grégory MAURY Henrick RIGOBERT Julien Version 1.5 Prototype de plate-forme de Tribus Instantanées : Projet encadré par : Audrey Occello.
Prototype de plate-forme de Tribus Instantanées :
Virtualisation dorchestration de services TER Master 1 Infomatique 4 Avril 2008 Encadrant : Philippe Collet.
Le processus unifié UML est un langage de modélisation et n ’impose pas de démarche de développement Le processus unifié : méthodologie de développement.
Master Génie Biologique et Informatique, première année
TYCOON.AGENT Simulation et analyse de coopérations entre agent logiciels C. Vignoles LIMSI-CNRS JC Martin.
Les démarches de développement
UML (Unified Modeling Langage)
METADYNE... L’architecture clients-serveurs d’un hypermédia adaptatif
Projet 4info.
Page 1 Introduction à ATEasy 3.0 Page 2 Quest ce quATEasy 3.0? n Ensemble de développement très simple demploi n Conçu pour développer des bancs de test.
THERESIEN Didier SEBASTIEN 15 septembre 2005
GWT UML Un modeleur UML en GWT
Université du littoral
Interaction audio sur le site web du LIA
Xavier Tannier Module de Programmation Web Introduction.
Revue de Projet : Sondages en Lignes 15 mars 2010 Coach : Clément CROCHEMORE Tracker : Mélissa PETIT Client : Elie LESUEUR Testeurs : Paul TOUTAIN et Thierry.
Soutenance Orale, TER 2002 Equipe TENEBRION / J.P. Arcangeli
Analyse des besoins en informatique du SRI
Calculatrice Financière Android
Intégration ActiveXML - Xyleme
Projet de diplôme 2011 Miserez David
I.Aperçu du projet II.Organisation du projet III.Processus de gestion IV.Processus technique V.Conclusion.
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Notions de Base Hiver 2002 Petko Valtchev.
COURS DE PROGRAMMATION ORIENTEE OBJET :
Projet de Master première année 2007 / 2008
Adaptée du cours de Richard Grin
Processus d'un projet F.Pfister
Architecture et développement Web
Création d’une communauté web scénarisée : le projet Crealys
Supports de formation au SQ Unifié
Soutenance ProJet Individuel
Projet d’Année Lecteur MP3 pour musiciens sous Android
Requêtes homme-agent sur le fonctionnement Etudiantes: Anne DARME & Céline GIRARD Encadrant: Nicolas SABOURET Rapporteur: Vincent CORRUBLE Responsable:
Introduction à Visual Studio C++ (VC++)
LEMKE LaurentBITSCH José TERRIER VincentLAALA Yoann MONTAVONT GuillaumeBRIBI Mohamed 1.
Introduction au Génie Logiciel
Arbre GénéalogiqueDiagramme de Classes Comment la visualisation d’une hiérarchie de classes facilitera le travail de notre client ?
BEWITCHED 12/10/2006 Soutenance GLAO #5 slide 1 Soutenance GLAO #5 AGL & SYGIME Bewitched Team 12 Octobre 2006.
Conseils rapports et soutenance
Projet d’Année Lecteur MP3 pour musiciens sous Android
Projet OASIS PCfEngine Encadrant : M. Keryell Date : Mercredi 02 Mars 2005 Pascal Virmaud.
1 Déformation Bi-manuelle en Réalité Virtuelle Encadrants : Antonio Capobianco, Jérôme Grosjean Étudiants : Michaël Kolomytzeff, Manuel Veit.
Présentation Finale Spirit 07 / 03 / 2011 Groupe Vert 1 Equipe Verte.
Présentation AICHA REVEL INGENIEUR D’ÉTUDE STERIA DEPARTEMENT TRD
Présentation Finale Spirit 07 / 03 / 2011 Groupe Vert 1 Equipe Verte.
1 1.
Cours MIAGE « Architectures Orientées Services »Henry Boccon-GibodCours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod 1 Architectures Orientées.
Réalisation d'un plugin pour la gestion
21/02/2003DEA DISIC 1 Grid Computing Programming the grid: Distributed Software Components, P2P and Grid Web Services for Scientific Applications Tarak.
Projet de Maîtrise Simulation 3D d’atomes robotiques Detanger Pierre-Gilles He Xue Feng Mauny Stéphane Villers Julien.
Victor Victor Sabourin Marie Sévilla Fraysse Pauline They
1 JEE 2010 Architectures n-tiers F.Pfister
Esup Days – PStage - Apogée. Esup Days 2009 – 03 juillet Plan  Rappel du contexte  La collaboration et le partenariat ESUP/AMUE  Les engagements.
Mathieu Martin Thomas Rovayaz Natacha Laborde Nathanaël Couret
Projet de Maîtrise Simulation 3D d’atomes robotiques Detanger Pierre-Gilles He Xuefeng Mauny Stéphane Villers Julien.
Plugin Scheme pour Eclipse Etudiants Simeon KOSTOV Matthieu IZOULET Agostino SEMERIA Responsable Erick GALLESIO Maîtrise Informatique , UNSA.
Dániel Darvas (CERN BE-ICS-PCS) Spécification formelle pour les API CERN-ESTEREL séminaire 21/01/2016, CERN Travail conjoint avec B. Fernández, E. Blanco,
19 avril Spécification d’un cadre d’ingénierie pour les réseaux d’organisations Laboratoire de recherche : OMSI à l’EMSE.
1 Monopalme Projet 4 Info Présentation finale LE LAY Olivier MAHE Jocelyn FORM Nicolas HENRY Gurvan BONNIN Thomas BASSAND Guillaume Décembre 2009 MONNIER.
Transcription de la présentation:

Soutenance du Travail d’Etude et de Recherches Master 1 STIC Année 2005 Plugin Eclipse pour la composition des préoccupations dans le langage Java

Travail d'étude et de recherches - soutenance finale Participants Bonfils David Férut Térence Julien Nicolas Leroy Sébastien Encadrés par : Lahire Philippe Crescenzo Pierre Travail d'étude et de recherches - soutenance finale

Travail d'étude et de recherches - soutenance finale Plan général Rappels Déroulement du TER – Organisation Travail effectué Évaluation – travail restant Conclusion Références bibliographiques Travail d'étude et de recherches - soutenance finale

Travail d'étude et de recherches - soutenance finale 1. Rappels Introduction Travail prévu Organisation du travail Planning ??? Plan : 1. Rappels 2. Déroulement Organisation 3. Travail effectué 4. Évaluation – travail restant 5. Conclusion 6. Références Bibliographiques Travail d'étude et de recherches - soutenance finale

Travail d'étude et de recherches - soutenance finale Introduction Sujet de notre TER Plugin Eclipse pour la composition de préoccupations dans le langage Java Contexte JAdapt de Laurent Quintian Période Début Mars au 20 juin 2005 La thèse de Laurent Quintian a eu pour sujet la réutilisation des préoccupations dans le paradigme de l'objet. Une préoccupation correspond à un graphe de classes dédié à la résolution d'un problème (interfaçage graphique, gestion de la persistance, description d'un patron de conception, etc.). Pour pouvoir réutiliser une préoccupation dans différents contextes il faut pouvoir séparer ces préoccupations et ensuite les recomposer au moment de les utiliser dans une application donnée. Le modèle proposé s'inspire des programmations par sujets et par aspects. La composition des préoccupations est décrite par l'intermédiaire d'entités réifiées qui permettent de définir à la fois une grande variété d'opérations d'adaptation et la localisation de cette adaptation. Il est possible de définir un protocole de composition qui est indépendant du contexte d'utilisation (en particulier les cibles et les opérations d'adaptation peuvent être abstraites et concrétisées par héritage ce qui rendra possible un guidage et un contrôle du programmeur au moment de la réutilisation dans un contexte donné). Selon les besoins une composition pourra être définie in situ ou ex situ selon que la composition de deux préoccupations se fait dans l'une des deux ou, au contraire, est réalisée dans une troisième créée pour l'occasion. Une première implémentation du modèle proposé a été réalisée sous la forme d'un plugin pour l'environnement de développement Eclipse. Nous désirons améliorer ce plugin dans les directions suivantes : - Mise à jour du plugin pour qu'il fonctionne sur les dernières versions d'Eclipse (il a été programmé pour la 2.1.1). - Proposition d'une syntaxe pour définir les entités modélisant la composition (à l'heure actuelle, seule une vue est générée à partir d'une description en XML. - Intégration plus complète dans la plate-forme Eclipse (compilation incrémentale, etc.). Plan : 1. Rappels 2. Déroulement Organisation 3. Travail effectué 4. Évaluation – travail restant 5. Conclusion 6. Références Bibliographiques Travail d'étude et de recherches - soutenance finale

Travail d'étude et de recherches - soutenance finale Travail prévu Portage du plugin vers Eclipse 3 Refonte de l’architecture de l’application et du moteur Création d’un éditeur pour la saisie des adaptations Documentation très détaillée Plan : 1. Rappels 2. Déroulement Organisation 3. Travail effectué 4. Évaluation – travail restant 5. Conclusion 6. Références Bibliographiques Travail d'étude et de recherches - soutenance finale

Organisation du travail Découpage du travail en sous-parties Réunions de validation hebdomadaires Plan : 1. Rappels 2. Déroulement Organisation 3. Travail effectué 4. Évaluation – travail restant 5. Conclusion 6. Références Bibliographiques Travail d'étude et de recherches - soutenance finale

Planning prévisionnel Ajouter la photo du planing prévisionnel Travail d'étude et de recherches - soutenance finale

2. Déroulement et Organisation Modifications apportées au CdC. Rôle prépondérant des réunions dans la gestion du risque Réorganisation et nouvelle répartition du travail État d'avancement Plan : 1. Rappels 2. Déroulement Organisation 3. Travail effectué 4. Évaluation – travail restant 5. Conclusion 6. Références Bibliographiques Travail d'étude et de recherches - soutenance finale

Modifications dans le CdC Avant : Réaliser un portage de JAdapt d’Eclipse 2.1 à Eclipse 3.X. Refondre le moteur et l’application Après : Repartir à zéro, avec un nouveau modèle de conception sous Eclipse 3.X Implémenter un modèle d’application inédit, très différent de celui de Laurent Quintian, construit à partir du plugin EMF Plan : 1. Rappels 2. Déroulement Organisation 3. Travail effectué 4. Évaluation – travail restant 5. Conclusion 6. Références Bibliographiques Travail d'étude et de recherches - soutenance finale

Travail d'étude et de recherches - soutenance finale Intérêt des réunions Nécessaires pour : analyser, recadrer, valider, discuter du travail de chacun. Plusieurs avec M. Lahire, pour parfaire la compréhension. Profiter de l’avis des autres pour mieux cerner les besoins. Plan : 1. Rappels 2. Déroulement Organisation 3. Travail effectué 4. Évaluation – travail restant 5. Conclusion 6. Références Bibliographiques Travail d'étude et de recherches - soutenance finale

Réorganisation et nouvelle répartition du travail Exploration de l'apport du modèle EMF Nouvelles tâches Packages core, language et adaptations Beaucoup plus de travail que prévu initialement Dans l’ensemble, pas de réorganisation profonde. Plan : 1. Rappels 2. Déroulement Organisation 3. Travail effectué 4. Évaluation – travail restant 5. Conclusion 6. Références Bibliographiques Travail d'étude et de recherches - soutenance finale

Travail d'étude et de recherches - soutenance finale État d'avancement Objectifs complètement réalisés Création du nouveau plugin Intégration de l’éditeur Documentation bilingue (français – anglais) Manuel de maintenance Code très commenté Création de 2 tutoriels HTML Plan : 1. Rappels 2. Déroulement Organisation 3. Travail effectué 4. Évaluation – travail restant 5. Conclusion 6. Références Bibliographiques Travail d'étude et de recherches - soutenance finale

État d'avancement (suite) Objectifs partiellement atteints Architecture de l’application Architecture reprise à zéro et pas tout à fait recodée à 100% Ajouts d’adaptations (non prioritaire) Nouvelles adaptations ajoutées, mais pas forcément implémentées complètement) Plan : 1. Rappels 2. Déroulement Organisation 3. Travail effectué 4. Évaluation – travail restant 5. Conclusion 6. Références Bibliographiques Travail d'étude et de recherches - soutenance finale

État d'avancement (suite) Non traités Ajout d’une vue textuelle à l’éditeur (non prioritaire) Compatibilité avec JAdapt 1 (non prioritaire) Incorporation de la Composition Incrémentale (non prioritaire) Plan : 1. Rappels 2. Déroulement Organisation 3. Travail effectué 4. Évaluation – travail restant 5. Conclusion 6. Références Bibliographiques Travail d'étude et de recherches - soutenance finale

Travail d'étude et de recherches - soutenance finale 3. Travail Effectué Environnement de travail Plugin Éditeur Réification du langage Adaptations Moteur Plan : 1. Rappels 2. Déroulement Organisation 3. Travail effectué 4. Évaluation – travail restant 5. Conclusion 6. Références Bibliographiques Travail d'étude et de recherches - soutenance finale

a. L’Environnement de travail Eclipse 3.1 M6 Java 1.5.0_02 EMF 2.0.0 Plan : 1. Rappels 2. Déroulement Organisation 3. Travail effectué 4. Évaluation – travail restant 5. Conclusion 6. Références Bibliographiques Travail d'étude et de recherches - soutenance finale

Travail d'étude et de recherches - soutenance finale b. Le Plugin Nouveau plugin pour la version 3.1 d’Eclipse. Bien plus abouti que celui développé par Laurent Quintian. En parfaite adéquation avec les exigences. Plan : 1. Rappels 2. Déroulement Organisation 3. Travail effectué 4. Évaluation – travail restant 5. Conclusion 6. Références Bibliographiques Travail d'étude et de recherches - soutenance finale

Travail d'étude et de recherches - soutenance finale b. Le Plugin (suite) Présence d’un « wizard » pour lancer l’éditeur. Ajout d’une « nature » permettant d’utiliser, ou non, notre précompilateur. Évolution et adaptation constantes, tout au long du développement. Plan : 1. Rappels 2. Déroulement Organisation 3. Travail effectué 4. Évaluation – travail restant 5. Conclusion 6. Références Bibliographiques Travail d'étude et de recherches - soutenance finale

Travail d'étude et de recherches - soutenance finale c. L’Éditeur Ajouts Nouveaux filtres pour le menu contextuel Nouveau filtre pour le « wizard » Modifications Modification des filtres pour les extensions des fichiers Plan : 1. Rappels 2. Déroulement Organisation 3. Travail effectué 4. Évaluation – travail restant 5. Conclusion 6. Références Bibliographiques Travail d'étude et de recherches - soutenance finale

d. La Réification du langage But : pouvoir manipuler les objets du langage (packages, classes, attributs, méthodes …) Abstraire le langage à manipuler Faciliter le travail sur les adaptations Accroître l’extensibilité et la lisibilité Plan : 1. Rappels 2. Déroulement Organisation 3. Travail effectué 4. Évaluation – travail restant 5. Conclusion 6. Références Bibliographiques Travail d'étude et de recherches - soutenance finale

d. La Réification du langage (suite) Comment : Utilisation des API JDT et AST d’Eclipse Création de classes qui encapsulent les éléments du JDT et proposent les principales opérations Création d’un plugin de tests (voir logs en annexe) Plan : 1. Rappels 2. Déroulement Organisation 3. Travail effectué 4. Évaluation – travail restant 5. Conclusion 6. Références Bibliographiques Travail d'étude et de recherches - soutenance finale

Travail d'étude et de recherches - soutenance finale e. Les Adaptations Les adaptations: Opérations élémentaires pour la composition Se basent sur le paquetage language Nécessitent un long travail de réflexion Travail effectué Recherche des cibles Test spécifique à chaque adaptation Réalisation de l’adaptation Batterie de tests paramétrables Plan : 1. Rappels 2. Déroulement Organisation 3. Travail effectué 4. Évaluation – travail restant 5. Conclusion 6. Références Bibliographiques Travail d'étude et de recherches - soutenance finale

Travail d'étude et de recherches - soutenance finale f. Le Moteur Une nouvelle architecture D’abord intégrée à JAdapt 1 Pour pouvoir tester Pour valider le travail Puis intégrée à notre version Simplifications apportées Plan : 1. Rappels 2. Déroulement Organisation 3. Travail effectué 4. Évaluation – travail restant 5. Conclusion 6. Références Bibliographiques Travail d'étude et de recherches - soutenance finale

f. Le Moteur - implémentation Le nouveau moteur (packages engines + core) project.retrieveInterestingConcerns(); List<FlattenedAdapter> adapters = project.getFlattenedAdapters(); for(Iterator<FlattenedAdapter> iter = adapters.iterator(); iter.hasNext();) for(Iterator<ConcreteAdaptation> iter2 = iter.next().getAdaptations().iterator(); iter2.hasNext();) if (! iter2.next().performChecks()) return; iter.next().executeAdaptations(); Plan : 1. Rappels 2. Déroulement Organisation 3. Travail effectué 4. Évaluation – travail restant 5. Conclusion 6. Références Bibliographiques Travail d'étude et de recherches - soutenance finale

4. Évaluation et travail restant Plugin très complet Éditeur permettant de saisir toutes les adaptations du modèle actuel Code de l’application Fonctions non utilisées pas forcément implémentées Adaptations : Interceptions d’attributs à finir Certaines non testées Plan : 1. Rappels 2. Déroulement Organisation 3. Travail effectué 4. Évaluation – travail restant 5. Conclusion 6. Références Bibliographiques Travail d'étude et de recherches - soutenance finale

Évaluation et travail restant (suite) Langage : Expressivité partielle Certaines entités moins implémentées que d’autres Plan : 1. Rappels 2. Déroulement Organisation 3. Travail effectué 4. Évaluation – travail restant 5. Conclusion 6. Références Bibliographiques Travail d'étude et de recherches - soutenance finale

5. Conclusion et remerciements Nous tenons à remercier nos encadreurs Philippe Lahire Pierre Crescenzo Pour leur aide au quotidien, et nous avoir supporté tout au long de ce TER. Plan : 1. Rappels 2. Déroulement Organisation 3. Travail effectué 4. Évaluation – travail restant 5. Conclusion 6. Références Bibliographiques Travail d'étude et de recherches - soutenance finale

6. Références bibliographiques [LQ04a] P. Lahire and L. Quintian. New perspectives to improve reusability in object-oriented languages. Research Report I3S/RR–2004-XX–FR, I3S laboratory (UNSA/CNRS), Sophia-Antipolis France, September 2004. pages 20. L. Quintian. JAdapt : Un modèle pour améliorer la reutilisation des preoccupations dans le paradigme objet. Ph.D thesis in Computer Science, University of Nice – Sophia Antipolis, Sophia Antipolis, France, July 2004. T. Férut and S. Leroy : Travail d’étude – La programmation orientée aspects. University of Nice – Sophia Antipolis, Nice, June 2004. Plan : 1. Rappels 2. Déroulement Organisation 3. Travail effectué 4. Évaluation – travail restant 5. Conclusion 6. Références Bibliographiques Travail d'étude et de recherches - soutenance finale