Artículos técnicos

Perspectivas de MathWorks

Construya aplicaciones ferroviarias según la norma EN 50716 con diseño basado en modelos


Autores:

  • Mohammad Abu-Alqumsan, MathWorks
  • Tom Erkkinen, MathWorks

9 minutos de lectura

Resumen

  • La norma EN 50716 sustituye a las normas EN 50128 y EN 50657, y unifica los requisitos aplicables al software de infraestructura de vía y de material rodante
  • El diseño basado en modelos permite cumplir con los requisitos de la norma EN 50716 de manera eficiente y eficaz.
  • Al aprovechar el diseño basado en modelos, los equipos de desarrollo pueden garantizar la trazabilidad de principio a fin y ofrecer soluciones de software robustas, seguras y verificables.

La publicación de la norma EN 50716:2023 por parte de CENELEC proporciona a la industria ferroviaria una norma europea única y unificada que rige el desarrollo de software para aplicaciones de infraestructura de vía y de a bordo para material rodante. Esta norma, publicada en noviembre de 2023, establece requisitos consolidados para el software operativo y de seguridad crítica utilizado en los sistemas ferroviarios modernos.

Antes de la entrada en vigor de la norma EN 50716, estos ámbitos estaban cubiertos por separado por las normas EN 50128 (para sistemas de comunicación, control y protección) y EN 50657 (para software de material rodante). La norma EN 50716 sustituye explícitamente las normas anteriores, aportando coherencia, reduciendo la redundancia y armonizando los procesos en todas las aplicaciones ferroviarias.

Según la norma EN 50716, el nivel de integridad del software requerido se determina y evalúa a nivel de sistema, basándose en el nivel de integridad de seguridad del sistema (SIL) y el riesgo asociado al uso del software dentro del sistema (EN 50126). La integridad del software se especifica en uno de los cinco niveles definidos, que van desde la integridad básica (el más bajo) hasta SIL 4 (el más alto).

Un diagrama que muestra un tren, equipos de infraestructura de vía y etiquetas correspondientes a tres normas ferroviarias diferentes.

Figura 1. Relación entre la norma EN 50716 y las normas sustituidas EN 50128 (para aplicaciones de infraestructura de vía) y EN 50657 (para aplicaciones embarcadas en el material rodante).

Por qué el diseño basado en modelos es una opción ideal para cumplir la norma EN 50716

Si bien mantiene la continuidad con las normas EN 50128 y EN 50657, la norma EN 50716 introduce elementos que reflejan una modernización sustancial de las expectativas de ingeniería de software en el sector ferroviario:

  • Un papel ampliado para los modelos de simulación en el desarrollo
  • Elevación de los métodos formales a altamente recomendados (HR) para todos los niveles SIL (no solo SIL 3 y SIL 4 como en las normas anteriores)
  • Aspectos relativos a IA y Machine Learning
  • Mayor alineación con los dominios de sistemas y ciberseguridad

Estas áreas se dominan por completo mediante el diseño basado en modelos. El diseño basado en modelos se ajusta intrínsecamente al propósito de la norma EN 50716. Considera los modelos como artefactos de ingeniería primarios, que sirven de apoyo para la captura de requisitos y la arquitectura, el diseño de componentes, la generación de código, la verificación, la integración y el mantenimiento. El diseño basado en modelos mejora la comunicación, la trazabilidad, la repetibilidad y la creación de evidencias a lo largo del ciclo de vida del sistema y del software, al tiempo que permite la adopción práctica de métodos formales.

IEC Certification Kit (para las normas IEC 61508, EN 50716 y normas relacionadas) detalla este soporte y proporciona certificados de herramientas e informes de evaluación de la entidad de certificación internacional TÜV SÜD.

Cómo el diseño basado en modelos respalda la norma EN 50716

La norma EN 50716 define un proceso riguroso para un desarrollo estructurado, trazable y verificable. El diseño basado en modelos permite a las organizaciones cumplir con las recomendaciones del estándar mediante un flujo de trabajo de referencia integral y adaptado al nivel SIL, que abarca todo el sistema, así como las actividades de desarrollo, verificación y validación del software.

Diagrama de flujo detallado que muestra las etapas y herramientas para el desarrollo y la verificación de sistemas y software, desde los requisitos hasta la generación de código.

