Software ou Borg: uma grande ameaça para uma espaçonave?

Software ou Borg: uma grande ameaça para uma espaçonave?

Sua nave realiza uma colisão inesperada - qual a confiabilidade do software para lidar com isso?

O artigo foi preparado com base nos materiais da especialista em interestelar Icarus, Donna A. Dulo, uma das principais matemáticas, cientista de software, engenheira de sistemas do Departamento de Defesa dos EUA. Leia mais sobre o Icarus Interstellar no artigo do Discovery News.

Quando sua nave espacial galopa a galáxia à velocidade da luz, você encontra um aumento pouco visível nos sensores de alcance a bordo. Quanto mais você se aproxima da fonte, mais fortes são seus fluxos, cada um deles em uma formação densa é enviado em sua direção. Na ansiedade, você e sua equipe tomam seus lugares no navio e percebem o pior: você tem que enfrentar uma grande frota de cubos de Borg e suas esferas.

Felizmente, você conseguiu afastar o navio de uma colisão séria, manobrando através de uma pequena lacuna quase imperceptível descoberta durante a preparação preliminar do plano de navegação, e o navio sai ileso. Você teve que desviar um pouco do curso, mas o navio está seguro e sua tripulação está segura agora.

Assim que você começar a calcular sua rota novamente, você descobrirá outro sinal. O módulo do sistema de suporte de vida da nave falhou devido a um erro de software que ocorreu durante uma manobra de evitação de colisão. O software danificou os sistemas de suporte de vida da equipe e você entende que a nave não consegue mais respirar nas próximas 24 horas. O sistema de backup foi indefeso e o próprio componente de hardware de backup usa os mesmos procedimentos de software. Os dispositivos de resgate permitem que 48 horas recebam ar para respirar, e as unidades móveis a bordo são fornecidas com kits de ar projetados para 8 horas de respiração.

Você envia seus melhores cientistas da computação e engenheiros de software para a sala de máquinas para diagnosticar um problema. Eles o notificam que pelo menos levará quatro dias para resolver o problema, a fim de isolar e eliminar erros em várias centenas de milhões de linhas de códigos que controlam os sistemas de suporte à vida do navio.

Sua situação é especialmente difícil agora. Você solicita um relatório de sistemas não críticos e envia urgentemente uma equipe de programadores. Agora você vai esperar, sabendo que a vida de todos os membros da tripulação está agora nas mãos da equipe de desenvolvimento de software.

O cenário descrito acima demonstra a natureza vital do software em uma longa jornada de navio. Surge uma questão natural: o que é um grande inimigo: uma flotilha de vilões do espaço ou uma fraqueza no sistema de software dos sistemas de navios?

Para aqueles familiarizados com a natureza muito complexa do sistema de software, a resposta é óbvia; Este é o software que representa o maior perigo.

Software ou Borg: uma grande ameaça para uma espaçonave?

Viajar em espaços interestelares requer um navio e tripulação auto-suficientes, o que implica decisões rápidas dos mais sérios problemas de engenharia. A complexidade exponencial e a fragilidade inerente ao software final fazem dele um dos elos mais fracos na necessidade de sobrevivência a longo prazo a bordo de um navio interestelar. Imagine uma espaçonave totalmente operacional, com centenas de milhões de linhas de código e dezenas ou até centenas de milhares de suas variáveis ​​e estados. Diagnosticar um único erro em uma linha de código é quase impossível em uma emergência, mesmo com os procedimentos de teste automatizados mais avançados. A tensão da situação em combinação com as dificuldades inerentes da lógica matemática e uma enorme quantidade de código criará tensão no trabalho até mesmo das melhores equipes de engenheiros que estão atualmente conduzindo o trabalho.

Como na situação com os borgs, onde você pensou em tudo com antecedência, fez planos de contingência e planejou rotas de evacuação, então o planejamento de segurança para o software de longo prazo da espaçonave é possível. No entanto, esse planejamento deve ocorrer durante o desenvolvimento do navio, bem como durante suas operações interestelares. A chave para o novo paradigma de engenharia é chamada de “sustentabilidade”, e isso pode ser facilmente aplicável ao desenvolvimento e desenvolvimento de software.

Na missão espacial de longo prazo, os possíveis limites do software serão desafiados, no entanto, a possibilidade de falha não será adequada para ninguém.

O software, assim como os membros da equipe que o utilizam, deve ser estável para lidar com todas as situações críticas na manutenção da segurança. O conceito de sustentabilidade como uma disciplina em engenharia emergiu em meados dos anos 2000 como uma maneira de reduzir falhas em sistemas complexos, à luz de esforços de engenharia de som. A sustentabilidade da engenharia, como um conceito de software, é capturada em como as pessoas lidam com a complexidade de um sistema de software para ter sucesso em um curto espaço de tempo, mesmo nas situações mais difíceis. A resiliência de engenharia concentra-se na capacidade do sistema de se adaptar a uma situação e condições em constante mudança, de modo que um estado positivo de controle sobre o sistema seja mantido para evitar falhas. Em combinação com a capacidade do sistema de se adaptar, as capacidades do fator humano no sistema são necessárias para uma maior adaptabilidade às condições de mudança. A combinação de sistemas homem-máquina traz uma nova abordagem à segurança, fornecendo às pessoas os elementos para obter conhecimento e antecipar processos no sistema, permitindo que eles se tornem uma parte pró-ativa da operação de segurança do próprio sistema.

