Table Of ContentUniversidad de Cantabria
Departamento de Electrónica y Computadores
Diseño de aplicaciones de tiempo real para
plataformas abiertas
Tesis Doctoral
Laura Barros Bastante
Santander, junio 2012
Universidad de Cantabria
Departamento de Electrónica y Computadores
Diseño de aplicaciones de tiempo real para
plataformas abiertas
Memoria
presentada para optar al grado de
DOCTOR por la Universidad de
Cantabria por
Laura Barros Bastante
Ingeniera de Telecomunicación y
Máster en Computación por la
Universidad de Cantabria
Universidad de Cantabria i
ii Grupo de Computadores y Tiempo Real
Universidad de Cantabria
Departamento de Electrónica y Computadores
Diseño de aplicaciones de tiempo real para
plataformas abiertas
Memoria Los Directores,
presentada para optar al grado de Doctor por
Dr. José María Drake Moyano
la Universidad de Cantabria, dentro del
Catedrático de Universidad y,
programa oficial de postgrado en Ciencias,
Tecnología y Computación, por la Ingeniera Dra. Patricia López Martínez
de Telecomunicación y Máster en Ayudante
Computación por la Universidad de
Declaran:
Cantabria
Que el presente trabajo ha sido realizado en
Laura Barros Bastante
el Departamento de Electrónica y
Computadores de la Universidad de
Cantabria, bajo su dirección y reúne las
condiciones exigidas para la defensa de tesis
doctorales.
Santander, junio de 2012
Fdo. José María Drake Moyano
Fdo. Laura Barros Bastante
Fdo. Patricia López Martínez
Universidad de Cantabria iii
iv Grupo de Computadores y Tiempo Real
“Cuando bebas agua, recuerda la fuente”
(Proverbio)
“Demos gracias a los hombres y a las mujeres que nos hacen felices, ellos son
los encantadores jardineros que hacen florecer a nuestros espíritus.”
Will Rogers (cowboy y actor estadounidense)
Gracias a José María Drake, como director de la tesis y como compañero.
Fuente de las ideas que han dado lugar a este trabajo y apoyo para llevarlas a
cabo. Imposible plasmar en una memoria todo lo aprendido gracias a él en el
terreno académico y profesional en estos años dentro del grupo.
Gracias a Patricia López Martínez, de la misma forma, como directora y
compañera, ofreciendo siempre simplificación y solución a los problemas que
le presentaba.
Gracias a mis compañeros César Cuevas y Miguel Tellería, sus trabajos de
investigación paralelos y su constancia, han permitido arrojar luz sobre
algunos de los puntos más oscuros.
Gracias a la Universidad de Cantabria por la financiación a través del contrato
como Ayudante LOU para llevar a cabo esta tesis, y a los directores
nuevamente, junto a Javier Gutiérrez, por las gestiones realizadas.
Gracias a todos los compañeros de CTR+“ellos ya saben”, porque “motivan”
todos y cada uno de los días del año. Un recuerdo especial, para todos aquellos
que formaron y forman el “despacho 12”.
Universidad de Cantabria v
A mis amigos “telecos”, los que siguen cerca y los que están más lejos, porque
cuando conseguimos reunirnos todos, estamos tan a gusto que parece que
seguimos viéndonos cada día.
A mis amigas, o “nosotras” como hace tantos años nos hemos venido
llamando. Es emocionante ver cómo seguimos juntas después de tantos años
y compartiendo día tras día nuevas experiencias.
Gracias a mis padres Jesús y Mª Pilar, y a mis hermanos Francis y Óscar.
Siempre todo lo que he hecho lo habéis visto bien. Nunca un “pero” a la “niña
mimada de la casa”. Realmente nunca os podré devolver ni una ínfima parte
de lo que os debo. Al menos, espero que pueda cumplir parte de la deuda por
medio de algunas satisfacciones.
A mi nueva “familia” Jacobo, aunque ya superamos algo más que “la decena”
juntos, todavía seguimos conociéndonos. Es una suerte hablarte de sockets,
threads ... y que me entiendas, pero una ventaja mayor es que simplemente
estés ahí. Espero que nos aguarde juntos lo mejor por vivir.
vi Grupo de Computadores y Tiempo Real
Índice de Contenidos
Índice de contenidos
Lista de figuras ..................................................................................................xi
Lista de abreviaturas ......................................................................................xiii
Resumen ...........................................................................................................xv
1. Sistemas de tiempo real en plataforma abierta ...........................................1
1.1. Paradigma de reserva de recursos ..................................................................................2
1.2. Modelado de aplicaciones de tiempo real ......................................................................5
1.2.1. Sistemas de tiempo real .........................................................................................5
1.2.2. Planificabilidad en sistemas de tiempo real ...........................................................6
1.2.3. Metodologías de modelado de sistemas de tiempo real .........................................9
1.3. Estado actual y antecedentes de sistemas de tiempo real basados en reserva de recursos
.......................................................................................................................................11
1.4. Objetivos de la tesis .....................................................................................................16
1.5. Organización de la memoria ........................................................................................21
1.6. Referencias ..................................................................................................................23
2. Planificación de aplicaciones de tiempo real sobre plataformas virtuales .
........................................................................................................................33
2.1. Desarrollo de una aplicación bajo el paradigma de reserva de recursos .....................33
2.1.1. Fases de desarrollo de una aplicación ..................................................................33
2.1.2. Diseño reactivo de las aplicaciones de tiempo real .............................................35
2.1.3. Diseño de una aplicación de tiempo real sobre una plataforma virtual ...............37
2.2. Servidores virtuales: Modelo, contrato de servicio y tiempo de ejecución .................38
2.2.1. Modelos de servidores .........................................................................................40
2.2.1.1.Servidores virtuales relativos al procesador.................................................. 41
Virtual Periodic Server......................................................................................... 43
Virtual Deferrable Server..................................................................................... 45
Virtual Sporadic Server........................................................................................ 47
2.2.1.2.Servidores virtuales relativos a la red de comunicaciones............................ 49
Estrategia de reemplazo continua: Virtual Token Bucket Comm Channel.......... 51
Estrategia de reemplazo periódica: Virtual Periodic Comm Channel, Virtual
Deferrable Comm Channel y Virtual Sporadic Comm Channel..................... 53
2.3. Análisis de planificabilidad de aplicaciones ejecutadas en plataformas virtuales .......57
2.3.1. Análisis de planificabilidad: concepto y resultados del análisis ..........................57
2.3.2. Análisis de planificabilidad de transacciones lineales con recursos virtuales propios
...............................................................................................................................58
2.3.3. Análisis de planificabilidad de transacciones lineales con mutexes ....................60
Universidad de Cantabria vii
2.3.4. Análisis de planificabilidad de transacciones no lineales con recursos virtuales
propios: dependencias Fork-Join, Merge-Branch ................................................64
2.3.4.1.Análisis de planificabilidad con ramas en paralelo Fork-Join...................... 64
2.3.4.2.Análisis de planificabilidad con ramas en paralelo Branch-Merge.............. 66
2.4. Modelo para el análisis de planificabilidad de una plataforma virtual sobre una
plataforma física ...........................................................................................................66
2.5. Conclusiones ................................................................................................................75
2.6. Referencias ..................................................................................................................77
3. Plataformas de ejecución de tiempo real de reserva de recursos ............81
3.1. Servicio de reserva de recursos ...................................................................................82
3.1.1. Interfaz de negociación y reserva de recursos (RR_Negotiation_I) ....................85
3.1.2. Interfaz de gestión de las aplicaciones (RR_Execution_I) ..................................86
3.2. Plataforma FRSH .........................................................................................................87
3.3. Implementación de elementos del servicio de reserva de recursos sobre RT-Linux ...90
3.3.1. Plataforma de tiempo real ....................................................................................91
3.3.2. Estudio de necesidades a cubrir por la plataforma ..............................................92
3.4. Proceso de negociación .............................................................................................101
3.4.1. Gestión de admisión de las aplicaciones (RR_Negotiator) ...............................103
3.4.2. Modelos de negociación ....................................................................................105
3.5. Implementación distribuida del servicio de reserva de recursos ...............................110
3.6. Conclusiones ..............................................................................................................113
3.7. Referencias ................................................................................................................115
4. Desarrollo de aplicaciones de tiempo real en base al paradigma de reserva
de recursos ..................................................................................................119
4.1. Proceso de planificación, despliegue y configuración de aplicaciones de tiempo real
sobre plataformas abiertas ..........................................................................................119
4.2. Estrategias de diseño de aplicaciones de tiempo real al que se aplica el paradigma de
reserva de recursos .....................................................................................................122
4.2.1. Aplicación de tiempo real basada en particiones ...............................................123
4.2.1.1.Ejemplo DistributedRobotControl: formulado como aplicación diseñada en
base a particiones................................................................................................ 126
4.2.2. Aplicaciones basadas en componentes ..............................................................138
4.2.2.1.Ejemplo DistributedRobotControl: formulado como aplicación basada en com-
ponentes.............................................................................................................. 141
4.3. Configuración funcional de la aplicación ..................................................................143
4.4. Construcción del modelo de tiempo real de la aplicación sobre plataforma virtual ..145
4.5. Análisis de planificabilidad de una aplicación formulada sobre una plataforma virtual .
.....................................................................................................................................149
4.6. Despliegue y generación del modelo de negociación de la plataforma virtual .........153
4.7. Desarrollo de aplicaciones basadas en componentes bajo el paradigma de reserva de
recursos ......................................................................................................................162
4.7.1. Configuración funcional de una aplicación basada en componentes ................162
4.7.2. Construcción del modelo de tiempo real de la aplicación sobre plataforma virtual
viii Grupo de Computadores y Tiempo Real
Description:Realmente nunca os podré devolver ni una ínfima parte de lo que os .. Interfaz de negociación y reserva de recursos (RR_Negotiation_I) ..