BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Entrega contínua em caminhões inteligentes

Entrega contínua em caminhões inteligentes

Peter Thorngren, líder técnico de integração e verificação no grupo de tecnologia de caminhões na Volvo, realizou uma palestra na QCon Londres 2016 sobre a aplicação de técnicas de entrega contínua no desenvolvimento da próxima geração de caminhões inteligentes. Thorngren apresentou como a virtualização dos componentes de hardware presentes em um caminhão, combinada com técnicas de modelagem e automação de testes tornaram-se peças chave para permitir o teste de novas funcionalidades de software em caminhões de carga pesada em uma questão de minutos ao invés de meses.

Ambientes virtuais permitem que os desenvolvedores testem seu código em um caminhão virtual e obtenham resposta similares a um caminhão físico, sem ter que esperar meses para a integração com o hardware. Segundo Thorngren, um simulador similar a um ambiente virtual, mas baseado exclusivamente em hardware, custaria algo da ordem de milhões de euros e permitira apenas execuções em série de conjuntos de testes.

A modelagem do mundo físico em termos de rodovias, condições climáticas e sistema de trânsito é crucial para que a virtualização apresente resultados significantes. Como explicado por Thorngren, a modelagem nunca produz um resultado exato, mas ela pode ser conduzida em um certo grau de certeza por meio da calibragem de seus resultados com o resultado de testes do mundo real com caminhões reais. Os componentes mais complexos de modelar incluem: o sistema de frenagem, o gerenciamento do motor e o sistema de direção assistida.

A automação dos testes depende da virtualização das também da aplicação de técnicas de mocking de dados de sensores para testar as unidades isoladamente. Durante a apresentação, Thorngren demonstrou como manipular os sensores por meio de uma interface gráfica (GUI) simples conectada aos sensores virtuais utilizados nos testes. Um caminhão virtual é na verdade uma biblioteca C++ que utiliza a lógica real implementada no hardware representada por arquivos de definição de hardware.

O processo de integração de software para os caminhões da Volvo inicia com os desenvolvedores executando testes com instâncias locais de caminhões virtuais, partindo a seguir para o commit do código no servidor de construção (build server) que executa os mesmos testes com todas as alterações integradas no software. Um build executado com sucesso neste ambiente dispara os testes de integração com o hardware em equipamentos de testes que replicam partes do hardware de um caminhão e leva em torno de 10 minutos para executar.

A estratégia descrita por Thorngren lembra fortemente a ideia da pirâmide de testes invertida, em que os testes custosos de interface usuário são os testes físicos usando um caminhão real ou um simulador de hardware, com todos os sensores e sistemas de processamento interconectados. Como atualmente os caminhões de carga pesada possuem centenas de sensores (a título de comparação, um smartphone tem entre dez e vinte sensores) e diversas redes (e estes números continuam crescendo), estes testes são muito custosos e pouco escaláveis. Assim, somente um pequeno conjunto de testes é executado em caminhões reais e de maneira muito menos frequente do que os testes de integração e testes unitários (que oferecem feedback suficiente para testar novas funcionalidades e encontram rapidamente os problemas).

Durante sua palestra, Thorngren compartilhou sua previsão de um futuro para os caminhões inteligentes autônomos, começando com uma capacidade ainda limitada de direção autônoma na próxima década e percorrendo todo o trajeto até uma automação completa da direção autônoma nas próximas décadas. Ele também contou no QCon:

Se você olhar para o futuro dos caminhões, vai encontrar algo como um grande computador. Provavelmente, o caminhão vai tirar proveito de ambientes de virtualização (coisas como o VMWare ou similares). Ele vai executar código Java ou C/C++. O poder computacional vai ser centenas de vezes maior que o presente nos carros e caminhões atuais. O caminhão será completamente conectado com a internet (como de fato já é hoje) e será um veículo autônomo. Ainda é incerto o momento quando isto vai acontecer exatamente, mas trata-se apenas de uma questão de tempo. Estes caminhões provavelmente serão uma das coisas tecnicamente mais complexas que veremos no nosso dia a dia. E isto será algo fascinante de se ver.

Thorngren enfatizou como as técnicas de desenvolvimento de software, tais como: automação de testes, integração contínua e entrega contínua serão fundamentais para rapidamente adaptar o desenvolvimento dos veículos para um novo e não previsível ambiente tecnológico. Apesar da Volvo atualmente atualizar o software dos caminhões por meio de uma conexão wifi (para pequenas alterações como a configuração de parâmetros), Thorngren espera que, no futuro, novas imagens de máquinas virtuais sejam instaladas em caminhões, usando automação como os atualmente encontrados em ambientes de computação em nuvem.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT