Application de gestion d’aéroport en java (simulation)

mongola16 Messages postés 3 Date d'inscription vendredi 27 mai 2016 Statut Membre Dernière intervention 27 mai 2016 - 27 mai 2016 à 10:40
mongola16 Messages postés 3 Date d'inscription vendredi 27 mai 2016 Statut Membre Dernière intervention 27 mai 2016 - 27 mai 2016 à 11:18
Bonjour, J'aimerai bien que vous m'aidiez à résoudre ce probleme ,dont je trouve aucune solution :( merci , Le probleme est comme suivant , Merciii :

Le but du projet consiste à manipuler les différents concepts ,savoir: les fichiers, les threads ainsi que les sockets. Pour cela, les étudiants doivent développer une application permettant de gérer un aéroport.
Description
1. Aéroport :
Un aéroport est définit par une capacité Cap qui représente le nombre d’avion qui peuvent atterrir au même temps. Les couloirs sont stockés dans une liste appelée : ways-queue. Chaque couloir est défini par son id et son état. Un couloir peut recevoir un seul avion à la fois.
Un avion est libéré lorsque les passages quittent l’avion.
Un passage nécessite 10-3 s pour quitter l’avion. Par la suite, l’avion doit se déplacer vers le stock.
2. Avion
Un avion est définit par son :
 Identifient (idAV),
 Nombre de passages (nbp),
 Point de départ (sourceid)
 Réservoir (L) : c’est un paramètre dynamique fixé lors de la simulation
 Vitesse (km/h) : c’est un paramètre dynamique fixé lors de la simulation
 Etat : en air, dans un aéroport intermédiaire, dans l’aéroport de départ, dans l’aéroport principal.
3. La map
La map représente l’ensemble des chemins vers l’aéroport principal. Tel que chaque chemin est constitué d’un ensemble de sauts et des couloirs.
Chaque saut est définit par son identifiant (sid) et chaque couloir est définit par: son saut source (ss), son saut destination (sd) et sa longueur (distance km).
Certains sauts sont des aéroports intermédiaires où les avions peuvent atterrir afin de remplir leurs réservoirs avant de continuer leurs trajets vers l’aéroport principal. Chaque aéroport intermédiaire peut recevoir un seul avion à la fois.
La présence d’un avion dans un aéroport intermédiaire dépend du temps nécessaire pour remplir son réservoir. Pour cela, on suppose que le remplissage d’un litre nécessite une milliseconde.
Avant de quitter l’aéroport intermédiaire, le pilote doit communiquer sa position au gérant.

4. Gérant
Le gérant est un agent qui prend en charge l’acheminement des avions vers l’aéroport principal.
Acheminement des avions
Le gérant possède la liste des chemins permettant de diriger les avions de leurs points de départ vers le point d’arrivé (l’aéroport principal). Pour cela, toute au long le trajet, les pilotes doivent communiquer leurs positions en envoyant une requête au gérant contenant : id de l’avion, le saut visité (saut courant), la vitesse et l’état du réservoir.
A un instant « t » le gérant traite une seule requête à la fois. Pour cela, la requête au cours de traitement est stockée dans un tampon « request-process ». Durant le traitement d’une requête, si le gérant reçoit d’autres requêtes d’acheminent, alors ces dernières sont stockées dans une file d’attente « pending-requests». On opte pour une gestion FIFO de la file d’attente.
Scénario1 : Dans ce scénario, on suppose qu’un couloir peut être utilisé par plusieurs avions à la fois.
Le gérant propose à chaque pilote le prochain saut à visité parmi les sauts voisins d’une manière aléatoire et proportionnellement avec son réservoir, sa vitesse et la distance restante. Si le réservoir n’est pas suffisant alors le gérant dirige l’avion vers l’aéroport intermédiaire le plus proche.
Si deux avions sont dans la même position donc on a un cas de crache.
S’il n’y a pas d’essence dans le réservoir et l’avion et toujours en aire alors cette dernière crache.
Scéanrio2 : Dans ce scénario, on suppose qu’un couloir peut être utilisé au plus par deux avions à la fois. Pour cela, on ajoute un nouveau critère qui est la capacité du couloir (Cc). Cette capacité est décrémentée à chaque fois un avion est affecté au couloir.
Le gérant propose à chaque pilote le prochain saut à visité parmi les sauts voisins en se basant sur l’algorithme glouton et proportionnellement avec son réservoir, sa vitesse et la distance restante. A chaque fois un couloir est affecté à un avion ou un avion quitte un couloir, le gérant doit mettre ajour la capacité du couloir. Si la capacité égale à zéro, alors le gérant doit choisir d’autres couloirs.
Si le réservoir n’est pas suffisant alors le gérant dirige l’avion vers l’aéroport intermédiaire le plus proche.
Si deux avions sont dans la même position donc on a un cas de crache.
S’il n’y a pas d’essence dans le réservoir et l’avion et toujours en aire alors cette dernière crache.

Algorithme glouton :
Entrée :
liste ordonnée V des n sommets des voisin d’un saut G
liste ordonnée C des chemins de G vers des n sommets des voisins
Pour i variant de 1 à n
v = V[i]
prochain-saut = le premier saut v appartenant à un chemin c ayant une capacité supérieur à 0.
Occuper (prochain-saut, c)
Fin pour
Travail demandé
a. Représentation graphique
1. La map doit illustrer les différents chemins relient les points de départs avec l’aéroport principal.
2. Chaque saut représente une ville modélisée par un point noir. Les villes ayant des aéroports sont représentées par des rectangles bleus.
3. Chaque avion est représenté par :
a. Un point vert s’il est en état normal,
b. Un point rouge en cas de crache.
c. Un point jaune en cas où il est dans un aéroport intermédiaire
4. Un chemin est représenté par un lien entre deux sauts.
Remarque 1: le déplacement dynamique des avions d’un saut à un autre doit être visualisé.
b. Gestion d’acheminement
Les étudiants doivent implémenter des différents scénarios expliqués au-dessus tel que :
1. Chaque avion doit être représenté par un thread.
2. La communication entre les pilotes (avions) et le gérant est assurée par les sockets.
3. L’historique de la simulation doit être stocké dans un fichier.
Remarque 2: un avion ne peut atterrir dans l’aéroport principal si et seulement s’il existe un couloir libre. Sinon, l’avion est rediriger vers un autre saut jusqu’à la libération d’un couloir.

1 réponse

BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 103
27 mai 2016 à 10:46
Hello,

J'aimerai bien que vous m'aidiez à résoudre ce probleme ,dont je trouve aucune solution :(

T'aider, avec plaisir. Faire le travail à ta place, non.
Reviens vers nous quand tu y auras réfléchis et que tu aura commencé quelque chose. Si tu ne comprends pas l'énoncé, discutes en avec ton prof/tuteur/...
0
mongola16 Messages postés 3 Date d'inscription vendredi 27 mai 2016 Statut Membre Dernière intervention 27 mai 2016
27 mai 2016 à 11:18
je ne demande pas que vous faites le travail à ma place , mais je n'est pas compris d'ou commencer , quel outil utiliser pour la simulation... :/
0
Rejoignez-nous