Note de curs - Departamentul Automatica, Calculatoare si ...
Note de curs - Departamentul Automatica, Calculatoare si ...
Note de curs - Departamentul Automatica, Calculatoare si ...
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