Únase a nosotros el 30 de abril: Presentación de la prueba CT de Parasoft C/C++ para pruebas continuas y excelencia en el cumplimiento | Regístrese ahora

Requisitos de la arquitectura AUTOSAR en entornos de ejecución

Foto de cabeza de Ricardo Camacho, Director de Cumplimiento de Seguridad y Seguridad
Sábado, Abril 20, 2021
4 min leer

AUTOSAR proporciona las pautas de fabricación para desarrollar software integrado para unidades de control electrónico automotriz. Este software integrado requiere pruebas para funcionar de manera óptima. Así es como Parasoft C/C++test Automotive Compliance Pack ayuda con eso.

La arquitectura de sistema abierto automotriz (AUTOSAR), fundada en 2003, se creó para proporcionar orientación a los fabricantes para desarrollar de forma segura software integrado para unidades de control electrónico (ECU) automotrices. AUTOSAR es una asociación de titanes de la industria automotriz de todo el mundo como Toyota, BMW, Ford y más, con un enfoque en estandarizar la arquitectura de software en toda la industria para administrar los sistemas de control cada vez más complejos, mientras se mejora la calidad y confiabilidad para esta seguridad. software crítico.

Arquitectura AUTOSAR

Una ECU promedio puede contener miles de funciones. Antes de la arquitectura AUTOSAR, cada ECU debía reescribirse por completo cuando ocurría cualquier cambio de hardware. Una vez que se ensambló AUTOSAR, el grupo descubrió una manera de hacer que el software fuera independiente del hardware, creando un nuevo estándar para toda la industria para crear aplicaciones modulares y sostenibles. Mejor aún, los nuevos estándares cumplían con los estándares internacionales de seguridad automotriz, incluidos ISO 14229, ISO 27145, entre otros.

Aunque la Asociación de Confiabilidad de Software de la Industria del Motor (Misra) había desarrollado un estándar de codificación C ++, MISRA C ++: 2008, sus reglas se basan en C ++ 03 (ISO / IEC 14882: 2003), que no admite muchos de los aspectos de software críticos y relacionados con la seguridad necesarios. Por lo tanto, el grupo AUTOSAR seleccionó C ++ 14 (ISO / IEC 14882: 2014) y construyó su propio estándar de codificación en torno a él, llamado AUTOSAR C ++ 14. Este estándar se ha actualizado y publicado dos veces al año desde marzo de 2017.

AUTOSAR C ++ 14 Explicación

En 2017, el grupo AUTOSAR publicó Directrices para el uso del lenguaje C++14 en sistemas críticos y relacionados con la seguridad. Se le conoce comúnmente como AUTOSAR C++14 y ahora forma parte de su plataforma de arquitectura global AUTOSAR. El lanzamiento de AUTOSAR C++14 se introdujo con la intención de reemplazar a MISRA C++:2008 y convertirse en el estándar de codificación de facto en toda la industria automotriz. De hecho, estas pautas son tan sólidas que se pueden aplicar a cualquier industria que requiera programación integrada.

Otra razón por la que se eligió C ++ 14 fue porque los ingenieros de seguridad aceptaron lenguajes orientados a objetos y les dio a los desarrolladores la capacidad de usar compiladores superiores y un mejor acceso a herramientas mejoradas de prueba, verificación y análisis. También permitió el uso de nuevos métodos de desarrollo, como la integración continua / entrega continua (CI / CD) que pueden detectar errores antes en el ciclo de vida del desarrollo de software. MISRA C ++: 2008 simplemente no pudo acomodar ninguna de estas innovaciones emergentes.

Uso de AUTOSAR C ++ 14 para nuevas tecnologías automotrices

Las pautas de AUTOSAR C ++ 14 se están utilizando para nuevas tecnologías automotrices como la conducción automatizada, la comunicación de vehículo a vehículo o de vehículo a infraestructura (V2X), actualizaciones continuas por aire (OTA), pantallas de alta definición e inteligencia artificial. informática. Si bien MISRA C ++: 2008 todavía se usa en algunos proyectos y ha ayudado a los ingenieros a adoptar un estándar de codificación, sigue siendo un estándar incompleto. Esto se debe a que, desde el lanzamiento de C ++ 03, ha habido una asombrosa cantidad de mejoras en el lenguaje a medida que C ++ evolucionó, lo que no ocurre con MISRA C ++: 2008.

Si una organización confía en MISRA C ++: 2008, migrar a AUTOSAR C ++ 14 será un esfuerzo significativo para ellos. Pero también hay un gran valor en hacerlo, porque el delta entre MISRA C ++: 2008 y AUTOSAR C ++ 14 aborda los cambios agregados en el lenguaje C ++ desde 2003. Por lo tanto, todas las novedades en C ++ 11 y C ++ 14 son incluido en AUTOSAR C ++ 14. Así que sí, hay un impacto, pero también hay mucho valor en la actualización al nuevo estándar.

Requisitos de codificación y arquitectura de AUTOSAR

