Introducción
La transformación a vehículos definidos por software (SDV) permitirá a los fabricantes de automóviles incorporar nuevas funcionalidades a lo largo de la vida útil de un vehículo. Para facilitar actualizaciones frecuentes, varios equipos de trabajo están adoptando nuevos enfoques, como arquitecturas E/E centrales/zonales con equipos informáticos de alto rendimiento (HPC), software embebido con arquitectura orientada a servicios, automatización con integración y entrega continuas, y validación virtual mediante simulación.
La transición a SDV no es sencilla. Este white paper expone perspectivas y prácticas recomendadas extraídas de la colaboración entre MathWorks y empresas de automoción de todo el mundo. Aborda las formas en que el diseño basado en modelos permite el desarrollo de vehículos definidos por software:
- Reutilización de software en varias plataformas: El diseño basado en modelos facilita la reutilización de software en HPC, controladores zonales y unidades de control electrónico (ECU).
- Reducción del tiempo de desarrollo a través de automatización: El uso de modelos, junto con verificación automatizada y continua, comprobación de congruencia y análisis de trazabilidad, ayuda a reducir el tiempo de desarrollo y cumplir con los requisitos de seguridad y calidad.
- Integración shift-left: La integración de modelos de sistemas físicos y pilas de software virtualizadas permite realizar pruebas de integración de software con enfoque shift-left, lo que acelera la detección de errores y mejora la cobertura de pruebas.
- Capacitación a personal experto: El diseño basado en modelos permite al personal experto del dominio adoptar prácticas de desarrollo de software modernas y crear software de alta calidad.
Funcionalidades de software y propuesta de valor
El software permitirá ofrecer funcionalidades que refuerzan la identidad de la marca y propuesta de valor. Los clientes esperan seguridad y una vida digital continua, en la que el vehículo es una plataforma para interacciones digitales y experiencias más allá de la conducción. Estas expectativas impulsan avances tecnológicos en los vehículos, como la electrificación y autonomía.
El software ofrece funcionalidades que atienden las necesidades de clientes y respaldan los objetivos comerciales. El ciclo continúa a medida que evolucionan las expectativas de clientes.
El software ofrece funcionalidades que atienden las necesidades de clientes y respaldan los objetivos comerciales. El ciclo continúa a medida que evolucionan las expectativas de clientes.
Desarrollo rápido de software con confianza
Producir software de automoción de manera rápida y fiable supone un reto debido a muchas razones:
- Aumento de la complejidad del software y los desafíos de validación resultantes
- Requisitos de seguridad funcional
- Diferentes perspectivas de los equipos de trabajo responsables de sistemas y software de vehículos
Este documento aborda la tecnología para el desarrollo de SDV y cómo colaboran los equipos de trabajo involucrados.
Elementos de vehículos definidos por software
Trabajar con empresas de automoción en todas las regiones del mundo permite a MathWorks observar patrones de funcionamiento eficaz y deficiente.
Producir vehículos definidos por software requiere competencias de desarrollo de vehículos y creación de software, además de una estrecha colaboración entre los equipos de desarrollo de vehículos y software. Sin embargo, con frecuencia estos equipos trabajan por separado, siguen procesos diferentes y suelen utilizar herramientas distintas.
El vehículo es un sistema multidominio donde resultan fundamentales la fiabilidad, seguridad funcional e integración de muchos componentes físicos.
Las competencias para crear productos definidos por software incluyen una combinación de prácticas modernas de desarrollo ágil de software y de desarrollo rápido, lanzamientos frecuentes y un alto grado de automatización en la forma en que se crea el software. Los productos definidos por software también requieren funcionalidad basada en datos, con datos procedentes de la flota a través de la nube.
Cuando se mezclan todas esas competencias se produce gran parte del riesgo y la complejidad, ya que es entonces cuando equipos de trabajo, herramientas, procesos, perspectivas y prejuicios entran en conflicto.
La pieza fundamental del proceso de desarrollo de SDV es el vehículo. Hace dos décadas, los equipos de ingeniería de desarrollo de sistemas de automoción aplicaban un enfoque compartimentado, con distintos grupos realizando el trabajo. Intercambiaban información mediante documentos. Esto cambió con el diseño basado en modelos.
Aplicación del diseño basado en modelos
El diseño basado en modelos alinea las actividades de desarrollo en torno a modelos en lugar de documentos. El modelo sirve como conjunto de requisitos ejecutables que rigen las actividades de verificación, validación y pruebas. Este enfoque permite detectar y solucionar problemas en requisitos, arquitectura y algoritmos en etapas iniciales. Después, puede generar automáticamente código embebido, como código C o C++, a partir de los modelos de algoritmos para ejecutarlo en un microcontrolador.
Con el diseño basado en modelos, los equipos de trabajo también pueden solucionar la rigidez percibida del ciclo en V. Un cumplimiento estricto del ciclo en V dará como resultado una serie secuencial de pasos. Los requisitos del sistema deben definirse antes de realizar la descomposición del sistema, y todos los componentes deben estar presentes antes de realizar pruebas de integración, lo que reduce significativamente la agilidad y eficiencia.
En el diseño basado en modelos con Simulink®, puede modelar y simular todo el sistema, incluidos los modelos de componentes físicos como batería y dirección, junto con la arquitectura completa del vehículo, además de representar los diversos algoritmos de software que se ejecutan en el vehículo. Con un modelo de sistema de este tipo, puede iniciar el desarrollo virtual de una nueva funcionalidad de software y realizar pruebas de integración virtual desde el principio, lo que permite probar la nueva funcionalidad a medida que interactúa con otras funcionalidades de software, todo ello ejecutado en un vehículo virtual.
Además, con Simulink, los pasos pueden ser más compactos que los que sugiere la V, y su ejecución puede automatizarse de forma coherente con las prácticas de desarrollo de software modernas.
Por último, con los vehículos definidos por software, la arquitectura E/E de los vehículos está cambiando, al igual que los procesos de desarrollo relacionados. Los flujos de trabajo que implementan el diseño basado en modelos han evolucionado en consecuencia.
Enfoque shift-left con simulación y virtualización
Parte del cambio del flujo de trabajo consisten en la virtualización de chips, el software básico y el middleware, lo que permite la integración shift-left de software en etapas iniciales. Por ejemplo, Simulink puede aplicar un enfoque shift-left a la integración y pruebas incorporando la representación virtual de un procesador Infineon® AURIX™ con tecnologías de Synopsys. Puede realizar iteraciones rápidamente en el entorno de simulación y después servirse de librerías de Infineon para generar automáticamente código optimizado para el procesador. Simulink también funciona con tecnologías de virtualización de otras empresas, como Qualcomm.
Soporte para arquitectura orientada a servicios
SOA constituye una parte importante de la creación de software modular que se puede actualizar individualmente. Actualmente, el diseño basado en modelos y Simulink permiten crear aplicaciones basadas en señales y orientadas a servicios para arquitecturas E/E más recientes con HPC y controladores zonales. Puede modelar las SOA, incluyendo aplicaciones de AUTOSAR Adaptive, simularlas y generar código C++ antes de desplegarlas como servicios modulares.
Zeekr, un fabricante de vehículos eléctricos de China, utilizó con éxito el diseño basado en modelos para desarrollar software SOA, realizar iteraciones y lanzar software rápidamente.
Más información
Integración con plataformas de código abierto y de terceros
Un entorno de desarrollo de producción debe integrar muchas herramientas y plataformas. El diseño basado en modelos lo facilita, ya que Simulink interactúa con muchas herramientas, así como código y herramientas de código abierto.
Simulación de escenarios complejos
Crear escenarios de carreteras y terrenos sin pavimento para simulación permite ajustar con precisión los requisitos del sistema y realizar pruebas en escenarios realistas.
Cree escenarios de tránsito o construcción para simulación y pruebas.
Aumento de la velocidad y calidad
Pasemos al lado del software. Las prácticas de desarrollo de software modernas priorizan la agilidad.
Los flujos de trabajo que implementan diseño basado en modelos han evolucionado para agilizar el proceso general alineando a los equipos de desarrollo de sistemas y software de vehículos con herramientas y objetivos compartidos. La virtualización de todo el sistema, componentes, procesadores virtuales y escenarios proporciona entornos de pruebas realistas.
Las herramientas de ingeniería deben integrarse cada vez más con la infraestructura informática. La colaboración estrecha entre ingeniería e informática no ha sido común en la industria de la automoción. MathWorks colabora con organizaciones para conectar a estos grupos y automatizar los enfoques de ingeniería de sistemas y basados en modelos utilizando las herramientas de DevOps que emplean los equipos de software y de plataforma. El objetivo es alinear la forma de realizar procesos y de ejecutar cadenas de tareas, además de ofrecer transparencia a través de paneles y puntos de referencia de rendimiento.
Tanto si el software se desarrolla automáticamente, manualmente o con ambos enfoques, virtualizar el sistema del vehículo, sus componentes, el procesador, las pilas de software y los escenarios proporciona un entorno de pruebas realista, que se puede conectar y automatizar empleando cadenas de tareas de integración continua (CI).
Profesionales de ingeniería de Geely opinan que la integración continua y pruebas continuas (CICT) constituyen un aspecto clave para pasar de desarrollar software rápidamente a desarrollar software de calidad con rapidez. Consideran que la integración entre las plataformas CICT y herramientas de ingeniería como Simulink, Simulink Test™, y Polyspace® permite acelerar el flujo de valor y garantizar una producción de software de alta calidad, continua, rápida, estable y controlable a un coste inferior. Como resultado, lograron una tasa de éxito del 90% en sus primeras pruebas de integración de software.
Continental lleva tiempo integrando enfoques basados en modelos con sus fábricas de software e integraciones con GitHub®, Jenkins® y Artifactory. Han logrado duplicar la velocidad de su sistema de CI/CD y reducir el esfuerzo de mantenimiento a la mitad.
Estos dos ejemplos subrayan la importancia de combinar los sistemas con las prácticas de software modernas.
Integración de IA en sistemas
La inteligencia artificia es un tipo de funcionalidad clave basada en datos. Incluye algoritmos de IA para sistemas embebidos, lo que se suele denominar IA embebida. MATLAB® y Simulink ofrecen una librería de ejemplos de referencia que muestran cómo incorporar una funcionalidad de software basada en IA a un sistema y después generar código para el modelo de inferencia. Estos ejemplos pueden ayudar a iniciarse en el diseño, simulación, prueba, verificación y despliegue de algoritmos de IA que mejoran el rendimiento y funcionalidad de sistemas embebidos complejos. Un ejemplo de IA embebida es un sensor virtual.
La IA puede crearse en un marco de código abierto como PyTorch®. MATLAB interopera con esos entornos, además de Python® y TensorFlow™, con coejecución, convertidores de modelos y MATLAB Deep Learning Model Hub. Los bloques de Simulink pueden incorporar esos modelos de inferencia para simular y observar cómo funcionará la IA en el contexto del sistema con los escenarios.
Escalado a la nube
La nube ofrece una plataforma para escalar simulaciones y desarrollo de software para prototipado, desarrollo y distribución de funcionalidades y actualizaciones a los vehículos. La integración entre Simulink y la nube permite escalar los flujos de trabajo de simulación y desarrollo a las plataformas de nube Amazon Web Services (AWS®) y Microsoft® Azure®.
Conclusión
El desarrollo de vehículos definidos por software implica integrar perspectivas, herramientas, y procesos de software y de sistema. MathWorks ofrece asistencia con herramientas que permiten usar IA, tecnología en la nube y prácticas de software modernas.
Seleccione un país/idioma
Seleccione un país/idioma para obtener contenido traducido, si está disponible, y ver eventos y ofertas de productos y servicios locales. Según su ubicación geográfica, recomendamos que seleccione: .
También puede seleccionar uno de estos países/idiomas:
Cómo obtener el mejor rendimiento
Seleccione China (en idioma chino o inglés) para obtener el mejor rendimiento. Los sitios web de otros países no están optimizados para ser accedidos desde su ubicación geográfica.
América
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)