Figura 2. Procesos de desarrollo y verificación de sistemas y software mediante Simulink. Si bien este artículo se centra en el desarrollo de software, puede utilizar la ingeniería de sistemas basada en modelos con System Composer y Simulink para actividades a nivel de sistema (EN 50126), como se muestra en el lado izquierdo del diagrama de flujo de trabajo.

Este artículo se centra en:

  • Requisitos de software
  • Arquitectura y diseño
  • Diseño de componentes
  • Implementación y prueba de componentes
  • Integración y pruebas
  • Despliegue y mantenimiento de software
  • Garantía de calidad de software

Requisitos de software

Con Requirements Toolbox™ puede definir requisitos documentados de forma estructurada y complementar los requisitos en lenguaje natural con modelos de simulación. Este enfoque permite representaciones claras e inequívocas de los requisitos funcionales, de interfaz y de seguridad.

Al garantizar una trazabilidad sólida y bidireccional entre los requisitos y los modelos, los elementos del modelo y el código fuente, y los casos de prueba correspondientes, las organizaciones pueden cumplir con las exigencias de la norma EN 50716 en cuanto a documentación transparente y verificación rigurosa a lo largo de todo el ciclo de vida del software.

Requirements Editor app, que muestra una hoja de cálculo que resume los requisitos, los atributos detallados y los vínculos de trazabilidad del requisito seleccionado en la ventana Property Inspector.

Figura 3. Especificación de requisitos y gestión de la trazabilidad con Requirements Toolbox.

Arquitectura y diseño

El diseño basado en modelos admite el modelado arquitectónico jerárquico, lo que permite a los equipos descomponer software complejo en capas estructuradas donde los comportamientos y las interfaces pueden validarse tempranamente mediante la herramienta de modelado y a través de comprobaciones de coherencia automatizadas. Este enfoque estructurado hace que la asignación de requisitos a los componentes sea inherentemente trazable y analizable, lo que garantiza que cada requisito esté vinculado a un elemento arquitectónico bien definido (por ejemplo, un componente de software) y pueda verificarse sistemáticamente mediante pruebas posteriores.

Diagrama de bloques que muestra tres componentes principales conectados por líneas de flujo de datos, cada uno con múltiples entradas y salidas etiquetadas.

Figura 4. Modelado de diseños arquitectónicos de software con diagramas de bloques, actividades y secuencias utilizando System Composer.

Diseño de componentes

Puede modelar diseños de componentes de software utilizando máquinas de estados (Stateflow®), diagramas de flujo de señales (Simulink®), código de MATLAB®, o un enfoque híbrido que combine Simulink, Stateflow y MATLAB. El diseño basado en modelos permite a los diseñadores especificar con precisión las transiciones del sistema, el manejo de eventos y el comportamiento de ejecución determinística.

El diseño basado en modelos también admite el análisis estático a nivel de modelo, donde puede utilizar las capacidades de Simulink Check™ para verificar los modelos según las directrices de modelado establecidas. Paralelamente, puede realizar simulaciones de modelos para descubrir errores lógicos existentes, suposiciones incorrectas y discrepancias en la interfaz. En conjunto, la simulación y el análisis estáticos de modelos permiten detectar problemas desde su aparición y mucho antes de que estén disponibles la implementación del software o los prototipos de hardware, lo que reduce significativamente el retrabajo posterior y mejora la eficiencia del desarrollo.

Tres vistas paralelas que muestran un diagrama de flujo de datos, una máquina de estados y un editor de código.

Figura 5. Opciones de diseño basado en modelos que utilizan un diagrama de flujo de datos (Simulink), una máquina de estados (Stateflow) y código de MATLAB.

Además, con el modelado del dominio físico en Simulink y Simscape™, puede realizar una simulación de lazo cerrado de la dinámica de la planta para ajustar o calibrar adecuadamente los modelos de los componentes de software. Durante las actividades de integración posteriores, las simulaciones de lazo cerrado permiten capturar los impactos del motor, el frenado y el medio ambiente en el sistema completo.

Implementación y prueba de componentes

Es sencillo generar código de implementación en C/C++ a partir de diseños de componentes detallados en Simulink utilizando Embedded Coder®, garantizando que la lógica y el comportamiento discreto del modelo se trasladen al software de producción. Esta generación automática de código se ajusta a las expectativas de la herramienta T3 en la norma EN 50716, lo que reduce el esfuerzo de codificación manual y elimina muchos tipos de errores de codificación manual, al tiempo que produce implementaciones determinísticas y analizables adecuadas para software crítico para la seguridad.

