Arquitectura software de comunicaciones para sistemas distribuidos críticos con requisitos de tiempo real estrictos

Tesis doctoral de Santiago Urueña Pascual

Gracias a la introducción de computadores empotrados para controlar sistemas físicos a principios de la década de 1960 se consiguió obtener una lógica mucho más avanzada que con los sistemas de control convencionales mecánicos o electro-mecánicos. Se disponía de una mayor funcionalidad a un coste menor, y con más flexibilidad a la hora de realizar cambios en la lógica de control. estos sistemas presentaban requisitos de tiempo real, ya que deben responder en unos plazos de tiempo acotados a estímulos del exterior. Es más un problema software que hardware: no es necesario que sea rápido, sino que es preciso realizar en cada momento lo más urgente y en un tiempo predecible. ciertos tipos de sistemas de control son críticos o de alta integridad, ya que si fallaran podrían poner en peligro la seguridad de personas o provocar catástrofes ecológicas. Por ello, el software debe superar un proceso de certificación realizado por una entidad externa y atendiendo a una legislación, o regulaciones de la industria o de organizaciones internacionales. debido a las especiales características del software de control crítico–escasos recursos de los computadores empotrados, predecibilidad para conseguir tiempo real estricto, y simplicidad del código para poder certificarlo–hacen falta herramientas muy específicas para su desarrollo. El lenguaje de programación ada es muy utilizado en este tipo de sistemas ya que, aunque de propósito general, está también diseñado para el cálculo científico, los sistemas de control, y es muy poco propenso a errores. más concretamente se utilizan perfiles de un lenguaje de programación para no utilizar aquellas características difíciles de certificar (e.G. Las excepciones o la orientación a objetos). Spark es un ejemplo de subconjunto de ada muy utilizado para sistemas críticos y que permiten realizar análisis estático al código. Dichos subconjuntos eran muy austeros, no habiendo ni sistema operativo (eran los llamados ejecutivos cíclicos) para que fuese más sencillo de certificar. La desventaja era que al aumentar la complejidad del código los costes se disparaban, también en el mantenimiento. el perfil de ravenscar se empezó a desarrollar en 1997 por expertos de la industria y de la academia como un subconjunto de ada específico para sistemas críticos de tiempo real estricto que no fuera sólo secuencial y que además incorporase los últimos avances de la teoría de sistemas de planificabilidad y de análisis de tiempo de respuesta. De esta forma, el perfil resultante permite una concurrencia en ada suficientemente rica como para programar sistemas de control, pero suficientemente sencillo para que el sistema operativo sea certificable y se pueda medir los tiempos de cómputo máximos. los sistemas de control críticos del futuro aprovecharán el aumento de los recursos computacionales (cpu, memoria, ancho de banda y fiabilidad) y la reducción de costes de éstos incrementando por un lado la funcionalidad ofrecida por el software (aumento complejidad código), y la proliferación de sistemas distribuidos para que cada dispositivo pueda ser controlado por un computador distinto, y también para mejorar la tolerancia a fallos. tradicionalmente, como no todo el código de un sistema de alta integridad tiene la misma criticidad–y por lo tanto no se utilizan las mismas herramientas ni es necesario certificarlo todo al mismo nivel, ya que es un proceso muy caro, sobre todo para niveles altos–se utilizaba computadores diferentes para cada aplicación. pero con el incremento exponencial del número de aplicaciones, no es factible también aumentar el número de procesadores debido al peso y el precio que esto supondría. por ello, por ejemplo está teniendo éxito en aviónica la arquitectura modular integrada (ima, integrated modular avionics), para poder ejecutar aplicaciones de distintas criticidades en un mismo nodo con aislamiento espacial y temporal entre las mismas. puede considerarse que el perfil de ravenscar ha tenido bastante éxito, ya que por un lado hay diversas implementaciones comerciales (y de investigación) y está empezando a ser usado por la industria—principalmente por la aeroespacial y de transporte–y por otro ha sido incluido dentro de la especificación de ada 2005, con lo cual actualmente es un estándar iso. Pero es necesario actualizar el perfil para adaptarlo a los requisitos de los sistemas de nueva generación, así como incluir los nuevos avances en teoría de planificabilididad y análisis de tiempo de respuesta. así pues, la presente tesis doctoral extiende el perfil de ravenscar a los sistemas distribuidos, y propone un protocolo de comunicaciones de tiempo real estricto sobre redes de comunicaciones no deterministas. en los últimos años se ha avanzado mucho en cuanto al análisis de tiempo de respuesta de sistemas distribuidos, y la teoría está lo suficiente madura como para incorporarse a herramientas para la industria. Esta extensión también servirá para mezclar aplicaciones de distinta criticidad en una misma cpu pero en diferentes particiones, ya que cada partición será un nodo lógico del sistema distribuido aunque se ejecute en el mismo nodo físico. las arquitecturas particionadas requieren el aislamiento temporal y espacial entre aplicaciones de distinta criticidad. Esto supone un problema en las cpus utilizadas en sistemas para el espacio: los procesadores resistentes a la radiación no disponen de una unidad de gestión de memoria (mmu), el mecanismo tradicionalmente utilizado en sistemas empotrados y de propósito general para garantizar el aislamiento espacial. la presente tesis doctoral aborda el tema del aislamiento espacial en procesadores para el espacio, y ofrece particionamiento en memoria utilizando los sencillos mecanismos disponibles en los procesadores resistentes a la radiación. esta novedosa técnica es completamente segura, y conserva las ventajas de la certificación independiente entre aplicaciones de distintas criticidades.

 

Datos académicos de la tesis doctoral «Arquitectura software de comunicaciones para sistemas distribuidos críticos con requisitos de tiempo real estrictos«

  • Título de la tesis:  Arquitectura software de comunicaciones para sistemas distribuidos críticos con requisitos de tiempo real estrictos
  • Autor:  Santiago Urueña Pascual
  • Universidad:  Politécnica de Madrid
  • Fecha de lectura de la tesis:  06/04/2011

 

Dirección y tribunal

  • Director de la tesis
    • Juan Zamorano Flores
  • Tribunal
    • Presidente del tribunal: Juan Antonio De la puente alfaro
    • tullio Vardanega (vocal)
    • félix García carballeira (vocal)
    • José Javier Gutiérrez García (vocal)

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio