El vehículo definido por software es un hecho. Y con la conducción asistida, y posiblemente totalmente automatizada, el software será aún más importante. Pero el software nunca está terminado. Su esencia es el cambio continuo. Con Digital Loop, en combinación con hardware y software en el bucle, pueden sentarse nuevas bases para la validación, homologación y posterior desarrollo de vehículos.
Vehículos con software: algo inimaginable hace décadas. Y las dos industrias, la automotriz y la de TI, incluso se criticaron mutuamente en algunos casos. La controversia (inventada) entre Bill Gates y Jack Welch, en el que se comparó el desarrollo del PC con el de los automóviles, es inolvidable.
Sin embargo, con cada nueva generación de automóviles, la proporción de TI en el coche se incrementó y los dos mundos crecieron juntos. El «vehículo del futuro» ha sido y está siendo creado. Esto significa sobre todo una cosa: cada vez son más las funciones que asume el software. Y no solo asume tareas como la gestión del sistema de entretenimiento, sino también funciones relacionadas con la seguridad. El vehículo definido por software espera mucho del software. Porque casi ningún conductor aceptará que su vehículo «simplemente se apague sin motivo reconocible» o que los sistemas de freno no funcionen. Por este motivo, existen amplios marcos que regulan el desarrollo y el uso de software de automoción.
Con la tendencia a mapear cada vez más funcionalidades en código —también en lo que respecta a la conducción autónoma y asistida (ADAS/AD)—, aumentan las exigencias para los desarrolladores de hardware y software en los vehículos. Los enfoques establecidos que recopilan datos en pruebas de conducción, los analizan y los ponen a disposición del desarrollo no pueden seguir el ritmo de desarrollo del software de automoción en particular (y tampoco el despliegue regular de actualizaciones). Son demasiado lentos y aportan muy pocos datos para el desarrollo. Los fabricantes de equipos originales (OEM) deben encontrar soluciones que respalden la nueva dinámica de sus productos «ciberfísicos».
Aquí es donde entran en juego los conceptos de coche conectado. Los vehículos de los clientes conectados en red con un dispositivo OEM proporcionan flujos continuos de datos de situaciones reales de tráfico y crean una amplia base para el desarrollo y la optimización del hardware y el software. Esto puede crear un proceso de desarrollo verdaderamente basado en datos, sin fisuras en toda la cadena de procesos. La integración continua, el despliegue continuo y DevOps pueden usarse para el desarrollo de software.
«Digital Loop» adapta el concepto de CI/CD (integración continua/despliegue continuo) del desarrollo ágil de software y lo aplica al entorno de la automoción. El mismo apoya el proceso de validación y homologación de extremo a extremo para las actualizaciones de software en el vehículo a lo largo de todo su ciclo de vida. El desarrollo de software con análisis de datos, simulaciones y puesta en marcha se combina con la recolección de datos en directo del funcionamiento de los vehículos.
En este breve video se explican las principales características de la solución Digital Loop para la homologación de actualizaciones de software por aire usando el vehículo de demostración SAE L3.
Para la validación y verificación del software y el hardware, Digital Loop usa un subproceso SIL/HIL (hardware o software en el bucle). Este recopila los datos en directo, los procesa y los enriquece con datos sintéticos. A continuación, los datos se usan para simular el comportamiento del vehículo en situaciones de tráfico típicas y compararlo con las expectativas fijadas (KPI). Los resultados se comunican al equipo de desarrollo. Este puede usar los resultados para el desarrollo posterior de hardware y software, pero también como validación y simulación automatizadas (continuas) para la verificación en el proceso de homologación. Esto permite a los OEM automatizar en gran medida el proceso de validación de acuerdo con los requisitos regulatorios, lo que supone una aceleración y simplificación significativas.
Digital Loop es la respuesta a un reto urgente que enfrentan los departamentos de desarrollo de los fabricantes de automóviles. Este crea una nueva base para dar el salto a una era más ágil de los vehículos definidos por software. Los efectos de las actualizaciones de software pueden evaluarse con mayor rapidez y el potencial de optimización puede identificarse e introducirse sobre la base de datos reales de conducción. La validación y homologación pueden automatizarse. Esto es especialmente importante en el contexto de la conducción autónoma o asistida. Aquí, la importancia de las actualizaciones de software se eleva a un nuevo nivel: las actualizaciones continuas en ciclos más cortos pasan a ser la norma.
DevOps es una metodología de desarrollo de software cuyo objetivo es mejorar la colaboración entre los equipos de desarrollo de software y de operaciones de TI. También tiene una gran importancia para el desarrollo dinámico del software de automoción. El término DevOps se usa a menudo como sinónimo de desarrollo ágil de software. Su objetivo es acelerar el suministro de aplicaciones informáticas (y, por lo tanto, el tiempo de comercialización de nuevos productos), aumentar la fiabilidad y permitir la entrega continua de software de alta calidad. Esta aceleración permite introducir innovaciones con mayor rapidez, así como reaccionar con mayor celeridad a los comentarios de los clientes y a la evolución del mercado.
DevOps automatiza los procesos de desarrollo y usa la integración continua y el despliegue continuo (CI/CD), así como una estrecha colaboración y comunicación entre los equipos de desarrollo y operaciones. La integración continua (IC) es un componente central de DevOps. Es el proceso por el que los desarrolladores integran con regularidad y frecuencia sus cambios de código en un repositorio compartido. Las pruebas y compilaciones automatizadas garantizan la calidad del código. El objetivo de la integración continua es reconocer los problemas en una fase temprana y facilitar la integración de los cambios en el código.
La entrega continua (CD) y el despliegue continuo (CD) son extensiones de CI y también forman parte del enfoque DevOps. La entrega continua es el proceso por el cual el software se proporciona en iteraciones cortas y en un flujo de trabajo automatizado para que sea posible ponerlo en producción en cualquier momento. El despliegue continuo va un paso más allá y significa que cada cambio de código realizado con éxito se transfiere automáticamente al entorno de producción, sin intervención manual.