Vai alla Home Page About me Courseware Federica Living Library Federica Federica Podstudio Virtual Campus 3D Le Miniguide all'orientamento Gli eBook di Federica La Corte in Rete
 
I corsi di Ingegneria
 
Il Corso Le lezioni del Corso La Cattedra
 
Materiali di approfondimento Risorse Web Il Podcast di questa lezione

Stefano Russo » 15.Affidabilità (dependability) dei sistemi software distribuiti


Sommario

  • Introduzione
  • Concetti generali e definizioni
  • Dependability Attributes
  • Dependability Threats
  • Dependability Means

Introduzione

Ci si può fidare dei computer?

Ad oggi i sistemi informatici sono utilizzati in molteplici scenari critici sia dal punto di vista economico (business critical) sia in termini di affidabilità e sicurezza (mission critical):

  • Controllo remoto di veicoli senza conducente;
  • Controllo del traffico ferroviario;
  • Missioni aerospaziali;
  • Sistemi ed apparecchiature medicali;
  • Applicazioni di e-commerce.

Definizioni

Un SISTEMA è una qualsiasi entità in grado di interagire con altre entità (sistemi o utenti umani);

Un SERVIZIO è il comportamento del sistema percepito dall’utente. Un servizio è corretto (proper service) se è conforme alle specifiche. Qualora il servizio fornito non sia corretto si parla di failure;

L’INTERFACCIA è il confine tra il sistema e l’utente. L’interfaccia su cui viene fornito il servizio è detta service interface.


Dependability…

“…the ability to deliver service that can
justifiably be trusted” (Laprie, 2001)

“…ability to avoid service failures that
are more frequent and more severe than acceptable” (Laprie, 2004)

Dependability attributes

La Dependability è un macroattributo, ossia un 
insieme di attributi di qualità.

La Dependability è un macroattributo, ossia un insieme di attributi di qualità.


Availability

L’Availability è la disponibilità di un sistema

A=P(!Failure at t)

Un sistema è available in un certo istante se in quell’istante è in grado di fornire un servizio corretto.


Availability

L’Availability è interpretata come un valore medio, ossia come la probabilità che in un dato istante il sistema sia UP o DOWN.

Un sistema indisponibile due secondi al minuto ed uno indisponibile per un intero giorno ogni anno hanno lo stesso valore di availability!!


Reliability

La Reliability è la misura della durata dell’intervallo di tempo per cui il sistema fornisce, in maniera continuativa, un servizio corretto

R(t)=P(!Failure in (0,t))

Detta F(t) la CDF del tempo di fallimento

R(t)=1-F(t)

Reliability

	Il numero di fallimenti λ di un sistema varia nel tempo.

Il numero di fallimenti λ di un sistema varia nel tempo.


Reliability vs. Availability

Un sistema che fallisce in media una volta all’ora ma che si ripristina automaticamente in 10 ms è

  • Non molto reliable
  • Highly available (av=0.9999972)

Nines of Availability


Safety

La Safety è l’assenza di condizioni di funzionamento del sistema che possano provocare danni a persone/cose

S(t)=P(!CatastrophicFailure in (0,t))

Un fallimento è dichiarato catastrophic in base ad una valutazione soggettiva dei rischi.

Performability

La Performability è una metrica introdotta per valutare le prestazioni del sistema anche in caso di guasto.

La Performability è una metrica introdotta per valutare le prestazioni del sistema anche in caso di guasto.


Mantainability

La Mantainability è la capacità di un sistema di essere facilmente sottoposto a modifiche e riparazioni.

La Mantainability è la capacità di un sistema di essere facilmente sottoposto a modifiche e riparazioni.


Security

La Security è l’assenza di manipolazioni improprie ed accessi non autorizzati al sistema.

La Security è l'assenza di manipolazioni improprie ed accessi non autorizzati al sistema.


Metriche di dependability

Per una stima quantitativa del grado di dependability di un sistema è necessario valutare parametri specifici…

Per una stima quantitativa del grado di dependability di un sistema è necessario valutare parametri specifici...


Metriche di dependability

…utili, tra le altre cose, al calcolo dei dependability attributes.

...utili, tra le altre cose, al calcolo dei dependability attributes.


Reliability vs. Availability

Un sistema che fallisce in media una volta all’ora ma che si ripristina automaticamente in 10 ms. è

  • Non molto reliable
  • Highly available (av=0.9999972)

Dependability threats

Un sistema può fallire in ogni fase del suo ciclo di vita e per via di differenti cause:

  • guasti hardware;
  • errori in fase di progettazione hardware e/o software;
  • errati interventi di manutenzione;

e tante altre … SORGENTI DI FALLIMENTO

Faults

Un guasto (fault) è uno stato improprio dell’hardware e/o del software del sistema derivante dal guasto di un componente, da fenomeni di interferenza o da errori di progettazione.


Classificazione dei faults

I guasti possono essere classificati in diversi modi a seconda della loro natura, origine, persistenza ed intenzionalità (Avizienis, 1985).


Classificazione dei guasti

  • causa
  • persistenza
  • intenzionalità
  • origine

Classificazione dei faults in base alla causa

FAULTS

  • human faults
    • guasti derivanti da errori umani commessi sia in fase di progettazione (design faults) sia in fase di utilizzo (interaction faults) del sistema.
  • physical faults
    • guasti del sistema derivanti da problemi all’hardware, interni, oppure da cambiamenti nelle condizioni ambientali (interferenze, temperatura..), dunque esterni.

Classificazione dei faults in base alla persistenza

FAULTS

  • permanent (hard) faults
    • guasti stabili e continui nel tempo.
  • transient (soft) faults
    • guasti legati a momentanee condizioni ambientali e che scompaiono definitivamente senza la necessità di alcuna operazione di ripristino.
  • intermittent faults
    • guasti che si verificano in corrispondenza di particolari condizioni ambientali (ad es. per un certo valore del carico). Scompaiono senza alcuna azione di riparazione per poi ricomparire.

Classificazione dei faults in base all’intenzionalità

FAULTS

  • malicious faults
    • guasti introdotti deliberatamente nel sistema con la volontà di alterarne lo stato provocando una sospensione del servizio o anche di accedere ad informazioni riservate
  • non malicious faults
    • guasti introdotti inconsapevolmente all’interno del sistema.

Classificazione dei faults in base all’origine

FAULTS

  • internal faults
    • guasti riconducibili a cause interne al sistema (ad esempio l’usura di un componente)
  • external faults
    • guasti riconducibili a particolari condizioni esterne che si ripercuotono sul sistema (ad esempio interferenze o radiazioni).

Errors

Un errore è la parte dello stato di un sistema che può indurre lo stesso al fallimento ovvero a fornire un servizio non conforme alle specifiche (unproper service).
La causa di un errore è un fault.

FAULT → ERROR

È possibile che un fault generi più di un errore all’interno del sistema, in tal caso si parla di multiple related errors.

  • FAULT
    • ERROR
    • ERROR
    • ERROR
  • Contenuti protetti da Creative Commons
  • Feed RSS
  • Condividi su FriendFeed
  • Condividi su Facebook
  • Segnala su Twitter
  • Condividi su LinkedIn
Progetto "Campus Virtuale" dell'Università degli Studi di Napoli Federico II, realizzato con il cofinanziamento dell'Unione europea. Asse V - Società dell'informazione - Obiettivo Operativo 5.1 e-Government ed e-Inclusion