La certificación de desarrolladores de software es necesaria para garantizar la seguridad funcional y la calidad de los productos de software en el sector de la automoción. Las certificaciones ASPICE para desarrolladores de software de automoción indican a los clientes si los productos de un desarrollador funcionan según las especificaciones, si el desarrollador es capaz de ofrecer asistencia para sus productos y con qué eficiencia trabaja el desarrollador. ¡Continúa leyendo para descubrir más!
Cuando estaba en la universidad, unos amigos y yo tuvimos nuestra primera experiencia en la programación de sistemas integrados durante nuestro proyecto de fin de carrera. Creamos un reloj despertador del “Internet de las cosas” (IoT, por sus siglas en inglés) que podía activar de forma inalámbrica bombillas WiFi, una cafetera inalámbrica, y altavoces Bluetooth. El día de la presentación, todas las funciones funcionaban, pero no al mismo tiempo. Afortunadamente, cuando nuestro profesor vino a examinar nuestro proyecto, tuvimos suerte y todo funcionó a la perfección. Si hubiera vuelto al día siguiente, no estoy seguro de que hubiéramos tenido tanta suerte.
Como desarrollador de software, sabes que se requieren innumerables iteraciones de depuración de código para escribir un programa que se ejecute de acuerdo con las especificaciones. Es importante contar con un compilador que garantice la asistencia continua del producto, que pueda acceder al módulo de seguridad de hardware (HSM) del microprocesador previsto, y cuyas bibliotecas se mantengan actualizadas. La certificación “Automotive Software Process Improvement and Capability Determination” (ASPICE o Automotive SPICE) demuestra la profundidad de conocimientos que posee un diseñador de software de automoción.
Para convertir esto en realidad, necesita un conjunto de herramientas de desarrollador fiable y enfocado hacia el futuro.
ASPICE es un modelo de proceso aceptado internacionalmente que define las mejores prácticas para el desarrollo de software y sistemas integrados para la industria del automóvil. Si eres ingeniero electrónico, el término "ASPICE" puede parecerte una variante de SPICE, que se utiliza habitualmente para el análisis de circuitos. Del mismo modo, muchos desarrolladores de software probablemente ya estén familiarizados con SPICE, tal y como se define en las normas ISO/IEC 15504. ASPICE es la misma certificación de desarrollo de procesos de software adaptada a la industria automovilística. El objetivo de ASPICE es proporcionar directrices sobre cómo organizar un proyecto, hacerlo manejable y definir el ciclo de vida del software de automoción.
Las certificaciones ASPICE tienen 6 niveles y demuestran la capacidad de un proveedor de software de automoción. A continuación, se ofrece un breve repaso de lo que significan las distintas certificaciones de nivel de ASPICE.
Existen 6 requerimientos de certificación ASPICE, que van de 0 a 5
0 - Los procesos de desarrollo del software no están completos. Esto puede significar que la evaluación del proceso de software no ha cumplido todos sus objetivos de diseño, que no existe documentación sobre el software integrado o que otros elementos están incompletos.
1 - Los procesos de desarrollo de software críticos para la seguridad están completos y han sido documentados. Esto significa que el software de automoción la empresa funciona y está documentado. Una certificación de nivel 1 puede significar que se trata de una nueva empresa.
2 - Los procesos de desarrollo del software de automoción están completamente gestionados. El salto de 1 a 2 es posiblemente el mayor en los niveles de certificación. Una certificación de nivel 2 significa que la empresa tiene programadores formados y un proceso de gestión establecido. Documentan completamente la evaluación de sus procesos y están preparados para implementar y apoyar sus productos.
3 - La certificación de nivel 3 significa que los procesos de la empresa están definidos y establecidos, es decir, los procesos de certificación de nivel 2 han sido implementados desde hace tiempo.
4 - Los procesos de nivel 3 pueden predecirse. Este nivel significa que la empresa lleva realizando sus procesos el tiempo suficiente como para poder predecir cómo funcionarán.
5 - El nivel 5 muestra que la empresa conoce y controla plenamente sus procesos y puede optimizarlos en gran medida.
Para recibir una certificación, un asesor debe visitar una empresa y examinar sus productos. Para obtener una certificación de nivel 1, el auditor debe poder confirmar que los productos han logrado sus objetivos de diseño y se han documentado exhaustivamente. Para los niveles 2-5, el asesor realiza entrevistas de los empleados y directivos, y examina los procesos de la empresa en acción. El modelo de evaluación del proceso de certificación es riguroso, ya que es integral para cumplir las normas de conformidad de seguridad funcional a medida que se desarrollan sistemas avanzados de asistencia al conductor (ADAS, por sus siglas en inglés).
Nuestro despertador IoT realizaba funciones sencillas, como encender una bombilla, pero su software estará procesando y reaccionando a datos provenientes de múltiples sensores. Las certificaciones ASPICE pueden brindarte la certeza de que el software funciona. Sin embargo, a medida que el hardware ADAS y tu propio software evolucionen, querrás que tu compilador se mantenga actualizado.
Una certificación ASPICE de nivel 1 asegura que tu conjunto de herramientas para desarrolladores funcionará, por lo menos al principio. Mi equipo pudo haber obtenido la certificación de nivel 1. El software en nuestro despertador tenía garantizado el funcionamiento para la primera alarma, pero no necesariamente después de que añadiéramos el requisito de la función snooze. El nivel 1 de ASPICE es suficiente para que sepas que el conjunto de herramientas de desarrolladores que estás comprando es real, pero no es suficiente para construyas con él programas a largo plazo. Cuando se trata de certificación de desarrollador del software de automoción, asegura que se están realizando mejoras continuas con cada proceso de desarrollo.
Lo que quieres es que tu conjunto de herramientas para desarrolladores funcione durante toda la vida útil de tu software, y que sea ampliable para nuevos desarrollos futuros. Si llegan informes de fallos, querrás un análisis de carencias y parches para tu conjunto de herramientas de desarrollo para mantenerlo actualizado. Cuando aparezcan nuevos sensores, querrás un desarrollador de herramientas que pueda integrar nuevas funciones para esos sensores. Una certificación de nivel 2 o superior garantiza que el desarrollador pueda tanto crear el conjunto de herramientas como prestarles asistencia. Si el desarrollador de tu conjunto de herramientas sólo tiene una certificación de nivel 1, es posible que ya no esté disponible cuando lo necesites. Una certificación de nivel 2 es absolutamente necesaria cuando se trata de software que controle funciones críticas del sistema para garantizar la seguridad del producto.
Las certificaciones superiores al nivel 2 son buenas, pero tienen más que ver con la eficiencia de una empresa que con el rendimiento del software de automoción. Los niveles 1 y 2 son las certificaciones ASPICE más importantes. Garantizan que el producto de una empresa funcionará, que la empresa está establecida, y que permanecerá para apoyar su producto. TASKING® acaba de recibir una certificación nivel 2 de ASPICE, lo que demuestra que los desarrolladores de software de automoción siempre han sabido que Altium Designer desarrolla y apoya buen software, y no hay excepción cuando de trata de la certificación de desarrollador de software de automoción.
¿Te interesa saber más sobre las certificaciones de la industria de automoción? Ponte en contacto con un experto en Altium.