Trabajo Práctico
Simulación de Eventos Discretos
Introducción
El modelo consiste en la simulación de un Aeropuerto, el cual está capacitado para recibir aviones y los mismos aviones son llevados a sus correspondientes hangares según el número de vuelo, permanecen en sus depositos y son enviados nuevamente a una cola de salida para que la torre de control autorice su despegue y posteriormente dejen el aeropuerto.
Desarrollo
Modelo Atómico Torre de Control
Para el desarrollo del modelo Aeropuerto (acoplado), fue indispensable realizar módulos atómicos bien marcados. El corazón del aeropuerto esta conformado por la Torre de Control, esta decide a quien despegue o aterrizaje según la prioridad, fue nuestra decisión otorgarle mayor prioridad a los aviones que aterrizan sobre los que despegan.
Este modelo atómico tiene dos puertos de entrada y 6 puertos de salida, por los puertos In_i recibe los aviones que aterrizan o despegan, cuando un avión obtiene el permiso de aterrizar o despegar la torre de control bloquea el acceso a otros aviones que desean aterrizar o despegar esto lo hace mediante los puertos Stop_a y Stop_d, una vez que el avión a dejado la pista de aterrizaje libre envía una señal por los puertos Done_a y Done_d informando que la pista se encuentra libre para su uso y que está dispuesta a autorizar otra acción.
Cuando un avión es recibido por el port In_a este desea aterrizar y es por ello que la Torre de control se lo envía automaticamente a la pista por el port aterriza y se pasiva por el tiempo que la pista esta en uso debido al aterrizaje del avión ( 1 min.). En cambio si el avión es recibido por el port In_d la Torre de Control lo envía por el port Out_d hacia la pista y se pasiva por el tiempo que el avión tarda en despegar (1 min.).
Modelo Atómico Cola
Una vez que definida la Torre de Control sabemos que esta recibe aviones de dos colas, para ello hemos registrado un nuevo modelo atómico llamado cola.
Esta cola tiene tres puertos de entrada y un puerto de salida, esta recibe aviones por el port In y los encola, contiene una variable llamada ocupado la cual se setea a cero con Init_Function (es decir que esta libre), si el avión llega por el puerto In y esta variable esta en cero dicho avión es enviado por el puerto Out, en cambio si la variable ocupado esta en uno el avión es encolado, esta variable es seteada (en tiempo de simulación) según los valores que ingresan por el puerto Stop y Done, Stop setea la variable ocupado en uno y Libre la setea a cero, esto simula que el modelo al cual nosotros enviamos el avión se encuentra ocupado y nosotros debemos esperar a que se libere.
Modelo Atómico Pista de Aterrizaje
La pista de aterrizaje también es fundamental para modular el aeropuerto, esta tiene la función de recibir los aviones y según la acción que estos requieran (despegar o aterrizar), enviarlos a los ports correspondientes.
Este modelo tiene dos puertos de entrada y dos puertos de salida, por el port aterrizaje ingresan los aviones que desean aterrizan y por el port despegue los aviones que depegan. Este modelo al recibir un avión por estos ports se activa durante un minuto, tiempo que tarda un avión en depegar o aterrizar y luego lo envía por el port de salida correspondiente dependiendo si el ingreso se produjo por el port aterriza (lo envía al port salida_a), o por el port despega (al port salida_d). Este modelo solo puede recibir un avión a la vez y no puede recibir otro durante el siguiente minuto, de lo contrario el avion que estaba utilizando la pista se pierde, es por ello que al acoplarlo con la torre de control esta debe tenerlo en cuenta.
Modelo Acoplado Hangar
Modelo Atómico Selector
El selector recibe un avión y según su número de vuelo lo envía al deposito correspondiente.
Este modelo tiene un port de entrada (In) y cuatro ports de salida (out1, out2, out3 y out4). Al recibir un avión por el puerto In verifica el número de vuelo, es decir la parte entera del número de avión, si este número esta entre cero y 249 lo envía a Out1, si se encuentra entre 250 y 499 lo envía al port Out2, si se encuentra entre 500 y 749 lo envía al port Out3 y por último si se encuentra entre 750 y 999 lo envía al Out 4. El direccionamiento es inmediato.
Modelo atómico Depósito
Este modelo se encarga de depositar a los aviones que ingresan en una cola y una vez que esten listos enviarlos a la salida para que despeguen y dejen el aeropuerto.
Solamente tiene un puerto de entrada y un puerto de salida, al recibir un avión si la cola esta vacía lo envía a la salida, caso contario lo encola para luego enviarlo.
Modelo atomico Salida
El modelo Salida tiene como fin unir las salidas de los depósitos y encolar los aviones para que salgan a la cola de despegue, su función es prevenir los choques de aviones a la salida de los depósitos, ya que si dos aviones salen en el mismo instante y son enviados a una sola entrada uno de los dos se pierde en la simulación, y nuestro objetivo es que todos los aviones que aterrizan, luego de un cierto tiempo puedan despegar.
El modelo atómico consta de cuatro ports de entrada y un solo puerto de salida, al ingresar un avión se encola y luego se envía a la salida sin demora. En el caso de que ingresen en el mismo instante cuatro aviones la prioridad esta dada en el siguiente orden In1 , In2, In3 y In4.
Finalmente podemos acoplar los modelos atómicos para formar el modelo acoplado Hangar:
Como primera observación este modelo Acoplado esta formado por un selector, cuatro depósitos y un modelo salida. Este modelo acoplado tiene dos puertos un puerto de entrada In y un puerto de salida Out. El puerto de entrada In esta conectado al puerto In del selector , es aquí donde el avión es llevado a su depósito correspondiente, es por ello que las cuatro salidas del selector se conectan cada una a un depósito. Luego los cuatro depósitos conectan su puerto de salida Out a las entradas de salida, este modelo atómico los direcciona hacia la salida, es por ello que la el puerto Out del modelo salida se une a el puerto Out del modelo acoplado (hangar).
Este modelo será utilizado por el modelo Aeropuerto como un caja negra que tiene un port de entrada In y un port de salida Out.
Modelo Acoplado Aeropuerto
Una vez que ya tenemos definido todos los modelos atómicos y básicos que se utilizarán en el aeropuerto podemos definir su comunicación.
Este modelo acoplado esta conformado por dos colas (cola_aterrizaje y cola_despegue) una torre de control (control) una pista de aterrizaje (pista) y un Hangar, definidos anteriormente.
Los ports de entrada y salida que tiene este modelo acoplado son In y Out, el primero puerto In de entrada recibe los aviones que desean aterrizar en este aeropuerto, y el puerto de salida Out los que desean despegar.
Al ingresar un avión por el port In este se conecta al puerto In de la cola de aterrizaje, este avión allí espera que la torre lo autorice para aterrizar, es por ello que el puerto Out de la cola de aterrizaje se conecta al puerto In_a de la torre de control, el puerto de entrada de la cola Done y el puerto Stop estan conectados al los puertos Done_a y Stop_a respectivamente, es por estos puertos que la torre de control les autoriza el aterrizaje ya que la pista se encuentra vacía. Este avión entonces es direccionado a la pista de aterrizaje por el puerto aterriza (port de salida) que se conecta al puerto aterriza de la pista (port de entrada), como este avión es recibido por el port de aterriza luego del minuto es enviado por el puerto de salida out_a (de la pista) al puerto de entrada In del modelo hangar. Luego pasa a su depósito para ser enviado por el puerto de salida Out del Hangar al puerto de entrada In de la cola de despegue, y nuevamente esta cola pide autorización para despegar. Dicha cola utiliza los mensajes que le envía la torre de control es por ello que los ports de entrada Stop y Done de la cola de despegue estan conectados a Stop_d y Done_d respectivamente. Por último el puerto Out de la cola se conecta al puerto de entrada de la torre de control In_d, la torre de control lo envía al puerto despega de la pista (pot de entrada), la pista lo detiene durante un minuto que es el tiempo de operación y lo envía por el puerto salida_d a el port de salida Out del modelo acoplado Aeropuerto.
Apendice A
Analisis de las salidas
Como primer caso de análisis tomaremos una entrada en la cual nos llegan seis aviones de distintos depósitos todos al mismo instante.
00:01:00:00 in_a 1.111
00:01:00:00 in_a 250.111
00:01:00:00 in_a 500.111
00:01:00:00 in_a 999.111
00:01:00:00 in_a 900.111
00:01:00:00 in_a 2.222
Obteniendo como salida:
00:07:00:000 out_d 1.111
00:08:00:000 out_d 250.111
00:09:00:000 out_d 500.111
00:10:00:000 out_d 999.111
00:11:00:000 out_d 900.111
00:12:00:000 out_d 2.222
Aquí claramente los aviones ingresan a la cola de aterrizaje, entonces la cola contiene a los seis aviones, la torre de control autoriza el aterizaje del primero y el avion 1,111 aterriza y es llevado a su depósito (deposito1), luego al minuto (00:02:00:00) aterriza el segundo avión 250,11, el avión 1,111 esta listo para despegar en la cola de despegue pero la prioridad esta dada para el aterrizaje por ello los aviones a medida que salen del Hangar se acumulan en la cola de salida, luego de que aterricen todos recien allí pueden despegar todos los aviones.
Otro ejemplo que probamos es enviar 49 aviones para corroborar que no perdemos aviones:
00:01:00:00 in_a 1
00:12:00:00 in_a 2
00:45:00:00 in_a 3
00:46:00:00 in_a 4
00:49:00:00 in_a 5
00:50:00:00 in_a 6
00:52:00:00 in_a 7
00:53:30:00 in_a 8
00:55:30:00 in_a 9
00:58:30:00 in_a 10
01:01:00:00 in_a 11
01:12:00:00 in_a 12
01:45:00:00 in_a 13
01:46:00:00 in_a 14
01:49:00:00 in_a 15
01:50:00:00 in_a 16
01:52:00:00 in_a 17
01:53:30:00 in_a 18
01:55:30:00 in_a 19
01:58:30:00 in_a 20
02:01:00:00 in_a 21
02:12:00:00 in_a 22
02:45:00:00 in_a 23
02:46:00:00 in_a 24
02:49:00:00 in_a 25
02:50:00:00 in_a 26
02:52:00:00 in_a 27
02:53:30:00 in_a 28
02:55:30:00 in_a 29
02:58:30:00 in_a 30
03:01:00:00 in_a 31
03:12:00:00 in_a 32
03:45:00:00 in_a 33
03:46:00:00 in_a 34
03:49:00:00 in_a 35
03:50:00:00 in_a 36
03:52:00:00 in_a 37
03:53:30:00 in_a 38
03:55:30:00 in_a 39
04:58:30:00 in_a 40
04:01:00:00 in_a 41
04:12:00:00 in_a 42
04:45:00:00 in_a 43
04:46:00:00 in_a 44
04:49:00:00 in_a 45
04:50:00:00 in_a 46
04:52:00:00 in_a 47
04:53:30:00 in_a 48
04:55:30:00 in_a 49
04:58:30:00 in_a 49
El resultado obtenido es el despegue de los 49 aviones del aeropuerto:
00:02:00:000 out_d 1
00:13:00:000 out_d 2
00:47:00:000 out_d 3
00:48:00:000 out_d 4
00:51:00:000 out_d 5
00:53:00:000 out_d 6
00:55:00:000 out_d 7
00:57:00:000 out_d 8
00:58:00:000 out_d 9
01:00:00:000 out_d 10
01:02:00:000 out_d 11
01:13:00:000 out_d 12
01:47:00:000 out_d 13
01:48:00:000 out_d 14
01:51:00:000 out_d 15
01:53:00:000 out_d 16
01:55:00:000 out_d 17
01:57:00:000 out_d 18
01:58:00:000 out_d 19
02:00:00:000 out_d 20
02:02:00:000 out_d 21
02:13:00:000 out_d 22
02:47:00:000 out_d 23
02:48:00:000 out_d 24
02:51:00:000 out_d 25
02:53:00:000 out_d 26
02:55:00:000 out_d 27
02:57:00:000 out_d 28
02:58:00:000 out_d 29
03:00:00:000 out_d 30
03:02:00:000 out_d 31
03:13:00:000 out_d 32
03:47:00:000 out_d 33
03:48:00:000 out_d 34
03:51:00:000 out_d 35
03:53:00:000 out_d 36
03:55:00:000 out_d 37
03:57:00:000 out_d 38
03:58:00:000 out_d 39
04:02:00:000 out_d 41
04:13:00:000 out_d 42
04:47:00:000 out_d 43
04:48:00:000 out_d 44
04:51:00:000 out_d 45
04:53:00:000 out_d 46
04:55:00:000 out_d 47
04:57:00:000 out_d 48
04:58:00:000 out_d 49
05:01:00:000 out_d 40
05:02:00:000 out_d 49