• Nenhum resultado encontrado

Sistemas Tolerantes a Falhas

No documento ANTONIO VIEIRA DA SILVA NETO (páginas 58-63)

2.2 CONSIDERAÇÕES GERAIS SOBRE SISTEMAS CRÍTICOS

2.2.1 Sistemas Tolerantes a Falhas

Conceitualmente, um sistema pode ser definido um conjunto ou uma combinação de partes que formam um todo complexo ou unitário (MICHAELIS, 2012). Em vista da grande generalidade de tal acepção, o vocábulo “sistema” pode ser usado em diversos contextos, entre os quais é possível destacar os sistemas biológicos que compõem o corpo humano, os sistemas de governo adotados nos países do mundo e os sistemas construídos com respaldo da Engenharia.

Todo sistema, independentemente de ser natural ou de ter sido concebido pelo homem, expõe o ambiente em que ele está inserido a alguma espécie de risco (ALMEIDA JR., 2003). Muitos sistemas de Engenharia, inclusive, são concebidos com o intuito de minimizar os riscos de outro sistema, tal como ocorre com os Sistemas de Previsão Meteorológica, que auxiliam o ser humano a prever antecipadamente a ocorrência de fenômenos naturais gerados pelo “sistema climático da Terra” para se tentar minimizar os impactos de grandes catástrofes naturais.

Grande parte dos riscos oferecidos pelos sistemas de Engenharia está relacionada às situações em que o sistema desempenha suas funções de forma inapropriada devido, por exemplo, à ocorrência de uma ou mais falhas de seus componentes. Nos denominados Sistemas Críticos, um evento de funcionamento anormal pode levar a consequências socialmente inaceitáveis, que afetam tanto os

envolvidos com o sistema quanto o ambiente no qual o sistema está inserido (VISMARI, 2007).

Para se reduzir a probabilidade de manifestação de cenários indesejados, a tolerância a falhas é uma característica recomendada para sistemas críticos. Um sistema tolerante a falhas é capaz de manter o correto desempenho de suas funcionalidades mesmo na presença de falhas de hardware e erros de software (JOHNSON, 1989). O grau de tolerância a falhas de um sistema deve ser prescrito por meio de requisitos não funcionais que quantificam os seguintes índices:

a) Confiabilidade (Reliability): A confiabilidade de um sistema, simbolizada por , é uma função do tempo definida como a probabilidade condicional de o sistema desempenhar corretamente suas funcionalidades em um intervalo de tempo [ ] considerando-se que o sistema estava plenamente operacional no instante (JOHNSON, 1989). A confiabilidade é usualmente empregada para caracterizar o grau de tolerância a falhas de sistemas que não podem ser reparados (JOHNSON, 1989), permitindo quantificar a probabilidade de um sistema estar funcionando após determinado período de operação na ausência de qualquer espécie de reparo corretivo ou preventivo.

b) Disponibilidade (Availability): A disponibilidade de um sistema, simbolizada por , é uma função do tempo definida como a probabilidade de um sistema estar operacional no instante de tempo , que representa a fração de tempo durante a qual o sistema permanece em funcionamento em relação ao tempo total de operação (JOHNSON, 1989).

Vale ressaltar que, embora aparentemente similares, a confiabilidade e a disponibilidade são conceitos diferentes: enquanto a confiabilidade avalia a probabilidade de funcionamento em um intervalo de tempo, a disponibilidade quantifica a probabilidade de funcionamento em um instante de tempo (JOHNSON, 1989). Por esse motivo, um sistema com alto índice de ocorrência de falhas (e, portanto, pouco confiável) pode apresentar elevada disponibilidade se os respectivos tempos de manutenção forem suficientemente baixos (JOHNSON, 1989).

c) Segurança Crítica (Safety): A segurança crítica de um sistema, simbolizada por , é uma função do tempo definida como a probabilidade condicional de o sistema desempenhar, em um período de tempo [ ], suas funções corretamente ou descontinuá-las sem causar mortes, danos à saúde, destruição de propriedades, perda de missão ou impactos ao meio ambiente (CAMARGO JR., 2002). Assim como no caso da confiabilidade, a função segurança crítica é definida de tal forma que o sistema esteja funcionando corretamente no instante inicial de observação ( ) (JENS, 2006).

Em sistemas críticos com relação à segurança (safety), os riscos associados às falhas inseguras, que levam o sistema a situações potencialmente perigosas, devem ser minimizados. Uma das formas de tal mitigação de riscos ser adequadamente incorporada ao projeto de sistemas críticos com relação à segurança consiste no princípio ALARP (As Low As Reasonably

Possible), preconizado na norma internacional IEC61508 e responsável pela

avaliação do balanço entre o grau de redução de um risco e o custo associado à implantação das respectivas medidas mitigatórias. De acordo com a Figura 4 (IEC, 2010), os níveis de um risco podem ser classificados em uma das três categorias a seguir:

