Nivel técnico del artículo

El término de Sistema Ciber-Físico, también conocido por las siglas CPS (del inglés Cyber-Physical System), emergió alrededor del 2006 para referirse a la nueva generación de sistemas que disponían tanto de capacidades computacionales como físicas integradas. Generalmente estos sistemas disponen de distintos elementos que están conectados a través de redes de comunicaciones. Se ofrece de esta forma una solución distribuida que es capaz de interactuar con el mundo físico a través de dispositivos de entrada/salida. Podemos encontrarlos en una multitud de distintos dominios de aplicación, como pueden ser: sistemas de salud, sistemas aeroespaciales, sistemas de automoción, control de industria, etc.

Precisamente, viendo los campos donde se emplean y dada esa capacidad de interacción con el mundo físico, estos sistemas suelen ser safety critical. Es decir, es importante que el funcionamiento de los mismos sea correcto tanto funcional como temporalmente.

En anteriores entradas del blog, ya se destacó la importancia de la verificación del correcto funcionamiento temporal de los sistemas críticos, utilizando en dicho caso, como ejemplo, la técnica del software-in-the-loop. No obstante, existen otras múltiples soluciones para ayudar en el proceso de diseño de CPS fiables y seguros.

Una de estas soluciones es recurrir al particionamiento  espacio-temporal del sistema para, de esta forma, mantener aislados los distintos componentes software del mismo. Esto nos permite contener y aislar los fallos, tanto funcionales como temporales, de componentes con distintas fiabilidades y restricciones de seguridad. Como ventaja adicional, los sistemas particionados permiten reducir el esfuerzo del proceso de integración, verificación y validación del software. Esta arquitectura que se encuentra, por ejemplo, en los sistemas de aviación, es frecuentemente utilizada en los sistemas hipervisores. Estos nos ofrecen la posibilidad de operar con diversos entornos de ejecución independientes entre sí sobre una misma plataforma de ejecución.

Otra posible solución que se puede adoptar durante el proceso de diseño de un sistema seguro es la utilización de cambios de modo junto a la definición de modos de funcionamiento degradado. Esto permite, por ejemplo, que un sistema pueda mantener una funcionalidad mínima cuando se encuentre en situaciones donde no pueda realizarlo en condiciones óptimas. A modo ilustrativo, podríamos considerar un sistema que debe seguir llevando a cabo un subconjunto de sus tareas incluso cuando se encontrara en un estado de baja conectividad, que podría ser una de las razones que lo hubieran llevado a ese estado degradado. En este tipo de sistemas hay que verificar no sólo cada uno de los modos posibles, sino también sino también en los periodos de transición entre distintos modos de operación, durante los cuales las funcionalidades del sistema están cambiando.  Un claro ejemplo se produce cuando el sistema de control de un vehículo detecta problemas en el funcionamiento del motor. En este caso el  vehículo pasa a un modo seguro en el que se limitan las revoluciones, la potencia, etc. con el objeto de poder detener el vehículo de forma segura.

 

En cualquier caso, sea cual sea la metodología o soluciones que se quieran adoptar, uno de los puntos más importantes que se deben considerar es el estudio de la viabilidad del sistema. Con este estudio podemos identificar si un sistema va a incumplir las restricciones temporales que se han establecido. De esta forma podemos identificar, durante la fase de diseño, que nuestro sistema, tal y como está definido, no cumple con los requisitos de seguridad y podemos trabajar en dar una solución al respecto. Por ejemplo, realizar un análisis de tiempo de respuesta de las tareas  del sistema nos permite obtener este tipo de resultados.

En resumidas cuentas, el proceso de diseño de un sistema seguro es una tarea compleja que requiere tener en consideración muchos detalles de verificación antes de llevar a cabo su despliegue. En este sentido, desde ITI se ha estado trabajando en el desarrollo de un software multiobjetivo para el análisis, simulación, diseño y verificación de sistemas ciber-físicos llamado art2kitekt©. Dentro del marco del proyecto CUSTOMER 3 se está extendiendo dicha herramienta para dotarla de nuevas capacidades y servicios que permitan el modelado de sistemas particionados con criticidad mixta como las que ya se han mencionado anteriormente.

 

 

Autor
Joan Valls - ITI
Joan Valls | Técnico I+D+I