Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Diseno PDF
Diseno PDF
UPM
Diseño de sistemas
de tiempo real
Juan Antonio de la Puente
DIT/UPM
Objetivos
Funcionalidad
– relación entre entradas y salidas
– no se considera concurrencia, sincronización, tiempo real
– tampoco fiabilidad ni seguridad
Arquitectura
© Juan Antonio de la Puente 2005-2007
– componentes definidos por sus interfaces
» interfaz que proporciona (provided interface)
» interfaz que necesita (required interface)
Concurrencia y tiempo real
– hebras, sincronización
– planificación y análisis temporal
Implementación
– código de aplicación
– plataforma: RTOS, middleware
r
PID u
y
© Juan Antonio de la Puente 2005-2007
PI A RI PI B
© Juan Antonio de la Puente 2005-2007
RI
PI C
Temperature_controller
© Juan Antonio de la Puente 2005-2007
control PID
set_reference get_variable
Temperature_controller
© Juan Antonio de la Puente 2005-2007
control
periodic
T = 0.100
D = 0.040
set_reference get_variable
protected passive
Archetype
C component
Synchronization Functional
protocol agent component
No tienen interfaz PI
– excepto operaciones de ATC
» transferencia asíncrona de control
– pero pueden tener RI
<<start>>
check_level S report_state
Level_Sensor
Pr
state_ops display ops
State
Pa
display_ops
Display
no en HRT
27/2/08 Diseño de sistemas de tiempo real 14
Operaciones con
restricciones de estado
abierto
cerrado
abierto
análisis pruebas de
de requisitos sistema
© Juan Antonio de la Puente 2005-2007
diseño pruebas de
arquitectónico integración
diseño pruebas de
detallado unidades
realización
tiempo
Muy rígido
– difícil modificar el sistema si es necesario
Functional AP-level
Model Model
Target dependent
MAST+
Source Feasibility &
WCET Sensitivity
Source
analysis
automatic
Descripción general
operador registro
CH4
Se trata de diseñar un sistema bomba
ventilación
de control que mantenga el motor
CONTROL
nivel de la arqueta entre unos
caudal
límites, accionando una bomba
nivel alto
El sistema supervisa otros nivel bajo
parámetros ambientales
La bomba no debe funcionar
con niveles de metano altos por
riesgo de explosión arqueta
CO reading CO
sensor
Bomba
– se pone en marcha cuando el nivel de agua está alto
– se para cuando el nivel está bajo
– no puede funcionar si la concentración de metano es muy alta
– el operador puede arrancar y parar manualmente la bomba
© Juan Antonio de la Puente 2005-2007
D ≤ T – S = 60 ms
Caudal de agua
– período nominal: 1 s
– se usan dos lecturas consecutivas; para ajustar el intervalo entre
ambas se hace D = 40ms (960 ≤ Dt ≤ 1040)
Nivel de agua
– los sensores interrumpen cuando se activan
– separación entre interrupciones: al menos 6 s
– respuesta del sistema: D = 200 ms
R (T + D) < M
– con desplazamiento de períodos
R (2T + D) <M
donde
R: tasa de acumulación de metano (c/s)
T: período de muestreo
D: plazo de desactivación de la bomba
M: margen de seguridad
– suponemos R = 5; M = 1000, y hacemos,
T = 80 ms; D = 30 ms
para el sensor de CH4 (quedan 50 ms para hacer la lectura)
Sensor Tipo T D
CH4 P 80 30
© Juan Antonio de la Puente 2005-2007
CO P 100 60
Ventilación P 100 100
Caudal de agua P 1000 40
Nivel de agua S 6000 200
check safe
pump controller environment_monitor
© Juan Antonio de la Puente 2005-2007
<<interface>>
check_safe
+ boolean check_safe ()
<<interface>>
© Juan Antonio de la Puente 2005-2007
provided_commands
+ void is_safe ();
+ void not_safe();
+ status request_status();
+ void start_pump();
+ void stop_pump;
<<interface>>
requested_commands
+ void is_safe ();
+ void not_safe();
Pr S
Motor HLW_Handler
© Juan Antonio de la Puente 2005-2007
commands
start
C Pr
<<interrupt handler>>
Water_flow_sensor
HLW_Controller
hlw_interrupt_handlers
alarms log_ops
C alarms
Air_flow_sensor
© Juan Antonio de la Puente 2005-2007
check_safe Pr C commands
write
CH4_Status CH4_sensor
C log_ops
CO_sensor
– atributos temporales
– operaciones que se invocan en los objetos usados
– funcionalidad de cada operación
– funcionalidad de las actividades periódicas y esporádicas