Se muestra un diagrama del modelo junto a su código fuente correspondiente para su comparación y revisión.

Figura 6. Vista comparativa de un modelo y el código generado, con trazabilidad de extremo a extremo.

Como complemento a este flujo de trabajo, las pruebas de modelo-in-the-loop (MIL), software-in-the-loop (SIL) y procesador-in-the-loop (PIL) proporcionan una estrategia de verificación escalable que comienza con la verificación funcional a nivel de modelo, avanza hacia la ejecución del código generado en un entorno de simulación y concluye con la ejecución del código en el procesador objetivo. La transición entre MIL, SIL o PIL requiere un esfuerzo mínimo, permite un alto grado de reutilización de casos de prueba y contribuye a la confianza en la precisión y la coherencia a lo largo de todo el ciclo de desarrollo. Por último, las pruebas de hardware-in-the-loop (HIL) pueden seguir la implementación en hardware de producción ejecutando el modelo de planta de bucle cerrado en hardware en tiempo real.

Para ello, puede utilizar Simulink Test™ para gestionar y orquestar todos los modos de prueba dentro de un marco unificado, lo que permite un enfoque coherente para la definición, ejecución e informe de pruebas en MIL, SIL, PIL y HIL. Además, Simulink Coverage™ permite evaluar la cobertura estructural como evidencia objetiva de la finalización de las pruebas mediante métricas de enunciados, bifurcaciones y MC/DC.

Integración y pruebas

A nivel de arquitectura de software, los modelos gestionan escenarios de integración definiendo cómo interactúan los componentes a través de interfaces bien estructuradas, flujos de ejecución y patrones de comunicación (utilizando diagramas de secuencia y de actividad). Las simulaciones a nivel de arquitectura permiten a los equipos validar el comportamiento de la integración en una fase temprana, poniendo a prueba la estructura completa del software de aplicación en condiciones realistas de temporización, gestión de eventos e intercambio de datos. El enfoque basado en la simulación ayuda a descubrir defectos arquitectónicos, discrepancias de interfaz y riesgos de integración en una etapa temprana, cuando los cambios de diseño son mucho menos costosos.

La generación y ejecución automatizada de casos de prueba refuerza aún más esta validación arquitectónica. Al derivar las pruebas directamente de los requisitos (utilizando modelos de especificación) y del comportamiento a nivel de arquitectura, los equipos pueden lograr una cobertura coherente y garantizar la trazabilidad, lo que se alinea con el énfasis de la norma EN 50716 en la verificación sistemática.

Garantía de calidad de software

La trazabilidad integral —desde los requisitos hasta los modelos arquitectónicos y de diseño detallado, pasando por el código generado, las pruebas de verificación y los resultados— proporciona una cadena estructurada de evidencias que respalda una validación rigurosa. Al garantizar que cada requisito esté explícitamente vinculado a los elementos del modelo, los artefactos de implementación y los resultados de las pruebas correspondientes, los equipos de desarrollo pueden demostrar una justificación clara y auditable de cómo se materializan las intenciones a nivel de sistema en el comportamiento del software. Esta trazabilidad es esencial para los ámbitos críticos para la seguridad, ya que permite un análisis de impacto sistemático, una verificación consistente y una justificación transparente de las decisiones de diseño a lo largo de todo el ciclo de vida del software, incluidas las actualizaciones controladas, el análisis del impacto de los cambios y la mantenibilidad a largo plazo.

Métodos formales

Según la norma EN 50716, se recomienda encarecidamente el uso de métodos formales para software con niveles de seguridad SIL de 1 a 4. Simulink Design Verifier™ permite aplicar métodos formales a nivel de modelo para reforzar la garantía de calidad de software mediante la verificación matemática de propiedades clave como los invariantes de seguridad, la ausencia de errores en tiempo de ejecución, la precisión de las transiciones de estados y el cumplimiento de los contratos arquitectónicos.

Estas demostraciones complementan la simulación y las pruebas, ya que proporcionan garantías que no se pueden lograr solo mediante las pruebas, lo que aumenta la confianza en la precisión y la robustez del diseño del componente antes de generar el código. Por ejemplo, en una aplicación de lógica de control de trenes, es posible, mediante métodos formales, demostrar matemáticamente que las combinaciones de modos inseguras, como la activación de la tracción mientras las puertas están abiertas o la omisión de la supervisión del frenado durante el movimiento, son inalcanzables bajo todas las condiciones operativas válidas, incluidos los escenarios de fallo. Del mismo modo, un análisis formal de la lógica del control de crucero puede demostrar que las órdenes de tracción siempre respetan los límites de velocidad y las restricciones de seguridad, y que se inhiben de forma fiable cuando se producen condiciones de mayor prioridad, como el frenado, la pérdida de supervisión o las transiciones de modo.

Un modelo en análisis con paneles que muestran los resultados de la verificación formal y las propiedades de seguridad validadas.

Figura 7. Simulink Design Verifier permite aplicar métodos formales a nivel de modelo para demostrar las propiedades de seguridad. Este ejemplo muestra la comprobación formal de la propiedad de la generación y transmisión segura de la Autoridad de Movimiento (MA) por parte del Centro de Bloqueo por Radio (RBC).

Con los productos de Polyspace®, se pueden realizar evaluaciones similares de calidad, robustez y, lo que es más importante, errores en tiempo de ejecución tanto en código generado o manual.

Herramientas y lenguajes de soporte

La norma EN 50716 establece requisitos explícitos para el uso de herramientas y lenguajes de soporte en el desarrollo de software ferroviario, reconociendo que las herramientas pueden influir en la seguridad e integridad del software resultante. La norma require que las herramientas de desarrollo, verificación y generación de código estén bien integradas, y que la selección y el uso de las herramientas estén justificados y controlados.

También clasifica las herramientas según su impacto potencial en el software ejecutable en clases T1, T2 y T3 Las herramientas que pueden introducir fallos de forma directa o indirecta (es decir, las herramientas T2 y T3) deben estar respaldadas por evidencia documentada proporcional al nivel de integridad del software (Integridad básica a SIL 4).

IEC Certification Kit (para las normas IEC 61508, EN 50716 y normas relacionadas) facilita directamente el cumplimiento de estos requisitos al proporcionar documentación sobre la clasificación y precalificación de herramientas, certificados e informes de evaluación de TÜV SÜD, conjuntos de pruebas de validación y plantillas que se pueden adaptar al uso específico de las herramientas en su proyecto. Como resultado, se reduce significativamente el esfuerzo necesario para justificar y documentar el uso de herramientas de desarrollo, generación de código y verificación de diseño basado en modelos según la norma EN 50716.

IEC Certification Kit proporciona un documento de correspondencia entre los métodos y técnicas de la norma EN 50716 y los casos prácticos del diseño basado en modelos. La tabla que aparece a continuación se ha extraído de este documento.

Tabla A.5 – Verificación y pruebas

Técnica/Medida Herramientas y procesos de diseño basado en modelos aplicables Comentarios
1. Prueba formal Simulink: Librería Model Verification Los bloques de verificación de modelos se pueden utilizar para formalizar los requisitos de seguridad del software y otras propiedades del modelo.
Simulink Design Verifier: comprobación de propiedades, detección de errores de diseño La verificación de propiedades puede utilizarse para comprobar las propiedades de un modelo mediante técnicas de verificación formal. La detección de errores de diseño puede analizar un modelo para detectar los siguientes errores de diseño comunes: desbordamiento de enteros, división por cero, lógica inalcanzable e infracciones de aserciones.
Polyspace Code Prover y Polyspace Code Prover Server: Verificación de código La detección de errores en tiempo de ejecución puede analizar el código C o C++ para identificar errores de software que puedan ocurrir durante la ejecución. Polyspace Code Prover y Polyspace Code Prover Server proporcionan una verificación de código que demuestra la ausencia de desbordamiento, división por cero, acceso fuera de los límites de un array y otros errores en tiempo de ejecución en el código fuente. Polyspace Code Prover y Polyspace Code Prover Server utilizan técnicas de interpretación abstracta basadas en métodos formales para verificar el código. 
2. Análisis estático Simulink Check: Comprobaciones de Model Advisor Model Advisor puede utilizarse para verificar el cumplimiento del estándar de modelado. Consulte la Tabla A.19 (2) de la lista de verificación.

Alineación entre seguridad funcional y ciberseguridad

La norma EN 50716 reconoce las posibles interacciones complejas entre los dominios de ciberseguridad y seguridad funcional en los sistemas ferroviarios conectados. Por ejemplo, las amenazas a la ciberseguridad pueden afectar directamente a la seguridad funcional, y las medidas de ciberseguridad pueden tener consecuencias perjudiciales para la seguridad. Por ello, la norma EN 50716 recomienda equilibrar las medidas de seguridad y protección, e incluye las normas IEC 62443 y CLC/TS 50701 como normas adecuadas para abordar la ciberseguridad.

