sistemas de tiempo real

11
INGENIERÍA INFORMÁTICA (4º Curso) Sistemas en Tiempo Real Examen de Febrero de 2007 El examen tiene una duración de 2 horas. Se permitirá la utilización de los apuntes de clase para contestar a las cuestiones. Problema 1.- Se pretende diseñar una avioneta con controles electrónicos activados por computador. Los controles del piloto son muestreados por el ordenador y este activa los elementos activos del avión. Por otra parte muestrea los distintos sensores para ofrecer información en los indicadores. Los controles e indicadores más importantes son: Palanca de dirección. Palanca de potencia del motor. Indicador de rumbo. Indicador de altitud. Indicador de estabilización (horizonte artificial). Para implementar correctamente este computador es necesario contemplar tres fases de operación: despegue, aterrizaje y vuelo normal. Cada fase incluye un subconjunto distinto de tareas y los requisitos temporales cambian de una a otra: Los cambios de fase se producen de forma “instantánea” al pulsar el piloto un botón (no se contemplan en los requisitos temporales). MODO DE DESPEGUE: En esta fase las tareas a realizar y sus requisitos temporales son: TAREA Periodo / P. Respuesta TC (Tiempo de Cómputo) A: Palanca de dirección 12 2 B: Palanca de potencia 24 2 C: Indicador de 6 2

Upload: pilares-jonas

Post on 26-Sep-2015

218 views

Category:

Documents


1 download

DESCRIPTION

examen resuelto

TRANSCRIPT

INGENIERA INFORMTICA (4 Curso)

INGENIERA INFORMTICA (4 Curso)

Sistemas en Tiempo Real

Examen de Febrero de 2007

El examen tiene una duracin de 2 horas. Se permitir la utilizacin de los apuntes de clase para contestar a las cuestiones.

Problema 1.- Se pretende disear una avioneta con controles electrnicos activados por computador.

Los controles del piloto son muestreados por el ordenador y este activa los elementos activos del avin. Por otra parte muestrea los distintos sensores para ofrecer informacin en los indicadores.

Los controles e indicadores ms importantes son:

Palanca de direccin.

Palanca de potencia del motor.

Indicador de rumbo.

Indicador de altitud.

Indicador de estabilizacin (horizonte artificial).

Para implementar correctamente este computador es necesario contemplar tres fases de operacin: despegue, aterrizaje y vuelo normal. Cada fase incluye un subconjunto distinto de tareas y los requisitos temporales cambian de una a otra: Los cambios de fase se producen de forma instantnea al pulsar el piloto un botn (no se contemplan en los requisitos temporales).

MODO DE DESPEGUE: En esta fase las tareas a realizar y sus requisitos temporales son:

TAREA

Periodo /

P. Respuesta

TC (Tiempo de Cmputo)

A: Palanca de direccin

12

2

B: Palanca de potencia

24

2

C: Indicador de altitud

6

2

D: Indicador de estabilizacin

3

1

MODO DE VUELO NORMAL: En esta fase las tareas a realizar y sus requisitos temporales son:

TAREA

Periodo /

P. Respuesta

TC (Tiempo de Cmputo)

A: Palanca de direccin

12

1

B: Palanca de potencia

30

2

C: Indicador de altitud

6

2

D: Indicador de estabilizacin

6

1

E: Indicador de rumbo

10

2

MODO DE ATERRIZAJE: En esta fase el calentador esta desactivado y las tareas a realizar son:

TAREA

Periodo /

P. Respuesta

TC (Tiempo de Cmputo)

A: Palanca de direccin

12

3

B: Palanca de potencia

24

2

C: Indicador de altitud

12

3

D: Indicador de estabilizacin

6

2

Resolver razonadamente las siguientes cuestiones

Problema 1: A partir de la descripcin anterior:

a) Disee un planificador cclico completo para los tres modos de funcionamiento del computador de control de la aeronave.

b) Escriba en pseudocdigo el algoritmo de control del computador de la aeronave.

c) Qu ocurrira si la deteccin del botn de cambio de fase no fuera automtico sino que conllevara un tiempo de 1 seg? (Describa los pasos que dara pero sin realizar nuevos clculos)

