Gestion d’une gare

54
Gestion d’une gare Projet de fin d’étude BADOCHE – BLACHE – CAPALDI – FAMEY

description

Gestion d’une gare. Projet de fin d’étude. BADOCHE – BLACHE – CAPALDI – FAMEY. Sommaire. Cahier des charges Analyse fonctionnelle Gestion de projet Difficultés rencontrées Exemple d’utilisation Conclusion. Cahier des charges. Cahier des charges. Unicité des affectations - PowerPoint PPT Presentation

Transcript of Gestion d’une gare

Page 1: Gestion d’une gare

Gestion d’une gareProjet de fin d’étude

BADOCHE – BLACHE – CAPALDI – FAMEY

Page 2: Gestion d’une gare

Sommaire

• Cahier des charges• Analyse fonctionnelle• Gestion de projet• Difficultés rencontrées• Exemple d’utilisation• Conclusion

2

Page 3: Gestion d’une gare

Cahier des charges

3

Page 4: Gestion d’une gare

Cahier des charges

• Unicité des affectations• Unicité des trains à quais• Alternance des mission entrantes et sortantes

4

Page 5: Gestion d’une gare

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

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

Schéma des données

7

Page 8: Gestion d’une gare

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

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

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

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

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

Serveur (A1)

13

• Affichage et stockage des données

Page 14: Gestion d’une gare

Serveur (A1)

14

Page 15: Gestion d’une gare

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

Vérificateur de données (A15)

16

Page 17: Gestion d’une gare

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

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

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

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

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

Exécutable (A25)

22

• Coordonne tout le déroulement du code• Affiche les erreurs si elles surviennent

Page 23: Gestion d’une gare

Exécutable (A25)

23

Page 24: Gestion d’une gare

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

Préparation de la structure

25

Page 26: Gestion d’une gare

Test d’intégrité (B2)

• Identification des incohérence ou erreurs

• Activation de la machine d’état

26

Page 27: Gestion d’une gare

Test d’intégrité (B21)

27

• Unicité des ID

Page 28: Gestion d’une gare

Test d’intégrité (B2)

• Identification des incohérence ou erreurs

• Activation de la machine d’état

28

Page 29: Gestion d’une gare

Machine d’état (B3)

29

Page 30: Gestion d’une gare

Test d’affectation (C0)• Selon les

différents cas• Teste

l’affectabilité

30

Page 31: Gestion d’une gare

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

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

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

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

Affectation prov. GC (C3)

35

Page 36: Gestion d’une gare

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

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

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

Gestion de projet

39

Page 40: Gestion d’une gare

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Merci de votre attentionGestion d’une gare

BADOCHE – BLACHE – CAPALDI – FAMEY