Download - sistemas de tiempo real
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