Sunteți pe pagina 1din 122

FLOAREA BAICU

FIABILITATEA SISTEMELOR
INFORMATICE
(CAIET DE SEMINAR)
Cuprins

CAPITOLUL 1
Fiabilitate, defecte, erori - concepte generale
1.1. Definirea fiabilităţii, defectării, defectului
1.2. Obiective ale fiabilităţii
1.3. Ciclul de viaţă al sistemelor
1.4. Defecte, defectări, erori
1.5. Evoluţia în timp a defectelor
1.6. Tipuri de erori software
1.7. Teme de rezolvat

CAPITOLUL 2

Studiul indicatorilor de fiabilitate pentru sisteme tehnice


şi specifici software.
2.1. Funcţii specifice fiabilităţii
2.1.1. Funcţia de fiabilitate, 𝑅(𝑡)
2.1.2. Probabilitatea de defectare, 𝐹(𝑡)
2.1.3. Densitatea de probabilitate a timpului de funcţionare fără defectare, 𝑓(𝑡)
2.1.4. Rata de defectare, 𝑧(𝑡) sau (𝑡)
2.1.5. Media timpului de funcţionare până la defectare, 𝑚
2.1.6. Deviaţia standard, (𝜎) şi dispersia (𝐷)
2.1.7. Cuantila timpului de funcţionare, 𝑡∝
2.2. Indicatori pentru fiabilitatea software
2.2.1. Funcţia de fiabilitate, 𝑅(𝑡)
2.2.2. Rata de manifestare a erorilor sau densitatea de defectare, 𝑧(𝑡)
2.2.3. Cuantila timpului de execuţie, 𝑡∝
2.2.4. Numărul de erori remanente, 𝑁(𝑡)
2.2.5. Durata medie de funcţionare până la defectare
2.2.6. Indicatori indirecţi, specifici fiabilităţii previzionale a programelor
2.3. Indicatori de complexitate a sistemelor software
2.4. Teme rezolvate
2.5. Teme de rezolvat

CAPITOLUL 3
Modele matematice pentru calculul indicatorilor de
fiabilitate
3.1. Tipuri de distribuţie statistică
3.2. Calculul funcţiilor de fiabilitate specifice
3.2.1. Pentru variabile aleatoare discrete
3.2.2. Pentru variabile aleatoare continui
3.3. Distribuţia binominală
3.4. Distribuţia Poisson
3.4. Distribuţia normală (Gauss-Laplace)
3.6. Teme de rezolvat

CAPITOLUL 4
Studiul fiabilităţii sistemelor pe baza blocurilor logice de fiabilitate

4.1. Principii de bază ale modelului blocuri logice de fiabilitate


4.2 Tipuri de conexiuni în BLF
4.2.1. Sisteme de tip serie
4.2.2. Sisteme de tip paralel
4.3 Tabel de sinteză
4.4. Probleme rezolvate
4.5. Probleme de rezolvat

CAPITOLUL 5
Metoda arborilor de defectare pentru studiul fiabilităţii sistemelor
5.1. Principii de bază referitoare la arborii de defectare
5.2. Metode de analiză ale arbori de defectare
5.3. Elementele componente ale arbori de defectare
5.4. Evaluarea probabilităţii de defectare
5.5. Teme de rezolvat

CAPITOLUL 6
Calculul probabilităţilor de defectare a sistemelor complexe
prin metoda binominală
6.1. Prezentarea distribuţiei binomiale
6.2. Aplicarea metodei
6.3. Probleme

CAPITOLUL 7
Metoda lanţurilor Markov pentru fiabilitatea sistemelor
7.1. Definirea lanţului Markov
7.2. Matricea stărilor de tranziţie
7.3. Exemplu de calcul pentru matricea stărilor de tranziţie
7.4. Etapele aplicării metodei lanţurilor Markov
7.3. Exemple de aplicare al metodei

CAPITOLUL 8

Metode pentru estimarea indicatorilor de fiabilitate


8.1. Metode de estimare. Generalităţi
8.2. Metoda verosimilităţii maxime (maximum likelihood method)
8.3. Testul secvenţial al lui Wald
8.4. Probleme
CAPITOLUL 9

Testarea software
9.3. Metode de testare
9.3.1. Testarea individuala a unor unitati separate dintr-un sistem software
9.3.2. Testul de integrare
9.3.3. Testarea de validare
9.3.4. Testul de acceptare
9.3.5. Testul de sistem
9.3.6.Testarea regresivă
9.3.7.Testarea de compatibilitate
9.4. Instrumente de testare
9.5. Testarea empirică
9.6. Efectuarea testării
9.7. Indicatori de testare
9.8. Teme de studiu
CAPITOLUL 10

Modelul Jelinski-Moranda pentru fiabilitatea software

10.1. Modelul Jelinski-Moranda clasic


10.2. Modelul Jelinski-Moranda geometric
10.3. Modelul Jelinski-Moranda hibrid
10.4. Probleme propuse

CAPITOLUL 11

Probleme specifice de fiabilitate hard discurilor


11.1. Principiul de funcţionare şi componentele HDD
11.2. Scrierea şi citirea datelor pe HDD
11.3. Tipuri de defecte în HDD
11.4.Teme de studiu:

CAPITOLUL 12

Probleme specifice de fiabilitate a memoriilor


semiconductoare
12.1. Introducere
12.2. Principiul de funcţionare al memoriilor semiconductoare
12.3. Mecanismele de defectare şi erori în memoriile semiconductoare
12.4 Teme de studiu

BIBLIOGRAFIE
Capitolul 1. FIABILITATE, DEFECTE, ERORI - CONCEPTE
GENERALE
1.1. Definirea fiabiltăţii, defectării, defectului
Fiabilitatea sistemelor tehnice este definită ca fiind probabilitatea ca un
sistemul să-şi îndeplinească funcţia proiectată un interval de timp specificat, în
condiţii de utilizare prestabilite.
Matematic, fiabilitatea se exprimă cu ajutorul funcţiei de fiabilitate
(reliability function) R(t ) şi reprezintă probabilitatea ca în intervalul (0, t ) sistemul
să funcţioneze fără să apară defecte 12:
p (t )  P (t  T )  R (t ), (1.1.1)
unde:
p (t ) – probabilitatea de bună funcţionare;
t – variabila timp;
T – limita specificată a duratei de funcţionare, respectiv durata de funcţionare
până la defectare;
Atunci când ne referim la fiabilitatea unui sistem tehnic trebuie să ne referim
la toate părţile componente ale acestuia care au fiabilităţi diferite. Componentele
unui sistem tehnic pot însemna echipamente fizice, hardware, software, interfeţe,
conexiuni, operator uman, proceduri de utilizare şi nu în ultimul rând,
înfrastructura suport. Un sistem trebuie să fie echilibrat din punct de vedere al
fiabilităţii: toate componentele sale trebuie să aibă nivele de fiabilitate
comparabile, altfel cea mai nefiabilă componentă determină fiabilitatea sistemului,
ea este veriga cea mai slabă a lanţului.
Fiabilitatea unui sistem poate fi îmbunătăţită folosind diferite tehnici speciale
pe care le vom studia în capitolele următoare. Din studiile de specialitate se poate
considera că în defectarea sistemelor de calcul, defectarea hardului reprezintă un
procent de 19%, a softului 14% în timp ce factorul uman (proceduri incorecte sau
incorect aplicate) generează 49% din defectări, actele de vandalism 1%, accidente
de mediu 11%, suprasolicitarea 6%. În acestă carte ne vom ocupa de fiabilitatea
hardware şi software, de modelele care descriu defectarea acestora, metode de
evidenţiere a defectărilor, măsurare a parametrilor şi îmbunătăţirea indicatorilor de
fiabilitate.
Un sistem bine proiectat, corect realizat, minuţios verificat, judicios utilizat nu
ar trebui să prezinte defectări în funcţionare. Experienţa a arătat că şi cele mai bune
sisteme în condiţiile unei exploatări corecte nu exclud posibilitatea apariţiei unor
defecte în funcţionare.
9
1.2. Obiective ale fiabilităţii
Teoria fiabilităţii se construieşte pe baza datelor referitoare la defectarea
sistemului şi componentelor acestuia. Defectarea este procesul de pierdere a
capacităţii sistemului (sau componente ale sistemului) de a-şi realiza funcţia
proiectată.
Fiabilitatea ca ştiinţă are ca obiectiv:
- aprecierea cantitativă a comportării sistemelor în timp, ţinând seama de
influenţa pe care o exercită asupra acestora factorii interni şi externi;
- stabilirea metodelor de proiectare, dezvoltare, constructive, tehnologice şi de
exploatare pentru asigurarea, menţinerea şi creşterea fiabilităţii sistemelor şi
componentelor acestora;
- studiul defectelor şi erorilor (al cauzelor, proceselor de apariţie şi dezvoltare),
al metodelor de prevenire a apariţiei defectelor, de remediere a defectelor şi
corectare a erorilor;
- analiza fizică a defectelor;
- stabilirea modelelor şi metodelor de calcul şi prognoză a fiabilităţii pe baza
încercărilor specifice şi a urmăririi comportării în exploatare a sistemelor;
- stabilirea metodelor de selectare şi prelucrare a datelor privind fiabilitatea;
- determinarea valorilor optime a indicatorilor de fiabilitate;
- stabilirea unor măsuri corective pentru reducerea riscurilor pe parcursul
ciclului de viaţă şi îmbunătăţirea fiabilităţii.
Apectele privin managementul şi procedurarea activităţilor utilizatorilor
sistemului sunt tratate separat în ştiinţe noi de exemplu calitate, optimizare
securitate şi management inteligent.
Fiabilitatea este inseparabil legată de capacitatea sistemului de a fi repus în
funcţiune după defectare. Probabilitatea ca starea de bună funcţionare a sistemului
să fie restabilită prin operaţii adecvate desfăşurate într-un anumit interval de timp
se numeşte mentenabilitate. Ansamblul tuturor ativităţilor desfăşurate pentru a
menţine sau restabili starea de bună funcţionare se numeşte mentenanţă. Există
sisteme care în urma unor operaţii de mentenanţă pot fi aduse într-o stare de
funcţionare apropiată de cea iniţială, iar astfel de sisteme se numesc sisteme cu
restabilire sau reparabile (numite şi sisteme cu reînnoire) şi sisteme care nu mai
pot fi aduse în starea de bună funcţionare prin nici un program de mentenanţă.
Astfel de sisteme se numesc sisteme nereparabile.

1.3. Ciclul de viaţă al sistemelor


Fiabilitatea trebuie avută în vedere în întreg ciclu de viaţă al sistemului. Ciclul
de viață al oricărui sistem, inclusiv al sistemelor informatice, constă într-o
înlănţuire de etape care se succed dar se şi suprapun pe anumite perioade. În
accepţiune internaţională, etapele ciclului de viaţă ale unui sistem sunt [48]:
1. analiza necesităţii unui sistem: identificarea cerinţelor şi asteptărilor
beneficiarilor acestui sistem;
2. concepere: stabilirea funcţiilor sistemului;

10
3. proiectare/dezvoltare: realizarea proiectului pe baza cerinţelor identificate ale
beneficiarului referitoare la funcţiile sistemului, cu respectarea cerinţelor legale şi
celorlalte reglementări legale din domeniu;
4. realizare - realizarea propriu-zisă pe baza proiectului elaborat;
5. testarea - utilizând metode adecvate, inclusiv funcţionarea în condiţii
controlate/de laborator care simulează funcţionarea reală;
6. implementare, funcţionare/operare în condiţii reale/nominale;
7. verificare, testare, inclusiv validare;
8. întreţinere şi îmbunătățire, mentenanță - corectarea erorilor care au condus la
defectare, up-grade, up-date;
9. retragere.

1.4. Defecte, defectării, erori


Defectul de poate definii ca o anomalie în funcţionarea corectă a
unui sistem. Încetarea capacităţii unui sistem de a îndeplini funcţia specificată (pro-
iectată) poartă denumirea de cădere sau defectare.
Defectarea poate să însemne că cel puţin una din performanţele sistemului a
ieşit din limitele specificate. Performanţele sistemului sunt relevante faţă de o
anume aplicaţie, iar a ţine seama de toate performanţele sistemului, chiar pentru un
sistem simplu, este extrem de dificil. Defectarea poate fi rezultatul unui proces
continuu de variaţie a performanţelor sistemului sau al modificării bruşte a valorii
unei performanţe, starea de defectare aflându-se într-un raport de continuitate sau
discontinuitate faţă de starea de bună funcţionare a sistemului. Indiferent de modul
de variaţie al performanţelor sistemului, defectarea este un proces aleator. Toate
modelele matematice ale fiabilităţii sunt de tip stohastic, astfel încât previziunea
comportării viitoare a unui sistem, bazată pe cunoaşterea evoluţiei sale din trecut şi
a structurii sale, poate fi făcută numai be baza teoriilor specifice probabilităţilor, cu
un anumit nivel de încredere, cu un nivel acceptat de incertitudine.
Cauzele care pot determina defectarea pot fi datorate proiectării, fabricaţiei
şi/sau utilizării sistemului. Defectarea este provocată prin depăşirea unor stări
limită, care se manifestă sub forma ruperii unei componente, apariţiei unui
scurtcircuit sau erori în program etc., mecanismul defectării putând fi de natură
fizică, chimică sau de altă natură. Există printre specialişti şi opinia conform căreia
nu orice mică defecţiune constituie o defectare, întrucât există defecţiuni care nu
împiedică îndeplinirea funcţiilor de bază ale produsului.
Fiabilitatea software reprezintă probabilitatea ca software-ul să nu producă
defectarea unui sistem care utilizează calculatorul într-un anumit interval de timp
şi în condiţii specificate. Este legată de abilitatea softului de a rula cum și când este
necesar în momentul integrării în sistem.
Defectarea softului nu este similară cu cea a hardului, este un eveniment cauzat
de pierderea abilității de realizare a unei funcții soft în limitele specificate şi se
defineşte ca manifestarea unui defect în soft care poate împiedica realizarea
performanței cerute, face să se obţină rezultate neaşteptate în funcţionarea acestuia,
discrepanțe între valorile obţinute și cele specificate sau corecte din punct de
vedere teoretic. Defectările softului apar în mod aleatoriu în operarea sistemului și

11
pot surveni oricând în timpul ciclului de viață al sistemului. Atunci când apar sunt
sistematice și au caracteristici similare.
Un defect soft reprezintă incapacitatea unui soft de a opera din cauza erorilor.
Un defect soft rămâne latent până când este activat în anumite circumstanțe de
funcționare și în mod normal devine inactiv când aceste circumstanţe nu mai
există. Un defect soft poate cauza defectarea sistemului.
Eroarea soft este o este de obicei produsă de acțiunea greşită a unui
programator în timpul codificării sau de interpretarea greșită de către programator a
cerințelor specificației soft, traducerea incorectă (compilarea) în limbajele specifice
sau omiteri ale cerințelor în specificația de proiectare.
În mod uzual se foloseste termenul de eroare atât pentru o acţiune greşită cât şi
pentru manifestarea greşelii în program.
În domeniul programelor defectarea constă în punerea în evidenţă a unei erori
latente conţinute în program şi care nu se datorează uzurii. Datorită faptului că o
anumită configuraţie de date, care pune în evidenţă eroarea, apare după un interval
de timp aleator de testare sau utilizare, defectările software-ului pot fi tratate ca
evenimente aleatoare, care se produc de-a lungul unui interval de timp. În cazul
programelor defectarea reprezintă manifestarea unei erori prezente în program şi
care este detectată prin:
- mesaje de eroare de execuţie;
- o durată de execuţie nefinită a programului;
- obţinerea unui rezultat clar eronat, în afara domeniului.
S-a demonstrat că în timp, chiar într-un program foarte bun, elaborat la firme
mari se specialişti recunoscuţi şi minuţios verificate au apărut defecte. Prognoza
defectării unui program este afectată de două surse de incertitudine:
- variabilitatea datelor de intrare şi lipsa unei anumite legi de succesiune a
acestora;
- variabilitatea programelor care pot implementa o aceeaşi funcţie, respectiv
variabilitatea raţionamentelor pentru rezolvarea unei probleme.
Elementele esenţiale în definirea defectării software, conform IEEE (ANSI)
982.2 din 1988 [34] sunt: eroarea (error), neregula (fault, bug), defectul (defect) şi
defectarea sau căderea (failure). Legăturile dintre aceste elemente sunt prezentate
în figura 1.1.

Figura 1.1. Elementele defectării software

12
Conform standardului mai sus citat, eroarea (error) este o greşeală umană care
are drept rezultat un program incorect. Programele sunt elaborate în baza unor lungi
şiruri de raţionamente în care erorile umane sunt inevitabile. De exemplu, dacă
beneficiarul a omis o cerinţă critică atunci când a solictat elaborarea programului
(specificaţia), produsul final, deşi corect conceput, este necorespunzător.
Alte tipuri de erori sunt determinate de interpretarea greşită a unei cerinţe sau
trecerea de la proiectarea simbolică la coduri.
În urma erorii umane rezultă neregula (fault sau bug). Ea reprezintă accidentul
intern care face ca sistemul să nu funcţioneze conform aşteptărilor. Materializarea
directă a erorii umane în program este o porţiune a codului care trebuie corectată.
În exprimarea curentă se utilizează termenul de eroare atât pentru actul de a
greşi (error), cât şi pentru manifestarea lui directă în program (fault sau bug).
Neregulile cauzate de erori conduc la anomalii ale produsului software, numite
defecte (defects). Defectele se referă atât la produsul final (codul), cât şi la
produsele intermediare (cerinţele şi detalierea lor prin proiectare). Ele includ
ambiguităţi la nivelul cerinţelor, omisiuni în documentaţie, date de testare incorect
specificate etc.
Defectarea (failure) este manifestarea vizibilă a defectului prin care o unitate
funcţională a sistemului (inclusiv hardware-ul) nu-şi mai poate îndeplini funcţia
sau n-o poate îndeplini în limitele specificate.
Defectarea se produce numai atunci când un set de date de intrare activează
defectul prezent în software. Defectările reprezintă percepţia utilizatorului interesat
ca sistemul să funcţioneze indiferent de problemele rezidente în structura sa.
Erorile pot fi datorate atât producătorului cât şi utilizatorului. Utilizatorul poate
greşi când specifică cerinţele sau când operează sistemul, în timp ce producătorul
poate interpreta greşit o cerinţă sau o poate coda incorect.
Erorile umane, neregulile (faults) şi defectele (defects) din sistemul software
reprezintă cauzele evenimentelor nedorite iar defectările (failures) reprezintă
efectele. Neregulile şi defectele sunt importante din punctul de vedere al celui care
produce sau întreţine sistemul şi care-l percepe dinăuntru în afară, pornind de la
structura lui.
Monitorizarea funcţionării unui sistem de calcul implică atât partea software cât
şi partea hardware, operatorul uman şi mediul de lucru. Deseori, interacţiunile
dintre aceste părţi pot conduce la defectări chiar în absenţa unor defecte
localizabile în vreuna dintre ele. De aceea, este important să se ia în considerare
ansamblul om-maşină, format din hardware (HW), software (SW) şi personalul
utilizator, factorul uman (FU). Defectarea sistemului se poate produce din cauza
unor malfuncţionări ale software-ului chiar dacă acesta nu conţine defecte dar este
utilizat necorespunzător.

1.5. Evoluţia în timp a defectelor


Prezenţa defectărilor în diferite etape din viaţa sistemelor este diferită în
funcţie de etapa din ciclul de viaţă, de tipul şi complexitatea sistemului. La nivel
internaţional, în literatura de specialitate, pentru perioada de funcţionare este
13
unanim considerată pentru evoluţia de tip a ratei de defecte a aşa numitei curbe de
forma cadă de baie - bathroom curve prezentată în figura 1.2.
Conform acestei reprezentări în ciclul de viaţă al unui sistem se pot considera
trei perioade distincte.
Prima perioadă o constituie perioada iniţială (de mortalitate infantilă, de
rodaj, de maturizare) perioadă în care defectările au o frecvenţă ridicată.
Elementele componente care se defectează în această perioadă sunt elementele cele
mai slabe, cu vicii ascunse care se defectează chiar de la primele solicitări. După
eliminarea acestor defecţiuni iniţiale, precoce, defecţiunile se vor produce din ce în
ce mai rar. Din acest motiv, anumite echipamente se livrează consumatorilor după
o perioadă iniţială de rodare, de testare, în care are loc "punerea la punct", perioadă
în care echipamentele sunt puse în funcţiune în condiţiile nominale specificate iar
softurile se vând după ce varianta β a fost oferită liberă pe piaţă şi a fost utilizată de
mai mulţi utilizatori, care au trimis observaţii referitor la buna funcţionare. În
această perioadă caracteristicile de fiabilitate ale unui sistem se îmbunătăţesc.
Pentru dispozitivele semiconductoare aceste defectări se elimină în timpul
perioadei de ardere, prin proba numit "burn-in" realizată de producător înaintea
vânzării acestora. Pentru produsele soft o parte din erorile din perioada de
dezvoltare a codului sunt eliminate în timpul testării "variantei β" de către
utilizatori interesaţi.

Figura 1.2. Variaţia tipică în timp a ratei de defectare, curba "cadă de baie"

Perioada a II-a, perioada normală de funcţionare (de maturitate ) reprezintă


perioada principală de funcţionare, cu durata cea mai lungă. Caracteristica generală
a acestei perioade o constituie frecvenţa redusă a defectărilor şi nivelul relativ
constant al ratei de defectare. Defectări apar şi în această perioadă, ele însă nu pot
fi prevăzute. Nu trebuie făcută confuzie între aceste defecţiuni şi eventualele
înlocuiri periodice datorită uzurii care ţin de programul de mentenanţă al
sistemului.
Defectele din perioada de maturitate au un caracter accidental, aleator, în
general constant. Aceasta este perioada în care se efectuează studiile privind
fiabilitatea. Înaintea începerii unui studiu de fiabilitate este necesar să se testeze
dacă respectivul sistem se află în perioada normală de funcţionare.

14
Perioada a III-a, perioada finală (de uzură, aşa numita "bătrâneţe")
se caracterizează printr-o creştere bruscă a frecvenţei defectărilor datorită uzurii
accelerate a sistemului (degradare). În acestă perioadă caracteristicile de fiabilitate se
înrăutăţesc rapid. Pentru multe sisteme tehnice, inclusiv pentru soft, această perioadă
nu se atinge în practică, ele uzându-se moral înainte de uzură şi înlocuite cu altele cu
caracteristici superioare.
Extinderea în timp a celor trei perioade variază în funcţie de natura sistemului
studiat.

1.6. Tipuri de erori software


În timpul proiectării şi codificării se pot introduce erori care pot fi grupate în
următoarele categorii:
i. erori legate de alegerea şi descrierea algoritmului:
- algoritm incorect, sau inadecvat problemei de rezolvat;
- algoritm mai puţin performant ca precizie sau timp necesar rezolvării
problemei;
- omiterea, interpretarea greşită sau incompletă a unor părţi ale algoritmului;
- validarea incorectă şi/sau incompletă a datelor de intrare;
- inversarea răspunsurilor la un bloc de decizie etc.
ii. erori în definirea şi utilizarea datelor ce provin din variabile neiniţializate,
formate improprii de citire, contoare de capacitate insuficientă, neverificarea
datelor de intrare, aliniere/redefinire incorectă a câmpurilor, utilizarea unor cuvinte
cheie ca variabile, variabile ilegale (formate prin concatenare sau despărţite între
două linii de program);
iii. erori de calcule care pot avea ca surse:
- expresii complicate care fac posibilei eroari necontrolabile;
- conversii implicite de tip (cu eroare de conversie, rotunjire, trunchiere etc.);
- neinterceptarea cazurilor de depăşire/subdepăşire a intervalului definit etc.
iv. erori produse în tehnica de programare :
- variabile şi structuri de date globale;
- acces necontrolat la zone de memorie partajate;
- interfeţe program - subprogram nerespectate;
- pasarea constantelor ca parametri transmişi prin adresă;
- pasarea parametrilor de intrare/ieşire prin valoare;
- automodificarea programului în timpul execuţie;
- utilizarea necontrolată a mai multor limbaje cu convenţii de apel diferite etc.
v. erori produse din neatenţie situaţie în care logica de control e defectuoasă,
apar salturi în afara limitelor programului, condiţii logice compuse sau incorect
negate, neprelucrarea primei sau ultimei înregistrări, neluarea în considerare a
posibilităţii de existenţă a fişierelor goale (vide), neprelucrarea erorilor de
intrare/ieşire, depăşirea capacităţii stivei, adresare incorectă, necontrolarea
indecşilor etc.

15
vi. erori în contextul execuţiei datorate memoriei dinamice insuficiente sau
nealocată, periferice neoperaţionale, comunicare defectuoasă cu sistemul de
operare.
O mare parte din erorile menţionate mai sus depistate în faza de compilare a
programului şi sunt extrase în fişierul de ieşire, într-o formă specifică fiecărui
compilator. Tot ca erori de codificare sunt considerate şi cele detectate în faza de
editare a legăturilor.

1.7. Teme de rezolvat


1. Realizaţi un studiu pe echipe pentru identificarea unor defecte în hard si
soft pentru calculatoarele proprii şi cele din laboratorul 3.8.
2. Propuneţi un model de fişă de observaţii pentru colectarea datelor
referitoare la defectarea calculatorului personal sau pentru calculatoarele care
controlează decolările dintr-un aeroport, cauzele producerii defectelo şi modul de
evidenţiere.
3. Enumeraţi tipuri de defecte şi propuneţi un mod de clasificare a erorilor,
4. Încercaţi să găsiţi defecte pentru perioada infantilă şi cea finală pentru
softurile si hardul calculatoarelor IBM
5. Completaţi obiectivele fiabilităţii din experienţa proprie.
6. Propuneţi metode de îmbunătăţire a fiabilităţii factorului uman.
7. Exemplificaţi modul în care solicităţile afectează fiabilitatea.
7. Completaţi coloana 4 din tabelul de mai jos

16
Criteriu Defectare Forma de manifestare Exemplificări
Uzură în timp Alterare a caracteristicilor în timp, în mod natural
Greşeli de Se manifestă în perioada de început a ciclului de
proiectare sau viaţă şi se pot elimina prin teste preliminare,
Cauza
realizare rodaj, burn-in, selecţie etc.
Apar la aplicarea unor solicitări care depăşesc
Utilizare improprie
limitele specificate
Caracter temporar, tranzitoriu, uneori se
Tranzientă remediază fără intervenţia omului, atunci când
anumite condiţii de utilizare au fost modificate
Durata Intermitentă Temporară şi repetată
defecţiunii Caracter temporar de scurtă durată, determinate
Rateuri
de scurte perturbaţii; se remediază de la sine
Caracter permanent (remedierea necesită
Permanentă
reparaţie)
Primară Apar din orice motiv, dar nu ca efect al unei alte
Legăturile
(independentă) defecţiuni
dintre
Secundară Apare ca rezultat al altor defecţiuni care s-au
defecţiuni
(dependentă) produs deja
Se descoperă prin control uzual sau la punerea în
Modul de Evidentă
funcţiune a sistemului
detectare
Ascunsă Se descoperă numai prin măsurări speciale
Modificarea rapidă a caracteristicilor funcţionale
Bruscă
ale sistemului
Caracterul
Treptată sau
apariţiei Înrăutăţirea lentă a parametrilor sistemului ca
progresivă (de
urmare a uzurii şi îmbătrânirii în timp
uzură)
19
Nu împiedică exploatarea normală a sistemului,
Deranjament
Cum afectează îndeplinirea funcţiei de bază
capacitate de Depăşirea unor limite de către unul sau mai mulţi
funcţionare a Defecţiune parţială parametri, dar care permite realizarea parţială a
sistemului funcţiei proiectate
Defecţiune totală Ieşirea completă din funcţiune a sistemului
Poate provoca pierderi de vieţi omeneşti, rănire de
Critică
persoane sau pierderi materiale importante
Efecte Afectează funcţionarea sistemului la parametri
Majoră
nominali
Minoră Nu afectează funcţia principală a sistemului
Catastofică Defectarea întregului sistem
Afectează o funcţie prioritară pentru beneficiar
Severă care nu este disponibilă atunci când acesta are
Gravitate nevoie
Sistemul poate funcţiona dar cu modificări
Semnificativă
importante
Minoră Funcţia de bază a sistemului nu este afectată
Se manifestă ori de câte ori apar aceiaşi factori
Frecvenţa Sistematică
perturbatori în funcţionare
apariţiei
Întâmplătoare Nu apare ca urmare a aceloraşi cauze
Determinată de fabricaţie incorectă sau erori
Avarie grave în exploatare; necesită timp îndelungat
Volumul şi pentru restabilire
caracterul Determinate de modificări irevversibileîn
restabilirii Cădere structura sistemului; se înlătură prin înlocuirea
elementului defect
Dereglare Este afectat regimul normal de funcţionare

20
Capitolul 2. STUDIUL INDICATORILOR DE FIABILITATE
PENTRU SISTEME TEHNICE ŞI SPECIFICI SOFTWARE.

2.1. Funcţii specifice fiabilităţii


Există o serie de funcţii specifice fiabilităţii, interconectate între ele, care permit
descrierea fiabilităţii sistemelor, numite şi indicatori de fiabilitate.
Pentru sisteme tehnice în general, deci şi pentru hardware, aceşti indicatori sunt:
funcţia de fiabilitate şi cea de nonfiabilitate, distribuţia timpului de funcţionare
până la defectare, rata de defectare, media timpului de funcţionare până la
defectare, dispersia şi abaterea pătratică medie, cuantila timpului de funcţionare.
Pentru software, aceste funcţii se adaptează şi completează cu rata de
manifestare a erorilor sau densitatea de defectare, timpul de execuţie, numărul de
erori remmanente în program după o durată de testare, numărul de intrări/ieşiri pe
modul, indicatori Halstead referitori la lungimea volumul şi dificultatea
programelor, indicatori de complexitate.
În continuare vor fi prezentate funcţiile care descriu fiabilitatea sistemelor
tehnice şi interdependenţa dintre ele. Funcţiile care descriu fiabilitatea sistemului
software vor fi prezentate în detaliu în &2.2.
2.1.1 Funcţia de fiabilitate, R(t ) (Reliability), reprezintă probabilitatea ca un
sistem (sau o componentă a sistemului) să-şi îndeplinească corect funcţiile
prevăzute pe o perioadă de timp specificată, în condiţii de utilizare
prestabilite 2,18, 31, 34:
p (t )  P (t  T )  R (t ), (2.1.1)
unde:
p (t ) – probabilitatea de bună funcţionare;
t – variabila timp;
T – limita specificată a duratei de funcţionare, respectiv durata de funcţionare
până la defectare;
R(t ) – reprezintă probabilitatea ca în intervalul (0, t ) sistemul să funcţioneze
fără să apară defecte.
Funcţia de fiabilitate R (t ) are următoarele proprietăţi:
- R(0)  1 deoarece T > 0 este un eveniment sigur al experienţei;
- R(t ) este o funcţie descrescătoare;
- R(t )  0 pentru t  , evenimentul T >  fiind imposibil.
Conform teoriei probabilităţilor se consideră că probabilitatea de bună
funcţionare este egală cu 1 la momentul începerii funcţionării, t  0 al şi scade în
timp, astfel încât după un interval de timp suficient de mare (t  ) ajunge
asimptotic la 0.
Reprezentarea generală a unei astfel de funcţii este redată în figura 2.1. În
capitolul trei al acestei cărţi vom prezenta mai multe tipuri de funcţii matematice
concrete, care descriu fiabilitate sistemelor.

