MATLAB y Simulink para verificación, validación y pruebas

Verifique y valide sistemas embebidos usando el diseño basado en modelos

Los equipos de ingeniería utilizan el diseño basado en modelos con MATLAB® y Simulink® para diseñar sistemas embebidos complejos y generar código C, C++ y HDL con calidad de producción. Las herramientas de MathWorks utilizan pruebas de simulación y análisis estáticos formales basados en métodos para complementar el diseño basado en modelos con rigor, así como automatización para encontrar errores de forma temprana y lograr una mayor calidad.

Con MATLAB y Simulink podrá:

  • Determinar los requisitos de arquitectura, diseño, pruebas y código
  • Demostrar que su diseño cumple los requisitos y no contiene errores de tiempo de ejecución críticos
  • Comprobar la conformidad y medir la calidad de los modelos y el código
  • Generar casos de prueba automáticamente para ampliar la cobertura de las pruebas
  • Generar informes y artefactos así como certificar el cumplimiento con estándares (tales como DO-178 e ISO 26262)

Verificación de requisitos

El proceso de desarrollo se inicia con requisitos de texto informales que se pueden almacenar en documentos, hojas de cálculo o herramientas de gestión de requisitos, tales como IBM ® Rational ® DOORS ®. Requirements Toolbox™ permite importar, ver, crear y gestionar requisitos, junto con arquitectura, diseños, código generado y artefactos de prueba. Puede crear un hilo digital desde los requisitos hasta el diseño en System Composer™, Simulink y Stateflow ®, o pruebas en Simulink Test™. Con esta trazabilidad, se pueden identificar las deficiencias de implementación o de pruebas, y comprender rápidamente el impacto de un cambio en el diseño o las pruebas.

Puede formalizar requisitos y analizarlos para verificar su congruencia, integridad y exactitud con el fin de validarlos en etapas iniciales con el bloque Requirements Table en Requirements Toolbox. Las evaluaciones temporales de Simulink Test permiten verificar requisitos de texto especificando evaluaciones con semántica precisa en un formato de lenguaje natural que se puede evaluar y depurar.


Conformidad con estándares de certificación

Automatice la verificación de los modelos y el código de acuerdo con estándares tales como DO-178, ISO 26262, IEC 61508, IEC 62304 y las directrices de estilo de MathWorks Advisory Board (MAB). Simulink Check™ proporciona comprobaciones y métricas reconocidas por la industria que identifican infracciones de estándares y de directrices durante el proceso de desarrollo. Puede crear comprobaciones personalizadas para cumplir sus propios estándares o directrices. IEC Certification Kit (for ISO 26262 and IEC 61508) y DO Qualification Kit (for DO-178 and DO-254) proporcionan artefactos de cualificación de herramientas, certificados y conjuntos de pruebas para cualificar productos de generación y verificación de código y agilizar la certificación de sus sistemas embebidos.


Demostración de la ausencia de errores y verificación formal de los requisitos

El proceso de verificación formal encuentra errores de diseño ocultos que generan desbordamiento de enteros, lógica muerta, infracciones de acceso a arrays y división por cero sin simular el diseño. Simulink Design Verifier™ puede verificar formalmente que su diseño no contiene errores ni vulnerabilidades de seguridad. Simulink Design Verifier también puede demostrar que su diseño cumple con los requisitos clave. Si la herramienta encuentra una excepción, genera un contraejemplo para la depuración.


Generación automática de pruebas

Es importante identificar las deficiencias en las pruebas, la funcionalidad no intencionada o los errores de requisitos. Simulink Coverage™ calcula qué parte del modelo o del código generado se examina durante las pruebas. Aplica métricas estándar de la industria tales como condición, decisión, condición/decisión modificada (MCDC) y objetivos de cobertura personalizados. Simulink Design Verifier puede generar casos de prueba automáticamente para abordar la cobertura incompleta con el fin de alcanzar los objetivos de cobertura estructurales y funcionales.


Análisis de código estático

Para la verificación de código escrito a mano y generado, los productos de Polyspace® utilizan métodos formales para localizar bugs y demostrar la ausencia de errores de tiempo de ejecución críticos, sin casos de prueba ni ejecución de código. Polyspace Bug Finder™ comprueba y documenta la conformidad con estándares tales como MISRA®, ISO 26262, IEC 61508, DO-178 y las normativas de la FDA. Puede comprobar las vulnerabilidades de seguridad del software y los estándares tales como CWE, CERT-C, ISO/IEC 17961, etc. Polyspace Code Prover™ lleva a cabo análisis estáticos para demostrar la ausencia de desbordamientos, división por cero, acceso a arrays fuera de límites y otros errores de tiempo de ejecución en el código fuente C y C++.


"En comparación con nuestra experiencia anterior con la codificación manual, el diseño basado en modelos nos permitió reducir los costes de mano de obra en un 30%, reducir los costes de las pruebas en un 20% y aumentar la productividad en más de un 30%. Completamos el desarrollo de ECU antes de lo previsto a la vez que establecimos nuestro propio equipo de desarrollo de software."

Daming Li, Weichai Power