Problema 2: Centrndose nicamente en el modo de aterrizaje del autoclave, disee un planificador con prioridades para dicho modo basado en el Rate Monotonic Analisis y demuestre que garantiza los plazos de respuesta de las tareas, en los dos supuestos siguientes:

a) Las tareas son totalmente independientes.

b) Las tareas B y D comparten un monitor de operaciones al que debe accederse de forma exclusiva. Las tarea B y D utilizan dicho monitor durante 1 segundo cada una.

RESPUESTAS

Problema 1:

a) Modo de despegue:

Factor de utilizacin:

916

,

0

24

2

12

2

6

2

3

1

1

=

+

+

+

=

=

=

N

i

i

i

T

C

U

Los periodos son armnicos simples. As el ciclo primario es 24 y el secundario 3. Las tareas se planifican rellenando los huecos de menor a mayor periodo.

TAREA

Periodo /

P. Respuesta

TC (Tiempo de Cmputo)

A: Palanca de direccin

12

2

B: Palanca de potencia

24

2

C: Indicador de altitud

6

2

D: Indicador de estabilizacin

3

1

D1

C1

C1

D1

A1

A1

D1

C1

C1

D1

B1

B1

D1

C1

C1

D1

A1

A1

D1

C1

C1

D1

C1

C1

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

Modo de aterrizaje:

Factor de utilizacin:

916

,

0

24

2

12

3

12

3

6

2

1

=

+

+

+

=

=

=

N

i

i

i

T

C

U

Los periodos son armnicos simples. As el ciclo primario es 24 y el secundario 3. Las tareas se planifican rellenando los huecos de menor a mayor periodo. La tarea B debe ser fragmentada (B1, B2) para encajar correctamente.

TAREA

Periodo /

P. Respuesta

TC (Tiempo de Cmputo)

A: Palanca de direccin

12

3

B: Palanca de potencia

24

2

C: Indicador de altitud

12

3

D: Indicador de estabilizacin

6

2

D1

D1

C1

C1

C1

B1

D1

D1

A1

A1

A1

C1

D1

D1

C1

C1

C1

B2

D1

D1

A1

A1

A1

C1

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

Modo de vuelo normal:

Los periodos NO son armnicos simples, Pero pueden reducirse para que lo sean. As la tabla quedara de la siguiente forma.

TAREA

Periodo /

P. Respuesta

TC (Tiempo de Cmputo)

A: Palanca de direccin

12

1

B: Palanca de potencia

24

2

C: Indicador de altitud

6

2

D: Indicador de estabilizacin

6

1

E: Indicador de rumbo

6

2

Factor de utilizacin:

1

24

2

12

1

6

2

6

2

6

1

1

=

+

+

+

+

=

=

=

N

i

i

i

T

C

U

As el ciclo primario es 24 y el secundario 6. Las tareas se planifican rellenando los huecos de menor a mayor periodo. La tarea B debe ser fragmentada (B1,B2) para encajar correctamente.

D1

C1

C1

E1

E1

A1

D1

C1

C1

E1

E1

B1

D1

C1

C1

E1

E1

A1

D1

C1

C1

E1

E1

B2

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

b) Pseudocodigo del controlador:

Funcion despegue:

Activar temporizador de 3 segundos;

While (finalizar despegue)

Switch (ciclo_sec)

0) D; C;

1) D; A;

2) D; C;

3) D; B;

4) D; C;

5) D; A;

6) D;

Wait (termine temporizador de 3 segundos);

Activar temporizador de 3 segundos;

Ciclo_sec = (Ciclo_sec +1) modulo 3;

Funcion aterrizaje:

Activar temporizador de 6 segundos;

While (finalizar aterrizaje)

Switch (ciclo_sec)

0) D; C; B1;

1) D; A;

2) D; C; B2;

3) D; A;

Wait (termine temporizador de 6 segundos);

Activar temporizador de 6 segundos;

Ciclo_sec = (Ciclo_sec +1) modulo 6;

Funcion vuelo normal:

Activar temporizador de 6 segundos;

While (finalizar vuelo norma)

Switch (ciclo_sec)

0) D; C; E; A;

1) D; C; E; B1;

2) D; C; E; A;

3) D; C; E; B2;

Wait (termine temporizador de 6 segundos);

Activar temporizador de 6 segundos;

Ciclo_sec = (Ciclo_sec +1) modulo 6;

Funcion controlador:

