animación de un sistema de puertas (código en glider)

42
Animación de un Sistema de Puertas (código en GLIDER) NETWORK L (I):: IT:=1; Tipo:=((NUMBER-1) mod 4) + 1; SENDTO(P[Tipo]); P (G) [1..4]:: STATE BEGIN IT:=5; ABIERTA:=NOT ABIERTA END; IF ABIERTA THEN SENDTO(S) ELSE STOPSCAN; S (E):: WRITELN(NUMBER:2,' ',Tipo:1,' ',' ',GT:2:0,' ',TIME:2:0); INIT ACT(L,0); TSIM:=21; ABIERTA:=FALSE; FOR I:=1 TO 4 DO ACT(P[I],5); DECL VAR ABIERTA:BOOLEAN; I: INTEGER; MESSAGES L(Tipo:INTEGER); END.

Upload: felicia-reilly

Post on 30-Dec-2015

15 views

Category:

Documents


0 download

DESCRIPTION

Animación de un Sistema de Puertas (código en GLIDER). NETWORK L (I)::IT:=1; Tipo:=((NUMBER-1) mod 4) + 1; SENDTO(P[Tipo]); P (G) [1..4]::STATE BEGIN IT:=5; ABIERTA:=NOT ABIERTA END; IF ABIERTA THEN SENDTO(S) ELSE STOPSCAN; - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Animación de un Sistema de Puertas (código en GLIDER)

Animación de un Sistema de Puertas(código en GLIDER)

NETWORK

L (I):: IT:=1; Tipo:=((NUMBER-1) mod 4) + 1; SENDTO(P[Tipo]);

P (G) [1..4]:: STATE BEGIN IT:=5; ABIERTA:=NOT ABIERTA END; IF ABIERTA THEN SENDTO(S) ELSE STOPSCAN;

S (E):: WRITELN(NUMBER:2,' ',Tipo:1,' ',' ',GT:2:0,' ',TIME:2:0);

INIT ACT(L,0); TSIM:=21; ABIERTA:=FALSE; FOR I:=1 TO 4 DO ACT(P[I],5);

DECL VAR ABIERTA:BOOLEAN; I: INTEGER; MESSAGES L(Tipo:INTEGER);END.

Page 2: Animación de un Sistema de Puertas (código en GLIDER)

Tiempo: 0

L 0

Lista de Eventos Pendientes

Simulación lista para arrancar

L

P1

S

P4

P3

P2

P1 5 P2 5 P3 5 P4 5Abierta: False

ABIERTA:=FALSE;

ACT(L,0);

FOR I:=1 TO 4 DO ACT(P[I],5);

Page 3: Animación de un Sistema de Puertas (código en GLIDER)

Tiempo: 0

L 0

Lista de Eventos Pendientes

Se procesa el primer evento y se activa L

L

P1

S

P4

P3

P2

P1 5 P2 5 P3 5 P4 5Abierta: False

Page 4: Animación de un Sistema de Puertas (código en GLIDER)

Tiempo: 0Lista de Eventos Pendientes

Se genera la próxima llegada y el cliente [1]

L

P1

S

P4

P3

P2

P1 5 P2 5 P3 5 P4 5Abierta: False

L 1

1

Page 5: Animación de un Sistema de Puertas (código en GLIDER)

Tiempo: 1Lista de Eventos Pendientes

Se procesa el segundo evento y se activa L

L

P1

S

P4

P3

P2

P1 5 P2 5 P3 5 P4 5Abierta: False

1

L 1

Page 6: Animación de un Sistema de Puertas (código en GLIDER)

Tiempo: 1Lista de Eventos Pendientes

Se genera la próxima llegada y el cliente [2]

L

P1

S

P4

P3

P2

P1 5 P2 5 P3 5 P4 5

1

Abierta: FalseL 2

2

Page 7: Animación de un Sistema de Puertas (código en GLIDER)

Tiempo: 2Lista de Eventos Pendientes

Se procesa el próximo evento y se activa L

L

P1

S

P4

P3

P2

P1 5 P2 5 P3 5 P4 5Abierta: False

1

2

L 2

Page 8: Animación de un Sistema de Puertas (código en GLIDER)

Tiempo: 2Lista de Eventos Pendientes

Se genera la próxima llegada y el cliente [3]

L

P1

S

P4

P3

P2

P1 5 P2 5 P3 5 P4 5

1

Abierta: FalseL 3

2

3

Page 9: Animación de un Sistema de Puertas (código en GLIDER)

Tiempo: 3Lista de Eventos Pendientes

Se procesa el próximo evento y se activa L

L

P1

S

P4

P3

P2

P1 5 P2 5 P3 5 P4 5Abierta: False

1

2

3

L 3

Page 10: Animación de un Sistema de Puertas (código en GLIDER)

Tiempo: 3Lista de Eventos Pendientes

Se genera la próxima llegada y el cliente [4]

L

P1

S

P4

P3

P2

P1 5 P2 5 P3 5 P4 5

1

Abierta: FalseL 4

2

3

4

Page 11: Animación de un Sistema de Puertas (código en GLIDER)

