Вы находитесь на странице: 1из 32

dit

UPM

Diseo de sistemas de tiempo real


Juan Antonio de la Puente DIT/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

Juan Antonio de la Puente 2005-2007

27/2/08

Diseo de sistemas de tiempo real

Aspectos de un sistema

Funcionalidad
relacin entre entradas y salidas no se considera concurrencia, sincronizacin, tiempo real tampoco fiabilidad ni seguridad

Juan Antonio de la Puente 2005-2007

Arquitectura
componentes definidos por sus interfaces
interfaz que proporciona (provided interface) interfaz que necesita (required interface)

Concurrencia y tiempo real


hebras, sincronizacin planificacin y anlisis temporal

Implementacin
cdigo de aplicacin plataforma: RTOS, middleware

27/2/08

Diseo de sistemas de tiempo real

Ejemplo de modelo funcional


r y

PID

Juan Antonio de la Puente 2005-2007

e(t) =r(t) " y(t) $ u(t) =K P &e(t) + K I %

Modelo continuo

de(t) ' # 0 e(s)ds + K D dt ) (


t

e=r"y # Kh & K u = K P % e + I (e + x) + P (e " x)( $ ' 2 h x =e

Modelo discreto ejecutar cada h (perodo)

type controller is interface; function control (r, y : variable_type is abstract;

!
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

Juan Antonio de la Puente 2005-2007

Los elementos funcionales se insertan en componentes


Diseo de sistemas de tiempo real 4

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

Juan Antonio de la Puente 2005-2007

control

PID
get_variable

set_reference

27/2/08

Diseo de sistemas de tiempo real

Concurrencia y tiempo real

Temperature_controller

Juan Antonio de la Puente 2005-2007

control periodic T = 0.100 D = 0.040

set_reference protected

get_variable passive

27/2/08

Diseo de sistemas de tiempo real

Componentes de bajo nivel

Representan objetos que se pueden implementar directamente en trminos de la plataforma de ejecucin


hebras peridicas y espordicas, objetos de datos, etc.

Juan Antonio de la Puente 2005-2007

Estructura bsica:
Archetype C component

OBCS

THREAD

OPCS

RI

Synchronization protocol agent

Functional component

27/2/08

Diseo de sistemas de tiempo real

Arquetipos

Abstracciones comunes en sistemas de tiempo real Tareas peridicas y espordicas


componentes cclicos y espordicos

Juan Antonio de la Puente 2005-2007

Datos compartidos por varias tareas


componentes protegidos

Abstraccin de datos
componentes pasivos

27/2/08

Diseo de sistemas de tiempo real

Componentes cclicos

Ejecutan una actividad a intervalos regulares


atributos: perodo, plazo

Juan Antonio de la Puente 2005-2007

No tienen OBCS
excepto con ATC

No tienen interfaz PI
excepto operaciones de ATC
transferencia asncrona de control

pero pueden tener RI


C Temperature_Sensor
report state

27/2/08

Diseo de sistemas de tiempo real

10

Componentes espordicos

Ejecutan una actividad cuando ocurre un suceso externo o interno


suceso detectado por programa o por interrupcin atributos: separacin mnima, plazo

Juan Antonio de la Puente 2005-2007

Su interfaz consiste en una nica operacin (<<start>>)


invocada por el objeto que detecta el suceso de activacin

La sincronizacin se realiza en el OBCS Tambin pueden ofrecer operaciones de ATC


<<start>> check_level

S Level_Sensor

report_state

27/2/08

Diseo de sistemas de tiempo real

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

Juan Antonio de la Puente 2005-2007

State

27/2/08

Diseo de sistemas de tiempo real

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

Juan Antonio de la Puente 2005-2007

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

Diseo de sistemas de tiempo real

13

Restricciones de sincronizacin
cliente servidor cliente servidor cliente servidor

Juan Antonio de la Puente 2005-2007

suspendido

suceso

suspendido

suceso

ASER asynchronous execution request

LSER loosely synchronous execution request no en HRT

HSER highly synchronous execution request

27/2/08

Diseo de sistemas de tiempo real

14

Operaciones con restricciones de estado


cliente servidor cliente servidor cliente servidor

Juan Antonio de la Puente 2005-2007

abierto cerrado abierto

PAER protected asynchronous execution request


27/2/08

HRT: mximo 1 por PO

PSER protected state-constrained execution request


15

Diseo de sistemas de tiempo real

Proceso de desarrollo en V

abstraccin

anlisis de requisitos diseo arquitectnico diseo detallado realizacin pruebas de unidades pruebas de integracin

pruebas de sistema

Juan Antonio de la Puente 2005-2007

tiempo

27/2/08

Diseo de sistemas de tiempo real

16

Inconvenientes

Muy rgido
difcil modificar el sistema si es necesario

Juan Antonio de la Puente 2005-2007

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

Diseo de sistemas de tiempo real

17

Ejemplo: modelo de desarrollo ASSERT


Functional view Functional framework
Juan Antonio de la Puente 2005-2007

Interface view AP-level framework

Concurrency view VM-level model

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

Deployment information (AADL)

18

Ejemplo: control de una mina


Descripcin general
operador registro

Juan Antonio de la Puente 2005-2007

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

Dispositivos de entrada y salida

water flow sensor


Juan Antonio de la Puente 2005-2007

pump motor motor set CO reading CO sensor

water flow reading

high water high sensor sensor

Control System
low water low sensor sensor

CH4 reading

CH4 sensor

air flow reading

air flow sensor

27/2/08

Diseo de sistemas de tiempo real

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

Juan Antonio de la Puente 2005-2007

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

Diseo de sistemas de tiempo real

21

Requisitos temporales: Perodos y plazos de los sensores

CO, CH4 y ventilacin


perodo nominal: 100 ms para los manejadores de los sensores de CO y CH4 se usa desplazamiento de perodos, y la lectura dura 40 ms en total: D T S = 60 ms

Juan Antonio de la Puente 2005-2007

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

Diseo de sistemas de tiempo real

22

Requisitos temporales: Plazo de desactivacin de la bomba

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

Juan Antonio de la Puente 2005-2007

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

Requisitos temporales: Informacin al operador

Juan Antonio de la Puente 2005-2007

Alarmas por exceso de metano o monxido de carbono


plazo: 1 s

Alarmas por ventilacin insuficiente


plazo: 2 s

Alarmas por fallos de funcionamiento de la bomba


plazo: 3 s

Estos requisitos son menos restrictivos que los anteriores

27/2/08

Diseo de sistemas de tiempo real

24

Resumen de los requisitos temporales

Sensor
Juan Antonio de la Puente 2005-2007

Tipo P P P P S

T 80 100 100 1000 6000

D 30 60 100 40 200

CH4 CO Ventilacin Caudal de agua Nivel de agua

27/2/08

Diseo de sistemas de tiempo real

25

Diseo de la arquitectura lgica

Juan Antonio de la Puente 2005-2007

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

Descomposicin de primer nivel


mine control system

check safe
Juan Antonio de la Puente 2005-2007

pump controller

environment_monitor

commands alarms

log ops

operator console

data_logger

27/2/08

Diseo de sistemas de tiempo real

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

Diseo de sistemas de tiempo real

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

Diseo de sistemas de tiempo real

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

Diseo de sistemas de tiempo real

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

Juan Antonio de la Puente 2005-2007

27/2/08

Diseo de sistemas de tiempo real

31

Вам также может понравиться