A Critical Software anunciou que vai estar à frente do processo de modernização do guia de Verificação e Validação Independente de Software (ISVV, na sigla em inglês) da Agência Espacial Europeia (ESA). Em 2006, a empresa portuguesa sediada em Coimbra participou na criação do primeiro “manual” para a indústria espacial europeia e recentemente contou com a colaboração da Rovsing, uma empresa de equipamentos para satélites, no processo de atualização do guia, que define como devem ser realizadas as atividades de ISVV nos softwares da ESA.
Desde que foi criada em 1998, a Critical Software esteve envolvida em projetos de colaboração com a NASA e já aplicou as metodologias de ISVV em vários ramos da indústria (automóvel, finanças, ferroviária, saúde e dispositivos médicos, entre outras).
Em conversa com a Exame Informática, Nuno Pedro Silva, responsável da Critical Software encarregue da modernização do guia de ISVV, falou sobre objetivos, esperanças mudanças no projeto.

A Critical Software refere que a nova versão do ISVV vai incluir as mais recentes tecnologias e processos de desenvolvimento de software, quais são?
Vão ser integrados novos processos e ferramentas, por exemplo, alguns capazes de suportar o desenvolvimento de sistemas espaciais através de metodologias ágeis, que é algo muito usado atualmente. Depois existem tecnologias como as linguagens de programação. Em muitos casos as mais tradicionais vão desaparecendo por terem cada vez menos suporte. As de mais alto nível como a Java, cada vez se podem começar a aplicar mais a este tipo de sistemas. Há já também metodologias que aplicam a automação ao código, ou seja, o designer define o sistema numa linguagem de alto nível com ferramentas que geram código automático para evitar o erro humano.
Até que ponto é que a verificação e validação de software pode ser entregue à automatização? É seguro?
Bem, completamente, eu diria que não. Não chegámos ainda a esse ponto. Como em nenhum sistema crítico será seguro recorrer apenas à automação ou à Inteligência Artificial. Na área automóvel, por exemplo, os veículos fazem cada vez mais operações automáticas em que aprendem a tomar decisões por eles próprios, mas ainda estamos longe de ter segurança e certeza de que essa é a melhor decisão. O Humano ainda é atualmente o fator principal de decisão em situações instantâneas. Portanto, na verificação eu não diria que a automatização é mais segura, mas é mais eficiente na medida em que uma verificação e validação automática trazem a possibilidade de fazer muitos mais testes com máquinas.
Já passaram 11 anos. Porque é que a última alteração do “manual” foi feita em 2008?
O ISVV é feito uma vez por cada missão feita pela ESA. Calculo que desde de 2008 o guia tenha sido aplicado em cerca de 30 missões da Agência Espacial Europeia e também noutros contextos, por exemplo, em missões do INPE (Instituto Nacional de Pesquisas Espaciais), no Brasil. A Critical Software já aplicou o guia também noutros domínios. Na altura em que criámos o guia fizemos um trabalho extensivo, não só a nível do Espaço como fora, de recolha de procedimentos, técnicas e de experiências que já havia na indústria e colocámos tudo num guia. Tentámos explicar tudo de forma simples e percetível de forma a que qualquer utilizador consiga seguir o guia e aplicar algumas das técnicas que lá estão. O guia não funciona como um documento normativo, serve, antes, como uma garantia adicional de diminuição de risco e para evitar acidentes. Estamos a falar de evitar prejuízos na ordem dos milhões de euros. Tem que haver uma base estável de funcionamento para a indústria. Mas considero que seja normal, para não dar aso a complicações, que a forma de funcionamento não altere muito ao longo dos anos.
Esta mudança foi derivada de alguma falha em específico que ocorreu?
Não, a mudança provém de um conjunto de análises que nós fizemos (muitas em conjunto com a ESA) e de um conjunto de artigos escritos por nós e que foram aceites em conferências internacionais sobre a eficácia da aplicação deste guia como ele ainda é atualmente. Começámos a pensar se seria possível melhorá-lo e em diálogo com a ESA definimos um conjunto de tópicos com mais de 20 items. Procurámos também ter feedback da restante indústria para simplificar ou melhorar alguns pontos e achamos estar prontos para partir para a mudança. A ESA decidiu colocar um contrato num programa de pesquisa chamado General Support Technology Programme e a partir de um orçamento contributivo de vários países podemos melhorar a forma como fazemos as coisas, porque já temos dados, experiência e hoje podemos fazer melhores ajustes do guia.
Houve elementos de outras áreas em que trabalham que incorporaram na atualização do guia?
Sim, há sempre dois caminhos. Por um lado aprendemos coisas com os projetos do Espaço que aplicamos noutros domínios e também fazemos o inverso. Há uma permuta. Os elementos bons que aproveitamos de outros domínios usamos para melhorar os sistemas usados no Espaço.
Este software vai ajudar nalguma missão em particular da ESA? Pode-se até falar de Marte?
Sim, aliás, neste momento o ISVV é aplicado a todas as missões. Todas as missões têm pelo menos uma parte do software que é monitorizada por uma equipa especializada em ISVV. Atualmente estamos a trabalhar em ISVV numa das missões do Sentinel (um programa da ESA que tem como foco observar diferentes aspetos do planeta Terra), mais específicamente, a fazer uma atualização de um dos satélites de observação da Terra em órbita, que fazem várias medições atmosféricas e monitorização de fogos florestais, entre outras funções.
Imaginando que alguém tem uma startup que criou um software, em média, quanto tempo demora até ser validado de acordo com as diretrizes do guia de ISVV?
Normalmente está associado à complexidade do software. Pode tratar-se de uma questão de semanas. Por exemplo, no caso das missões da ESA, que normalmente duram anos até estar operacionais, o ISVV acompanha todo o ciclo de vida do desenvolvimento destes softwares. Não quer dizer que dura anos a tempo inteiro, podem ser durante pequenos períodos. Normalmente o que é pedido a quem faça ISVV é que forneça um feedback dentro de tempo útil de forma a poder influenciar positivamente o desenvolvimento do software e serem corrigidos os erros. Estamos a falar sempre de uma questão de semanas, pois isto funciona através de pacotes de trabalho.