While (true)

Wait (iniciar despegue)

Despegue;

Vuelo normal;

Aterrrizaje;

c) Habra que incluir una tarea que monitorizara el botn con una frecuencia suficiente. (recomendable al menos una vez por ciclo secundario). En la fase de aterrizaje y despegue no se puede ms all de 12 segundos de periodo (habra que modificar el planificador de despegue partiendo alguna tarea). En el de vuelo normal no queda hueco por lo que habra que volver a calcularlo con sus periodos originales y utilizar los huecos que queden.

Problema 2:

a) La planificacin con prioridades mediante RMA se basa en dar mayor prioridad a las tareas de menor periodo, as las prioridades quedarn asignadas como sigue (mayor valor, mayor prioridad).

MODO DE ESTERILIZACIN

TAREA

Periodo /

P. Respuesta

TC (Tiempo de Cmputo)

Prioridad

A: Palanca de direccin

12

3

2

B: Palanca de potencia

24

2

1

C: Indicador de altitud

12

3

3

D: Indicador de estabilizacin

6

2

4

Al ser independientes lo primero es comprobar su factor de utilizacin.

916

,

0

24

2

12

3

12

3

6

2

1

=

+

+

+

=

=

=

N

i

i

i

T

C

U

El resultado es mayor que el factor de utilizacin garantizada para 4 tareas (0,756) por lo que hay que calcular los tiempos de respuesta.

j

i

hp

j

i

C

C

W

+

=

)

(

0

j

i

hp

j

j

n

i

i

n

C

T

W

C

W

+

+

=

)

(

1

Tiempo de respuesta tarea D

2

0

2

0

=

+

=

W

Tiempo de respuesta tarea C

5

2

3

0

=

+

=

W

5

2

6

5

3

1

=

+

=

W

Tiempo de respuesta tarea A

8

5

3

0

=

+

=

W

10

3

12

8

2

6

8

3

1

=

+

+

=

W

10

3

12

10

2

6

10

3

2

=

+

+

=

W

Tiempo de respuesta tarea B

10

8

2

0

=

+

=

W

12

3

12

10

3

12

10

2

6

10

2

1

=

+

+

+

=

W

12

3

12

12

3

12

12

2

6

12

2

2

=

+

+

+

=

W

b) Al incluir el monitor de operaciones es necesario calcular los tiempo de respuesta de las tareas (suponiendo techo de prioridad) y ver si es menor que el plazo de respuesta.

k

j

i

lc

k

i

lp

j

i

C

MAX

B

,

)

(

),

(

=

0

1

1

1

=

=

=

=

B

A

C

D

B

B

B

B

j

i

hp

j

i

i

C

B

C

W

+

+

=

)

(

0

j

i

hp

j

j

n

i

i

i

n

C

T

W

B

C

W

+

+

+

=

)

(

1

Tiempo de respuesta tarea D

3

0

1

2

0

=

+

+

=

W

Tiempo de respuesta tarea C

6

2

1

3

0

=

+

+

=

W

6

2

6

6

1

3

1

=

+

+

=

W

Tiempo de respuesta tarea A

9

5

1

3

0

=

+

+

=

W

11

3

12

9

2

6

9

1

3

1

=

+

+

+

=

W

11

3

12

11

2

6

11

1

3

2

=

+

+

+

=

W

Tiempo de respuesta tarea B

10

8

0

2

0

=

+

+

=

W

12

3

12

10

3

12

10

2

6

10

0

2

1

=

+

+

+

+

=

W

12

3

12

12

3

12

12

2

6

12

0

2

2

=

+

+

+

+

=

W

_1232784316.unknown
_1232785938.unknown
_1233989791.unknown
_1234079217.unknown
_1234079421.unknown
_1233990352.unknown
_1233990388.unknown
_1233990346.unknown
_1233989587.unknown
_1233989595.unknown
_1232785948.unknown
_1232785224.unknown
_1232785381.unknown
_1232785599.unknown
_1232785899.unknown
_1232785583.unknown
_1232785366.unknown
_1232784350.unknown
_1232782517.unknown
_1232782741.unknown
_1232784130.unknown
_1232782660.unknown
_1232782465.unknown
_1232782475.unknown
_1169375005.unknown
_1232782220.unknown
_1169374864.unknown