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