21
Figura 2.1. Funcţia de fiabilitate

2.1.2. Probabilitatea de defectare, F (t ) (unreliability) se defineşte cu relaţia:

F (t )  P(t  T ). (2.1.2)
F (t ) reprezintă probabilitatea de defectare a sistemului în intervalul (0, t ).
R(t ) şi F (t ) sunt funcţii complementare, funcţia F (t ) numindu-se şi funcţia
de nonfiabilitate. Matematic aceasta se scrie:

R(t )  F (t )  1. (2.1.3)

Aceste funcţii se exclud reciproc, un sistem este la un moment dat, fie funcţional
fie defect. Ele se pot uşor substitui, uneori este avantajos să discutăm despre
probabilitatea de defectare a unui sistem, prin încercările de fiabilitate se obţin în
mod uzual date despre defectele care se manifestă.
2.1.3. Densitatea de probabilitate a timpului de funcţionare fără defectare
f (t ) (probability density function), exprimă frecvenţa relativă a defectărilor într-un
interval de timp dat şi se mai numeşte lege de repartiţie sau de distribuţie statistică
a timpului de funcţionare până la defectare. Se defineşte cu relaţia:

F (t  t )  F (t ) dF (t ) dR(t )
f (t )  lim   . (2.1.4)
t  0 t dt dt

2.1.4. Rata de defectare, z (t ) sau (t ), descrie probabilitatea de defectare în


jurul unui moment dat al unui element component al unui sistem aflat în stare de
bună funcţionare până la acel moment.
Conform definiţiei probabilităţilor condiţionate se poate scrie:

F (t  t )  F (t ) f (t ) 1 dR
z (t )  lim   . (2.1.5)
t  0 R(t )  t R(t ) R(t ) dt

Această relaţie este valabilă indiferent de modul de variaţie în timp a ratei de


defectare.
Unitatea de măsură pentru rata de defectare este inversul unităţii de măsură a
timpului, h 1 . Pentru componente electronice se foloseşte unitatea de măsură FIT
(Failure In Time). 1 FIT reprezintă un defect care apare după funcţionarea unei
componente timp de 109 h sau după funcţionarea unui lot de 100 componente timp
de 107 h, sau a unui lot de 1000 componente timp de 106 h sau o altă combinaţie
între numărul de componente şi timp care ajunge la 109 37.

22
Relaţia dintre rata de defectare şi funcţia de fiabilitate rezultă din relaţia 1.1.5
scrisă sub forma:
t R
dR(t )
 z dt    R(t )
  ln R (t ). (2.1.5)
0 1

Pentru t  0  R  1.
Pentru cazul general se poate scrie:
 t 
R (t )  exp    z (t )dt . (2.1.6)
 
 0 
Rata de defectare permite o clasificare a sistemelor după tipul de uzură. Un
sistem fără uzură are rata de defectare constantă (RDC), un sistem cu uzură
pozitivă are rata de defectare pozitivă (RDP), iar un sistem cu uzură negativă are
rata de defectare negativă (RDN). Funcţia de fiabilitate are proprietăţi specifice
fiecărui tip de uzură.
2.1.5. Un alt indicator de fiabilitate este media timpului de funcţionare până
la defectare, m, care se defineşte cu ajutorul relaţiei:
  
 t 
m   t  f (t ) dt   R (t ) dt     z( ) d  dt, t  (0, ).
exp (2.1.7)
0 0 0  0 

În cazul sistemelor reparabile acest indicator devine timpul mediu între


defectări, MTBF (Median Time Between Failures), iar în cazul sistemelor
nereparabile devine MTTF (Median Time To Failures).
2.1.6. Deviaţia standard () şi dispersia (D) timpului de funcţionare se
definesc cu ajutorul relaţiilor:

D  (t  m)
2
f (t ) dt, (2.1.8)
0

 D. (2.1.9)
Aceste două mărimi indică gradul de împrăştiere sau de uniformitate a
performanţelor individuale ale unor sisteme de acelaşi tip, din punct de vedere al
fiabilităţii.
Dacă procesul de fabricare al elementelor componente ale unui sistem este
bine controlat, valorile lui D şi  vor fi mici.
2.1.7. Cuantila timpului de funcţionare, t , reprezintă timpul în care
proporţia de elemente defectate dintr-un eşantion nu depăşeşte o valoare
prestabilită . Este definit ca rădăcină a ecuaţiei:

F (t )   . (2.1.10)
t  nu depinde de timp şi poate fi interpretat ca timpul garantat de producător
până la atingerea unui anumit procent de defecte, un anumit nivel de încredere
garantat de producător.
O sinteză a funcţiilor de fiabilitate este prezentată în tabelul 2.1

23
Simbol pentru:
Nr. Valoarea estimată
Indicator Valoare Definţie UM
crt. Punc- Interval de
teoretică
tual încredere
0 1 2 3 4 5 6
Probabilitatea ca un sistem (sau o componentă a sistemului) să-şi îndeplinească
Rinf corect funcţiile prevăzute pe o perioadă de timp dată, în condiţii de utilizare
1 Funcţia de fiabilitate R(t) R̂ (t) -
Rsup specificată, respectiv :
p(t) = P(t < T)= R(t)
Funcţia de repartiie a Finf Probabilitatea ca sistemul să se defecteze în intervalul (0, t) :
2 F(t) F̂ (t) -
timpului de funcţionare Fsup F(t) = P(t≥T)
Frecvenţa relativă a defectărilor într-un interval de timp dat şi se mai numeşte lege
Densitatea de probabilitate finf de repartiţie a timpului de funcţionare până la defectare.
3
a timpului de funcţionare
f(t) fˆ (t) fsup F (t  t )  F (t ) dF (t ) dR(t ) h-1
lim  
t o t dt dt
Descrie pericolul de defectare în jurul unui moment dat al unui element component
z (t ) al unui sistem aflat în stare de bună funcţionare până la acel moment. h-1
Rata (intensitatea) de zinf
4
 (t )
ẑ (t) F (t  t )  F (t ) f (t ) 1 dR sau
defectare zsup lim   1FIT
t 0 R(t )  t R(t ) R(t ) dt
Media timpului de Valoarea medie a timpului de funcţionare (momentul centrat de ordinul 1):
funcţionare: minf    t
5
- MTTF
M m̂ msup m   t  f (t )dt   R(t )dt   exp[   z ( )]dt h
- MTBF 0 0 0 0

Momentul centrat de ordinul 2 al timpului de funcţionare:


Dispersia timpului de Dinf
6 D D̂  h2
funcţionare
 (t  m)
Dsup 2
D= f (t )dt
0
Abaterea medie pătratică a σ inf
7
timpului de funcţionare
Σ ˆ σ sup σ= D h

Timpul în care un produs funcţionează cu o anumită probabilitate 1   , sau după


care proporţia de componente defecte dintr-un lot nu depăşeşte valoarea  :
Cuantila timpului de
8
funcţionare
t tˆ t Finf
t Fsup
h
P(T  t )  

24
2.2. Indicatori pentru fiabilitatea software
O parte din indicatorii referitori la fiabilitatea software sunt similari cu cei pentru
orice sistem tehnic cum sunt funcţia de fiabilitate, de nonfiabilitate sau funcţia
densitate probabilitate a timpului de funcţionare fără defecte iar rata de defectare este
înlocuită de rata de manifestare a erorilor. Există însă şi o serie de indicatori specifici,
indirecţi ce vor fi prezentaţi mai jos.
2.2.1 Funcţia de fiabilitate, R (t ).
Reprezintă probabilitatea ca nici o eroare să nu fie activată într-un interval de lucru
precizat. În notaţia R(t , t  t ), unde t reprezintă intervalul de lucru, iar t momentul
de iniţializare al intervalului, care coincide de obicei cu sfârşitul testării. Funcţia de
nonfiabilitate este F(t), cu aeleaşi atribute ca şi la &2.1.2.
Argumentul timp din expresia funcţiei de fiabilitate poate fi uneori exprimat în
unităţi calendaristice, dar este de preferat să se considere timpul de lucru al unităţii
centrale de procesare (CPU time - Central Processing Unit time), astfel, atât t cât şi t
semnifică durate de execuţie. Uneori argumentul funcţiei de fiabilitate (t şi t ) se
exprimă în număr de rulări. Pentru t = 1, funcţia de fiabilitate reprezintă probabilitatea
unei rulări încununate de succes. De regulă, aceasta se evaluează pe baza a n rulări
anterioare în care nu s-au detectat erori.
2.2.2 Rata de manifestare a erorilor sau densitatea de defectare, z (t ).
Reprezintă probabilitatea manifestării unei erori în intervalul t raportată la
mărimea t a acestui interval.
F (t  t )  F (t )
z (t )  . (2.2.1)
t  R(t )
Rata de manifestare a erorilor, z (t ), se referă la o defectare oarecare, indiferent de
numărul ei de ordine. Unitatea de măsură pentru z (t ) este inversa unităţii de măsură a
timpului de execuţie.
Există însă şi indicatori specifici fiabilităţii software care nu-şi găsesc un
corespondent în teoria generală a fiabilităţii.
2.2.3 Cuantila timpului de execuţie, ta .
Reprezintă durata unei execuţii în care funcţia de fiabilitate are cel puţin valoarea a
după un interval de testare t. Se mai numeşte inversul funcţiei de fiabilitate, adică
durata de execuţie în care probabilitatea activării unei erori este limitată la o valoare
prescrisă egală cu 1 - a.
2.2.4 Numărul de erori remanente, N (t ), rămase în program după o durată de
testare t.
Dacă pentru t se consideră valoarea 0, indicatorul va reprezenta numărul total de
erori N = N (0) rezidente în program. Raportându-se acest număr la numărul mediu de
linii de cod (LOC), rezultă densitatea erorilor exprimată în KLOC- 1 (număr mediu de
erori la o mie de linii de cod). Pentru codul sursă se foloseste KSLOC- 1 (număr mediu
de erori la o mie de linii de cod sursă).
2.2.5 Durata medie de funcţionare până la defectare
(m = MTTF – Median Time To Failure)
Timpul mediu până la defectare se modifică după fiecare intervenţie exterioară,
astfel încât el depinde de timpul de testare, recomandându-se notaţia m (t ). Spre
deosebire de o largă clasă de sisteme pentru care durata medie până la defectare

25
coincide cu durata medie între defectări succesive (MTTF = MTBF ), în cazul
sistemelor software o asemenea egalitate este exclusă.

2.2.6. Indicatori indirecţi, specifici fiabilităţii previzionale a programelor


Majoritatea indicatorilor enumeraţi mai sus necesită ca, înainte ca ei să poată fi
evaluaţi, sistemul software să fie complet proiectat şi implementat. Pentru a evalua
nivelul de fiabilitate încă din faza de concepere, de proiectare, când se stabilesc
cerinţele, specificaţiile, se face proiectarea simbolică, fiabilitatea se calculează în
funcţie o serie de indicatori specifici care se numesc indicatori indirecţi sau chiar
numai metrici software (software metrics). Aceşti indicatori permit previzionarea
nivelului fiabilităţii software din faza de proiectare [45:
a) Numărul de intrări/ieşiri pe modul, Input/Output Number.
Descrie arhitectura programului în faza de proiectare. Simplist, un modul ar trebui
să aibă câte o intrare şi o ieşire pentru fiecare funcţie principală. Pentru a trata erorile
pot fi necesare însă puncte adiţionale de ieşire.
Utilizând acest indicator se identifică modulele care măresc timpul de execuţie prin
apelări frecvente ale altor module. Minimizarea numărului de intrări/ieşiri este o
caracteristică a programării structurate şi oferă posibilitatea de creştere a fiabilităţii
programului din faza de proiectare.
b) Indicatori Halstead.
Aceşti indicatori au fost propuşi de Maurice H. Halstead în 1977 şi permit evaluarea
dificultăţii unui anumit program, pornind de la următoarele mărimi:
– n1 – numărul de operatori distincţi din program;
– n2 – numărul operanzilor distincţi din program;
– N1 – numărul total de intervenţii în program ale operatorilor;
– N 2 – numărul total de intervenţii ale operanzilor în program;
– E – efortul făcut pentru dezvoltarea programului;
– B – numărul de nereguli (bugs, faults) din program

Operanzii pot fi de mai multe categorii, de exemplu:


IDENTIFIER: toţi identificatorii care nu sunt cuvinte rezervate,
TYPENAME: doc, docx, jpeg
TYPESPEC : cuvinte rezervate care au semnificaţii specifice,fiecărui limbaj, de
exemplu char, double, float, int, long, short, signed, unsigned, void.
CONSTANT: caractere alfanumerice, singulare sau şiruri
Operatori, de asemenea pot fi consideraţi de mai multe categorii.
Cei mai uzuali operatori sunt: ! != % %= & && || &= ( ) * *= + ++
+= , - -- -= -> . ... / /= : :: < << <<= <= = == > >= >> >>= ?
[ ] ^ ^= { } | |= ~
Există cuvinte rezervate care specifică casa de stocare, SCSPEC (storage class
specifiers): auto, extern, inlin, register, static, typedef, virtual, mtuable sau
cuvinte rezervate pentru tip, TYPE_QUAL (type qualifiers): const, friend,
volatile, sau operatori specifici limbajelor de asamblare (ASM).
Pentru C++ există o serie de cuvinte rezervate: asm, break, case, class, continue,
default, delete, do, else, enum, for, goto, if, new, operator, private, protected, public,
return, sizeof, struct, switch, this, union, while, namespace, using, try, catch, throw,
const_cast, static_cast, dynamic_cast, reinterpret_cast, typeid, template, explicit, true,
false, typename.

Cu ajutorul mărimilor de mai sus se pot calcula următorii indicatori Halstead:


1. Lungimea vocabularul programului :

26
n  n1  n2 ; (2.2.2)
2. Lungimea observată a programului :
N  N1  N 2 ; (2.2.3)
3. Lungimea estimată a programului :

N  n1 log2 n1  n2 log2 n2 ; (2.2.4)
4. Volumul programului :
V  N  log2 n; (2.2.5)
5. Dificultatea programului :
n1 N 2
D  (2.2.6)
2 n2
6. Nivelul programului :
1
NP  ; (2.2.7)
D
7. Efortul mental necesar implementării codului :
V
E  V  D; (2.2.8)
NP
8. Numărul de nereguli (Delivered Bugs) din program. Acesta se estimează
utilizând următoarea formulă empirică stabilită de Halstead:
V E2/3
B  . (2.2.9)
3000 3000
Se poate observa că prin micşorarea volumului programului, respectiv prin
scăderea efortului mental necesar implementăriii codului (a lui E ), se reduce numărul
de erori din program, deci fiabilitatea programului creşte.
9. Timpul de implementare al unui program :
E
t , (2.2.10)
S
unde S  18 numărul de operaţii elementare de comparaţii/secundă (determinat de
Halstead).
Ansamblul indicatorilor Halstead prezentaţi permite evaluarea dificultăţii
programelor care nu trebuie să depăşească un anumit prag pentru ca fiabilitatea să nu
fie periclitată. Acest prag este specific limbajului de programare folosit.

2.3. Indicatori de complexitate a sistemului software.


Există patru indicatori ai complexităţii bazaţi pe teoria grafurilor 16:
1) Complexitatea statică, Cs
Acest indicator descrie programul ca pe o reţea de module (subprograme),
interconectate care pot fi executate într-o anumită succesiune, comanda de execţie
fiind stabilită în program. Pentru calculul complexităţii se apelează la teoria grafurilor.
Fiecare modul al programului reprezintă un nod al grafului iar fiecare arc reprezintă o
apelare a modulului şi o revenire între module.
Dacă E este numărul de arce şi N este numărul de noduri ale grafului,
complexitatea statică este dată de relaţia:
Cs  E  N  1. (2.2.11)
2) Complexitatea dinamică Cd
Acest indicator ţine seama de faptul că întreruperile datorate apelărilor şi
revenirilor pot modifica, în timp, numărul de arce din graf. Ca urmare, complexitatea

27
dinamică se calculează folosind formula complexităţii statice la diferite momente de
timp:
𝐶𝑑 = 𝐶𝑠 (𝑡) (2.2.12)

O complexitate dinamică medie pe interval pune în evidenţă frecvenţele diferite de


execuţie ale modulelor şi întreruperilor în timpul execuţiei lor.
3) Complexitatea ciclomatică Cc
Se mai numeşte şi complexitate condiţională şi a fost introdusă de Thomas J.
McCabe, Sr. in 1976.
Acest indicator poate fi utilizat pentru estimarea fiabilităţii programului la nivel de
cod sursă. Programul este reprezentat printr-un graf care are ca noduri instrucţiunile
(N) şi ca arce (E) trecerile controlului de la o instrucţiune la alta. Un nod din care
pornesc mai multe arce se numeşte nod bifurcat (Splitting Nod). Numărul ieşirilor din
program este notat cu P.
Dacă SN este numărul nodurilor simplu bifurcate (în cazul nodurilor multiplu
bifurcate se consideră de că nodul intervine de mai multe ori), iar RG este numărul
regiunilor (regiunea este un domeniu mărginit de arce, care nu se intersectează),
complexitatea ciclomatică poate fi evaluată în 3 moduri (evaluări echivalente):
Cc  E  N  P (2.2.13)
Pentru programe care au o singură ieşire, cum este cazul celor mai multe programe
si subprograme 𝑃 = 1 iar Cc  E  N  1 ca în cazul complexităţii statice;
Cc  RG (numărul de regiuni); (2.2.14)
Cc  SN  1 (numărul de noduri bifurcate + 1). (2.2.15)
O valoare rezonabilă pentru Cc este considerată 100.
Pentru programele care au mai multe ieşiri:
Cc  D  P  2 (2.2.16)
unde D reprezintă numărul de puncte de decizie.
4) Complexitatea statică generalizată, Cg
Acest indicator consideră, alături de modulele interconectate - N, resursele - K (de
memorie, de timp) alocate atunci când controlul rulării programului trece de la un
modul la altul.
Fie matricea resurselor R(K, E ) care în teoria grafurilor se numeşte matricea de
adiacenţă, ce are elementele rik egale cu 1 dacă resursa k este necesară pe arcul i şi 0
– în caz contrar, unde: k  1, 2, ..., K şi i  1, 2, ..., E.
Complexitatea statică generalizată este dată de relaţia:
E E K
C g   ci   d k  rik , (2.2.15)
i 1 i 1 k 1

unde: ci este complexitatea legată de apelarea şi revenirea pe arcul ei , i  1, 2, ..., E;


d k - o măsură a complexităţii asociate cu alocarea resursei k (de exemplu
complexitatea asociată procedurii folosite pentru a avea acces exclusiv la date
comune, necesară pe arcul i);
rik - elementele matricei resurselor.
Cei patru indicatori de complexitate pot fi calculaţi pentru grafuri conectate, adică
acele grafuri în care orice nod este accesibil din oricare alt nod. Acest lucru se poate
realiza, adăugând un arc suplimentar între modulul de intrare şi modulul de ieşire.

2.4. Teme rezolvate

28
1. Studiaţi interdependenţa dintre funcţiile specifice fiabilităţii, realixând un
grafic cu exemplificarea relaţiei dintre funcţiile R(t), F(t), f(t) şi z(t) şi un tabel

Relaţia dintre funcţiile R(t), F(t), f(t) şi z(t) este prezentată sintetic în figura 2.4.1
şi în tabelul 2.2, (fără a ţine seama de o anumită formă a funcţiei f(t)):

Figura 2.4.1. Relaţiile între funcţiile specifice fiabilităţii


Tabelul 2.2
F (t ) R(t ) f (t ) z (t )
 t 
1  exp  z ( ) d 
t
F (t ) 1 1  R(t )  f ( ) d  0 
0


 t 
R(t ) 1  F (t ) 1   f ( ) d exp  z ( ) d 
 0 
t
dF (t ) dR(t )
f (t )  1 z (t )  R(t )
dt dt
f (t ) f (t )
1 dF (t ) 
1 dR(t ) 
z (t ) R(t ) dt R(t ) 1
1  F (t ) dt  f ( )d
t

Dacă se consideră z(t )    constant, relaţiile între funcţiile specifice de fiabilitate se


simplifică astfel:

R (t )  exp (  t ),
f (t )    exp   t ,

1
m   exp (  t ) dt  .
0

2.4.2. Calculaţi indicatorii Halstead pentru segmentul de program (în C)
pentru care vom identifica operatorii, operanzii, numărul de intervenţii şi vom
calcula indicatorii de complexitate Halstead:
main()
{
int a, b, c, avg;
scanf("%d %d %d",&a, &b, &c);

29
avg = (a + b + c) /3;
printf ("avg = %d",avg);
}

Operatorii distincţi din program sunt:


main, (), {}, int, scanf, &, =, +, /, printf, adică n1 = 10
Operanzi sunt: a, b, c, avg, "%d %d %d", 3, "avg = %d" din care distincţi
sunt : a, b, c, avg, "%d, 3 =, adică n2=7
Numărul total de intervenţii ale operatorilor este N1=16;
Numărul total de intervenţii ale operanzilor în program este N2=15,

Indicatori Halstead calculaţi sunt:


1. Lungimea vocabularul programului:
n  n1  n2  10  7  17;

2. Lungimea observată a programului:

N  N1  N2  16  15  31;

3. Lungimea estimată a programului:


N  n1 log 2 n1  n2 log 2 n2  10  log 2 10  7  log 2 7  52,9;

4. Volumul programului:
V  N  log 2 n  31  log 2 17  126,7

5. Dificultatea programului:

n1 N 2 10 15
D     10,7; (2.2.6)
2 n2 2 7

6. Nivelul programului:
1
NP  ; (2.2.7)
D

7. Efortul mental necesar implementării codului:

V
E  V  D  10,7  126,7  1.3557; (2.2.8)
NP

8. Numărul de nereguli (Delivered Bugs) din program:


2
V E 2 / 3 1,3557 3
B    0,04
3000 3000 3000

9. Timpul de implementare al unui program:

30
E 1,3557
T    75,3s
S 18

2.4.3. Calculaţi indicatorii Halstead pentru datele de intrare din coloana 1 a


tabelului de mai jos, folosind relaţiile dela punctul 2.2.6.

Date de intrare Vocabularul Lungimea Dificultatea Nivelul


programului observată a programului programului
programului
n1=10; n2=10 I=10+10=20 L=10+10=20 D=10/10∙10/2=5 NP=1/5=0,2
N1=10; N2=10
n1=100; n2=10 l=100+10=110 L=10+10=20 D=100/10∙10/2=50 NP=1/50=0,02
N1=10; N2=10
n1=10; n2=100 l=10+100=110 L=10+10=20 D=10/100∙10/2=0,5 NP=1/0,5=2
N1=10; N2=10
n1=10; n2=10 l=10+10=20 L=100+10=110 D=10/10∙10/2=5 NP=1/5=0,2
N1=100; N2=10
n1=100; n2=10 l=100+10=110 L=100+10=110 D=100/10∙10/2=50 NP=1/50=0,02
N1=100; N2=10
n1=10; n2=100 l=10+100=110 L=100+10=110 D=10/100∙10/2=0,1 NP=1/0,1=10
N1=100; N2=10
n1=10; n2=10 l=10+10=20 L=10+100=110 D=10/10∙100/2=50 NP=1/50=0,02
N1=10; N2=100
n1=100; n2=10 l=100+10=110 L=10+100=110 D=100/10∙100/2=500 NP=1/500=0,002
N1=10; N2=100
n1=10; n2=100 l=10+100=110 L=10+100=110 D=10/100∙100/2=5 NP=1/5=0,2
N1=10; N2=100

2.4.4. Să se calculeze indicatorii de complexitate pentru un graf conectat cu 5 noduri


şi 6 arce de forma celui din figura 2.5.2.

Figura 2.4.2. Graf conectat cu 5 noduri şi 6 arce

Nr. noduri 𝑁 = 5
Nr. arce 𝐸 = 6
Nr. regiuni 𝑅𝐺 = 2
Nr. noduri bifurcate 𝑆𝑁 = 1 (nod 5)
𝑀𝐴 = matricea de adiacentă numită şi matricea resurselor are factori 𝑟𝑖𝑗 unde
𝑟𝑖𝑗 = 0 dacă 𝑖 nu este legat de 𝑗
𝑟𝑖𝑗 = 1 dacă 𝑖 este legat de 𝑗 (cu săgeată)
Drumuri I 12354
II 5435123

31
0 1 0 0 0
0 0 1 0 0
0 0 0 0 1
0 0 1 0 0
(1 0 0 1 0)
Numărul valorilor de 1 din matrice este egal cu numărul arcelor; Numărul de linii
şi coloane egal cu numărul nodurilor
𝐶𝑠 = 𝐸 − 𝑁 + 1 = 6 − 5 + 1 = 2
𝐶𝑐 = 𝑅𝐺 = 2
𝑆𝑃 + 1 = 2
6 6 5
C g   ci  d k  rik ,
i 1 i 1 k 1

Cel de-al doilea termen al relaţiei este:


𝑑2 𝑟12 + 𝑑3 𝑟23 + 𝑑4 𝑟34 + 𝑑5 𝑟35 + 𝑑5 𝑟45 + 𝑑1 𝑟51 ′
= 1∙1+1∙1+1∙1+2∙1+2∙1+1∙1= 8
ci este complexitatea legată de apelarea şi revenirea pe arcul ei , în cazul nostru
pentru că nu se revine pe nici un arc, putem considera că ci =1 şi atunci
C g  6  8  14.

2.6. Teme de rezolvat


1. Realizaţi în formă de tabel o sinteză a indicatorilor generali de fiabilitate,
simboluri, definiţii matematice unităţi de măsură şi interdependenţa lor.
2. Calculaţi complexităţile următorului graf:

32
Capitolul 3. MODELE MATEMATICE PENTRU CALCULUL
INDICATORILOR DE FIABILITATE.

3.1. Tipuri de distribuţie statistică


Descrierea fiabilităţii sistemelor prin intermediul unei legi de distribuţie şi a
caracteristicilor numerice aferente constituie o abordare statistică a fiabilităţii.
Legile de distribuţie studiate în statistica matematică sunt adoptate în teoria
fiabilităţii în măsura în care ele implică o funcţie de fiabilitate de formă adecvată
căreia să i se poată asocia o anumită interpretare fizică.
Dacă variabila aleatoare ia un număr finit de valori discrete t1 , t2 , ..., tn cu pro-
babilităţile p1 , p2 ,..., pn , distribuţia statistică se poate nota schematic astfel:
t t2 ... tk 
T  1 . (3.1.1)
 p1 p2 ... pk 

Dacă pi este probabilitatea de realizare a evenimentului i, iar probabilitatea de


nerealizare a evenimentului i este qi , legătura dintre aceste două probabilităţi este
de complementaritate, adică:
pi  qi 1. (3.1.2)
Pentru o distribuţie discretă, funcţia de distribuţie are expresia:
k
F (t )  P(T  t )   p(t ),
i 1
i (3.1.3)

unde p(ti ) este probabilitatea ca variabila aleatoare să ia valoarea ti .

3.2. Calculul funcţiilor de fiabilitate specifice

3.2.1. Pentru variabile aleatoare discrete

Valoarea medie a variabilei aleatoare discrete este, prin definiţie:

33
k
m  M (T )  T   pi ti . (3.2.1)
i 1

Dispersia variabilei T se defineşte prin relaţia:

 
k
D(T )   2  M (T  M (T )) 2   pi (ti  m) 2 . (3.2.2)
i 1

3.2.2. Pentru variabile aleatoare continui

Valoarea medie a unei variabile aleatoare continui se defineşte prin relaţia:



m  M (T )  t  f (t ) dt.

(3.2.3)

Dispersia unei variabile aleatoare continui este definită prin relaţia:



D    (t  m) 2 f (t ) dt.
2
(3.2.4)


O formulă practică de calcul a dispersiei este:


D(T )  M 2  M1 , (3.2.4)
unde:
M1  m  M (T ) valoarea mediei sau momentul centrat de ordinul 1,
M 2 – momentul centrat de ordinul 2.
Momentul centrat de ordinul r se calculează cu formulele:
n
M r   (ti  m) r f (ti ) pentru variabile discrete, (3.2.5)
i 1

sau


M r  (t  m) r f (t )dt pentru variabile continui.

(3.2.6)

Pentru r = 1 se obţine momentul de ordinul 1, iar pentru r  2 se obţine


momentul de ordinul 2.

3. 3. Distribuţia binomială (Bernoulli)

Probabilitatea ca evenimentul A să se producă de k ori este:

P( Ak )  Pn (k )  Cnk p k q n  k (3.3.1)
iar distribuţia variabilei aleatoare va avea următorul tablou:

34
0 1 ... k ... n
. (3.3.2)
q n
Cn1 pqn 1 ... Cnk k
p q nk
... p n

Se observă că probabilităţile Pn (k ) sunt tocmai termenii dezvoltării binomului


( p  q) n , de unde denumirea de distribuţie binomială.
Valoarea medie este, conform definiţiei:
n
m  kC
k 1
k
n p k q n  k  np. (3.3.3)

Pentru a efectua calculul se ţine seama de identitatea:


n
( pt  q) n   Cnk p k t k q n k . (3.3.4)
k 0

Dacă derivăm relaţia (3.3.4) în raport cu t, se obţine:


n
np ( pt  q) n1   k Cnk p k t k 1q nk . (3.3.5)
k 0

Dacă se alege t = 1 şi se ţine seama că p + q = 1, relaţia (3.3.5) devine:


n

k C
k 0
k
n p k q n  k  np  m  np. (3.3.6)

Dispersia se calculează utilizând relaţia (3.2.4). Pentru a calcula valoarea


momentului de ordinul 2 se utilizează relaţia (3.2.5), procedând în mod asemănător
ca la calculul valorii medii:

D   2  npq  np(1  p). (3.3.7)


Densitatea de distribuţie a distribuţiei binomiale este dată de probabilitatea
realizării evenimentului A de k ori şi are un singur parametru, pe k :

f (t; k )  Pn (k )  Cnk p k q n  k . (3.3.8)


Funcţia de distibuţie este dată de relaţia:
n n
F (t; k )   f (t; p)   C
k 0 k 0
k
n pk qnk . (3.3.9)

Ţinând seama de formula lui Stirling:

n! nne n 2n eun  nne n 2n , (3.3.10)

1
unde 0  n  ; cele două funcţii (densitatea de distribuţie şi funcţia de
12n
distribuţie) se pot scrie:
n!
f (t; k )  Cnk p k q n  k  pk qnk , (3.3.11)
k !(n  k )!

35
x n

 
n! n!
F (t; k )  pk qnk  p k (1  p)n  k . (3.3.12)
k  0 k!(n  k )! k  0 k!(n  k )!

3.4. Distribuţia Poisson


Dacă o variabilă ia valori discrete, respectiv 0, 1, 2, 3, ..., k, atunci pro-
babilitatea ca variabila să ia valoarea k este de forma:
ak  a
P(T  k ; a)  e , (3.4.1)
k!
atunci variabila discretă are distribuţia Poisson.
Parametrul a se numeşte parametrul distribuţiei Poison.
Tabloul distribuţiei acestei variabile este:

 0 1 2 3 ... k ..... 
 2 3 
 e  a a e  a a e  a a e  a ... a e  a .... . (3.4.2)
 1! 2! 3! k! 
Densitatea de distribuţie depinde de un singur parametru, a, şi are forma:
ak  a
f (t ; a)  e . (3.4.3)
k!
Funcţia de distribuţie corespunzătoare are expresia:
ak a
t
F (t; a)  
k  0 k!
e . (3.4.4)

Valoarea medie se calculează cu formula de definiţie (3.1.4):



ak a
m 
k 0
k
k!
e  a e  a  ea  a. (3.4.5)

Dispersia se calculează cu următoarea formulă:

D  M (T 2 )  M (T ) 2  k
a a
2
e  a2 
k!

 ea (a 2ea  aea )  a 2  a 2  a  a 2  a. (3.4.6)

După cum se poate observa, atât valoarea medie cât şi dispersia au valori egale
cu parametrul distribuţiei.

3.5. Distribuţia normală (Gauss-Laplace)


Variabila aleatoare continuă, T, are o distribuţie normală de parametri m şi ,
dacă densitatea sa de distribuţie este de forma:

36
( t m ) 2
1 
f (t; m,  )  e 2 2 .
(3.5.1)
 2
unde t  0 şi   0.
Graficul funcţiei f (t; m,  ) este dat în figura 3.4, depinde de doi parametri, m
şi , şi are următoarele proprietăţi:

Figura 3.4. Variaţia în timp a densităţii de repartiţie f (t )


în cazul distribuţiei normale
– este simetrică faţă de axa t = m :
( m   m ) 2 2
1  1 
f (m   ; m,  )  2 2  e 2 ,
2
e (3.5.2)
 2  2
( m   m ) 2 2
1  1 
f (m   ; m,  )  2 2  e 2 ;
2
e (3.5.2)
 2  2
– are un maxim pentru t = m a cărui valoare este:
1
f (m; m,  )  ; (3.5.3)
 2
– punctele t m   sunt puncte de inflexiune.
În aceste puncte valoarea funcţiei este:
1
1 
f (m   ; m,  )  e 2. (3.5.4)
 2
Între limitele m +  şi m –  se încadrează 63,27% din valorile statistice.
Indiferent de valorile parametrilor m şi  graficul acestei funcţii are forma de
clopot (clopotul lui Gauss ).
Parametrul m defineşte axa de simetrie, iar  stabileşte înălţimea graficului în
punctul de maxim. Cu cât  este mai mic, cu atât ordonata punctului de maxim al
curbei este mai mare, clopotul este mai înalt, dispersia (împrăştierea) valorilor
variabilelor aleatoare este mai mică.

37
Funcţia de repartiţie a unei variabile cu distribuţie aleatoare normală,
T, este:
t t (  m ) 2
1 1 
F (T )  P(T  t ) 
 2  f ( ) d 
0  2
e
0
2 2
d  F (t; m,  ). (3.5.5)

Graficul acestei funcţii este dat în figura 3.6.

Figura 3.6. Funcţia distribuţiei normale

3.6.Teme de rezolvat

1. Să se calculeze valoarea medie şi dispersia variabilei T care este o


variabilă aleatoare discret, pentru o funcţie discretă de o singură variabilă,
aleasă;
2. Să se calculeze valoarea medie şi dispersia variabilei T pentru o variabilă
aleatoare continuă, pentru o funcţie continuă de o singură variabilă,oarecare,
aleasă
3. Să se calculeze valoarea medie şi dispersia pentru distribuţia Bernouli
100 200 350 700 
definită de tablolu T   .
 0,2 0,3 0,1 0,4 
4. Să se reprezinte graficele unor funcţii Gauss f (t ; m, ) pentru
a) aceeaşi valoare a lui  şi pentru trei valori diferite ale lui m
b) pentru aceeaşi valoare a lui m şi trei valori diferite ale lui 

5. Să se studieze distribuţia normală normată, calculând valoarea medie şi


dispersia apelând la schimbare de variabilă în distribuţia Gauss.

t (  m ) 2
1 
Dacă în relaţia F (t , m; )  e 2 2
d se face o schimbare de
 2 0

t m
variabilă, numită variabila aleatoare normată de forma u  , din care rezultă

38
că t =   u + m iar d t = d u , se obţine funcţia de distribuţie a variabilei
aleatoare normale normate, numită şi legea normală normată sau repartiţia nor-
mală redusă (repartiţie standard )care se scrie:
t m t m t m
 u2  u2 
1  1 
F (u; 0, 1) 
 2 
0
e 2  du 
2

0
e 2
du   N (u; 0, 1) du,
0
u2
1 
unde N (u; 0, 1) este funcţia , care corespunde valorilor m=0 şi  =1
e 2
2
Densitatea de distribuţie a repartiţiei normale normate este de forma:
u2
1 
f (u; 0, 1)  e 2 .
2
Reprezentarea densităţii de probabilitate a distribuţiei normale normată este
dată în figura de mai jos pentru t  (– , ); Valoarea maximă a acestei funcţii se
obţine în punctul m = 0, şi este 1/ 2  0,3989).

Densitatea de probabilitate a distribuţiei normale normate

Media unei variabile cu distribuţie normală este dată de relaţia:


 (t  m) 2
1 


M (T )  t

 2
e 2 2 dt.

Pentru a calcula valoarea mediei se recurge la o schimbare de variabilă:

t m
 y  t  y  m  dt  dy.

Cu această schimbare de variabilă se obţine:

39
  y2 y2
m  y 
u2
m    
M (T )  

2
e 2 dy 
2
e

2
dy 
2
 ye

2
dy.


1


y2 
1


y2   y2 
Dar
2 e

2 dy 



N ( y; 0, 1) 1, şi
2  
y e 2 dy   e 2   0, deci


M (T )  m. Dispersia este dată de relaţia:
 (t  m ) 2
(t  m) 2 
D(T ) 

 2 e 2 2 dt   2 .


2
y e y dy.
2
Apelând la aceeaşi schimbare de variabilă, se poate scrie: D(T ) 
2

2 

Pentru a calcula integrala se face o integrare prin părţi, luând


y y2
1  1 
u y, v  ye 2 , respectiv u '  si ve 2 .
2 2

 1 
y2 
2


y2
D(T )    ye 2   e
2 2 dy.
 2  2 


 y2 
y 1 
Dacă se ţine seama că lim
y   
y2
 0 şi 

2
e 2

dy  N ( y; 0, 1) dy 1,

e 2

se obţine dispersia:

D(T )   2 ,

40
Capitolul 4. STUDIUL FIABILITĂŢII SISTEMELOR
PE BAZA BLOCURILOR LOGICE DE FIABILITATE

4.1. Principii de bază ale modelului blocuri logice de fiabilitate


Buna funcţionare a unui sistem complex este consecinţa funcţionării corecte a
tuturor subansamblelor componente. La rândul lor subansamblele se compun din
blocuri, module ş.a.m.d. până când procesul de divizare identifică componentele,
elementele de legătură, reperele şi toate celelalte elemente, care determină
funcţionarea corectă şi fiabilitatea sistemului.
Fiabilitatea sistemului depinde de fiabilitatea tuturor elementelor componente
(sau subsistemelor), de legăturile cauzale stabilite între ele şi de mediul în care
funcţionează. Dacă un element se defectează, funcţionarea sistemului este afectată
total sau parţial .
Funcţia de fiabilitate a unui sistemul complex se calculează în funcţie de
fiabilitatea componentelor sale. Scopul modelelor bazate pe blocuri logice de
fiabilitate (BLF) este ca, pornind de la funcţia de structură S a sistemului să se
obţină o relaţie între funcţia de fiabilitate a sistemului şi cea a elementelor
componente.
Pentru elaborarea schemei cu blocuri logice de fiabilitate se procedează astfel:
- se defineşte stare de bună funcţionare/de defectare a sistemului;
- se identifică modulele din sistem pornind de la schema bloc a sistemului
astfel încât fiecare bloc să fie independent din punct de vedere statistic de celelalte.
Este de preferat ca fiecare bloc să nu conţină nici o redundanţă. În schema logică
de fiabilitate modulul reprezintă elementul pentru care se poate identifica clar
vectorul de intrare şi cel de ieşire;
- se identifică căile şi direcţiile de transmitere a informaţiei de bună
funcţionare;
- se conectează modulele prin linii şi se realizează schema logică de fiabilitate
astfel încât acestea să formeze o "cale reuşită". Diferitele căi reuşite dintre punctele
de intrare şi ieşire ale diagramei, trec prin acele combinaţii de blocuri care trebuie
să funcţioneze pentru ca sistemul să funcţioneze.
- se defineşte starea de bună funcţionare (succes) şi cea de defect
(nefuncţionare) pentru fiecare modul component şi pentru întregul sistem. Numărul
de stări posibile ale unui sistem este 2 n, unde n este numărul de module
constituente.
Se stabileşte astfel expresia logică a fiabilităţii sistemului, în funcţie de modul
de conectare al elementelor componente.

41
Pentru cele mai multe sisteme complexe o asemenea analiză conduce la
identificarea grafului de arborescenţă a fabricării, asamblării, întreţinerii şi
reparării produsului.

4.2. Tipuri de conexiuni în BLF


4.2.1. Sisteme de tip serie
Sistemele de tip serie se caracterizează prin aceea că defectarea unui element
determină ieşirea din funcţiune a întregului sistem. Reprezentarea unui astfel de
sistem cu n componente poate fi urmărită în figura 4.1.

Figura 4.1. Sistem de tip serie

Se consideră că pentru fiecare element se cunoaşte:


i - rata de defectare a componentei i ;
Ri (t ) - funcţia de fiabilitate, respectiv probabilitatea de bună funcţionare a
componentei i.
Sistemul este caracterizat de s şi Rs (t ) care sunt rata de defectare şi,
respectiv, probabilitatea de bună funcţionare a sistemului.
Rata de defectare a sistemului, indiferent de funcţia de distribuţie a timpului de
bună funcţionare a sistemului respectiv, se ncalculează cu formula:
s   i . (4.2.1)
Probabilitatea de bună funcţionare a acestui sistem, de tip serie, se calculează
i 1

conform relaţiei: n

Rs (t )  R1 (t )  R2 (t )  ... Rn  Ri (t ). (4.2.2)
i 
Pentru un sistem complex, fiabilitatea sa scade cu cât sistemul este mai
1

complex, valoarea indicatorului s creşte cu atât mai mult cu cât termenii sumei
constitutive (relaţia 4.2.1) sunt în număr mai mare.
Din relaţia 4.2.2 se observă că fiabilitatea sistemului este mai mică decât
fiabilitatea oricăreia din componentele sale. Dacă o componentă are o fiabilitate
mult inferioară celorlalte, aceasta determină fiabilitatea sistemului şi reprezintă
veriga cea mai slabă. Este, deci, contraindicată realizarea unui sistem de tip serie
cu elemente neomogene din punct de vedere al fiabilităţii.

4.2.2. Sisteme de tip paralel


Sistemele de tip paralel sunt caracterizate prin faptul că defectarea uneia dintre
componentele sistemului nu provoacă defectarea sistemului, la defectarea unei
componente intrând în funcţiune componenta legată în paralel cu cea defectată, aşa
numita componentă de rezervă, redundantă.

42
Rezervele se diferenţiază în funcţie de durata de conectare în sistem atunci
când se defectează elementul de bază şi de starea în care se află elementul de
rezervă în perioada de asteptare, astfel:
- rezervă activă - elementul rezervă şi cel de bază sunt solicitate la fel în
perioada de funcţionare, iar conectarea rezervei active se face imeediat ce
elementul din sistem s-a defectat, în timp practic egal cu zero;
- rezervă semiactivă - elementul de rezervă este mai puţin solicitat decât
elementul de bază, iar timpul de conectare al rezervei este mic, dar nu zero;
- rezervă pasivă - elementul de rezervă nu este pregătit pentru înlocuirea
imediată a elementului de bază, solicitarea acestora este neglijabilă în perioada de
rezervă.
Cazul cel mai favorabil de redundanţă, din punct de vedere al funcţionării
sistemului (nu şi al costurilor) este cel în care un element este dublat de un altul
identic, aflat în rezervă activă.
În cazul general se consideră un sistem format din n elemente legate în paralel,
cu rate de defectare i (pentru componenta i ), i - rata de reparare a
componentei i şi Ri (t ) - funcţia de fiabilitate, respectiv probabilitatea de
funcţionare a componentei i. Funcţie de structură a acestui sistem este tipul SAU
logic:
S  x1  x2  x3 ....  xn . (4.2.3)
Reprezentarea unui sistem format din n elemente conectate în paralel este în
figura 4.2.

Figura 4.2. Sistem de tip paralel

Analiza fiabilităţii sistemului nu este imediată ca în cazul sistemului de tip


serie. Pentru sistem de tip paralel se consideră funcţia de stare S negată, respectiv
starea de defectare a sistemului:
S  x1  x2  ...  xn  x1  x2  ...  xn . (4.2.3)
Probabilitatea de defectare a sistemului este egală cu produsul probabilităţilor
de defectare ale elementelor sistemului:
n n
Fs  P( S  1)   P( xi  1)   Fi , (4.2.4)
i 1 i 1
unde Fi este probabilitatea de defectare a elementului i.
Aşa cum se cunoaşte deja, probabilitatea de bună funcţionare a unui sistem
este complementara funcţiei de defectare a acestuia. Deci probabilitatea de bună
43
funcţionare a unui sistem este cu n elemente legate în paralel, Rn, este
complementul funcţiei de defectare a sistemului. Se poate scrie:
n
R p (t )  1  Fs  1   (1  Ri (t )), (4.2.5)
i 1
unde Ri este probabilitatea de bună funcţionare a elementului component, i.
O astfel de schemă se mai numeşte şi schemă redundantă, fiind folosită în
situaţiile, în care un element al schemei este rezervat prin alt element identic.

4.3. Tabel de sinteză


O sinteză pentru pentru fiabilitatea unui sistem complex realizat cu
componente cuplate serie şi paralel este prezentat sub formă tabel

Configuraţie de bază Ecuaţie pentru fiabilitatea sistemului RS


1 Serie A. Caz general
Rs  R1 R2  Rn
R1 R2 R3 Rn
B. Cu R1  R2   Rn  R Rs  R n
,

2 Paralel A. Caz general activ


Activ Rs  1  (1  R1)  (1  R2 )(1  Rz )
B. Activ cu R1  R2   Rz
R1
Rs  1  (1  Rz ) z
R2

Rz

În aşteptare R  e   t    t.e   t  
C. S În aşteptare cu R  e  t
R 
  t  z 1 e  t
z  1!
R

3 Serie/paralel sau sistem redundant A. Caz general


z activ
Activ RS  1   (1  R j1  R j 2  R jn )
B. a
Activ jcu
Ra1  Ra 2    Ra Rb1  Rb2    Rb
Ra2 R z1  R z 2 z   R z
 (1  R
Ra1 Ran
RS  1  j
n
)
j a
Rb1 Rb2 Rbn

Rz1 Rz2 Rzn C. Activ cu


Raj  Rbj    R zj  R pentru j = 1 la n

44
RS  1  (1  R n ) z

În aşteptare t  e  t
RS  În
D. e  naşteptare
t
 nt  ecu
 n   R

R R R

nt  e z 1  nt

x  1!
R R R

R R R

4 Paralel/serie sau element redundant A. Caz general activ


Activ Rs  1  1  Ra1  1  Ra 2 1  Raz 
1  1  Rb1  1  Rb2 1  Rbz 
1  1  Rn1  1  Rn2 1  Rnz 
B. Activ cu
Ra1 Rb1 Rn1
Ra1  Ra 2    Ra ,
Ra2 Rb2 Rn2 Rb1  Rb2    Rb
Rn1  Rn2    Rn
 
RS  1  (1  Ra ) z  1  (1  Rb ) z  

 1  (1  Rn ) z 
Raz Rbz Rnz C. Activ cu toate blocurile având aceeaşi
fiabilitate “R”
Raj  Rbj    Rnj  R
Dacă se presupune R  e  t

RS  2  e  t  e 2 t  n

În aşteptare  t
D. În aşteptare cu R  e
RS  e     t  e  
 t  t n
R R R

R R R

5 Paralel/serie (cu element redundant) A. Activ presupunând toate funcţiile


egale
Ra1 Ran
Raj  Rbj    R zj  R cu excepţia Rsw

Rb1 Rsw Rsw



RS  1  1  R   1  R  Rsw  
z 1 n

Rbn

Rz1 Rsw Rzn Rsw

R B. Activ presupunând z = 2, n = 1 şi
toate funcţiile de fiabilitate egale,
Raj  Rbj  Rzj  R  e  t cu excepţia
Rsw  t  t
R Rsw RS  e  R sw e  R sw e 2 t

45
4.4. Probleme rezolvate
4.4.1. Fie un sistem alcătuit din i = 4 elemente înseriate cu ratele de defectare:
1  0,1106 h 1 , 2  0,2 106 h 1 , 3  4  0,5 106 h 1.
Funcţia de distribuţie a timpului de bună funcţionare a sistemului este considerată
a fi exponenţială.
Să se calculeze probabilitatea de bună funcţionare a sistemului

Probabilitatea de bună funcţionare a sistemului realizat cu aceste patru


componente este fiind produsul probabilităţilor de bună funcţionare a
componentelor. Este tot o funcţie exponenţială, fiind de forma:
Rs (t )  exp(0,1106  t )  exp(0,2 106  t )  exp(0,5 106  t ) 
 exp(0,5 106  t )  exp(1,3 106  t ).
Pentru un timp de misiune de 1000000 h rezultă o probabilitatea de bună
funcţionare:
Rs (1000000)  exp( 1,3)  0,2725.

Pentru un timp de misiune mai mic, de exemplu 100000 h, rezultă o valoare


mult mai mare, respectiv:
Rs (100000)  exp( 0,13)  0,8781.

Concluzia este evidentă: probabilitatea de bună funcţionare a unui sistem este cu


atât mai mare cu cât durata de funcţionare este mai mică.
Evident probabilitatea de funcţionare, la momentul iniţial are valoarea
maximă, Rs(0) = 1 şi după un timp de funcţionare suficient de mare (specific
fiecărui sistem) probabilitatea de bună funcţionare tinde spre 0, Rs() = 0.

4.4.2. Fie o schemă redundantă cu două elemente în paralel: elementul 1 cu


fiabilitatea R1 (t )  0,9 , care, la defectare, este înlocuit de rezerva sa, elementul 2,
identic cu primul, deci cu aceaşi valoare a funcţiei de fiabilitate R2 (t )  0,9.
Să se calculeze funcţia de fiabilitate a sistemului
Fiabilitatea ansamblului celor două elemente este:
R p (t )  1  (1  R1 )  (1  R2 )  1  (1  0,9)  (1  0,9)  0,99  0,9.

Se constată că fiabilitatea sistemlui paralel este mai bună decât fiabilitatea


elementelor sale, ceea ce face ca un astfel de sistem să fie preferat unuia serie, după
cum se va prezenta în paragraful 3.1.7, rezervat sistemelor redundante.

4.4.3. Se consideră sistemul cu schema din figura de mai jos. Să se calculeze


funcţia de fiabilitate a sistemului realizat

46
Fiabilitatea sistemului se calculează pe subsisteme cu conexiuni de bază,
conform grupărilor din figură din figură:
Ra  R1  R2  1  (1  R3 )(1  R7 ) ,
Rb  R8  R9  1  (1  R10 )(1  R11 ) ,
Rc  R4  R5  R6 ,
Rs  Rc  1  (1  Ra )  (1  Rb )

4.5. Probleme de rezolvat


Să se calculeze funcţia de fiabilitate a sistemelor din figurile de mai jos:

a.
A1 B1 C1 Z
I 11 1 O
A2 B2 C2 Z
2

A1 B1 C1
b. I D 11 O
A2 B2 C2

A1 B1 C1
c. I D 11 O
A2 B2 C2

47
Capitolul 5. METODA ARBORILOR DE DEFECTARE PENTRU
STUDIUL FIABILITĂŢII SISTEMELOR

5.1. Principii de bază referitoare la arborii de defectare


Studiul fiabilităţii sistemelor prin metoda arborilor de defectare este o metodă
deductivă de analiză care se desfăşoară de sus în jos şi care permite identificarea
cauzelor care pot duce la evenimentul de vârf definit. Un arbore de defectare este o
reprezentare grafică organizată a unor condiţii sau factori care cauzează sau
contribuie la apariţia unei defectări a sistemului, denumită „eveniment de vârf”.
Evenimentul de vârf este o consecinţă a combinaţiilor tuturor evenimentelor
de intrare [ 1, 50]. Este numit şi eveniment final sau consecinţă de vârf
Reprezentarea unui arbore de defect se face sub o formă care poate fi uşor
înţeleasă şi analizată pentru a permite identificarea:
– factorilor care afectează evenimentul de vârf considerat;
– factorilor care afectează caracteristicile de fiabilitate şi performanţă ale unui
sistem, de exemplu, deficienţe în proiectare, solicitări de mediu sau de funcţionare,
moduri de defectare a componentelor, greşeli ale operatorilor, defecte ale
pachetelor software;
– evenimentelor care afectează funcţionarea mai multor componente, anulând
beneficiile unor redundanţelor sau a unor părţi ale unui sistem.
În construcţia arborelui de defectare se porneşte de la evenimentul de vârf şi se
lucrează cu următoarele elemente:
– poartă logică - simbol care este folosit pentru a stabili legături simbolice între
evenimentul de ieşire şi intrările corespunzătoare; reflectă tipul de relaţie logică
(booleeană) între evenimentele de intrare pentru ca evenimentul de ieşire să se
poată produce.
– eveniment- apariţia unei condiţii sau o acţiune care duce la defectarea
sistemului;
– eveniment primar - eveniment care stă la baza arborelui de defect; poate fi
un eveniment care nu mai poate fi dezvoltat în arborele analizat sau un eveniment
care a fost dezvoltat în altă parte pe baza unui grup de evenimente şi porţi şi care
este introdus ca eveninent deja studiat;
– defectare prin eveniment unic - eveniment de defectare care poate cauza
defectarea generală a sistemului sau care, independent de alte evenimente sau de
combinaţiile acestora, poate cauza evenimentul de vârf
– cauză comună - cauză de apariţie a mai multor evenimente;
– eveniment repetat eveniment care este o intrare pentru mai multe evenimente
de nivel superior.
Metoda arborilor de defectare este adecvată pentru analiza sistemelor care
cuprind mai multe subsisteme funcţionale sau dependente. Este aplicată în mod

49
uzual la proiectarea de centrale de energie nucleară, sisteme de transport, sisteme
de comunicaţie, procese chimice sau industriale, sisteme de cale ferată, sisteme
medicale, şi nu în ultimul rând a sistemelor informatice

5.2. Metode de analiză


Arborii de defectare permit atât analize calitative cât şi cantitative.
Scopul primar al analizei calitative este identificarea setului de tăieturi
minimal pentru a determina modul în care evenimentele de bază influenţează
evenimentul de vârf.
Analiza cantitativă poate fi utilizată pentru calculul probabilităţile de apariţie
a evenimentului de vârf şi evenimentelor intermediare atunci când sunt cunoscute
probabilităţile evenimentelor primare.
O analiză bazată pe arbori de defectare are ca obiective:
– identificarea cauzelor sau a combinaţiilor acestor cauze care duc la
evenimentul de vârf;
– determinarea modului în care o caracteristică de fiabilitate a unui sistem
particular îndeplineşte o cerinţă specificată;
– determinarea modurilor sau factorilor potenţiali de defectare care contribuie
cel mai mult la probabilitatea de defectare sau indisponibilitatea sistemuluie
reparabil, pentru a identifica îmbunătăţirile posibile ce pot fi aduse fiabilităţii unui
sistem;
– analiza şi compararea diverselor alternative de proiectare pentru a
îmbunătăţi fiabilitatea sistemului;
– demonstrarea valabilităţii ipotezelor făcute în alte analize (de exemplu
lanţuri Markov şi FMEA);
– identificarea modurilor potenţiale de defectare care pot cauza o problemă de
securitate,evaluarea probabilităţii corespunzătoare de apariţie a evenimentelor de
securitate şi a posibilităţii de reducere;
– identificarea evenimentelor comune;
– căutarea unui eveniment sau a unei combinaţii de evenimente care sunt
cauza cea mai probabilă a apariţiei evenimentului de vârf;
– evaluarea impactului apariţiei unui eveniment primar asupra probabilităţii
evenimentului de vârf;
– calculul probabilităţilor evenimentului;
– calculul disponibilităţilor şi al ratelor de defectare ale sistemului sau
componentelor sale reprezentate în arborele de defect, dacă se poate declara o stare
ca fiind stabilă, iar eventualele reparaţii sunt independente unele de celelalte
(aceeaşi limitare ca şi pentru diagrama căii de succes/diagrama-bloc de fiabilitate).
Metoda arborilor de defectare folosită în studiul fiabilităţii sistemelor porneşte
de la ideea că procesul de defectare poate fi cuantificat la nivel structural, astfel că

50
orice defecţiune a sistemului este rezultatul unei secvenţe cuantificate de stări ale
procesului de defectare.
Analiza Booleană a arborelui de defect este una dintre metodele frecvent
utilizată pentru analiza arborilor de defectare. Metoda are la bază logica booleeană
unde cele două valori sunt Defect (D), corespunzând lui 0 şi Funcţional (F ),
corespunzând lui 1. După cum se cunoaşte, în sistemul binar din n variabile, se pot
forma 2n combinaţii binare.
Pentru orice aplicaţie practică, orice funcţie logică poate fi obţinută prin
folosirea numai a celor trei funcţii logice de bază – funcţii fundamentale ale
algebrei booleene: funcţia negaţie (NU), produsul logic(ŞI) şi suma logică
(SAU).Aşa cum spu matematicienii aceste trei funcţii logice definesc un sistem
complet.
Pentru fiecare eveniment care apare în arborele de defectare se recomandă să se
realizeze o listă cu numele sau descrierea evenimentului, să se codifice evenimente
şi să se calculeze probabilitatea de apariţie.
Dacă un eveniment reprezintă un eveniment repetat sau din cauză comună, el este
prezentat în arborele de defect în mod repetat, dar cu un steguleţ de atenţionare.
Toate evenimentele repetate sau din cauză comună din arbore trebuie să aibă
acelaşi cod şi trebuie marcate cu un simbol transfer-intrare sau cu un alt simbol ales
special pentru un anumit arbore de defectare. Această regulă se aplică tuturor
evenimentelor repetate sau cu cauză comună cu excepţia evenimentului de cel mai
mic nivel din ansamblu, care este marcat cu un simbol transfer-ieşire. În unele
diagrame ale arborilor de defect, simbolurile pentru evenimentele primare repetate
sau de nivel mai mare sunt aceleaşi.

5.3. Elementele componente ale arborelui de defectare


Din punct de vedere structural, arborelui de defectare i se asociază
următoarele concepte:
- elementele primare - componentele sau elementele care se găsesc la nivelul
de bază;
- defectări de bază - defectările elementelor primare;
- evenimentul nedorit - starea de defect;
- modul de defectare - setul de elemente defecte simultane, care conduc la
defectarea sistemului;
- modul minim de defectare - cel mai mic set de componente primare, care
conduc la defectarea sistemului;
- nivelul ierarhic - totalitatea elementelor care sunt echivalente structural, care
ocupă poziţii echivalente în alcătuirea arborelui de defectare.
Simboluri utilizate frecvent pentru un arbore de defectare sunt sintetizate în tabelul
de mai jos.

51
Tabelul 5.1 – Simboluri utilizate frecvent pentru un arbore de defectare

Simbol Nume Descriere Corelaţia cu Numărul


Fiabilitatea de intrări
EVENIMENT Evenimentul de cel mai mic nivel Mod de defectare a 0
DE pentru care sunt disponibile componentei sau cauza
BAZĂ informaţii referitoare la modului de defectare
probabilitatea de apariţie sau
fiabilitatea sa

EVENIMENT Eveniment care este o condiţie de Eveniment care se 0


CONDIŢIONAT producere a unui alt eveniment, produce pentru ca un alt
atunci când pentru a apărea o eveniment să se producă
ieşire trebuie să aibă loc Probabilitate
Ambele evenimente condiţionată
EVENIMENT Un eveniment primar care Mod de defectare al unei 0
„ÎN reprezintă o defectare „în Componente inactive
AŞTEPTARE" adormire”; un eveniment care nu sau cauză a defectării „în
este detectat imediat dar arputea aşteptare”
să fie detectat printr-o inspecţie
sau analiză suplimentară
EVENIMENT Un eveniment primar care Un contribuitor la 0
NEDEZVOLTAT reprezintă o parte a unui sistem probabilitatea de
carenu este încă dezvoltat defectare. Structura
acestei părţi din sistem
nu este încă definită
POARTĂ DE Poartă care indică evoluţia O parte a arborelui 0
TRANSFER acestei de defectare prezentată
părţi a sistemului în altă parte sau în altă parte a sistemului
Transfer IEŞRE pagină a diagramei total;
INTRARE = poarta de
52
Simbol Nume Descriere Corelaţia cu Numărul
Fiabilitatea de intrări
dezvoltare se află în altă
parte.
IEŞIRE = aceeaşi poartă
Transfer intrare dezvoltată în acest loc va
fi utilizată în altă parte

Poartă OR Evenimentulde ieşire apare Defectarea sistemului 2


(SAU) dacă apare orice eveniment la se produice dacă se
intrare defectează oricare
componentă a
sistemului – sistem
serie

Poartă VOT Evenimentulde ieşire apare 3


MAJORITY dacă evenimentul de intrare Redundanţă k din n,
apare la m sau mai multe unde m = n – k + 1
m 0 intrări din totalul de n intrări
0

Poartă OR Evenimentulde ieşire apare Defectarea sistemului 2


EXCLUSIVE dacă evenimentul de intrare apare dacă se
apare la o singură intrare defectează o singură
componentă a
sistemului

53
Simbol Nume Descriere Corelaţia cu Numărul
Fiabilitatea de intrări
Poartă AND Evenimentulde ieşire apare Redundanţă paralel 2
(ŞI) numai dacă evenimentul de
intrare apare la toate intrările

Poartă Evenimentulde ieşire Bună pentru ≥2


PRIORITY (defectarea) apare numai dacă reprezentarea
AND (PAND) evenimentele de intrare apar defectelor secundare
într-o anumită secvenţă, de la sau pentru secvenţe de
stânga la dreapta evenimente

Poartă Evenimentulde ieşire apare Evenimentului final 2


INHIBIT dacă aparambele evenimente are o probabilitste de
la intrare, unul dintre ele fiind apariţie conditionată
condiţionat

Poartă NOT Evenimentulde ieşire apare Eveniment exclusiv 1


dacă nu apare evenimentul de sau măsură
intrare preventivă pentru ca
evenimentul să nu
apară

54
În figura 5.1 este dată reprezentarea cea mai simplă a unui arbore de defectare,
alcătuit din evenimente primare, interconectate prin intermediul unei structuri
logice booleene, care indică posibilităţile, în care evenimentele se pot combina
pentru a produce avaria sistemului. Dacă sistemul are mai multe condiţii de avarie,
pentru fiecare dintre ele trebuie construit un arbore de defectare separat.
Arborele de defectare se construieşte pornind de la evenimentul din vârf
(defectarea sistemului) până când se ajunge la evenimentele primare (defectarea
componentelor sau subsistemelor) studiind interacţiunile logice dintre aceste
evenimente ale sistemului [18, 66, 83, 94, 96].
În faza de proiectare, metoda arborilor de defectare permite evidenţierea unor
deficienţe de concepţie, a locurilor şi elementelor vulnerabile din sistem.

Figura 5.1. Reprezentarea simplă a unui arbore de defectare

Consecinţa finală a unui arbore de defectare (eveniment de vârf) poate fi o


