Logotipo de Parasoft Buscar

¡Descubre GoogleTest, con certificación TÜV y la tecnología Agentic AI para pruebas de C/C++!
Obtenga los detalles »

Blog de Parasoft

Requisitos de la arquitectura AUTOSAR en entornos de ejecución

By ricardo camacho 20 de Abril, 2021 5 minutos de lectura
20 de Abril, 2021 | 5 minutos de lectura
By ricardo camacho
Texto del título: Requisitos de la arquitectura AUTOSAR en el entorno de tiempo de ejecución con la imagen a la derecha de la radiografía de un automóvil con líneas amarillas cruzadas. El parachoques trasero izquierdo en la parte delantera.

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 organización Automotive Open System Architecture ( AUTOSAR ), fundada en 2003, se creó para guiar a los fabricantes en el desarrollo seguro de software integrado para unidades de control electrónico (ECU) de automóviles. AUTOSAR es una alianza de gigantes de la industria automotriz de todo el mundo, como Toyota, BMW, Ford y otros, cuyo objetivo es estandarizar la arquitectura de software en toda la industria para gestionar los sistemas de control cada vez más complejos, al tiempo que se mejora la calidad y la fiabilidad de este software crítico para la seguridad.

Arquitectura AUTOSAR

Una ECU promedio puede contener miles de funciones. Antes de la arquitectura AUTOSAR , cada ECU debía reescribirse por completo ante cualquier cambio de hardware. Tras el desarrollo de AUTOSAR, el equipo encontró la manera de independizar el software del hardware, creando un nuevo estándar para que toda la industria creara aplicaciones modulares y sostenibles. Además, los nuevos estándares cumplían con las normas internacionales de seguridad automotriz, incluidas ISO 14229 e ISO 27145, entre otras.

Aunque MISRA había desarrollado un estándar de codificación en C++, MISRA C++:2008, sus reglas se basan en C++03 (ISO/IEC 14882:2003), que no admite muchos de los aspectos críticos y de seguridad del software necesarios. Por lo tanto, el grupo AUTOSAR seleccionó C++14 (ISO/IEC 14882:2014) y desarrolló su propio estándar de codificación, denominado AUTOSAR C++ 14. Este estándar se actualiza y publica 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 cuenta con 342 reglas que ayudan al usuario a comprender y guiar claramente los requisitos de codificación. Cada regla se clasifica según sea obligatoria o recomendada. Las "reglas obligatorias" son obligatorias para la conformidad con AUTOSAR C++14, mientras que las "reglas de asesoramiento" no son obligatorias, pero sí muy recomendables. No obstante, se permite una desviación de una regla o directriz. No obstante, se debe incluir un procedimiento para obtener la aprobación de cada desviación, ya que esto evita que los desarrolladores abusen del concepto de desviación a su antojo.

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

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 esta nueva fusión/colaboración entre MISRA y AUTOSAR para desarrollar el conjunto más reciente y mejor de reglas y directrices de codificación para C++, preveo que será ampliamente adoptada por otros sectores además del automotriz. Sectores como el aeroespacial, médico, industrial, ferroviario, de telecomunicaciones, energético y muchos más. Los desarrolladores de software esperan con gran interés la posibilidad de entregar proyectos seguros y confiables que se hayan desarrollado o se vayan a desarrollar 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
Obtenga el documento técnico

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

Un aspecto importante de la norma ISO 26262 es la recomendación de utilizar un estándar de conformidad de codificación como AUTOSAR C++14. La mejor manera de lograr la conformidad es mediante la automatización y el uso de una herramienta con certificación TUV como Parasoft C/C++test , que además admite múltiples tecnologías y funcionalidades de prueba, como pruebas unitarias , cobertura de código estructural, trazabilidad de requisitos y más. Como solución de pruebas de software totalmente integrada para industrias críticas para la seguridad, Parasoft C/C++test también se puede integrar fácilmente en su IDE de C++ o canalización de CI/CD para configurarla para detectar defectos de forma temprana y garantizar automáticamente la conformidad.

Diseñado específicamente para la industria automotriz, el paquete de cumplimiento para el sector automotriz de Parasoft C/C++test integra reglas para AUTOSAR C++14, MISRA C++2008 y C++ de alta integridad (HI) para ayudar a cualquier desarrollador automotriz a ampliar la funcionalidad de pruebas y optimizar el proceso para el equipo de desarrollo. Los desarrolladores también pueden usar Parasoft C/C++test para analizar el cumplimiento del código desde el IDE, generando automáticamente informes 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.
Solicitar una demo

«MISRA», «MISRA C» y el logotipo triangular son marcas registradas de The MISRA Consortium Limited. ©The MISRA Consortium Limited, 2021. Todos los derechos reservados.