i. Riscos Intoleráveis: Um risco é considerado intolerável quando sua

manutenção não puder ser plausivelmente justificada, exceto em casos extraordinários;

ii. Riscos Toleráveis: Um risco é dito tolerável quando mecanismos

mitigatórios mostrarem-se impraticáveis ou quando a redução do risco representar um ganho inferior ao custo necessário para tal rebaixamento;

iii. Riscos Aceitáveis: Um risco é considerado aceitável quando sua

manutenção puder ser plausivelmente justificada e quando tem pouco efeito sobre os níveis de integridade do sistema.

Figura 4 – Regiões de Risco e ALARP

Região de Riscos Intoleráveis

Região de Riscos Toleráveis ou ALARP (As Low As Reasonably

Possible)

Riscos toleráveis são unicamente mitigados se os ganhos referentes às suas respectivas reduções forem necessários

Região de Riscos Aceitáveis

Assumir riscos intoleráveis é injustificável, salvo em situações excepcionais.

Riscos considerados toleráveis apenas se as medidas mitigatórias mostrarem-se impraticáveis ou se o custo dessas ações de redução for desproporcionalmente elevado quando comparado com o ganho decorrente da mitigação.

À medida que o risco é reduzido, diminui a proporção dos custos relativos à

mitigação de forma a se garantir a observância ao critério ALARP.

É necessário monitorar continuamente os riscos aceitáveis para se garantir que os mesmos permaneçam neste nível.

Riscos Desprezíveis

Fonte: adaptado de IEC (2010)

d) Funcionabilidade (Performability): A funcionabilidade de um sistema, representada por , é uma função do tempo definida como a probabilidade de um sistema funcionar com um nível de integridade em um dado instante de tempo (JOHNSON, 1989). O nível de integridade de um sistema reflete a capacidade de o mesmo ser mantido em operação degradada, na qual uma parte de suas funcionalidades está comprometida. A característica de tolerância a falhas está diretamente relacionada à funcionabilidade por intermédio da adoção de técnicas de degradação suave (do inglês, graceful degradation) em projetos de sistemas. A degradação suave permite a um sistema reduzir automaticamente seu respectivo nível de integridade – por exemplo, mediante desligamento de componentes detectados como falhos – para que o sistema possa ser mantido parcialmente operacional com um grau de degradação aceitável para as funcionalidades mantidas (JOHNSON, 1989).

e) Manutenibilidade (Maintainability): A manutenibilidade de um sistema, simbolizada por , é uma função do tempo que indica a probabilidade de um sistema falho ser restaurado para um estado operacional em um dado período de tempo (JOHNSON, 1989). A manutenibilidade é uma característica de fundamental importância em sistemas nos quais vidas humanas, equipamentos ou o meio-ambiente podem estar expostos a riscos enquanto um procedimento de reparo é executado (JOHNSON, 1989).

Especialmente nesses casos de maior criticidade, a adoção de técnicas de diagnóstico automático no projeto de sistemas é recomendada com o intuito de se melhorar os índices de manutenibilidade (JOHNSON, 1989). Tal melhoria está relacionada ao fato de o diagnóstico automático minimizar o gasto temporal associado à determinação da origem de uma falha, que tende a ser a etapa mais custosa de um procedimento de manutenção manual (JOHNSON, 1989).

f) Testabilidade (Testability): A testabilidade pode ser definida como a habilidade de se avaliar a existência e a qualidade dos atributos de um sistema por intermédio de testes (JOHNSON, 1989). Em muitos sistemas nos quais é necessário garantir níveis elevados de confiabilidade, disponibilidade ou segurança crítica (safety), é comum utilizar testes automatizados, que são executados periodicamente com o propósito de avaliar se as funcionalidades críticas dos respectivos sistemas estão íntegras.

Com a tendência cada vez mais significativa do uso de sistemas computacionais para aplicação crítica, a adoção de testes automatizados tem se tornado mais viável. A importância dos testes automatizados torna-se ainda maior em sistemas baseados em componentes COTS (Commercial

Off-The-Shelf), que, devido às necessidades de barateamento e diminuição do

tempo de comissionamento dos projetos, passam a ser usados em funcionalidades críticas mesmo sem terem sido projetados para tal categoria de aplicação.

g) Dependabilidade (Dependability): A dependabilidade é a propriedade de um sistema que justifica a confiança de alguém nele (STOREY, 1996). A

quantificação da dependabilidade de um sistema, que reflete a qualidade de serviço por ele disponibilizada, é feita por meio dos índices de confiabilidade, disponibilidade, segurança crítica (safety), funcionabilidade, manutenibilidade e testabilidade (JOHNSON, 1989).

No documento ANTONIO VIEIRA DA SILVA NETO (páginas 58-63)