defectare în sine sau un eveniment. Aici, arborele de defectare descrie un defect
sau un eveniment care rezultă din evenimentele contribuitoare sau din alte defecte.
În analiza arborelui de defectare anumite combinaţii de evenimente pot fi stări sau
evenimente, în timp ce altele trebuie să se potrivească consecinţei.

55
Starea poate fi caracterizată prin probabilitatea existenţei sale la momentul t,
iar evenimentul poate fi caracterizat, fie prin rata sau frecvenţa de defectare, fie
prin probabilitatea de apariţie a evenimentului la momentul t.

5.4. Evaluarea probabilităţii de defectare


Evaluarea probabilităţii de defectare foloseşte proprietăţile porţilor logice.
- ieşirea porţilor NU:
ieşirea = probabilitatea (A să NU fie defect):
P( A )  1  P( A). (5.4.1)
- ieşirea porţilor ŞI :
Ieşirea este probabilitatea (A defect ŞI B defect):
P( A  B)  P( A / B)  P( B)  P( B / A)  P( A). (5.4.2)
Dacă evenimentele A şi B sunt independente (nu se condiţionează reciproc), se
obţine:
P( A  B)  P( A)  ( B). (5.4.3)
-ieşirea porţilor SAU (figurile 5.12, c şi 5.13, c):
Ieşirea este probabilitatea (A defect SAU B defect)
P( A  B)  P( A)  P( B)  P( A  B). (5.4.4)
Dacă evenimentele A şi B sunt independente se obţine:
P( A  B)  P( A)  P( B)  P( A)  P( B). (5.4.5)
Evaluarea ratei de defectare se face pe baza unor ipoteze similare.
- ieşirea porţilor SAU :
Considerăm că cele două evenimente sunt independente şi la ieşire urmărim
rata de defectare echivalentă  s .
Notând cu P( A)  FA (t ) - probabilitatea ca A să se defecteze în intervalul
(0, t ) şi cu P( B)  FB (t ) probabilitatea ca B să se defecteze în intervalul (0, t ) .
Probabilitatea ca un sistem cu o poartă logică SAU să se defecteze în intervalul
(0, t ) se calculează cu relaţia:
Fs (t )  P( A  B)  P( A)  P( B)  P( A)  P( B) 
 FA (t )  FB (t )  FA (t )  FB (t ). (5.4.6)
Probabilitatea de bună funcţionare în intervalul (0, t ) a sistemului considerat,
RS (t ), este:
RS (t )  1  FS (t )  1  FA (t )  FB (t )  FA (t )  FB (t ) 
 1  FA (t ) 1  FB (t )  RA (t )  RB (t ). (5.4.7)
Exemplu:
Dacă:
RA (t )  e  A t şi RB (t )  e B t , (5.4.8)
atunci:
RS (t )  e A t  e B t  e (A B ) t  e S t . (5.4.9)

56
Din relaţia de mai sus rezultă că:
s   A  B . (5.4.10)
- ieşirea porţilor ŞI :
Considerând n elemente independente la intrarea porţii ŞI, rata de defectare a
sistemului se determimă reluând, corespunzător, raţionamentul de la poarta SAU, şi
rezultă:
N
 i ( i  1)
S  i 1
N
, (5.4.11)
 i  1
i 1
unde
, i  1, N  .
1
i  (5.4.12)
1  exp(i t )
În cazul logicii paralel (redudanţă), cu N elemente identice
N
S  N 1 , (5.4.13)
 i
i 0
1
unde  i  . (5.4.13)
1  e i t
Pentru cele mai multe sisteme, o analiză a fiabilităţii sistemului, ţinând seama
de buna funcţionare a tuturor elementelor componente conduce la realizarea
grafului de arborescenţă [30].
Un anumit produs complex, în procesul studierii fiabilităţii, se poate
descompune în subsisteme de diferite niveluri (subansamble, blocuri, elemente
etc.). În funcţie de scopul analizei, fiecare asemenea ansamblu (la orice nivel)
poate fi considerat ca un întreg, care se supune cercetării de sine stătător. Deci
orice subsistem, sau chiar sistemul în ansamblul său, poate fi considerat ca obiect
de studiu al fiabilităţii, care se realizează după aceeaşi metodologie ca şi studiul
unei componente elementare.

5.5. Teme de rezolvat


5.1. Identificaţi
- evenimentele de bază
- evenimentul de vârf
- tipurile de porţi
din figura de mai jos, preluată din standardul internaţional de fiabilitate IEC
61025/2007 - Fault tree analysis (FTA)

57
System out of
specification
or not
operational

Top event >=1


Final event System Failure
Top outcome

No or No or
inadequate inadequate
data
Intermediate event voltages processing
Cause of the next level event The event developed on another
Input event to the next level event >=1 place in the fault tree
Output event of its inputs Power Supply Represented graphically by a
transfer gate
Microprocessor

No voltage Battery voltage System does


delivered from not filtered not provide any
of the two
the battery outputs Gate (AND), as a symbol represents
Gate (OR), as a symbol represents combination of its input events -
combination of its input events - one or the >=1 & occurrence of both events causes the
other event occurrence or state existence Battery Input Outputs next event
causes the next event or state Existence of both sates results in the
Filtering output state

Input inductor Filtering Output 1 not Output 2 not


fails open capacitor available available
shorts battery
to ground
Undeveloped event
>=1 >=1 Developed in another FTA, or left
Input Coil Open Filter Cap Short undeveloped for the lack of
information or a need for further detail
Output 1 Output 2

Inductor failed Manufacturing Capacitor Manufacturing


open due to its defect causes failed short defect causes
due to its
random failure open circuit random failure short circuit

>=1 >=1
Basic event MFG_Open_L1 MFG_Short_C1

Open_L1 Short_C1

Insufficient Inductor coil Excessive Part cracked


solder causes broken during solder shorts during
open assembly -
connection assembly the pads short

Solder_L1 Broken_L1 Solder Short_C1 Cracked_C1

Figura 5.1 – Exemplu de arbore de defect care prezintă diferite tipuri de porţi

2. Realizaţi un arbore de defectare pentru calculatoarele din laboratorul 5.9,


considerând defectarea software, hardware, erorile introduse de utilizator, fiecare
dintre studenţi, pornind de la arborele simpu din exemplul de mai jos
Exemplu: Fie un sistem de calcul tolerant la defecte compus din două unităţi
hardware identice (H1 şi H 2 ), care execută aceeaşi versiune de program (V ).
Înainte de afişarea rezultatului, ieşirea este suspusă unui modul de decizie (D),
care constă într-un test de acceptare. Dacă în rezultatul, oferit de prima unitate
hardware, se detectează o eroare, rezultatul va fi cel oferit de cea de-a doua unitate.
Elementele de bază reprezintă defectările componentelor hard şi soft.

58
Fiecare defectare software se poate datora fie (logică SAU):
- versiunii greşite (V ),
- deciziei greşite (D ),
- defectării software, datorită unei specificaţii incomplete (G ).
Fiecare defectare hardware se poate datora defectării ambelor unităţi hard (H )
(logică ŞI ).
Arborele de defectare corespunzător acestui sistem este dat în
figura 5.2.

Figura 5.2. Arbore de defectare pentru un sistem de calcul tolerant la defecte

59
Capitolul 6. CALCULUL PROBABILITĂŢILOR DE
DEFECTARE A SISTEMELOR COMPLEXE
PRIN METODA BINOMINALĂ

6.1. Prezentarea distribuţiei binomiale


Se aplică sistemelor binare sau multivalente, formate din elemnte binare,
independente şi reparabile Este numită şi schema lui Bernoulli, deoarece se asociază
cu experimentul care constă în n extrageri independente una de alta a unei bile de o
anumită culoare dintr-o urnă, care conţine un număr dat de bile de două culori diferite,
dar în rest identice. Bila extrasă este reintrodusă în urnă după notarea culorii pentru
asigurarea independenţei extragerilor.
Fie n extracţii succesive dintr-un lot de n produse, reintroducându-se în lot
produsele extrase, după verificare;
– fiecare din produsele verificate poate fi defect, cu probabilitatea p (evenimentul
A ), sau corespunzător, cu probabilitatea q (evenimentul A negat, notat A );
– numărul de apariţii ale evenimentului A în cele n experimente este k, unde k este
o variabilă aleatoare, care poate lua valorile 0, 1, 2, ..., n;
– probabilitatea ca evenimentul A să se producă de k ori este:
P( Ak )  Pn (k )  Cnk p k q n  k (6.1.1)
iar distribuţia variabilei aleatoare va avea următorul tablou:
0 1 ... k ... n
n 1 n 1 k k nk . (6.1.2)
q Cn pq ... Cn p q ... p n

Se observă că probabilităţile Pn (k ) sunt tocmai termenii dezvoltării binomului


( p  q) n , de unde denumirea de distribuţie binomială.
Valoarea medie este, conform definiţiei:
n
m  kC
k 1
k
n p k q n  k  np. (6.1.3)

Pentru a efectua calculul se ţine seama de identitatea:


n
( px  q) n  C
k 0
k
n pk xk qnk . (6.1.4)

Dacă derivăm relaţia (6.1.) în raport cu x, se obţine:


n
np ( px  q) n 1  k C
k 0
k
n p k x k 1q n  k . (6.1.5)

Dacă se alege x = 1 şi se ţine seama că p + q = 1, relaţia (6.1.5) devine:

61
n

k C
k 0
k
n p k q n  k  np  m  np. (6.1.6)

Dispersia se calculează utilizând momentul de ordinul 2 în mod asemănător ca la


calculul valorii medii:
D   2  npq  np(1  p). (6.1.7)

Densitatea de distribuţie a distribuţiei binomiale este dată de probabilitatea


realizării evenimentului A de k ori şi are un singur parametru, pe k :
f (t; k )  Pn (k )  Cnk p k q n  k . (6.1.8)
Funcţia de distibuţie este:
n n
F (t; k )  
k 0
f (t; p)  C
k 0
k
n pk qnk . (6.1.9)

Ţinând seama de formula lui Stirling:


n! nne n 2n eu n  nne n 2n , (6.1.10)

1
unde 0  n  ;
12n
cele două funcţii (densitatea de distribuţie şi funcţia de distribuţie) se pot scrie:
n!
f (t; k )  Cnk p k q n  k  pk qnk , (6.1.11)
k !(n  k )!
x n

 
n! n!
F (t; k )  pk qnk  p k (1  p)n  k . (6.1.12)
k  0 k!(n  k )! k  0 k!(n  k )!

Graficul funcţiei de repartiţie al distribuţiei binomiale are n trepte, cores-


punzătoare celor n + 1 puncte de discontinuitate.
Există tabele care dau valorile probabilităţilor Pn (k ) şi ale repartiţiei F (x) pentru
n, k, p şi x cunoscute 12,18.
Această distribuţie interesează în special pentru a calcula probabilitatea extragerii
unor bile/numere dintr-o urnă sau în cazurile în care se urmăreşte a se cunoaşte câte
produse dintr-un lot (sau ce procentaj) se găsesc în funcţiune la un moment dat,
observaţiile făcându-se la intervale de timp egale. În acest ultim caz, variabila este
numărul de produse în stare de funcţionare.

6.2. Aplicarea metodei


Datele de intrare necesare sunt:
- disponibilităţile momentane ale elementelor, respectiv probabilităţile de bună
funcţionare, 𝑝𝑖 sau cele de defectare 𝑞𝑖 ;
- structura sistemului descrisă de tabelul de stări.
Datele de ieşire sunt:
- disponibilitatea momentană a sistemului;
- media timpului total de funcţionare într-un interval 𝑇 dat, 𝑀[𝑇𝑓 ];
- media timpului total de defectare într-un interval 𝑇 dat, 𝑀[𝑇𝑑 ].
Aplicarea metodei presupune parcurgerea următoarelor etape:
I. Extragerea datelor de intrare
II. Întocmirea tabelului de stări
III. Calculul probabilităţilor stărilor sistemului, de funcţionare sau de defectare
IV. Calculul performanţei sistemului în fiecare stare
V. Gruparea stărilor sistemului
VI. Calculul probabilităţilor grupelor de stări
VII. Calculul indicatorilor de fiabilitate ai sistemului

Vom prezenta pe scurt aceste etape.


I. Datele de intrare
Datele de intrare pentru elementele binare sunt disponibilităţile elementelor 𝑝𝑖 cu
𝑖 ∈ 𝑚𝑒𝑠 unde 𝑚𝑒𝑠 este mulţimea elementelor sistemului.
În cazul sistemelor multivalente formate din elemente binare putem introduce
noţiunea de performaţă a fiecărui element, notată cu Π𝑖 , în starea de funcţionare a
acestuia. Performanţa este un parametru sau un vector de parametri care caracterizează
starea de succes (bună funcţionare) a elementului respectiv. Structura sistemului şi
relaţia lui cu elementele componente se exprimă sub formă de tabel de adevăr pentru
stările sistemului (Funcţional sau Defect).

II. Întocmirea tabelului de adevăr pentru stările sistemului


Tabelul de adevăr are un număr de coloane egal cu numărul de elemente al
sistemului plus o coloană corespunzătoare sistemului şi un număr de linii egal cu
numărul stărilor sistemului după cum urmează:

- mulţimea stărilor cu toate elementele în funcţiune 𝐶𝑜 = 𝐶𝑛𝑜 = 1


- mulţimea stărilor cu un element defect 𝐶1 = 𝐶𝑛1 = 𝑛
- mulţimea stărilor cu două elemente defecte 𝐶2 = 𝐶𝑛2
………
- mulţimea stărilor cu i elemente defecte 𝐶𝑖 = 𝐶𝑛𝑖
………
- mulţimea stărilor cu n-1 elemente defecte 𝐶𝑛−1 = 𝐶𝑛𝑛−1 = 𝑛
- mulţimea stărilor cu n elemente defecte 𝐶𝑛 = 𝐶𝑛𝑛 = 1

Numărul total de stări în care se poate afla sistemul este dat de relaţia:
𝑛𝑠𝑠 = 2𝑛 (6.2.1)
Elemente tabelului de adevăr vor fi:
- pentru sistemul binar format din elemente binare un simbol pentru starea de
succes care poate fi F = funcţionare, S = succes sau 1 iar pentru cea de refuz D =
defect, R = refuz sau 0;
- pentru sistemul multivalent format din elemente binare, tabelul va conţine valori
ale performanţelor elementelor, respectiv ale sistemului.

III. Calculul probabilităţilor sistemului


Cunoscând probabilităţile de funcţionare 𝑝𝑖 şi de defect 𝑞𝑖 pentru oricare element 𝑖,
𝑖 ∈ (1, 2, … , 𝑛𝑒𝑠 ) se poate calcula probabilitatea oricărei stări a sistemului folosind
teorema produsului de probabilităţi:

63
Probabilitatea producerii simultane a două sau mai multe evenimente
independente este egală cu produsul probabilităţilor evenimentelor.
Pentru categoriile de stări menţionate anterior, avem:
- probabilitatea stării cu toate elementele în funcţiune
𝑛

𝑝0 = ∏ 𝑝𝑗
𝑗−1

- probabilitatea stării cu elementul 𝑖 defect


𝑛

𝑝𝑖 = 𝑞𝑖 ∏ 𝑝𝑖
𝑗−1;𝑗−𝑖

- probabilitatea stării cu elemente, 𝑖 şi 𝑘, defecte


𝑛

𝑝𝑖,𝑘 = 𝑞𝑖 ∙ 𝑞𝑘 ∏ 𝑝𝑖
𝑗−𝑖−𝑘

- probabilitatea stării cu 𝑑 elemente defecte iar în funcţiune 𝑓 elemente,


𝑑 + 𝑓 = 𝑛𝑒𝑠

𝑝𝑑𝑓 = ∏ 𝑞𝑗 ∙ ∏ 𝑝𝑙
𝑗𝑒𝑑 𝑙𝑒𝑓

- probabilitatea stării cu toate elementele defecte


𝑛

𝑝𝑑−𝑛 = ∏ 𝑞𝑗
𝑗−1

Aceste probabilităţi reprezintă termenii dezvoltării produsului binominal


𝑛𝑒𝑠

∏(𝑝𝑖 + 𝑞𝑖 )
𝑖−1

de unde provine şi denumirea de metoda binominală.


Probabilităţile absolute ale stărilor sistemului se calculează în funcţie de
probabilităţile de funcţionare (disponibilităţile) momentane ale elementelor
componente.

IV. Calculul performanţei sistemului în fiecare stare


Se face în funcţie de valorile parametrilor funcţionali ai elementelor sistemului şi
ale sistemului.

V. Gruparea stărilor sistemului


Există două posibilităţi:
- Sistem binar, caz în care stările sale se grupează în două submulţimi:
a) mulţimea stărilor de funcţionare (succes) F;
b) mulţimea stărilor de defect (refuz) D.
- Sistem multivalent, caz în care stările se grupează în mai multe submulţimi,
după criteriul nivelului de performanţă a sistemului; din aceeaşi grupă vor face parte
stările în care sistemul are acelaşi nivel de performanţă.

VI. Calculul probabilităţilor grupelor de stări


Stările sistemului fiind incompatibile, probabilităţile grupelor de stări se vor
calcula cu teorema sumei de probabilităţi:
Probabilitatea producerii oricăruia din două sau mai multe evenimente
incompatibile va fi egală cu suma probabilităţilor evenimentelor.
Probabilitatea de succes (de bună funcţionare) a sistemului se poate calcula binar
folosind relaţia:
𝑃𝑠 = ∑ 𝑝𝑖
𝑖𝑒𝑠

iar probabilitatea de refuz (defectare) a sistemului cu relaţia


𝑄𝑠 = ∑ 𝑝𝑖 = 1 − 𝑃𝑠
𝑖𝑒𝑅

În cazul sistemelor multivalent, mulţimea stărilor acestora poate fi împărţită în mai


multe submulţimi, 𝑆1, 𝑆2, … . 𝑆𝑖, … . , 𝑆𝑚 după criteriul de exemplu, al nivelului de
performanţă al sistemului în grupa respectivă de stări.

VII. Calculul indicatorilor de fiabilitate a sistemului


Pentru cazul sistemelor binare, în etapele anterioare s-au determinat probabilitatea
𝑃𝑠 de succes a sistemului ca şi probabilitatea 𝑄𝑠 de defectare.
Folosind aceste mărimi se pot determina alţi indicatori de fiabilitate.
- 𝑀𝑇𝐵𝐹 = 𝑃𝑠 ∙ 𝑇, media timpului total de funcţionare a sistemului în perioada
de referinţă T
- 𝑀𝐷 = 𝑄𝑠 ∙ 𝑇, media timpului total de defect a sistemului în perioada de
referinţă T
Pentru cazul sistemelor multivalente, se cunoaşte din etapele precedente funcţia de
distribuţie a variabilei aleatoare discrete Π𝑠 , performanţa sistemului.

6.3. Probleme
Pentru exemplificare vom rezolva 2 probleme considerând 2 elemente
independente, care pot avea numai două stări, funcţional sau defect şi care sunt
conectate într-un ssstem, mai întâi în serie, apoi în paralel.

1. Se consideră un sistem format din două elemente înseriate, independente, care


pot avea una din două stări: Funcțional sau Defect (sistem binar).
Primul element are probabilitatea de bună funcționare 𝑝1 = 0,98, iar al doilea
element,
𝑝2 = 0,95
Pentru o durată de viață de 10 ani, să se calculeze:
1. Probabilitatea de bună funcționare și cea de defectare a sistemului, 𝑄𝑠
2. Media timpului de bună funcționare și de nefuncționare a sistemului, MTBF şi
M D.

65
Rezolvare:
I. Datele de intrare
𝑝1 = 0,98, 𝑞1 = 0,02
𝑝2 = 0,95, 𝑞2 = 0,05
𝑇 = 10 𝑎𝑛𝑖 ~ 87600ℎ

II. Tabelul de adevăr pentru stările sistemului


Este format din 3 coloane (2+1) și 4 linii (22) și are forma de mai jos:

Nr. stare Element 1 Element 2 Sistem


S1 F F F
S2 F D D
S3 D F D
S4 D D F

III. Probabilitățile de stare se calculează prin înmulțirea probabilităților


parțiale (teorema produsului).
𝑃𝑆1 = 𝑝1 ∙ 𝑝2 = 0,98 ∙ 0,95 = 0,931
𝑃𝑆2 = 𝑝1 ∙ 𝑞2 = 0,98 ∙ 0,05 = 0,049
𝑃𝑆3 = 𝑞1 ∙ 𝑝2 = 0,02 ∙ 0,95 = 0,019
𝑃𝑆4 = 𝑞1 ∙ 𝑞2 = 0,02 ∙ 0,05 = 0,001

IV. Gruparea stărilor sistemului, așa cum rezultă din tabelul de stări:
- sistem funcțional, 𝐹: [𝑆1 ]
- sistem defect, 𝐷: [𝑆2 , 𝑆3 , 𝑆4 ]

V. Calculul probabilităților grupelor de stări:


𝐹: 𝑃𝑠 = 𝑃𝑠1 = 0,931
𝐷: 𝑄𝑠 = 𝑃𝑠2 + 𝑃𝑠3 +𝑃𝑠4 = 0,049 + 0,019 + 0,001 = 0,069

VI. Media timpului de bună funcționare a sistemului


𝑀𝑇𝐹𝐵 = 𝑃𝑆 ∙ 𝑇 = 0,931 ∙ 87600 = 81555,6ℎ

VII. Media timpului de nefuncționare a sistemului


𝑀𝐷 𝑄𝑠 ∙ 𝑇 = 0,069 ∙ 87600 = 6.044,4ℎ

VIII. Verificare:
𝑀𝑇𝐹𝐵 + 𝑀𝐷 = 87600
81555,6 + 6044,4 = 87600ℎ
𝑃𝑠 + 𝑄𝑆 = 1 = 0,931+0,069=1,00

Sistemul nu poate să fie decât :


fie Funcțional , un timp de 81555,6 h
fie Defect , un timp de 6044,4 h
2. Se consideră aceleași elemente, conectate în paralel. Să se calculeze:
a.. Probabilitatea de bună funcționare și cea de defectare a sistemului
b.. Media timpului de bună funcționare și de nefuncționare a sistemului.
Rezolvare:
I. Datele de intrare
𝑝1 = 0,98 𝑞1 = 0,02
𝑝2 = 0,95 𝑞1 = 0,05
𝑇 = 10𝑎𝑛𝑖~87600ℎ

II. Tabelul de adevăr pentru stările sistemului


Este format tot din 3 coloane și 4 linii, dar are altă formă, prezentată mai jos:
Nr. stare Element 1 Element 2 Sistem
S1 F F F
S2 F D F
S3 D F F
S4 D D D

III. Probabilitățile de stare se calculează în același mod, respectiv prin înmulțirea


probabilităților parțiale
𝑃𝑆1 = 𝑝1 ∙ 𝑝2 = 0,98 ∙ 0,95 = 0,931
𝑃𝑆2 = 𝑝1 ∙ 𝑞2 = 0,98 ∙ 0,05 = 0,049
𝑃𝑆3 = 𝑞1 ∙ 𝑝1 = 0,02 ∙ 0,95 = 0,019
𝑃𝑆4 = 𝑞1 ∙ 𝑞2 = 0,02 ∙ 0,05 = 0,001

IV. Gruparea stărilor sistemului conform tabelului de adevăr de mai jos:


- sistem Funcțional, 𝐹: [𝑆1 , 𝑆2 , 𝑆3 ]
- sistem Defect, 𝐷: [𝑆4 ]

V. Calculul probabilităților grupelor de stări


𝐹: 𝑃𝑠 = 𝑃𝑠1 + 𝑃𝑠2 + 𝑃𝑠3 = 0,931 + 0,049 + 0,019 = 0,999
𝐷: 𝑄𝑠 = 𝑃𝑠4 = 0,001

VI. Media timpului de bună funcționare a sistemului


𝑀𝑇𝐹𝐵 = 𝑃𝑆 ∙ 𝑇 = 0,999 ∙ 87600 = 87512,4ℎ

VII. Media timpului de nefuncționare a sistemului


𝑀𝐷 = 𝑄 ∙ 𝑇 = 0,001 ∙ 87600 = 87,6ℎ

VIII. Verificare:
𝑀𝑇𝐹𝐵 + 𝑀𝐷 = 87512,4 + 87,6 = 8760ℎ
𝑃𝑠 + 𝑄𝑆 = 0,999 + 0,001 = 1,000
Așa cum se poate urmări din cele două exemple de calcul, probabilitatea de bună
funcționare a sistemului realizat din aceleași elemente conectate în paralel este mult
mai mare decât a sistemului realizat din elementele conectate în serie:
0,999 ≫ 0,931
La fel și durata de bună funcționare în cazul sistemului cu elementele conectate în
paralel față de sistemul serie:

67
87512,4 ≫ 81555,6
Durata de nefuncționare a sistemului paralel este numai 87,6 h, mai puțin de 4 zile
din 10 ani în comparație cu 6044ℎ~243 zile din 3650 zile.
Capitolul 7. METODA LANŢURILOR MARKOV PENTRU
FIABILITATEA SISTEMELOR

7.1. Definirea lanţului Markov


Lanţul Markov (în engleză Markov Chain) este un proces probabilistic x(t ),
care prezintă proprietatea lui Markov şi anume, faptul că starea curentă a siste-
mului captează întregul istoric al acestuia, iar starea lui viitoare va depinde numai
de starea lui prezentă [1, 8, 12]:
PX (t )  x / X (tn )  xn , X (tn1 )  xn1 , X (t0 )  x0  
 X (t )  x / X (tn )  xn , (7.1.1)
unde: t  tn  tn1.
Trecerea sistemului dintr-o stare i într-o stare j se numeşte tranziţie. Fiecărei
tranziţii i se asociază o probabilitate de tranziţie (intensitate de tranziţie) pentru a
desemna probabilitatea ca sistemul să fie în starea j la momentul t + t,
condiţionată de faptul că a fost în starea i la momentul :
pij (t , )  PX (t )  j / X ( )  i. (7.1.2)
Din definiţie rezultă că estimarea stării viitoare a sistemului este complet
determinată (în sens probabilistic) de cunoaşterea stării lui prezente.

Analiza Markov este o tehnică cantitativă şi poate fi distinctă (utilizând


probabilităţi de schimbare între stări) sau continuă (utilizând rate de schimb între
stări). Deşi analiza Markov poate fi efectuată şi de mână, natura tehnicilor o face
adecvată utilizării pe programe informatice, multe existând în mod curent pe piaţă.
Tehnica de analiză Markov poate fi utilizată pe diverse structuri de sistem,
reparabile sau nu incluzând:
- componente independente în paralel;
- componente independente în serie;
- sisteme cu sarcină pusă în comun
- sisteme în stand-by, inclusiv cazurile în care se poate produce o defecţiune
de comutare;
- sisteme degradate.
Datele de intrare în analiza Markov sunt următoarele:
- lista diverselor stări ale sistemului, sub-sistemului sau ale părţii componente
care pot fi de exemplu complet operaţionale, parţial operaţionale (adică în stare
degradată), defecte etc;
- înţelegere clară a tranziţiilor posibile care necesită a fi modelate. De
exemplu o pană la un cauciuc de maşină trebuie să ia în calcul starea roţii de
rezervă şi deci frecvenţa inspecţiilor;

69
- rata de trecere de la o stare la alta, reprezentată de regulă fie prin
probabilitatea trecerii de la o stare la alta pentru evenimente individuale sau rata de
defectare (λ) şi/sau rata reparaţiilor (µ) pentru evenimentele continue.
Tehnica de analiză Markov este centrată în jurul conceptului de „stări”, de
exemplu „disponibil” şi „defect” şi pe tranziţia dintre cele două stări în timp
considerând probabilităţi constante de tranziţie. Este utilizată o matrice a
probabilităţilor aleatorii de tranziţie pentru a descrie trecerea de la o stare la alta şi
a permite calcularea diverselor outputuri.
Ipotezele care stau la baza studiului fiabilităţii unui siste, utilizând lanţuri
Markov sunt:
1. fiabilitatea sistemului se poate estima în funcţie de fiabilitatea tuturor
elementelor sale;
2. perioada de timp în care este analizat sistemul este cea de maturitate,
caracterizată prin  = constant;
7. tranziţiile dintr-o stare în alta se pot produce în orice moment;
4. defectarea sau repararea unui element al sistemului este independentă de
starea celorlalte elemente;
5. defectarea unui element al sistemului este un eveniment, a cărui probabilitate
de realizare într-un interval de timp, t, este   t, probabilitate care depinde
numai de mărimea intervalului, nu şi de timpul anterior de funcţionare;
7. repararea unui element al sistemului este un eveniment a cărui probabilitate
de realizare într-un interval de timp t este t;
7. probabilitatea defectării şi reparării unui element al sistemului în intervalul t
este 0 (t  t = 0) adică în acest interval poate să aibă loc o singură tranziţie, fie
defectare, fie reparare.
Considerând că în mod sigur (cu certitudine) într-un interval de timp foarte mic,
d t, sistemul nu poate decât să-şi păstreze starea i de la momentul iniţial sau să
tranziteze într-o stare j, se poate scrie:
n n
 pij  1 sau  qij  1. (7.2.3)
i 1 j 1

Lanţul Markov este omogen, în raport cu timpul, dacă probabilitatea de trecere


nu depinde de valoarea iniţială a timpului de observare, ci numai de durata

