27.01.2015 Views

Note de curs - Departamentul Automatica, Calculatoare si ...

Note de curs - Departamentul Automatica, Calculatoare si ...

Note de curs - Departamentul Automatica, Calculatoare si ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

FIABILITATEA PROGRAMELOR DE CALCUL<br />

Generalitǎti<br />

Un program poate fi privit ca o functie care aplicǎ o multime <strong>de</strong> date care îi sunt<br />

furnizate, pe o multime <strong>de</strong> rezultate. La fiecare executie programul primeste un<br />

set <strong>de</strong> date <strong>si</strong> poate produce rezultate corecte, într-un fel asteptate, poate<br />

produce rezultate eronate sau poate executa operatiuni un timp in<strong>de</strong>finit, ceea ce<br />

echivaleazǎ cu a nu produce nici un rezultat. Ultimele douǎ <strong>si</strong>tuatii reprezintǎ<br />

<strong>de</strong>fectiuni ale programului. Ele pot fi remediate <strong>si</strong> programul poate executa din<br />

nou calcule pânǎ la aparitia unei alte <strong>si</strong>tuatii <strong>de</strong> “panǎ”. Si în cazul studiului<br />

fiabilitǎtii programelor <strong>de</strong> calcul sunt necesare mo<strong>de</strong>le matematice ale<br />

comportǎrii modulelor software. De aceea, în continuare sunt prezentate câteva<br />

dintre mo<strong>de</strong>lele variate pe care literatura le propune.<br />

Mo<strong>de</strong>lul Jelinski-Moranda<br />

Sub aspect istoric, mo<strong>de</strong>lul Jelinski-Moranda este unul dintre primele mo<strong>de</strong>le<br />

ale fiabilitǎtii programelor. Mo<strong>de</strong>lul se bazeazǎ pe câteva ipoteze. Se admite cǎ:<br />

a) intervalele <strong>de</strong> timp între <strong>de</strong>fectǎrile succe<strong>si</strong>ve sunt variabile aleatoare<br />

in<strong>de</strong>pen<strong>de</strong>nte distribuite dupǎ legi exponentiale cu parametri po<strong>si</strong>bil diferiti;<br />

b) rata <strong>de</strong> <strong>de</strong>fectare este proportionalǎ cu numǎrul <strong>de</strong> erori latente ale<br />

programului;<br />

c) la fiecare <strong>de</strong>fectare a programului se efectueazǎ o <strong>de</strong>panare <strong>de</strong> duratǎ<br />

neglijabilǎ, prin care se eliminǎ o eroare <strong>si</strong> numai una.<br />

Conform acestor ipoteze, programul cunoaste un proces <strong>de</strong> reînnoire cu<br />

reînnoiri negative. Rata lui <strong>de</strong> <strong>de</strong>fectare sca<strong>de</strong> la fiecare <strong>de</strong>fectare/<strong>de</strong>panare.<br />

Între <strong>de</strong>panǎri rata <strong>de</strong>fectǎrii este, <strong>de</strong><strong>si</strong>gur, constantǎ <strong>de</strong>oarece lipseste uzura.<br />

Dacǎ N(t) este numǎrul curent <strong>de</strong> erori rǎmase (reziduale) atunci N(0) = N este<br />

numǎrul <strong>de</strong> erori initiale. Cu eliminarea unei erori la fiecare <strong>de</strong>panare, pentru un<br />

interval <strong>de</strong> functionare X k , numǎrul <strong>de</strong> erori încǎ prezente pe durata acestui<br />

interval este N(t) = N – k + 1 cu t ∈ [ tk<br />

− 1<br />

, tk<br />

] . Rata <strong>de</strong> <strong>de</strong>fectare în fiecare<br />

interval este constantǎ <strong>si</strong> este proportionalǎ cu N(t)<br />

z( t) = λ = ϕ N ( t) = ϕ ( N − k + 1)<br />

k<br />

pentru orice interval [t k – 1 , t k ] <strong>de</strong> lǎrgime X k , k = 1, 2, ..., N. Numǎrul initial <strong>de</strong><br />

erori N <strong>si</strong> constanta <strong>de</strong> proportionalitate ϕ sunt parametrii mo<strong>de</strong>lului.<br />

Functia <strong>de</strong> fiabilitate în intervalul [t k – 1 , t k ] este<br />

− ϕ ( N − k + 1)<br />

x<br />

R ( x)<br />

= e<br />

k<br />

51

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!