14.3. Robustez para produção

Uma aplicação robusta continua a correr sem supervisão em hardware que não pode ver. As páginas nesta secção cobrem a disciplina em tempo de execução que transforma uma aplicação funcional numa que se recupera das suas próprias falhas e deixa evidências suficientes para as diagnosticar mais tarde.

Quatro componentes, ordenados de modo a que cada um suporte o seguinte. O registo vem primeiro porque todo o resto escreve para ele. O watchdog trata dos bloqueios e regista o que apanhou no registo. A higiene do sistema de ficheiros mantém as escritas de registo rápidas à medida que a aplicação acumula registos ao longo de meses ou anos no campo. A página de segurança fecha com o que a proteção de leitura da flash cobre e como é realmente o trabalho para a ativar – relevante quando a privacidade do código da aplicação é um requisito do produto.

Os primeiros três aplicam-se a todas as câmaras enviadas. Um watchdog em falta é um bloqueio de que ninguém consegue recuperar; um registo em falta é uma falha que não deixou evidências no campo; uma higiene de sistema de ficheiros em falta é uma pasta plana de ficheiros de registo que arrastou a taxa de fotogramas consigo.

O quarto, a proteção de leitura, é situacional. Muitas câmaras enviadas ficam em locais onde o acesso físico já está controlado – fábricas, instalações fixas, postos de operador seguros, por detrás de armários fechados – e o custo de engenharia de bloquear o firmware não se justifica para essas implantações. A página cobre o aspeto do custo quando está justificado.