Início

Desenvolvimento embedded crítico segundo as normas

Mais de 35 anos de experiência em segurança funcional, sistemas de tempo real e desenvolvimento próximo do hardware — familiarizado com as normas relevantes para automóvel, médico e indústria.

O desenvolvimento embedded crítico não é uma questão de funções isoladas, mas de abordagem global: da análise de requisitos à arquitetura e implementação, até à verificação e documentação. Quem encomenda nesta área não procura apenas um bom programador, mas alguém que tenha compreendido a interação entre norma, método e código — e que saiba estimar de forma realista o esforço que o cumprimento implica.

As três áreas de competência seguintes constituem a base do meu trabalho. Sobrepõem-se em quase todos os projetos.

Experiência

1. Experiência

Mais de três décadas de desenvolvimento embedded — desde o início de carreira no desenvolvimento de motores até à atividade atual como consultor independente. No segmento premium, a experiência não é um argumento de marketing mas um pré-requisito: quem desenvolve sistemas de tempo real próximos do hardware ou firmware crítico precisa da memória dos modos de falha que não aparecem nos manuais.

  • Mais de 35 anos de desenvolvimento embedded (desde 1990)
  • Início de carreira na Mercedes-Benz, Stuttgart-Untertürkheim
  • Projetos para vários grandes construtores na Alemanha, Reino Unido e Estados Unidos — e para os seus fornecedores franceses e alemães
  • Atividade internacional na Alemanha e em França
  • 2002 — fundação da Navimess Elektronik (posteriormente encerrada)
  • 2012 — fundação da SCHMITT CONSULTING S.A.R.L. em França
  • Diplom-Informatiker (FH), especialização Informática Técnica
  • Trabalho de fim de curso em controlo automático com drivers de hardware em tempo real em assembler
Normas

2. Normas e padrões

Familiarizado com as normas relevantes para o desenvolvimento crítico em automóvel, médico e indústria. «Familiarizado» significa aqui: conheço os requisitos, os métodos e as armadilhas típicas — e sei estimar que esforço normativo se ajusta ao seu projeto e qual seria desproporcionado. Nos projetos atuo como programador dentro do quadro de cumprimento estabelecido pelo cliente; não assumo um papel autónomo de auditor normativo.

  • ISO 26262 — Segurança funcional (automóvel, ASIL A a D)
  • IEC 61508 — Segurança funcional (indústria, SIL 1 a 4)
  • IEC 62304 — Ciclo de vida do software (dispositivos médicos, classes A/B/C)
  • IEC 60601-1 — Segurança do aparelho (médico)
  • RTCA/DO-178B — Software aeronáutico (DAL A a E)
  • Automotive SPICE — Avaliação de processos em projetos automóveis
  • MISRA-C / MISRA-C++ — Regras de codificação para software C/C++ crítico
Gestão

3. Gestão de projeto

Os projetos embedded raramente falham na técnica, frequentemente falham na comunicação e na condução. A minha gestão de projeto está alinhada com o que esperam os clientes do segmento premium: prazos rastreáveis, custos transparentes, transferências claras. Não trabalho com metodologia sobrecarregada, mas com aquilo de que um projeto realmente precisa.

  • Controlo rigoroso de prazos e custos
  • Coordenação regular com o cliente à cadência acordada
  • Orçamentos com garantia de preço para contratos a preço fixo
  • Transferência de conhecimento para equipas do cliente no fim do projeto
  • Coordenação de fornecedores externos e áreas internas
  • Documentação técnica e entrega de código rastreável
  • Disponibilidade para assinar NDA e tratamento confidencial dos conteúdos do projeto

Áreas técnicas adicionais

Para além dos três campos principais, 35 anos de prática fizeram emergir várias áreas de fundo que frequentemente fazem a diferença nos projetos:

Sistemas de tempo real e desenvolvimento bare-metal
Programação próxima do hardware em microcontroladores limitados, com ou sem sistema operativo de tempo real. Experiência em temporização determinística, arquiteturas de interrupção e otimização sob restrições de memória e tempo de execução.
Verificação FPGA
Desenvolvimento em VHDL e SystemVerilog, com testbenches e verificação sistemática. Os projetos FPGA não são «software num chip» — seguem regras próprias, e é precisamente aí que muitos projetos falham.
Recuperação de código e engenharia inversa
Análise de bases de software herdadas — assembler, C, C++, frequentemente sem documentação — e a sua preparação sistemática para a equipa do cliente. O projeto Stihl (ver referências) é um exemplo disso.
Cifragem e comunicação segura
Desenvolvimento de procedimentos criptográficos e de comunicação de bus segura em contexto embedded, onde as bibliotecas-padrão não se ajustam — desde atualizações de firmware assinadas, passando por bootloaders seguros, até soluções de cifragem à medida. Nota: a partir de certo nível de cifragem pode ser necessária autorização da autoridade competente, dado que algumas tecnologias de cifragem não podem ser exportadas para todos os países. A necessidade de autorização é examinada em conjunto antes do início.

O que estas competências significam para si

Se tem um projeto em que a conformidade normativa, os requisitos de tempo real ou a complexidade próxima do hardware desempenham um papel — e ao mesmo tempo não quer contratar toda uma equipa de especialistas, mas sim uma pessoa com visão de conjunto e compromisso de entrega — então uma cooperação é provavelmente adequada.

Esquema de cores

Idioma