Dependability: Concetti base e terminologia Monica Bianchini Dipartimento di Ingegneria dell’Informazione Università degli Studi di Siena Introduzione La Dependability (garanzia di funzionamento) di un sistema di calcolo include gli attributi di affidabilità, disponibilità, sicurezza e protezione. Le linee guida che ispirano la presentazione possono essere riassunte come segue: – Ricerca di un numero ridotto di concetti capaci di esprimere gli attributi della dependability; – Dove possibile, uso di termini identici o simili a quelli generalmente usati; di regola un termine il cui significato non sia altrimenti specificato corrisponde a quanto reperibile in un qualsiasi dizionario; – Enfasi sull’integrazione (di contro alla specializzazione) delle definizioni, allo scopo di caratterizzare una classe di guasti. Definizioni di base — 1 La dependability può essere definita come la credibilità di un sistema di calcolo, ovvero il grado di fiducia che può essere ragionevolmente riposto nei servizi che esso offre. Il servizio offerto da un sistema di calcolo è rappresentato dal suo comportamento così come viene percepito dagli utenti; l'utente, umano o fisico, rappresenta un sistema distinto che interagisce con il sistema di calcolo. In dipendenza dai servizi che il sistema è chiamato a svolgere, più o meno enfasi può essere data ai vari attributi che vanno a fondersi nel concetto di dependability, ovvero la garanzia di funzionamento può essere interpretata in relazione a proprietà distinte, ma complementari, richieste al sistema. Definizioni di base — 2 In relazione alla rapidità di risposta, o prontezza d’uso, un sistema dependable (a funzionamento garantito) è rapidamente disponibile. In relazione alla continuità di servizio, un sistema dependable è affidabile. In relazione alla garanzia di evitare situazioni catastrofiche sull'ambiente, un sistema dependable è sicuro. In relazione alla prevenzione di accessi non autorizzati e/o manipolazioni di informazioni private, un sistema dependable è protetto. Una situazione di fallimento (system failure ) si verifica quando i servizi offerti non corrispondono più alle specifiche preventivamente imposte al sistema. Un errore è quella parte dello stato del sistema esposta a provocare successivi failure: un errore di servizio è un'indicazione che un guasto è in atto, ovvero il/la pregresso/causa ipotizzata di un errore è un guasto. Definizioni di base — 3 Lo sviluppo di un sistema di calcolo a funzionamento garantito presuppone l'utilizzo combinato di un insieme di metodi che sono relativi alla risoluzione delle seguenti problematiche: – Prevenzione dai guasti (fault prevention ): come possono essere prevenute le occorrenze di guasti; – Tolleranza ai guasti (fault tolerance ): come garantire un servizio che si mantenga conforme alle specifiche, nonostante i guasti; – Eliminazione del guasto (fault removal ): come ridurre l'occorrenza (numero, gravità) dei guasti; – Predizione di guasti (fault forecasting ): come stimare il numero, la frequenza di incidenza, presente e futura, e le conseguenze dei guasti. Definizioni di base — 4 Le tecniche di prevenzione e di tolleranza ai guasti garantiscono il conseguimento della dependability: come assicurare al sistema la capacità di fornire un servizio sempre fedele alle specifiche. Le tecniche per evitare/prevedere i guasti rappresentano invece la validazione della dependability: come essere ragionevolmente confidenti nella capacità del sistema di fornire un servizio secondo specifiche. La fiducia ragionevolmente riposta nella stabilità di comportamento del sistema è basata sulla valutazione del sistema, condotta primariamente in relazione agli attributi di dependability che sono pertinenti ai particolari servizi richiesti. Definizioni di base — 5 Le nozioni finora introdotte possono essere raggruppate nelle seguenti tre categorie: – Gli impedimenti alla dependability: guasti, errori, insuccessi (failure); sono circostanze indesiderabili ma, in linea di principio, non inaspettate, che sono cause/effetti di comportamenti non dependable del sistema; – I mezzi per la dependability: prevenzione dai guasti, tolleranza ai guasti, eliminazione del guasto, previsione del guasto: sono metodi e tecniche capaci di prevedere servizi degni di fiducia e acquisire confidenza progressiva nell'affidabilità del sistema; – Gli attributi della dependability: disponibilità, affidabilità, sicurezza e protezione: servono ad esprimere le caratteristiche attese del sistema ed a formalizzarne le specifiche. Dependability: impedimenti, mezzi, attributi Impedimenti Conseguimento Dependability Mezzi Validazione Attributi Fault (guasto): guasto di un componente del sistema Error (errore): stato non corretto del sistema Failure (fallimento): il sistema non fornisce più il servizio Fault prevention (prevenzione): sovradimensionamento o qualità superiore dei componenti Fault tolerance (tolleranza): metodi per fornire il servizio anche in caso di guasto Fault removal (rimozione): debugging hardware e software Fault forecasting (previsione): valutazione dei guasti inevitabili Reliability (affidabilità): sistema pronto ad essere usato Availability (disponibilità): sistema che fornisce continuità di servizio Safety: assenza di conseguenze catastrofiche Security: assenza di intrusioni La dependability — 1 In relazione ai concetti di affidabilità, disponibilità, sicurezza e protezione… – Inizialmente fu sentita l'esigenza di garantire sistemi di calcolo affidabili; – Nel momento in cui i sistemi di elaborazione sono divenuti affidabili, i loro servizi sono stati usati e richiesti su base regolare: la loro disponibilità è divenuta essenziale; – L'utilizzo di sistemi di calcolo per applicazioni critiche ha introdotto l’interesse per la sicurezza; il sistema più sicuro è spesso quello che ha maggiori limiti di utilizzo chi si occupava di sicurezza era portato a considerare l’affidabilità come un sottoproblema del problema della sicurezza; – Infine, l'avvento dei sistemi distribuiti ha esacerbato il problema della protezione. Un sistema protetto deve comunque eseguire certe funzioni; inoltre eventuali violazioni alla protezione possono risultare catastrofiche coloro che studiano la protezione dei sistemi hanno quindi sviluppato la tendenza a credere che affidabilità e sicurezza siano solo sottoproblemi del problema fondamentale della protezione. La dependability — 2 I legami fra i concetti di affidabilità, sicurezza e protezione sono molto più complessi di una semplice relazione di dipendenza. Si considerino, come esempio, le cosiddette “softbomb ” (bombe a tempo), cioè il guasto deliberatamente introdotto nel sistema di calcolo per provocare, in un momento preciso scelto dal “terrorista ”, e sotto il suo stretto controllo, un system failure, preferibilmente di conseguenze ritenute dall'utente non catastrofiche (fino a che non acquista coscienza delle cause). L’esempio lega l'affidabilità del sistema, la sua sicurezza e protezione, secondo modalità complesse che possono essere percepite in maniera diversa da utenti distinti. Comunque, l'utente non può, né deve, riporre fiducia nei servizi offerti dal sistema, che non è dependable. Funzione, comportamento, struttura e specifica del sistema — 1 Un sistema è un’entità che ha interagito o interferito, interagente o interferente, o in grado di interagire o interferire con altre entità, cioè con altri sistemi. Gli altri sistemi sono stati, sono o saranno l’ambiente del sistema considerato. Un utente del sistema è quella parte dell’ambiente che interagisce con il sistema: l’utente fornisce ingressi e/o riceve uscite dal sistema, avendo come caratteristica distintiva l’uso del servizio fornito dal sistema. La funzione di un sistema è ciò che il sistema è inteso fare. Il comportamento di un sistema è ciò che il sistema fa. La struttura del sistema è ciò che gli fa fare ciò che fa. Funzione, comportamento, struttura e specifica del sistema — 2 Un sistema, dal punto di vista strutturale, è un insieme di componenti collegati per poter interagire. Un componente è un altro sistema, che incorpora le interrelazioni dei componenti di cui è composto. In un sistema possono verificarsi variazioni strutturali causate da, o risultanti da, impedimenti alla garanzia di funzionamento. La struttura del sistema è a stati. Uno stato è una condizione di essere rispetto ad un insieme di circostanze, o di comportamenti o di strutture. Dalla sua definizione, il servizio fornito da un sistema è una astrazione del comportamento del sistema. Un sistema, in generale, esegue più di una funzione e fornisce più di un servizio. Funzione, comportamento, struttura e specifica del sistema — 3 Una funzione o servizio in tempo reale è una funzione o servizio che deve essere fornito entro intervalli di tempo dettati dall’ambiente. Un sistema in tempo reale esegue almeno una funzione in tempo reale o fornisce almeno un servizio in tempo reale. La specifica di un sistema descrive ciò che ci si aspetta che un sistema faccia in termini di… – …funzione attesa e/o servizio atteso; – …condizioni in cui, o sotto cui, essi devono essere eseguiti: ambiente, prestazioni, osservabilità, etc. La funzione e/o il servizio sono prima specificati in termini di ciò che dovrebbe essere eseguito o fornito per realizzare gli scopi primari del sistema. Quando si considerano sistemi con garanzie di sicurezza e protezione, la specifica è completata con ciò che non dovrebbe accadere. Funzione, comportamento, struttura e specifica del sistema — 4 Le specifiche possono essere… – …espresse in accordo a diversi gradi di dettaglio: specifica dei requisiti, specifica di progetto, specifica di realizzazione, etc. – …decomposte in accordo all’assenza o alla presenza di malfunzionamenti di componenti; il primo caso si riferisce al modo di operazione nominale mentre il secondo è in relazione al modo di operazione degradato, se le risorse rimanenti non sono sufficienti a fornire il servizio nominale. Un sistema può fallire rispetto mantenendosi conforme ad altre. È essenziale che le specifiche concordate fra due persone o enti sistema (progettista, costruttore, utente umano. ad alcune specifiche, del sistema vengano legali: il fornitore del venditore) ed il suo Funzione, comportamento, struttura e specifica del sistema — 5 Non si può pretendere che una specifica sia immutabile, una volta stabilita. I cambiamenti possono essere motivati dalla modifica dei requisiti del sistema: modifiche della funzione e/o del servizio, o correzione di qualche guasto. Le nozioni di funzione, di servizio e della loro specifica si applicano ugualmente ai componenti del sistema: in fase di progetto, quando si inseriscono nel sistema componenti commerciali, sia hardware che software, l’interesse del progettista può focalizzarsi sulla funzione/servizio che sono in grado di offrire, piuttosto che sulle loro caratteristiche strutturali. Gli impedimenti alla dependability: I guasti — 1 I guasti e le loro cause possono essere molto diversi; vengono classificati secondo la loro natura, origine e persistenza. La natura dei guasti porta a distinguere: – Guasti accidentali (accidental faults ), che si verificano o sono creati fortuitamente; – Guasti intenzionali (intentional faults ), che sono creati deliberatamente, eventualmente con scopi malevoli. Gli impedimenti alla dependability: I guasti — 2 L’origine dei guasti porta a distinguere: – Le cause fenomenologiche che implicano… • …Guasti fisici (phisical faults ), che sono dovuti a fenomeni fisici avversi; • …Guasti causati dall’uomo (human–made faults ), che sono dovuti all’imperfezione umana; – I confini del sistema che implicano… • …Guasti interni (internal faults ), che sono parti dello stato del sistema che, quando richiamate dall’attività di elaborazione, produrranno un errore; • …Guasti esterni (external faults ), che derivano dall’interferenza dell’ambiente fisico nel sistema (perturbazioni elettromagnetiche, radiazioni, temperatura, vibrazioni, etc.) o dall’interazione con l’ambiente umano; – La fase di creazione rispetto alla vita del sistema che implica… • …Guasti di progetto (design faults ), che derivano da imperfezioni che si verificano durante lo sviluppo del sistema o per modifiche successive; • …Guasti operativi (operational faults ), che si verificano durante l’uso del sistema. Gli impedimenti alla dependability: I guasti — 3 La persistenza dei guasti porta a distinguere: – Guasti permanenti (permanent faults ), la cui presenza non è in relazione a condizioni temporali puntuali, siano esse interne (attività di elaborazione) o esterne (ambiente); – Guasti temporanei (temporary faults ), la cui presenza è in relazione a condizioni temporali puntuali; sono pertanto rilevabili per un periodo limitato di tempo. Le violazioni alla protezione del sistema sono dovute (ma non limitate) a guasti intenzionali, che sono chiaramente causati dall’uomo; i guasti possono essere sia interni che esterni; esempi tipici sono: – Per quanto riguarda i guasti interni, l’inserimento di logica maliziosa (per es., i “cavalli di Troia” ), che sono un guasto di progetto intenzionale; – Per quel che riguarda i guasti esterni, una intrusione, che è un guasto operativo esterno. Gli impedimenti alla dependability: I guasti — 4 I guasti intenzionali possono avvantaggiarsi dei guasti accidentali; ad esempio, un’intrusione che sfrutta una breccia nella protezione causata da un guasto accidentale di progetto. Introdurre le cause fenomenologiche nel criterio di classificazione dei guasti può portare ad una definizione ricorsiva di guasto: la ricorsione termina alla causa che si intende prevenire o tollerare. Questo punto di vista è consistente con la distinzione fra guasti fisici e causati dall’uomo: un sistema di elaborazione è un oggetto fatto dall’uomo e, come tale, qualsiasi guasto che si verifichi è, in ultima analisi, causato dall’uomo, poiché rappresenta l’incapacità umana a dominare tutti i fenomeni che governano il comportamento di un sistema. Gli impedimenti alla dependability: I guasti — 5 Se la ricorsione nella definizione di guasto non viene terminata, un guasto al sistema è la conseguenza di un fallimento di un altro sistema che ha fornito o sta fornendo un servizio al sistema in oggetto. Infatti… – …un guasto di progetto deriva da un fallimento del progettista; – …un guasto fisico interno è dovuto al malfunzionamento di un componente hardware, che a sua volta è conseguenza di un errore a livello elettrico o elettronico, a sua volta originato da disordini fisico–chimici, a loro volta originati dalla produzione dell’hardware, o dai limiti della nostra conoscenza nella fisica dei semiconduttori; – …un guasto esterno fisico o causato dall’uomo è di fatto un guasto di progetto: l’incapacità di prevedere tutte le situazioni che il sistema incontrerà durante la sua vita operativa, o il rifiuto di considerare alcune di esse, ad esempio per ragioni economiche. Gli impedimenti alla dependability: I guasti — 6 Il punto di vista della persistenza temporale merita i seguenti commenti: – I guasti esterni temporali che originano dall’ambiente fisico sono spesso chiamati guasti transitori (transient faults ); – I guasti interni temporanei sono spesso chiamati guasti intermittenti (intermittent faults ); tali guasti derivano dalla presenza di combinazioni di condizioni che si verificano raramente; esempi sono • guasti “sensibili allo schema” in memorie a semiconduttore; • cambiamenti dei parametri in un componente hardware; • situazioni che si verificano quando il carico del sistema raggiunge livelli critici. – I guasti transienti sono di fatto guasti permanenti la cui condizione di attivazione non può essere riprodotta, o può verificarsi solo molto raramente. Qualunque guasto può essere considerato un guasto di progetto permanente. Le classi di guasti Guasti Origine Natura Confini del Causa sistema fenomenologica Guasti interni Persistenza Fase di creazione Guasti esterni Guasti Guasti intenzionali accidentali Guasti fisici Guasti causati dall’uomo Guasti permanenti Guasti di progetto Guasti operativi Guasti temporanei Le classi di guasti che risultano da combinazioni Natura Guasti accidentali Causa Fenomenologica Guasti intenzionali Guasti fisici Guasti causati dall’uomo Origine Confini del sistema Guasti interni Guasti esterni Fase di creazione Guasti di progetto Persistenza Guasti operativi Guasti permanenti Guasti temporanei Guasti fisici Guasti transitori Guasti intermittenti Guasti di progetto Nome Guasti di interazione Logica maliziosa Intrusioni Gli impedimenti alla dependability: Gli errori Un errore è il responsabile dell’evoluzione del sistema verso un fallimento successivo. Se un errore porterà effettivamente ad un fallimento dipende da tre fattori principali: – La composizione del sistema e la natura della ridondanza esistente: • Ridondanza intenzionale (introdotta per fornire tolleranza al guasto), che è esplicitamente intesa per prevenire che un errore conduca ad un fallimento; • Ridondanza non intenzionale (è difficile costruire un sistema che ne è privo), che può avere lo stesso risultato, non atteso, della ridondanza intenzionale. – L’attività del sistema: un errore può essere compensato prima di provocare un danno. – La definizione di un fallimento dal punto di vista dell’utente: ciò che è un fallimento per un dato utente può essere una sopportabile noia per un altro. Gli impedimenti alla dependability: I fallimenti — 1 Un sistema non può fallire, e generalmente non fallisce, sempre nello stesso modo. I modi in cui un sistema può fallire sono i suoi modi di fallimento, che possono essere caratterizzati secondo tre punti di vista: dominio, percezione da parte dell’utente del sistema e conseguenze sull’ambiente. Dal punto di vista del dominio di fallimento possono essere distinti: – Fallimenti nel valore: il valore del servizio fornito non è conforme alla specifica; – Fallimenti nel tempo: la temporizzazione della fornitura del servizio non è conforme alla specifica. Tali definizioni generali (non conformità alla specifica) si applicano a fallimenti arbitrari. Gli impedimenti alla dependability: I fallimenti — 2 Si possono fare distinzioni più sottili riguardo ai modi di fallimento nel tempo, che attestano quando un servizio è stato fornito troppo presto o troppo tardi: – Fallimento nel tempo per anticipo (early timing failures ); – Fallimento nel tempo per ritardo (early timing failures ). Una classe di fallimenti che si riferisce sia al dominio del valore che del tempo sono i fallimenti con blocco (stopping failures ): l’attività del sistema non è più percepibile dagli utenti e viene fornito un servizio a valore costante (l’ultimo valore corretto, un valore predeterminato, etc.). Un caso particolare di fallimento per blocco è il fallimento per omissione (omission failures ): non viene fornito alcun servizio. Gli impedimenti alla dependability: I fallimenti — 3 Un fallimento per omissione è un caso limite comune sia per fallimenti nel valore (valore nullo), che per fallimenti nel tempo (fallimento per ritardo infinito). Un fallimento per omissione persistente è un crash. Un sistema i cui fallimenti possono essere solamente fallimenti con blocco è un sistema fail–stop. Un sistema i cui fallimenti possono essere solamente fallimenti per omissione persistente è un sistema fail–silent. Gli impedimenti alla dependability: I fallimenti — 4 Quando un sistema ha diversi utenti, dal punto di vista della percezione del fallimento, si possono distinguere: – Fallimenti consistenti (consistent failures ): tutti gli utenti del sistema hanno la stessa percezione dei fallimenti; – Fallimenti inconsistenti (inconsistent failures ): gli utenti del sistema possono avere percezioni differenti di un dato fallimento; – I fallimenti inconsistenti sono usualmente chiamati fallimenti bizantini. Gli impedimenti alla dependability: I fallimenti — 5 La gravità del fallimento risulta dalle conseguenze dei fallimenti sull’ambiente del sistema. Esistono sistemi i cui modi di fallimento possono essere raggruppati in due classi di gravità considerevolmente differenti: – Fallimenti benigni, per cui le conseguenze sono dello stesso ordine di grandezza (in genere in termini di costo) del beneficio prodotto dal servizio fornito in assenza di fallimento; – Fallimenti catastrofici, per cui le conseguenze sono incommensurabilmente più grandi del beneficio prodotto dal servizio fornito in assenza di fallimento. Un sistema i cui fallimenti possono essere soltanto benigni è un sistema fail–safe. La criticità di un sistema è la gravità più elevata dei suoi possibili modi di fallimento. ESEMPIO I livelli di criticità accettati in avionica sono definiti come segue: – CRITICO: funzioni per le quali l’occorrenza di un qualsiasi fallimento impedisce la continuazione non pericolosa del volo e dell’atterraggio dell’aereo; – ESSENZIALE: funzioni per cui l’occorrenza di un qualsiasi fallimento riduce la capacità dell’aereo o la possibilità dell’equipaggio a fronteggiare condizioni operative avverse; – NON ESSENZIALE: funzioni per cui un fallimento non degrada significativamente la capacità dell’aereo o la capacità di azione dell’equipaggio. Patologia del guasto — 1 … Fallimento Guasto Errore Fallimento Guasto … I meccanismi di creazione e manifestazione di guasti, errori e fallimenti possono riassumersi come segue. GUASTI: – Un guasto è attivo (active ) quando produce un errore. Un guasto attivo è o un guasto interno che era in precedenza inattivo (dormant ) e che è stato attivato dal processo di elaborazione, o un guasto esterno; – La maggior parte dei guasti interni può ciclare fra lo stato attivo e lo stato inattivo; – I guasti fisici possono influenzare direttamente soltanto i componenti hardware; – I guasti causati dall’uomo possono influenzare qualsiasi componente. Patologia del guasto — 2 ERRORI: – Un errore può essere latente o rilevato. Un errore è latente (latent ) quando non è stato riconosciuto come tale; un errore è rilevato (detected ) da un algoritmo o meccanismo di rilevamento; – Un errore può scomparire prima di essere rilevato; – Un errore può propagarsi e, in generale, si propaga; propagandosi crea altri errori. FALLIMENTI: – Un fallimento si verifica quando un errore attraversa l’interfaccia sistema–utente ed influenza il servizio fornito dal sistema; – Il fallimento di un componente da luogo ad un guasto nel sistema che lo contiene e dal punto di vista degli altri componenti con cui interagisce; – I modi di fallimento del componente divengono tipi di guasto per i componenti che interagiscono con esso. Patologia del guasto — 3 ESEMPI: – Il risultato di un errore di un programmatore è un guasto (inattivo ) nel software (istruzioni o dati guasti); alla attivazione (ad es., attivando l’istruzione guasta), il guasto diviene attivo e produce un errore; se e quando il dato erroneo influenza il servizio fornito, si verifica un fallimento; – Un corto circuito che si verifica in un circuito integrato è un fallimento (rispetto alla specifica di servizio del circuito); la conseguenza è un guasto che rimarrà inattivo finché il circuito non viene utilizzato, etc.; Patologia del guasto — 4 ESEMPI: – Una perturbazione elettromagnetica di sufficiente energia è un guasto, che può: • Creare direttamente un errore, ad esempio per interferenza elettromagnetica con le cariche elettriche che circolano nei conduttori; • Creare un ulteriore guasto interno; ad esempio, se la perturbazione agisce sull’ingresso di memoria in posizione di scrittura cambiando il valore di alcune cifre binarie, questi errori rimarranno come guasti di memoria, e si manterranno inattivi finché la posizione di memoria non viene letta; – Una interazione scorretta uomo–macchina eseguita da un operatore è un guasto (dal punto di vista del sistema); il dato alterato, quando elaborato, è un errore; – Un errore di chi scrive un manuale di manutenzione o operativo può dar luogo ad un guasto nel manuale (direttive sbagliate) che rimane inattivo finché il manuale non viene consultato. Patologia del guasto — 5 I guasti causati dall’uomo possono essere accidentali o intenzionali. L’esempio relativo all’errore del programmatore e le sue conseguenze possono essere rifrasati come segue: – Una bomba logica viene creata da un programmatore malizioso; – Essa rimarrà inattiva fino a quando un evento non ne provocherà l’attivazione (presumibilmente in un momento predeterminato); – Essa introdurrà un errore che può portare ad utilizzo illecito della memoria o al rallentamento dei processi in esecuzione; – Si verificherà un rifiuto di servizio, un tipo particolare di fallimento. Patologia del guasto — 6 Un fallimento risulta spesso dall’azione combinata di diversi guasti, in particolare quando si considerino argomenti connessi alla protezione di un sistema. Un passaggio–trappola (cioè qualche mezzo per superare il controllo d’accesso) che sia inserito in un sistema di elaborazione, accidentalmente o intenzionalmente, è un guasto di progetto. Il guasto può rimanere inattivo fino a quando qualche persona maliziosa fa uso di esso per introdursi nel sistema: una connessione intrusiva è un guasto di interazione intenzionale. Quando l’intruso è connesso può deliberatamente creare un errore, ad esempio modificando il contenuto dei file (attacco all’integrità). Quando il file viene usato da un utente autorizzato, verrà influenzato il servizio, e si verificherà un fallimento. Stima dell’affidabilità — 1 Definizione di Affidabilità L’affidabilità di un sistema è la misura del tempo continuativo in cui viene fornito un servizio corretto. Definizione di Distribuzione dell’Affidabilità La distribuzione dell’affidabilità R(T) di un sistema è definita come la probabilità condizionale che il sistema funzioni correttamente nell’intervallo [t0,t], se era correttamente funzionante al tempo t0. Supponiamo di avere N componenti identici e di metterli in funzione al tempo t0. Sia Nf(t) il numero di componenti guasti al tempo t e No(t) il numero dei componenti operativi allo stesso tempo (Nf(t)+No(t)=N). Supponendo che un componente guasto rimanga guasto per sempre, la distribuzione di affidabilità dei componenti è data da R(t) = No(t)/N = No(t)/(No(t)+Nf(t)) Stima dell’affidabilità — 2 R(t) esprime la probabilità che un componente, correttamente funzionante al tempo t0, sia correttamente funzionante al tempo t. R(t) è una funzione monotona decrescente con valore iniziale 1. In modo analogo possiamo esprimere la non affidabilità (unreliability ) di un componente, denotata con F(t). F(t) = Nf(t)/N = Nf(t)/(No(t)+Nf(t)) In ogni momento, vale R(t)+F(t)=1. F(t) denota la distribuzione del tempo di fallimento del sistema. Definizione di Tasso di Fallimento Il tasso di fallimento (failure rate ) di un sistema è il numero di fallimenti nell’unità di tempo. Stima dell’affidabilità — 3 L’esperienza ha mostrato che il tasso di fallimento di un componente elettronico evolve secondo la figura a lato. Durante i primi anni di vita del componente, i fallimenti occorrono frequentemente, principalmente legati alla presenza di componenti difettosi. La parte decrescente della funzione è chiamata la regione della “infant mortality ”. La parte finale della curva (la regione wear–out ) invece rappresenta il verificarsi di fallimenti dopo che il sistema è rimasto funzionante per molto tempo. Nella regione intermedia, il tasso di fallimento è costante: è il periodo di vita utile di un componente (useful life period ). Distribuzione dell’affidabilità Tempo Stima dell’affidabilità — 4 Il tasso di fallimento è denotato dal simbolo . Normalmente, è espresso in fallimenti per ore. Se assumiamo un fallimento ogni 2000 ore di funzionamento allora = 1/2000. La funzione di distribuzione dell’affidabilità può essere riscritta come: R(t) = 1-F(t) = 1-Nf(t)/N Calcolando la derivata di R(t) nel tempo, otteniamo: dR(t)/dt = (-1/N) dNf(t)/dt da cui dNf(t)/dt = -N dR(t)/dt Stima dell’affidabilità — 5 La derivata dNf(t)/dt è il tasso istantaneo di fallimento di un componente. Al tempo t, vi sono No(t) componenti funzionanti; dividendo dNf(t)/dt per No(t), si ottiene: z(t) = (1/No(t)) dNf(t)/dt La funzione z(t) è chiamata funzione di distribuzione del fallimento nel tempo (failure rate function ). L’unità di misura per z(t) sono i fallimenti nell’unità di tempo. La relazione fra la funzione z(t) e la funzione di distribuzione dell’affidabilità è z(t) = (-N/No(t)) dR(t)/dt = (-1/R(t)) dR(t)/dt dato che N/No(t) è l’inversa della funzione R(t). Stima dell’affidabilità — 6 Il risultato è un’equazione differenziale della forma: dR(t)/dt = -z(t)R(t) che, a regime, con tasso di fallimento costante , ha soluzione R(t) = e-t La relazione esponenziale, fra la funzione di distribuzione dell’affidabilità ed il tempo, è conosciuta come legge di fallimento esponenziale, e afferma che, se il tasso di fallimento è costante, l’affidabilità varia esponenzialmente in funzione del tempo. La funzione F(t) può essere riscritta come F(t) = 1-e-t.