tranziţiei (d t ) şi că i, j  S , Pij  R , astfel încât:
Pij (tn1  tn )  PX (tn1  i / X (tn )  j. (7.1.4)

Evenimentele X (t )  j, j  S , formând un sistem complet, se


poate scrie:

70
Px(t  dt)  i   S x(t  d t )  i / x(t )  j Px(t )  j. (7.1.5)
jS

Introducând notaţia:
Pi (t )  Px(t )  i, t  R  , i  S , (7.1.6)

relaţia (7.1.4) se poate scrie:


Pi (t  dt)   Pj (t ) aij dt  P X (t  dt)  i x(t )  j Pi (t ) 
j  S  i

 
  Pj (t )aij dt  1  ah i dt Pi (t ). (7.1.7)
j  S  i   h  S i  
unde
pij (t )
aij  lim (7.1.7)
t 0 t
reprezintă rata de tranziţie din starea i în starea j cu i  j, la momentul
t + d t.
În mod similar
pii (t )  1
aii  lim (7.1.7)
t 0 t
este rata de tranziţie din starea i în starea i (de fapt menţinerea aceleiaşi stări i ).
Ţinând seama că
 pij 1, (7.1.8)
jS

se poate scrie:
aij    a ji . (7.1.9)
jS
j i

Relaţia 7.1.9 devine:


Pi (t  dt)   Pj (t )dt  (1 aij )dt  Pi (t ). (7.1.10)
jS
j i

Pentru dt  0 ecuaţia 7.1.10 devine o ecuaţie diferenţială, de fapt un sistem de


ecuaţii diferenţiale matriciale:

71
dPi (t )
  ai j Pj (t ). (7.1.10)
dt jS

Soluţia acestui sistem este dificil de obţinut pentru cazul general. În caz
dPi
staţionar, când t   (pentru un timp de observare suficient de mare), lim  0,
t  dt

rezolvarea sistemului este mai simplă. Dacă se adaugă şi condiţia de normare,


sistemul de ecuaţii (7.1.10) se reduce la un sistem de ecuaţii liniare:
  aij Pj  0,
 jS
 (7.1.11)
  Pj (t )  1.
 jS
Lanţul Markov admite soluţie staţionară care este unică dacă este un lanţ
ireductibil. Aceasta înseamnă că mulţimea stărilor S formează o clasă închisă, care nu
poate fi părăsită, adică, fiecare stare poate fi atinsă, dacă se porneşte din oricare altă
stare, dar numai din mulţimea stărilor sistemului.

7.2. Matricea stărilor de tranziţie


Sistemul de ecuaţii diferenţiale (7.4.10) se poate scrie şi sub forma matriceală
astfel:
 dP 
 dt   A(t ) P(t ) , (7.2.1)
 
unde:
- A(t )  (aij ) este matricea Markov, matricea ratelor de tranziţie;
- P (t ) este vectorul coloană al probabilităţii de stare ale sistemului;
 dP 
-   este vectorul coloană al derivatei vectorului probabilităţii de stare.
 dt 
Matricea A(t ) este o matrice pătrată de dimensiune n, cu i, j  S , unde
termenii diagonalei (aii ) reprezintă suma cu semn schimbat a tranziţiilor care
pornesc din starea i, iar termenii nediagonali (aij ) , cu i  j, reprezintă intensitatea
tranziţiilor din starea desemnată de numărul coloanei în cea desemnată de numărul
liniei.

72
Pentru că aii    aki , rezultă că suma termenilor fiecărei linii a matricei
kS
k 1

Markov este nulă.


Soluţia ecuaţiei matriceale (7.2.1) este o matrice de forma [1,8]:
P(t )  P(0) eA t ,
T
(7.2.2)
unde:
- P(0) este matricea stărilor iniţiale;

 
- AT este matricea transpusă a ratelor de tranziţie.
Această formă a soluţiei este elegantă, dar soluţia este dificil de evaluat, fiind
 
nevoie de scrierea matricei AT .

Pentru ca matricea (7.4.13) să exprime soluţia sistemului (7.4.12), este necesară


diagonalizarea matricei transpuse a ratelor de tranziţie.
 
Dacă valorile proprii ale matricei AT sunt distincte şi ea este diagonalizată
(are n vectori proprii independenţi), atunci se poate scrie:
 
AT  V  D V 1 ,   (7.2.3)
unde:
- matricea D este o matrice diagonală de forma:
 1 0 ... 0
0  ... 0 
D 2
, (7.2.4)
 ... ... ... ... 
 
0 0 ...  n 

iar matricea D k este de forma:


 1k 0 ... 0
 
 k
Dk  
0 2 ... 0
. (7.2.5)
 ... ... ... ... 
 
 0 0 ...  nk 

Valorile proprii 1, ..., n se obţin ca soluţii ale ecuaţiei:

 
det AT   T   0.  (7.2.6)

73
- V  reprezintă matricea formată din vectorii proprii V1  , V2  , ..., Vn  ai

 
matricii AT , adică:

V    V1 V2 ... Vn   , (7.2.7)

unde vectorul propriu Vi  este o matrice coloană, obţinut ca soluţie a ecuaţiei:

A   I  V   0.
T
i (7.2.8)

Matricea eD t se poate scrie, prin dezvoltare în serie Taylor în jurul lui t = 0,
sub forma:

eD t  I   Dt 


D t  D  t
2 2 3 3
 .... 
2! 3!
  12t 2 
 1   1   ... 0 ... 0 
 2! 
  22t 2 
 0 1     ... ... 0
2
2! 
     
  t
2 2 
 0 0 ... 1   n  n  ...
 2! 

 e 1t 0 ... 0 
  2t 

0 e ... 0 
. (7.2.9)
     
 
 0 0 ... e nt 

Cu acestea, soluţia (7.2.9) se poate aduce, în final, sub forma elegantă:


P(t )  V  eDt  V 1  P(0). (7.2.10)
Dacă modelul Markov admite soluţie staţionară, aceasta va fi de forma unei
matrici coloană P  = Pi care se obţine ca soluţie a ecuaţiei:

A  P  0.
T
(7.2.11)

74
Pentru a ridica nedeterminarea, la ecuaţiile (7.2.10) trebuie adăugată condiţia ca

 
stările sistemului să formeze un complet de evenimente   Pi  1 .
iS 
7.3. Exemplu de pentru matricea stărilor de tranziţie
7.3.1. Fie un sistem cu restabilire, cu două stări, S  F , D , unde F cores-
punde stării funcţionale şi D - celei de defect. Ratele de defectare şi cele de
reparare sunt constante, egale cu  şi, respectiv cu . Probabilităţile de tranziţie
din starea de funcţionare în cea de defect şi invers (din starea de defect în stare de
funcţionare) sunt a12   şi, respectiv a21  . Celelalte probabilităţi, de
menţinere în aceaşi stare, de funcţionare sau de defect sunt: a11   şi a22  .
Graful de tranziţie al stărilor este dat în figura 7.1.

Figura 7.1. Graful de tranziţie al stărilor unui sistem simplu cu două stări

Matricea tranziţiilor şi transpusa sa sunt:


  
A  
  
, A   
T  
  
. (7.3.1)
 
Ecuaţia din care se află valorile proprii este:
   
 
det AT   I       
 0, (7.3.2)

adică
(   )(   )     (     )  0. (7.3.3)
Din rezolvarea ecuaţiei de mai sus se obţine:
 1  0 şi (7.3.3)

 2  (   ) . (7.3.3)

75
Matricea diagonală a valorilor proprii este:

D   
0 0
. (7.3.4)
0  (   )
Se poate scrie imediat şi matricea e D  t 
e    10
Dt 0 
   t  . (7.3.5)
 e 
Vectorii proprii se obţin în felul următor:
det  A   I  V   0,
T
1 1 (7.3.6)

     x 
      y   0, (7.3.7)
  
1
 x  y  0  V1      . (7.3.8)
 
 

det  A   I  V   0.
T
2 2 (7.3.9)

   x 
     0, (7.3.10)
  
    y 

x  y  0,
 (7.3.11)
x  y  0,

V2   
1
 . (7.3.12)
 1
Matricea vectorilor proprii este:
1 1
V     
, (7.3.13)
  1
 
iar inversa sa:

76
   
    
V 
1
 . (7.3.14)
  
 
       
Se obţine în final, conform (7.2.15), vectorul de stare al sistemului:
   
1 1  1 0    
P(t )         1
 1 0 e (    )t     
    0
  
       
(7.3.15)
   (    )t 
       e 
 .
    e (    )t 
       

7.4. Etapele aplicării metodei lanţurilor Markov


Etapele aplicării acestei metode pentru evaluarea fiabilităţii unui sistem sunt:
I. Stabilirea datelor de intrare:
- structura sistemului analizat,
- starea iniţială a sistemului,
- ratele de defectare,  i , şi de reparare,  i ale fircărui element..
II. Întocmirea tabelului de stări şi tranziţii posibile, luând în considerare
toate stările prin care pot trece toate elementele sistemului (funcţional - F, defect -
D, de rezervă - Rz sau revizie -Rv).
Trecerea sistemului dintr-o stare în alta este determinată de defectarea sau
repararea unui singur element al sistemului, dar poate fi determinată şi de
efectuarea unor operaţii de căutare, ca urmare a unei revizii programate
(mentenanţă preventivă) sau a trecerii sistemului de pe elementul de rezervă pe cel
de bază.
În funcţie de structura sistemului analizat, pot apare următoarele tranziţii:
- trecere de la starea de funcţionare la cea de defect;
- trecere de la starea de funcţionare la cea de defect şi apoi la rezervă;
- trecere de la starea de funcţionare la cea de defect, la cea de rezervă şi apoi la
revizie;
- trecerea de la starea de defect la cea de funcţionare, direct sau prin starea de
rezervă.

77
În tabelul 7.1 sunt prezentate stările caracteristice ale unui sistem format din
două elemente, care poate avea numai 2 stări, funcţional (F) şi defect (D). În figura
7.1 au fost prezentate tranziţiile între aceste stări (funcţional/defect), iar în figura
7.2 sunt prezentate trei stări caracteristice ale unui element: funcţional (F) - defect
(D) - rezervă (Rz), cu probabilităţile de tranziţie în fiecare stare.
Tabelul 7.1
Nr. Starea
F D
stare sistemului
0 1, 2 - F
1 1 2 D
2 2 1 D
3 - 1, 2 D

Tranziţiile marcate cu linie punctată indică faptul că acestea nu apar, dacă


elementul de bază nu este disponibil: dacă el a fost reparat este pus imediat în
funcţiune, nu este păstrat în rezervă.

Figura 7.2. Trei stări caracteristice ale unui element de sistem: F, D, Rz

Notaţiile din figura de mai sus au următoarea semnificaţie:


- , Rz şi Rz ratele de defectare ale unui element, care marchează tranziţiile
dintre următoarele stări (FD ), (FRz ) şi respectiv (RzD);
-  - rata de reparare a unui element.
III. Trasarea grafului stărilor:
Graful stărilor se formează pe baza tabelului de stări. Acest graf oferă
o imagine asupra stărilor şi tranziţiilor dintre stări, facilitând scrierea
matricei ratelor de tranziţie şi stabilirea expresiei de calcul a unor indicatori
de fiabilitate.

78
Graful stărilor se organizează pe niveluri, un nivel cuprinzând stările, care au
acelaşi număr de defecte.
Trecerile sistemului dintr-o stare în alta înseamnă o trecere dintr-un nivel în
nivelul imediat următor sau anterior, în funcţie de evenimentul, care are loc
(defectare sau reparare). Între stările aceluiaşi nivel nu există tranziţii. e
7.5.Exempl3 de aplicare a metodei
Exemplul 1. Fie un sistem format din patru componente, conform schemei din
figura 7.3.

Figura 7.3. Sistemul analizat

Să se studieze fiabilitatea acestui sistem aplicând metoda lanţurilor Markov.

Tabelul de stări pentru acest sistem este dat următorul (tabelul 7.2).

Nr. stare Elemente Elemente Starea


funcţionale defecte sistemului
0 1, 2, 3, 4 - F
1 2, 3, 4 1 D
2 1, 3, 4 2 D
3 1, 2, 4 3 F
4 1, 2, 3 4 F
5 2, 4 3, 1 D
6 1, 4 3, 2 D
7 1, 2 3, 4 D
8 2, 3 4, 1 D
9 1, 3 4, 2 D

Pentru 3 elemente defecte, oricare ar fi, sistemul este defect (următoarele 7stări)
Graful stărilor tranziţiilor acestui sistem este prezentat în figura 7.3.

79
Figura 7.3. Graful stărilor sistemului analizat

Întrucât sistemul este caracterizat de elemente binare (F - D sau 1 - 0), graful


stărilor este simetric.
IV. Scrierea matricei lui Markov A(t )  (aij )
Matricea tranziţiilor se scrie uşor pe baza grafului stărilor, respectând regulile
de formare ale acestora. Corectitudinea ei se verifică urmărind dacă:
- ordinul matricei este egal cu numărul nivelelor stărilor sistemului;
- suma intensităţilor de tranziţie de pe fiecare linie este egală cu 0 (zero).
V. Determinarea probabilităţilor de ocupare a stărilor
Dacă se urmăreşte comportarea sistemului pe termen limitat, se vor calcula
probabilităţile de ocupare a stărilor în funcţie de timp, P(t ), din sistemul (7.2.9) sau
ecuaţia (7.2.10), considerând Pi (0) cunoscute.
Dacă se urmăreşte comportarea sistemului pe o durată îndelungată (putând
aproxima t  ), se vor calcula probabilităţile absolute de ocupare a stărilor prin
rezolvarea sistemului .
VI. Calculul indicatorilor de fiabilitate
Dacă se cunosc probabilităţile de ocupare a stărilor sistemului Pi şi se
utilizează imaginea grafului stărilor, se pot determina indicatorii de fiabilitate
pentru sistemul analizat.
În rezolvarea multor probleme de fiabilitate utilizarea proceselor Markov este
mult prea complicată şi se apelează atunci la procese semi-Markov 16, 25.
Procesul semi-Markov este un proces Markov în care se fac anumite simplificări,
care uşurează identificarea stărilor sistemului.
În cazul sistemelor de programare, aceste simplificări pot fi:
- se consideră că la un moment dat se execută doar unul din modulele
programului;
- tranziţia controlului de la un modul la altul este aleatoare, astfel
încât probabilitatea de a fi apelat modulul j după executarea modulului

80
i depinde numai de cele două module i şi j, nu şi de restul modulelor
din program.
Pentru durata de execuţie a modulelor se admite orice lege de distribuţie care
descrie funcţionarea acestui modul.

Exemplul 2. Se considerară un sistem complex care poate avea numai trei


stări: de funcţionare, stare degradată şi defectă, definite ca stările S1, S2 şi
respectiv S7. Sistemul se poate afla la un moment dat într-una din cele trei stări.
Tabelul 7.3 arată probabilitatea ca starea finală a sistemului să fie de asemenea
una din stările iniţiale
Tabelul 7.3 – Matricea Markov

Starea initială
S1 S2 S3
S1 0,95 0,3 0,2
Starea finală S2 0,04 0,65 0,6
S3 0,01 0,05 0,2

În matricea Markov (matricea de tranziţie) se poate observa că suma fiecărei


coloane este 1, fiind suma tuturor tranziţiilor posibile în fiecare caz. Sistemul mai
poate fi reprezentat printr-o diagramă Markov în care cercurile reprezintă stările iar
săgeţile reprezintă tranziţia împreună cu probabilităţile aferente.
0,95

S1

0,2 0,04

0,01 0,3

S3 S2

0,2

00,05
0,65

Figura 7.4 – Exemplu de diagramă Markov a sistemului

Săgeţile de la o stare înapoi la aceeaşi stare nu sunt de regulă prezentate în


diagramă, prezentarea lor în aceste exemple având ca scop redarea unei imagini cât
mai complete.

81
Să presupunem că Pi reprezintă probabilitatea să găsim sistemul în starea i
pentru i =1, 2, 3, în care caz ecuaţiile simultane care trebuie rezolvate sunt:
P1 = 0,95 P1 + 0,30 P2 + 0,20 P3 (7.5.1)
P2 = 0,04 P1 + 0,65 P2 + 0,60 P3 (7.5.2)
P3 = 0,01 P1 + 0,05 P2 + 0,20 P3 (7.5.3)
pentru a le rezolva acest sistem se va utiliza şi o ecuaţie care descrie că suma
probabilităţilor de este 1
1 = P1 + P2 + P3 (7.5.4)

Soluţia acestui sistem de ecuaţii este 0,85, 0,13 şi 0,02 pentru stările respective
1, 2, 3 ceace indică faptul că sistemul este complet funcţional 85% din timp,
funcţional parţial 13% din timp şi nefuncţional 2% din timp.
Se iau în considerare două elemente funcţionând în paralel, fiecare trebuind să
fie operaţional pentru a asigura funcţionarea sistemului. Elementele pot fi fie
operaţionale sau nefuncţionale iar funcţionarea sistemului este condiţionată de
statutul acestor două elemente.
Stările pot fi considerate drept:
Starea 1 :Ambele elemente funcţionează corect;
Starea 2: Un element este defect şi se află în reparaţii, celălalt este în funcţiune;
Starea 3:Ambele elemente sunt defecte şi unul se afllă în reparaţii.
Dacă se presupune că rata de defectare a fiecărui element este λ şi rata de
reparare este µ, diagrama tranziţiilor de stare de este:
2 

–2 S1 S2 S3 –

 

– ( + )

Figura 7.6 –Diagrama tranziţiilor stare

Se poate observa că tranziţia de la starea 1 la starea 2 se realizează cu


probabilitatea 2λ întrucât defectarea oricăruia din elemente va duce sistemul în
starea 2.
Să luăm Pi(t) drept probabilitatea de a fi în starea iniţială i în momentul t; şi
Să luăm Pi(t + δt) drept probabilitatea de a fi în starea finală în momentul t +
δtPi(t)
Matricea probabilităţilor de tranziţie devine:

82
Tabelul 7.5. – Matricea Markov finală
Starea iniţială
P1(t) P2(t) P3(t)
P1(t + δt) -2 λ µ 0
Starea finală P2(t + δt) 2λ - (λ + µ) µ
P3(t + δt) 0 λ -µ

De reţinut că valorile zero apar întrucât nu este posibilă trecerea de la starea 1 la


starea 3 sau de la starea 3 la starea 2. de asemenea, sumele pe coloanele sunt zero
când se specifică ratele.
Ecuaţia A(t) = P1(t) + P2(t) poate fi acum exprimată astfel:
A = P1 + P2
Se obţine: A = (μ2 + 2 λ μ ) / (μ2 + 2 λ μ + λ2)

Exemplul 3. Să se estimeze funcţia de fiabilitate a unui sistem de tipul unui stik


de memorie utilizând metoda lanţurilor Markov.
Acest dispozitiv îndeplineşte trei funcţii principale de importanţă egală a căror
ordine este secvenţială:
1. Citirea datelor (CD)
2. Prelucrarea/selecţia datelor (PD)
3. Memorarea datelor (MD)
Funcţiile principale sunt realizate cu ajutorul unei combinaţii de hardware şi
software specializat.
Se consideră că dispozitivul este nereparabil, defectarea oricărui modul
necesitând înlocuirea dispozitivului.

Modelare
1. Citirea datelor: Datele sunt preluate de pe linia de comunicaţie cu ajutorul
unui circuit specializat fără a se afecta transmisia în sine şi sunt trimise circuitului
de selecţie.
2. Prelucrarea/selecţia datelor: Datele recepţionate sunt verificare şi
selecţionate pe baza unor criterii de corectitudine şi transmise modulului de
memorare spre a fi stocate.
3. Memorarea datelor: Datele sunt înscrise în cardul de memorie de tip Solid
Device pentru prelucrare ulterioară.
Putem considera cele trei funcţii ale sistemului ca 3 module funcţionale,
înseriate, aşa cum se observă în chema sistemului din figura 7.7.

83
Figura 7.7. Schema bloc a sistemul simplu de memorie

Se consideră următoarele probabilităţi de funcţionare a sistemului studiat:


Probabilitatea de funcţionare a sistemului astfel rezultat (sistem serie) va fi:
𝑅𝑠 (𝑡) = 𝑃1 ∙ 𝑃2 ∙ 𝑃3 = 0,82 ∙ 0,95 ∙ 0,99 = 0,77
Această probabilitate de funcţionare 0,77% este considerată mult prea mică, se
impune dublarea funcţiei (modulului) cu cea mai mică probabilitate de funcţionare
şi astfel schema bloc a sistemului va fi cea din figura 7.8.

Figura 7.8: Schema bloc sistemului de memorie cu redundanţă la citireadatelort

Pentru a putea calcula funcţia de fiabilitate cu ajutorul metodei lanţurilor


Markov (procese Markov cu stări discrete) vom realiza tabelul stărilor sistemului.

Nr. stare Elemente funcţionale Elemente defecte Starea sistemului


0 1, 2, 3, 4 - F
1 2, 3, 4 1 F
2 1, 3, 4 2 F
3 1, 2, 4 3 D
4 1, 2, 3 4 D
5 3, 4 1, 2 D
6 2, 4 1, 3 D
7 2, 3 1, 4 D
8 1, 4 2, 3 D
9 1, 3 2, 4 D

Funcţia de fiabilitate
Pentru a putea determina funcţia de fiabilitate vom considera pentru fiecare din
cele 4 modele următorul model Markov cu două stări, funcţionare F şi defect D,
model prezentat în figura 7.8.

84
Figura 7.8. Graful de tranziţie al stărilor per modul

Următoarea etapă a determinării funcţiei este realizarea grafului stărilor


tranziţiilor sistemului pe baza tabelului stărilor şi modelului Markov mai sus
prezentate. Graful stărilor sistemului este prezentat în figura 7.9.

Figura 7.9. Graful stărilor sistemului

Deoarece am stabilit faptul că nu se vor efectua reparaţii şi faptul că cele două


module de comunicare serială se află conectate în paralel permanent, vom putea
simplifica diagrama de stări Markov ca în figura 7.10.

Figura 7.10. Diagrama de stări Markov simplificată

85
Pe baza diagramei de mai sus se scrie matricea lui Markov astfel:

[𝐴(𝑡)] = (𝑎𝑖𝑗 )

1 − 2𝜆1 2𝜆1 0 0
0 1 − 𝜆2 𝜆2 0
𝐴(𝑡) [ ]
0 0 1 − 𝜆3 𝜆3
0 0 0 1 − 𝜆4
Din condiţia obligatorie ca suma intensităţilor de tranziţie pe fiecare coloană să
fie egală cu zero, vom obţine următoarele valori:
𝜆1 = 0,5; 𝜆2 = 0; 𝜆3 = 1; 𝜆4 = 0
Se pot calcula probabilităţile de ocupare a stărilor conform relaţiei:

𝑑𝑃
[ ] = [𝐴(𝑡)] ∙ [𝑃(𝑡)]
𝑑𝑡
adică:
1 − 2𝜆1 2𝜆1 0 0 0.82 0.82
𝑑𝑃 0 1 − 𝜆2 𝜆2 0 0.82 0.82
[ ]=[ ]∙[ ]=[ ]
𝑑𝑡 0 0 1 − 𝜆3 𝜆3 0.95 0.69
0 0 0 1 − 𝜆4 0.99 0.99

Cu ajutorul metodei de calcul a fiabilităţii sistemelor paralele vom calcula


fiabilitatea pentru elementul compus din 𝑃1 şi 𝑃2 şi vom obţine:
𝑅𝑝12 (𝑡) = 1 − (1 − 𝑃1 ) ∙ (1 − 𝑃2 ) = 1 − (1 − 0,82) ∙ (1 − 0,82) = 0,96
Observăm că această probabilitate este mai mare decât cea a oricăruia dintre
elementele 1 sau 2 luate separat.
Probabilitatea de funcţionare a sistemului astfel rezultat conform calculului
pentru sistemul serie obţinut va fi:

𝑅𝑠 (𝑡) = 𝑅𝑝12 ∙ 𝑃3 ∙ 𝑃4 = 0,96 ∙ 0,95 ∙ 0,99 = 0,90


Se observă o creştere semnificativă a fiabilităţii sistemului, probabilitatea de
funcţionare crescând semnificativ de la 0,77 în cazul utilizării unui singur element
de comunicare la 0,90 în cazul utilizării a două elemente legate în paralel.

86
Capitolul 8. METODE PENTRU ESTIMAREA
INDICATORILOR DE FIABILITATE

8.1. Metode de estimare. Generalităţi


Conform terminologiei statistice, estimarea unui parametru este punctuală dacă
rezultă din calculul unei valori orientative a parametrului pe baza unei relaţii
matematice folosind rezultatelor experimentale. Pentru ca valoarea estimată
punctual să fie căt mai apropiată de cea adevărată se folosesc metode adecvate, ce
vor fi prezentate în acest capitol.
Limitele de încredere definesc, în jurul estimatorului punctual, un interval de
încredere care include valoarea adevărată a indicatorului de fiabilitate, cu o
anumită probabilitate, numită nivel de încredere.
Intervalul de încredere este cu atăt mai mic (deci estimaţia este mai precisă) cu
cât pentru calcul sunt disponibile de un volum mai mare de informaţii, rezultate din
observaţii (fie din încercărcări în laborator, fie din exploatare).
Intervalul de încredere poate fi unilateral sau bilateral.
În cazul unui interval unilateral pentru anumiţi indicatori şi anumite legi de
repartiţie statistică se dă limita inferioară (inf), pentru alţi indicatori sau alte legi de
repartiţie statistică se dă limita superioară (sup). Dacă se dă o singură limită şi nu
se specifică felul ei, este vorba de limita inferioară.
În cazul unui interval bilateral, se dă, în acelaşi timp, o limită inferioară şi o
limită superioară. Intervalul de încredere include valorile adevărate ale indicatorilor
de fiabilitate, cu o anumită probabilitate. Această probabilitate este dată în general
în funcţie de  sau , care au următoarea semnificaţie:
-  reprezintă probabilitatea de a respinge o ipoteză, deşi ea este adevărată.
Aceasta este considerată o eroare de ordinul I. În statistica referitoare la fiabilitate,
la fel ca şi în calitate,  se mai numeşte şi riscul furnizorului şi reprezintă
probabilitatea de a respinge un lot de produse/componente, deşi el este bun;
-  reprezintă probabilitatea de a admite o ipoteză deşi ea este falsă. Aceasta
este considerată o eroare de ordinul II. În statistica referitoare la fiabilitate  se
mai numeşte riscul beneficiarului şi reprezintă probabilitatea de a accepta un lot de
produse/componente, deşi el nu este bun.

8. 2. Metoda verosimilităţii maxime (Maximum Likelihood Method)


Una dintre cele mai utilizate metode de estimare punctuală este metoda
verosimilităţii maxime, conform căreia valoarea estimată punctual este aceea care
maximizează probabilitatea de apariţie a rezultatelor experimentale [9, 16, 26].
Probabilitatea asociată rezultatelor experimentale se numeşte funcţie de

87
t
verosimilitate şi se notează cu L  , unde t este vectorul rezultatelor
 
experimentale iar  este parametrul de estimat.
Metoda verosimilităţii maxime este o metodă uzuală pentru estimarea
punctuală a parametrilor unei distribuţii statisice, serveşte la estimarea unui
indicator de fiabilitate fără a face ipoteze privind natura legii de repartiţie a
timpului de funcţionare; este deci o metodă neparametrică.
Dezavantajul metodelor neparametrice este legat de faptul că valorile estimate
nu pot fi extrapolate dincolo de intervalul de timp în care se desfăşoară
experimentul.
Se consideră că densitatea de probabilitate este cunoscută şi depinde de s
parametri 1, 2, ..., s, adică este de forma f (ti ,  k ) (i = 1, ..., n ;
k = 1, ..., s).
Funcţia de verosimilitate L( ) se defineşte ca funcţia de densitate de
probabilitate reunită a variabilelor aleatoare t1, t2, ..., tn:
n
L( k )   f (ti ,  k ). (8.3.1)
i 1

Valoarea cea mai verosimilă (cea mai probabila a fi obţinută) a parametrului 


este aceea pentru care funcţia L( k ) are valoarea maximă. Dupa cum se ştie de la
Analiza matematică, această cerinţă se îndeplineşte dacă derivata parţială a funcţiei
în raport cu parametul respectiv se anulează.
Estimarea de maximă verosimilitate pentru ˆk (semnul pus deasupra
simbolului desemnează, aşa cum am mai specificat valoare estimată a lui ; se mai
notează şi ca valoare medie a estimatorului  k ) se obţine prin maximizarea funcţiei
de verosimilitate L( k ), în raport cu  k . Valorile parametrilor 1 ,  2 , ...,  n se
determină rezolvând sistemul de ecuaţii de verosimilitate, respectiv sistemul de
derivatele parţiale ale funcţiei de verosimilitate în raport cu parametrii de interes.
Ecuatia (8.3.1) în practica se dovedeste dificil de aplicat, practic este mai uzual
a se deriva logaritmul natural al funcţiei L( k ) (pentru că funcţia logaritmică este
strict crescătoare), respectiv:
 lnL( k )
 0. (8.3.2)
 k

Soluţiile sistemului de ecuaţii (8.3.2) se numesc estimaţii de verosimilitate


maximă.

8.3. Testul secvenţial al lui Wald


Testul secvenţial al lui Wald (Abraham Wald, nascut la Cluj în 1902)
constituie o metodă de obţinere rapidă a deciziei de acceptare sau respingere a unui
lot încercat prin completarea unui grafic, numit Planul lui Wald. Este denumit şi

88
planul secvenţial al lui Wald întrucât porneşte de la încercări de fiabilitate de tip
secvenţial [8, 26, 52].
Graficul planului are axele TS (timpul cumulat de încercare până la luarea deciziei
de întrerupere a încercării) şi r (numărul de defectări înregistrate). În aceste coordonate
se trasează două drepte paralele AN şi RN, corespunzătoare limitelor de acceptare,
respectiv de respingere a lotului de N elemente. Se procedează secvenţial, marcându-se
pe plan, după fiecare defectare (r = 1, 2, 3, ..., n ), punctul de coordoate (TS, r ), aşa
cum se poate urmări în figura 8.1.

Figura 8.1. Testul secvenţial al lui Wald

În momentul în care curba experimentală obţinută intersectează una din drepte,


încercarea se opreşte şi se ia decizia de acceptare sau respingere.
Dreptele limită AN şi RN se determină astfel:
a) Se stabilesc valorile următoarelor mărimi:
0 -valoarea acceptabilă MTTF,
1 -o valoare inaceptabilă a MTTF (1 > 0),
 -riscul furnizorului (probabilitatea maximă de a respinge un lot acceptabil cu
 = 0),
 -riscul beneficiarului (probabilitatea maximă de a admite un lot inacceptabil
cu  = 1).
b) Pe caracteristica operativă pentru încercare de forma celei prezentată în
figura 8.2, se deduc probabilităţile de acceptare:
Pa (0 )  1   , Pa (1 )   . (8.3.1)
c) Pentru încercarea cu numărul de ordine r , se introduc notaţiile:
- P0 (r ) -probabilitatea ca să fie valabilă ipoteza H 0 :   0 ,
- P1 (r ) -probabilitatea ca să fie valabilă ipoteza H1 :   1.

89
Figura 8.2. Caracteristica operativă pentru
determinarea probabilităţii de acceptare

Notă: reprezentarea din figură nu păstrează proporţiile pentru a pune în


evidenţă mărimile  şi .
P (r )
d) Se calculează raportul 1 ţinând seama de faptul că numărul de
P0 (r )
defecţiuni r în timpul 𝑇Σ are o repartiţie Poisson, respectiv:
T
r 
T  e 
P(r )     . (8.3.2)
   r!
Prin urmare:
r  1 1 
P1 (r )   0   T  1  
 0 
  e . (8.3.3)
P0 (r )  1 

e) Testul lui Wald constă în a forma pentru fiecare valoare a lui r raportul
P1 (r )
şi a-l compara cu două numere date a şi b aflate în relaţia b < a, ambele
P0 (r )
stabilite pe baza caracterisiticilor operative conform relaţiilor:
1  
a şi b  . (8.3.4)
 1
Dacă
P1 (r ) 
 , (8.3.5)
P0 (r ) 1  

atunci lotul se acceptă, conform ipotezei H0.


Dacă

90
P1 (r ) 1  
 , (8.3.6)
P0 (r ) 
atunci lotul se respinge, conform ipotezei H1.
Dacă
 P (r ) 1  
 1  , (8.3.7)
1   P0 (r ) 
testul se continuă.
Condiţia de continuare a testului, cu notaţiile de la (8.3.16) se mai poate scrie:
P (r )
b 1 a (8.3.7)
P0 (r )

0 1 1
sau ln b  r ln  T     ln a. (8.3.7)
1  1  0 
0
Împărţind cu ln , relaţia (8.3.19) devine:
1

1 1 1 1
T    T   
 0   0 
  1   1
ln b ln a
r . (8.3.8)
   
ln 0 ln 0 ln 0 ln 0
1 1 T1 1
Introducând notaţiile:
1 1

1  0
m , (8.3.9, a)

ln 0
1

ln
 1 ,
ln b
n1  (8.3.9, b)
0 
ln ln 0
1 1
1 
ln
n2 
ln a
  ; (8.3.9, c)
 0
ln 0 ln
1 1
relaţia (8.3.8) se poate scrie:
mT  n1  r  mT  n2 . (8.3.10)

Se constată că în partea dreaptă şi în partea stângă a inecuaţiei sunt ecuaţiile a


două drepte paralele:
91
AN  mT  n1, (8.3.11, a)
RN  mT  n2 . (8.3.11, b)
Aceste drepte împart planul (T , r ) în trei regiuni: regiunea I - de acceptare a
ipotezei H0, regiunea II - de respingere a ipotezei H0 şi regiuunea III - de
continuare a testului, aşa cum se poate observa în figura 8.1.

