Tecnologia
UPM
Tecnología de sistemas de tiempo real
Juan Antonio de la Puente DIT/UPM
Copyright © 2007, Juan Antonio de la Puente
Motivación
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 tiempo de respuesta medio, no el peor – nogarantizan los requisitos temporales
© 2007 Juan Antonio de la Puente
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
El diseño de un sistema tiene varios aspectos
– funcional: relación entrevalores de entrada y de salida – concurrente: actividades concurrentes, sincronización, comunicación – temporal: requisitos temporales – arquitectónico: componentes, relaciones entre ellos
© 2007 Juan Antonio de la Puente
Cada aspecto se expresa mejor con un tipo de notación. Por ejemplo:
– Simulink para el aspecto funcional – UML (con perfiles específicos) para el diseño detallado decomponentes – AADL (Analysable Architecture Description Language) para los aspectos de concurrencia y arquitectura
25/9/07
Tecnología de software
2
Ejemplo: Simulink
© 2007 Juan Antonio de la Puente
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 thread _ _from___In p_CDU_IO_Manager : process CDU_IO_Manager.Impl _to___Out_Socket thread _ thread _
© 2007 Juan Antonio de la Puente
_from___In _from___In_Group
_to___Out
_from___In_Group
p_Communications_Manager : process Communications_Manager.Impl thread thread _ _ thread _
_to___Out _to___Out_Socket _to___Out_Socket _to___Out p_Flight_Manager :process Flight_Manager.Impl thread _to___Out_Socket _
_from___In
_from___In _from___In_Group _from___In _from___In_Group _from___In_Group
thread _
thread _
_from___In
thread _ _to___Out
25/9/07
Tecnología de software
4
Ejemplo: UML
© 2007 Juan Antonio de la Puente
25/9/07
Tecnología de software
5
Arquitectura global
aplicación
© 2007 JuanAntonio de la Puente
lenguaje de programación máquina simbólica sistema operativo hardware llamadas al sistema + lenguaje de máquina lenguaje de máquina
25/9/07
Tecnología de software
6
Desarrollo cruzado
fuentes
compilador
objetos
montador
© 2007 Juan Antonio de la Puente
RTS lib depurador
RTS lib simulador ejecutable
Plataforma de desarrollo
Plataforma deejecución
monitor
programa cargado
25/9/07
Tecnología de software
7
Lenguajes de programación
Un lenguaje de programación de sistemas de tiempo real debe facilitar la realización de sistemas
– concurrentes, – fiables, – con un comportamiento temporal analizable
© 2007 Juan Antonio de la Puente
Hay varias clases de lenguajes de interés para STR:
– Lenguajesensambladores
» 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 de software 8
C
© 2007 Juan Antonio de la Puente
Es un lenguaje muy utilizado para programación desistemas 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 descomposición en módulos ni la programación con objetos
– se puede hacer con C++
» extensión de C para programar con objetos...
Regístrate para leer el documento completo.