El diseño basado en modelos y la ingeniería de sistemas basada en modelos, utilizando Simulink y System Composer™, proporcionan una forma práctica de alinear ambos dominios mediante un modelo de sistema compartido y ejecutable a lo largo de todo el ciclo de vida. Las funciones relacionadas con la seguridad, las interfaces del sistema y los supuestos operativos pueden modelarse junto con los activos de ciberseguridad y las posibles superficies de ataque cibernético. El modelo compartido permite la identificación temprana de interacciones, admite análisis de riesgos y amenazas combinados o secuenciales, y permite a los ingenieros simular condiciones malintencionadas para evaluar su impacto en la seguridad.

A nivel de software, las funciones de seguridad y protección, como la monitorización, las comprobaciones de plausibilidad, la validación de mensajes, la lógica de autenticación y la detección de anomalías, pueden desarrollarse y evaluarse conjuntamente dentro del mismo contexto arquitectónico. La verificación continua mediante el análisis estáticos código y modelos, la simulación y las pruebas-in-the-loop ayuda a garantizar que se cumplan los requisitos de seguridad y ciberseguridad y que estos se mantengan alineados a medida que evoluciona el diseño. Además, la trazabilidad integrada desde los requisitos hasta los modelos y los resultados de las pruebas mejora la colaboración interdisciplinaria entre los equipos de ingeniería de sistemas, seguridad y protección.

Uso de IA y Machine Learning

El diseño basado en modelos aborda los desafíos de la IA y Machine Learning identificados en la norma EN 50716, al permitir la verificación a nivel de sistema y la generación de evidencia que mitigan la visibilidad estructural limitada de Machine Learning. La integración de componentes de Machine Learning en modelos ejecutables de Simulink permite realizar pruebas basadas en requisitos y en escenarios, análisis de cobertura de escenarios y validación en bucle cerrado en dominios de diseño operativo definidos. Además, la simulación permite explorar condiciones de funcionamiento que van más allá de los datos de entrenamiento, lo que a su vez genera confianza en la completitud de los datos. Para abordar específicamente la robustez, el análisis sistemático de perturbaciones y las pruebas de inyección de fallos con Simulink Fault Analyzer™ permiten evaluar las entradas adversarias y los cambios en la distribución.

Resumen

La integración de modelos, generación de código, análisis estáticos de código y modelos, pruebas con cobertura, generación automatizada de casos de prueba y métodos formales conforma un enfoque integral para cumplir con los exigentes requisitos de la norma EN 50716 para el desarrollo de software ferroviario. Al garantizar la trazabilidad de principio a fin y aprovechar las herramientas de soporte avanzadas, los equipos de desarrollo pueden ofrecer soluciones de software robustas, seguras y verificables. Esta metodología estructurada no solo facilita el cumplimiento de las normas, sino que también mejora la mantenibilidad a largo plazo y la transparencia, contribuyendo en última instancia a la fiabilidad y la seguridad de los sistemas ferroviarios.

Publicado en 2026


Productos utilizados: IEC Certification Kit

Perfiles profesionales

Mohammad Abu-Alqumsan

Mohammad Abu-Alqumsan es gerente de producto de IEC Certification Kit en MathWorks. Su trabajo se centra en la calidad, la seguridad funcional y la ciberseguridad. Además, asesora a participantes de la industria sobre la cualificación de herramientas y el desarrollo de flujos de trabajo conformes con normas de certificación ampliamente utilizadas, como ISO 26262, IEC 61508, IEC 63404 y EN 50716. Antes de incorporarse a MathWorks, trabajó en Validas AG como gerente de proyecto e ingeniero de software de investigación. Mohammad tiene un doctorado en interfaces cerebro-computadora y robótica por la Universidad Técnica de Múnich.

Tom Erkkinen

Tom Erkkinen es gerente de aplicaciones embebidas en MathWorks. Antes de incorporarse a MathWorks, trabajó en la NASA, donde desarrolló diversos algoritmos de control y software en tiempo real, incluida la robótica del transbordador espacial. Cuenta con más de 25 años de experiencia ayudando a empresas a implementar el diseño basado en modelos con generación de código embebido. Tom es licenciado en ingeniería aeroespacial por la Universidad de Boston y tiene un máster en ingeniería mecánica por la Universidad de Santa Clara.

Siga explorando