8.4. Probleme
1. Să se estimeze valorile ratei de defectare, , pe baza duratelor de defectare
(t1, t2, ..., tn) pentru sistem pentru care, pentru timpul dintre defectării este valabilă
distribuţia exponenţială.
Rezolvare:
Estimatorul (parametrul) în acest caz, este .
Funcţia de verosimilitate este:
n
n   ti
Lt ,     e  t i  n e i 1
, (8.3.3)
i 1

Valoarea maximă a estimatorului se obţine din egalarea cu 0 a derivatei


logaritmului funcţiei Lt ,   în raport cu estimatorul 
n
ln L   n ln     ti , (8.3.3)
i 1

 lnL( ) n n
   ti  0. (8.3.4)
  i 1
Soluţia ecuaţiei 8.3.4 este:
n 1
 n
 . (8.3.5)
t
 ti
i 1

2) Pentru cazul distribuţiei binomiale (Bernoulli), se consideră  k variabilă


aleatoare care poate lua valorile 1 şi 0, cu probabilităţile p şi respectiv q  1  p.
Să se estimeze probabilitatea p pe baza unei selecţii repetate 1 , ...,  k ,...,  n .
k nk
Probabilitatea ca 1  x1 , ..., n  xn este egală cu ( x1, ..., xn )   p q ,
dacă n  k dintre valorile x1, ..., xn sunt egale cu 0, iar k sunt egale cu 1 .
Ecuaţia verosimilităţii maxime se poate scrie:
 ln   k nk
 ln( p k q n  k )   , (8.3.6)
p p p q
k nk k nk
 0  0 (8.3.7)
p q p 1 p

k x1  ...  xn
p  (8.3.8)
n n

92
1 n
Aşadar, valoarea medie a selecţiei, x   xi (8.3.8) este o estimaţie de
n i 1
verosimilitate maximă a probabilităţii p.
3. Un lot format din 100 unităţi de memorie RAM au fost supuse la o
probă de Funcţionare într-un mediu controlat care avea următorii parametrii:
- temperatura mediului: 65oC
- umiditate relativă: 90%
- timp de 14 zile (14x24=336h)
După acest timp de funcţionare în mediu se va determina numărul de
dispozitive defecte şi se va opri încercarea.
Să se calculeze indicatorii de fiabilitate şi apoi aplicând metoda
verosimilităţii maxime să se estimeze valoarea ratei de defectare.
Dacă numărul de dispozitive defectate este sub 10%, în cazul nostru 10
buc., se va considera că memoria a trecut acest test şi că el poate avea durata de
viaţă de un an pentru parametrii de funcţionare.
În tabelul următor sunt prezentaţi timpii de defectare ai dispozitivelor
defectate în acest interval.
Nr. element Timp defectare Nr. elemente rămase
funcţionale
1 t1 = 2 h 99
2 t2 = 15 h 98
3 t3 = 70 h 97
4 t4 = 121 h 96
5 t5 = 122 h 95
6 t6 = 238 h 94
7 t7 = 301 h 93
8 t8 = 320 h 92

Durata de funcţionare cumulată este:


8

𝑇Σ = ∑ 𝑡𝑖 + (𝑁 − 𝑟)𝑇 = 1189 + 92 ∙ 336 = 32101ℎ


𝑖=1

Estimarea punctuală a funcţiei de fiabilitate este dată de raportul dintre


numărul de componente rămase şi cele funcţionale de la începutul testului.
𝑁−𝑟 92
𝑅̂ (𝜏) = = = 0,92
𝑁 100
Probabilităţile de funcţionare şi de defectare ale elementelor componente
din lotul testat este:
𝑃(𝑡 < 𝑇) = 1 − 𝑒 −𝑇/𝜃
𝑃(𝑡 ≥ 𝑇) = 𝑒 −𝑇/𝜃

Principalii indicatori de fiabilitate estimaţi punctual prin încercarea


trunchiată fără înlocuire de mai sus sunt:
93
𝑟𝑡
𝐹̂ (𝑡) = 1 − 𝑒𝑥𝑝 (− )
𝑇Σ
𝑟 𝑟𝑡
𝑓̂(𝑡) = ∙ 𝑒𝑥𝑝 (− )
𝑇Σ 𝑇Σ
𝑟𝑡
𝑅̂ (𝑡) = 𝑒𝑥𝑝 (− )
𝑇Σ
𝑟 92
𝑧̂ (𝑡) = = = 2,86 ∙ 10−3
𝑇Σ 32101
𝑇Σ 32101
𝑚
̂= = = 348,92
𝑟 92
𝑇 2
̂ = ( Σ ) = 121747,90
𝐷
𝑟
𝜎̂ = 348,92
Din indicatorii calculaţi mai sus se poate concluziona că dispozitivul testat
îşi îndeplineşte condiţiile de funcţionare.
În cazul dispozitivului testat dacă dorim estimarea valorii ratei de
defectare 𝜆 pe baza duratelor de defectare, vom considera estimatorul 𝜆 şi funcţia
de verosimilitate de forma:
8
8
𝐿(𝜆)Ζ = ∏ 𝜆𝑒 −𝜆𝑡𝑖 = 𝜆𝑛 𝑒 −𝜆 ∑𝑖=1 𝑡𝑖
𝑖=1

După logaritmare şi rezolvarea ecuaţiei


 𝑙𝑢 𝐿(𝜆)
𝜆
se obţine valoarea estimată pentru rata de defectare
 𝑙𝑢 𝐿(𝜆)  𝜆𝑛 𝑒 −𝜆𝑇Σ
= = 𝑛𝜆𝑛−1 − 𝜆𝑇Σ
𝜆 𝜆
𝑛 𝑛
𝑛𝜆𝑛−1 − 𝜆𝑇Σ = 0 ⇒ = 𝑇Σ ⇒ 𝜆 =
𝜆 𝑇Σ
Pentru datele experimentale obţinute, se obţine:
8 8
𝜆= = = 6,73 ∙ 10−3
𝑇Σ 1189

94
Capitolul 9. TESTAREA SOFTWARE
9.1 Cerinţe fundamentale privind testarea software
Testarea software reprezintă o investigație empirică, o sumă de proceduri, operaţii şi
acţiuni menite sa asigure buna funcţionare a programelor, realizată cu scopul de a oferi
informații referitoare la calitatea programului supus testării, ţinând seama de contextul
operațional în care va fi folosit programul.
Testarea software poate fi definită ca un proces de validare și verificare a faptului că
un program/aplicaţie/produs software corespunde cerințelor de business și celor tehnice
care au stat la baza proiectării și implementării lui, rulează și se comportă corespunzător
așteptărilor.
Tehnicile de testare se aplică în procesul proiectare şi codificare, de execuție a
programului sau aplicaţiei în scopul identificării defectelor/erorilor de software.
Testele de acceptare au două scopuri:
- să detecteze deviaţii faţă de comportarea prevăzută a programului şi
- să prevină furnizarea unor rezultate periculoase.
Testarea software poate fi implementată la orice etapă în cadrul procesului de
dezvoltare, deși cele mai considerabile efortului de testare se fac în etapa de după
codarea propriu-zisă şi în etapa de finisare a implementării. Se aplică întotdeauna pro-
gramelor noi care sunt supuse unor teste de acceptare foarte severe sau celor pentru care
se solicită un nivel de fiabilitate ridicat, dar şi programelor mai vechi care au fost
îmbunătăţite.
Prin buna functionare a software se înţelege în mod uzual:
- Respectarea specificaţiilor / cererilor clientului;
- Implementarea corecta a cerinţelor de functionare (requirements);
- Absenţa erorilor de proiectare logică şi algoritmică;
- Siguranţa datelor folosite în cadrul programului;
- Viteza optima de rulare a aplicaţiei;
- Folosirea eficienta a resurselor disponibile;
- Grad ridicat de utilizare etc.
Testarea software este o preocupare a specialiştilor apărută odată cu primele sisteme
informatice (1945-1956), iniţial orientată către componentele hardware ale sistemului de
calcul. Se considera că defectele din software, atunci când de elaborarea de soft se
ocupau specialişti, erau puţin probabil să apară. Specialiştii implicaţi în elaborarea codul
efectuau şi testarea acestuia într-o etapă distinctă numită verificare, facând şi depanarea.
În perioada 1957 - 1978 procesul de testare a început să fie efectuat cu scopul
declarat de a descoperi erori era o activitatea de analiză şi control în timpul rulării a
unui program.
În perioada '83 - '87 au apărut metodologii de evaluare care cuprind metode de
analiză, evaluare și testare aplicabile de-a lungul întregului ciclu de viață al aplicaţiei.
Există aşa numite Ghiduri de bune practici care propun metode de verificare și
validare, în funcție de caracteristicile fiecărui soft, necesităţile de securitate şi grupul
ţintă al acestuia. Rezultatul testării riguroase a fost scăderea numărului de defecte care
ajung nedetectate în programul final.
În ultimii ani accentul este pus pe prevenirea apariţiei erorilor în programe, urmărind
izolarea și corectarea defectelor care au potenţial de a cauza erori.

95
Testarea include atât examinarea statică a codului sursă cât și examinarea codului în
execuție în diferite condiții.

9.2.Strategii de testare
În timpul proiectării şi codificării pot apărea următoarele categorii de erori:
- erori legate de alegerea şi descrierea algoritmului:
 algoritm incorect sau corect dar inadecvat problemei;
 algoritm mai puţin performant ca precizie sau timp necesar rezolvării
problemei;
 omiterea, interpretarea greşită sau incompletă a unor părţi ale algoritmului;
 validarea incorectă şi/sau incompletă a datelor de intrare;
 inversarea răspunsurilor la un bloc de decizie;
- erori în definirea şi utilizarea datelor ce provin din variabile neiniţializate,
formate improprii de citire, contoare de capacitate insuficientă, neverificarea datelor de
intrare, aliniere/redefinire incorectă a câmpurilor, utilizarea unor cuvinte cheie ca
variabile, variabile ilegale (formate prin concatenare sau despărţite între două linii de
program);
- erori de calcule care au ca surse: expresii complicate cu posibilităţi necontrolate
de eroare; conversii implicite de tip (cu eroare de conversie, rotunjire, trunchiere);
neinterceptarea cazurilor de depăşire/subdepăşire a intervalului definit;
- erori produse în tehnica de programare cum sunt variabile şi structuri de date
globale, acces necontrolat la zone de memorie partajate, interfeţe program - subprogram
nerespectate, pasarea constantelor ca parametri transmişi prin adresă, pasarea
parametrilor de intrare/ieşire prin valoare, automodificarea programului în timpul
execuţiei, utilizarea necontrolată a mai multor limbaje cu convenţii de apel diferite;
- erori produse din neatenţie caz în care logica de control e defectuoasă, salt în
afara limitelor programului, condiţii logice compuse sau incorect negate, neprelucrarea
primei sau ultimei înregistrări, neluarea în considerare a posibilităţii de existenţă a
fişierelor vide, neprelucrarea erorilor de intrare/ieşire, depăşirea capacităţii stivei,
adresare incorectă, necontrolarea indecşilor;
- erori în contextul execuţiei datorate memoriei dinamice insuficiente sau
nealocată, periferice neoperaţionale, comunicare defectuoasă cu sistemul de operare.
Cea mai mare parte a erorilor de proiectare şi codificare sunt depistate în faza de
compilare a programului şi sunt extrase în fişierul de ieşire, într-o formă specifică
fiecărui compilator. Ca erori de codificare sunt considerate şi cele detectate în faza de
editare a legăturilor.
În timpul execuţiei programelor apar erori de genul:
- erori de echipament, care sunt legate de contextul în care se execută un program
şi care se împart în: erori în datele de intrare, erori ce decurg din neglijarea specificului
unui limbaj sau compilator (aritmetica numerelor în calculator, modul de implementare
a tipurilor şi structurilor de date pe un limbaj dat) şi
- erori de încărcare a programelor şi de apelare incorectă a diferitelor periferice

9.3. Metode de testare


9.3.1. Testarea individuala a unor unitati separate dintr-un sistem software
Metoda "White Box"
Se presupune ca tester-ul are acces în sursele programului (structuri, cod, algoritmi).
De multe ori, testarea prin aceasta metoda implica scrierea de cod sau cel putin,
urmarirea celui existent. Practic se testeaza fiecare metoda în parte initial cât şi
interoperarea metodelor.
Metoda "Black Box"
Presupune testarea programului la nivelul user-ului, plecand de la premisa că nu
cunoastem modul în care acesta funcţionează. Practic, nu luam în calcul modul în care
programul este construit şi metodele sale, ci pur şi simplu noi îi cerem orice, iar
programul trebuie să ne dea un răspuns. Pentru acest tip de testare, tester-ul trebuie sa
cunoasca rezultatele ce se asteaptă din partea programului pentru fiecare caz în parte.
Metoda "Gray Box"
Această metodă a aparut din nevoie şi practicabilitate. Este o etapă intermediară intre
"White box" şi "Black box". Ca mod de lucru, având acces la sursele programului, se
construiesc test case-urile. Dupa care, acestea sunt executate în mod Black box ca şi
user simplu, neaxându-ne în momentul executării testului pe structura interna a
programului.

9.3.2. Testul de integrare


Are ca obiectiv testarea pe diverse niveluri de integrare a modulelor. Se pune
accentul pe funcţionarea corectă a ansamblului, pe compatibilitatea dintre componente,
de asemenea se pune accent pe depistarea erorilor de interfaţă între module, păstrarea
integrităţii semantice a structurilor de date externe, eliminarea conflictelor privind
accesul la resursele de calcul.
Este indicat ca testele să fie desfăşurate într-un mediu cât mai apropiat de cel în care
sistemul va funcţiona ulterior. Sunt practicate trei tipuri de modalităţi ale testării:
- testarea de sus în jos, top-down;
- testarea de jos în sus, buttom-up;
- testarea mixtă.
Testarea de sus în jos
Este folosită numai în cazul unei conceperi descendente a sistemului. Metoda constă
din următoarele: se porneşte cu modulul rădăcină şi cu unul sau mai multe niveluri de
ordin imediat inferior; după testarea acestui schelet care probează toate posibilităţile
legăturilor (interfeţelor) se adaugă un alt nivel inferior; când s-au adăugat modulele
ultimului nivel testarea este terminată.
Modulele de nivel superior apelează module fictive de nivel inferior, care vor fi
implementate într-o anumită etapă, astfel:
- se prevede terminarea execuţiei lor dacă funcţia pe care o realizează este
corespunzătoare;
- ieşirile din aceste module se impun prin constante;
- se impun ieşiri aleatoare produse de generatoare de numere aleatoare;
- se tipăreşte un mesaj de avertizare pentru ca programatorul să fie informat că
modulul vid respectiv a intrat în execuţie.
Se observă că testarea de sus în jos se desfăşoară concomitent cu proiectarea şi
codificarea, adică se proiectează programul principal, se programează şi testează, apoi
se proiectează, programează şi testează programul principal împreună cu modulele de
nivel imediat inferior, ş.a.m.d. , până când ultimul nivel a fost proiectat, programat şi
testat. Această ultimă fază coincide cu testarea întregului sistem. Prin efectuarea testării
în paralel cu proiectarea, pe total se reduce considerabil timpul de elaborare al unui
produs program (uneori aproape cu o treime).

97
Deşi principiul testării de sus în jos pare inaccesibil, există totuşi o serie de avantaje:
se elimină testarea întregului sistem, căci nu mai este necesară; se testează mai întâi
interfeţele dintre module, eliminându-se de la început erorile dificil de detectat; micile
erori de codificare afectează numai un modul şi deci se localizează cu uşurinţă;
beneficiarii au o versiune preliminară parţial funcţională a programului; termenele de
predare sunt respectate sau chiar devansate; timpul de testare este mai bine distribuit;
testarea îmbunătăţeşte moralul programatorului, întrucât oferă acestuia şi beneficiarului
rezultate parţiale pe parcurs.
Testarea de jos în sus
Este o metodă clasică de testare şi constă în testarea individuală a modulelor urmată
de testarea ansamblului de module ca un tot unitar.
Pentru fiecare modul trebuie efectuate:
- testul de funcţionalitate - se verifică dacă modulul îndeplineşte funcţia sau
funcţiile sale;
- testul de depistare a datelor eronate ce nu corespund funcţiei şi
- testul de comportare în condiţii extreme de lucru.
Testarea sistemului nu este exhaustivă. Ea presupune verificarea sistemului din punct
de vedere al specificaţiilor sale, dar şi al performanţelor: timp de răspuns, capacitate de
lucru etc. Testele de sistem ocupă până la 30% din timpul total de realizare. Un
dezavantaj al metodei este dificultatea în stabilirea datelor de test pentru sistemul final.
Erorile cele mai dificile fiind cele legate de modul de comunicare între module date
neutilizate, date iniţializate în mai multe module, date modificate în diferite module,
rutine suplimentare de simulare.
Metoda mixtă
Presupune aplicarea simultană a celor două metode precedente, rămânând
predominantă testarea descendentă. Prin urmare se începe elaborarea proiectului într-o
manieră descendentă, dar simultan se realizează module din nivelul de bază al ierarhiei.
În acest caz testarea descendentă se desfăşoară paralel cu cea ascendentă. Acest
procedeu de concepere şi testare s-a dovedit eficient în elaborarea multor produse
program.
Nici una din metode nu rezolvă singură şi unic toate problemele de testare, sunt şi
situaţii când ordinea de abordare conţine şi bucle, metodele se adaptează situaţiilor
particulare ale programelor complexe.

9.3.3. Testarea de validare


Presupune o abordare graduală a modulelor specifice. Odată modulele asamblate şi
testate în integration test şi după ce erorile de interfaţă au fost descoperite şi rezolvate
începe seria finală de test şi anume testul de validare. Validarea este definită în diferite
moduri dar o definiţie simplă este că validarea este terminată când aplicatia software
funcţionează într-o manieră rezonabilă acceptată de client. Acceptările rezonabile sunt
definite în documentul ce cuprinde specificaţia cerinţelor şi care descrie toate atributele
cerute de client.
Specificaţiile conţin o secţiune numită criteriile de validare care reprezintă baza
testului de validitate. Pentru realizarea acestui test se pregăteşte un plan de test
împreună cu procedurile prin care se face testul. Planul şi procedurile sunt proiectate
astfel încât să se testeze cerinţele, performanţele, documentaţia, compatibilitatea,
întreţinerea cât şi procedurile de restaurare. În urma testului de validare se creează o
documentaţie cu specificare pentru fiecare element din planul de test ca
funcţia/caracteristică de performanţă:
- este conform cu specificaţia şi este acceptată;
- nu este conform cu specificaţia şi este ataşată o lista de erori sau abateri de la
specificaţie.
Pentru eliminarea erorilor descoperite în această etapă a proiectului se corectează
înainte de predare dar de cele mai multe ori trebuie să se negocieze cu clientul pentru
stabilirea metodelor pentru rezolvarea deficienţelor găsite în această etapă.
Un element important al procesului de validare este revederea configuraţiei -
configuration review. Se verifică dacă toate elementele necesare pentru configurare au
fost dezvoltate şi funcţionează la parametri stabiliţi. Este imposibil de imaginat cum
clientul va folosi în realitate produsul realizat de o companie de software, chiar dacă
acesta cuprinde un manual de utilizare.
Cei mai mulţi producători de software utilizează procese numite Alpha Test şi Beta
Test pentru a descoperi erori pe care numai utilizatorii finali le descoperă.
Testul alpha se realizează de către clienţi selectaţi, este condus de către dezvoltătorii
de software şi este de obicei într-un mediu controlat. Aplicaţia este utilizat având în
spate dezvoltatorul pentru a înregistra erorile şi problemele apărute.
Testul beta este făcut de unul sau mai mulţi clienţi finali fără nici un control din
partea dezvoltatorului. Acesta este un test într-un mediu necontrolat (ambient real) în
care clientul înregistrează toate problemele reale sau imaginare şi vor fi raportate la
intervale regulate către dezvoltător.

9.3.4. Testul de acceptare


Se efectuează pentru a valida funcţional produsul din perspectiva utilizatorului final.
Obiectivul recomandat este demonstrarea modului în care produsul se va integra în
mediul de lucru real al beneficiarului. Ca alternativă, se urmăreşte familiarizarea
utilizatorilor finali cu modul de operare a aplicaţiei, caz în care are loc o trecere în
revistă a funcţiilor aplicaţiei. Se apreciază că acest tip de testare, care implică şi
participarea viitorilor beneficiari, este pentru dezvoltător o importantă sursă de
informaţii privind contextul în care va fi utilizat sistemul.

9.3.5. Testul de sistem


Este specific sistemelor complexe care trebuie să fie operaţionale. Într-un sistem
software complex este obligatoriu să se facă şi testul de sistem.
Testul de sistem este compus dintr-o serie de teste al căror obiectiv este să testeze
evoluţia produsului software în condiţii date de sistemul hardware. Avem următoarele
teste care trebuie făcute în testarea sistemului:
- test de recuperare (recovery testing);
- test de securitate (security testing);
- test de stres (stress testing);
- test de performanţă (performance testing).
Testul de recuperare
Este un test de sistem prin care se forţează sistemul să dea o varietate de erori pentru
a putea verifica dacă restaurarea se realizează corect. Se verifică: restaurarea (automată
sau manuală), reiniţializarea, mecanismele de verificare a restaurării şi respectiv timpul
necesar pentru restaurare.

99
Testul de securitate
Presupune verificarea mecanismelor de protecţie implementate în sistem, de fapt
protecţia la intrările neautorizate în sistem. Rolul unui proiect de securitate al unui
sistem este să facă astfel încât costul de spargerea al sistemului să fie mai mare decât
beneficiile pe care le obţine prin spargerea sistemului.
Testul de stres
Presupune execuţia sistemului într-o manieră anormală. Adică se testează
confruntarea software cu situaţi anormale (multiple tranzacţii, memorie insuficientă,
spaţiu liber mic pe disc, blocarea perifericelor cu care lucrează aplicaţia etc.)
Testul de performanţă
Este proiectat să testeze în run-time performanţele sistemului. Acest test se face atât
la nivelul modulelor cât şi la nivelul global al întregii aplicaţii, dar însă pentru
verificarea cerinţelor de performanţă această testare se face după ce integrarea este
completă. Testarea de performanţă implică atât elemente software cât şi elemente
hardware.

9.3.6.Testarea regresivă
Reprezintă o treaptă deosebit de importantă pentru echipele care doresc să dezvolte
procese accelerate. Ca modalitate de lucru, prevede repetarea testării cu date de test şi în
condiţii identice, pentru fiecare nouă versiune internă a unei componente software. Prin
compararea rezultatelor testării şi identificarea diferenţelor se depistează erorile nou
apărute; acest lucru este deosebit de util pentru maniera actuală de dezvoltare a
aplicaţiilor RAD - Rapid Application Development, care implică utilizarea
instrumentelor vizuale de programare şi se caracterizează prin apariţia unui număr mare
de modificări într-un interval scurt de timp.

9.3.7.Testarea de compatibilitate
Testarea compatibilităţii presupune verificarea interacţiunii software cu celelalte
componente software cu care va coexista şi va interacţiona.
Testarea produsului pe mai multe platforme este o muncă foarte costisitoare, atât din
punct de vedere al testării cât şi din punct de vedere al rezolvării problemelor care sunt
descoperite.
Testarea compatibilităţii, realizată în beta testing, reprezintă o testare externă cu un
grup selectat ca potenţiali clienţi. Selectarea grupului se efectuează după criterii precise
întrucât rezultatele testării sunt cu atât mai concludente cu cât există garanţia că aceşti
clienţii selectaţi utilizează o diversitate cât mai mare de module.
O aplicaţie complexă are în componenţă multiple configurări de parametrii, de
variabile de mediu setări dependente de sistemul de operare, de tipul bazei de date, de
diferitele configurări pe care le permite aplicaţie în funcţie de potenţiali clienţii. Foarte
multe din aceste configurări se centraliză pe un singur calculator al clientului şi se
distribuie automat pe celelalte calculatoare.
Testarea configurării presupune verificarea îmbinării dintre setările posibile şi
ambientul software şi hardware existent. Dacă aplicaţia este proiectată să folosească
scanner trebuie să fie compatibilă cu hardware existent. Trebuie făcute setările necesare
pentru a putea utiliza un anumit tip de hardware.
Incompatibilitățile ce apar între versiuni se datorează faptului că la momentul
scrierii codului programatorul a considerat sau a testat, produsul doar pentru un singur
sistem de operare (sau un set restrâns de sisteme de operare), fară a lua în calcul
problemele ce pot apărea la schimbarea contextului de execuție, iar ultima versiune a
programului poate să nu mai fie compatibilă cu acea combinație de software/hardware
folosită mai devreme, sau poate să nu mai fie compatibilă cu un alt sistem,
compatibilitate extrem de importantă.
Testarea de compatibilitate este o "strategie orientată spre prevenire", fiind ultima
din fazele de testare

9.4. Instrumente de testare


Procesul de testare este asistat de instrumente specifice, care diminuează aspectele
de rutină. Se apreciază că utilizarea instrumentelor de testare aduce beneficii comparativ
cu efectuarea manuală a testelor, deoarece testarea manuală, chiar în cazul unei
planificări riguroase, prezintă riscul neidentificării erorilor din neatenţie sau din cauza
nerespectării riguroase a cazurilor de test prevăzute, solicită un consum intens de
resurse umane, care sunt costisitoare şi nu întotdeauna disponibile, este înceată
comparativ cu testarea automatizată, adesea apare problema dezvoltării unor noi
versiuni interne ale componentelor înainte de testarea completă a versiunilor precedente;
Dintre categoriile de instrumente pentru asistarea testării enumerăm:
- instrumente de capturare/redare înregistrează o sesiune de testare într-un fişier
script, permiţând repetarea acesteia şi sunt efectuate teste multiple în manieră automată
cu efectuarea de comparaţii asupra rezultatelor, aceste instrumente sunt eficiente în
testarea regresivă;
- instrumente de execuţie automată a testelor asemănătoare cu cele de mai sus,
dar cazurile de test sunt specificate de utilizator în fişiere script;
- analizor de acoperire evaluează gradul în care structura codului testat a fost
acoperită prin cazurile de test, astfel de instrumente sunt utile pentru identificarea
porţiunilor de cod netestate;
- generator de cazuri de test este un instrument care, pe baza unor informaţii
precum cerinţe, modele ale datelor, modele obiectuale; generază cazuri de test
semnificative, avantajul este eliminarea redundanţei în testare, prin determinarea
cazurilor de test care asigură acoperirea cât mai mare a codului; această activitate,
executată manual, este dificilă;
- generator de date de test este un instrument care foloseşte la popularea
fişierelor şi bazelor de date în vederea testării, popularea se face în general cu date
aleatoare, dar unele instrumente prevăd şi posibilitatea specificării unor condiţii;
instrumentele sunt utilizate în general pentru obţinerea unor volume mari de date
necesare testărilor operaţionale şi la capacitate maximă;
- analizor logic / de complexitate serveşte la cuantificarea complexităţii unor
porţiuni de cod; multe astfel de instrumente oferă şi reprezentări grafice ale căilor
posibile în structura codului; sunt utile pentru determinarea cazurilor de test necesare
pentru atingerea anumitor puncte din cod din rutine complexe.
- instrumente de trasare a erorilor permit gestiunea informaţiilor privitoare la
erorile detectate şi stadiul corectării lor şi centralizarea acestor informaţii pentru
urmărirea tendinţelor acestor defecte; pe baza acestor tendinţe se efectează îmbunătăţiri
în procesele de dezvoltare şi/sau mentenanţă ale organizaţiei;
- instrumente de gestionare a testării au rolul de a asista planificarea şi
organizarea elementelor implicate în testare precum fişiere script, cazuri de testare,
rezultate;

101
9.5. Testarea empirică
Are un caracter parţial şi se efectuează în etapele de analiză, proiectare, programare,
integrare module. Este atât un proces de autoverificare cât şi un proces global.
Testarea empirica se realizează în principal de către elaboratorii de programe şi mai
apoi de către utilizatorii programelor. Programul trebuie privit ca o cutie neagră. Din
documentaţie, din module de proiectare a interfeţelor rezultă structura datelor de intrare.
Cum se efectuează prelucrările, care sunt acestea, ce efecte secundare sunt generate, nu
reprezintă un element esenţial din punct de vedere al testării empirice.
Obiectivul testării empirice este acela de a pune în evidenţă că programul e bun sau
nu e bun (merge sau nu merge).
Testarea empirică se focalizează în trei puncte:
i. la nivelul datelor de intrare pentru a verifica dacă programul acceptă ca intrări
datele care definesc problema; se testează situaţii cu date mai multe/mai puţine şi egale
decât oferta.
ii. la nivelul prelucrărilor în parcurgând paşii algoritmului execuţiei sau în puncte
diferite, cu găsirea unor legături între datele oferite şi punctul în care are loc
întreruperea;
iii. la nivelul rezultatelor când se identifică rezultate incomplete structural, rezultate
complete structural şi incorecte şi respectiv situaţia în care rezultatele corespund
calitativ fără a putea fi făcute menţiuni asupra corectitudinii efective a lor.
Testarea empirică este direcţionată fie spre latura pozitivă fie spre latura negativă a
testării produsului.
În urma testării empirice prin exemple de test se obţin rezultatele concrete prin care
se defineşte comportamentul programului.

9.6. Efectuarea testării


Testarea eficientă pentru un produs complex presupune şi existenţa unor instrumente
care asistă procesul de testare pentru a automatiza acest proces. Personalul implicat în
testare trebuie să fie specializat să cunoască tehnicile de analiză, proiectare şi
programare şi să înţeleagă problema pe care aplicaţia doreşte să o rezolve.
Procesul de testare se recomandă a fi independent de producător şi de utilizator
pentru a asigura rigurozitatea rezultatelor şi a interpretării corecte a acestora.
Testarea se derulează în etape astfel:
- se formează echipa de test în funcţie de scopul testului şi de aplicaţia de testat;
Pentru sisteme software complexe creşte numărul testărilor, al specialiştilor şi expertiza
lor;
- echipa va fi împărţită pe tipuri de funcţii pe care trebuie să le testeze persoanele
grupului de test;
- se construiesc exemplele de test şi se utilizează şi exemplele de test furnizate în
specificaţie;
- se face un plan de test cuprinzând durata şi numărul de iteraţii;
- se alege metoda se testare adecvata în raport cu produsul;
- se definesc documentele/rapoartele pe care trebuie să le elaboreze membri
echipe de test, cât şi documentele care se realizează la nivelul echipei;
- se colectează erorile, le stabilesc frecvenţa şi se cuantifică efectele pe care
acestea le generează la utilizatori;
- reproduc condiţiile de producere a erorilor;
- în cadrul programării orientate obiect, testarea trebuie să cuprindă în mod
special testarea nivelurilor de încapsulare, moştenire şi polimorfism, pentru fiecare
existând tehnici de testare adecvate;
Cazurile de test trebuie să ţină seama că:
- fiecare caz de test trebuie să fie identificat unic şi asociat explicit cu clasele care
vor fi testate;
- să se spună din start scopul testului;
- trebuie realizată o lisă de paşi prin care trebui să treacă testarea ce trebuie să
cuprindă:
 listă cu stările prin care trebuie să treacă obiectul testat;
 listă de mesaje şi operaţii care trebuie făcute pentru ca testul să fie consistent;
 listă de excepţii prin care un obiect trebuie testat;
 listă de condiţii externe (exemplu: modificarea unor variabile de
environment);
 informaţii suplimentare necesare pentru a înţelege sau realiza testul.
