projet de fin d'études supcom chandoul - 2005
DESCRIPTION
Transport multimodaleTRANSCRIPT
Conception et Développement d’un Système D’Information
Multimodale Pour Les Transports Collectifs
Réalisé par :Haythem CHANDOUL
Encadré par :Mhamed CHAMMAM
2
Plan de l’exposé
Introduction1- Système d’information multimodale2- Spécification d’un SIMT3- Conception du SIMT4- Modélisation du réseau de TC5- Développement du SIMT Conclusion et perspectives
3
Introduction
• Objectifs du projet :– La spécification et la conception d’un système
d’information pour les usagers des TC englobant les phases de :• Collecte des données.• Leur homogénéisation et intégration.• L’élaboration de l’information et sa distribution.
– La réalisation d’un système d’aide au déplacement multimodal.
4
L’information multimodale
• Multimodalité :– Offre de plusieurs moyens de transports pour
effectuer un déplacement.
• Information multimodale : – Éclaire le choix modal : Permet d’utiliser au
choix un des modes de transport ou de les articuler successivement.
– Facilite l’usage des réseaux : Permet d’accompagner le voyageur et l’informer à bon escient.
5
l’information aux usagers des TC
• Exigences :– Avant le déplacement :
phase de préparation• comparer les
possibilités de voyages.
• Informations parallèles…
– en déplacement : phase d’accompagnement
• Informations sur les conditions de déplacement : durée, temps d’attente,
• alternatives en cas de perturbation…
• Solution :
6
• Rôle : – Fournit des informations utiles sur les différents
modes de transport avant et au cours du déplacement : itinéraires, modes de transport, durées, coûts, temps de retard, incidents…
• Distribution de l’information :– S’appuie sur les différents médias de
communication : Internet, la radio, les PMV, le téléphone mobile via SMS ou WAP, les bornes interactives…
• Services fournis :– De base : Informations sur les transports– Annexes : Informations culturelles, touristiques, de
loisirs…
Système d’information multimodale (SIM)
7
La chaîne de l’information
8
Spécification d’un simt
• Démarche d’élaboration du simt:– Utilisation du formalisme UML : notation et langage de
représentation graphique. – Emploi du processus unifié 2TUP (en Y) : séquences
d’étapes pour construire le système.
28/223/2 18/4
7/3 14/3 21/3 28/3 4/4 11/4
Modèl es canadien, f r ançais ,angl ais et al l emand
Et udepr él imminair e
(Bibl iogr aphie)
Cahier deschar ges
pr él iminair e
Act eur sCas d'ut il isat ion
Descr ipt onPaquet ages
Cl asses condidat es
Capt ur edes besoins
f onct ionnel s
S pécifi cat ionst echniques
Capt ur e des besoins t echniques
Modèle statique : affiner les classes,ajouter les attributs
Modèle dynamique :Identifier et formaliserles scénarii
Analyse
Diagr ammesdes cl assesdynamiques
Diagr ammesdes cl asses
s t at iques
9
• Les acteurs : – le fournisseur, l’administrateur, l’utilisateur, le passager.
• 1er Sous-système :
Spécification d’un simt
Gestion des informations collectées
<<subsystem>>
Fournisseur de données sur le transport
Fournisseur de données sur le traficFournisseur de
données annexes
Homogénéiser les données collectées
Intégrer les données formatées
S'authentifier
Fournisseur de données sur la météo et l'environnement
Générer les données à envoyer
Fournisseur
Traiter les données collectées
<<include>>
<<include>>
Effectuer les mises à jour pour les véhicules de transport
<<include>>
<<include>>
Gérer la base de données
Gérer la collecte des données
<<extend>>
<<include>>
Elaborer l 'information sur le transport
Administrateur
<<extend>>
<<extend>>
<<extend>>
– Gérer la collecte des données.– Traiter les données collectées.– Élaborer l’information.– Gérer la base de données.– Effectuer les mises à jour pour les véhicules de transport.
10
Spécification d’un simt
• 2ème Sous-système :
Gestion d'accès aux informations
<<subsystem>>
– Planifier un voyage.– Accéder aux informations générales.– Accéder aux informations localisées.– Accéder aux offres et annonces – Évaluer le service.
Valider l'accès
Choisir la plage horaireGérer les préf érences d'une possibilité
Accéder aux av is et alertes
Garder une trace du plan
Choisir le mode de transport
Localisation
Accéder aux inf ormations localisées
<<include>>
Passager Voy ageur en pré
parationOrganisateur de v oy age
Autre FSI sur le transport
Choisir le trajet
Gérer les paramètres du v oy age<<include>>
<<include>>
<<extend>>
Administrateur
Planif ier un v oy age
<<extend>>
<<include>>
<<extend>>
<<include>>
Accéder aux inf os générales
<<include>>
<<include>>
Accéder aux of f res et annonces du FSI
Ev aluer le serv ice
<<extend>>
Utilisateur
<<extend>>
11
Spécification d’un simt
• Description des cas d’utilisation :
Diagrammes deSéquences système :
Textuelle :
2. Importer les données
Acteur Système
1. L’administrateur lance la fonctionnalité d’import de
données.
2. Le système demande le mécanisme d’import à activer.
3. L’administrateur spécifie le mécanisme.
4. Le système demande d’où importer.
5. L’administrateur détermine l’emplacement.
6. Le système lance l’opération d’import.
7. Le système les stocke avec l’identifiant de leur
source.8. Le système acquitte
l’opération.9. Le système génère un
rapport.
12
Conception du simt
• Analyse objet : - modèle statique- Affiner les classes, Ajouter les opérations- Aboutir au modèle dynamique
• Modèle statique :Fournisseur
Nom : StringAdresses : String []
ImportMecanismes : String []
CollectedData
DefaultImportStockEmplacement : URLDefaultDepositStockEmplacement : URLImportMecanisms : Hashtable
0..n
1..n
0..n
1..n
importer
AddedData
DefaultStockEmplacement : URL
ManagedData
DefaultCreatedDataEmplacement : URL
Format
CreatedDataFormats : HashtableDataOutFormats : HashtableDataInFormats : Hashtable0..n0..n 0..n0..n
verifier
0..n
0..n
0..n
0..nverifier
SentData
SendingMecanisms : HashtableDesinations : URL[ ]
0..n
0..n
0..n
0..n
verifier
ElaborateData
DefaultFileEmlacement : URLDefaultCreationParams : HashtableDefaultCalculParams : Hashtable
Historique
DefaultFile : FileTimeOut : Date
10..n 10..n
ajouter
1
0..n
1
0..n
ajouter
1
0..n
1
0..najouter
1
0..n
1
0..n
ajouter
1
ajouter
1
S-S de gestion des données collectées
13
Conception du simt
• Ajout des opérations
: Administrateur: CollectedData : Fournisseur : Historique
getDataTypes()
setDataType(DataType)
listFournisseurs(DataType)
setImportFournisseur(Fournisseur)
getImportMecanism(Fournisseur)
setImporMecanism(Mecanism)
setImportEmplacement(ImportEmplacement)
setImportStockEmplacement(ImportStockEmplacement)
import()
importOK()
ajouterHistorique()
: Utilisateur : PlanifierVoyageUser : ControllerVoyage
: Voyage
: PossibiliteVoyage
: ShemaVoyageUser
1: planifierVoyage( ) 2: planifierVoyage( )
5: afficher( )
3: createVoyage( )
4: createPossibilities( )
Diagramme d’interaction Diagramme de collaboration
14
Conception du simt
• Modèle dynamique :
ErrorParamsVoyage
message_erreur
PlanifierVoyageUser
afficher()planifierVoyage()changerVoyage()
ShemaVoyageUser
afficher()trierPossibilities()infosPossibility()
changePossibility()changeVoyage()
InfosPossibiliteUser
afficher()changePossibility()
ControllerVoyage
planifierVoyage()trierPossibilities()infosPossibility()
changePossibility()changeVoyage()
PossibiliteVoyage
details()createPossibilities()
destroy()selectPossibilities()
Voyage
createVoyage()trierPossibilities()detailPossibility()
changePossibility()change()
0..n
1
0..n
1
Fournisseur
Nom : StringAdresses : String []
ImportMecanismes : String []
listFournisseurs()getImportMecanism()
addFournisseur()modifyFournisseur()deleteFournisseur()
Format
CreatedDataFormats : HashtableDataOutFormats : HashtableDataInFormats : Hashtable
getFusionDataInFormat()getFusionDataOutFormat()getCreatedDataFormat()verifyFusionDataIn()verifyFusionDataOut()verifyCreatedData()listFormats()addFormat()modifyFormat()deleteFormat()
CollectedData
DefaultImportStockEmplacement : URLDefaultDepositStockEmplacement : URLImportMecanisms : Hashtable
getDataTypes()setDataType()setImportFournisseur()setImportMecanism()setImportEmplacement()setImportStockEmplacement()importData()setDepositEmplacement()setDepositStockEmplacement()deposit()
0..n
1..n
0..n
1..n
importer
AddedData
DefaultStockEmplacement : URL
setFusionDataInFormat()setFusionDataInEmplacement()fusionDataInOK()setFusionDataOutFormat()setFusionDataOutEmplacement()fusionDataFormatOutOK()fusionData()setIntegrateDataEmplacement()integrateData()
0..n0..n
0..n0..n
verifier
ManagedData
DefaultCreatedDataEmplacement : URL
getDataTypes()listData()filterData()modifyData()deleteData()addData()addSelectedData()setCreatedDataEmplacement()setCreatedDataFormat()createData()
0..n
0..n
0..n
0..n
verifier
SentData
SendingMecanisms : HashtableDesinations : URL[ ]
listDestinations()setDestination()addDestination()modifyDestination()deleteDestination()setSendingMecanism()setCreatedDataEmplacement()send()createdDataFormatOK()
0..n
0..n
0..n
0..n
verifier
Historique
DefaultFile : FileTimeOut : Date
ajouterHistorique()listerHistorique()deleteHistorique()filterHistorique()
1
0..n
1
0..n
ajouter
1
0..n
1
0..n
ajouter
1 0..n1 0..n
ajouter
1
0..n
1
0..n
ajouterElaborateData
DefaultFileEmlacement : URLDefaultCreationParams : HashtableDefaultCalculParams : Hashtable
setFileEmplacement()setCreationParams()setCalculParams()saveParams()
11
ajouter
Modèle du 1er sous-systèmeDiagramme de classes pour la planification de voyages
15
Modélisation du réseau de TC
• Origine : Théorie des graphes• Analogies : • Apport :
Horaire 1Heure de départ = 9 :00 9 :00 9 :05 9 :10 9 :15
Horaire 2Heure de départ = 10 :00
10 :00 10 :05 10 :10 10 :15
16
Modélisation du réseau de TC
• Le modèle et les relations :Réseau
idRéseaunom
Ligne
idLignenuméro
1..n1 1..n1
Horaire
heure
Itinéraire
idItinéraire
1..n
1
1..n
1
1..n1..n 1..n1..n
Station
idStationnom
2
0..n
2
0..n
Tronçon
idTronçondurée1..n1..n 1..n1..n
2
1..n
2
1..n
•Concrétisation : Format XML
17
Représentation avec XML
• Caractéristiques de l’information sur les TC :– Facile à générer, à lire, à transférer et à transformer.– Bien structurée mais pas trop rigide.– Représentée indépendamment de l’application, de la
machine et du réseau.• Choix de XML pour la représentation
– Permet l’Interrogation des données sans connaissance de leur structure ni de leur contenu.
– Méthode pour mémoriser les données structurées.– Lisible, extensible, portable et permet l’accès à des
sources de données hétérogènes.– Normalisé et indépendant de toute plateforme.
18
Représentation avec XML
• Fichier XML
• DTD
19
Développement du simt
• Calcul d’itinéraires :– algorithme : algorithme de recherche des k plus courts
chemins avec la technique d’étiquetage dans un graphes avec boucles (LSKSPA).
(www.mat.uc.pt/~eqvm/cientificos/ investigacao/Artigos/labeling.ps.gz )• Complexité théorique : O(Km) en temps et en mémoire.
– Implémentation :• Hypothèses :
– Prendre le 1er départ de chaque ligne.– Succession des départs et des arrivées.– Considérer que les durées des tronçons sont fixes.– Ne pas tenir compte du trafic.
• Optimisation :– Élimination des boucles.– Élimination des solutions triviales.
20
Développement du simt
• Outils de développement : issus de l’open source et basés sur le langage JAVA.
• Processus de développement :– Génération de l’information sur le TC à partir de
l’information brute• Outil : éditeur XML spécifique basé sur l’api JAXP
– Conversion du contenu du fichier XML vers le format MGL
• Outil : algorithme de conversion basé sur le langage de requêtes XPath.
– Génération du graphe du réseau de TC pour le calcul d’itinéraires
• Outil : L’api Mascopt pour générer le réseau à partir du fichier MGL et Implémentation du LSKSPA.
21
Développement du simt
• Distribution :– Axée sur la mobilité du voyageur : SMS
• Outil : L’api smppapi qui implémente le protocole SMPP v3.4– Axée sur la distribution à grande échelle : Web
• Outil : le langage JSP.
22
Conclusion et perspectives
• Innovations :– Conception du 1er SIM pour le TC tunisien.– Modélisation du réseau de TC.
• Apports :– Fonctionnels : utilisation de la notation UML (gestion
du projet et qualité du système)– Techniques : utilisation des standards XML, le
langage de requêtes XPath et JAVA. • Solutions :
– Adaptées à la mobilité du voyageurs (SMS).– Accessibles à grande échelle (Web).– Système exploitable par les organismes privés ou
publiques.
23
Conclusion et perspectives
• Améliorations :– Information brute plus précise et plus disponible de
la part des opérateurs.– Tenir compte de l’information temps réel et du
trafic.– Emploi d’heuristiques pour optimiser le calcul
d’itinéraires.– Déploiement des services pour les applications
industrielles (Agences de voyages) avec la technique du web services.