TP Train (TP 11 - 15)
Groupe composé de CELERIER Auguste, ACHARD Romain.
Introduction
Ce projet s'inscrit dans le cadre du cours sur les logiciels concurrents. Il consiste en la modélisation en Java du déplacement de trains sur des rails.
- Éditeur utilisé : Eclipse
Réponses aux questions
Question 1.1
La classe Position est la plus importante pour gérer le mouvement des trains. En effet, elle contient les information sur l'Element actuel sur lequel le train se situe, et la Direction de son mouvement. La classe Railway gère la liste d'éléments que les trains peuvent parcourir, et permet donc de déterminer le prochain élément sur la trajectoire du train
Question 1.2
Voir fichier trains.drawio
Question 1.3
Voir code
###Question 2.1
Voir code
###Question 2.2
Les variables qui permettent d'exprimer l'invariant de sûreté sont la présence ou non d'un train dans une section, le nombre de trains présents dans une station et la direction globale des trains sur la ligne
###Question 2.3
Voir code
###Question 2.4
Les actions critiques qu'un train peut exécuter, c'est-à-dire les actions qui modifie l'état du système partagé, sont entrer ou quitter une section, entrer ou quitter une station et changer de direction
###Question 2.5
Ces méthodes doivent être rajoutées respectivement dans Section et Station, et les méthodes de gestion de la direction dans la classe Railway
###Question 2.6
Il faut ajouter des méthodes synchronisées dans les classes Railway et Position pour gérer les mouvements des trains de manière synchronisée, pour autoriser ou non leur déplacement
###Question 2.7
Voir code
Question 2.8
Voir code