Há dois aspectos da engenharia de resiliência de software: resiliência de software através do processo de desenvolvimento de segurança orientado e a atual operação em tempo real de software com uma resposta humana positiva em operações de ciclo. O programa geral funciona de acordo com o conceito de que a segurança é um valor fundamental junto com a expectativa constante de uma possível falha de software.

Assim, uma pessoa, orientando a atenção de segurança, ajuda a alterar a equação de risco no sistema de suporte de medidas, para quebrar a cadeia de falha de causalidade de software em cascata, ao mesmo tempo, reduzindo a fragilidade do sistema. O resultado é um desempenho de software mais seguro, mais viável e previsível, em colaboração com os usuários, participando da extensão total dos processos de software e da evolução.

A estabilidade dos métodos de engenharia continua a se manifestar e se concentra na redundância de software lógico, métodos de intervenção adaptativa, análise intelectual, entre muitas outras técnicas de engenharia de som. Entre as estruturas de engenharia, há um som que é justificado por um recurso humano, e os protocolos de gerenciamento operacional são projetados para se concentrar nas habilidades da tripulação de se adaptar às condições de mudança e mitigar até mesmo as emergências de software mais complexas. Através das garras dos métodos resilientes de desenvolvimento de software e da viabilidade da liderança organizacional técnica e de uma equipe focada no gerenciamento de software de emergência, o sistema complexo tem a capacidade de sobreviver a uma falha catastrófica, que ajuda a evitar uma falha total da equipe.

Em nosso exemplo, o sistema de suporte de vida de backup falhou, porque era a mesma programação do sistema principal e, portanto, na mesma situação, o backup também falhava. Um sistema mais robusto usará outro programa do pacote de software e um conjunto de algoritmos de sistema de backup para fazer o mesmo trabalho, tornando o sistema mais estável.

Um sistema tolerante a falhas, como o software, é mais modular e matematicamente comprovável, proporcionando assim formas cada vez mais viáveis ​​de adaptação, refatoração e reparo. A complexidade reduzida e o software mais padronizado e as estruturas algorítmicas fornecerão garantias adicionais para melhorar a estabilidade.

Então o homem, como elemento de um sistema sustentável, entra no jogo. Após uma falha do sistema de suporte de vida, a equipe está em serviço, trocando imediatamente o sistema por componentes de backup, nos quais um conjunto diferente de procedimentos de software, incluindo um conjunto completamente diferente de lógica matemática, flui.

Todos os membros da equipe são treinados nas nuances do hardware e software da nave, bem como nas responsabilidades de entender todos os tipos de erros computacionais e como lidar com eles. Um tempo considerável depois, o sistema de software da equipe de engenharia continua a trabalhar para reparar o mau funcionamento na cadeia lógica do conjunto principal de procedimentos de software, já que o sistema de backup funciona perfeitamente.

Software ou Borg: uma grande ameaça para uma espaçonave?

A tarefa de reparo é mais simples, já que o software é mais modular, facilmente decomposto hierarquicamente e cuidadosamente documentado em design, arquitetura e também em suas estruturas comprovadas matematicamente. A equipe é complementada por um conjunto de engenheiros de software de segundo nível que têm o desenvolvimento necessário e executam as funções secundárias da equipe e da equipe de softwares primários altamente qualificados.

O roteiro foi ensaiado com antecedência, durante o treinamento, e o jogador de cada equipe está familiarizado com sua função: codificador, verificador, matemático, testador e implementador. Em uma atividade de gerenciamento de engenharia sistematicamente organizada, um novo conjunto de lógica é desenvolvido e codificado para o sistema principal. Dentro de dois dias, ele é verificado e, eventualmente, vai para o trabalho. Após a implementação do experimento com a participação total da tripulação, o navio retornou à ordem original de batalha.

Ao aplicar a perseverança no desenvolvimento de software e na operação em tempo real da espaçonave, a tripulação pode aumentar a capacidade de sobrevivência do navio, mesmo em um momento em que surgem sérios problemas de software. Graças ao desenvolvimento e à aplicação de teorias e metodologias de ponta para o desenvolvimento de software para a sustentabilidade, o navio terá as ferramentas e a equipe treinada para realizar com segurança operações de software aprofundadas.

Os métodos de sustentabilidade também podem ser aplicados a outras formas de tecnologia, bem como às operações em navios, criando uma cultura de segurança holística que melhorará a sobrevivência geral do navio.

Assim, a sustentabilidade tornará a nave de longa duração, destinada a passar por uma galáxia com infinitas possibilidades para as gerações presentes e futuras. Mesmo quando não há chance antes do Borg. A missão da Icarus Interstellar é promover o desenvolvimento de pesquisas em naves espaciais, tanto para veículos tripulados quanto para veículos não tripulados. O software terá uma grande parte desses sistemas futuros, e a estabilidade do estudo ajudará a alcançar os objetivos finais, em primeiro lugar, para chegar às estrelas e, em seguida, mover-se entre elas, como em uma civilização interestelar.

Comentários (0)
Procurar