Gestion d’une gare

Preview:

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

Citation preview

Gestion d’une gareProjet 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

2

Cahier des charges

3

Cahier des charges

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

4

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

Analyse fonctionnelle

• Schéma des données• Placement des missions• Décomposition en actigrammes

– Serveur – Exécutable

• Code C• SCADE

6

Schéma des données

7

Placement des missions

• Dest./Provenance: autre que Gare Courante• Horaires d’arrivée et de départ normaux

8

Mission temporaire

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

Placement des missions

• Destination: Gare Courante• Mission au départ de gare courante existante• Etat placement = prochaine mission

10

Mission en stockage temporaire

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

Projet (A0)

12

• A1 Récupération des données sur le serveur• A2 Téléchargement (XML) + Traitement

Serveur (A1)

13

• Affichage et stockage des données

Serveur (A1)

14

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

Vérificateur de données (A15)

16

Projet (A0)

17

• A1 Récupération des données sur le serveur• A2 Téléchargement (XML) + Traitement

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

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

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

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

Exécutable (A25)

22

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

Exécutable (A25)

23

Exécutable (A23)

24

• Traitement des données en sécurité• Retourne les erreurs si elles surviennent

Bloc de traitement des données

Préparation de la structure

25

Test d’intégrité (B2)

• Identification des incohérence ou erreurs

• Activation de la machine d’état

26

Test d’intégrité (B21)

27

• Unicité des ID

Test d’intégrité (B2)

• Identification des incohérence ou erreurs

• Activation de la machine d’état

28

Machine d’état (B3)

29

Test d’affectation (C0)• Selon les

différents cas• Teste

l’affectabilité

30

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

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

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• …

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).

Affectation prov. GC (C3)

35

Gestion de projet

• Plusieurs changements

– Non utilisation de la carte UP3

– Passage en gestion dynamique

– Non porté sous linux

36

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

Gestion de projet• Déroulement du projet

– Un seul chef de projet– Cycle en spirale

38

CdC

Spécification

Réalisation Tests

Validation

Gestion de projet

39

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

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

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

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

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

Difficultés rencontrées• Au niveau du site web

– Les missions périodiques– La représentation graphique du tableau

d’affectation

45

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

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

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

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

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

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

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

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

Merci de votre attentionGestion d’une gare

BADOCHE – BLACHE – CAPALDI – FAMEY

Recommended