O veículo definido por software é um fato. E com a direção assistida, e possivelmente totalmente automatizada, o software irá se tornar ainda mais importante. Mas um software nunca é finalizado. A sua essência é a mudança contínua. Com o Digital Loop, em conjunto com o hardware e o software no loop, a validação, a homologação e o desenvolvimento adicional de veículos podem ser colocados em uma nova base.
Veículos com software – isso era inimaginável décadas atrás. E os dois setores, o automotivo e o de TI, chegaram até mesmo a ter uma visão crítica um do outro em alguns casos. A troca de golpes (inventada) entre Bill Gates e Jack Welch, na qual o desenvolvimento do PC foi comparado ao dos carros, é inesquecível.
Mas a cada nova geração de carros, a proporção de TI no carro aumentou e os dois mundos cresceram juntos. O "veículo do futuro" foi e está sendo criado. Isso significa uma coisa acima de tudo: Cada vez mais funções estão sendo assumidas pelo software. E isso não apenas executa tarefas como o gerenciamento do sistema de entretenimento, mas também funções relacionadas à segurança. O carro definido por software tem grandes expectativas em relação ao software. Porque dificilmente algum motorista aceitará que seu veículo "simplesmente desligue sem motivo aparente" ou que os sistemas de freios não funcionem. Por esse motivo, existem estruturas abrangentes que regulam o desenvolvimento e o uso de software automotivo.
Com a tendência de mapear cada vez mais funcionalidades no código – também com relação à direção autônoma e assistida (ADAS/AD) – as demandas dos desenvolvedores de hardware e software em veículos estão aumentando. As abordagens estabelecidas que coletam dados em test drives, os analisam e os disponibilizam para desenvolvimento não conseguem acompanhar o ritmo do desenvolvimento de software automotivo em particular (e o lançamento regular de atualizações). Elas são muito lentos e fornecem poucos dados para o desenvolvimento. Os OEMs precisam encontrar soluções para dar suporte à nova dinâmica de seus produtos "ciberfísicos".
É nesse ponto que os conceitos de carros conectados entram em ação. Os veículos dos clientes que estão conectados em rede com um back-end de OEM fornecem fluxos de dados contínuos de situações reais de tráfego e criam uma ampla base para o desenvolvimento e a otimização adicionais de hardware e software. Isso pode criar um processo de desenvolvimento realmente orientado por dados, de forma integrada em toda a cadeia de processos. A integração contínua, a implantação contínua e o DevOps podem ser usados para o desenvolvimento de software.
O "Digital Loop" adapta o conceito de CI/CD (Continuous Integration / Continuous Deployment) do desenvolvimento ágil de software e o abre para o ambiente automotivo. Ele oferece suporte a um processo de validação e homologação de ponta a ponta para atualizações de software no veículo durante todo o ciclo de vida. O desenvolvimento de software com análises de dados, simulações e implementação é combinado com a coleta de dados da operação ao vivo dos veículos.
Este breve vídeo explica os principais recursos da solução Digital Loop para a homologação de atualizações de software over-the-air usando o exemplo de um veículo de demonstração SAE L3.
Para a validação e verificação de software e hardware, o Digital Loop utiliza um subprocesso SIL/HIL (hardware ou software no loop). Ele coleta os dados em tempo real, processa-os e os enriquece com dados sintéticos. Os dados são então usados para simular o comportamento do veículo em situações típicas de trânsito e compará-lo com as expectativas definidas (KPIs). Os resultados são enviados à equipe de desenvolvimento. Você pode usar os resultados para o desenvolvimento adicional de hardware e software, mas também como validação e simulação automatizadas (contínuas) para verificação no processo de homologação. Isso permite que o OEM automatize amplamente o processo de validação conforme os requisitos regulamentares, o que representa uma aceleração e simplificação significativas.
O Digital Loop é a resposta a um desafio urgente enfrentado pelos departamentos de desenvolvimento dos fabricantes de automóveis. Isso cria uma nova base para que eles possam dar o salto para a era mais ágil dos veículos definidos por software. Os efeitos das atualizações de software podem ser avaliados mais rapidamente, e o potencial de otimização pode ser identificado e introduzido com base em dados reais de condução. A validação e a homologação podem ser automatizadas. Isso é particularmente importante no contexto da direção autônoma ou assistida. Aqui, a importância das atualizações de software é elevada a um novo patamar – atualizações contínuas em ciclos mais curtos estão se tornando a norma.
DevOps é uma metodologia de desenvolvimento de software que visa melhorar a colaboração entre as equipes de desenvolvimento de software e de operações de TI. Também é de considerável importância para o desenvolvimento dinâmico de software automotivo. O sinônimo de desenvolvimento ágil de software é frequentemente usado para DevOps. O objetivo é acelerar o fornecimento de aplicativos de software (e, portanto, o tempo de lançamento de novos produtos no mercado), aumentar a confiabilidade e permitir o fornecimento contínuo de software de alta qualidade. Essa aceleração permite que as inovações sejam introduzidas mais rapidamente, bem como reações mais rápidas ao feedback dos clientes e aos desenvolvimentos do mercado.
O DevOps automatiza os processos de desenvolvimento e utiliza a integração contínua e a implantação contínua (CI/CD), bem como a estreita colaboração e comunicação entre as equipes de desenvolvedores e de operações. A integração contínua (CI) é um componente central do DevOps. Refere-se ao processo pelo qual os desenvolvedores integram regular e frequentemente suas alterações de código em um repositório compartilhado. Os testes e as compilações automatizados garantem a qualidade do código. O objetivo da Integração Contínua é reconhecer problemas em um estágio inicial e facilitar a integração das alterações de código.
A entrega contínua (CD) e a implantação contínua (CD) são extensões da CI e também fazem parte da abordagem DevOps. A entrega contínua refere-se ao processo pelo qual o software é fornecido em iterações curtas e em um fluxo de trabalho automatizado para poder entrar em produção a qualquer momento. A implantação contínua vai além e significa que cada alteração bem-sucedida no código é transferida automaticamente para o ambiente de produção, sem intervenção manual.