Nivel técnico del artículo

En esta entrada exploraremos cómo la interacción compleja y dinámica entre el mundo real y el mundo digital en tiempo real, o lo que es lo mismo, los sistemas ciber-físicos modernos, demandan enfoques avanzados de modelado junto con herramientas que optimicen el diseño, la integración y la validación de este tipo de sistemas. Adicionalmente, cuando esta interacción hardware-software se desarrolla en entornos con restricciones safety-critical (restricciones críticas para la seguridad), el área de investigación se vuelve de crucial atención debido a las importantes consecuencias que puede tener un fallo en este tipo de sistemas, como puede ser la pérdida de vidas humanas, lesiones, enfermedad, daño o pérdida de equipamiento o propiedad, o daño medioambiental. Respecto a las herramientas, haremos énfasis en la contribución de a2k a este campo, herramienta que está siendo avanzada por ITI en el proyecto tools4safety.

La seguridad funcional de sistemas críticos suele garantizarse a través de sistemas embebidos, que son sistemas especializados de cómputo con recursos limitados y diseñados para realizar tareas específicas dentro de sistemas o dispositivos más grandes. Sin embargo, con los avances en la miniaturización del hardware y la potencia computacional, los sistemas embebidos están incrementando cada vez más sus capacidades y eficiencia. Lo cual permite que los sistemas embebidos puedan encontrarse en un amplio rango de aplicaciones, desde sistemas cotidianos como dispositivos portátiles (wearables) y electrodomésticos inteligentes, así como sistemas básicos de captura y recolección de datos, hasta sistemas más complejos y críticos como monitores en salud, sensores y controladores industriales, además de sistemas de procesamiento y análisis de datos con capacidades de toma de decisiones en tiempo real. Pero estos avances en el hardware, muchas veces debido a la creciente demanda de rendimiento y eficiencia energética, hacen que el hardware a su vez se vuelva cada vez más complejo, con un amplio rango heterogéneo de núcleos de procesamiento, con aceleradores dedicados y con controladores especializados. Estas unidades de procesamiento especializadas son utilizadas para mejorar el desempeño en la consecución de tareas específicas como criptografía, operaciones matemáticas intensivas, construcción de modelos de IA, etc.

Todas estas características de hardware moderno, combinando unidades de procesamiento de alto rendimiento y unidades de procesamiento con recursos limitados pero deterministas, hacen a su vez que la representación de estos componentes en el diseño de sistemas, además de su respectivo análisis, tomen una dimensión adicional de dificultad. Para esto, son necesarios mecanismos de modelado que permitan representaciones abstractas flexibles que simplifiquen la problemática. La construcción de modelos permite transformaciones que ofrecen diferentes perspectivas del sistema, exponiendo así diferentes características manipulables que facilitan el análisis y la realización de una amplia serie de verificaciones. A este respecto, uno de los desafíos se encuentra en el modelado de la integración hardware/software, especialmente en el modelado de rendimientos del software relacionado, por ejemplo, en la determinación del rendimiento de piezas de software en función del elemento de procesamiento en el que se encuentre alojado.  Adicionalmente, a diferencia de la estructura del hardware, las características y requisitos temporales del software es fácil que puedan evolucionar durante el ciclo de desarrollo, ya sea debido a cambios en la misma implementación o por divergencia al realizar medidas en condiciones reales. Todos estos aspectos deberán ser tenidos en cuenta en el modelado de los componentes software.

Para que los sistemas safety-critical sean fiables, se requieren herramientas de modelado y simulación que faciliten un desarrollo robusto y verificable. En el ámbito de la certificación, estándares como RTCA/DO-178C en aviónica, ISO 26262 en automoción e IEC 61508 en la industria en general recomiendan el desarrollo basado en modelos y el uso de herramientas especializadas que asistan al diseñador o arquitecto en el proceso de diseño, desarrollo y verificación del software. Es aquí donde la herramienta a2k, desarrollada por ITI, asiste al ingeniero en el ciclo completo de desarrollo de este tipo de sistemas tan particular. Además, a2k permite la generación de evidencias documentales, necesarias para el proceso de certificación, aspecto clave para garantizar el correcto funcionamiento y la seguridad del sistema.

A medida que los sistemas safety-critical enfrentan la presión de reducir costos y tiempos de desarrollo, maximizar la reutilización de componentes se convierte en una prioridad. Y es el desarrollo dirigido por modelos un paradigma que encaja a la perfección con este tipo de exigencias, especialmente en la reutilización y escalado de componentes, aspectos a cubrir en el proyecto tools4safety con la herramienta a2k. Y esta presión está presente en todos los espacios del mercado: aeroespacial, automotriz, trenes y control industrial en general. Otro desafío en el desarrollo software safety-critical, y en el desarrollo software en general, es la utilización de diferentes herramientas en el proceso de construcción del sistema. Es muy complicado tener una única herramienta que cubra todas las necesidades técnicas de un proyecto, además de por temas logísticos y económicos, resultando más conveniente la diversificación, pero intentando integrar y realimentar los resultados obtenidos de las mismas. Desde un punto de vista técnico, cada herramienta puede estar especializada en una parte del proceso, desde un punto de vista logístico, puedes tener miembros en el equipo de desarrollo expertos en unas herramientas, pero no en otras, o por el nivel de criticidad y riesgo del sistema, puedes tener que utilizar determinadas herramientas certificadas. Al final, lo importante en este tipo de procesos tan complejo es poder tener un marco que guíe y asista al equipo de desarrollo en el proceso y construcción del sistema safety critical, que, a pesar de las diferentes herramientas, se integren y realimenten los resultados obtenidos de las mismas, aprovechando el potencial de cada una de estas.

El desarrollo de sistemas safety-critical plantea complejidades que exigen herramientas avanzadas y métodos de desarrollo sofisticados. La herramienta a2k a través del proyecto tools4safety se convierte en un aliado esencial para enfrentar estos desafíos, ofreciendo un entorno de modelado y validación que permite a los desarrolladores optimizar y probar sistemas de sectores tan críticos como la salud, la industria y el transporte. El cubrimiento de todo el ciclo de desarrollo y el enfoque en la interoperabilidad entre herramientas aseguran que el desarrollo de estos sistemas cumpla con los altos estándares de seguridad y eficiencia requeridos.

Autor
Javier Coronel | Coordinador del grupo de Sistemas Ciber Físicos en ITI

Posts relacionados