Tiempo: 4Lista de Eventos Pendientes

Se procesa el próximo evento y se activa L

L

P1

S

P4

P3

P2

P1 5 P2 5 P3 5 P4 5Abierta: False

1

2

3

4

L 4

Page 12: Animación de un Sistema de Puertas (código en GLIDER)

Tiempo: 4Lista de Eventos Pendientes

Se genera la próxima llegada y el cliente [5]

L

P1

S

P4

P3

P2

P1 5 P2 5 P3 5 P4 5

1

Abierta: FalseL 5

2

3

4

5

Page 13: Animación de un Sistema de Puertas (código en GLIDER)

Tiempo: 4Lista de Eventos Pendientes

Se procesa el próximo evento (P1)

L

P1

S

P4

P3

P2

Abierta: False

1

2

3

4

P1 5 P2 5 P3 5 P4 5 L 5

5

Page 14: Animación de un Sistema de Puertas (código en GLIDER)

Tiempo: 5Lista de Eventos Pendientes

Se activa P1 (por evento), se genera próximo evento y se cambia el valor de Abierta

L

P1

S

P4

P3

P2

Abierta: False

1

2

3

4

P2 5 P3 5 P4 5 L 5

5

P1 10Abierta: True

ABIERTA:=NOT ABIERTAEND;

STATE BEGIN IT:=5;

Page 15: Animación de un Sistema de Puertas (código en GLIDER)

Tiempo: 5Lista de Eventos Pendientes

P1 deja pasar los clientes

L

P1

S

P4

P3

P2

Abierta: False

1

2

3

4

P2 5 P3 5 P4 5 L 5

5

P1 10Abierta: True

Page 16: Animación de un Sistema de Puertas (código en GLIDER)

Tiempo: 5Lista de Eventos Pendientes

P1 deja pasar los clientes

L

P1

S

P4

P3

P2

Abierta: False

12

3

4

P2 5 P3 5 P4 5 L 5

5

P1 10Abierta: True

Page 17: Animación de un Sistema de Puertas (código en GLIDER)

Tiempo: 5Lista de Eventos Pendientes

P1 deja pasar los clientes

L

P1

S

P4

P3

P2

Abierta: False

12

3

4

P2 5 P3 5 P4 5 L 5

5

P1 10Abierta: True

Page 18: Animación de un Sistema de Puertas (código en GLIDER)

Tiempo: 5Lista de Eventos Pendientes

P1 deja pasar los clientes

L

P1

S

P4

P3

P2

Abierta: False

12

3

4

P2 5 P3 5 P4 5 L 5

5

P1 10Abierta: True

Page 19: Animación de un Sistema de Puertas (código en GLIDER)

Tiempo: 5Lista de Eventos Pendientes

Se activa P2 (por revisión)

L

P1

S

P4

P3

P2

Abierta: False

12

3

4

P2 5 P3 5 P4 5 L 5

5

P1 10Abierta: True

Page 20: Animación de un Sistema de Puertas (código en GLIDER)

Tiempo: 5Lista de Eventos Pendientes

P2 deja pasar los clientes

L

P1

S

P4

P3

P2

Abierta: False

12

3

4

P2 5 P3 5 P4 5 L 5

5

P1 10Abierta: True

Page 21: Animación de un Sistema de Puertas (código en GLIDER)

Tiempo: 5Lista de Eventos Pendientes

P2 deja pasar los clientes

L

P1

S

P4

P3

P2

Abierta: False

12

3

4

P2 5 P3 5 P4 5 L 5

5

P1 10Abierta: True

Page 22: Animación de un Sistema de Puertas (código en GLIDER)

Tiempo: 5Lista de Eventos Pendientes

Se activa P3 (por revisión)

L

P1

S

P4

P3

P2

Abierta: False

12

3

4

P2 5 P3 5 P4 5 L 5

5

P1 10Abierta: True

Page 23: Animación de un Sistema de Puertas (código en GLIDER)

Tiempo: 5Lista de Eventos Pendientes

P3 deja pasar los clientes

L

P1

S

P4

P3

P2

Abierta: False

12

3

4

P2 5 P3 5 P4 5 L 5

5

P1 10Abierta: True

Page 24: Animación de un Sistema de Puertas (código en GLIDER)

Tiempo: 5Lista de Eventos Pendientes

P3 deja pasar los clientes

L

P1

S

P4

P3

P2

Abierta: False

123

4

P2 5 P3 5 P4 5 L 5

5

P1 10Abierta: True

Page 25: Animación de un Sistema de Puertas (código en GLIDER)

Tiempo: 5Lista de Eventos Pendientes

Se activa P4 (por revisión)

L

P1

S

P4

P3

P2

Abierta: False

123

4

P2 5 P3 5 P4 5 L 5

5

P1 10Abierta: True

Page 26: Animación de un Sistema de Puertas (código en GLIDER)

Tiempo: 5Lista de Eventos Pendientes

P4 deja pasar los clientes

L

P1

S

P4

P3

P2

Abierta: False

123

4

P2 5 P3 5 P4 5 L 5

5

P1 10Abierta: True

Page 27: Animación de un Sistema de Puertas (código en GLIDER)

