430 likes | 1.01k Views
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. Participants. Bonfils David Férut Térence Julien Nicolas Leroy Sébastien Encadrés par : Lahire Philippe Crescenzo Pierre. Plan général.
E N D
Soutenance du Travail d’Etude et de RecherchesMaster 1 STIC Année 2005 Plugin Eclipse pour la composition des préoccupations dans le langage Java
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
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
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
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 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 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 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
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 Modifications dans le CdC 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
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
É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
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
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
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
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
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 • Souvent besoin de modifier les « Descriptor » 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 • 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; • for(Iterator<FlattenedAdapter> iter = adapters.iterator(); iter.hasNext();) 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