Download - Gestion d’une gare
![Page 1: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/1.jpg)
Gestion d’une gareProjet de fin d’étude
BADOCHE – BLACHE – CAPALDI – FAMEY
![Page 2: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/2.jpg)
Sommaire
• Cahier des charges• Analyse fonctionnelle• Gestion de projet• Difficultés rencontrées• Exemple d’utilisation• Conclusion
2
![Page 3: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/3.jpg)
Cahier des charges
3
![Page 4: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/4.jpg)
Cahier des charges
• Unicité des affectations• Unicité des trains à quais• Alternance des mission entrantes et sortantes
4
![Page 5: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/5.jpg)
Cahier des charges
• Un train électrifié sur une voie électrifiée • Un train de type fret sur une voie sans quai • La hauteur du quai = hauteur du train• La longueur du quai >= longueur du train• S’il s’agit d’une voie terminus :
5
![Page 6: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/6.jpg)
Analyse fonctionnelle
• Schéma des données• Placement des missions• Décomposition en actigrammes
– Serveur – Exécutable
• Code C• SCADE
6
![Page 7: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/7.jpg)
Schéma des données
7
![Page 8: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/8.jpg)
Placement des missions
• Dest./Provenance: autre que Gare Courante• Horaires d’arrivée et de départ normaux
8
Mission temporaire
![Page 9: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/9.jpg)
Placement des missions
• Destination: Gare Courante• Pas de mission au départ de gare courante• Occupe la voie de stockage définitivement
9
Mission définitivement fixe
![Page 10: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/10.jpg)
Placement des missions
• Destination: Gare Courante• Mission au départ de gare courante existante• Etat placement = prochaine mission
10
Mission en stockage temporaire
![Page 11: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/11.jpg)
Actigramme
11
• SADT ou IDF0• Structure hiérarchisée• Décomposition du système
Action
#Entrée 2
Entrée 1 Sortie 1
Sortie 2
![Page 12: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/12.jpg)
Projet (A0)
12
• A1 Récupération des données sur le serveur• A2 Téléchargement (XML) + Traitement
![Page 13: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/13.jpg)
Serveur (A1)
13
• Affichage et stockage des données
![Page 14: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/14.jpg)
Serveur (A1)
14
![Page 15: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/15.jpg)
Vérificateur de données (A15)
15
• Horaires corrects• Nombres entiers et positifs• Nombres d’items corrects• Dest. et prov. différents de Gare Courante• Bonne alternance pour les missions de Gare
Courante
![Page 16: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/16.jpg)
Vérificateur de données (A15)
16
![Page 17: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/17.jpg)
Projet (A0)
17
• A1 Récupération des données sur le serveur• A2 Téléchargement (XML) + Traitement
![Page 18: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/18.jpg)
Exécutable (A2)
18
• Réalise le traitement automatique des données récupérées au format XML
• Résultat renvoyé au serveur par upload des valeurs successives- avec vérification par CRC
![Page 19: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/19.jpg)
Exécutable (A21)
19
• Télécharge le fichier XML sur le site WEB• Renvoie une erreur en cas d’erreur durant le téléchargement
![Page 20: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/20.jpg)
Exécutable (A22)
20
• Les données XML sont insérées dans la structure gare• Renvoie une erreur en cas d’erreur durant le parsage
![Page 21: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/21.jpg)
Exécutable (A24)
21
• Les données dans le tableau d’affectation sont envoyées au site
• Renvoie une erreur en cas d’erreur durant l’envoi
![Page 22: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/22.jpg)
Exécutable (A25)
22
• Coordonne tout le déroulement du code• Affiche les erreurs si elles surviennent
![Page 23: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/23.jpg)
Exécutable (A25)
23
![Page 24: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/24.jpg)
Exécutable (A23)
24
• Traitement des données en sécurité• Retourne les erreurs si elles surviennent
Bloc de traitement des données
![Page 25: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/25.jpg)
Préparation de la structure
25
![Page 26: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/26.jpg)
Test d’intégrité (B2)
• Identification des incohérence ou erreurs
• Activation de la machine d’état
26
![Page 27: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/27.jpg)
Test d’intégrité (B21)
27
• Unicité des ID
![Page 28: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/28.jpg)
Test d’intégrité (B2)
• Identification des incohérence ou erreurs
• Activation de la machine d’état
28
![Page 29: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/29.jpg)
Machine d’état (B3)
29
![Page 30: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/30.jpg)
Test d’affectation (C0)• Selon les
différents cas• Teste
l’affectabilité
30
![Page 31: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/31.jpg)
Affectation normale (C1)
31
• Vérification de la mission et de la voie en fonction du mode dégradé
• Conversion (arr. et dép.) + test de compatibilité• Affectation si tableau non plein
![Page 32: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/32.jpg)
Affectation dest. GC (C2)
32
• Si une voie de stockage est disponible:– Mission suivante non existante:
• Affectation sur une voie normale (temporaire)• Affectation sur une voie de stockage (def. fixe)En cas de non affectation, rien n’est fait
– Mission suivante existante (voir C3):• Affectation sur une voie normale (temporaire)• Pas d’affectation sur la voie de stockage (car retard
possible) En cas de non affectation, rien n’est fait
![Page 33: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/33.jpg)
Affectation dest. GC (C2)
33
• Si aucune voie de stockage n’est disponible:– Dans tous les cas, il y a une erreur!– On fait remonter l’erreur vers le site (non bloquant)– A l’utilisateur de décider:
• Changer la destination vers le dépôt (réexécution)• Stocker plusieurs train sur une même voie de stockage• …
![Page 34: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/34.jpg)
Affectation prov. GC (C3)
34
• On tente d’affecter la mission (temporaire)• Si la mission ne peut pas être affectée:
– On retente (retour dans la machine d’état)• Si la mission est affectée:
– Si aucune voie de stockage n’est disponible, on remonte l’erreur vers le site (non bloquant).
![Page 35: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/35.jpg)
Affectation prov. GC (C3)
35
![Page 36: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/36.jpg)
Gestion de projet
• Plusieurs changements
– Non utilisation de la carte UP3
– Passage en gestion dynamique
– Non porté sous linux
36
![Page 37: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/37.jpg)
Gestion de projet
• Charge de travail– 350h / personne– 4 personnes– 18 880 lignes de code
• 13.5 lignes par heure
37
Types Réalisés Bibliothèques TotalC 1 101 1 031 2 132SCADE (optimisation. 3) 13 293 0 13 293Site 4 504 351 4 855Total 18 888 1 382 20 270
![Page 38: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/38.jpg)
Gestion de projet• Déroulement du projet
– Un seul chef de projet– Cycle en spirale
38
CdC
Spécification
Réalisation Tests
Validation
![Page 39: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/39.jpg)
Gestion de projet
39
![Page 40: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/40.jpg)
Gestion de projet• Répartition des tâches
40
J-C BADOCHE Pierre BLACHE Thomas CAPALDI Patrick FAMEY
Cahier des
chargesÉcriture du CdC X X X X
Conception /
Implémentation
Gare / Calculs X X
Affectation TA X X
Tests intégrité X
Fusion Gares XPréparation de
gare X X
Site web X
Code C X XTests /
ValidationÉcriture et
exécution des tests X
![Page 41: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/41.jpg)
Difficultés rencontrées• Au niveau du programme C
– « Multi-lancement » du code généré par Scade– Afficher de manière simple un message avec la
date et avec une possibilité aussi de l’écrire dans un fichier de log
41
![Page 42: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/42.jpg)
Difficultés rencontrées• Au niveau de Scade
– Tester et affecter les missions dans le bon ordre en fonction à la fois de leur heure d’arrivée et de leur priorité
42
1
NextMissionAndCheckPriorite
idMission
IdOk
EndOfSearchMission
Gare
Next
GareGare
EndOf SearchMissionEndOf SearchMission
GareModif ieGareModif ie1
MachineEtat
true
FBY
1false
Ty pes::GARE
bool
bool
bool
Ty pes::GARE
int
Ty pes::GARE
bool
Ty pes::GARE
![Page 43: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/43.jpg)
Difficultés rencontrées• Au niveau de Scade
– Simplifier l’accès aux données des structures
43
indexindex
GareGare
Types::GARE
voies
trains
lieux
missions
tableau_Affectation_Quai
GARE
Types::VOIE
id
numero
longueur
hauteur
terminus
sens
elec
categorie
VOIE
[]
CategorieCategorie
Ty pes::DEFAUT_VOIE
QUAI_AFFECTE T̂y pes::NOMBRE_MAX_VOIES
int
MISSION T̂y pes::NOMBRE_MAX_MISSIONS
LIEU T̂y pes::NOMBRE_MAX_LIEUXTy pes::GARE
TRAIN T̂y pes::NOMBRE_MAX_TRAINS
VOIE T̂y pes::NOMBRE_MAX_VOIES
Ty pes::VOIE
int
int
bool
int
bool
bool
bool
bool
Ty pes::VOIE
MissionCandidate.id
![Page 44: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/44.jpg)
Difficultés rencontrées• Au niveau de Scade
– La gestion du tableau d’affectation et de la gare courante
– Gestion des versions– Simulation dans SCADE
• Problème de taille mémoire • Impossible d’aller dans tous les « sous-niveaux »
44
![Page 45: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/45.jpg)
Difficultés rencontrées• Au niveau du site web
– Les missions périodiques– La représentation graphique du tableau
d’affectation
45
![Page 46: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/46.jpg)
Exemple d’utilisation
• Configuration (1ère étape):
46
Voie 1 : Elec, quai bas
Voie 2 : Non Elec, quai haut
Voie 99 : Elec, sans quai
Gare Courante
Rennes Paris
: TER001 : Non Elec, quai haut mission 1
: TGV001 : Elec, quai bas mission 2
![Page 47: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/47.jpg)
Exemple d’utilisation
• Configuration (2nd étape):
47
Voie 1 : Elec, quai bas
Voie 2 : Elec, quai haut
Voie 99 : Elec, sans quai
Gare Courante
Rennes Paris
: TER001 : Non Elec, quai haut mission 1
: TGV001 : Elec, quai bas mission 2
Voie 2 : Non Elec, quai haut
![Page 48: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/48.jpg)
Exemple d’utilisation
• Configuration (3ème étape):
48
Voie 1 : Elec, quai bas
Voie 2 : Elec, quai haut
Voie 99 : Elec, sans quai
Gare Courante
Rennes Paris
: TER001 : Non Elec, quai haut mission 1
: TGV001 : Elec, quai bas mission 2
: TER001 : Non Elec, quai haut mission 1
: TGV001 : Elec, quai bas mission 2
![Page 49: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/49.jpg)
Exemple d’utilisation
• Configuration (4ème étape):
49
Voie 1 : Elec, quai bas
Voie 2 : Elec, quai haut
Voie 99 : Elec, sans quai
Gare Courante
Rennes Paris
: TER001 : Non Elec, quai haut mission 1
: TGV001 : Elec, quai bas mission 2
Gare Courante
![Page 50: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/50.jpg)
Exemple d’utilisation
• Configuration (5ème étape):
50
Voie 1 : Elec, quai bas
Voie 2 : Elec, quai haut
Voie 99 : Elec, sans quai
Gare Courante
Rennes Paris
: TER001 : Non Elec, quai haut mission 1
: TGV001 : Elec, quai bas mission 2 et 3
: TER001 : Non Elec, quai haut mission 1
: TGV001 : Elec, quai bas mission 2
![Page 51: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/51.jpg)
Exemple d’utilisation
• Configuration (6ème étape):
51
Voie 1 : Elec, quai bas
Voie 2 : Elec, quai haut
Voie 99 : Elec, sans quai
Gare Courante
Rennes Paris
: TER001 : Non Elec, quai haut mission 1
: TGV001 : Elec, quai bas mission 2 et 3
: TGV002 : Elec, quai haut mission 4
: TER001 : Non Elec, quai haut mission 1
: TGV001 : Elec, quai bas mission 2 et 3
![Page 52: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/52.jpg)
Exemple d’utilisation
• Configuration (étape finale):
52
Voie 1 : Elec, quai bas
Voie 2 : Elec, quai haut
Voie 99 : Elec, sans quai
Gare Courante
Rennes Paris
: TER001 : Non Elec, quai haut mission 1
: TGV001 : Elec, quai bas mission 2 et 3: TGV002 : Elec, quai haut mission 4
: TER001 : Elec, quai haut mission 5
: TER001 : Non Elec, quai haut mission 1
: TGV001 : Elec, quai bas mission 2 et 3: TGV002 : Elec, quai haut mission 4
![Page 53: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/53.jpg)
Conclusion
• Trois éléments principaux:– Un serveur de calculs (C & SCADE)– Un serveur pour l’affichage et la gestion (web)– Des postes clients pour les usagers et les
utilisateurs• Vision globale sur un projet complet• Nouvelles connaissances
53
![Page 54: Gestion d’une gare](https://reader036.vdocuments.mx/reader036/viewer/2022062316/5681670b550346895ddb765b/html5/thumbnails/54.jpg)
Merci de votre attentionGestion d’une gare
BADOCHE – BLACHE – CAPALDI – FAMEY