Publicado el 15 de Octubre del 2018
614 visualizaciones desde el 15 de Octubre del 2018
258,3 KB
32 paginas
Creado hace 17a (27/02/2008)
ditdit
UPM
Diseño de sistemas
de tiempo real
Juan Antonio de la Puente
DIT/UPM
Objetivos
Repasaremos algunos conceptos de ingeniería de
software y su aplicación a sistemas de tiempo real
Nos centraremos en conceptos relacionados con el diseño
de sistemas de tiempo real mediante objetos
Utilizaremos una notación basada en UML
27/2/08
Diseño de sistemas de tiempo real
1
7
0
0
2
-
5
0
0
2
e
t
n
e
u
P
a
l
e
d
o
n
o
n
A
n
a
u
J
©
i
t
Aspectos de un sistema
7
0
0
2
-
5
0
0
2
e
t
n
e
u
P
a
l
e
d
o
n
o
n
A
n
a
u
J
©
i
t
Funcionalidad
Arquitectura
– relación entre entradas y salidas
– no se considera concurrencia, sincronización, tiempo real
– tampoco fiabilidad ni seguridad
– 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
27/2/08
Diseño de sistemas de tiempo real
2
Ejemplo de modelo funcional
r
y
PID
u
e(t) =r(t) " y(t)
u(t) =K P e(t) + K I
$
&
%
t#
0
e(s)ds + K D
de(t)
dt
’
)
(
e = r " y
#
%
$
u = K P e +
K I h
2
(e + x) +
K P
h
(e " x)
&
(
’
Modelo continuo
Modelo discreto
• ejecutar cada h
(período)
x = e
type controller is interface;
function control (r, y : variable_type is abstract;
!
!
27/2/08
Diseño de sistemas de tiempo real
3
7
0
0
2
-
5
0
0
2
e
t
n
e
u
P
a
l
e
d
o
n
o
n
A
n
a
u
J
©
i
t
Diseño arquitectónico
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
métodos
– 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
Los elementos funcionales se insertan en componentes
27/2/08
Diseño de sistemas de tiempo real
4
7
0
0
2
-
5
0
0
2
e
t
n
e
u
P
a
l
e
d
o
n
o
n
A
n
a
u
J
©
i
t
Componentes e interfaces
RI
PI
PI
A
RI
PI
B
C
Una interfaz es una lista de operaciones parametrizadas
Un componente puede tener varias interfaces PI o RI
Para componer dos o más componentes sus PI / RI deben ser
compatibles
27/2/08
Diseño de sistemas de tiempo real
5
7
0
0
2
-
5
0
0
2
e
t
n
e
u
P
a
l
e
d
o
n
o
n
A
n
a
u
J
©
i
t
Componentes y funcionalidad
Temperature_controller
control
PID
set_reference
get_variable
27/2/08
Diseño de sistemas de tiempo real
6
7
0
0
2
-
5
0
0
2
e
t
n
e
u
P
a
l
e
d
o
n
o
n
A
n
a
u
J
©
i
t
Concurrencia y tiempo real
Temperature_controller
control
periodic
T = 0.100
D = 0.040
set_reference
protected
get_variable
passive
27/2/08
Diseño de sistemas de tiempo real
7
7
0
0
2
-
5
0
0
2
e
t
n
e
u
P
a
l
e
d
o
n
o
n
A
n
a
u
J
©
t
i
Componentes de bajo nivel
Representan objetos que se pueden implementar
directamente en términos de la plataforma de ejecución
– hebras periódicas y esporádicas, objetos de datos, etc.
Estructura básica:
Archetype
C
component
OBCS
THREAD
OPCS
RI
Synchronization
protocol agent
Functional
component
27/2/08
Diseño de sistemas de tiempo real
8
7
0
0
2
-
5
0
0
2
e
t
n
e
u
P
a
l
e
d
o
n
o
n
A
n
a
u
J
©
i
t
Arquetipos
Abstracciones comunes en sistemas de tiempo real
Tareas periódicas y esporádicas
– componentes cíclicos y esporádicos
Datos compartidos por varias tareas
– componentes protegidos
Abstracción de datos
– componentes pasivos
27/2/08
Diseño de sistemas de tiempo real
9
7
0
0
2
-
5
0
0
2
e
t
n
e
u
P
a
l
e
d
o
n
o
n
A
n
a
u
J
©
t
i
Componentes cíclicos
Ejecutan una actividad a intervalos regulares
– atributos: período, plazo
No tienen OBCS
– excepto con ATC
No tienen interfaz PI
– excepto operaciones de ATC
» transferencia asíncrona de control
– pero pueden tener RI
C
Temperature_Sensor
report state
27/2/08
Diseño de sistemas de tiempo real
10
7
0
0
2
-
5
0
0
2
e
t
n
e
u
P
a
l
e
d
o
n
o
n
A
n
a
u
J
©
t
i
Componentes esporádicos
Ejecutan una actividad cuando ocurre un suceso externo o
interno
» suceso detectado por programa o por interrupción
» atributos: separación mínima, plazo
– Su interfaz consiste en una única operación (<<start>>)
» invocada por el objeto que detecta el suceso de activación
– La sincronización se realiza en el OBCS
– También pueden ofrecer operaciones de ATC
<<start>>
check_level
S
Level_Sensor
report_state
27/2/08
Diseño de sistemas de tiempo real
11
7
0
0
2
-
5
0
0
2
e
t
n
e
u
P
a
l
e
d
o
n
o
n
A
n
a
u
J
©
i
t
Componentes protegidos
No tienen flujo de ejecución propio (THREAD), pero
pueden controlar cuándo se ejecutan sus operaciones
– abstracción de datos compartidos
– operaciones en exclusión mutua (OBCS)
– restricciones de sincronización adicionales
Pr
state_ops
display ops
State
27/2/08
Diseño de sistemas de tiempo real
12
7
0
0
2
-
5
0
0
2
e
t
n
e
u
P
a
l
e
d
o
n
o
n
A
n
a
u
J
©
i
t
Componentes pasivos
No tienen flujo de ejecución propio (THREAD) ni control
sobre cuándo se ejecutan sus operaciones (OBCS)
– abstracción de datos y operaciones
– las operaciones se ejecutan cuando se invocan
Sólo 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
Diseño de sistemas de tiempo real
13
7
0
0
2
-
5
0
0
2
e
t
n
e
u
P
a
l
e
d
o
n
o
n
A
n
a
u
J
©
t
i
Restricciones de sincronización
cliente
servidor
cliente
servidor
cliente
servidor
suspendido
suceso
suspendido
suceso
7
0
0
2
-
5
0
0
2
e
t
n
e
u
P
a
l
e
d
o
n
o
n
A
n
a
u
J
©
t
i
ASER
asynchronous
execution request
LSER
loosely synchronous
execution request
HSER
highly synchronous
execution request
27/2/08
Diseño de sistemas de tiempo real
14
no en HRT
Operaciones con
restricciones de estado
cliente
servidor
cliente
servidor
cliente
servidor
abierto
cerrado
abierto
7
0
0
2
-
5
0
0
2
e
t
n
e
u
P
a
l
e
d
o
n
o
n
A
n
a
u
J
©
i
t
PAER
protected asynchronous
execution request
HRT:
máximo
1 por PO
PSER
protected state-constrained
execution request
27/2/08
Diseño de sistemas de tiempo real
15
Proceso de desarrollo en “V”
i
n
ó
c
c
a
r
t
s
b
a
análisis
de requisitos
diseño
arquitectónico
pruebas de
sistema
pruebas de
integración
diseño
detallado
pruebas de
unidades
realización
tiempo
27/2/08
Diseño de sistemas de tiempo real
16
7
0
0
2
-
5
0
0
2
e
t
n
e
u
P
a
l
e
d
o
n
o
n
A
n
a
u
J
©
t
i
Inconvenientes
Muy rígido
– difícil modificar el sistema si es necesario
Las pruebas se hacen al final
– es costoso corregir los fallos
Mejor un proceso iterativo
– comprobaciones en todos los modelos
– herramientas de ayuda
27/2/08
Diseño de sistemas de tiempo real
17
7
0
0
2
-
5
0
0
2
e
t
n
e
u
P
a
l
e
d
o
n
o
n
A
n
a
u
J
©
t
i
Ejemplo: modelo de desarrollo ASSERT
Functional view
Interface view
Functional
framework
Functional
Model
Source
automatic
manual
work in progress
AP-level
framework
AP-level
Model
Target dependent
WCET
analysis
Deployable
system
Concurrency view
VM-level
model
MAST+
Feasibility &
Sensitivity
Source
Deployment information
(AADL)
27/2/08
Diseño de sistemas de tiempo real
18
7
0
0
2
-
5
0
0
2
e
t
n
e
u
P
a
l
e
d
o
n
o
n
A
n
a
u
J
©
i
t
Ejemplo: control de una mina
Descripción general
El agua que brota en el pozo de
una mina se recoge en una
arqueta
Se trata de diseñar un sistema
de control que mantenga el
nivel de la arqueta entre unos
límites, accionando una bomba
El sistema supervisa otros
parámetros ambientales
La bomba no debe funcionar
con niveles de metano altos por
riesgo de explosión
operador
registro
bomba
CO
CH4
ventilación
motor
caudal
nivel alto
nivel bajo
CONTROL
arqueta
27/2/08
Diseño de sistemas de tiempo real
19
7
0
0
2
-
5
0
0
2
e
t
n
e
u
P
a
l
e
d
o
n
o
n
A
n
a
u
J
©
i
t
Dispositivos de entrada y salida
water flow
sensor
pump
motor
water flow reading
motor set
CO reading
high sensor
high water
sensor
low sensor
low water
sensor
Control System
CH4 reading
air flow
reading
CO
sensor
CH4
sensor
air flow
sensor
27/2/08
Diseño de sistemas de tiempo real
20
7
0
0
2
-
5
0
0
2
e
t
n
e
u
P
a
l
e
d
o
n
o
n
A
n
a
u
J
©
i
t
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 concentración 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
Parámetros ambientales
– se mide la concentración de metano y monóxido de carbono
– se detecta si la ventilación funciona
– si algún valor es crítico, se activa una alarma
7
0
0
2
-
5
0
0
2
e
t
n
e
u
P
a
l
e
d
o
n
o
n
A
n
a
u
J
©
i
t
Operador
Registro
– el operador puede dar órdenes al sistema, y recibe las alarmas
– se almacenan secuencialmente todos los sucesos significativos
27/2/08
Diseño de sistemas de tiempo real
21
Requisitos temporales:
Períodos y plazos de los sensores
CO, CH4 y ventilación
– período nominal: 100 ms
– para los manejadores de los sensores de CO y CH4 se usa
desplazamiento de períodos, y la lectura dura 40 ms en total:
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 c
Comentarios de: Diseño de sistemas de tiempo real (0)
No hay comentarios