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

Projet NavInc Florian Bastien Fabien Cornic Antoine Després François Droumaguet Bastien Przybylski Responsables : Jean-Louis Pazat Nikos Parlavantzas.

Présentations similaires


Présentation au sujet: "Projet NavInc Florian Bastien Fabien Cornic Antoine Després François Droumaguet Bastien Przybylski Responsables : Jean-Louis Pazat Nikos Parlavantzas."— Transcription de la présentation:

1 Projet NavInc Florian Bastien Fabien Cornic Antoine Després François Droumaguet Bastien Przybylski Responsables : Jean-Louis Pazat Nikos Parlavantzas

2 Objectifs et cadre du projet Architecture générale Fonctions Réalisation Tests Bilan Sommaire 2

3 Objectifs et cadre du projet Architecture générale Fonctions Réalisation Tests Bilan Sommaire 3

4 Objectifs : Réaliser un logiciel de navigation « GPS » Montrer la composition et l'adaptation de services Servir de base au développement dun démonstrateur Objectifs et cadre du projet 1/5 4

5 IRISA Unité mixte de projet De nombreux collaborateurs Équipe PARIS au sein du réseau S-Cube S-Cube Réseau dexcellence européen Programmation orientée service Projet de 4 ieme année Informatique INSA Objectifs et cadre du projet 2/5 5

6 Architecture Orientée Service Contrat standardisé Couplage lâche Capacité de localiser Cohésion Objectifs et cadre du projet 3/5 6

7 Adaptation Adaptation dynamique : modification du comportement du logiciel pendant lexécution en fonction du contexte qui lentoure Comprend trois tâches observer le contexte déterminer les changements à apporter au logiciel exécuter les changements sur le logiciel L'architecture orientée services facilite les changements parce quelle permet de remplacer/ajouter/enlever des services pendant lexécution Objectifs et cadre du projet 4/5 7

8 OSGi ( Open Services Gateway initiative) Framework pour services basé sur Java Unité de déploiement : le bundle Cycle de vie dun bundle Framework OSGi Objectifs et cadre du projet 5/5 8

9 Objectifs et cadre du projet Architecture générale Fonctions Réalisation Tests Bilan Sommaire 9

10 Architecture générale 1/2 10

11 Gestion et adaptation de services Gestion des évènements levés par le framework ou les services Arrêt et démarrage de service Réalisation des adaptations : Arrêt, démarrage ou modification des liaisons dun service Appels aux opérations dautres services pour quils sadaptent Suivi des liaisons entre les services Architecture générale 2/2 11

12 Objectifs et cadre du projet Architecture générale Fonctions Réalisation Tests Bilan Sommaire 12

13 Fonctionnalités 1/2 13

14 Fonctionnalités 2/2 Services liés au boitier de navigation : Navigation Routage Geolocalisation Localisation Services liés à notre architecture GestionnaireServices IHM Administration Console 14

15 Scenarii 1/2 Scenarii prévus pour la démonstration : Obtenir un itinéraire Obtenir le guidage Perte du service de carte Passage sous un tunnel 15

16 Scenarii 2/2 Permettent de démontrer : La composition de services Ladaptation réactive (perte de carte) Ladaptation proactive (passage sous un tunnel) 16

17 Objectifs et cadre du projet Architecture générale Fonctions Réalisation Tests Bilan Sommaire 17

18 Réalisation – Catégories des services Plusieurs catégories de services Services qui utilisent Traveling Salesman Services qui utilisent une IHM Gestionnaire de services Dépendances entre les services Les services exposent les dépendances dont ils ont besoin Un service spécial, le gestionnaire de services, va résoudre ces dépendances 18

19 Réalisation – Gestionnaire de services 1/2 Gestionnaire de services Résoud les dépendances entre les services au démarrage de lapplication Adapte dynamiquement les services utilisés en fonction du contexte Contexte Evènements émis par OSGi Evènements émis par les services 19

20 Réalisation – Gestionnaire de services 2/2 Deux types dadaptation Réactive Un problème sest produit, le gestionnaire cherche une solution Proactive Un problème va se produire, le gestionnaire cherche un moyen de léviter 20

21 Réalisation – Services annexes 1/3 Deux services annexes Service console Service administration Service console Affiche à lécran les actions du gestionnaire de services ainsi que les évènements du contexte Service administration Permet de démarrer et darrêter les services utilisés dans lapplication 21

22 Réalisation – Services annexes 2/3 Vue du service console 22

23 Réalisation – Services annexes 3/3 Vue du service dadministration 23

24 Réalisation – Service IHM 1/2 Point dentrée de lapplication Permet à lutilisateur dutiliser les fonctionnalités du logiciel Permet dafficher les cartes, les itinéraires et les informations de guidage 24

25 Réalisation – Service IHM 2/2 Vue du service IHM 25

26 Réalisation - Traveling Salesman 1/4 Réutiliser l'existant : Traveling Salesman Système de navigation Open source Développé en JAVA 26

27 Réalisation - Traveling Salesman 2/4 Objectif : greffer notre logiciel sur une instance de Traveling Salesman Problème : impossible de lancer Traveling Salesman à partir des sources Solution : récupérer les classes dont nous avons besoin 27

28 Réalisation - Traveling Salesman 3/4 Extraction des fonctionnalités nécessaires pour notre démonstrateur Récupération de toutes les classes utilisées Création d'un bundle bibliothèque 28

29 Réalisation - Traveling Salesman 4/4 Schéma des dépendances avant modification de larchitecture Schéma des dépendances après modification de larchitecture 29

30 Réalisation – services fonctionnels Étape 1 : réaliser une classe fonctionnelle respectant une interface définie en utilisant le code de Traveling Salesman Étape 2 : encapsuler cette classe dans un service OSGi et lintégrer dans lapplication Développement progressif suivant l'ordre des dépendances entre les services 30

31 Réalisation – services pour la simulation Deux services ne sont pas basés sur Traveling Salesman: Service de géolocalisation Service d'horloge Ces deux services permettent de simuler un trajet 31

32 Réalisation – serveur OSGi 1/2 Problème Utiliser le logiciel NavInc sans passer par eclipse Solution Utiliser un serveur OSGi autonome dédié à notre logiciel 32

33 Réalisation – serveur OSGi 2/2 Problèmes rencontrés Problèmes de synchronisation entre les threads swing et les threads de démarrage des services Solution trouvée: ouvrir les IHM dans un nouveau thread Problèmes de résolution des dépendances entre les services Pas de solution pour le moment => Actuellement pas de version sans eclipse 33

34 Objectifs et cadre du projet Architecture générale Fonctions Réalisation Tests Bilan Sommaire 34

35 Tests Tests unitaires et tests dintégration Accent sur les tests unitaires des classes de Traveling Salesman Tests dintégration au fur et à mesure du développement des services. Scenarii : considérés comme un test final de tous les services 35

36 Scenarii 1/4 Déroulement du scenario « obtenir un itinéraire » Geolocalisation 1 : adresse 2 : coordonnées 4 : coordonnées 3 : carte Localisation IHM GestionDe Donnees 1 : position courante 2 36

37 Scenarii 1/4 1 : coordonnées 3 : carte 4 : itinéraire 5 : itinéraire 7 : carte IHM Routage GestionDe Donnees 2 Cartographie 6 Déroulement du scenario « obtenir un itinéraire » 37

38 Scenarii 2/4 Déroulement du scenario « obtenir le guidage » 3 : coordonnées 4 : instructions 9 : carte IHM GeolocalisationNavigation 7 : coordonnées 1 2 Cartographie GestionDe Donnees 8 6 : coordonnées 5 38

39 Scenarii 3/4 Déroulement du scenario « perte du service de carte » OSGi utilise IHM Cartographie Secours Cartographie Gestionnaire Services 39

40 Scenarii 3/4 Déroulement du scenario « perte du service de carte » modification dépendance événement arrêt service Cartographie utilise IHM Cartographie Secours OSGi Gestionnaire Services 40

41 Scenarii 4/4 Déroulement du scenario « passage sous un tunnel » utilise IHM OSGi Gestionnaire Services Geolocalisation (GPS) Geolocalisation (GSM) Navigation événement tunnel proche modification dépendance utilise Geolocalisation (GPS) 41

42 Objectifs et cadre du projet Architecture générale Fonctions Réalisation Tests Bilan Sommaire 42

43 Bilan Ce qui a été réalisé : Adaptation dynamique des services Application GPS à partir de Traveling Salesman Implémentation de 4 scenarii 43

44 Bilan Ce qui na pas pu être réalisé : 2 scenarii parmi ceux initialement prévus Application autonome (sans Eclipse) 44

45 Bilan Ce qui pourrait être fait dans le futur : Généralisation de la gestion des événements, en particulier ceux qui entraînent une adaptation Développement du mécanisme de propriétés des services permettant de les comparer sur des critères Utilisation de SWT comme bibliothèque graphique pour résoudre les problèmes dautonomie de lapplication 45

46 Bilan – Planification 1/5 Deux équipes Léquipe Traveling Salesman Trouver un moyen de réutiliser Traveling Salesman Léquipe OSGi Trouver un moyen de faire de ladaptation dynamique 46

47 Bilan – Planification 2/5 Analyse des risques Retard si Traveling Salesman ne peut pas être réutilisé Retard si la technologie OSGi nest pas maitrisée Modification de la planification Prise en compte du risque de ne pas pouvoir réutiliser Traveling Salesman dès le début du développement Adaptation de la répartition des tâches pour ne pas être bloqué dans lavancement du projet 47

48 Bilan – Planification 3/5 Deux phases de développement Sans Traveling Salesman (mois de mars) Développement du mécanisme dadaptation dynamique en fonction du contexte Recherche dune solution pour pouvoir réutiliser Traveling Salesman Avec Traveling Salesman (avril et mai) Développement des services utilisant Traveling Salesman 48

49 Bilan – Planification 4/5 Ordonnancement réel des tâches 49

50 Bilan – Planification 5/5 Suivi de projet Réunions régulières de mise au point du travail effectué et du travail à faire Synchronisation des développements en parallèle pour les phases dintégration => Bonne communication entre les deux équipes 50

51 Remerciements Nous remercions nos encadreurs Jean-Louis Pazat Nikos Parlavantzas Et également Lars Vogel, rédacteur dun excellent guide dutilisation dOSGi Les contributeurs au projet Traveling Salesman 51


Télécharger ppt "Projet NavInc Florian Bastien Fabien Cornic Antoine Després François Droumaguet Bastien Przybylski Responsables : Jean-Louis Pazat Nikos Parlavantzas."

Présentations similaires


Annonces Google