Este documento describe un proyecto para una aplicación de reservas de vuelos que simula la venta concurrente de boletos aéreos en varias ventanillas. El objetivo es aplicar herramientas de exclusión mutua y sincronización para resolver condiciones de competencia. Se requiere implementar funciones como reservar asientos, eliminar reservaciones y cambiar asientos, considerando que sólo hay 30 asientos disponibles y múltiples hilos accediendo simultáneamente. Se debe desarrollar la aplicación con y sin el uso de exclusión mutua para comparar
0 calificaciones0% encontró este documento útil (0 votos)
26 vistas1 página
Este documento describe un proyecto para una aplicación de reservas de vuelos que simula la venta concurrente de boletos aéreos en varias ventanillas. El objetivo es aplicar herramientas de exclusión mutua y sincronización para resolver condiciones de competencia. Se requiere implementar funciones como reservar asientos, eliminar reservaciones y cambiar asientos, considerando que sólo hay 30 asientos disponibles y múltiples hilos accediendo simultáneamente. Se debe desarrollar la aplicación con y sin el uso de exclusión mutua para comparar
Este documento describe un proyecto para una aplicación de reservas de vuelos que simula la venta concurrente de boletos aéreos en varias ventanillas. El objetivo es aplicar herramientas de exclusión mutua y sincronización para resolver condiciones de competencia. Se requiere implementar funciones como reservar asientos, eliminar reservaciones y cambiar asientos, considerando que sólo hay 30 asientos disponibles y múltiples hilos accediendo simultáneamente. Se debe desarrollar la aplicación con y sin el uso de exclusión mutua para comparar
Este documento describe un proyecto para una aplicación de reservas de vuelos que simula la venta concurrente de boletos aéreos en varias ventanillas. El objetivo es aplicar herramientas de exclusión mutua y sincronización para resolver condiciones de competencia. Se requiere implementar funciones como reservar asientos, eliminar reservaciones y cambiar asientos, considerando que sólo hay 30 asientos disponibles y múltiples hilos accediendo simultáneamente. Se debe desarrollar la aplicación con y sin el uso de exclusión mutua para comparar
Descargue como PDF, TXT o lea en línea desde Scribd
Descargar como pdf o txt
Está en la página 1de 1
PROYECTO DE ASIGNATURA:
APLICACIONES DISTRIBUIDAS Docente: Ph.D. Franklin Parrales Bravo
Proyecto de código: Reservas de tickets aéreos(Java)
Objetivo: Aplicar herramientas de Exclusión Mutua y de Sincronización para resolver condiciones de competencia en programas que corren de forma concurrente. Requerimientos: Implementar una aplicación que simule un programa de reservas de tickets aéreos con varias ventanillas que funcionan de forma concurrente. En la simulación se contará con 30 asientos (que avión tan pequeño!). La venta de tickets aéreos que se simulará presenta ciertas particularidades: • Los requerimientos a iniciar son: o a. Reservar asiento o b. Eliminar reservación de asiento o c. Cambiar asiento • Las “ventanillas” son en realidad un panel o un contenedor cualquiera dentro de su interfaz que contienen una caja de texto para el número de pasajero y el número de asiento. Además de las cajas de texto, debe tener también botones para las operaciones mencionadas en el paso b. Para la operación de cambio de asiento, sólo debería solicitarse el #de asiento al cual se quiere cambiar, pues ud. tiene almacenado en qué asiento se encuentra actualmente el pasajero provisto • La interfaz provista debe permitir registrar el pasajero (información adicional al proceso) y el número de asiento requerido (información esencial en el proceso) • Se debe diseñar la interfaz para que permita ingresar información en 3 “ventanillas” al mismo tiempo. Cada requerimiento iniciado en una “ventanilla” es atendida por un hilo diferente. • Cuando se ingresa un requerimiento en una de las “ventanillas”, se genera un tiempo aleatorio en el que el proceso usa el CPU en alguna tarea, para lograr que los 3 requerimientos sean simultáneos (o lo más cercano a eso posible). • Si un requerimiento de reservar o cambiar asiento no es exitoso porque el asiento está ocupado, el hilo se bloquea, a ver si alguien elimina ese asiento y se lo puede tomar. • Al eliminar asientos, si hay alguien esperando por ese asiento, se le asignará automáticamente el mismo. • Implemente dos versiones: Una de ellas sin exclusión mutua y la otra usando exclusión mutua. o Para la versión sin exclusión mutua, ejecute su programa en múltiples ocasiones intentando encontrar una condición de competencia. Haga screenshots de la misma y explique el escenario en un documento de Word que se entregará junto con el código implementado. o La versión que utiliza exclusión mutua debe eliminar el problema o La interfaz debe permitir observar los asientos asignados y los cambios en los asientos de la forma más intuitiva posible.