Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parChrestien Nicolle Modifié depuis plus de 10 années
1
Projet NavInc Florian Bastien Fabien Cornic Antoine Després
François Droumaguet Bastien Przybylski Responsables : Jean-Louis Pazat Nikos Parlavantzas
2
Sommaire Objectifs et cadre du projet Architecture générale Fonctions
Réalisation Tests Bilan 2
3
Sommaire Objectifs et cadre du projet Architecture générale Fonctions
Réalisation Tests Bilan 3
4
Objectifs et cadre du projet 1/5
Réaliser un logiciel de navigation « GPS » Montrer la composition et l'adaptation de services Servir de base au développement d’un démonstrateur - Le boitier GPS utilise des services - Le démonstrateur montre la composition et l'adaptation de services
5
Objectifs et cadre du projet 2/5
IRISA Unité mixte de projet De nombreux collaborateurs Équipe PARIS au sein du réseau S-Cube S-Cube Réseau d’excellence européen Programmation orientée service Projet de 4ieme année Informatique INSA PARIS?
6
Objectifs et cadre du projet 3/5
Architecture Orientée Service Contrat standardisé Couplage lâche Capacité de localiser Cohésion · Contrat standardisé : chaque service doit décrire ses caractéristiques fonctionnelles et non fonctionnelles dans un contrat. · Couplage lâche (loosely-coupled) : les services sont connectés aux clients via des contrats qui sont indépendants de l’implémentation des services. · Localisabilité : le contrat contient des méta données par lesquelles les services peuvent être trouvés. · Cohésion : les fonctionnalités fournies par un service sont fortement liées.
7
Objectifs et cadre du projet 4/5
Adaptation Adaptation dynamique : modification du comportement du logiciel pendant l’exécution en fonction du contexte qui l’entoure 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 qu’elle permet de remplacer/ajouter/enlever des services pendant l’exécution
8
Objectifs et cadre du projet 5/5
OSGi (Open Services Gateway initiative) Framework pour services basé sur Java Unité de déploiement : le bundle Framework OSGi Cycle de vie d’un bundle Cf :
9
Sommaire Objectifs et cadre du projet Architecture générale Fonctions
Réalisation Tests Bilan 9
10
Architecture générale 1/2
Parler de la structure. Pas donner le détail des service (donné dans les spécif fonct.)
11
Architecture générale 2/2
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 d’un service Appels aux opérations d’autres services pour qu’ils s’adaptent Suivi des liaisons entre les services
12
Sommaire Objectifs et cadre du projet Architecture générale Fonctions
Réalisation Tests Bilan 12
13
Fonctionnalités 1/2
14
Fonctionnalités 2/2 Services liés au boitier de navigation :
Routage Geolocalisation Localisation Services liés à notre architecture GestionnaireServices IHM Administration Console
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
16
Scenarii 2/2 Permettent de démontrer : La composition de services
L’adaptation réactive (perte de carte) L’adaptation proactive (passage sous un tunnel)
17
Sommaire Objectifs et cadre du projet Architecture générale Fonctions
Réalisation Tests Bilan 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
19
Réalisation – Gestionnaire de services 1/2
Résoud les dépendances entre les services au démarrage de l’application Adapte dynamiquement les services utilisés en fonction du contexte Contexte Evènements émis par OSGi Evènements émis par les services
20
Réalisation – Gestionnaire de services 2/2
Deux types d’adaptation Réactive Un problème s’est produit, le gestionnaire cherche une solution Proactive Un problème va se produire, le gestionnaire cherche un moyen de l’éviter
21
Réalisation – Services annexes 1/3
Deux services annexes Service console Service administration Affiche à l’écran les actions du gestionnaire de services ainsi que les évènements du contexte Permet de démarrer et d’arrêter les services utilisés dans l’application
22
Réalisation – Services annexes 2/3
Vue du service console
23
Réalisation – Services annexes 3/3
Vue du service d’administration
24
Réalisation – Service IHM 1/2
Point d’entrée de l’application Permet à l’utilisateur d’utiliser les fonctionnalités du logiciel Permet d’afficher les cartes, les itinéraires et les informations de guidage
25
Réalisation – Service IHM 2/2
Vue du service IHM
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 l’architecture Schéma des dépendances après modification de l’architecture
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 l’intégrer dans l’application 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
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
34
Sommaire Objectifs et cadre du projet Architecture générale Fonctions
Réalisation Tests Bilan 34
35
Tests Tests unitaires et tests d’intégration
Accent sur les tests unitaires des classes de Traveling Salesman Tests d’intégration au fur et à mesure du développement des services. Scenarii : considérés comme un test final de tous les services
36
Scenarii 1/4 Déroulement du scenario « obtenir un itinéraire »
GestionDe Donnees IHM 2 3 : carte 1 : adresse 2 : coordonnées 1 : position courante Geolocalisation 4 : coordonnées Localisation
37
Scenarii 1/4 Déroulement du scenario « obtenir un itinéraire » Routage
1 : coordonnées 4 : itinéraire IHM 2 3 : carte 5 : itinéraire 6 Cartographie GestionDe Donnees 7 : carte
38
Scenarii 2/4 Déroulement du scenario « obtenir le guidage »
GestionDe Donnees IHM 5 1 4 : instructions 9 : carte 8 6 : coordonnées 7 : coordonnées 2 Cartographie Navigation Geolocalisation 3 : coordonnées
39
Gestionnaire Services
Scenarii 3/4 Déroulement du scenario « perte du service de carte » utilise Cartogra phie IHM Cartographie Secours Gestionnaire Services OSGi
40
Gestionnaire Services
Scenarii 3/4 Déroulement du scenario « perte du service de carte » utilise Cartogra phie IHM Cartographie Secours modification dépendance Gestionnaire Services événement arrêt service OSGi
41
Scenarii 4/4 Déroulement du scenario « passage sous un tunnel »
Geolocalisation (GPS) Geolocalisation (GPS) utilise IHM utilise Geolocalisation (GSM) utilise modification dépendance Gestionnaire Services Navigation événement tunnel proche OSGi
42
Sommaire Objectifs et cadre du projet Architecture générale Fonctions
Réalisation Tests Bilan 42
43
Bilan Ce qui a été réalisé : Adaptation dynamique des services
Application GPS à partir de Traveling Salesman Implémentation de 4 scenarii
44
Bilan Ce qui n’a pas pu être réalisé :
2 scenarii parmi ceux initialement prévus Application autonome (sans Eclipse)
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 d’autonomie de l’application 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 l’adaptation dynamique
47
Bilan – Planification 2/5
Analyse des risques Retard si Traveling Salesman ne peut pas être réutilisé Retard si la technologie OSGi n’est 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 l’avancement du projet
48
Bilan – Planification 3/5
Deux phases de développement Sans Traveling Salesman (mois de mars) Développement du mécanisme d’adaptation dynamique en fonction du contexte Recherche d’une solution pour pouvoir réutiliser Traveling Salesman Avec Traveling Salesman (avril et mai) Développement des services utilisant Traveling Salesman
49
Bilan – Planification 4/5
Ordonnancement réel des tâches
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 d’intégration => Bonne communication entre les deux équipes
51
Remerciements Nous remercions nos encadreurs Et également
Jean-Louis Pazat Nikos Parlavantzas Et également Lars Vogel, rédacteur d’un excellent guide d’utilisation d’OSGi Les contributeurs au projet Traveling Salesman
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.