Tiempo: 5Lista de Eventos Pendientes

P4 deja pasar los clientes

L

P1

S

P4

P3

P2

Abierta: False

1234

P2 5 P3 5 P4 5 L 5

5

P1 10Abierta: True

Page 28: Animación de un Sistema de Puertas (código en GLIDER)

Tiempo: 5Lista de Eventos Pendientes

Se activa S (por revisión)

L

P1

S

P4

P3

P2

Abierta: False

1234

P2 5 P3 5 P4 5 L 5

5

P1 10Abierta: True

Page 29: Animación de un Sistema de Puertas (código en GLIDER)

Tiempo: 5Lista de Eventos Pendientes

S elimina los clientes

L

P1

S

P4

P3

P2

Abierta: False

1234

P2 5 P3 5 P4 5 L 5

5

P1 10Abierta: True

1 1 0 5

N T G T

5 1 4 5

2 2 1 5

3 3 2 5

4 4 3 5

Page 30: Animación de un Sistema de Puertas (código en GLIDER)

Abierta: True

Tiempo: 5Lista de Eventos Pendientes

Se procesa el próximo evento. Se activa P2 por evento.

L

P1

S

P4

P3

P2

Abierta: FalseP2 5 P3 5 P4 5 L 5 P1 10

Page 31: Animación de un Sistema de Puertas (código en GLIDER)

Tiempo: 5Lista de Eventos Pendientes

Abierta cambio y se genera el próximo evento

L

P1

S

P4

P3

P2

Abierta: FalseP2 10P3 5 P4 5 L 5 P1 10

Abierta: False

Page 32: Animación de un Sistema de Puertas (código en GLIDER)

Abierta: FalseAbierta: True

Tiempo: 5Lista de Eventos Pendientes

Se procesa el próximo evento. Se activa P3 por evento.

L

P1

S

P4

P3

P2

P2 10P3 5 P4 5 L 5 P1 10

Page 33: Animación de un Sistema de Puertas (código en GLIDER)

Tiempo: 5Lista de Eventos Pendientes

Abierta cambio y se genera el próximo evento

L

P1

S

P4

P3

P2

Abierta: FalseP2 10 P3 10P4 5 L 5 P1 10

Abierta: True

Page 34: Animación de un Sistema de Puertas (código en GLIDER)

Tiempo: 5Lista de Eventos Pendientes

Se procesa el próximo evento. Se activa P4 por evento.

L

P1

S

P4

P3

P2

Abierta: TrueP2 10 P3 10P4 5 L 5 P1 10

Abierta: False

Page 35: Animación de un Sistema de Puertas (código en GLIDER)

Tiempo: 5Lista de Eventos Pendientes

Abierta cambio y se genera el próximo evento

L

P1

S

P4

P3

P2

Abierta: FalseP2 10 P3 10 P4 10L 5 P1 10

Abierta: False

Page 36: Animación de un Sistema de Puertas (código en GLIDER)

Tiempo: 5

L 5

Lista de Eventos Pendientes

Se procesa el próximo evento

L

P1

S

P4

P3

P2

P1 10 P2 10 P3 10 P4 10Abierta: False

Page 37: Animación de un Sistema de Puertas (código en GLIDER)

Tiempo: 5Lista de Eventos Pendientes

Se activa L

L

P1

S

P4

P3

P2

P1 10 P2 10 P3 10 P4 10Abierta: False

Page 38: Animación de un Sistema de Puertas (código en GLIDER)

Tiempo: 5Lista de Eventos Pendientes

Se genera la próxima llegada y el cliente [6]

L

P1

S

P4

P3

P2

P1 10 P2 10 P3 10 P4 10

6

Abierta: FalseL 6

Page 39: Animación de un Sistema de Puertas (código en GLIDER)

Tiempo: 5

L 6

Lista de Eventos Pendientes

Se procesa el próximo evento y se activa L

L

P1

S

P4

P3

P2

P1 10 P2 10 P3 10 P4 10Abierta: False

6

Page 40: Animación de un Sistema de Puertas (código en GLIDER)

Tiempo: 6Lista de Eventos Pendientes

Se genera la próxima llegada y el cliente [7]

L

P1

S

P4

P3

P2

P1 10 P2 10 P3 10 P4 10

6

Abierta: FalseL 7

7

Page 41: Animación de un Sistema de Puertas (código en GLIDER)

Observaciones

• La 4 puertas están controladas por la misma variable ABIERTA.

• Al activarse por evento P1 en el tiempo 5, ABIERTA toma el valor TRUE y se dejan pasar todos los clientes retenidos en P1.

• Luego por revisión, pasan también los retenidos en P2, P3 y P4.

Page 42: Animación de un Sistema de Puertas (código en GLIDER)

Observaciones

• Las activaciones por evento posteriores de P2, P3 y P4 no causan movimientos de mensajes (no quedaron clientes) y lo único que hacen es alternar el valor de ABIERTA a FALSE, TRUE y finalmente FALSE.

• El efecto es que se abrieron las puertas, se dejaron pasar los clientes y se cerraron (se abrieron y cerraron instantáneamente)