tecnologia STR
UPM
Tecnología de sistemas de
tiempo real
Juan Antonio de la Puente
DIT/UPM
Copyright © 2007, Juan Antonio de la Puente
Motivación
© 2007 Juan Antonio de la Puente
Los métodos, las herramientas y la tecnología que se
usan para construir otros tipos de sistemas no sirven para
los sistemas de tiempo real
– no son suficientemente fiables
– sólo contemplan el tiempode respuesta medio, no el peor
– no garantizan los requisitos temporales
Las plataformas de desarrollo y ejecución suelen ser
diferentes
– es difícil hacer pruebas en la plataforma de ejecución
– es difícil medir los tiempos con precisión
25/9/07
Tecnología de software
1
Diseño de sistemas de tiempo real
© 2007 Juan Antonio de la Puente
El diseño de un sistematiene varios aspectos
– funcional: relación entre valores de entrada y de salida
– concurrente: actividades concurrentes, sincronización,
comunicación
– temporal: requisitos temporales
– arquitectónico: componentes, relaciones entre ellos
Cada aspecto se expresa mejor con un tipo de notación.
Por ejemplo:
– Simulink para el aspecto funcional
– UML (con perfiles específicos) para eldiseño detallado de
componentes
– AADL (Analysable Architecture Description Language) para los
aspectos de concurrencia y arquitectura
25/9/07
Tecnología de software
2
© 2007 Juan Antonio de la Puente
Ejemplo: Simulink
25/9/07
Tecnología de software
3
Ejemplo: AADL
system
CDU_Processor_Software.Impl
p_CDU_Display_Manager : process
CDU_Display_Manager.Impl_to___Out_Socket
thread
_
_from___In_Group
_to___Out
p_CDU_IO_Manager : process
CDU_IO_Manager.Impl
_to___Out_Socket
thread
_
© 2007 Juan Antonio de la Puente
thread
_
_from___In
_from___In
_from___In_Group
_from___In_Group
_from___In
p_Communications_Manager : process
Communications_Manager.Impl
thread
thread
_
_
thread
_
_from___In_from___In_Group
_from___In
_from___In_Group
_to___Out
_to___Out_Socket
_to___Out_Socket
_to___Out
p_Flight_Manager : process
Flight_Manager.Impl
thread
_to___Out_Socket
_
thread
_
_from___In_Group
_from___In
25/9/07
_to___Out
thread
_
Tecnología de software
thread
_
thread
_
_to___Out
4
© 2007 Juan Antonio de la Puente
Ejemplo: UML
25/9/07Tecnología de software
5
Arquitectura global
aplicación
© 2007 Juan Antonio de la Puente
lenguaje de programación
máquina simbólica
sistema operativo
llamadas al sistema
+ lenguaje de máquina
lenguaje de máquina
hardware
25/9/07
Tecnología de software
6
Desarrollo cruzado
© 2007 Juan Antonio de la Puente
fuentes
compilador
Plataforma de ejecución25/9/07
montador
RTS
lib
RTS
lib
Plataforma de desarrollo
objetos
depurador
simulador
ejecutable
programa
cargado
monitor
Tecnología de software
7
Lenguajes de programación
© 2007 Juan Antonio de la Puente
Un lenguaje de programación de sistemas de tiempo real
debe facilitar la realización de sistemas
– concurrentes,
– fiables,
– con uncomportamiento temporal analizable
Hay varias clases de lenguajes de interés para STR:
– Lenguajes ensambladores
» flexibles y eficientes, pero costosos y poco fiables
– Lenguajes secuenciales (Fortran, C, C++)
» necesitan un SO para concurrencia y tiempo real
– Lenguajes concurrentes (Ada, Java, ...)
» concurrencia y tiempo real incluidos en el lenguaje
25/9/07
Tecnología desoftware
8
C
© 2007 Juan Antonio de la Puente
Es un lenguaje muy utilizado para programación de
sistemas
Es un lenguaje
– estructurado, con bloques
– sin tipado fuerte
– muy flexible (pero a veces poco seguro)
No tiene integrada la concurrencia ni el tiempo real
– se consigue invocando servicios del sistema operativo de forma
explícita
No facilita la...
Regístrate para leer el documento completo.