Autor: Johnny Liu, CEO da Dowway Vehicle
Publicado em: 9 de julho de 2026
Tempo de leitura: 15 minutos
Categoria: Veículos Elétricos, Engenharia de IA, Projeto Baseado em Modelos (MBD)
Table of Contents
Além da euforia em torno dos chatbots
Se a sua equipe de engenharia de software automotivo estiver considerando frameworks como Agente da Hermès ou OpenClaw Quem vê apenas um “chatbot mais inteligente” está usando-o de forma incorreta. Em pesquisa e desenvolvimento automotivo de alta integridade — especialmente em sistemas “Tri-Elétricos” (Sistema de Gerenciamento de Bateria)[BMS]Unidade de Controle do Veículo[VCU]e Unidade de Controle do Motor[MCU]— O verdadeiro valor de uma IA não é tomar decisões finais pelos engenheiros.
Em vez disso, seu valor reside na capacidade de organizar o acesso a arquivos, a chamada de ferramentas, a execução de comandos da CLI, o isolamento de navegadores e a recuperação de conhecimento corporativo em um único ambiente. linha de engenharia auditável e determinística.
Este artigo explica como os agentes de IA podem integrar as ferramentas fragmentadas do projeto baseado em modelos (MBD) sem comprometer a segurança, traçando um caminho claro desde a simples chamada de ferramentas até um ciclo fechado de engenharia completo.
1. O principal problema de engenharia: arquivos fragmentados, ferramentas isoladas e cadeias de evidências interrompidas.
Qualquer engenheiro de software de powertrain experiente sabe que um defeito típico em um sistema de controle raramente se origina em um único arquivo isolado. Considere este cenário padrão de solução de problemas:
- Sintoma: Em condições de baixa temperatura, o limite de potência de carregamento da bateria cai inesperadamente. Isso ocorre juntamente com limitações esporádicas de torque e uma incompatibilidade no código de diagnóstico de falhas (DTC) entre a saída real do controlador e a especificação do sistema.
Para diagnosticar esse problema, um engenheiro precisa abrir, analisar e comparar simultaneamente um conjunto de dados enorme e fragmentado:
[System Requirements] ── (DOORS / Word)
│
[Software Model] ── (MATLAB Simulink / Stateflow)
│
[Network Interfaces] ── (DBC / ARXML)
│
[Memory Mapping] ── (ASAP2 / A2L / Calibration Parameters)
│
[Real-world Behavior] ── (Vector CANoe Trace / CANape Logs / MDF4)
Os quatro níveis de fragmentação
Este fluxo de trabalho destaca uma grave fragmentação em quatro dimensões distintas:
- Fragmentação em nível de arquivo: Os requisitos residem no Word ou no IBM DOORS; a lógica de controle reside em modelos MATLAB Simulink (
.slx) e diagramas Stateflow; as interfaces de barramento são definidas em.dbcou.arxml; os endereços de memória são definidos em.a2lOs scripts de teste são escritos em CAPL ou Python; os registros de teste existem em.mdf,.dat, ou.csvarquivos. - Isolamento da cadeia de ferramentas: Os engenheiros precisam alternar constantemente entre contextos. Eles transitam entre MATLAB/Simulink (projeto de modelo) e Vector CANoe (simulação de barramento), Vector CANape ou TsMaster (calibração/medição), Excel (mapeamento de dados) e sistemas internos de rastreamento de problemas baseados na web (Jira).
- Inconsistência semântica: A mesma variável física (como a corrente de carga alvo da bateria) pode ser nomeada.
Target_Chg_Currna especificação de requisitos funcionais,bms_I_alvono espaço de trabalho do modelo Simulink,BMS_AtualAlvono banco de dados de sinais CAN DBC, eP_BMS_Chg_Curr_Limitno arquivo de calibração A2L. Eles geralmente têm taxas de amostragem, fatores de escala, unidades e intervalos de valores válidos diferentes. - Cadeias de evidências ausentes: Uma IA generativa pode facilmente sugerir uma causa raiz hipotética. No entanto, se essa sugestão não puder apontar para um milissegundo específico em um registro, uma transição de sinal específica em um rastreamento, um caminho específico em um modelo Simulink ou um ID de caso de teste específico, ela não pode ser aceita como uma conclusão de engenharia.
A questão não é o quão inteligente é o profissional com mestrado em Direito. A questão é: Qual é a posição do Agente de IA na cadeia de ferramentas MBD, como ele acessa os arquivos, quando ele tem permissão para executar scripts e quando ele deve parar para devolver o controle a um engenheiro humano?
2. Os limites da automação tradicional versus a fronteira da agência
Os departamentos de software automotivo utilizam scripts automatizados (APIs do MATLAB, analisadores DBC em Python, conjuntos de testes CAPL, pipelines CI/CD do Jenkins e macros do Excel) há décadas. Essas ferramentas são altamente determinísticas, repetíveis e totalmente auditáveis.
No entanto, elas sofrem com altos custos de troca de contexto. Um script em Python pode analisar um DBC e um script em MATLAB pode executar uma verificação de modelo, mas eles não compartilham contexto semântico.
A matriz a seguir define onde os scripts de automação tradicionais encontram dificuldades e onde os agentes de IA devem entrar em ação:
| Artefato de Engenharia | Limitações da Automação Tradicional | A fronteira do agente de IA |
|---|---|---|
| Simulink / Stateflow | Os scripts executam verificações de regras de projeto estáticas (como o Model Advisor) e geram relatórios XML. No entanto, a interpretação desses relatórios e a vinculação das falhas aos requisitos do sistema ainda exigem trabalho manual. | O Agente lê o relatório do Model Advisor e a especificação original, mapeia as falhas e gera uma lista de problemas de engenharia priorizados. nunca Edita diretamente os arquivos do modelo. |
| DBC / A2L / MDF | Scripts em Python ou CANape podem extrair listas de sinais, mas o mapeamento de variáveis entre DBC e A2L exige que os engenheiros mantenham tabelas de conversão em Excel manuais e frágeis. | O agente resolve dinamicamente as incompatibilidades de mapeamento semântico analisando fatores de escala, tipos de dados, unidades físicas e versões de parâmetros de calibração em DBC, A2L e modelos. |
| CANoa / CAPL | Bancadas de teste automatizadas executam scripts de teste e exportam relatórios de teste em HTML. No entanto, encontrar a causa raiz de um veredicto de “Falha” requer o rastreamento manual de logs. | O agente analisa o rastreamento do teste CANoe e os arquivos de log do CAPL, isola o registro de data e hora exato da falha, correlaciona-o com os códigos de diagnóstico e elabora correções no script CAPL. |
| Especificações de Requisitos | Os scripts padrão podem verificar se um documento de requisitos possui um campo de ID, mas não conseguem avaliar a clareza do texto nem mapear a cobertura dos testes. | O agente extrai os critérios de aceitação funcional, compara-os com os pontos de teste reais e gera uma versão preliminar da matriz de rastreabilidade de ponta a ponta. |
| Ferramentas Web internas | Os engenheiros precisam copiar e colar manualmente os registros de rastreamento ou os códigos de erro de diagnóstico no Jira, Confluence ou em bases de conhecimento internas. | O agente utiliza ferramentas de busca e recuperação para analisar bancos de dados internos, cruzar informações de registros de problemas históricos e registrar referências juntamente com os URLs de origem. |
3. Arquitetura de Referência: LLMs na Camada de Orquestração
Para implantar agentes de IA com segurança no desenvolvimento de sistemas críticos para a segurança (como pipelines de software ISO 26262 ASIL-D), o LLM deve residir estritamente no Camada de orquestração, completamente isolado do Loop de Execução de Segurança.
┌────────────────────────────────────────────────────────┐
│ HUMAN ENGINEER (Review) │
└───────────────────────────▲────────────────────────────┘
│
[State / Logs] │ [Approve / Correct]
│
┌───────────────────────────▼────────────────────────────┐
│ LLM ORCHESTRATION LAYER (Agent) │
│ - Plan Formulation - Context Assembly │
│ - Semantic Mapping - Reasoning & Tool-calling │
└───────────────────────────┬────────────────────────────┘
│
[Authorized Tool Calls] / [Structured Outputs]
│
┌───────────────────────────▼────────────────────────────┐
│ AUDITABLE EXECUTION LAYER │
│ ┌───────────────────────┐ ┌───────────────────────┐ │
│ │ Sandboxed Environment│ │ Whitelisted Tools │ │
│ │ - Read-Only Snapshots│ │ - MATLAB / CANoe APIs│ │
│ │ - Isolated Browsers │ │ - Python/CAPL Parsers│ │
│ └───────────────────────┘ └───────────────────────┘ │
└────────────────────────────────────────────────────────┘
Estruturas como OpenClaw Defina ferramentas como funções estruturadas que o Agente pode invocar (execução, recuperação na web, pesquisa local, mensagens). Da mesma forma, Agente da Hermès Utiliza um ambiente de sandbox local para executar utilitários do sistema com segurança.
Para software automotivo, devemos estabelecer cinco diretrizes de segurança absolutas:
- Isolamento de armazenamento somente leitura: O agente deve operar em um snapshot somente leitura ou em um branch git dedicado do espaço de trabalho (
./project_snapshotNunca deve ter acesso de escrita a branches de produção, chaves criptográficas ou repositórios proprietários de referência. - Chamada de ferramenta permitida: O Agente não pode executar comandos shell brutos. Em vez disso, ele deve interagir com o ecossistema de engenharia invocando uma lista de permissões de scripts Python ou MATLAB pré-escritos e determinísticos.
- Registro de restrições de execução: Cada execução de script deve ocorrer dentro de um diretório estrito, impor limites de tempo limite de execução e capturar automaticamente todas as informações.
stdout,stderr, códigos de saída e hashes de arquivos de entrada. Esses registros são preservados em uma trilha de auditoria imutável. - Perfis de navegador isolados: Para recuperação de dados na web (como pesquisar definições padrão do ASAM ou verificar quadros internos do Jira), o Agente deve usar um perfil de navegador dedicado que seja completamente isolado das credenciais de SSO pessoais ou corporativas.
- Segregação de inquilinos da base de conhecimento: Ao conectar-se a bancos de dados de geração aumentada por recuperação (RAG) que contenham diretrizes de calibração proprietárias ou dados de depuração de projetos anteriores, o sistema deve impor um controle de acesso baseado em funções (RBAC) rigoroso para evitar vazamentos de IP entre clientes.
4. Integração passo a passo: mapeando o agente para a cadeia de ferramentas MBD
Vamos examinar como um agente de IA executa um fluxo de trabalho MBD completo de quatro etapas.
Step 1: Parse Specs ──► Step 2: Scan Model ──► Step 3: Align Signals ──► Step 4: Parse Logs
(Requirements to (MATLAB Report (DBC to A2L (CANoe Trace
Test Matrix) Analyzer) Mapping) to Evidence)
Etapa 4.1: Especificação de Requisitos para Elaboração da Matriz de Testes
O Agente ingere documentos de requisitos (como arquivos Markdown ou JSON exportados do DOORS). Ele analisa cada cláusula funcional para extrair:
- Pré-condições (por exemplo,
Temperatura da bateria < -10°C) - Entradas ativas (como
Detectado_plugue_de_carga == VERDADEIRO) - Saídas esperadas do sistema (como, por exemplo,
Max_Chg_Current_Limit == 15A) - Condições diagnósticas associadas.
Em vez de tentar escrever o código final, o Agente gera um código estruturado. Rascunho da Matriz de Testes Em formato JSON, definindo pontos de validação explícitos para testes MIL/SIL/HIL subsequentes.
Etapa 4.2: Verificação do modelo para emissão de listas de verificação
O agente está impedido de modificar modelos Simulink (.slx) ou gráficos Stateflow diretamente. Em vez disso, ele invoca um script MATLAB local por meio da interface de linha de comando. Este script de execução:
- Abre o MATLAB em uma sessão sem interface gráfica.
- Executa verificadores de regras de projeto estáticas personalizadas (como verificar convenções de nomenclatura ou procurar portas de sinal não vinculadas).
- Exporta um relatório de diagnóstico estruturado.
O agente lê este relatório, compara-o com as diretrizes de design de software e gera uma lista de verificação estruturada destacando erros (como “diagrama de fluxo de estados”). Gerenciador de cobranças está faltando um caminho de transição padrão).
Etapa 4.3: Mapeamento semântico dos campos DBC, A2L e de calibração
Esta etapa relaciona os sinais de comunicação física com a memória interna do controlador. O Agente chama um analisador Python dedicado para ler o arquivo CAN DBC e o arquivo A2L do controlador.
Em seguida, cria uma tabela de mapeamento de variáveis unificada e verifica discrepâncias críticas:
[Signal: BMS_Target_I] ── (DBC Unit: Ampere | Scale: 0.1 | Offset: 0)
VS
[Parameter: Target_I_Cal] ── (A2L Unit: Ampere | Scale: 0.01 | Offset: -40)
▲
[Agent Flags Mismatch]