Pe baza erorilor şi documentelor colectare în urma testării, şeful de proiect va stabili
timpii şi priorităţile în rezolvarea defectelor.

9.7. Indicatori de testare


În etapa de testare se calculează anumiţi indicatori pentru a caracteriza procesul de
testare cât calitatea sistemului testat.
Complexitatea testării (Ct ) reprezintă numărul de cazuri de test necesare raportat la
volumul aplicaţiei. Se calculează atât pe întregul produs cât şi pe un anumit modul sau
unitate funcţională. Matematic reprezintă numărul cazurilor de test raportate la unitatea
testată şi este dată de relaţia:
𝐶𝑇
𝐶𝑡 =
𝑈𝑇

unde: CT – Cazuri de test;


UT – Unitatea testată;
Cazurile de test sunt raportate la nu anumit număr de tranzacţii, un modul, un grup
de module sau întregul sistem.
Calitatea defectelor raportate (Cd) reprezintă raportul dintre defectele efective şi
totalul defectelor raportate. Se calculează cu relaţia
𝑇𝐷𝑢𝑛𝑖𝑐𝑒
𝐶𝑑 = × 100
𝑇𝐷

unde: TDunice - totalul defecte unice;


TD – totalul defectelor raportate.
Rata defectelor (Rd).reprezintă numărul de defecte efective descoperite raportate la
numărul cazurilor de test rata defectelor

𝑇𝐷𝑢𝑛𝑖𝑐𝑒
𝑅𝑑 = × 100
𝐶𝑇
unde CT – cazurile de test

103
Rata incidentelor - numărul de incidente în exploatarea sistemului (Ri) reprezintă
raportul dintre numărului de incidente şi numărul de ore de funcţionare sau numărul de
tranzacţii efectuate date de relaţia:

𝑁𝐼
𝑅𝑖 = × 100
𝑁𝑇
unde: NI – număr de incidente;
NT – număr de tranzacţii;
Prin incident se înţeleg acele erori care apar din exploatarea sistemului de exemplu:
întreruperea programului, blocarea programului, resetări de funcţii şi de stări, erori în
afişarea şi imprimarea rezultatelor saui alte comportamente neprevăzute.
Acest indicator descrie eficienţa măsurilor de întreţinere şi de corectare după
implementare a produsului-program.

9.8. Teme de studiu


1. Analizaţi metodele de testare prezentate şi aduceţi completări;
2. Pe parcursul a două săptămâni identificaţi tipuri de erori în interacţiunea
personală cu programele din calculatorul propriu
3. Căutaţi şi prezentaţi tipuri de erori proprii din etapa de proiectare şi codificare a
unui program pe care l-aţi dezvoltat la laboratorul de proiectare procedurală
4. Proiectaţi o testarea de software, parcurgând etapele:
- se formează echipa de test
- împărţiţi echipa pe funcţiile pe care trebuie să le testeze
- construiţi exemplele de test după un plan de test
- alegeţi metode se testare adecvata
- colecteaţi erorile, monitorizaţi frecvenţa şi efectele pe care le generează
utilizând fişe de colectare date.
Aceste date urmează a fi folosite în studiul modelului Jelinski-Moranda
Capitolul 10. MODELE JELINSKI - MORANDA PENTRU
FIABILITATEA SOFTWARE

10. 1. Modelul Jelinski-Moranda clasic


Este unul dintre cele mai cunoscute modele pentru predicţia fiabilitătii
programelor.
Ipotezele modelului :
a) Intervalele de timp între defectările succesive sunt variabile aleatoare
independente, distribuite după legi exponenţiale cu parametrii diferiţi;
b) Rata de defectare este proporţională cu numărul de erori latente ale
programului şi este o constantă pe un anumit interval, având forma:
z(t )  k    N (t )  N  (k  1)  N  k  1) pentru tk 1  t  tk , (10.1.1)
unde:
- N este numărul iniţial de erori N(t=0) iar
-  este o constantă de proporţionalitate.
c) La fiecare defectare se efectuează o intervenţie în program prin care se
elimină o singură eroare, şi anume, aceea pusă în evidenţă de către defectarea
observată.
Variaţia în timp a ratei de defectare aşa cum este prezentată în figura 10.1.

Figura 10.1. Variaţia în timp a ratei de defectare pentru modelul Jelinski-Moranda

După cum se poate urmări în figură, rata de defectare scade la fiecare defectare
a programului, deci fiabilitatea acestuia creşte; se poate spune că este un proces de
reînnoire cu reînnoiri negative.

105
Caracteristici şi parametri de fiabilitate:
a) Este un model de creştere exponenţială a fiabilităţii.
b) Funcţia de fiabilitate şi funcţia densitate de probabilitate pe intervalul k
sunt.
Rk (t )  e ( N k 1)t (10.1.2)

dR
f (t )   ( N  k  1)    e ( N k 1) tn (10.1.2')
dt
c) Media timpului între defectările k - 1 şi k este:

1
m   R(t )dt  . (10.1.3)
0
( N  k  1)  

d) Funcţia de reînnoire este media numărului de defectări în intervalul


(0, t ) şi este dată de relaţia:
H (t )  N (1  e t ). (10.1.4)
iar densitatea de reînnoire este
dH (t )
h(t )   N et (10.1.4')
dt

e) Durata medie până la eliminarea tuturor erorilor:


1 1 1
D(t )    ...  , (10.1.5)
( N  n) ( N  n  1) 
unde n reprezintă primele defectări observate.
Estimarea parametrilor modelului (N şi ) se poate face utilizând metoda
verosimilităţii maxime, considerând ca estimaţii punctuale perechea de valori
( Nˆ ,ˆ ) care maximizează probabilitatea de apariţie a rezultatelor experimentale
obţinute.
Funcţia de verosimilitate este definită ca funcţia de densitate de probabilitate
reunită a variabilelor aleatoare:
n
n   ( N k 1) tk
L (t1 , t 2 , ..., t n / N ,  )    n ( N  k  1)e k 1
(10.1.6)
k 1
Funcţia de verosimilitate îşi atinge maximul pentru acele valori în care
derivatele parţiale în raport cu N şi  ale logaritmulului funcţiei de verosimilitate se
anulează:
 ln L  ln L
 0 şi 0 (10.1.7)
N 
Din rezolvarea acestor ecuaţii se obţine:

106
n 1 ntn
 N  k  1  n
,
 k 1
Nt n   (k  1) t k
 k 1
 (10.1.8)
  n
,
 n
 Nt n   (k  1) t k
 k 1

unde am introdus notaţia:


n
tn   tk (10.1.8)
k 1

tn reprezintă durata scursă de la începutul observaţiilor până la înregistrarea


defectării cu numărul de ordine n.
Rezolvarea ecuaţiilor din sistem conduce la obţinerea estimaţiilor punctuale
N̂ şi ̂ care depind de numărul de defectări observate şi de momentul la care se
face estimarea.
Rezolvarea acestor ecuaţii şi discuţii referitoare la soluţiile obţinute pot fi
studiate în bibliografie 16. Pentru ca soluţiile să fie acceptabile se impune acumu-
larea unui număr foarte mare de date de la utilizatorii programului.

10. 2. Modelul Jelinski-Moranda geometric


Ipotezele modelului:
a) Derivă din modelul Jelinski-Moranda, înlocuind ipoteza că la o intervenţie
se elimină o singură eroare cu aceea că la fiecare intervenţie se elimină o aceeaşi
fracţiune din erorile latente existente în program, C, astfel încât numărul de erori
remanente conţinute în program scade la fiecare intervenţie. Pentru N (t ) se poate
scrie următoarea expresie:

N , 0  t  t1 ,
CN , t1  t  t 2 ,

N (t )  C 2 N , t 2  t  t3 , (10.2.1)
... ...
 k
C N , t k  t  t k 1.
b) Rata de defectare este proporţională cu numărul de erori latente astfel încât
este constantă pe fiecare interval iar valorile ei formează o progresie geometrică
descrescătoare cu raţia C, având expresia:
0  N  , 0  t  t1 ,
  CN   C , t1  t  t 2 ,

z (t )    N (t )  k   1 0
(10.2.2)
... ...

k  C N   C 0 ,
k k
t k  t  t k 1.

107
Parametrii modelului Jelinski-Moranda geometric sunt 0 şi C, iar numărul de
erori latente şi ponderea fiecărei erori  sunt neprecizate.
Caracteristici şi parametri de fiabilitate :
Modelul nu poate prevede numărul de defectări într-un interval de timp şi nici
numărul de erori remanente la un moment dat, dar permite calculul funcţie de
fiabilitate într-un interval anume şi duratei medii reziduale de viaţă:
a) Funcţia de fiabilitate şi funcţia densitate de probabilitate pe intervalul k este:

R (t , t  t )  e C 0 t iar f (t )  0  C k e C 0 t
k k
(10.2.3)

b) Media timpului de bună funcţionare:


 
1
m   R(t )dt   eC 0t dt 
k
. (10.2.4)
0 0 C  o
k

Se poate observa că media timpului de bună funcţionare nu depinde decât de


fracţiunea de erori care se elimină şi de rata de defectare iniţială,
Estimarea parametrilor modelului, C şi 0, se poate face tot prin metoda vero-
similităţii maxime, utilizând funcţia de verosimilitate:

ln L (t1 , t2 , ..., tn / C, 0 )  ln f t1 , t2 , ..., tn / C, 0  


n n
 n ln 0   (k  1) ln C  0  C k 1 xk . (10.2.5)
k 1 k 1

Pentru obţinerea valorilor care maximizează funcţia L se calculează derivatele


parţiale în raport cu cei doi parametri C şi 0 se egalează cu 0:
Rezolvând ecuaţiile:
 ln L
 0 şi  ln L  0 (10.2.6)
C 0
Se obţine sistemul de ecuaţii:
n n

   C k 1  tk  0
 0 k 1
n (10.2.7)
 k  1 n
 0  (k  1)C t k  0,
k  2

 k 1 C k 1
Din rezolvarea sistemului complex (cu un program de calcul specializat) se obţin
parametrii modelului:

108
ˆ n
0  n ,


 C k 1
x k
k 1
 n n (10.2.8)
  (k  1)C xk  (k  1)
k 2

 k 1 n  k 1
.
 k 1 nC
 k1 C xk

10. 3. Modelul Jelinski-Moranda hibrid


Ipotezele modelului:
Erorile rezidente într-un program se clasifică în două categorii:
a) Cele care sunt eliminate în pachete, conform ipotezelor modelului Jelinski-
Moranda geometric;
b) Cele care nu pot fi eliminate dar sistemul poate fi repus în funcţiune dacă se
manifestă o astfel de eroare, nu sunt erori critice.
Caracteristici şi parametri de fiabilitate :
a) Rata de defectare:
z (t )  k    0  C k 1 , (10.3.1)
unde: tk 1  t  tk , iar  este intensitatea fluxului Poisson format de erorile care nu
pot fi eliminate.
b) Durata medie între două defectări tn şi tn + 1 este:

n
m (t n )  . (10.3.2)
2 ( N  n)

c) Durata medie până la eliminarea tuturor erorilor este:


N 1 Nn
n n
D (t n )    . (10.3.4)
k n 2( N  k ) i 1 2i

Parametrii modelului sunt  0 ,  şi C. Ei pot fi estimaţi tot cu metoda


verosimilităţii maxime, funcţia de verosimilitate fiind în acest caz:
n n
ln L(t1 , ..., tn / 0 ,  , C )   ln(  0C k 1 )   (  0C k 1 )tk . (10.3.5)
k 1 k 1

Estimaţiile punctuale ˆ 0 , ˆ şi Ĉ se obţin rezolvând sistemul de ecuaţii:

109
n 1
 k 1
 t n  0,
 k 1   0C

n C k 1 n
 k 1
  C k 1  t k  0, (10.3.6)
 k 1   0C k 1
 n (k  1) C k 2 n
 k 1
  (k  1)C k 2 t k  0,

 k 1    0 C k 1

cu
n
tn   tk . (10.3.6)
k 1

10.4.Probleme propuse
1. Pentru rezolvarea sistemului sunteţi invitaţi să elaboraţi un program de
calcul şi să rezolvaţi folosind datele deţinute de la capitolul anterior.

2. Identificaţi deosebirile dintre cele trei modele Jelinski-Moranda

110
Capitolul 11. FIABILITATEA HARD DISCURILOR

11.1. Principiul de funcţionare şi componentele HDD


Un HDD constă în unul sau mai multe discuri rigide (hard) care se rotesc cu o
viteză foarte mare, numite platane (Platters) şi un cap magnetic care citeşte şi scrie
datele pe suprafaţa platanelor, numit cap de citire/scriere (head read/write) a cărui
mişcare este realizată de un dispozitiv de acţionare numit actuator. Controlul logic
al întregului HDD (disk controller) este realizat de un dispozitiv electronic iar
rotirea platanelor şi mişcarea capului de citire/scriere este realizată de motorul (sau
două motoare). HDD dispune de sistem electro-mecanic de blocare a capetelor. O
schemă simplificată a conţinutului unui HDD este prezentată în figura 1, preluată
din http://upload.wikimedia.org/wikipedia/commons/thumb/5/52/Hard_drive-
en.svg/525px-Hard_drive-en.svg.png" \* MERGEFORMATINET

Figura 11.1. Componentele HDD

Platanele sunt realizate dintr-un substrat non-magnetic pe care este depus un


mediu magnetic care constituie suportul de stocare. Substratul non-magnetic
trebuie să poată fi prelucrat în forme foarte subţiri (de ordin nanometric) se
realizează din aliaj de aluminiul, din sticlă sau dintr-un material ceramic. Ambele
părţi ale substratului sunt acoperite cu un strat foarte subţire (10-20nm) de material
cu proprietăţi magnetice foarte bune, de exemplu o peliculă de oxid magnetic sau
un strat de metalic foarte subţire şi este protejat cu o peliculă de carbon.
HDD-urile folosesc magneti neodim (Magneti din neodim NdFeB (Neodim-
fier-bor) sunt la ora actuală cei mai puternici magneți permanenți şi
foarte stabili. Sunt putin sensibili la campurile magnetice externe, dar sunt
predispusi la corodare si in cazul temperaturilor inalte isi pot pierde proprietăţile
magnetice. Din acest motiv sunt protejati la suprafata cu zinc (Zn), nichel (Ni) sau
răşini epoxidice.
Platanele sunt complet izolate de mediul exterior, ele sunt aşezate într-o carcasă
într-un mediu controlat, la o presiune constantă, ferit de acţiunea prafului şi
umidităţii. De regulă există mai multe platane la această dată până la 7) asezate

111
unul peste altul, la distanţe menţinute constante printr-un separator, fixate de un ax
care roteşte tot ansamblul de platane la mii de rotaţii pe minut (4000÷15000Rpm).
Capul de citire/scriere reprezintă „translatorul”, cel care prelucrează
informaţia de pe platane în format digital şi o transferă controlerului de disc pentru
a o transmite mai departe la procesor.
Există câte un cap de citire/scriere pentru fiecare din feţele platanului acestea
fiind acţionate simultan, prin intermediul aceluiasi braţ.

Figura 11.2. Cap citire/scriere deasupra platanelor

Capetele sunt concepute să fie menţinute la distanţă faţă de platane, (foarte


mică, de ordinul nm) şi să atingă discul numai când platanele s-au oprit. Oprirea
lor, „parcarea” se face într-o zonă specială numită LZ (Landing Zone). Este foarte
uşor şi scurt (ştiff), poate atinge o acceleraţie de 500g
Sistemul de acţionare al capului de citire/scriere este numit HSA (Head System
Ansamble) şi este format dintr-un braţ (Arm) şi o bobina mobilă (Voice Coil) care
asigură acţionarea electromagnetică. Un HSA pentru HDD fabricat de Seagate este
prezentat în figura 3. HDD al companiei Seagate (ST31000333AS1 de 1TB),
preluată de pe site-ul oficial al producătorului http://www.seagate.com/as/en/,
fotografii realizate de Arem Rubtsov

Figura 11.3. Sistemului de acţionarea al capului de citire/scriere - HSA


Pentru ca acest ansamblul de componente să aibă mişcările fluide, HSA are un
rulment (bearing).
Capul de citire scriere este atașat la braț prin intermediul unui sistem numit
Heads Gimbal Assembly, notat în figură cu HGA.
Extensia flexibilă este numită Flexible Printed Circuit (Circuit flexibil
imprimat) notat FPC şi realizează legătura HSA-ul cu platanele prin capetele de
contact.
Dispozitivele de la capătul HGA-urilor sunt numite Slidere. Anumite surse
pretind că sliderele sunt capete reale, de fapt ele sunt un fel de aripă care ajută
elemente de citire şi scriere să “zboare” pe suprafața platanului. Distanţa la care se
află pe HDD-uri moderne, este de aproximativ 5-10 nanometri (firul de păr uman
are diametru de 25000 nm). În cazul în care o particulă trece pe sub slider ar putea
supraîncălzi imediat (din cauza frecarii) capetele și le-ar distruge, de aceea aerul
curat în interiorul HDA este atât de important. Elementele adevărate de citire şi
scriere sunt situate la sfârșitul slider-ului și ele sunt atât de mici încât pot fi văzute
doar la microscop bun, aşa cum se poate observa în figura 11.4.
Suprafata slider-ului are caneluri aerodinamice care ajuta un slider sa zboare
deasura platanului. Aerul de sub slider formeaza suprafața de sprijin aerian (ABS -
Air Bearing Surface)

Figura 11.4. Slider-ele capului de citire /scriere

O parte foarte importantă a HSA este preamplificatoul, un cip care controlează


capetele și amplifică semnalele de la/spre ele. Este situat în interiorul capului de
citire/scriere pentru că semnale de la capete sunt foarte slabe. Preamplificator are
mult mai multe căi ce merg la capetele. Acest tip HDD are șase contacte pe "cap":
- un contact este de împământare,
- două pentru elemente de citire și scriere;
- două pentru microactuatorilor (dispozitive piezoelectrice speciale sau
magnetice care pot mişca sau roti slider-ul), care ajuta la reglarea pozitiei acestuia;
- ultimul contact este pentru o sursă de încălzire a sistemului de termocuplu
(două lamele de diferite aliaje cu coeficienţi de dilatare termică diferită) care ajută
la ajustarea înălţimii capetelor. Odată ce gimbal-ul fost încălzit se curbează spre

113
suprafata platanului și această acțiune reduce înălțimea de zbor. După răcire
gimbal-ul se îndreaptă.
Motivul pentru care preamplificatorul este situat în interiorul HAD-ului este
simplu - semnale de la capete sunt foarte slabe și pe HDD-uri moderne careo
frecvență mai mare de 1GHz, iar dacă elimini preamplificatorul din HDA astfel de
semnale slabe nu ar supraviețui, ele vor dispărea pe drumul spre PCB .
Preamplificator are mult mai multe cai ce merg la capetele (partea dreaptă)
decât la HDA (lateral stânga),asta pentru că HDD-ul poate lucra numai cu un "cap"
(pereche de elemente scriere/citire)ela un moment dat. HDD trimite semnale de
control pentru preamplificator și acesta selectează capul HDD de care are nevoie la
momentul actual. Acest HDD are șase contacte pe "cap". Un contact este de
impamantare, alte două pentru elemente de citire și scriere. Alte două pentru
microactuatorilor - dispozitive piezoelectrice speciale sau magnetice care pot misca
sau roti slider-erul, care ajuta la reglarea pozitiei acestuia iar ultimul contact este
pentru sursa de încălzire care poate ajuta la ajustarea înălţimii la care plutesc
slidere-le. Sistemul de încălzire poate încălzi GIMBAL-ul, legătura specială care
conectează slider-ul la HGA. GIMBAL-ul este realizat din două lamele din diferite
aliaje cu coeficienţi de dilatare termică diferita. Odată ce gimbal-ul fost încălzit se
curbează spre suprafata platanului reducând astfel înălțimea de zbor. După răcire
gimbal-ul se îndreaptă.
Placa cu circuite imprimate
Componentele electronice şi conectorii HDD sunt montate pe o placă cu circuite
imprimate numită PCB - Printed Circuit Board. În figura 11.5 se pot observa
aceste componente electronice pentru un HDD al companiei Seagate
(ST31000333AS1 de 1TB), preluată de pe site-ul oficial al producătorului
http://www.seagate.com/as/en/:

Figura 11.5. Componentele de pe placa cu circuite imprimate - PCB


Voice Coil Motor Controler, Memory cip
a) Cel mai mare cip care se poate observa în figură este controlerul unităţii de
procesare notată MCU - Micro Unit Controller, care conţine o unitate de
procesare ce realizează toate calculele și o unitate de citire/scriere care convertește
semnalele analogice în informație digitală în timpul citirii, iar în timpul scrierii
codifică informații digitale în semnale analogice. MCU are porturi I/O pentru a
controla PCB și pentru transmiterea datelor prin interfaţa SATA.
b) Cipul de memorie (Memory cip) este o memorie tampon de tip cachè.
Dimensiunea acestei memorii defineşte dimensiunea memoriei HDD şi este un
indicator de performanţă. În exemplul prezentat, PCB conţine cip de memorie
Samsung 32MB DDR, ceea ce înseamnă că HDD are 32MB memorie cachè.
Memoria cachè permite creşteriea vitezei de acces la date. Datele care au mai fost
accesate sunt depuse în memoria tampon, iar în momentul în care se încearcă un
nou acces, ele sunt obţinute direct din cachè, reducând astfel timpul de căutare.
c) Un alt cip de pe placă este Voice Coil Motor Controler sau controlerul
motorului bobinei mobile, un controler VCM care controlează mișcările de rotație a
motorului și braţului capetelor.
d) Flash memory (cip de memorie flash) contine o parte din firmware-ul
unității. Atunci când unitatea este alimentată, cipul MCU citește continutul cipului
flash și începe execuţia codulul. Fără acest cod unitatea nici nu poate începe nici
mişcarea de rotaţie a platanelor. La anumite HDD-uri continutul cipului flash se
află în interiorul MCU.
5. Senzorul de soc poate detecta șocurie excesive asupra unităţii și trimite
semnale la controlerul VCM care are rolul de a proteja unitatea de eventuale
deteriorări datoriate şocurilor.
6. Dioda TVS - Transient Voltage Suppression protejează PCB-ul de căderi de
tensiune de la sursa de alimentare externă. Când dioda TVS detectează o scurgere
de energie, se arde și creează scurtcircuit între conectorul de alimentare și sol,
împiedicând astfel deteriorarea întregului sistem. Pe acest PCB există două diode
TVS: de 5V și 12V.
HDD este încapsulat într-o carcasă etanşă, singura cale prin care aerul poate
intra in interiorul HDA este prin gaura de ventilaţie prevăzută cu filtru pentru ca
aerul din interior să nu conţină praf. Filtrul are mai multe straturi de filtrare şi poate
avea silicagel în interior pentru a reduce umiditatea aerului.

11.2. Scrierea şi citirea datelor pe HDD


Înregistrarea datelor pe hard disc se face prin magnetizarea platanelor
feromagnetice. Datele sunt scrise în sistem binar, adică se stochează o înşiruire de
0 şi 1, sub formă de blocuri logice de obicei de 512 B (există preocupări de
extindere a lungimii blocurilor logice până la 4096 B). Citirea datelor se face prin
detectarea tranziţiilor magnetice şi decodificarea cu un limbaj adecvat. Datele sunt
salvate pe disc sub forma unor fişiere (files), un număr de bytes cu un nume. Bytes
pot fi coduri ASCII pentru un text sau pot fi instrucţiuni ale unei aplicaţii pe care
calculatorul trebuie să o ruleze. În momentul în care un program care rulează cere
un fişier, hard discul îl citeste şi îl trimite la procesor.

115
Figura 11.6. Secţiune transversală a câmpului magnetic cu evidenţierea
modulării în frecvenţă şi codificării binare

Când un HDD este supus unei formatări de nivel scăzut (în fabrică) suprafaţa
este împărţită în piste şi sectoare (sectors and tracks). Pistele sunt cercuri
concentrice pe fiecare parte a platanelor, în jurul axului central. Pistele, egal
distanţate de axul platanului de pe fiecare parte a platanului şi de pe toate platanele,
sunt grupate în cilindri care sunt subdivizate la rândul lor în sectoare a câte 512 biţi
fiecare. Formatarea low level înseamnă stabilirea numărului de sectoare şi de piste
pe care le are un HDD. Formatarea de nivel înalt scrie apoi fișierele de sistem în
anumite blocuri logice selectate, păstând anumite blocuri disponibile pentru
sistemul de operare gazdă şi aplicațiile sale. Sistemul de fișiere al sistemului de
operare foloseste o parte din spațiul de pe disc pentru a organiza fișierele de pe
disc, înregistra numele lor și secvența de zone de disc care reprezintă fișierul.
Un hard disc funcţionează aproape la fel ca o casetă magnetică obisnuită, dar
datele pe HDD se pot scrie şi rescrie foarte repede şi pot fi menţinute mai mult.
Platanele sunt rotite cu viteze foarte mari. Informaţia se scrie pe platan în timpul
rotirii acestuia de către capetele de citire/scriere. Aşa cum am specificat, pentru
fiecare suprafată a platanului există câte un cap de citire/scriere montat la un braţ
comun. Acest braţ mişcă capetele de citire/scriere peste suprafeţele platanelor, pe
un arc de cerc (aproximativ radial), pentru a permite capetelor să acceseze aproape
întreaga suprafată a platanelor în timp ce se rotesc.
Braţul este mutat folosind mecanismul de acţionare electromagnetic, cu bobină
mobilă (voice coil). Înainte de 1980 motorul care acţiona braţul era de tipul pas cu
pas ceea ce nu permitea viteze de rotaţie prea mari.
Pentru a accesa o pistă oarecare pe unul din platane, braţul care susţine capetele
de citire/scriere va muta capetele spre acea pistă. O metodă de a optimiza timpul de
acces la date este ca un grup de date care sunt accesate secvenţial să fie scrise pe o
singura pistă. Dacă datele nu încap pe aceeasi pistă, atunci este optim să fie scrise
pe pista cu acelaşi număr pe un platan diferit. Pentru a minimiza timpul de mutare
al capului, trebuie urmărit ca datele să nu fie împrăştiate pe mai multe piste.
Pentru a descrie modul optimizat de stocare a datelor pe multiplele platane
suprapuse se foloseşte termenul de cilindru. Un cilindru se referă la toate pistele
care au acelaşi numar, dar localizate pe diferite platane.

11.3. Tipuri de defecte în HDD


La HDD se pot considera patru tipuri de defectiuni:
- defecţiuni logice;
- defecţiuni electronice;
- defecţiuni mecanice şi
- zona firmware defectă (firmware corupt).
Defecţiuni logice
Una dintre cele mai frecvente şi foarte dificil de rezolvat defectare ce poate
aparea la un HDD este defecţiune logică pentru că aceasta poate să difere de la o
simplă problemă de intrare invalidă în tabelul de alocare a fişierelor (file allocation
table) până la un dezastru total, HDD fragmentat, coruperea şi pierderea fişierelor
sistemului. recuperate. Defectele logice înseamnă ca de pe anumite sectoare, datele
nu mai pot fi citite şi nici recuperate. Aceste sectoare se numesc în mod uzual "Bad
sectors" şi înseamnă ca anumite sectoare pe platane se altereaza. Există tehnici prin
care „sectoarele rele” sunt şterse automat de exemplu prin tehnologia S.M.A.R.T
caremonitorizază şi rezolvă aceste probleme în timpul funcţionării HDD.
Defecţiuni electronice
Cele mai frecvente defecţiunile electronice sunt legate componentele
electronice, respectiv memoria cachè şi flash, controlerul HDD-ului,
preamplificatorul, senzorul de şoc sau dioda de protecţie, TVS. Aceste componente
se por defecta ca orice circuit integrat VLSI care funcţionează în orice altă parte a
computerului. Aspecte speciale se constată la defectarea controlerului HDD
datorate supratensiuni sau scoaterii necorespunzătoare a cablurilor IDE (mai ales la
carcasele ATX) poate duce la arderea controlerului hard disk-ului (distrugerea
plăcii fizice). În astfel de defectări 80% din date nu sunt afectate iar recuperarea
este 100%.
Schimbarea controlerilor între un HDD funcţional şi unul stricat nu este
recomandată pentru că fiecare placă fizică are informaţia să unică şi aceasta
schimbare poate duce la distrugerea totală a datelor şi a hard disk-ului în sine.
Defecţiuni mecanice la HDD
Cele mai numeroase defectări sunt cele mecanice datorită faptului că HDD are
în componenţă părţi mobile, care se mișcă cu viteze foarte mari, articulaţii foarte
sensibile care se pot defecta în timpul operarii obișnuite a HDD. Motoarele se pot
defecta sau se pot arde, rulmenții se pot uza aşa de tare astfel încât să împiedice
operarea HDD.
Cele mai multe defectiuni mecanice pot genera fragmente care sa afecteze
suprafata platanelor si distruge definitiv datele stocate.
Defectarea specifică cea mai importantă a HDD este defectarea capului de
citire, aşa numita Head crashes, care este extrem de sensibil si realizat din
componente si mai sensibile, realizate cu tehnologii speciale, complexe şi care
ridică probleme speciale de funcţionare şi menţinere în parametrii. Aşa cum am
prezentat, capul de citire propriuzis (Slider) pluteşte la distanţă foarte mică de
suprafaţa platanelor. Dacă sliderul se apropie prea mult, poate zgârâia suprafaţa
platanelr şi evidentt datele nu mai pot fi citite nici după înlocuirea capului de
scriere/citire. Se poate intampla ca în momentul în care intră în contact, capul de
citire să se rupă, bucăti fine din slidere să cadă pe suprafaţa platanului şi să
provoace zgaraierea irecuperabilă.
Defectarea capului de citire poate fi cauzată de şocuri fizice, întreruperea
bruscă a alimenării, defecțiuni electronice, contaminarea incintei interne a HDD,
uzură, coroziune sau chiar defecte de fabricaţie.
Dacă presiunea aerului din incinta în care este incapsulat HDD nu se menţine la
valoarea proiectată, sliderele nu mai pot pluti deasupra platanelor la distanţa

117
optimă, se pot apropia şi distruge platanele, sau se pot depărta prea mult şi nu mai
pot citi datele inscripţionate pe platane.
Un alt factor care poate modifica distanţa la care plutesc sliderele peste platane
este temperatura din incintă. Termocuplul din componenţa Heads Gimbals
Assembly îşi modifică curbura lamelelor în funcţie de temperatura din incintă
modificând astfel distanţa la care plutesc sliderele. O astfel de problemă poate
conduce ca datele citirea datelor să fie alterată temporar, până când temperatura
capului se se stabilizează (așa numita thermal asperity).
Dacă aerul din incinta ar fi contaminat, din cauze interne sau externe, aceşti
contaminanţi ar afecta plutirea capului de citire. Din acest motiv aerul din interiorul
incintei nu este inlocuit cu aer din exterior, ci este recirculat după filtrare, cu filtre
speciale, aşa cum am specificat în capitolul 2 al lucrării.
Un alt mod de defectare este cel numit de specialisti Stiction, adica capul nu
mai „decolează” asa de rapid cum ar fi necesar, defect care de datoreaza in special
lubrifierii necorespunzătoare a suprafeței platanelor dar si uzurii acestor suprafete.
Defecţiunile mecanice pot duce la o pierdere parţială sau chiar totală a datelor
de pe hardul respectiv. Problemele de natură mecanică se pot datora erorilor la
nivelul de citire/scriere precum şi defecţiuni ale motorului HDD-ului.
Zona firmware defecta într-un hard disc
Dacă firmware-ul hard discului este corupt sau nu mai poate fi citit atunci
calculatorul nu va mai citi informaţia corect şi se pot pierde date. Datele de pe
HDD cu astfel de probleme se pot recupera după reparare şi reprogramare.

11.4.Teme de studiu:
1. Identificaţi problemele de fiabilitate la HDD moderne
2. Identificaţi îmbunătăţirile apărute în realizarea HDD moderne pentru
rezolvarea problemelor de fiabilitate
3. Prezentaţi metode de recuperare a datelor de pe un HHD defect
Capitolul 12. FIABILITATEA MEMORIILOR SEMICONDUCTOARE

12.1. Introducere
O memorie defectă poate crea multe probleme unui sistem de calcul, indiferent
dacă echipează un server sau un PC. În funcţie de tipul şi rolul ei, defectarea unei
memorii poate fi catastofică (de exemplu, dacă ea este memoria ROM în care este
stocat BIOS-ul), poate duce la pierderi de date sau poate corupe fişierele
sistemului. Există o preocupare foarte mare pentru îmbunătăţirea fiabilităţii
memoriilor, atât la producătorii de memorii cât şi la realizatorii de sisteme de
calcul şi utilizatorii acestor sisteme
La ora actuală memoriile sunt realizate din materiale semiconductoare sau
supraconductoare, bule magnetice, discuri optice. Pentru viitorul apropiat se
preconizează realizarea lor din materiale organice. Memoriile pe care le studiem în
acestă lucrare sunt circuite integrate VLSI realizate din siliciu monocristalin, în
care informaţia este memorată sub formă binară.
Fiabilitatea memoriilor semiconductoare depinde de nivelul de integrare,
tehnologia de fabricaţie şi maturitatea acesteia precum şi de rigurozitatea şi
complexitatea încercărilor de selecţie pentru eliminarea defectelor de mortalitate
infantilă. În funcţie de tipul memoriei, fiabilitatea poate să varieze după :
- tehnologie (bipolară, MOS sau combinată);
- forma semnalului;
- tipul de celulă (dinamică sau statică);
- persistenţa conţinutului (volatil, nevolatil);
- tipul memoriei (numai citire, scriere/citire, reprogramabilă);
- modul de programare;
- modul de ştergere.

12.2. Principiul de funcţionare al memoriilor semiconductoare


Memoria sistemului de calcul este organizată ca o matrice de celule elementare
de memorie (numite şi locaţii) în care se înmagazinează informaţia binară, locaţie
ce poate fi unic identificată printr-o adresă exprimată în cod binar într-o
instrucţiune. În memorie se efectuază operaţiile de scriere ,de selecţie şi de citire a
locaţiilor de memorie pe baza adresei indicate.
Defectele funcţionale specifice în sistemul de memorie se pot manifesta în
blocul celulelor de memorie, în blocul decodificator de adrese, în blocul de citire.
Analiza defectelor de memorie se realizează în comun pentru defectele din blocul
decodificator, cele din matricea celulelor de memorie şi cele de la citirea memoriei,
deoarece orice defect, fie că este în blocul de adresare, în matricea celulelor de

119
memorie sau în blocul de ieşire are acelaşi efect asupra rezultatului operaţiilor cu
memoria.
Adresarea unei memorii se face, de regulă, cu ajutorul unui decodificator iar
ieşirea prin intermediul unui multiplexor. Pentru optimizarea fluxului de date,
memoriile se conectează la o magistrală de date.
În figura 12.1 este reprezentată o memorie semiconductoare ROM la care
intrările sunt prin intermediul unui decodificator, notat în figură DCD iar ieşirile
sunt conectate la o magistrală de date (DB) prin intermediul unui multiplexor, notat
în figură MUX.
Atât decodificatorul, cât şi celulele
din matricea de memorie şi
multiplexorul sunt realizate în mod
uzual din Si monocristalin
(semiconductor), din tranzistoare
bipolare sau cu efect de câmp
(MOS), interconectate într-o
manieră specifică sub forma
integrată.
Diferenţele funcţionale constau în
maniera de interconectare şi tipul de
tranzistoare folosite.
În acest seminar ne vom referi la
Figura 12.1. Sistem de memorie cu n intrări prin DCD defecte care se manifestă în matricea
şi m ieşiri la o magistrală de date prin MUX de memorie şi metodede reducere a
manifestării acestor defecte, metode.
de îmbunătăţire a fiabilităţii memoriilor semiconductoare
După cum bine se cunoaşte, memoriile semiconductoare pot fi considerate într-
o primă clasificare, memorii ROM (Read Only Memory) – memorii ce nu pot fi
rescrise sau şterse şi memorii RAM (Random Access Memory) – memorii care pot
fi citite sau scrise în mod aleator, la care se pot accesa celule singulare fără
implicarea altor celule. Aceste două mari categorii de memorii, la rândul lor
prezintă mumeroase tipuri constructive, cu destinaţii specifice. De exemplu
memoriille ROM pot fi memorii PROM – memorii programabile cu acces numai
pentru citire (Programable Read Only Memory), EPROM – memorii programabile
cu acces aleator, cu ştergere (Erasable PROM), EEROM – memorii ROM cu
ştergere electrică (Electrically Erasable ROM). Memoriile RAM pot fi statice
(SRAM -Static Random Acces Memory) sau dinamice (DRAM) (Dinamic Random
Acces Memory), memorii CAM – memorii adresabile prin conţinut (Content
Addressable Memory), memorii asociative (Associative Memory) etc.
Înscrierea informaţiei în memoria ROM se face în momentul realizării
structurii, atât pentru memorii realizate cu tranzistoare bipolare cât şi în cele
realizate cu tranzistoare MOS. Mecanismul prin care se stochează informaţia diferă
de la o tehnologie la alta, în majoritatea cazurilor prezenţa sau absenţa unui
tranzistor sau a unei legături face diferenţa între un 0 sau un 1.
În figura 12.2 este prezentată o schemă mult simplificată a unei matrici de
memorie realizată cu tranzistoare bipolare.

Figura 12.2. Matrice de memorie ROM realizată cu tranzistoare bipolare

Fiecare linie verticală din figură corespunde unui bit de ieşire din matricea de
memorie şi se numeşte linie de bit (notată în figură cu BL), iar fiecare linie
orizontală se numeşte linie de cuvânt şi este notată cu WL. Fiecare intersecţie
dintre o linie de cuvânt şi una de bit corespunde unui bit memorat. Dacă la
intersecţie se află un dispozitiv conectat (diodă, tranzistor bipolar sau MOS) în
memorie se stochează un 1. Dacă dispozitivul lipseşte sau conexiunea nu este
realizată, în memorie se stochează un 0. Aceasta este aşa numita logică negativă,
dar uneori se adoptă soluţia inversă pentru memorarea lui 0 şi 1 logic, aşa numita
logică pozitivă.
După cum se poate observa în figură, tranzistoarele bipolare se conectează cu
colectorii la ieşire sau nu se conectează. În cazul prezentat, pentru memorarea
lui 0 logic colectorii sunt conectaţi, iar pentru memorarea lui 1 logic legătura
colectorilor la linia de bit nu este realizată.
Pentru înţelegerea modului de funcţionare şi a aspectelor de fiabilitate specifice
memoriilor semiconductoare vom prezenta pe scurt două celule elementare de
memorie realizate în tehnologie bipolară şi MOS. Celula elementară de memorie
PROM prezentată în figura 12.3.a) este realizată în tehnologie bipolară şi are un fir
fuzibil între emitor şi coloana de bit care permite programarea acestei celule.
Programatorul PROM provoacă arderea unor anumite punţi de fuzibil conform
programului, întrerupând astfel legătura la coloana matricii de memorie şi schimbă

121
astfel bitul de stare. Arderea se realizează prin trecerea unui tren de impulsuri de
curent cu valori de 0,5 1A sau de tensiune mare (10  30V) prin conexiunile
respective. Este evident că o asemenea matrice nu poate fi programată decât o
singură dată.
Celula dinamică RAM prezentată în figura 12.3.b) este cea mai simplă celulă de
memorie DRAM realizată folosind un tranzistor MOS (M) şi un condensator de
sarcină (numit şi condensator de memorare) CS. Pentru stocarea unui 1, la linia de
bit se conectează o tensiune High de la care condensatorul se încarcă prin
tranzistorul deschis. Pentru stocarea unui 0 condensatorul se descarcă datorită
tensiunii Low de pe linia de bit.

Figura 12. 3. a) celula elementară ROM cu b) celulă DRAM cu tranzistor MOS


fuzibil între emitor şi coloana de bit şi condensator de sarcină

Pentru a citi o celulă din DRAM, linia de bit (BL) se preîncarcă întâi la o
valoare de tensiune situată la jumătatea intervalului dintre High şi Low, iar apoi
linia de cuvânt (WL) trece în High. În funcţie de tensiunea de pe condensator –
High sau Low, se aduce linia de bit preîncărcată la o tensiune puţin mai mare sau
puţin mai mică. Un amplificator de detecţie sesizează această modificare şi reface
un 1 sau un 0, după caz. Prin citirea unei celule DRAM se distruge sarcina electrică
iniţială stocată în condensator, deci datele recuperate trebuie rescrise în celulă după
fiecare citire.
Sistemele de memorii DRAM utilizează cicluri de împrospătare pentru
actualizarea periodică a tuturor celulelor de memorie, respectiv citirea secvenţială a
conţinutului uşor alterat al fiecărei celule prin preluarea lui într-un circuit latch de
tip D, urmată de rescrierea unei valori clar delimitate – High sau Low, preluată din
circuitul latch.
În figura 12.4 este prezentată o matrice bidimensională DRAM realizată cu
celule cu tranzistoare MOS, în care sunt detaliate structurile a două celule de
memorie şi este evidenţiat circuitul de amplificare care efectuează operaţiile de
reîmprospătarea conţinutului memoriei după citire, circuit numit amplificator de
reîmprospătare (Refresch Amplifier – RA). În celula cu M4 , M5 şi M6 nu s-a mai
figurat condensatorul C S , el este cuprins în tranzistor ca dispozitiv parazit.
Figura 12.4. Matrice de memorie DRAM realizată în tehnologie MOS.

Pentru a citi informaţia din celulă se activează linia de bit Y şi linia de citire X ,
astfel că tranzistorul M3 din circuitul inversor (format din tranzistoarele M2 şi M3)
este pus în conducţie. M2 se va deschide dacă în CS este stocată o sarcină, deci dacă
poarta lui M2 este activată. Astfel prin linia de bit Y va apare semnal 0 (se descarcă
la 0) numai dacă în CS era stocat bitul 1. În caz contrar linia Y va rămâne la
potenţial înalt. Se poate observa că linia de citire Y furnizează complementul logic
al informaţiei din celulă. Sesizarea unui curent prin linia de bit Y permite
recunoaşterea stării memorate în CS .
Deşi citirea este nedistructivă, datorită scurgerii de sarcină din CS (prin
joncţiunea asociată din M1) este posibil ca sarcina stocată în CS să se micşoreze şi
informaţia să fie alterată sau chiar distrusă. De aceea estenecesar ca informaţia
conţinută în CS să fie regenerată periodic. Aceasta se face prin citirea periodică a
conţinutului celulei şi transferul acesteia – prin intermediul liniei de citire Y – la
amplificatorul de reâmprospătare la care se aplică după ce a fost inversată, deci
complementată. Din amplificator, informaţia este aplicată din nou la linia Y de
scriere prin activarea simultană şi a liniei X.
În matricea reprezentată în figura 4 se pot observa două decodificatoare, unul
pentru adresele X iar celălat pentru Y (intrare şi ieşire de date şi adrese).

12.3. Mecanismele de defectare şi erori în memoriile semiconductoare

123
În memoriile semiconductoare pot apare erori care se manifestă la fiecare
activare logică a memoriei, în orice regim de funcționare, numite erori permanente
sau erori care se activează numai într-un anumit regim de funcţionare, favorizant,
numite erori tranziente.
Erorile permanente depind numai de starea actuală a memoriei și operația
efectuată, caracterizată la rândul ei de valoarea adresei celulei vizate, tipul operației
și datele furnizate. Defectele memoriei care generează erori permanente sunt
defecte fizice ale unei celule, linii sau a unui bit individual.
Erorile tranziente sunt erori are nu se repetă şi nu cauzează o deteriorare
permanentă. Constau în trecerea defectoasă a unui bit din starea 0 în starea 1 sau
invers. Pot fi determinate de zgomotul sistemului, de variaţii ale tensiunii de
alimentare etc. Aceste erori sunt mai numeroase faţă de cele permanente (chiar cu
două, trei ordine de mărime), dar nu sunt catastrofale.
Defectarea memoriilor semiconductoare poate avea mai multe cauze datorate
proiectelor inadecvate, tehnologiilor şi erorilor de fabricare dar şi greşelilor la
montare sau utilizării necorespunzătoare. Creşterea capacităţii memoriilor şi
nivelului de integrare a condus la reducerea dimensiunii celulelor elementare,
îngustarea regiunilor tranzistorului şi mai ales a bazei tranzistoarelor bipolare,
reducerea dimensiunii canalului dintre sursă şi drenă, reducerea grosimii traseelor
metalice şi a distanţei dintre ele etc.
Mecanismele de defectare în memoriile semiconductoare sunt cele specifice
tranzistoarelor din care sunt realizate dar şi mecanisme noi datorate interacţiunii
dintre ele, traseelor metatalie de conectare, sistemelor de interconectare,
încapsulării etc.
Pentru memorii realizate în tehnologie bipolară, mecanismele de defectare
specifice sunt creşterea generării-recombinării pe nivele adânci, electromigrarea Al
în Si şi a Si în Al, scurtcircuitarea colector-emitor prin pătrunderea bazei, aparţiţia
de compuşi metalici la sudura firelor etc.
Creşterea generării-recombinării pe nivele adânci este principalul mecanism de
defectare care determină modificarea valorilor curenţilor în tranzistoarele bipolare,
făcând să apară un curent de generare-recombinare fotoindus care se adaugă
curentului colector-bază. Este un proces activat termic care creşte la polarizarea în
invers a joncţiunii. Este semnificativ în cazul joncţiunilor puternic dopate şi pentru
circuite cu nivel mare de integrare.
Electromigrarea Al în Si duce la degradarea traseelor metalice datorită
transportului de ioni, ceeace determină formarea în firul metalic (pelicular) a unor
goluri şi unflături care pot determina chiar întreruperea traseului metalic sau
formarea unor creşteri dendritice ce pot sparge stratul de dielectric şi realiza
scurtcircuit între trasee metalice alăturate.
Electromigrarea Si în Al duce la o slăbire a peliculei de Al, deoarece Si se
precipită la graniţa cu Al şi formează aglomerări de compuşi Al-Si (eutetic),
compuşi conductivi care degradează caracteristicile electrice şi mecanice ale meta-
lizării. Aceşi compuşi pot determina creşterea curenţilor de scurgere între două
benzi de metalizare alăturate.
Scurtcircuitarea colector-emitor prin pătrunderea bazei presupune formarea
unor canale de curgere între cele două regiuni de sarcină spaţială de la joncţiunile
E–B şi B–C, cu atât mai importante cu cât baza este foarte îngustă iar separarea
fizică dintre cele două joncţiuni este critică.
În mod uzual sistemul de conexiune este realizat din benzi de Al pentru
exterior şi din fire de Au pentru interior. Contactul Au-Al este realizat prin termo-
compresia firelor de Al pe padurile de Au. La contactul Au-Al au loc difuzii reci-
proce (efect Kirkendall), cu formarea de compuşi intermetalici fragili şi goluri sub
bila de sudură. Aceşti compuşi pot determina deteriorarea contactului realizat,
formarea de microcrăpături, care pot duce chiar la desprinderea bilei de sudură
dintre Al şi Au.
Pentru memoriile PROM realizate din tranzistoare bipolare cu fuzibil,
mecanismele de defectare critice sunt datorate arderii insuficiente a siguranţelor în
timpul topirii care pot conduc la formarea ocazională a unor punţi de topire
sau posibilităţii ca în cursul citirii anumite siguranţe să se ardă şi să schimbe
programarea iniţială.
Mecanismele de defectare critice ale memoriilor realizate în tehnologie MOS
sunt defecte în oxid, datorită faptului că poarta de oxid nu este suficient
protejată, impurităţi în şi la suprafaţa oxidului sau impurităţi metalice, precum
şi defecte în monocristalul de Si de bază, respectiv dislocaţii, defecte de
împachetare sau fisuri, care produc perechi de purtători de sarcină, ce pot conduce
la apariţia unui curent rezidual cu efect catastrofal. La acestea se pot adăuga şi
mecanisme similare cu cele de la tehnologia bipolară, de exemplu electromigrarea
şi formarea de compuşi intermetalici etc.
În cazul memoriilor dinamice predomină defectele de oxid din cauza grosimii
mari a stratului de oxid şi a faptului că poarta de oxid nu este protejată. Straturi mai
subţiri de oxid nu pot fi utilizate pentru că ar putea conduce la pierderi de sarcină
prin curenţii reziduali.
Străpungerea oxidului de poartă se poate produce în anumite puncte, acolo
unde stratul de oxid are o grosime mai mică sau unde au apărut impurificări
necontrolate (în timpul sau după depunerea oxidului de poartă). Străpungerea
oxidului de poartă se poate realiza prin tunelare. Datorită asperităţii stratului de
oxid şi precipitatelor de oxigen localizate la suprafaţa oxidului se pot forma
microcanale cu densitate crescută a trapelor de recombinare, ce favorizează
"curgerea" unor curenţi de conducţie asistaţi de trape, numiţi curenţi Fowler-
Nordheim. Acest mecanism de defectare este cel mai important pentru memoriile
MOS.
Pot apare străpungeri ale oxidului de poartă datorate descărcărilor
electrostatice (ESD), chiar în funcţionare normală sau la manipularea memoriilor.
Pentru memoriile reprogramabile la care ştergerea se realizează cu radiaţii
ultraviolete, pot apare ştergeri ale memoriei chiar sub acţiunea radiaţiei solare,
motiv pentru care nu este recomandată expunerea la nici un fel de radiaţii sau
câmpuri electostatice a memoriilor. Această defectare duce la ştergeri ale memoriei
şi de asemenea este catastrofală.
Un mecanism de defectare important este cel numit purtători fierbinţi (hot
carriers). Purtătorii fierbinţi sunt generaţi la creşterea câmplui electric, când
purtătorii de sarcină au primit o energie ridicată şi pot determina creterea curentului
de drenă şi de substrat, astfel încât pot apare străpungeri strat-substrat, generarea

125
de trape de interfaţă şi în oxid care pot provoca deriva tensiunii de prag şi creşterea
probabilităţii de pătrundere.
Scurtcircuitele poartă-substrat duc la defectarea totală a celulelor individuale
ale unei întregi linii sau ale unei coloane şi pot produce defectarea întregii memorii.
Capacitatea porţilor este de ordinul câteorva zecimii de pF şi se pot deteriora chiar
la energi mici.
Defectările în oxid se produc după câteva microsecunde, astfel încât aceste
defecte pot fi eliminate prin aplicarea unui câmp electric de intensitate mare timp
de câteva secunde, în cadrul încercărilor de selecţie.
Un mecanism de defectare specific în memoriile care folosesc tehnologie
combinată sau CMOS se datorează interacţiunilor secundare între regiuni dopate
diferit, interacţiuni care pot fi modelate sub forma unor dispozitive parazite. Cel
mai frecvent dispozitiv parazit este cel numit tiristorul parazit de volum p-n-p-n
format din două tranzistoare bipolare parazite conectate într-o buclă cu reacţie
pozitivă şi anume:
- un tranzistor p-n-p lateral format între regiunea de drenă p+ a unui tranzistor p
MOS, substratul n şi vana p şi
- un tranzistor n-p-n vertical format între regiunea de sursă n+ a unui tranzistor n
MOS, vana p şi substratul n.
Această structură este bistabilă. La comutarea tiristorului din starea blocat
(corespunzătore funcţionării corecte a dispozitivului), în starea deschis, se
formează o cale de curent de mică rezistenţă între alimentare şi masă. Se stabileşte
un curent mare pe calea parazită care provoacă perturbarea funcţionării memoriei,
chiar degradarea ei permanentă. Întreruperea curentului de tiristor se poate realiza
numai prin întreruperea alimentării. Fenomenul în literatura de specialitate, este
denumit “latch-up” şi, este responsabil pentru numeroase defectări ale memoriilot
realizate în tehnologie CMOS.
La nivelul memoriilor semiconductoare manifestarea acestor mecanisme de
defectare, în anumite condiţii de exploatare, poate duce pierderea datelor din una
sau mai multe celule. Condiţiile care pot determina pierderea datelor memorate pot
fi:
- pomparea încărcării: de câte ori o comandă face să crească potenţialul de
comandă, o mică parte din încărcarea celulei poate fi pompată în celulele vecine,
astfel încât, după o anumită perioadă de timp, între două cicluri de împrospătare,
poate apare modificarea informaţiilor memorate;
- atât pentru memoriile statice cât şi pentru cele dinamice se poate întâmpla ca
decodificatorul de adresă să fie prea lent, comunicarea cu memoria să fie
perturbată;
- în cazul memoriilor dinamice, timpul de pauză al sistemului de citire a unor
linii poate să fie prea lung şi să genereze erori de citire;
- unele defecte ale monocristalului din care este realizat cipul pot bloca funcţia
de ansamblu a unei celule sau pot forma legături între două celule vecine iar
înregistrarea informaţiei să se facă în celula învecinată;
- limitele de toleranţă ale parametrilor dinamici ai memoriilor semiconductoare
sunt uneori prea mici, iar sub influenţa temperaturii se pot reduce şi mai mult;
- curenţii de scurgere prea mari pot conduce la pierderea rapidă a datelor
memorate.
Analiza defectelor memoriilor EPROM 2716, la firma INTEL, a pus în evidenţă
următoarea distribuţie a defectărilor 52:
- pierderea informaţiilor pe unul sau mai mulţi biţi: 6,15%;
- modificarea timpului de acces (prin contaminare, polarizare, sarcină
superficială): 18,9%;
- curent rezidual în oxid : 12%;
- defecte ale metalizării (circuite interne deschise): 5,5%;
- defecte de fabricaţie: 2,1%.
În cazul memoriilor PROM bipolare, principalele mecanisme de defectare sunt:
- formare ocazională a unor punţi de topire;
- modificarea aparentă a unui bit programat;
- scurtcircuite ale comenzilor cuvânt (biţi de scriere şi citire);
- probleme de stabilitate;
- curenţi de scurgere în celule;
- deficienţe în controlul şi menţinerea stabilităţii procesului.
Fabricarea memoriilor în tehnologie bipolară presupune mai multe etape de
fotogravură şi difuzie, ceea ce face ca defectele datorate procesului de fabricaţie să
fie mai frecvente. Memoriile bipolare pot fi însă de10 ori mai rapide decât cele
MOS, deşi densitatea circuitelor MOS este de 5 ori mai mare faţă de a celor
bipolare.

12.4.Teme de studiu:
1. Identificaţi problemele de fiabilitate la memoriilor semiconductoare.
Exemplificaţi tipuri de erori datorate defectării memoriei calculatorului
2. Identificaţi îmbunătăţirile apărute în realizarea memoriilor semiconductoare
pentru rezolvarea problemelor de fiabilitate
3. Prezentaţi alte tipuri de memorii şi avantajele lor faţă de cele
semiconductoare
4. Prezentaţi moduri de recuperare a datelor din memoria calculatorului

127
BIBLIOGRAFIE

1. Floarea BAICU, Elemente de fiabilitate, Ed. Victor, Bucureşti, 2005.


2. Floarea BAICU, Fiabilitatea sistemelor informatice, Modul de curs, Universitatea
Hyperion, 2012
3. Floarea BAICU, Sorina MIHĂITĂ, Aspects of semiconductor memories reliability
Analele Universităţii Hyperion din Bucureşti, 2014
4. Floarea BAICU, Allocation Methods for Systems Reliability During Design Elaboration
Phase, Rev. Optimum Q, Vol. XIX nr. 1-2, pg. 40-45, 2008
5. Floarea BAICU Andrei Mihai BAICU - The Complexity and Diversity of Technologies
Involved in HDD Production and Operation - Consequences on Reliability, ENEC 2013
6. T. I. BĂJENESCU - Fiabilitatea componentelor electronice, Editura Tehnică Bucureşti,
1996
7. T. BARON, Al. ISAC – MANIU şi alţii Calitate şi fiabilitate, manual practic, Editura
Tehnică, Bucureşti 1988
8. V. M. CĂTUNEANU, A. MIHALACHE, Bazele teoretice ale fiabilităţii, Editura
Academiei RSR, Bucureşti, 1983
9. V. M. CĂTUNEANU, A. MIHALACHE - Reliability Fundamentals, ELSEVIER,
Amsterdam – Oxford – New York, Tokyo, 1989
10. R.A. Evans Reliability Pediction, IEEE Transactions on Reliability, vol. 48, June 1999,
pg. 105;
11. Corina GEORGIAN, P. TARAŞ, Floarea BAICU, Hazard Ploting for Incomplete Data
- Computer Program, International Symposium on Nuclear Energy, SIEN’ 93,
Bucureşti, 25, 1993
12. T. HOHAN - Tehnologia şi fiabilitatea sistemelor, Editura Didactică şi Pedagogică
Bucureşti, 1982,
13. Z. JELINSKI, P. B. MORANDA, Software Reliability Research, in Statistical
Computer Performance Evaluation, We. Freiberger, Ed. Academic Press, 1972
14. B. LITTLEWOOD, L. STRIGINI, Software reliability and dependability: a roadmap,
Proceedings of the Conference on The Future of Software Engineering, Limerick,
Ireland, 2000
15. MICHAEL R. LYU. Handbook of Software Reliability Engineering. Internet URL:
http://www.cse.cuhk.edu.hk/~lyu/book/reliability/
16. A. MIHALACHE - Când calculatoarele greşesc.... - Fiabilitatea sistemelor de
programare (software), Editura Didactică şi Pedagogică R.A. - Bucureşti, 1995
17. Gh. MIHOC, Aneta MUJA, E. DIATCU - Bazele matematice ale teoriei fiabilităţii,
Editura Dacia, Cluj Napoca 1976
18. Aneta MUJA, E. DIATCU - Matematica pentru economişti Editura Victor, Bucureşti
1999
19. J. D. MUSA, Software reliability engineering: more reliable software faster and
cheaper. Bloomington: Authorhouse, 2004.

128
20. J. D. MUSA AND K. OKUMOTO, Software reliability models: concepts,
classification, comparisons, and practice, in Electronic Systems Effectiveness and Life
Cycle Costing, Heidelberg, 1983.
21. J. Von Neumann, “Probabilistic Logics,” Auromafa Studies, Princeton University
Press, 1956.
22. J.D PALMER Electronic-Module Environmental-Stress-Screening Data-Evaluation
Technique, Annual Reliability and Maintainability Symposium 1999 Proceedings, 50;
23. B. PARHAMI Defect, Fault, Error ..., or Failure? IEEE Transaction on Reliability,
Vol. 46, No. 4, 450, 1997
24. A. PASQUINI s.a Reliability Analysis of Systems Based on Software and Human
Resources, IEEE Transaction on Reliability, Vol. 50, No. 4, 337, 2001
25. M. PERMAN s.a. Semi-Markov Models with an Application to Power-Plant Reliability
Analysis, IEEE Transaction on Reliability, IEEE Transaction on Reliability, Vol. 46,
No. 4, 526, 1997
26. D. C. SECUI – Fiabilitatea staţiilor electrice de distribuţie Editura Universităţii din
Oradea, 2003
27. C. SMIDTS s.a. Software Reliability Modeling: An Approach to Early Reliability
Prediction. IEEE Transaction on Reliability, Vol. 47, No. 2, 268, 1998
28. N. D. STOJADINOVIC, S. D. RISTIC, “Failure Physics of Integrated Circuits and
Relationship to Reliability, Phys. Stat. Sol. (a) 75, 11, (1983)
29. V. SUNE, J.A.CARRASCO A Failure Distance Based to Bound the Reliability of
Non-Repairable Fault Tolerant Systems without the Knowledge of Minimal Cuts IEEE
Transaction on Reliability, Vol. 50, No. 1, 60, 2001
30. V. K. ŞTEFAN – Evaluarea fiabilităţii sistemelor de calcul, Editura Universităţii din
Oradea, 2003
31. X. TENG, H. PHAM A Software Reliability Growth Model or N-Version Programing
Systems, IEEE Transaction on Reliability, Vol. 51, No.32, 311, 2002
32. VANDERKUL W., The Use of Triple-Modular Redundancy to Improve Computer
Reliability, 1962, http://www.ccs.neu.edu/course/csg712/resources/Lyons-Vanderkulk-
62.pd,
33. WALD, Abraham. Contributions to the Theory of Statistical Estimation and Testing
Hypotheses. Ann. Math. Statist. 10 (1939), no. 4, 299--
326.doi:10.1214/aoms/1177732144. http://projecteuclid.org/euclid.aoms/1177732144.
34. IEEE (ANSI) Standard 982.2/1988 Software Reliability Terminology
35. IEEE Std. 381/1977 IEEE Standard Criteria for Type Tests of Class 1E Modules Used
in Nuclear Power Generating Station
36. IEEE 352/75 - Guide for General Principles of Reliability Analysis of Nuclear Power
Generating Station Protection Systems ;
37. MIL HDBK 217C/1979 – Military Standardization Handbook Realiability Prediction
of Electronic Equipment
38. MIL STD 19.500E/1969 – Military Standard General Specification for Semiconductor
Devices

129
39. SR ISO 2854/2000 - Interpretarea statistică a datelor. Tehnici de estimare şi teste
referitoare la medii şi dispersii
40. SR CEI 60863/1998 - Prezentarea rezultatelor previziunii caracteristicilor de
fiabilitate şi disponibilitate
41. SR CEI 61070/1998 - Proceduri de încercare a conformităţii pentru disponibilitate în
regim stabil
42. SR CEI 61164/1998 - Creşterea fiabilităţii. Încercări şi metode de estimare statistică
43. STAS R 12007/4-89 - Metode de calcul al estimatorilor punctuali şi al limitelor de
încredere, rezultate din încercările de determinare a fiabilităţii echipamentelor
44. STAS R 12007/5-86 - Încercarea de fiabilitate a echipamentelor – Planuri de
eşantionare pentru confirmarea proporţiei succesului
45. STAS R 12007/6-89 - Teste de validare a ipotezei unei rate de defectare constante
46. STAS R 12007/7-81 - Încercarea de fiabilitate a echipamentelor – Planuri de
eşiantionare pentru confirmarea ratei de defectare şi a timpului mediu între defectări,
în ipoteza unei rate de defectare constante
47. STAS 12689/88 - Analiza modurilor de defectare şi a efectelor defectărilor
48. STAS 8174/1,2,3/77 - Fiabilitate/Mentenabilitate/Disponibilitate - Terminologie
49. STAS 10307/75 - Fiabilitatea produselor industriale – Indicatori de fiabilitate
50. SR EN 61025/2007 - Analiza fiabilităţii pe baza arborilor de defectare
51. http://www.e-mtbf.com/INTEL Reliability Report, RR febr. 2001
52. http://ep.etc.tuiasi.ro/files/CID/memorii.pdf
53. http://en.wikipedia.org/wiki/Configurable_Fault_Tolerant_Processor
54. http://www.ace.tuiasi.ro/users/103/2011-Huzum%20rezumat%20.pdf

130

S-ar putea să vă placă și