Differenza tra guasto, errore e fallimento in un sistema informatico
Classificazione dei guasti software
Natura dei guasti:
- Accidentali: che si verificano fortuitamente
- Intenzionali: creati con scopi malevoli
Origine dei guasti:
Cause fenomenologiche:
- Guasti fisici: dovuti a fenomeni fisici
- Guasti causati dall’uomo
Confini del sistema:
- Guasti interni: parti del sistema che producono errori
- Guasti esterni: causati dall’interferenza dell’ambiente fisico nel sistema o dall’interazione con l’uomo
Fase di creazione:
- Guasti di progetto
- Guasti operativi
Persistenza temporale:
- Guasti permanenti
- Guasti temporanei
Errori a livello fisico e software
La catena che descrive, nell’ambito dell’ingegneria del software, i guasti a livello si sistema informatico è la seguente: Guasto->errore->fallimento.
Ogni sistema è inteso in maniera ricorsiva come strutturato in componenti, fino al livello dei componenti atomici non ulteriormente scomponibili
- Un guasto di un componente nel sistema, se non gestito opportunamente può determinare uno stato erroneo detto errore.
- Errore: è uno scostamento del sistema dallo stato nominale, ed è l’effetto di un guasto, non è il guasto.
- Fallimento: si verifica se lo stato di errore non viene gestito, rappresenta la deviazione del comportamento del sistema rispetto a quello atteso secondo le specifiche.
Classificazione dei fallimenti
Il fallimento di un sistema avviene quando un errore si manifesta come deviazione dal servizio offerto. Vi sono diversi failure modes, che possono essere caratterizzati secondo tre punti di vista:
- il dominio
- la percezione del fallimento da parte degli utenti del sistema
- le conseguenze sull’ambiente
Consideriamo di seguito la classificazione relativa soltanto alle conseguenze del fallimento sull’ambiente, ossia alla gravità:
- Fallimenti benigni: le conseguenze sono dello stesso ordine di grandezza del beneficio dato dal servizio erogato in assenza di fallimento
- Fallimenti catastrofici: le conseguenze sono incommensurabilmente più grandi dei benefici prodotti dal servizio in assenza di fallimento
Fallimenti benigni
Le conseguenze sono dello stesso ordine di grandezza del beneficio dato dal servizio erogato in assenza di fallimento. Il costo del fallimento si limita alla perdita economica dovuta alla mancanza del servizio stesso. Ad esempio se un aereo non può partire per un guasto, i viaggiatori non possono raggiungere velocemente la destinazione. Sistemi fail-safe: sistemi i cui fallimenti possono essere solo benigni.
Fallimenti catastrofici
Le conseguenze sono incommensurabilmente più grandi dei benefici prodotti dal servizio in assenza di fallimento. Ad esempio se il guasto all’ aereo provoca un incidente, le conseguenze sono ovviamente diverse e meno desiderabili rispetto al in relazione alla gravità dei possibili fallimenti si identifica la criticità di un sistema. Se il fallimento di un sistema ha la potenzialità di essere catastrofico si parla di sistema critico, altrimenti si parla di sistema non critico.