Nuevas técnicas de inyección de fallos en sistemas embebidos mediante el uso de modelos virtuales descritos en el nivel de transacción

2015 
Mejor software y mas rapido. Este es el desafio que se deriva de la necesidad de construir sistemas cada vez mas inteligentes. En cualquier diseno embebido actual, el software es un componente fundamental que dota al sistema de una alta capacidad de configuracion, gran numero de funcionalidades y elasticidad en el comportamiento del sistema en situaciones excepcionales. Si ademas el desarrollo del conjunto hardware/software integrado en un System on Chip (SoC), forma parte de un sistema de control critico donde se deben tener en cuenta requisitos de tolerancia a fallos, la verificacion exhaustiva de los mismos consume un porcentaje cada vez mas importante de los recursos totales dedicados al desarrollo y puesta en funcionamiento del sistema. En este contexto, el uso de metodologias clasicas de codiseno y coverificacion es completamente ineficiente, siendo necesario el uso de nuevas tecnologias y herramientas para el desarrollo y verificacion tempranos del software embebido. Entre ellas se puede incluir la propuesta en este trabajo de tesis, la cual aborda el problema mediante el uso de modelos ejecutables del hardware definidos en el nivel de transaccion. Debido a los estrictos requisitos de robustez que imperan en el desarrollo de software espacial, es necesario llevar a cabo tareas de verificacion en etapas muy tempranas del desarrollo para asegurar que los mecanismos de tolerancia a fallos, avanzados en la especificacion del sistema, funcionan adecuadamente. De forma general, es deseable que estas tareas se realicen en paralelo con el desarrollo hardware, anticipando problemas o errores existentes en la especificacion del sistema. Ademas, la verificacion completa de los mecanismos de excepcion implementados en el software, puede ser imposible de realizar en hardware real ya que los escenarios de fallo deben ser artificial y sistematicamente generados mediante tecnicas de inyeccion de fallos que permitan realizar campanas de inyeccion controlables, observables y reproducibles. En esta tesis se describe la investigacion, desarrollo y uso de una plataforma virtual denominada "Leon2ViP", con capacidad de inyeccion de fallos y basada en interfaces SystemC/TLM2 para el desarrollo temprano y verificacion de software embebido en el marco del proyecto Solar Orbiter. De esta forma ha sido posible ejecutar y probar exactamente el mismo codigo binario a ejecutar en el hardware real, pero en un entorno mas controlable y determinista. Ello permite la realizacion de campanas de inyeccion de fallos muy focalizadas que no serian posible de otra manera. El uso de "\Leon2ViP" ha significado una mejora significante, en terminos de coste y tiempo, en el desarrollo y verificacion del software de arranque de la unidad de control del instrumento (ICU) del detector de particulas energeticas (EPD) embarcado en Solar Orbiter.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    0
    References
    0
    Citations
    NaN
    KQI
    []