PDF de programación - Diseño de sistemas de tiempo real

Imágen de pdf Diseño de sistemas de tiempo real

Diseño de sistemas de tiempo realgráfica de visualizaciones

Publicado el 15 de Octubre del 2018
516 visualizaciones desde el 15 de Octubre del 2018
258,3 KB
32 paginas
Creado hace 16a (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
  • Links de descarga
http://lwp-l.com/pdf13887

Comentarios de: Diseño de sistemas de tiempo real (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad