La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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.

Présentations similaires


Présentation au sujet: "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."— Transcription de la présentation:

1 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

2 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

3 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

4 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

5 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

6 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

7 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

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

9 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

10 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

11 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

12 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

13 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

14 É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

15 É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

16 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

17 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

18 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

19 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

20 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

21 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

22 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

23 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

24 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

25 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

26 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

27 É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

28 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

29 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 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


Télécharger ppt "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."

Présentations similaires


Annonces Google