AUTOSAR C ++ 14 tiene 342 reglas para ayudar a brindar al usuario una comprensión clara y una guía sobre los requisitos de codificación. Clasifica cada regla en función de si es obligatoria o una recomendación. Las "reglas obligatorias" son obligatorias para el cumplimiento de AUTOSAR C ++ 14, mientras que las "reglas de asesoramiento" no necesitan cumplirse, pero son muy recomendables. Sin embargo, se puede permitir una desviación de una regla o directriz. Sin embargo, se debe incluir un procedimiento para obtener la aprobación de cada desviación, ya que evita que los desarrolladores abusen del concepto de desviación y se desvíen a voluntad.

Desglose de las pautas de codificación AUTOSAR C ++ 14 para AUTOSAR adaptable

Cuando se busca emplear un estándar de codificación como AUTOSAR C ++ 14, la única forma práctica de hacer cumplir el cumplimiento es con una herramienta de análisis estático que también tiene un sofisticado sistema de informes interactivos y permite un flujo de trabajo diario eficiente. De hecho, considere una solución que integre el proceso de escaneo en las construcciones de integración continua (CI) en los servidores. Este tipo de automatización ahorra mucho tiempo y dinero.

Además, si se limpian las bases de código existentes, es una práctica recomendada comenzar con el subconjunto de reglas del estándar y aumentar progresivamente el número de reglas activas a medida que avanza la limpieza del código. Esto evita que una gran cantidad de violaciones o ruido abrume al equipo y permite monitorear el progreso de su base de código, controlar el proceso de desviación y tomar decisiones informadas sobre la extensión del conjunto de reglas.

Un estándar AUTOSAR-MISRA unificado

Desde 2017, el grupo AUTOSAR ha publicado las pautas AUTOSAR C ++ 14 dos veces al año, asociándose con más de 200 empresas automotrices para mantener el soporte junto con los cambios que vienen con las nuevas actualizaciones del lenguaje C ++. Duplicando el futuro, AUTOSAR anunció en 2019 que trabajará junto con MISRA para fusionar los dos conjuntos de reglas C ++ y proporcionar una única guía universal de desarrollo de software C ++. Se espera que estas nuevas pautas dirigidas por MISRA se creen con soporte completo para las versiones modernas del lenguaje C ++ como C ++ 17 y C ++ 20.

Con el nuevo fusión/colaboración de MISRA & AUTOSAR para crear el mejor y más reciente conjunto de reglas y pautas de codificación para C++, espero que sea ampliamente adoptado por otras industrias además de la automotriz. Industrias como la aeroespacial, médica, industrial, ferroviaria, telecomunicaciones, energía y muchas otras. Los desarrolladores de software esperan con ansias la capacidad de entregar proyectos seguros que han sido o serán desarrollados en los lenguajes de programación C++17 y C++20.

Utilice las pautas de codificación AUTOSAR C ++ para optimizar el cumplimiento de ISO 26262

El análisis estático ayuda a crear código C ++ seguro y protegido

Un aspecto importante de ISO 26262 es la recomendación de utilizar un estándar de cumplimiento de codificación como AUTOSAR C ++ 14. La mejor manera de lograr el cumplimiento es a través de la automatización y el uso de una herramienta certificada por TUV como Parasoft Prueba C / C ++, que también es capaz de soportar múltiples tecnologías de prueba y capacidades como pruebas unitarias, cobertura de código estructural, trazabilidad de requisitos y más. Como una solución de prueba de software totalmente integrada para industrias críticas para la seguridad, Parasoft C/C++test también se puede integrar fácilmente en su tubería C++ IDE o CI/CD para configurarse para detectar defectos temprano y hacer cumplir automáticamente el cumplimiento.

Diseñado específicamente para la industria automotriz, el paquete de cumplimiento automotriz de prueba de Parasoft C / C ++ se integra reglas para AUTOSAR C ++ 14, MISRA C ++ 2008y C ++ de alta integridad (HI) para ayudar a cualquier desarrollador automotriz a expandir la funcionalidad de prueba y optimizar las pruebas para el equipo de desarrollo. Los desarrolladores también pueden usar la prueba Parasoft C / C ++ para analizar el cumplimiento del código desde el IDE, mientras crean informes automáticamente para notificar a los equipos sobre cualquier actualización de estado.

Como una de las soluciones más completas para probar aplicaciones críticas para la seguridad, Parasoft C/C++test ofrece una solución simplificada para el análisis estático, al tiempo que ofrece más soporte para los estándares de codificación requeridos por la industria automotriz. Con una plataforma que garantiza automáticamente el cumplimiento de los sistemas críticos para la seguridad, puede detectar defectos de manera temprana y ahorrar tiempo en el proceso de desarrollo, priorizar las actualizaciones para abordar primero los problemas importantes y automatizar el cumplimiento.

Vea cómo Parasoft C/C++test puede ayudarlo a entregar un código seguro y compatible con los estándares de la industria.

“MISRA”, “MISRA C” y el logotipo del triángulo son marcas comerciales registradas de The MISRA Consortium Limited. © The MISRA Consortium Limited, 2021. Todos los derechos reservados.