Simulink Code Inspector

Automatice las revisiones de código fuente para estándares de seguridad

 

Simulink Code Inspector™ compara automáticamente el código generado con su modelo de origen para satisfacer los objetivos de revisión de código de DO-178 y otros estándares de alta integridad. Este producto examina de manera sistemática bloques, diagramas de estado, parámetros y configuraciones en un modelo para determinar si son estructuralmente equivalentes a las operaciones, los operadores y los datos del código generado. Simulink Code Inspector proporciona prestaciones de análisis de trazabilidad detallados de modelo a código y de código a modelo. Genera informes de trazabilidad y equivalencia estructural que se pueden enviar a las autoridades de certificación para satisfacer los objetivos de verificación de codificación de software de DO-178.

El soporte para estándares de la industria está disponible a través de DO Qualification Kit (para DO-178).

Cómo empezar:

Preparación del modelo

Simulink Code Inspector™ admite un conjunto restringido de semántica de modelado y optimizaciones de código que a menudo se utilizan para modelos de sistemas de alta integridad. Un comprobador de compatibilidad proporcionado por Simulink Code Inspector determina si el modelo respeta el conjunto restringido.

Puede invocar la comprobación de compatibilidad de forma interactiva desde la interfaz de usuario de Simulink Code Inspector o de forma programática mediante los comandos de MATLAB®. Es posible colocar bloques y otras partes de un modelo identificado como incompatible dentro de un modelo de referencia y, a continuación, configurar Simulink Code Inspector para que omita el modelo referenciado incompatible durante la inspección de código. A continuación, puede realizar una inspección manual del código para los modelos que no se revisan automáticamente.

Interfaz de usuario de Simulink Code Inspector (izquierda) y resultados de la comprobación de compatibilidad del modelo (derecha).

Generación e inspección de código

La inspección de código es independiente de la generación de código. Simulink Code Inspector asume de forma predeterminada que el código ya se ha generado. Sin embargo, puede configurar el inspector para que genere código como parte del proceso de inspección de código. También puede especificar las ubicaciones de los archivos de código fuente generados, como los utilizados en sus procesos de compilación para entorno de producción. La inspección se puede invocar a través de la interfaz de usuario o la línea de comandos.

Simulink Code Inspector examina las siguientes categorías generales durante la inspección de código:

  • Interfaces de modelos
  • Comportamiento de bloques
  • Conectividad de bloques y orden de ejecución
  • Empaquetado de datos y archivos
  • Variables locales y elementos de modelos funcionales

Los análisis específicos realizados van desde la evaluación de la interfaz de alto nivel, como comprobar si se generan las funciones de inicialización y paso, hasta un análisis detallado del orden de ejecución de bloques para determinar si la dependencia de datos entre dos componentes de bloque se mantiene en el código generado.

Puede revisar el mensaje de estado de inspección directamente en MATLAB o examinar informes detallados, tal y como se describe en la siguiente sección, que incluyen un análisis de trazabilidad detallado con enlaces interactivos a los objetos de diseño.

Una inspección de código correcta (verificada) mediante comandos de MATLAB.

Generación de informes

Con Simulink Code Inspector, puede generar informes que detallen los resultados de la inspección del código. El usuario especifica la ubicación en la que se almacenan los informes. Esto facilita el archivado e incluye los informes en el paquete de certificación completo. El informe de inspección comienza identificando el modelo exacto y el código fuente examinados utilizando la suma de comprobación del modelo, los nombres de ruta y la marca de fecha/hora. A continuación, proporciona un resumen de las verificaciones realizadas y el estado de cada elemento (por ejemplo, verificado, parcialmente verificado o con error). Una sección detallada describe los resultados de verificación de cada archivo, función y línea del código generado.

Los detalles de la inspección del código incluyen:

  • Verificación de interfaz de funciones
  • Verificación de modelo a código
  • Verificación de código a modelo
  • Uso de variables temporales

Los detalles de trazabilidad incluyen:

  • Trazabilidad de modelo a código
  • Trazabilidad de código a modelo

Informe detallado de Simulink Code Inspector que muestra la verificación de código a modelo.

Objetivos de DO-178

La norma RTCA/DO-178 Consideraciones sobre software en la certificación de sistemas y equipos aéreos especifica los objetivos para la verificación del código fuente. La inspección automatizada de código proporcionada por Simulink Code Inspector reduce el tiempo necesario para cumplir con los objetivos de verificación de código fuente de DO-178, tal y como se muestra en la tabla siguiente. El objetivo (3) El código fuente es verificable se puede satisfacer completamente utilizando Simulink Code Inspector junto con el analizador de MISRA C® proporcionado por Polyspace Bug Finder™. Además, el objetivo (4) El código fuente cumple con los estándares se puede satisfacer mediante herramientas tales como el analizador de MISRA C proporcionado por Polyspace Bug Finder. DO Qualification Kit (para DO-178) proporciona el soporte de la cualificación de herramientas para Simulink Code Inspector y los productos de Polyspace®.

Objetivos de DO-178C compatibles con Simulink Code Inspector

Tabla del anexo A Objetivo Referencia de DO-331* Niveles de software
Tabla MB A-5 (1) El código fuente cumple los requisitos de bajo nivel Sección MB 6.3.4a A, B, C
Tabla MB A-5 (2) El código fuente cumple con la arquitectura del software Sección MB 6.3.4b A, B, C
Tabla MB A-5 (3) El código fuente es verificable Sección MB 6.3.4c A, B
Tabla MB A-5 (5) El código fuente se puede trazar hasta los requisitos de bajo nivel Sección MB 6.3.4e A, B, C
Tabla MB A-5 (6) El código fuente es preciso y coherente** Sección MB 6.3.4f A, B, C

*DO-331, Suplemento sobre el desarrollo y la verificación basados en modelos para DO-178C y DO-278A
**No abarca los objetivos que requieren análisis del compilador y el código objeto.

DO Qualification Kit.

Funcionalidades más recientes

Configuración de generación de código

Eliminación de las restricciones para quitar la función de desactivación y quitar la función de restablecimiento.

Bloques de Simulink

Soporte de bloques adicionales para tipos de datos enumerados y conversiones de unidades adicionales en el bloque Unit Conversion.

Bloque MATLAB Function

Soporte para salidas de llamada de función, así como signdeg2radrad2deg integrados.

Optimizaciones de generación de código

Soporte de inspección de código para más optimizaciones.

Consulte las notas de la versión para obtener detalles sobre estas funcionalidades y las funciones correspondientes.