close
Vai al contenuto

Dependability

Da Wikipedia, l'enciclopedia libera.

Nel campo dell'ingegneria dell'affidabilità l'affidabilità dei sistemi (in inglese tecnico dependability[1]) consiste nella capacità di un sistema di mostrarsi affidabile nei confronti degli utilizzatori. Questa caratteristica porta gli utenti a potersi "fidare" del corretto funzionamento del sistema stesso e a utilizzarlo senza particolari preoccupazioni o precauzioni.

Il concetto moderno di dependability deriva dai lavori pionieristici di Algirdas Avizienis [2], di Brian Randell [3] e di Jean Claude Laprie [4] negli anni ’70 e ’80, in particolare sul software fault-tolerance e sui modelli preliminari di affidabilità.

La dependability è una caratteristica molto importante da valutare durante la fase di progettazione dei sistemi , in particolare nell'ambito informatico. Alcuni casi in cui la dependability diventa una caratteristica fondamentale sono: i database contenenti dati sensibili, le applicazioni nelle quali una bassa dependability comporterebbe bassi introiti (ad esempio i portali web che offrono servizi a pagamento), le applicazioni critiche nelle quali una bassa dependability comporterebbe danni a cose o persone (sistemi di controllo delle centrali nucleari), ecc.

La dependability è un attributo generico derivato dalla sintesi dei seguenti attributi di sistema:

  • affidabilità (reliability): capacità del sistema di funzionare ininterrottamente senza guasti;
  • manutenibilità (maintainability): possibilità di intervenire con riparazioni o altre azioni di manutenzioni in maniera efficace e non bloccante;
  • disponibilità (availability): capacità del sistema di continuare a funzionare correttamente anche in presenza di interruzioni (è correlata con affidabilità e manutenibilità);
  • continuità di prestazioni (performability): capacità del sistema di offrire i servizi attesi nei tempi e modi prefissati;
  • incolumità (safety): capacità di non arrecare danni a cose, persone e ambiente;
  • sicurezza (security): capacità del sistema di assicurare confidenzialità (impedire la fuga di informazioni riservate permettendo l'accesso solo a utenti autorizzati) e integrità (accesso e modifica ai dati da parte degli utenti autorizzati ed esclusivamente nelle modalità previste).

Le minacce che possono violare la dependability di un sistema sono classificate in:

  • guasti: minacce di natura non prevedibile e probabilistica;
  • errori: minacce spesso di natura umana che possono danneggiare il sistema a seguito di procedure errate;
  • disastri: minacce non intenzionali a danno del sistema (come alluvioni, terremoti, ecc.);
  • attacchi: minacce intenzionali a danno del sistema (come intrusioni informatiche, vandalismo, ecc.).

La dependability di un sistema viene tipicamente raggiunta da una combinazione di tecniche che vengono classificate come appartenenti ad una selle seguenti 4 categorie:

  • fault prevention (prevenzione dei guasti): basata sulla prevenzione: il sistema implementa di default misure di sicurezza che non portano il sistema in errore;
  • fault tolerance (tolleranza ai guasti): basata sulla tolleranza: il sistema anche se cade in errore può gestirlo;
  • fault removal (rimozione dei guasti): basata sulla rimozione: il sistema se in errore può portarsi ad uno stato di reset;
  • fault forecasting (previsione dei guasti): basata sulla previsione: il sistema prevede i casi in cui può portare sé stesso in errore.
  1. A. Avizienis, J.-C. Laprie, B. Randell e C. Landwehr, Basic Concepts and Taxonomy of Dependable and Secure Computing, in IEEE Transactions on Dependable and Secure Computing, vol. 1, n. 1, 2004, pp. 11–33.
  2. A. Avizienis, The N-Version Approach to Fault-Tolerant Software, in IEEE Transactions on Software Engineering, SE-1, 1979, pp. 149–159.
  3. B. Randell, System Structure for Software Fault Tolerance, in IEEE Transactions on Software Engineering, SE-1, 1975, pp. 220–232.
  4. J.-C. Laprie, Dependability: Basic Concepts and Terminology, Springer, 1995.
  • J.-C. Laprie, Dependability: Basic Concepts and Terminology, Springer, 1995.
  • A. Avizienis, J.-C. Laprie, B. Randell, C. Landwehr, Basic Concepts and Taxonomy of Dependable and Secure Computing, IEEE Transactions on Dependable and Secure Computing, vol. 1, n. 1, 2004, pp. 11–33.
  • B. Randell, System Structure for Software Fault Tolerance, IEEE Transactions on Software Engineering, vol. SE-1, 1975, pp. 220–232.
  • A. Avizienis, Fault-Tolerant Systems, IEEE Transactions on Computers, vol. C-21, n. 12, 1972, pp. 1309–1319.
  • A. Avizienis, The N-Version Approach to Fault-Tolerant Software, IEEE Transactions on Software Engineering, 1979, pp. 149–159.
  • A. Avizienis, The Evolution of Fault-Tolerant Computing, Proceedings of the IEEE, vol. 72, n. 10, 1985, pp. 1136–1150.

Voci correlate

[modifica | modifica wikitesto]

Collegamenti esterni

[modifica | modifica wikitesto]
  Portale Informatica: accedi alle voci di Wikipedia che trattano di Informatica