Академический Документы
Профессиональный Документы
Культура Документы
UPM
Objetivos
Repasaremos algunos conceptos de ingeniera de software y su aplicacin a sistemas de tiempo real Nos centraremos en conceptos relacionados con el diseo de sistemas de tiempo real mediante objetos Utilizaremos una notacin basada en UML
27/2/08
Aspectos de un sistema
Funcionalidad
relacin entre entradas y salidas no se considera concurrencia, sincronizacin, tiempo real tampoco fiabilidad ni seguridad
Arquitectura
componentes definidos por sus interfaces
interfaz que proporciona (provided interface) interfaz que necesita (required interface)
Implementacin
cdigo de aplicacin plataforma: RTOS, middleware
27/2/08
PID
Modelo continuo
!
27/2/08 Diseo de sistemas de tiempo real 3
Diseo arquitectnico
En una primera etapa se modela un sistema como un conjunto de componentes Cada componente se define por sus interfaces
una interfaz se define como un conjunto de operaciones o mtodos Provided interface (PI): operaciones que otros componentes pueden efectuar con el componente Required interface (RI): operaciones de otros componentes que el componente necesita invocar las operaciones pueden tener atributos o restricciones
27/2/08
Componentes e interfaces
PI
Juan Antonio de la Puente 2005-2007
RI PI
RI PI
Una interfaz es una lista de operaciones parametrizadas Un componente puede tener varias interfaces PI o RI Para componer dos o ms componentes sus PI / RI deben ser compatibles
27/2/08 Diseo de sistemas de tiempo real 5
Componentes y funcionalidad
Temperature_controller
control
PID
get_variable
set_reference
27/2/08
Temperature_controller
set_reference protected
get_variable passive
27/2/08
Estructura bsica:
Archetype C component
OBCS
THREAD
OPCS
RI
Functional component
27/2/08
Arquetipos
Abstraccin de datos
componentes pasivos
27/2/08
Componentes cclicos
No tienen OBCS
excepto con ATC
No tienen interfaz PI
excepto operaciones de ATC
transferencia asncrona de control
27/2/08
10
Componentes espordicos
S Level_Sensor
report_state
27/2/08
11
Componentes protegidos
No tienen flujo de ejecucin propio (THREAD), pero pueden controlar cundo se ejecutan sus operaciones
abstraccin de datos compartidos operaciones en exclusin mutua (OBCS) restricciones de sincronizacin adicionales
Pr
state_ops display ops
State
27/2/08
12
Componentes pasivos
No tienen flujo de ejecucin propio (THREAD) ni control sobre cundo se ejecutan sus operaciones (OBCS)
abstraccin de datos y operaciones las operaciones se ejecutan cuando se invocan
Slo se puede invocar sus operaciones desde un nico objeto activo o protegido
para evitar el acceso concurrente a los datos
Pa
display_ops
Display
27/2/08
13
Restricciones de sincronizacin
cliente servidor cliente servidor cliente servidor
suspendido
suceso
suspendido
suceso
27/2/08
14
Proceso de desarrollo en V
abstraccin
anlisis de requisitos diseo arquitectnico diseo detallado realizacin pruebas de unidades pruebas de integracin
pruebas de sistema
tiempo
27/2/08
16
Inconvenientes
Muy rgido
difcil modificar el sistema si es necesario
27/2/08
17
Functional Model
AP-level Model
Target dependent
MAST+ Source
Feasibility & Sensitivity
Source
automatic manual work in progress
27/2/08
WCET analysis
Deployable system
Diseo de sistemas de tiempo real
18
El agua que brota en el pozo de una mina se recoge en una CO arqueta CH4 ventilacin Se trata de disear un sistema bomba motor de control que mantenga el nivel de la arqueta entre unos caudal lmites, accionando una bomba nivel alto El sistema supervisa otros nivel bajo parmetros ambientales La bomba no debe funcionar con niveles de metano altos por riesgo de explosin arqueta
27/2/08 Diseo de sistemas de tiempo real
CONTROL
19
Control System
low water low sensor sensor
CH4 reading
CH4 sensor
27/2/08
20
Requisitos funcionales
Bomba
se pone en marcha cuando el nivel de agua est alto se para cuando el nivel est bajo no puede funcionar si la concentracin de metano es muy alta el operador puede arrancar y parar manualmente la bomba si no circula agua con la bomba en marcha, se activa una alarma
Parmetros ambientales
se mide la concentracin de metano y monxido de carbono se detecta si la ventilacin funciona si algn valor es crtico, se activa una alarma
Operador
el operador puede dar rdenes al sistema, y recibe las alarmas
Registro
se almacenan secuencialmente todos los sucesos significativos
27/2/08
21
Caudal de agua
perodo 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 separacin entre interrupciones: al menos 6 s respuesta del sistema: D = 200 ms
27/2/08
22
Cuando la concentracin de metano sobrepasa el valor seguro hay que detener la bomba dentro de un plazo que asegure un margen de seguridad
con lectura directa R (T + D) < M con desplazamiento de perodos R (2T + D) <M donde
R: tasa de acumulacin de metano (c/s) T: perodo de muestreo D: plazo de desactivacin 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)
27/2/08 Diseo de sistemas de tiempo real 23
27/2/08
24
Sensor
Juan Antonio de la Puente 2005-2007
Tipo P P P P S
D 30 60 100 40 200
27/2/08
25
El primer paso es la identificacin de componentes con los que se pueda construir el sistema Tomando como punto de partida los requisitos funcionales descomponemos el sistema en cuatro componentes de alto nivel (subsistemas:
controlador de la bomba
deteccin de nivel, arranque y parada, funcionamiento de la bomba etc.
monitor ambiental
medida de metano, monxido de carbono y ventilacin
consola de operador
rdenes del operador y alarmas
registro de datos
almacenamiento de datos y sucesos
27/2/08 Diseo de sistemas de tiempo real 26
check safe
Juan Antonio de la Puente 2005-2007
pump controller
environment_monitor
commands alarms
log ops
operator console
data_logger
27/2/08
27
Ejemplo de interfaces
<<interface>> check_safe + boolean check_safe ()
Juan Antonio de la Puente 2005-2007
<<interface>> 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();
27/2/08
28
Pump_controller
check_safe
Pr Motor
Juan Antonio de la Puente 2005-2007
S HLW_Handler
start
commands
C Water_flow_sensor
Pr
<<interrupt handler>>
HLW_Controller
hlw_interrupt_handlers
alarms
log_ops
27/2/08
29
Environment_Monitor
C Air_flow_sensor
Juan Antonio de la Puente 2005-2007
alarms
check_safe
Pr CH4_Status
write
C CH4_sensor
commands
C CO_sensor
log_ops
27/2/08
30
Resumen
La arquitectura lgica define los componentes que forman el sistema y las relaciones entre ellos Otros detalles que no aparecen en los diagramas
atributos temporales operaciones que se invocan en los objetos usados funcionalidad de cada operacin funcionalidad de las actividades peridicas y espordicas
27/2/08
31