Sunteți pe pagina 1din 210

UNIVERSITATEA DIN BUCURESTI

Facultatea de Matematica si
Informatica
Ion Vaduva
FIABILITATEA SI
CALITATEA
PRODUSELOR IT
Note de curs
BUCURESTI 2011
1
Cuvant introductiv
Lucrarea de fat a consta din prelegerile t inute student ilor de la specializarea
INFORMATIC

A a Facult at ii de Matematica si Informatica a Universitat ii


din Bucuresti ncepand cu anul universitar 1997/1998, in cadrul unui curs
opt ional, care se organizeaza anual sau semestrial n funct ie de solicitarile
student ilor. Incepand cu anul universitar 2006/2007, lucrarea constituie su-
portul unor capitole ce se predau la cursurile de master, specializarea Infor-
matica aplicata, Universitatea din Bucuresti.
Cont inutul lucrarii este orientat pe modelarea proceselor legate de re-
alizarea/testarea produselor IT, in particular a produselor soft, precum si
de evaluarea calitat ii acestora. Se are n vedere n mod special evaluarea
performant elor n exploatare a produselor soft, adica abilitatea, disponibil-
itatea si mentenabilitatea acestora. Se discuta si aspecte economice legate
de minimizarea costurilor de product ie, sau eforturilor realizatorilor de soft
dar si de minimizarea costurilor de achizit ie facute de catre utilizatorii de
produse soft de mare complexitate.
Modelele prezentate au un pronunt at caracter matematic-aplicativ. Pro-
ducatorii sau managerii rmelor de software pot gasi aici multe idei prin care
si pot organiza n mod ecient activitatea astfel ncat sa asigure o calitate
corespunzatoare produselor soft. Comerciant ii de produse si componente
IT, pot de asemenea gasi metode statistice de control prin sondaj a acestor
produse.
Primul capitol trateaza pe scurt not iuni generale ale teoriei stochastice
a abilitat ii sistemelor. Aici sunt prezentate repartit iile statistice utilizate
n abilitate si procesele stochastice cu care se modeleaza abilitatea sis-
temelor (procesele Markov, procesele de nastere si deces si procesele Pois-
son). O sect iune trateaza pe scurt principalele metode de analiza statistico-
matematica a datelor.
Capitolul al doilea se ocupa de cateva modele markoviene ale abilitat ii
sistemelor software printre care cele mai reprezentative sunt: modelul Jelinski-
Moranda, modelele cu intensitatea caderilor in forma de S,modelul lui
Shick-Wolverton, modelul lui Shantikumar si cateva modele ce folosesc date
cenzurate.
Capitolul al treilea discuta cateva modele de abilitatea programelor
bazate pe procese Poisson neomogene (PPNO). Printre acestea se remarca
modelul lui Goel-Okumoto, modelul lui Shagen, modelul logaritmic Poisson,
precum si alte modele conexe. O saect iune trateaza modele PPNO bazate
pe ecuat ii diferent iale.
2
Modelele analizate in capitolele doi si trei isi propun sa estimeze diferiti
parametri statistici sau caracteristici de abilitate cum sunt: num arul init ial
de erori din soft N
0
, funct ia de abilitate condit ionat a, timpul mediu cumulat
dintre caderi, etc.
In capitolul al patrulea se prezint a modele legate de optimizarea a-
bilitat ii, a costurilor si a activitat ilor de realizare sau achizit ionare a pro-
duselor software. Sunt prezentate si o serie de modele euristice, care prezint a
interes practic pentru producatorii de soft.
Intruc at in anumite situat ii pot exista informat ii apriori asupra unor
parametri sau caracteristici de abilitate, in capitolul al cincilea se prezinta
versiuni bayesiene ale modelului Jelinski-Moranda, ale modelului Littlewood-
Veral, sau a altor modele.
Capitolul al saselea prezint a cateva modele statice. Printre acestea se
evident iaza modelele de tip captura-recaptur a (care sunt inspirate de aplicat ii
din biologie). O buna parte a acestui capitol se ocupa de metricile de com-
plexitate ale produselor soft, n legatura cu care se pot estima o serie de
caracteristici de abilitate sau calitate a softului. Unele din modelele de aici
pot aplicate n multe activitat i manageriale ale companiilor de software.
De aceea capitolul al saselea trebuie citit impreuna cu capitolul al patrulea,
mai ales de catre cititorii interesat i de aplicat ii. Cititorii interesat i exclusiv
de aplicat ii pot omite citirea sect iunii 6.4.
Capitolele 1-6 sunt o versiune revizuita a edit iei din 2002. In edit ia elec-
tronica din 2007 este inclusa la sfarsitul ecarui capitol sect iunea Proba de
control care cont ine exercit ii si intrebari menite a usura autovericarea celor
ce studiaza acest material.
Capitolul al saptelea, introdus tot in 2007, descrie pe scurt metode de
control statistic de recept ie a loturilor de produse si materiale. Aceste metode
pot utilizate si la controlul si recept ionarea produselor IT. Sunt prezentate
metode clasice si metode de control statistic secvent ial.
Capitolul 8 prezint a modele de teoria reinoirii echipamentelor sau com-
ponentelor unui sistem, iar capitolul 9 prezinta proprietat i ale repartit iilor
de probabilitate cu rata caderilor monitina, ce se folosesc pe scara larga in
abilitate.Ultimele doua capitole sunt introduse in edit ia de fat a si lor li se
asociaza bibliograa suplimentar a atasata la sfarsit
Trebuie ment ionat faptul ca exista o foarte bogata literatura privind
tematica acestei lucrari. Bibliograa atasat a consta numai dintr-o parte a
lucrarilor pe care autorul le-a consultat si care pot gasite n biblioteci.
Lucrarea de fat a este o edit ie, revazut a si extinsa a lucrarii Fiabilitatea
Programelor, tiparita de Ed. Univ. Bucuresti, 2002.
In cazul in care lucrarea este utilizata ca suport pentru un curs de un
semestru, se recomanda utilizarea numai a capitolelor 1 si 2, part ial capitolul
3 si capitolele 6 si 7. Pentru un curs de un an sunt recomandate toate
capitolele lucrarii.
Autorul
Bucuresti, 2011.
3
ADDENDA
Pentru cursul Fiabilitatea Programelor de la Univ. SPIRU HARET
de un semestru (modulul de Master) sunt recomandate Capitolele 1,2,3,5,6
(fara Sect iunea 6.4).
CUPRINS
Cuvant introductiv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1 Not iuni introductive de teoria abilitat ii . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1 Erori si caderi n funct ionarea sistemelor . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Masuri de abilitate si not iuni conexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3 Repartit ii statistice uzuale in abilitate . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3.1 Repartirii continue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3.2 Repartit ii discrete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.4 Procese stochastice utilizate in abilitate . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.4.1 Procese Markov. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
( Procesul de nastere si deces-24)
1.4.2 Procese Poisson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.5 Estimat ii ale parametrilor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.5.1 Selet ii. Metode generale de estimat ie. . . . . . . . . . . . . . . . . . . . . . . . . 29
( Metoda momentelor-31, Metoda verosimilitat ii maxime-31,).
1.5.2 Aplicat ii in cazul unor repartit ii continue . . . . . . . . . . . . . . . . . . . . 33
1.5.3 Aplicat ii in cazul unor repartit ii discrete . . . . . . . . . . . . . . . . . . . . . 34
1.5.4. Determinarea repartit iei empirice. Testarea Concordant ei . . . 35
( Construct ia histogramei.35)
( Testul de concordant a
2
-38)
1.6 Fiabilitatea sistemelor cu mai multe componente . . . . . . . . . . . . . . . . . 39
1.6.1 Generalitat i privind abilitatea sistemelor. . . . . . . . . . . . . . . . . . . . 39
1.6.2 Calculul abilitat ii sistemelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
1.6.3 Observat ii nale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
(Proba de control.49)
2 Modele Markoviene pentru abilitatea programelor . . . . . . . . . . . 52
2.1 Modelul Jelinski - Moranda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2.2 Modele cu intensitatea aparit iei erorilor descrescatoare (DFI) . . . . 55
2.3 Modele J-M cu repartit ii DFI particulare. . . . . . . . . . . . . . . . . . . . . . . . . 59
( Un model DFI particular-59).
2.4 Justicarea unor ipoteze ale modelului J-M . . . . . . . . . . . . . . . . . . . . . . 60
2.5 Modelul lui Shick-Wolwerton. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2.6. Modelul Markovian al lui Shanthikumar . . . . . . . . . . . . . . . . . . . . . . . . . 66
2.7 Alte generalizari ale modelului J-M . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4
( Model cu erori detectate aleator-67, Model bazat pe coecientul de
expunere la eroare-68)
2.8 Alte modele Markov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Modelul lui Kremer-69, Modelul lui Kubat-70, Un model de dispo
nibilitate-71).
2.9 Modele cu date cenzurate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
( Modelul J-M cenzurat-74, Modelul Schich-Wolverton cenzurat-76,
Modelul J-M cenzurat de tip geometric-77, Modelul cenzurat al
lui Littlewood-Verall-78, Exercit ii de control-79).
3 Modele bazate pe procese Poisson neomogene . . . . . . . . . . . . . . . . . . 82
3.1 Modelul Goel-Okumoto (GO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
3.2 Modele bazate pe PPNO in forma de S . . . . . . . . . . . . . . . . . . . . . . . . 85
( Un model tipic bazat pe PPNO, in forma de S-86, Modelul lui
Shagen-86, Model cu factor de incovoiere-86).
3.3 Modelul lui Musa referitor la timpul operat ional . . . . . . . . . . . . . . . . . . 87
( Modelul logaritmic Poisson-88).
3.4 Alte modele bazate pe PPNO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
( Modelul Douane-90, Modelul logistic-91 , Metoda celor mai mici
patrate-91, Modelul Gomperz-92, Modele PPNO bazate pe efortul
de testare-92, Modele denite prin rata periculozitat ii-93,
(Model cu funct ia de periculozitate exponentiala liniara-93, Model
exponent ial liniar-94, Un model combinat-94)).
3.5 Modele bazate pe ecuat ii diferent iale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
( Modelul cu termen exponent ial simplu-95, Modelul lui Lloyd-Lipow-
95, Un nou model-95, Modelul lui Roesner-96).
3.6 Modele pentru mai multe tipuri de erori . . . . . . . . . . . . . . . . . . . . . . . . . . 97
(Exercit ii de control-98)
4 Modele privind optimizarea realizarii programelor . . . . . . . . . . . 100
4.1 Modele pentru determinarea duratei de testare . . . . . . . . . . . . . . . . . . 100
4.1.1 Model bazat pe utilizarea efortului de testare . . . . . . . . . . . . . . . 102
4.1.2 Model pentru software cu structura modulara . . . . . . . . . . . . . . 103
4.2 Modele de alegere optima a produselor software . . . . . . . . . . . . . . . . . 106
4.2.1 Modele referitoare la programe ce realizeaza anumite funct ii
date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
(* Model de alegere optima a programelor fara redundant a-107, ** Model
de alegere optima a programelor cu redundant a-108).
4.2.2 Modele bazate pe costuri pentru soft cu structura modulara. 110
( Model pentru selectarea unei mult imi optime de module cu o singura
5
funct ie. Versiunea fara redundant a-110, Model pentru selectarea
unei mult imi optime de module cu o singura funct ie. Versiunea cu
redundant at a-112 Model pentru selectarea unei mult imi de module
ce satisfac K funct ii. Versiunea fara redundant a-113,
Model pentru selectarea unei mult imi de module ce pot satisface
mai multe funct ii. Versiunea cu redundant a-114).
4.3. Alte modele bazate pe costuri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
4.3.1 Modele de tip COCOMO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
4.3.2 Modelul Walston-Felix. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
4.4 Modelul Bayley-Basili . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
4.5 Modele de tip Putnam. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
( Modelarea ciclului de viat a al componentelor-122, Versiunea lui
Parr-123, Versiunea lui Jensen-123).
4.6 Versiuni ale modelului COCOMO sau asemanatoare. . . . . . . . . . . . . 123
( Modelul COCOMO pentru planicare-123, Modelul COPMO-124,
Modelul lui Jerey-124).
(Proba de control-125)
5 Modele Bayessiene de abilitatea programelor. . . . . . . . . . . . . . . . . 128
5.1 Introducere in analiza Bayesian a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
( Funct ia de pierdere patratica-129, Funct ia de pierdere-valoare ab
-soluta-129, Media aposteriorica-129).
5.2 Modelul Littlewood - Verall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
( Cazuri particulare 131, Versiunea lui Musa-133).
5.3 Versiunea Bayesian a a modelului Jelinski - Moranda . . . . . . . . . . . . 134
( Un alt caz special-135, Alte versiuni ale modelului J-M-136,
Un model depinzand de probabilitatea de a avea eroare-137).
5.4 Un model Bayesian ce foloseste repartit ia geometrica. . . . . . . . . . . . 138
(Proba de control-139)
6 Modele statice. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
6.1 Modele frecvent iale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
( Modelul lui Nelson-142).
6.2 Modele captura-recaptura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
6.2.1 Alte tipuri de modele captura-recaptur a . . . . . . . . . . . . . . . . . 146
( Un model alternativ de tip captura-recaptura-146,
Alt model alternativ de tip captura-recaptura-146).
6.2.2 Modele generalizate de tip captura-recaptur a . . . . . . . . . . . . 148
6.3 Modele bazate pe metrici de complexitate . . . . . . . . . . . . . . . . . . . . . . . 148
6.3.1 Model bazat pe metrica de tip Halstead. . . . . . . . . . . . . . . . . . . . . 149
6
( Teoria lui Halstead-150).
6.3.2 Alte modele bazate pe metrici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
(Numarul de linii din program-153, Numarul de cuvinte-153, Complexi
tatea proiectului soft-153, Complexitatea ciclomatica- 153, Masura
de complexitate a lui Oviedo-155, Important a sau taria modulului-155,
par Metrici fan-in si fan-out-155, Formula facilitat ii de citire a programului-
156
138, Indicele de mascare-157, Rata de extindere a proiectului-157 Ratele
de erori si de modicari-157).
6.3.3 Modele bazate pe metrici pentru determinarea lui N
0
. . . . . . 158
(Modelul lui Lipow- 158, Modelul lui Schneider-159).
6.3.4 Cateva modele euristice cantitative . . . . . . . . . . . . . . . . . . . . . . . . . 159
Model pentru sursele de erori si detectarea lor-159, Model pentru
eliminarea erorilor-160).
6.4 Introducere formala a metricilor de software. . . . . . . . . . . . . . . . . . . . . 160
6.4.1 O teorie a masur atorilor si masuri pentru software . . . . . . . . . . 162
( Scale regulate si semnicat ie-164).
6.4.2 Abordarea structurilor interne ale programelor . . . . . . . . . . . . . 169
(Proba de control-175)
7 Controlul statistic de recept ie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
7.1 Metode de determinarea planurilor de control . . . . . . . . . . . . . . . . . . . . . . . . 179
7.1.1 Planuri simple de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
( Utilizarea repartit iei binomiale-179)
( Utilizarea repartit iei hipergeometrice-180)
7.2 Alte planuri de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Regula 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
7.2.2 Utilizarea repartit iei normale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
7.3. Control statistic secvent ial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
(Proba de control. 188)
8 Funct ii de repartit ie cu rata ca derilor monotona . . . . . . . . . . . . . . 191
9 Not iuni de teoria reinoirii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
9.1 Reinoirea la ca dere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
( Rezolvarea ecuat iei densitat ii de reinoirie folosind transformata Laplace.
203), Alte propriet at i ale transformatei Laplace. 207), (Calculul funt iei original.
208)
9.2 Inlocuirea dupa varsta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
9.3 Inlocuirea cu reparare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
9.4 Inlocuirea cu reparare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216.
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Cap.1. Not iuni introductive de teoria abilitat ii 7
1 Not iuni introductive de teoria abilitat ii
1.1 Erori si caderi n funct ionarea sistemelor
In limbajul cotidian cuvantul abilitate a unui sistem este sinonim cu sigurant a n
funct ionare a acelui sistem. Fiabilitatea desemneaza deci unul sau mai mult i indi-
catori de calitate care descriu buna funt ionare a unui sistem [2, 3, 4, 6, 12, 15, 27].
(Sistemul poate o masina automata, un computer, o ntreprindere, o viet uitoare,
sau chiar un program calculator). Nefunct ionarea unui sistem poate determinata
de mai multe cauze care pot aleatoare sau nu; chiar daca nu ntotdeauna cauzele
sunt aleatoare, ele se pot nsa manifesta n mod aleator determinand ca sistemul
sa nu si realizeze scopul, deci sa nu funct ioneze normal. De cele mai multe ori
cand sistemul nu funct ioneaza normal spunem ca el are o cadere, iar asa cum am
vazut, apart ia caderii este aleatoare.
La un program, de exemplu [1, 2, 16, 22, 25, 35], caderea poate determinata
e de existent a unei erori, e de nendeplinirea de catre utilizator a condit iilor
cerute de execut ia sau exploatarea programului.
Un produs software parcurge de regula un ciclu de viat a constand din urmatoarele
etape: denirea cerint elor sau specicat iilor, proiectarea, programarea, testarea si
operarea/ntret inerea. Datorita complexitatii foarte mari a produselor software
(un program de acest tip poate avea sute de mii sau chiar milioane de linii de text
sursa!), la testare nu este posibil sa se descopere toate erorile. Daca consideram un
program ca ind reprezentat de o schema logica, (vezi Fig.1.1), adica de un graf ori-
entat [10, 13, 18], n care nodurile sunt instruct iunile (blocuri funct ionale si blocuri
predicative), saget ile indica succesiunea de execut ie a blocurilor, iar doua noduri
sunt privilegiate (blocurile de START si STOP), atunci este simplu de nt eles ca
execut ia unui program inseamna parcurgerea unui drum in graf de la START la
STOP. Un program complex poate avea multe blocuri predicative ( i.e. condit ii
sau ramicat ii) si deci multe astfel de drumuri. In faza de testare nu este posibil
sa se parcurga toate drumurile pe care s-ar putea gasi erori si datorita faptului ca
in general cel care face testarea nu poate sa aleaga seturi de date de intrare care
sa conduca la un anumit drum (cale de testare); de regula el alege pentru testare
seturile de date de intrare la intamplare, ecare testare corespunzand unui astfel
de drum. Drumurile netestate pot cont ine deci erori. Dupa ce programul este
dat in funct iune, un utilizator oarecare, folosind aleator alte date de intrare, poate
descoperi ntamplator erori.
8 Cap 1. Not iuni introductive de teoria abilitat ii
I

START
'
'
`
`Z
Z
.
.
.
.
. '
`
`
`
`
`
' ' '
`
`Z
Z `
`Z
Z `
`Z
Z /
/
/r
\
\
\1
/
/
/r
\
\
\1
/
/
/r
\
\
\1
O

STOP
'
J
J

J
J

J
J ^

?
Legenda
= bloc functional
`
`Z
Z
= bloc predicativ
I
O
= bloc de intrare
= bloc de iesire
Fig.1.1 O Schema Logica (reprezent and un program)
v
i
= numarul de alternative ale blocului predicativ i, 1 i n;
n = numarul de blocuri predicative ;
N
c
= numarul de cai de testare =
n

i=1
v
i
;
N
c
= 2
n
daca v
i
= 2.
In cazul ntrunirii condit iilor aparit iei unei astfel de erori, programul, e se
ntrterupe, e nu da rezultate corecte; spunem ca are loc o cadere a programului,
care se manifesta deci n mod aleator.
Caderea apare astfel numai ca efect al aparit iei uneia sau mai multor erori pe
o cale de testare.
Durata X de funct ionare fara caderi este deci o variabila aleatoare [2, 3, 4, 6,
12, 16, 23, 25,35]; vom nota cu F funct ia de repartit ie a lui X, adica
F(t) = P(X < t).
Fiabilitatea unui program sau a unui sistem este probabilitatea ca acel program
Cap.1. Not iuni introductive de teoria abilitat ii 9
sau sistem sa funct ioneze fara caderi, n anumite condit ii de operare, pe un anumit
interval de timp de lungime t. Fiabilitatea se noteza R(t) sau F(t), este denita
de relat ia
R(t) = F(t) = P(X t) = 1 F(t)
si se mai numeste probabilitate de supraviet uire.
Solut ia X

a ecuat iei in x: R(x) = , unde este o probabilitate mare,


apropiata de 1 (de ex = 0.975,) se numeste termen de garant ie cu coecientul
de sigurant a .. De aici se vede ca funct ia abilitate R(t) = F(t) are o deosebita
important a practica.
Multe sisteme create de om (sau numai componente ale sistemelor), pot cadea
dupa anumite durate de timp de funct ionare, dupa care are loc ntret inerea sau
repararea lor (mentenant a), care de asemenea se realizeaza n anumite perioade de
timp ce pot aleatoare, sistemul intrand din nou ntr-o perioada de funct ionare si
a.m.d. Un astfel de sistem se numeste reparabil [2]. Un produs software (sau un
sistem de product ie-fabrica) este, desigur, un sistem reparabil.
La sistemele reparabile, abilitatea variaza cu varsta sistemului. Astfel daca
sistemul a fost operat o perioada de timp de lungime t
0
, atunci o caracteristica
interesanta este R
t
0
(t) = R(t|t
0
) care este probabilitatea ca sistemul sa funct ioneze
fara caderi pe intervalul [t
0
, t], condit ionat de faptul ca el a funct ionat si pe in-
tervalul [0, t
0
], sau a fost reparat la momentul t
0
. Funct ia R(t|t
0
) este funct ia de
abilitate condit ionata de supraviet uire a momentului t
0
(sau funct ia de abilitate
condit ionata de faptul ca sistemul a fost revizuit sau reparat si repus n funct iune
la momentul t
0
).
1.2 Masuri de abilitate si not iuni conexe
Una din not iunile importante n studiul abilitat ii programelor si sistemelor in
general, este funct ia abilitate [3, 4, 6, 12, 23, 35] (sau funct ia de supraviet uire)
denita mai sus.
Denit ia 1.1 Fie X (X > 0) o variabila aleatoare pozitiva (durata de viat a),
F(x) = P(X < x) - funct ia sa de repartit ie si f(x) = F

(x) - densitatea sa de
repartit ie (presupunand ca derivata exista). Atunci funct ia
r(x) =
f(x)
F(x)
, F(x) = 0, r(0) = 0, (1.1)
se numeste rata caderilor [3, 4, 6, 8, 35] sau rata de hazard (cand nu este vorba
de abilitate).
Daca funct ia rata de hazard r(x) este crescatoare n x, atunci repartit ia de
probabilitate a lui X se numeste [3, 4] IFR (Increasing Failure Rate), iar daca r(x)
10 Cap 1. Not iuni introductive de teoria abilitat ii
este descrescatoare atunci repartit ia de probabilitate se numeste DFR (Decreasing
Failure Rate).
Propozit ia 1.1. Intre funct ia abilitate si funct ia rata de hazard exista relat ia
[3, 4]
F(x) = e
H(x)
, H(x) =

x
0
r(u)du (1.2)
funct ia H(x) ind rata cumulata de hazard.
Demonstrat ie. Din (1.1) rezulta ca
r(x) =
_
F(x)
_

F(x)
iar prin integrarea ultimei relat ii obt inem relat ia (1.2).
Propozit ia 1.2. Funct ia rat a de hazard satisface proprietatea
P({t X t + t}|{X > t}) = r(t)t. (1.3)
Demonstrat ie. Sa consideram evenimentele
A = {t X t + t}, B = {X > t}, A B.
Atunci primul membru din (1.3) este P(A|B), n care, utilizand formula lui La-
grange obt inem
P(A|B) =
P(A

B)
P(B)
=
P{t X t + t})
P({X > t})
= r(t)t.
Ultima egalitate demonstreaza propozit ia.
Aceasta propozit ie da o interpretare interesanta ratei de hazard; daca sistemul
a supraviet uit momentului t, atunci, pericolul ca el sa cada n intervalul mic de
timp [t, t + t] este proport ional cu rata de hazard r(t).
Prin cuvantul durata de viat a putemnt elege orice variabila pozitiva, deci care
are proprietatea F(0 0) = 0 = lim
x0,x<0
F(x). O asemenea variabila aleatoare
poate si durata de mbatranire saudurata de viat a sau durata unei boli cronice
pana la vindecare, precum ar putea si durata de activitate nentrerupta a unui
salariat n aceeasi institut ie. Daca durata de viat a se refera la int e vii sau la
funct ionarea unui aparat sau a unui produs industrial, atunci se poate utiliza
pentru modelarea fenomenului respectiv o repartit ie de tip IFR (pentruca daca
produsul a funct ionat pana la varsta t, pericolul ca el sa cada in intervalul (t, t+t)
creste); dimpotriva, n cazul cand X este durata nentrerupta de activitate a unui
salariat in aceeasi unitate, atunci se foloseste pentru modelare o repartit ie DFR (
deoarece pericolul ca salariatul sa paraseasca unitatea dupa ce a fost angajat in
ea fara intrerupere t ani, descreste).
Cap.1. Not iuni introductive de teoria abilitat ii 11
Revenind la interpretarea ment ionata mai sus, relat ia (1.3) spune de fapt ca
r(t), n cazul abilitat ii, reprezinta rata periculozitat ii [2, 6, 25] de cadere, a aparat-
ului, sistemului sau a programului. (In cazul duratei de viat a biologice sau n
demograe r(t) este pericolul de mortalitate sau fort a de mortalitate). Acest peri-
col creste n cazul repartit iilor IFR si descreste n cazul repartit iilor DFR. Pen-
tru abilitatea programelor este natural sa presupunem ca repartit ia duratei in
funct ionare pana la cadere este de tip DFR, ntrucat pe parcursul utilizarii pro-
gramului erorile sunt detectate si eliminate si deci pericolul aparit iei unor noi caderi
scade.
In abilitatea programelor vor interveni si alte caracteristici de abilitate. In
orice program dat n exploatare de catre un producator de software, exista un
numar init ial N
0
de erori, deoarece la testare nu se pot considera toate caile de
testare care sa conduca la descoperirea si eliminarea tuturor erorilor.Fiecare eroare
se va gasi pe o cale de testare, adica pe un drum de la START la STOP al schemei
logice. Un produs software real, care are n blocuri predicative va avea un numar
exponent ial de cai de testare (vezi N
c
din Fig.1.1) . De aceea programele sunt
supuse unor operat ii de testare prin care se urmareste detectarea unor erori ( sa
spunem m) care se nlatura. Din datele de test, producatorul de soft este interesat
sa determine (sa estimeze) pe N
0
calculand apoi pe aceasta baza ce efort mai este
necesar pentru a nlatura pe cele N
0
m erori ramase, sau macar o fract iune din
acestea.
1.3 Repartit ii statistice utilizate in abilitate
1.3.1 Repartit ii continue
Presupunem ca duratan funct ionare pana la cadere are densitate de repartit ie.
In acest caz se spune ca repartit ia de probabilitate este continua. Vom prezenta cele
mai importante repartit ii continue unidimensionale care pot interveni n abilitate.
Mai intai vom introduce not iunea de independent a a doua variabile aleatoare.
Fie X si Y doua variabile aleatoare. Funct ia lor comuna de repartit ie este F(x, y) =
P(X < x, Y < y); acesta se mai numeste funct ia de repartit ie bidimensionala a
vectorului aleator (X, Y )

. (Vectorul este considerat ca vector coloana;vectorul linie


(X, Y ) prin transpunere devine vector coloana, adica (X, Y )

). Pe de alta parte,
ecare variabila aleatoare are funct ia sa de repartit ie, adica F
1
(x) = P(X <
x), F
2
(y) = P(Y < y); Funct iile F
1
, F
2
se mai numesc si funct ii de repartit ie
marginale ale lui X, respectiv Y . Se observa ca F
1
(x) = F(x, ), F
2
(y) =
F(, y).
Variabilele aleatoare X si Y sunt independente stochastic daca F(x, y) =
F
1
(x)F
2
(y).
12 Cap 1. Not iuni introductive de teoria abilitat ii
Daca exista derivatele part iale
f(x, y) =

2
F(x, y)
xy
, f
1
(x) =
F
1
(x)
x
, f
2
(y) =
F
2
(y)
y
atunci funct iile f, f
1
, f
2
se numesc densitat i de repartit ie; f este densitate re
repartit ie bidimensionala si f
1
, f
2
sunt densitat i de repartit ie marginale. In ter-
meni de densitat i, condit ia de independent a a variabilelor X si Y se scrie: f(x, y) =
f
1
(x)f
2
(y).
In mod asemanator se pot introduce vectori aleatori ndimensionali, functii de
repartit ie sau densitat i de repatrtit ie multidimensionale, precum si independent a
doua cate doua sau globala a mai multe variabile aleatoare.
Revenim acum la prezentarea unor repartit ii de probabilitate unidimensionale
continue care intervin in abilitate.
1. Repartit ia exponent iala [3, 6, 23,35] (sau exponent iala negativa), de parametri
si (notata Exp(, ), cu , parametri reali pozitivi) are densitatea
f(x) = e
(x)
I
(,)
(x) (1.4)
unde I
(,)
(x) este funct ia indicator a intervalului (0, ). Gracul lui f(x) are
forma de J (litera mare) scris invers si el este situat la dreapta axei x = . (Vezi
Fig.1.2). De aceea parametrul se numeste parametru de locat ie (valorile variabilei
exponent iale X corespunzatoare se localizeaza la dreapra lui x = ). Parametrul
este parametrul de scala (prin modicarea lui putem schimba scala de valori ale
variabilei X).
Variabila Exp(0, 1) se numeste variabila exponent iala standard. Notand aceasta
variabila cu Z, avem X = +Z. Cea mai utilizata este variabila Exp(0, ) (sa o
notam cu Y ), pentru care funct ia de repartit ie si funct ia abilitate sunt respectiv
F(x) = (1 e
x
)I
(0,)
(x), F(x) = e
x
, x > 0. (1.4

)
Rata caderilor este = const. adica repartit ia exponent iala este si IFR si DFR,
sau mai precis este la limita dintre clasele IFR si DFR. Media variabilei Y este
E(Y ) = = 1/, iar media variabilei X este E(X) = + 1/.
Repartit ia exponent iala poate utilizata n abilitate atat ca repartit ie a du-
ratei n funct ionare, cat si ca repartit ie a duratei de reparat ie.
2. Repartit ia Weibull(, , ) [6, 12, 23], cu , , parametri reali si pozitivi,
are densitatea
f(x) =

_
x

_
1
e
(
x

I
(,)
(x). (1.5)
Cand > 1, gracul lui f(x) are forma de clopot nesimetric cu varful situat la
dreapta axei x = iar cand 0 < < 1 are forma literei J (litera mare) scrisa
Cap.1. Not iuni introductive de teoria abilitat ii 13
invers. (Vezi Fig.1.2). De aceea parametrul se numeste parametru de forma.
Parametrul se numeste parametru de scala (adica modicandu-l putem modica
scala de valori ale variabilei X =timp de funct ionare), iar parametrul se numeste
parametru de locat ie (adica valorile semnicative ale lui X, ca si gracul densitat ii
sale, se situeaza la dreapta lui x = ).
Funct ia de repartit ie si funct ia abilitate Weibull sunt respectiv
F(x) =
_
0, x
1 e
(
x

, x > ,
F(x) =
_
1, x
e
(
x

, x >
. (1.5

)
Rata caderilor este n acest caz
r(x) =

_
x

_
1
, x > (1.5)
adica repartit ia Weibull este de tip DFR daca 0 < < 1 si de tip IFR daca > 1.
In cazul = 1 repartit ia Weibull se reduce la repartit ia exponent iala.
Repartit ia Weibull(0, 1, ) se numeste repartit ia Weibull standard. Sa notam
cu Z variabila aleatoare Weibull standard. Se arata cu usurint a ca valoarea medie
a lui Z este
E(Z) =
1

_
1

_
si deoarece X = +Z rezulta ca
E(X) = +
1

(
1

).
In formulele de mai sus cu se noteaza funct ia gamma denita de relat ia
(p) =

0
x
p1
e
x
dx
si ea satisface proprietat ile
(p)
a
p
=

0
x
p1
e
ax
dx, a > 0, (k + 1) = k(k), (k + 1) = k!, k N.
Repartit ia Weibull poate utilizata n abilitate atat ca repartit ie a duratei
n funct ionare, cat mai ales ca repartit ie a duratei de mbatranire.
3. Repartit ia Gamma(, , ) [3, 6, 12, 35] cu , , parametri reali pozitivi
avand aceeasi semnicat ie ca si n cazul repartit iei Weibull, are densitatea de
repartit ie
f(x) =

()
(x )
1
e
(x)
I
(,)
(x). (1.6)
14 Cap 1. Not iuni introductive de teoria abilitat ii
Notand cu X aceasta variabila aleatoare si cu Y variabila standard Gamma(0, 1, )
se arata cu usurint a ca E(Y ) = , de unde E(X) = +/.
Rata caderilor repartit iei Gamma este dicil de calculat, iar o analiza de-
tailata arata ca ea are intervale pe care este crescatoare si intervale pe care este
descrescaroare.
Repartit ia Gamma este utilizata atat ca repartit ie a duratelor de funct ionare
cat si ca repartit ie a duratelor de reparat ie. Gracul densitat ii Gamma este
asemanator celui al densitat ii Weibull.(Vezi Fig.1.2).
4. Repartit ia Lomax(, a) [12, 31] are densitatea de repartit ie de forma
f(x) =
a
(1 +x)
a+1
I
(0,)
(x), a, > 0. (1.7)
Se arata ca daca X este Exp(0, ) cu aleator, repartizat Gamma(0, b, a) atunci
X are de fapt repartit ia Lomax(, a) cu = /b.
Funct ia de repartit ie si funct ia de abilitate sunt respectiv
F(x) = 1
1
(1 +x)
a
, F(x) =
1
(1 +x)
a
, x > 0. (1.7

)
Rata caderilor este
r(x) =
a
1 +x
I
(0,)
(x)
deci repartit ia Lomax(, a) este DFR. Valoarea medie a variabilei X este E(X) =
1/((a 1)).
Repartit ia Lomax(, a) caracterizeaza duratan funct ionare a unui echipament
care este operat in condit ii de mediu ce nu coincid (ntotdeauna) cu condit iile de
mediu pentru care a fost realizat echipamentul.
5. Repartit ia valorii extreme (Gumbel()) [3, 10] are densitatea de repartit ie
f(x) =
1

exp
_

e
x
1

+x
_
I
(0,)
(x) > 0, (1.8)
iar rata caderilor este
r(x) =
e
x

(1.8

)
deci aceasta repartit ie este de tip IFR. Repartit ia Gumbel() este specica tim-
pului de funct ionare al unui sistem ce se deterioreaza repede n timp.
6. Repartit ia normala N(, ) [2, 3, 12, 34] are densitatea
f(x) =
1

(2)
e

(x)
2
2
2
, x R (1.9)
Cap.1. Not iuni introductive de teoria abilitat ii 15
unde R, R
+
sunt parametri dat i. Gracul lui f are forma unui clopot
simetric fat a de axa x = care are punctele de inexiune x
1
= , x
2
=
+ . (Vezi Fig.1.2). Daca notam cu X variabila N(, ), se arata ca E(X) =
, V ar(X) =
2
. Repartit ia N(, ) poate utilizata ca repartit ie a timpului de
funct ionare numai daca > 0, >> 3., deoarece n acest caz P(X 0) 0.
Daca notam cu Z variabila aleatoare N(0, 1) atunci funct ia sa de repartit ie
este
(x) =
1

(2)
x

u
2
2
du. (1.9

)
De aici se deduce ca P(X < x) = ((x)/), care are deci o forma complicata dar
care se poate calcula cu usurint a numeric, folosind formule clasice de cuadratura
pentru funct ia lui Laplace
L(x) =
1

(2)
x

0
e

u
2
2
du, x > 0 (1.9

)
si t inand seama de relat ia
(x) = 0.5 +sgn(x)L(|x|), x R.
Rata caderilor n acest caz are o forma ce nu se poate explicita usor si se poate
calcula tot numeric.
Repartit ia normala, desi nu intotdeauna poate descrie o durata in funct ionare,
este foarte importanta in interpretarea datelor statistice, mai ales prin repartit iile
cu care aceasta se inrudeste.
Astfel, o repartit ie inrudita cu repartit ia normala este repartit ia
2
. Daca
Z
1
, Z
2
, ..., Z
n
sunt variable normale N(0, 1) independente stochastic, atunci vari-
abila

2
=
n

i=1
Z
2
i
,
este variabila
2
cu n grade de libertate si se noteaza
2
n
, iar repartit ia sa se
numeste repartit ia
2
cu n grade de libertate. Densitatea de repartit ie
2
n
este de
tipul Gamma(0, 1/2, n/2) adica
f(x) =
_
1
2
n
2 (
n
2
)
x
n
2
1
e

x
2
,
0, in rest.
Daca Z este o variabila N(0, 1) si
2
n
este o variabila
2
independenta de Z
atunci variabila
t
n
=
Z

2
n
n
16 Cap 1. Not iuni introductive de teoria abilitat ii
este variabila t a lui Student cu n grade de libertate si ea are densitatea de repartit ie
f(x) =
(
n+2
2
)

(
n
2
)
(1 +x
2
)

n+1
2
.
- -
- -
6
6 6
6
a) b)
c) d)
(0, )
0 0
0 0
x x
x x
y y
y y
m m m+
0 < < 1
> 1
Fig. 1.2. Gracele unor densitat i de repartit ie.
a) Densitatea exponent iala Exp().
b) Densitat i de tipul Gamma(0, 1, ), Weibull(0, 1, ).
c) Densitatea normala N(m, ).
d) Densitatea de repartit ie de tip Student.
7. Repartit ia lognormala LN(, ) [12, 34], este repartit ia unei variabile X > 0
pentru care Y = ln(X) are repartit ie normala N(, ). Deci aceasta repartit ie este
legata de cea normala pentru care este cunoscuta semnicat ia parametrilor. Daca
notam cu m = E(X), s
2
= V ar(X), atunci se poate deduce urmatoarea relat ie
Cap.1. Not iuni introductive de teoria abilitat ii 17
ntre parametri lognormalei , si m, s, adica
= ln(m)
1
2
ln
_
s
2
m
2
+ 1
_
,
2
= ln[
s
2
m
2
+ 1]. (1.10)
Funct iile de repartit ie, de abilitate si rata a caderilor se deduc n acest caz din
cele ale repartit iei normale, ele avand o forma complicata, dar pot cu usurint a
calculate numeric.
Repartit ia lognormala este mai degraba utilizata n abilitate decat repartit ia
normala. Ea este specica duratei de reparat ie dar poate utilizata si pentru
duratele n funct ionare.
In Fig.1.2 sunt prezentate gracele unor densitat i de repartit ie ment ionate
anterior.
1.3.2 Repartit ii discrete
Desi se utilizeaza mai put in ca durate de funct ionare sau reparat ie, vom prezenta
aici cateva repartit ii discrete specice teoriei abilitat ii.
Repartit iile discrete sunt utilizate cu precadere pentru a caracteriza numarul
aleator de caderi N(t) ce se produc pe un interval de timp xat [0, t] [3, 25,
34, 35], (de obicei t = 1 si se foloseste notat ia = N(1)). Daca este vorba de
durate, se presupune ca acestea se masoara n marimi discrete [3], adica durata
este X = 0, 1, 2, ..., n, ... iar funct ia de frecvent a este f(i) = P(X = i) = p
i
. Funct ia
de repartit ie si funct ia abilitate, n cazul discret, sunt respectiv
F(x) = P(X < x) =

i,i<x
f(i), F(x) =

i,ix
f(i). (1.11)
Daca variabila discreta X este durata de funct ionare sau durata de reparat ie atunci
funct ia rata caderilor este de forma
r(i) =
f(i)

j,jx
f(j)
, i = 0, 1, 2, ...n, ... (1.11

)
Vom prezenta pe scurt cateva repartit ii discrete utilizate n abilitate, re-
strangand expunerea numai la funct ia de frecvent a si eventual la precizarea valorii
medii si a dispersiei.
8. Repartit ia geometric a Geom(p), 0 < p < 1, [3, 12, 34, 35] are funct ia de
frecvent a
P(X = i) = f(i) = pq
i
, q = 1 p, i = 0, 1, 2, ..., n, ... (1.12)
18 Cap 1. Not iuni introductive de teoria abilitat ii
Momentele de primele doua ordine sunt
m
1
= E(X) =
q
p
, m
2
=
q(1 +q)
p
2
(1.12

)
de unde rezulta
V ar(X) = m
2
m
2
1
=
q
p
2
. (1.12)
(Pentru calculul acestor momente a se vedea tehnica folosita mai jos pentru repartit ia
binomiala cu exponent negativ, bazata pe utilizarea funct iei generatoare a mo-
mentelor).
9. Repartit ia binomiala cu exponent negativ [12,34] sau repartit ia Pascal(k, p)
(k N, 0 < p < 1), are funct ia de frecvent a
P(X = i) = f(i) = C
i
k+i1
p
k
q
i
, i = 0, 1, 2, ..., n, ..., q = 1 p. (1.13)
Pentru a aa momentele acestei repartit ii folosim funct ia generatoare a momentelor
denita astfel
m
X
(t) = E(e
tX
) =

j=0
e
jt
f(j), t < 0
care n cazul nostru este
m
X
(t) =

j=0
C
j
j+k1
e
jt
p
k
q
j
=

j=0
C
j
k+j1
p
k
(qe
t
)
j
=
_
p
1 qe
t
_
k
.
Momentul de ordinul r este dat de relat ia
m
r
= (m
X
(t))
(r)
|
t=0
unde cu f
(r)
se noteaza derivata de ordinul r a lui f. In cazul nostru avem
m
1
= (m
X
(t))

|
t=0
=
kq
p
, m
2
= (m
X
(t))
(2)
|
t=0
=
kqp +k(k + 1)q
2
p
2
(1.13

)
de unde rezulta
m
1
= E(X) =
kq
p
, V ar(X) = m
2
m
2
1
=
kq
p
2
. (1.13)
In ceea ce priveste utilizarea funct iei generatoare a momentelor, aceasta este o
alternativa la utilizarea funct iei caracteristice denita astfel
(t) = E(e
itX
), t R,
Cap.1. Not iuni introductive de teoria abilitat ii 19
care este o funct ie de variabila complexa, pe cand funct ia generatoare este o funct ie
de variabila reala. Funct ia caracteristica exista ntotdeauna (adica pentru orice t),
pe cand funct ia generatoare exista numai pentru t 0. Pentru ca momentele unei
variabile aleatoare X sa existe, trebuie ca cele doua funct ii sa e derivabile n
origine.
10. Repartit ia binomiala Binom(n, p), n N
+
, 0 < p < 1 [6, 12,34] are funct ia
de frecvent a
f(i) = P(X = i) = C
i
n
p
i
q
ni
, i = 0, 1, 2, ..., n, q = 1 p. (1.14)
Funct ia generatoare a momentelor este
m
X
(t) = E(e
tX
) =
n

i=0
p
i
q
ni
e
ti
= (q +pe
t
)
n
(1.14

)
de unde rezulta ca
m
1
= E(X) = np, m
2
= E(X
2
) = n(n 1)p
2
+np,
V ar(X) = m
2
m
2
1
= npq. (1.14

)
Repartit ia binomiala se foloseste ca repartit ie a numarului de caderi (de erori de-
tectate) pe un anume interval de timp, n care se executa n rulari ale programului.
Observat ie. Repartit iile prezentate la pct. 8-10 de mai sus, sunt toate
nrudite, ele derivand din experient e cu probe Bernoulli [28]. O proba Bernoulli
este un experiment ce se face asupra unui eveniment A a carui probabilitate
p = P(A) = const. Acest eveniment n cazul nostru este o rulare a unui pro-
gram care se poate termina cu un succes, cand programul se executa pana la
capat, sau cu un esec, cand programul se ntrerupe (ca urmare a aparit iei unei
erori n program pe parcursul execut iei). Sa asociem unei probe Bernoulli o vari-
abila aleatoare Z, numita variabila Bernoulli care ia doua valori: Z = 0 daca proba
Bernoulli conduce la un esec (adica evenimentul A nu se produce, deci programul
se ntrerupe), sau Z = 1 in caz contrar, cand proba Bernoulli conduce la un suc-
ces, (adica evenimentul A se produce, programul executandu-se pana la capat).
Rezulta ca p este probabilitatea ca proba Bernoulli sa produca un succes.
Cu aceste notat ii se poate arata usor ca daca p = Prob(succes), atunci:
Variabila aleatoare discreta X care reprezinta numarul de esecuri pana la
producerea unui succes ntr-un sir de probe Bernoulli independente, este o variabila
geometrica, Geom(p) [34].
Variabila aleatoare discreta X care reprezinta numarul de esecuri pana la
producerea a k succese ntr-un sir de probe Bernoulli independente, este o variabila
Pascal(k, p) [34].
20 Cap 1. Not iuni introductive de teoria abilitat ii
Variabilele geometrica si Pascal iau valori n N
+
.
Variabila aleatoare X care reprezinta numarul de succese n n probe Bernoulli
independente este o variabila binomiala Binom(n, p) [34], asa cum am ment ionat
si mai sus (p = Prob(succes)).
Deci variabilele de la pct. 8-10 sunt denite in termeni de variabile Bernoulli
Z
i
, i = 1, 2, ... independente si identic repartizate. Folosind aceasta observat ie
se pot deduce n alt fel valorile medii si dispersiile pentru cele trei repartit ii de
probabilitate. De exemplu pentru variabila binomiala X ; Binom(n, p), care
este de forma X =

n
i=1
Z
i
unde Z
i
sunt variabile Bernoulli independente, avem
E[X] = E[
n

i=1
Z
i
] =
n

i=1
E[Z
i
] = np,
V ar(X) = V ar[
n

i=1
Z
i
] =
n

i=1
V ar(Z
i
) = np(1 p).
Sa mai observam ca in denit iile de mai sus, bazate pe probe Bernoulli, cu-
vintele succes si esec se pot interschimba, obt inandu-se o interpretare pratica
duala a variabilelor denite in termeni de variabile Bernoulli. (De ex. variabila
X ;Pascal(k, p) este numarul de succese in probe Bernoulli independente, pana
la aparit ia a k esecuri, unde q = 1 p = Prob(esec)).
11. Repartit ia Poisson(), > 0, [3, 12, 25, 34] are funct ia de frecvent a
f(i) = P(X = i) =

i
i!
e

, i = 0, 1, ..., n, ... (1.15)


Se observa cu usurint a ca funct ia generatoare este
m
X
(t) = E(e
tX
) = e
(e
t
1)
(1.15

)
de unde rezulta
m
1
= (m
X
(t))

|
t=0
= , m
2
= ( + 1), V ar(X) = . (1.15)
Repartit ia Poisson() este repartit ia evenimentelor rare [34] n urmatorul sens:
numarul de evenimente rare, inependente, de probabilitat i constante si egale, ce
se produc pe un interval de timp constant (de ex. egal cu 1), are o repartit ie
Poisson(). Parametrul pozitiv reprezinta numarul mediu de evenimente rare
ce se produc pe unitatea de timp considerata. Deocamdata, nt elegem prin eveni-
mente rare ceeace ne sugereaza intuit ia. Ce nseamna evenimente rare vom preciza
mai n detaliu n sect iunea urmatoare cand vom introduce procesele de nastere si
deces si procesul Poisson.
Cap.1. Not iuni introductive de teoria abilitat ii 21
1.4 Procese stochastice utilizate in abilitate
Un proces stochastic este o familie de variabile aleatoare {X
t
, t T}, T R [3,
25, 35]. Parametrul t este adesea interpretat ca ind timpul. Daca T R
k
, sau
daca T este o submult ime a unui spat iu vectorial, atunci {X
t
, t T} este un camp
aleator sau un proces cu indici multipli. In cele ce urmeaza, vom considera T R.
A cunoaste un proces stochastic nseamna a cunoaste funct ia de repartit ie
F
t
1
,t
2
,...,t
n
(x
1
, x
2
, ..., x
n
) = P(X
t
1
< x
1
, X
t
2
< x
2
, ..., X
t
n
< x
n
) pentru n N
+
si t
1
< t
2
< ... < t
n
T. In particular trebuie cunoscuta funct ia de repartit ie a
lui X
t
pentru orice t T. Valorile variabilelor aleatoare X
t
, t T se mai numesc
uneori stari, iar daca T este cel mult numarabila, atunci procesul se numeste lant .
Pentru a studia un proces se precizeaza e mult imea funct iilor de repartit ie
{F
t
(x), t T}, e se precizeaza anumite axiome (proprietat i) satisfacute de funct iile
de repartit ie din care se pot deduce (calcula) acestea.
Vom prezenta mai ntai clasa proceselor Markov [3, 35] care modeleaza o cate-
gorie nsemnata de fenomene ale lumii reale ce au comportament aleator.
1.4.1 Procese Markov
Denit ia 1.2.Un proces stochastic {X
t
, t 0} (adica T = [0, )) se numeste
proces Markov, daca
P(X
t
< x|X
t
1
< x
1
, ..., X
t
n
< x
n
) = P(X
t
< x|X
t
n
< x
n
) (1.16)
pentru orice t
1
< t
2
< ... < t
n
< t.
Cu alte cuvinte repartit ia de probabilitate a procesului n viitor, depinde nu-
mai de prezent (comportamentul viitor al procesului depinde numai de prezent).
Altfel spus, dandu-se starea prezenta a procesului, comportarea sa viitoare este
independenta de istoria trecuta a procesului.
Procesul Markov modeleaza o mare parte din fenomenele aleatoare ce sentalnesc
n practica.
Daca mult imea S a valorilor lui X
t
este discreta, atunci procesul are o mult ime
nita de stari, iar daca mult imea T este discreta atunci procesul se numeste lant
Markov.
Pentru un lant Markov nit prezinta interes probabilitat ile de trecere p
ij
(s, t)
= P(X
t
= j|X
s
= i), s < t. Deci p
ij
(s, t) este probabilitatea de a trece din starea
i la momentul s in starea j la momentul ulterior t. Daca = {
i
(s)}, i S este
vectorul ce deneste repartit ia starilor la momentul s, presupusa cunoscuta, si
daca sunt cunoscute probabilitat ile de trecere p
ij
(s, t), atunci, conform formulei
probabilitat ii totale, repartit ia starilor la momentul t, t > s este

i
(t) =

jS
p
ij
(s, t)
j
(s). (1.17)
22 Cap 1. Not iuni introductive de teoria abilitat ii
Matricea probabilitat ilor de trecere ntr-un pas P(t) = ||p
ij
(t, t + 1)|| (un pas se
refera la (t, t +1)), poate depinde de timpul t. Daca aceasta matrice nu depinde
de t atunci lant ul Markov se numeste omogen. Pentru un astfel de lant omogen,
probabilitatea de trecere p
ij
(s, t) satisface condit ia p
ij
(s, t) = p
ij
(t s) adica de-
pinde numai de lungimea intervalului de timp (s, t). Probabilitat ile p
ij
(t) satisfac
n acest caz relat ia urmatoare, numita formula Chapman-Kolmogorov
p
ij
(s +t) =

kS
p
ik
(s)p
kj
(t).
De aici rezulta ca daca P = P(1) este matricea probabilitat ilor de trecere ntr-un
pas a procesului omogen, atunci matricea P(n) de trecere n n pasi este
P(n) = P
n
. (1.17

)
In plus daca notam cu (n) vectorul ce reprezinta repartit ia de probabilitate a
starilor la momentul n, n > 0 si cu vectorul ce reprezinta repartit ia starilor la
momentul 0, atunci (1.17) devine
(n) = P
n
. (1.17)
Deci pentru un lant Markov, este sucient sa cunoastem o repartit ie init iala si prob-
abilitat ile de trecere la momentele viitoare de timp pentru a determina repartit ia
lant ului la orice moment viitor de timp. In particular, daca lant ul este omogen,
atunci cunoasterea repartit iei init iale = (0) si a matricii de trecere ntr-un pas
P permite calculul repartit iei lant ului la orice moment n, n > 0 de timp viitor, cu
formula (1.17).
Lant ul Markov evolueaza deci prin treceri succesive n timp dintr-o stare n
alta. Intervalul de timp dintre doua schimbari consecutive de stari (in engleza
sojourn time), are o repartit ie exponent iala de un parametru ce depinde de starea
vizitata. In plus, timpii dintre tranzit ii sunt independent i ntre ei. Acestea sunt
proprietat i structurale importante ale lant urilor Markov.
Procesul {N(t), t 0} unde N(t) este numarul de evenimente (treceri) realizate
de un proces Markov pe intervalul de timp [0, t] se numeste proces Markov de
numarare [3, 15, 35].
In abilitate, funct ionarea unei componente sau sistem presupune existent a a
cel put in doua stari (stare de funct ionare sau stare de cadere) deci lant ul Markov
poate utilizat aici ca instrument de modelare. Numarul de caderi pe intervalul
[0, t] poate proces Markov de numarare ca si numarul de erori detectate ntr-un
produs soft pe intervalul de timp [0, t].
Procesul de nastere si deces. Un caz particular de proces Markov utilizat
n abilitatea programelor l constituie procesul de nastere si deces ce va studiat
in cele ce urmeaza.
Cap.1. Not iuni introductive de teoria abilitat ii 23
Denit ia 1.3.Procesul Markov cu o mult ime cel mult numarabila de stari
{N(t), t 0} se numeste proces de nastere si deces [3, 25, 35] daca satisface
urmatoarele condit ii:
(a) Este cu cresteri independente, adica, oricare ar t
1
< t
1
< t
3
< t
4
variabilele aleatoare N(t
2
) N(t
1
) si N(t
4
) N(t
3
) sunt independente stochastic.
In plus este un proces de numarare in sensul ca daca t
1
< t
2
avem N(t
2
)N(t
1
) =
N(t
2
t
1
).
(b) Exista constantele {
n
, n 0}, numite intensitat i de natalitate astfel ncat
P({N(t + t) = n + 1}/{N(t) = n}) =
n
t +O(t) (1.18)
(c) Exista constantele {
n
, n 1}, numite intensitat i de mortalitate astfel
nc at
P({N(t + t) = n 1}/{N(t) = n}) =
n
t +O(t) (1, 18

)
(d) Probabilitatea sa se nasca sau sa decedeze mai mult de un individ pe inter-
valul mic de timp [t, t + t] este neglijabila, adica
P({N(t + t) = n i}/{N(t) = n}) = O(t), i > 1. (1, 18)
Funct iile O(t) (O(t) nseamna neglijabil in raport cu t, cand t este mic),
tind la 0 cand t tinde la 0, mai repede decat t, adica
lim
t0
O(t)
t
= 0.
Sa observam ca clasa O a funct iilor O(t) satisface condit iile:
- (t)
2
O;
- daca O
1
O, O
2
O si f
1
, f
2
sunt funct ii oarecare cu valori nite, atunci
f
1
O
1
+f
2
O
2
O.
Ipotezele (a) si (b) semnica faptul ca probabilitat ile ca pe intervalul de timp
[t, t + t] sa se nasca sau sa decedeze exact un individ sunt proport ionale cu
constantele
n
, n 0 respectiv
n
, n 1.
Ipoteza (c) spune ca nasterile si decesele sunt rare in sensul ca probabilitat ile
de a se naste sau deceda pe [t, t + t] mai mult de un individ, sunt neglijabile.
Procesul de nastere si deces denit mai sus este proces omogen deoarece inten-
sitat ile {
n
, n 0} si {
n
, n 1} nu depind de timp. Daca nsa aceste intensitat i
depind de timp, adica
n
=
n
(t), n 0,
n
=
n
(t), n 1, atunci procesul este
neomogen.
Recunoastem cu usurint a utilitatea procesului de nastere si deces in modelarea
abilitat ii programelor, mai ales daca N(t) este proces de nastere pur (cand
n
=
0, n 1) si N(t) este numarul de erori detectate, sau daca N(t) este proces de
moarte pur (cand
n
= 0, n 0) si N(t) este numarul de erori ramase n soft.
24 Cap 1. Not iuni introductive de teoria abilitat ii
Teorema 1.1. Probabilitat ile P
n
(t) = P(N(t) = n), n 0 care denesc
repartit ia de probabilitate a procesului de nastere si deces satisfac sistemul de
ecuat ii diferent iale
P

0
(t) =
0
P
0
(t) +
1
P
1
(t) (1.19)
P

n
(t) = (
n
+
n
)P
n
(t) +
n1
P
n1
(t) +
n+1
P
n+1
(t), n 1 (1.19

)
Demonstrat ie. In cazul n = 0 avem
P
0
(t +t) = P
0
(t)(1
0
t O(t)) +P
1
(t)(1
1
t O(t))(
1
t +O(t))
+

i,i>1
P
ni
(t)O(t)
Formula precedenta se deduce astfel: exista 0 indivizi n sistem la momentul t+t
daca erau 0 la momentul t si nu s-a nascut nici unul pe intervalul [t, t + t], sau
era 1 individ n sistem la momentul t si pe [t, t + t] nu s-a nascut nici unul si a
decedat unul, sau la momentul t erau n i indivizi n sistem si au decedat (s-au
nascut) i.
Dezvoltand parantezele n formula precedenta si t inand seama de proprietat ile
funct iilor O(t) obt inem
P
0
(t + t) P
0
(t) =
0
tP
0
(t) +
1
tP
1
(t) +O(t)
Daca n ultima relat ie mpart im cu t si facem t 0 obt inem formula (1.19).
In cazul n 1, printr-un rat ionament asemanator obt inem
P
n
(t + t) = P
n
(t)(1
n
t O(t))(1
n
t O(t))
+P
n1
(t)(
n1
t +O(t))(1
n1
t O(t)) +

i,i>1
P
ni
(t)O(t).
Dezvoltand parantezele, trecand P
n
n membrul stang, mpart ind cu t si trecand
apoi la limita se obt ine (1.19).
Sistemul de ecuat ii diferent iale (1.19) si (1.19) are solut ie unica, conform
cunoscutei teoreme de existenta a solut iei, daca se da o condit ie init iala. O astfel
de condit ie poate
P
i
(0) = 1, i fixat, P
n
(0) = 0, n = i,

j=0
P
j
(0) = 1. (1.20)
Aceasta condit ie inseamna ca la momentul init ial t = 0, sistemul se aa sigur (cu
probabilitatea 1), in starea i.
Cap.1. Not iuni introductive de teoria abilitat ii 25
In cazul nostru trebuie sa ne asiguram si de faptul ca solut ia unica a sistemului
deneste o repartit ie de probabilitate a procesului, adica

j=0
P
j
(t) = 1, t [0, ). (1.20

)
O teorema a lui Feller [34] spune ca o condit ie sucienta ca solut ia unica a sis-
temului (1.19), (1.19) sa e repartit ie de probabilitate a procesului de nastere si
deces este ca

j=0

j+1

j
= . (1.20

)
Sistemul (1.19), (1.19) se rezolva usor n cazul stat ionar (cand P
n
(t) = const =
p
n
, t [0, )). In acest caz sistemul devine un sistem cu un numar innit de
ecuat ii luniare in necunoscutele p
n
, adica

0
p
0
+
1
p
1
= 0, (
n
+
n
)p
n
+
n1
p
n1
+
n+1
p
n+1
= 0, n 1.
Daca n relat iile precedente facem notat ia Z
k
=
k
p
k
+
k+1
p
k+1
, aceste relat ii
devin
Z
0
= 0, Z
k1
= Z
k
, k 1.
De aici rezulta ca solut ia sistemului (1.19), (1,19) n cazul stat ionar este
p
n
=
_
n1

i=0

i+1
_
p
0
, p
0
=
_
1 +

n=1
_
n1

i=0

i+1
__
1
.
Sa observam [3, 35] ca n cazul procesului de nastere si deces neomogen ecuat iile
(1.19), (1.19) raman valabile ca si condit iile de existent a a solut iei si a repartit iei
procesului. Pentru existent a solut iilor, condit iile (1.20), (1.20) trebuie consider-
ate pentru orice t [0, ).
1.4.2 Procese Poisson
Un caz particular de proces de nastere si deces (deci si de proces Markovian)
este procesul Poisson [3, 35]; el este un proces de nastere pur n care
n
= =
const n raport cu n, iar se numeste intensitatea procesului. Daca = const
n raport cu timpul atunci procesul se numeste Proces Poisson Omogen (PPO).
Daca dimpotriva = (t) (adica depinde de t), atunci procesul se numeste Proces
Poisson NeOmogen (PPNO).
Procesul Poisson poate denit si direct, prin axiome similare celor ale pro-
cesului de nastere si deces, si anume:
Denit ia 1.4.Procesul stochastic discret {N(t), t 0}, N(t) N este proces
Poisson daca satisface axiomele:
26 Cap 1. Not iuni introductive de teoria abilitat ii
(a
1
). Este proces cu cresteri independente; N(t) este numarul de evenimente
(evolut ii sau modic ari) ale valorilor sistemului pe intervalul de timp [0, t], t < .
(b
1
). Exista o funct ie cu valori nite (t), t 0, numita intensitatea procesului,
astfel ncat
P([N(t + t) = n + 1]/[N(t) = n]) = (t)t +O(t) n N;
(c
1
). Evenimentele ce corespund evolut iei procesului sunt rare n sensul ca
P([N(t + t) = n i]/[N(t) = i]) = O(t), i > 1, n N.
Folosind o cale analoga celei parcurse cu ocazia studiului proceselor de nastere si
deces, se obt ine teorema
Teorema 1.2. Probabilitat ile P
n
(t) = P[N(t) = n], n N satisfac sistemul
de ecuat ii diferent iale
P

0
(t) = (t)P
0
(t), P

n
(t) = (t)P
n
(t) +(t)P
n1
(t), n 1 (1.21)
care are solut ie unica n condit iile init iale {i N, P
i
(0) = 1, P
n
(0) = 0, n = i} si
aceasta solut ie este repartit ia Poisson
P
n
(t) =
(t)
n
n!
e
(t)
, (t) =
t

0
(u)du, (0) = 0. (1.22)
Demonstrat ie. Formulele (1.21) se obt in din (1.19), (1.19) daca punem n
acestea din urma
n
= 0.
Pentru a demonstra formula (1.22) vom considera, fara a pierde generalitatea,
i = 0. Atunci solut ia generala a primei ecuat ii (1.21) este
P
0
(t) = ce
(t)
, c = const.
Impunand condit ia init iala (adica P
0
(0) = 1) gasim c = 1.
Pentru n = 1 avem ecuat ia diferent iala
P

1
(t) = (t)P
1
(t) +(t)e
(t)
a carei solut ie generala este
P
1
(t) = ke
(t)
, k = k(t).
Aplicand metoda variat iei constantelor obt inem
P

1
(t) = k

(t)e
(t)
k(t)(t)e
(t)
= (t)(k(t))e
(t)
+(t)e
(t)
Cap.1. Not iuni introductive de teoria abilitat ii 27
care conduce la ecuat ia
k

(t) = (t), k(t) = (t) +c


1
, c
1
= const.
Deci forma generala a solut iei P
1
(t) este
P
1
(t) = ((t) +c
1
)e
(t)
careia impunandu-i condit ia init iala P
1
(0) = 0 obt inem c
1
= 0 si deci
P
1
(t) = (t)e
(t)
=
((t))
1
1!
e
(t)
.
In continuare, procedand prin induct ie dupa n se obt ine solut ia data de (1.22).
Funct ia (t) se numeste intensitate cumulata a procesului.
Sa observam ca n cazul omogen (cand (t) = = const), aceasta funct ie este
(t) = t, P
n
(t) =
(t)
n
n!
e
t
. (1.22

)
Deci pentru PPO, probabilitat ile P
n
(t) date de (1.22) reprezinta repartit ia de
probabilitate a procesului. Procesele Poisson joaca un rol important n abilitatea
programelor, asa cum se va vedea n capitolele urmatoare. Numarul de erori ce se
detecteaza ntr-un program sau, n general ntr-un sistem, pe intervalul de timp
[0, t] este de regula un PPO, dar poate adesea si un PPNO.
1.5 Estimat ii ale parametrilor
Vom preciza pe scurt modul n care se estimeaza parametrii principalelor repartit ii
de probabilitate utilizate n abilitate [4,12].
1.5.1 Selectii. Metode generale de estimat ie
Se presupun date select ii asupra variabilei aleatoare care reprezinta durata n
funct ionare pana la cadere. Select iile pot ne cenzurate sau cenzurate [12,17,23].
Cea mai utilizata select ie ne cenzurata este select ia bernoulliana de volum n, (n <
) denita ca ind mult imea variabilelor aleatoare X
1
, X
2
, ..., X
n
independente si
identic repartizate ca si .
In abilitate se folosesc adesea select ii cenzurate care pot de tipul I sau de
tipul II. Daca cele n valori de select ie se obt in observand funct ionarea a n obiecte
(componente) identice pana la un moment dat C, C > 0, atunci daca am nota

1
,
2
, ...,
n
duratele de funct ionare pana la cadere si daca t inem seama de faptul
ca numai o parte din componente au cazut nainte de momentul C, rezulta ca n
acest caz datele de select ie sunt
X
i
=
_

i
daca
i
< C
C daca
i
C,
(1.23)
28 Cap 1. Not iuni introductive de teoria abilitat ii
care pot scrise prescurtat X
i
= min{
i
, C} =
i
C, 1 i n. Select ia
{X
i
}, 1 i n data de (1.23) este o select ie cenzurata de tipul I. Notam cu
D mult imea valorilor de select ie egale cu C, d = CardD. (Prin CardD notam
numarul elementelor mult imii D). Spunem uneori ca select ia de acest tip este
cenzurata la dreapta. Schimband scrierea inegalit at ilor n (1.23) se obt ine select ia
cenzurata la stanga
In abilitatea programelor se folosesc de asemenea select ii cenzurate de tipul II.
Daca se dau constantele 0 = s
0
< s
1
< ... < s
m
, m < n si se observa funct ionarea
a n componente ce cad pe intervalul [0, s
m
], atunci select ia cenzurata de tipul
II consta din frecvent ele n
i
= numarul componentelor ce au cazut n intervalul
[s
i1
, s
i
), 1 i m, astfel ncat n = n
1
+n
2
+... +n
m
. Select ia cenzurata de tipul
II este deci o select ie de date grupate.
In abilitatea programelor intervin si select ii cenzurate part ial grupate [12,23].
In acest caz unele date de selectie sunt durate n funct ionare exacte si formeaza
o mult ime A, a = CardA iar celelalte date de select ie sunt grupate si formeaza o
mult ime B, b = CardB, n = a +b. Select ia cu date cenzurate part ial grupate
consta din observat iile exacte X
1
, X
2
, ..., X
a
si din frecvent ele n
1
, n
2
, ..., n
k
, b =
n
1
+... +n
m
ale observat iilor grupate in intervalele [s
i1
, s
i
), 1 i m.
Date cenzurate utilizate in abilitatea programelor pot si cele obt imute ast-
fel: se observa funct ionarea programului la un moment oarecare (aleator) T
i
din
interval [s
i1
, s
i
) si se ret ine informat ia
b
i
=
_
1, daca programul era cazut la momentul T
i
,
0, altfel
;
Selectia cenzurata in acest caz este formata din perechile
(t
i
, b
i
), 1 i k, t
i
= T
i
T
i1
.
(Se va preciza la locul potrivit cand se folosesc astfel de date cenzurate).
Pot considerate si select ii de natura generalan care intervin d date cenzurate
la dreapta, l date cenzurate la stanga si b = n
1
+n
2
+... +n
m
observat ii grupate
pe intervalele [s
i1
, s
i
), 1 i m, n = d +b +l.
Datele cenzurate se folosesc in general in abilitate, deoarece ele se pot obt ine
in timp rezonabil de scurt si fara cheltuieli materiale. (Culegerea datelor solicita
numai o parte din timpul de lucru al personalului angajat in activitatea de testare
si evaluare a calitat ii unui program).
Parametrii repartit iilor statistice ale variabilelor aleatoare se estimeaza prin di-
verse metode utilizand select ii asupra acelor variabile. Fie X
1
, X
2
, ..., X
n
o select ie
asupra variabilei aleatoare X care are densitatea de repartit ie f(x, ), unde este
parametru ce poate estimat; el poate numar sau vector = (
1
,
2
, ...,
k
).
Select ia poate bernouliana sau cenzurata.
Cap.1. Not iuni introductive de teoria abilitat ii 29
Select ia este bernouliana daca X
1
, X
2
, ..., X
n
este o mult ime de variabile aleatoare
independente, identic repartizate ca si X.
O estimat ie a lui este o funct ie (X
1
, X
2
, ..., X
n
) care converge catre ntr-
unul din modurile de convergent a ale teoriei probabilitat ilor.
In particular, daca E[(X
1
, X
2
, ..., X
n
)] = , spumem ca (X
1
, X
2
, ..., X
n
) =
este o estimat ie nedeplasata pentru ; daca lim
n
(X
1
, X
2
, ..., X
n
) = atunci
este o estimat ie deplasata pentru .
Daca (X
1
, X
2
, ..., X
n
) converge n probabilitate catre , cand n ,atunci
se numeste estimat ie consistenta pentru .
O estimat ie nedeplasata si consistenta se numeste estimat ie absolut corecta, iar
o estimat ie deplasata si consistenta se numeste estimat ie corect a.
Dintre metodele de estimat ie a parametrilor, doua sunt cele mai importante si
anume: metoda momentelor si metoda verosimilitat ii maxime. Vom ment iona pe
scurt n ce consta ecare din metode.
Metoda momentelor. Presupunem ca avem de estimat k parametri (
1
,
2
, ...,
k
)
si ca momentele m
i
= E(X
i
), 1 i k exista si sunt nite si presupunem ca
m
i
= m
i
(
1
,
2
, ...,
k
), unde funct iile m
i
(x
1
, x
2
, ..., x
k
) sunt cunoscute. Sa notam
cu m
i
momentele de select ie (empirice), adica
m
i
=
1
n
n

j=1
X
i
j
. (1.24)
Se arata cu usurint a ca E(m
i
) = m
i
si ca m
i
m
i
(in probabilitate!), 1 i k,
adica momentele de select ie m
i
sunt estimat ii nedeplasate si consistente (numite
in acest caz si absolut corecte) pentru momentele teoretice m
i
. Putem deci scrie
m
i
= m
i
(
1
,
2
, ...,
k
). (1.24

)
Daca sistemul de ecuat ii (2.24) se poate rezolva atunci solut iile sale
i
= m
1
i
(m
1
, m
2
, ..., m
k
)
sunt estimat ii ale parametrilor
i
, 1 i k, obt inute prin metoda momentelor.
Daca funct iile m
i
(x
1
, x
2
, ..., x
k
), 1 i k sunt si continue, atunci
i
sunt estimat ii
consistente pentru
i
.
Metoda verosimilitat ii maxime. In cazul select iei bernoulliene, prin
denit ie funct ia de select ie
L(X
1
, X
2
, ..., X
n
; ) =
n

i=1
f(X
i
; ) (1.25)
se numeste funct ie de verosimilitate. Pentru o select ie cenzurata de tipul I funct ia
de verosimilitate are o forma asemanatoare dar poate denita si de forma
L(X
1
, X
2
, ..., X
nd
, C) =
nd

i=1
f(X
i
) [F(C)]
d
. (1.25

)
30 Cap 1. Not iuni introductive de teoria abilitat ii
Daca select ia este grupata (cenzurata de tipul II) atunci funct ia de verosimilitate
este
L(n
1
, n
2
, ..., n
k
) =
m

i=1
p
n
i
i
, p
i
= F(s
i
) F(s
i1
), 1 i m (1.25

)
iar daca select ia este part ial grupata atunci funct ia de verosimilitate este de forma
L(X
1
, ..., X
n
) =
a

i=1
F(X
j
)
m

j=1
p
n
j
j
, n
1
+... +n
m
= b (1.25

)
Insfarsit, pentru o select ie cenzurata generala, cu date part ial grupate si cu
date cenzurate la stanga de C

si la dreapta de C, funct ia de verosimilitate este


L(S) = [F(C)]
d
[1 F(C

)]
l
m

i=1
[F(s
i
) F(s
i1
)]
unde cu S se noteaza mult imea valorilor de select ie. Daca funct ia de repartit ie
F depinde de de parametrii = (
1
,
2
, ...,
k
)

atunci n formulele (1.25)-(1.25)


si n formula precedenta densitatea f si probabilitat ile p
j
, 1 j m depind de
asemenea de acesti parametri.
Metoda verosimilitat ii maxime consta n a determina estimat iile parametrilor

i
, 1 i k, din condit ia
L(X
1
, X
2
, ..., X
n
) = max

(1.26)
care conduce la sistemul de ecuat ii n
i
L

i
= 0, 1
i
k (1.26

)
numite si ecuat ii de verosimilitate.
Desigur, estimat iile de verosimilitate

= (

1
, ...,

k
)

sunt funct ii de valorile de


select ie X
1
, X
2
, ..., X
n
; se arata ca n anumite condit ii

sunt estimat ii consistente
pentru .
In continuare vom prezenta ca aplicat ii estimarea parametrilor unor repartit ii
care intervin n abilitate. Vom utiliza pentru simplicare select ii bernoulliene,
dar estimat iile de verosimilitate se pot construi si cu ajutorul select iilor cenzurate.
1.5.2 Aplicat ii n cazul repartit iilor continue
1. In cazul repartit iei exponent iale avem m = m
1
=
1

de unde rezulta
estimat ia
=
1
m
=
n
n

i=1
X
i
(1.27)
Cap.1. Not iuni introductive de teoria abilitat ii 31
2. In cazul repartit iei Weibull(0, , ) se poate folosi metoda momentelor
astfel:
Se calculeaza momentele de primele 2 ordine care sunt de forma
m
r
=
1

_
1 +
r

_
, r = 1, 2.
Se aplica apoi formulele (1.24

) din care vor rezulta parametrii estimat i si ,


rezolvand sistemul urmator n si
m
2
1
(1 + 2/) = m
2

2
(1 + 1/), m
1
= (1 + 1/). (1.28)
Rezolvarea acestui sistem se poate face cu metode numerice.
3. Pentru repartit ia Gamma(0, , ) se procedeaza n mod asemanator. In
acest caz momentele de primele doua ordine sunt:
m
r
=
( +r)
()
r
, r = 1, 2
iar prin rezolvarea ecuat iilor (1.24

) corespunzatoare, se vor determina estimat iile


, .
4. In cazul repartit iei Lomax(, a)
m
1
=
1
(a 1)
, V ar(X) =
2
=
a

2
(a 1)
2
(a 2)
(1.29)
Estimand m
1
si
2
cu (1.24) (t inand seama ca
2

2
= m
2
m
2
1
) si rezolvand
sistemul care rezulta din egalarea expresiilor din (1.29) cu estimat iile X,
2
, se
obt in estimat iile , a.
5. Pentru repartit ia valorii extreme (Gumbel()) vom aplica metoda verosimilitat ii
maxime dupa cum urmeaza;
Funct ia de verosimilitate este
L(X
1
, X
2
, .., X
n
) =
1

n
exp
_

i=1
e
X
i
1

+
n

i=1
X
i
_
. (1.30)
Logaritmand (1.30) si impunand condit ia de maxim (prin anularea derivatei de
ordinul intai) avem

2

1

2
n

i=1
e
X
i
= 0 (1.30

)
de unde rezulta estimat ia
=

n
i=1
e
X
i
n
n
. (1.30

).
32 Cap 1. Not iuni introductive de teoria abilitat ii
6. In cazul repartit iei normale parametri si
2
se estimeaza cu media arit-
metica X si dispersia empirica s
2
date de formulele (1.24).
7. Parametri repartit iei lognormale LN(, ) se estimeaza astfel: se estimeaza
mai intai cu (1.24) media si dispersia variabilei lognormale, iar apoi din formulele
(1.10) se determina estimat iile , ale parametrilor lognormalei.
1.5.3 Aplicat ii n cazul repartit iilor discrete
8. Pentru repartit ia geometrica folosim prima formula (1.12) de unde rezulta
estimat ia parametrului p
p =
1
X + 1
. (1.31)
9. In cazul repartit iei Pascal(k, p) estimat iile parametrilor k, p se realizeaza
rezolvand sistemul urmator
X =
k(1 p)
p
, s
2
=
k(1 p)
p
2
care conduce la
p =
X
s
2
, k =
X
2
X s
2
. (1.32)
10. Parametrii repartit iei binomiale Binom(n, p) se estimeaza pe baza for-
mulelor (1.14) care conduc n nal la estimat iile
n = {
X
2
X s
2
}, p =
X s
2
X
. (1.33)
Deoarece n trebuie sa e intreg in prima formula (1.33) s-a folosit notat ia cu
acolade pentru cel mai apropiat intreg.
11. Deoarece valoarea medie a variabilei Poisson() este m
1
= rezulta ca
estimat ia sa este = X.
In cazul procesului Poisson() estimat ia este acceasi daca valorile de select ie
X
i
reprezinta numarul de caderi pe unitatea de timp.
Daca se cunosc informat ii apriori despre anumit i parametri atunci se pot utiliza
metode Bayessiene [24, 35] pentru determinarea estimat iilor acestora. (Vezi si
Cap.6).
1.5.4. Determinarea repartit iei empirice. Testarea concordant ei
Presupunem ca dispunem de o select ie necenzurata X
1
, X
2
, ..., X
n
de volum n
asupra variabilei aleatoare X, cu n sucient de mare si dorim sa vericam ipoteza
statistica H : X ; F(x) (X are funct ia de repartit ie F(x)), care se mai numeste
si ipoteza de concordant a.
Cap.1. Not iuni introductive de teoria abilitat ii 33
Mai intai ar trebui sa vericam intuitiv daca repartit ia empirica sau repartit ia
de select ie se aseamana cu cea teoretica. Repartit ia empirica este reprezentata de
histograma. Deci, trebuie sa construim grac histograma si sa vedem daca ea se
aseamana cu densitatea de repartit ie ipotetica.
Construct ia histogramei se face astfel:
- se determina mai intai m = min(X
1
, X
2
, ..., X
n
),
M = max(X
1
, X
2
, ..., X
n
) care reprezinta intervalul de variat ie [m, M] al select iei;
- se alege un intreg pozitiv k, (practica recomanda 15 k 40) care reprezinta
numarul de intervale ale histogramei;
- se imparte intervalul [m, M] in k intervale I
i
= [a
i1
, a
i
), 1 i k, a
0
=
m, a
k
= M;
- se determina f
i
= numarul valorilor de select ie ce cad in intervalul [a
i1
, a
i
), 1
i k; f
i
se numesc frecvent e absolute;
- se determina frecvent ele relative r
i
=
f
i
n
.
Repartit ia empirica este
_
I
1
, I
2
, ..., I
k
r
1
, r
2
, ..., r
k
_
. (1.34)
Acum sa reprezentam grac (1.34) astfel: luam pe abscisa intervalele I
i
si con-
struim dreptunghiuri care au ca baza aceste intervale si ca inalt imi r
i
. Gracul
obt inut reprezinta histograma select iei X
1
, X
2
, ..., X
n
date. (Ea este histograma
frecvent elor relative; asemanator se obt ine si histograma frecvent elor absolute).
In Fig.1.3 se prezinta o histograma; ea sugereaza ca linia punctata reprezinta
forma densitat ii de repartit ie. Din aceasta reprezentare graca putem formula
ipoteza H cu privire la funct ia de repartit ie F(x) a variabilei X asupra careia s-a
efectuat select ia X
1
, X
2
, ..., X
n
.
34 Cap 1. Not iuni introductive de teoria abilitat ii
-
6
x
y
0
a
0
a
1
a
2
a
3
a
k2
a
k1
a
k
I
1
I
2
I
3
I
k1
I
k
r
1
r
2
r
3
r
k1
r
k
f(x)
Fig.1.3. Histograma.
In Fig. 1.2 se prezinta forma gracelor unor densitat i de repartit ie considerate
in subsect iunea 1.3.1. Forma unei densitat i este deci sugerata de histograma.
Cand construim histograma unei select ii nu putem determina mai intai m, M
si apoi sa construim I
i
si f
i
, 1 i k decat daca memoram ad literam toata
select ia (ceea ce impune folosirea unei select ii de volum n mic) sau daca repetam
citirea datelor de select ie ceea ce impune consum de timp de calcul mare, chiar
dublu.
De aceea vom folosi urmatoarele idei pentru construct ia histogramei:
- citim mai intai un numar mic n
1
de valori de select ie X
1
, X
2
, ..., X
n
1
, n
1
<< n
pe care le memoram in memoria operativa a calculatorului;
- cu ajutorul acestei select ii determinam urmatoarele limite ale intervalelor his-
togramei: a
1
= min{X
1
, X
2
, ..., X
n
1
}, a
k1
= max{X
1
, X
2
, ..., X
n
1
} si cu ajutorul
lor determinam intervalele I
2
, ..., I
k1
de lungimi egale cu h = (a
k1
a
1
)/(k 2),
adica I
i
= [a
i1
, a
i
), 2 i k 1, a
i
= a
i1
+hi;
- cu ajutorul select iei de volum n
1
determinam (part ial!) frecvent ele absolute
f
i
, 2 i k1 (utilizand pentru numarare formula (1.35) de mai jos ;deocamdata
a
0
si a
k
nu sunt cunoscute!); luam a
0
= a
1
, a
k
= a
k1
care vor modicate
ulterior; init ializam f
1
= 0, f
k
= 0;
- citim pe rand celelalte n n
1
valori de select ie si pentru ecare X astfel
citit efectuam urmatoarele operat ii: daca X < a
1
atunci luam a
0
= min(a
0
, X) si
f
1
:= f
1
+ 1; daca X > a
k1
atunci luam a
k
= max(a
k
, X) si f
k
:= f
k
+ 1; altfel
Cap.1. Not iuni introductive de teoria abilitat ii 35
daca a
1
X < a
k1
atunci calculam
j :=
_
X a
1
h
_
+ 2, f
j
:= f
j
+ 1; (1.35)
Cand s-au prelucrat toate cele n n
1
valori de select ie, s-au determinat toate
elementele histogramei, care dupa reprezentarea si interpretarea graca conduce
la formularea ipotezei de concordant a.
Sa remarcam ca aceasta ultima construct ie conduce la o histograma cu k 2
intervale egale, iar intervalele I
1
, I
k
sunt de lungimi oarecare.
Daca am ales arbitrar m, M si am construit apoi histograma ca in construct ia
precedenta (primul algoritm de mai sus!), atunci histograma obt inuta ar putut
avea multe frecvent e f
i
= 0 si eventual frecvent ele f
1
si/sau f
k
foarte mari, fapt
care nu ne-ar putut conduce la o formulare corecta a ipotezei de concordant a
H. In concluzie, algoritmul cel mai bun, de construct ie al histogramei unei select ii
asupra unei variabile aleatoare X,ce rezulta din considerat iile precedente, este
urmatorul:
Algoritmul HISTOGRAMA
Intrare n, n
1
, k; Consideram tabela f[1..k] si init ializam:
for j := 1 to k do f[j] := 0;
Consideram tabela xi[1..n
1
]; Consideram tabela a[0..k];
for i := 1 to n
1
do begin Citeste X si ia xi[i] := X; end;
Calculeaza a[1] := min(xi[1], xi[2], ..., xi[n
1
]),
a[k 1] = max(xi[1], xi[2], ..., xi[n
1
]), h := (a[k 1] a[1])/(k 2);
for i := 1 to n
1
do j := trunc(
xi[i]a[1]
h
) + 2, f[j] := f[j] + 1;
Ia a[0] := a[1], a[k] := a[k 1];
for i := 1 to n n
1
do begin
Citeste un X;
if a[1] < X < a[k 1] then begin
j := trunc(
Xa[1]
h
) + 2, f[j] := f[j] + 1;
end
else if X a[1] then begin
a[0] := min{a[0], X}, f[1] := f[1] + 1;
end
else begin
a[k] := max{a[k], X}; f[k] := f[k] + 1
end;
end.
Testul de concordant a
2
. Odata construita histograma putem aplica
testul de concordant a
2
pentru vericarea ipotezei H : X ;F(x).
36 Cap 1. Not iuni introductive de teoria abilitat ii
Pentru a calcula statistica
2
(cu formula (1.36) de mai jos), trebuie sa calculam
probabilitat ile
p
1
= F(a
1
), p
i
= F(a
i
) F(a
i1
), 2 i k 2, p
k
= 1 F(a
k1
).
Dar, funct ia de repartit ie F poate depinde de niste parametri statistici necunoscut i.
Forma histogramei ne permite sa formulam ipoteza asupra tipului de repartit ie
(de ex. exponent iala, Gamma, Weibull, lognormala, etc). Folosind metodele de
estimare din subsectiunea 1.3.2, estimam parametri necunoscut i. Calculul prob-
abilitat ilor p
i
, 1 i k se va face deci cu formulele precedente numai dupa ce
s-au estimat parametrii repartit iei ipotetice. Sa presupunem ca numarul acestor
parametri este c, c N, c < k + 1.
In continuare calculam statistica
2
astfel

2
=
k

j=1
(f
i
np
i
)
2
np
i
(1.36)
care se stie ca are repartit ia hi patrat cu k c 1 grade de libertate, (
2
kc1
este
variabila corespunzatoare). Fiind dat riscul de genul I, , ( o probabilitate mica,
apropiata de zero) determinam valoarea
2
kc1,
(numita -cuantila superioara)
astfel incat
P(
2
kc1
>
2
kc1,
) = . (1.36

)
Aceasta -cuantila se determina e din tabela repartit iei
2
, e se calculeaza cu
un program special care rezolva ecuat ia in
2
kc1,
1
2
n/2
(n/2)

2
kc1,
x
n/21
e
x/2
dx = .
Integrandul din formula precedenta este densitatea de repartit ie
2
. Odata deter-
minata -cuantila superioara, ipoteza H se accepta daca

2
<
2
kc1,
(1.36

)
si se respinge in caz contrar.
Deoarece numarul gradelor de libertate trebuie sa e intotdeauna pozitiv,
rezulta ca trebuie sa avem k > c + 1 ceea ce se intampla daca avem in vedere
valorile sugerate mai sus pentru k (k 14) si faptul ca pentru repartit iile uzuale
c este de regula mic (c 3).
In tabela urmatoare dam cateva valori ale -cuantilei lui
2
f,
, pentru = 0.05
si diferite valori ale lui f = k c 1 :
Cap.1. Not iuni introductive de teoria abilitat ii 37
f 11 12 13 14 15 16 18 20

2
f,
4.57 5.23 5.89 6.57 7.26 7.96 9.390 10.85
In nal sa observam ca in cazul duratelor in funct ionare histograma are in-
totdeauma limita stanga a primului interval a
0
egala cu zero. Deci in algoritmii
precedent i de determinare a histogramei, trebuie sa calculam numai M, fapt ce
simplica oarecum constructia histogramei, precum si toate operat iile de deter-
minare a repartit iei duratelor de funct ionare.
1.6 Fiabilitatea sistemelor cu mai multe componente
1.6.1 Generalitat i privind abilitatea sistemelor
Fiind dat un sistem S cu n componente C
1
, C
2
, ..., C
n
astfel ncat componenta
C
i
are variabila de stare X
i
(t) (X
i
(t) = 1 [6, 12, 27] daca sistemul funct ioneaza
la momentul t si X
i
(t) = 0 daca sistemul nu funct ioneaza) se pune problema
determinarii funct iei de abilitate R(t) a sistemului denita astfel
R(t) = P(() = 1, 0 t) (1.37)
unde (t) este variabila de stare a sistemului (adica (t) = 1 daca sistemul
funct ioneaza, (t) = 0 daca sistemul nu funct ioneaza la momentul t).
Se pot considera si componente cu mai multe stari [23], dar aici ne vom ocupa
numai de sisteme ale caror componente au numai doua stari, ca de-altfel si sistemele
de programe.
Una din problemele importante ale teoriei abilitat ii este urmatoarea: dandu-
se un sistem S, format din componentele C
1
, C
2
, ..., C
n
ale caror funct ii abilitate
sunt R
1
(t), R
2
(t), ..., R
n
(t), sa se gaseasca o funct ie h(x
1
, x
2
, ..., x
n
) astfel ncat
abilitatea R(t) a sistemului S sa se calculeze dupa formula
R(t) = h(R
1
(t), R
2
(t), ..., R
n
(t)). (1.38)
Funct ia h se determina, asa cum se va vedea, daca se cunoaste structura de
abilitate sau topologia sistemului [3, 6, 15, 23, 27]. In funct ie de aceasta structura
se determina funct ia de structura a sistemului denita in termeni de variabilele de
stare ale componentelor, astfel
(X(t)) = (X
1
(t), X
2
(t), ..., X
n
(t)), X(t) = (X
1
(t), X
2
(t), ..., X
n
(t))

. (1.39)
In cele ce urmeaza vom nota X
i
= X
i
(t). Deci
Z = (X
1
, X
2
, ..., X
n
) =
_
1, daca sistemul functioneaza
0, altfel.
(1.40)
38 Cap 1. Not iuni introductive de teoria abilitat ii
Exemplu [15, 23]. Sistemul S este de tipul k din n daca el cade cand cel
put in k din cele n componente ale sale cad. Daca C
1
, C
2
, ..., C
m
sunt cele m = C
k
n
submult imi de componente, de cardinalitate k, atunci se deduce ca
(X
1
, X
2
, ..., X
n
) = min
1jm
max
iC
j
{X
i
}. (1.41)
Daca k = n atunci sistemul are componentele conectate n paralel (din punct de
vedere al abilitat ii este sistem paralel) si
(X
1
, X
2
, ..., X
n
) = 1 min
1jn
{1 X
j
} = 1 (1 X
1
)(1 X
2
)...(1 X
n
). (1.41

)
Daca k = 1 atunci sistemul este sistem serie si
(X
1
, X
2
, ..., X
n
) = min
1jn
{X
j
} = X
1
X
2
...X
n
. (1.41)
Denit ia 1.5.Componenta C
i
a unui sistem este irelevanta daca (0
i
, x) =
(1
i
, x) unde (0
i
, x) este vectorul care are pe pozit ia i valoarea 0, iar (1
i
, x)
este vectorul ce are pe pozit ia i valoarea 1 [23], celelalte componente ale lui
x ramanand neschimbate. Daca (0
i
, x) = (1
i
, x) atunci componenta C
i
se
numeste semnicativa.
Cu alte cuvinte valoarea variabilei de stare a componentei irelevante C
i
nu
schimba valoarea funt iei de structura si deci nici abilitatea sistemului indiferent
daca componenta C
i
funct ioneaza sau nu.
Denit ia 1.6.Important a structurala a componentei C
i
este
I

(i) =
1
2
n1

(x|x
i
=1)
[(1
i
, x) (0
i
, x)]. (1.42)
Se observa ca pentru un sistem k din n avem
I

(i) =
C
k1
n1
2
n1
. (1.42

)
In particular pentru un sisten paralel/serie avem
I

(i) =
_
1
2
_
n1
. (1.42)
Denit ia 1.7.Important a relativa a componentei C
i
este
RI

(i) =
nI

(i)
n

j=1
I

(j)
. (1.43)
Cap.1. Not iuni introductive de teoria abilitat ii 39
Denit ia 1.8.Sistemul S este monoton [23] daca pentru X(t) Y (t) (or-
dinea ind cea lexicograca) avem (X(t)) (Y (t)). Sistemul se numeste coerent
daca este monoton si nu are componente irelevante [3, 7, 15, 23, 27].
Cele mai interesante sisteme construite si operate de om sunt sistemele coer-
ente. Pentru un astfel de sistem ecare din componente este relevanta in sensul
ca comportarea ei (funct ionarea sau caderea) are inuent a determinata asupra
comportarii sistemului S.
Pentru denirea funct iei de structura a unui sistem un rol important l joaca
asa numitele mult imi taietura sau mult imile traseu ce vor denite n cele ce
urmeaza.
Denit ia 1.9.O submult ime C de componente ale sistemului format din com-
ponentele {1, 2, ..., n}, (C {1, 2, ..., n}) se numeste mult ime taietura daca x cu
x
i
= 0, i C si x
j
= 1, j C unde C este complementara lui C in raport cu
mult imea {1, 2, ..., n}, avem (x) = 0.
Cu alte cuvinte daca toate componentele unei mult imi taietura cad, atunci
sistemul cade, altfel sistemul funct ioneaza; daca cel put in una din componentele
unei mult imi taietura funct ioneaza, atunci sistemul funct ioneaza. Intereseaza de
obicei mult imile taietura minimale [6, 23, 27] adica mult imile care au cel mai mic
numar de elemente.
Denit ia 1.10.Submult imea P {1, 2, ..., n} cu proprietatea ca x astfel incat
x
i
= 1, i P si x
j
= 0, j P, (P= complementara lui P), avem (x) = 1 se
numeste mult ime traseu.
Sistemul funct ioneaza daca toate componentele unei mult imi traseu funct i-
oneaza; daca cel put in una cade, atunci sistemul cade. Si n acest caz intereseaza
mult imile traseu minimale.
Legaturile funct ionale dintre componentele sistemului pot reprezentate sub
forma unui graf. Un sistem poate deci privit ca un graf conex (orientat sau
nu) care are intrari n anumite noduri si iesiri n alte noduri. Nodurile corespund
componentelor, deci ele se pot defecta. Submult imea taietura este aceea care are
proprietatea ca daca nodurile sale se defecteaza (toate), atunci sistemul cade (nu
mai este asigurata conexitatea grafului). Submult imile traseu corespund drumrilor
de la nodurile de intrare la cele de iesire. Daca toate nodurile unei submult imi
traseu funct ioneaza atunci sistemul funct ioneaza.
Teorema 1.3.Daca notam T
1
, T
2
, ..., T
m
mult imile taietura minimale si cu
P
1
, P
2
, ..., P
r
mult imile traseu minimale, atunci funct ia de structura a sistemului
este [6, 23]
(x) = min
1jm
max
iT
j
(x
i
) = max
1jr
min
iP
j
(x
i
). (1.44)
Demonstrat ie. Cand max
iT
j
(x
i
) = 0 nseamna ca toate componentele din T
j
cad.
40 Cap 1. Not iuni introductive de teoria abilitat ii
In plus sistemul cade daca cel put in pentru o mult ime T
j
(adica pentru cel put in
un j), toate componentele cad. De aici rezulta ca
(x) = min
1jm
max
iT
j
(x
i
).
In mod asemanator, daca min
iP
j
(x
i
) = 1nseamna ca toate componentele din mult imea
traseu P
j
funct ioneaza. In plus, sistemul funct ioneaza daca pentru cel put in o
mult ime traseu componentele acesteia funct ioneaza. In concluzie
(x) = max
1jr
min
iP
j
(x
i
).
Teorema este astfel demonstrata.
Pentru un sistem k din n sa notam m = C
k
n
.
Daca k = 1 atunci m = n (avem n mult imi taietura) si deci T
j
= j, 1 j n
de unde
(x) = 1 min
1jn
(1 x
j
) = 1
n

j=1
(1 x
j
). (1.45)
In cazul k = n avem o singura mult ime traseu P care are n elemente (adica
cont ine toate componentele sistemului). Deci funct ia de structura este
(x) = min
1jn
(x
j
) =
n

j=1
x
j
. (1.46)
(Semnul

se citeste coprod).
Au loc urmatoarele teoreme
Teorema 1.4.Funct ia de structura a unui sistem coerent cu n componente
satisface proprietatea [15, 27]
n

i=1
x
i
(x)
n

i=1
x
i
. (1.47)
Teorema 1.5.Fiind dat i doi vectori ndimensionali x, y cu valori 0 sau 1, sa
introducem notat iile [6, 15, 23]
xy = (x
1
y
1
, x
2
y
2
, ..., x
n
y
n
)
x y = (x
1
y
1
, x
2
y
2
, ..., x
n
y
n
), x
i
y
i
= 1 (1 x
i
)(1 y
i
).
Atunci funct ia de structura a unui sistem coerent satisface proprietat ile
(x y) (x) (y), (xy) (x)(y). (1.48)
Cap.1. Not iuni introductive de teoria abilitat ii 41
Funct ia de structura a unui sistem, n raport cu o componenta i xata, poate
calculata si folosind urmatoarea teorema.
Teorema 1.6.Daca x este vectorul ndimensional al starilor componentelor
si x
i
este variabila de stare a componentei i atunci [15, 23]
(x) = x
i
(1
i
, x) + (1 x
i
)(0
i
, x). (1.49)
Formula (1.49) se numeste forma pivotala a funct iei de structura.
Funct ia de structura se poate determina usor folosind asa zisa diagrama de
abilitate a sistemului. Aceasta diagrama [3, 6, 15, 23, 27] este o schema graca
n care, prin dreptunghiuri sunt reprezentate componentele sistemului si prin linii
sunt reprezentate legaturile funct ionale ale sistemului. Daca de ex. este vorba
de o fabrica, componentele reprezinta puncte de lucru sau utilaje iar liniile indica
succesiunea operat iilor la aceste componente. Formal, diagrama de abilitate se
rezuma la un graf conex, asa cum am spus mai sus. Din aceasta diagrama putem
determina mult imile taietura si/sau mult imile traseu, cu care apoi determinam
funct ia de structura cu formula (1.44).
In Fig.1.4 sunt prezentate cateva diagrame de abilitate particulare, core-
spunzand sistemelor cu componente conectate n serie, n paralel si n punte.
42 Cap 1. Not iuni introductive de teoria abilitat ii
Fig. 1.4. Diagrame de abilitate particulare.
c. Componente conectate n punte.
c
3
c
4
c
5

c
1
c
2

b.Componente conectate n paralel.


c
3
c
2
c
1

a.Componente conectate n serie.
c
1
c
2
c
3

Pentru diagramele din Fig.1.4 formulele de structura sunt respectiv [3, 6, 27]
(x
1
, x
2
, x
3
) = x
1
x
2
x
3
; (1.47a)
(x
1
, x
2
, x
3
) = 1
3

i=1
(1 x
i
); (1.47b)
(x
1
, x
2
, x
3
, x
4
, x
5
) =
x
5
[1(1x
1
x
2
)(1x
3
x
4
)]+(1x
5
)[1(1x
1
)(1x
3
)][1(1x
2
)(1x
4
)] (1.47c)
ultima formula putand dedusa si din forma pivotala (1.49).
Funct ia de structura calculata conform regulilor ment ionate se poate simplica
pentru a usura efectuarea calculelor. De exemplu, funct ia de structura a unui
sistem cu trei componente paralele (adica conectate n paralel), se poate scrie [3,
6 , 15, 27]
(x
1
, x
2
, x
3
) = x
1
+x
2
+x
3
x
1
x
2
x
1
x
3
x
2
x
3
+x
1
x
2
x
3
Cap.1. Not iuni introductive de teoria abilitat ii 43
care este forma simplicata a formulei (1.47b) de mai sus a lui .
Denit ia 1.11.Un sistem serie-paralel (notat SP) este un sistem ale carui
componente sunt conectate n serie sau n paralel sau se poate descompune n
subsisteme serie-paralel.
In Fig.1.5 se prezinta un sistem SP. El se descompunen subsistemele S
1
(A, B, C), S
2
(D, E)
conectate n paralel si n subsistemul S
3
(F, G).
Fig. 1.5. Exemplu de sistem SP
D E
G
C
F
A
B

Daca notam S

= S

(S
1
, S
2
) subsistemul format din subsistemele S
1
si S
2
atunci sistemul S = S(S

, S
3
) din Fig.1.5 consta din subsistemele S

si S
3
conec-
tate in serie.
Denit ia 1.12.Un sistem este SP-generalizat daca ecare componenta a sa
este semnicativa si el poate transformat ntr-un sistem SP echivalent n care
unele componente se pot eventual repeta.
Multe sisteme reale, printre care si programele modulare complexe sunt sisteme
SP-generalizate.
Teorema 1.7.Funct ia de structura a unui sistem SP-generalizat satisface pro-
prietatea
min
1in
(x
i
) (x) max
1in
(x
i
) (1.44

)
unde x = (x
1
, x
2
, ..., x
n
)

este vectorul starilor componentelor.


O alternativa la diagrama de structura pentru descrierea si calculul abilitat ii
unui sistem este arborele de avarie [6, 15, 25, 27]. Construct ia lui se face luand
n seama cauzele sau condit iile care pot produce o cadere, dar nu vom insista aici
asupra modului de construct ie a acestuia.
44 Cap 1. Not iuni introductive de teoria abilitat ii
Pentru un sistem dat se poate introduce funct ia sa de abilitate determinata
direct daca consideram variabila aleatoare X ce reprezinta durata n funct ionare
a sistemului, fara a t ine cont n mod explicit de caderile componentelor. Desigur,
sistemul cade atunci cand cad una sau mai multe componente importante din
structura sa, dar noi ignoram aceste detalii si consideram sistemul ca si cum ar
format dintr-o singura componenta. Vom avea deci de-a face cu funct ia de
abilitate a sistemului R(t) = P(X > t) = F(t) = 1 F(t), cu rata caderilor
h(t) denita n mod obisnuit si rata cumulata a caderilor sistemului de forma
H(t) =
t

0
h(u)du.
Pentru un sistem complex, funct ia h(t) are forma unei cazi de baie [6, 15, 27]
(n engleza bathtub) ca n Fig.1.6. Punctele a
1
, a
2
din gura se numesc puncte
de schimbare (n engleza change points). Estimarea lor se poate face folosind
not iuni de regresie liniara simpla combinate cu teste de comparat ie a coecient ilor
de regresie [29].
1.6.2 Calculul abilitat ii sistemelor
Cunoscand abilitat ile R
i
= R
i
(t) ale componentelor C
i
, 1 i n se pune
problema calculului abilitat ii R = R(t) a sistemului n funct ie de acele abilitat i.
Regula de calcul este simpla si ea este data de urmatoarea formula (cand sistemul
si componentele au stari binare ca mai sus):
R = (R
1
, R
2
, ..., R
n
)
adica abilitatea sistemului se calculeaza cu ajutorul funct iei n care argumentele
x
i
se inlocuiesc cu abilitat ile R
i
, 1 i n.
In cazul sistemelor serie sau paralel abilitatea este respectiv [3]
R =
n

i=1
R
i
, R = 1
n

i=1
(1 R
i
).
Cap.1. Not iuni introductive de teoria abilitat ii 45
Fig. 1.6. Forma de cada de baie a lui h(x).
0 a
1
a
2
>
t

S
S
S
S
S
S

h
In cazul sistemului punte din Fig.1.4c, formula de calcul a abilitat ii este [3, 6]
R = R
5
[1(1R
1
)(1R
3
)][1(1R
2
)(1R
4
)]+(1R
5
)[1(1R
1
R
2
)(1R
3
R
4
)].
In general abilitatea se poate calcula [3,23] si prin analogie cu forma pivotala
(1.49) a funct iei de structura in raport cu componenta C
i
(ca pivot), adica
R = R
i
R
+
S
i
+ (1 R
i
)R

S
i
unde R
+
S
i
este abilitatea sistemului cand componenta C
i
funct ioneaza iar R

S
i
este abilitatea sistemului cand componenta C
i
nu funct ioneaza. Acest procedeu
de calcul poate aplicat recursiv pentru subsistemele S
+
i
, S

i
pana cand se ajunge
la forma nala a funct iei de abilitate R a sistemului.
1.6.3 Observat ii nale
(1) Din cele de mai sus rezulta ca daca se cunosc select ii asupra duratelor de
viat a ale componentelor unui sistem, atunci se pot estima parametrii repartit iilor
duratelor de viat a (n ipoteza ca tipul repartit iei este cunoscut), iar apoi cu ajutorul
celor precizate n sect iunile precedente se pot calcula abilitat ile componentelor
sistemului F
i
(x) = R
i
(x), 1 i n. In continuare, folosind considerat iile din
aceasta sect iune se calculeaza abilitatea sistemului (de ex. pe baza funct iei de
structura).
Aceste calcule de abilitate se pot face n faza de proiectare a sistemului,
putandu-se astfel decide apriori daca sistemul va avea o abilitate acceptabila.
Not iunile prezentate aici pot constitui o baza teoretica pentru determinarea
abilitat ii componentelor sau produselor hardware.
In cazul cand sistemul real este deja n funct iune, calculul abilitat ii conform
tehnicii de mai sus va permite sa se decida daca sistemul are nca abilitatea
dorita. In cazul cand abilitatea nu mai este acceptabila, atunci se vor selecta
46 Cap 1. Not iuni introductive de teoria abilitat ii
componentele cu cea mai mare important a structurala si se vor studia mijloace
tehnice de crestere a abilitat ii acelor componente, astfel ncat daca acestea ar
introduse n sistem sa conduca la o abilitate mai mare a sistemului.
(2) Procedeele de calcul al abilitat ii sistemelor pot transpuse cu usurint a la
calculul abilitat ii programelor. Se stie (vezi si Cap. 6) ca orice program, conform
teoremei lui Bohm-Jaccopini, poate reprezentat ca un program structurat, descris
recursiv n termeni de trei structuri elementare de program si anume: secvent a
(A, B) carenseamna ca se executa blocul funct ional Aurmat de execut ia blocului
B; select ia (; A, B) carenseamna if then A else B, (adica daca predicatul ia
valoarea true atunci se executa blocul A altfel se executa B); iterat ia (, A) care
nseamna while then A (adica atata timp cat ia valoarea true se executa blocul
funct ional A); n acest ultim caz se presupune ca = (A), adica se modica
dupa un anumit numar de ciclari pentru a determina iesirea din ciclu. Este usor
de observat ca utilizand convent ii potrivite, orice program structurat poate privit
ca un sistem SP-generalizat. Deci abilitatea unui program structurat se poate
calcula n funct ie de abilitat ile modulelor componente A, B, , etc. t inand seama
de urmatoarele convent ii:
- pentru un predicat se folosesc probabilitat ile
p
t,
= Prob( = true), p
f,
= Prob( = false);
- pentru secvent a (A, B) abilitatea este
R

= R
A
R
B
;
- pentru select ia (, A, B) abilitatea este
R

= p
t,
R
A
+p
f,
R
B
;
- pentru iterat ia (, A) abilitatea este
R

= p
t,

=true
R
A
+p
f,
R
U
unde produsul

=true
R
A
nseamna ca R
A
se nmult este cu el nsusi de un numar
nit de ori (atata timp cat = true), iar R
U
este abilitatea modulului ce urmeaza
imediat structurii de program .
O astfel de abordare ar necesitan primul rand cunoasterea abilitat ilor blocurilor
funct ionale (modulelor A, B, etc) si a probabilitat ilor predicatelor. Pe de alta
parte, daca t inem seama ca pe parcursul testarii programului ecare eroare de-
tectata se elimina, atunci abilitatea programului ar trebui recalculata dupa elim-
inarea ecarei erori. In acelasi timp acest mod de a aborda abilitatea unui produs
soft nu ar ajuta la estimarea unei caracteristici de abilitate foarte importanta si
Cap.1. Not iuni introductive de teoria abilitat ii 47
anume, N
0
, numarul init ial de erori. Acest N
0
permite si calculul numarului N
0
(t)
de erori ramase la momentul t, care este dat de N
0
(t) = N
0
N(t), unde N(t)
este numarul de erori eliminate pana la momentul t.
Din aceste motive, modelele de abilitatea programelor prezentate n capitolele
urmatoare nu se vor concentra numai pe calculul abilitat ii unui programn funct ie
de abilitat ile componentelor sale. Aceste modele, si propun de regula, ca pe baza
unor date de select ie privind duratele dintre caderi, sa estimeze pe N
0
, numarul
mediu de erori ramase la momentul t, E[N(t)], precum si pe N(t) = N
0
N(t),
sau alte caracteristici de abilitate ce vor precizate la locul potrivit n capitolele
urmatoare.
Proba de control.
1. a). Daca durata de viat a X are repartit ia exponent iala de parametri , ,
sa se determine: rata de hazard r(t), funct ia abilitate R(t) si termenul de garant ie
x

corespunzand coecientului de sigurant a .


b). Aceleasi intrebari pentru cazul cand durata de viat a X are repartit ia
Weibull(, , ).
2. a). Daca X are repartit ia Exp() sa se calculeze E[X] si V ar(X).
b). Durata in funct ionare X are repartit ia Lomax(, a), , a > 0. Sa ce der-
ermine: E[X], V ar(X), rata de hazard r(x), funct ia abilitate R(x) si termenul
de garant ie x

, corespunzand coecientului de sigurant a .


3. Care din repartit iile descrise in sect iunea 1.3.1 la pct. 1,2,4,5 si in ce
condit ii acestea sunt de tip IFR? Dar DFR?.
Raspuns: 1. este IFR si DFR;2. este IFR cand > 1 si este DFR cand
0 < < 1; 3. este IFR; 4. este DFR.
4. Calculat i media m si dispersia
2
pentru ecare din repartit iile:geometrica
de parametru p; binomiala de parametri (n, p); Poisson de parametru .
5. Aplicat i metoda momentelor pentru estimarea parametrilor urmatoarelor
repartit ii folosind select ii necenzurate: exponent iala; Lomax, normala N(m, );
lognormala, binomiala, geometrica, Poisson.
6. a). Folosind select ii cenzurate la dreapta (cenzura este T), sa se es-
timeze parametrul al repartit iei exponent iale.(Se foloseste metoda verosimilitat ii
maxime).
b). Folosind select ia cenzurata pe intervale sa se estimeze parametrul al
repartit iei Poisson.
Indicat ie. Se iau intervalele de cenzura avand ca limite 0 < s
1
< ... < s
k1
<
iar datele de select ie sunt frecvent ele n
1
, n
2
, ..., n
k
,

k
i=1
n
i
= n=volumul select iei.
7. Folosindu-se o select ie necenzurata asupra dutarei in funct ionare X s-a
obt inut urmatoarea tabela de frecvent e
Interval [0,0.5) [0.5,1) [1,1.5) [1.5,2) [2,2.5) [2.5,3) [3,3.5)
Frecv. 32 25 19 13 8 2 1
Cap. 2. Modele Markoviene pentru abilitatea programelor 51
Sa se precizeze volumul select iei, sa se reprezinte grac histograma si sa se
formuleze (intuitiv) o ipoteza asupra repartit iei lui x.
Indicat ie. Ipoteza formulata: exponent iala.
8. Pe baza unei select ii necenzurate asupra variabilei aleatoare X s-a obt inut
tabela de frecvent e
Interval [7,7.5) [7.5,8) [8,8.5) [8.5,9) [9,9.5) [9.5,10) [10,10.5)
Frecv. 8 11 17 27 17 12 8
Sa se precizeze volumul select iei si sa se formuleze o ipoteza asupra repartit iei
de probabilitate a lui X.
Raspuns. Din forma histogramei se formuleaza ipoteza de normalitate.
9. Se da urmatoarea diagrama de abilitate a unui sistem (S
12
). Sa se constru-
iasca funct ia de structura si sa se calculeze abilitatea R a sistemului in funct ie de
abilitat ile R
i
, 1 i 12 ale componentelor. Daca R
i
= p sa se rezolve (numeric)
ecuat ia R(p) = 0.999.
Fig. 1.7. Sistemul S
12
c
10
c
11
c
12
c
9
c
7
c
8
c
5
c
6
c
4
c
1
c
2
c
3

2 Modele Markoviene pentru abilitatea pro-
gramelor
Vom presupune ca programele sunt sisteme reparabile [2,19,29] n sensul ca atunci
cand apar erori n funct ionarea programelor (erori soft ci nu erori cauzate de com-
ponente hardware!), atunci aceste programe se ntrerup din execut ie si printr-un
proces de depanare, se nlatura erorile. Se presupune ca timpul de depanare a unei
erori este neglijabil n comparat ie cu timpul de execut ie dintre aparit ia a doua erori
consecutive. Se presupune ca n program exista la momentul init ial un numar de
52 Cap.2. Modele markoviene pentru abilitatea programelor
erori N
0
. Pe masura ce apar noi erori, acestea se elimina (prin depanarea progra-
mului) si deci numarul de erori ramase descreste. De la nceput vom presupune ca
timpul n care evolueaza programul este timpul operat ional (sau timpul unitate
centrala), adica timpul cumulat pe care-l parcurge programul n execut ie. (El se
mai numeste si timp de execut ie).Aceasta deoarece timpul calendaristic, ce curge
de la nasterea programului nu este relevant ci numai timpul cat programul este
utilizat, n execut ie; numai pe parcursul acestui timp putem detecta erorile din
program, care de fapt ne intereseaza.
Inainte de a trata modele de abilitatea programelor, trebuie sa precizam
tipurile de date de select ie care se folosesc n abilitatea programelor. Daca X
este durata n funt ionare a unui program sau sistem de programe, atunci datele
de select ie pot momentele 0 < T
1
< T
2
< ... < T
n
< de pe axa timpului
operat ional cand au loc intreruperile (caderile programului), iar valorile de select ie
asupra lui X sunt t
1
= T
1
, t
i
= T
i
T
i1
, 2 i n. In acest caz se spune ca avem
de-a face cu date de select ie complete. Alt tip de select ie utilizata n abilitatea
programelor este select ia cenzurata pe intervale, care se obt ine astfel: se aleg con-
stantele pozitive 0 < s
1
< s
2
< ... < s
k
, T
n
< s
k
, k < n si se determina frecvent a
n
j
=numarul de caderi ce au loc n intervalul de timp [s
j1
, s
j
), n =

k
j=1
n
j
.
Valorile n
1
, n
2
, ..., n
k
constituie datele de select ie cenzutare pe intervale ce se vor
folosi la estimarea parametrilor modelelor de abilitatea programelor. Unele din
frecvent ele n
i
, 1 i k pot nule ceeace nseamna ca pe aceel interval de rang i
nu au avut loc caderi (sau mai precis, nu au aparut erori n execut ia programului).
Sa mai observam ca limitele s
i
, 1 i k pot aleatoare, caz in care select ia este
cenzurata pe intervale aleatoare. Daca cenzura este de tipul I (vezi formula (1.23)
din subsect iunea 1.5.1), valoarea de cenzura C de asemenea poate aleatoare, caz
in care cenzura este aleatoare de tipul I. In abilitatea programelor se folosesc de
regula date cenzurate de tipul II, cu cenzura pe intervale nealeatoare. Cand nu
se va specica faptul ca este vorba de date cenzurate, se vor folosi valorile de de
select ie necenzurate t
i
= T
i
T
i1
.
In sect iunea 1.5.1 am prezentat pe larg aceste tipuri de date cenzurate. Cand
se vor utiliza astfel de date cenzurate se vor face toate precizarile de detaliu privind
tipul de cenzura.
Printre primele modele matematice ale abilitat ii programelor sunt cele care
presupun ca numarul de erori N(t) existente la momentul t este un proces Markov.
Unul din cele mai vechi modele din aceasta categorie este modelul Jelinski-Moranda
[16,25] (J-M) ce va prezentat n cele ce urmeaza.
Cap. 2. Modele Markoviene pentru abilitatea programelor 53
2.1 Modelul Jelinski-Moranda
Acest model [16,25,35] se bazeaza pe urmatoarele ipoteze:
(a) numarul init ial de erori N
0
, existente in program este un parametru con-
stant, necunoscut, ce trebuie estimat;
(b) o eroare detectata este eliminata instantaneu si nu se mai introduc alte
erori;
(c) intervalele de timp dintre aparit iile de erori consecutive sunt variabile
aleatoare independente, repartizate exponent ial (consecint a a faptului ca se pre-
sune ca N(t) este un proces Markovian);
(d) toate erorile existente n soft contribuie n egala masura la intensitatea de
aparit ie a unei noi erori.
Sa notam intensitatea de aparit ie a unei erori, intensitate presupusa con-
stanta conform ipotezei (d). Deci la momentul init ial intensitatea de aparit ie a
unei erori n execut ia programului este N
0
. De aici rezulta ca dupa ce au fost de-
tectate si eliminate k erori (k = 1, 2, ...), au mai ramas N
0
k erori iar intensitatea
aparit iei unei noi erori este funct ia descrescatoare in k, (N
0
k).
Modelul si propune sa estimeze parametrii necunoscut i si N
0
. Datele de
selectie (observat iile statistice) sunt momentele T
i
, 1 i n N
0
de pe axa
timpului operat ional cand apar erorile. Deci datele de select ie sunt necenzurate.
Conform ipotezei (c) lungimile intervalelor dintre aparit iile consecutive de erori,
adica t
i
= T
i
T
i1
, (t
0
= 0), sunt independente si repartizate exponent ial de
parametri
(i) = [N
0
(i 1)], 1 i n
0
(2.1)
adica t
i
are densitatea de repartit ie dr
f(t
i
) = (N
0
i + 1)e
(N
0
i+1)t
i
. (2.1

)
In concluzie, daca t = (t
1
, t
2
, ..., t
n
) este vectorul de select ie dat, estimarea parametrilor
, N
0
se va face cu metoda verosimilitat ii maxime, pornind de la funct ia de
verosimiltate (necenzurata)
L(t
1
, t
2
, ..., t
n
) =
n

i=1
(N
0
i + 1)e
(N
0
i+1)t
i
= (2.2)
=
n
{
n

i=1
(N
0
i + 1)}e

i=1
(N
0
i+1)t
i
.
Ecuat iile de verosimilitate sunt
lnL
N
0
=
n

i=1
1
N
0
i + 1

n

i=1
t
i
= 0,
54 Cap.2. Modele markoviene pentru abilitatea programelor
lnL

=
n

i=1
(N
0
i + 1)t
i
= 0.
Acest sistem de ecuat ii (neliniare in , N
0
) este dicil de rezolvat. Daca eliminam
pe din cele doua ecuat ii obt inem ecuat ia in N
0
1
N
0
+
1
N
0
1
+... +
1
N
0
n + 1
=

n
i=1
t
i

n
i=1
(N
0
i + 1)t
i
. (2.3)
Solut ia N
0
a ultimei ecuat ii se poate obt ine prin metode numerice. Se arata [16,
19, 35] ca solut ia N
0
exista pe intervalul (0, ) si este unica daca si numai daca

n
i=1
(i 1)t
i

n
i=1
(i 1)
>

n
i=1
t
i
n
(2.4)
adica

n
i=1
(i 1)t
i

n
i=1
t
i
>
1
2(n 1)
, (2.4

)
sau

n
i=1
it
i
T
n
T
n
>
1
2(n 1)
. (2.4

)
Daca n inegalitatea precedenta se schimba sensul (adica se ia <), atunci se arata
ca solut ia N
0
ceea ce nu are sens. Solut ia numerica a ecuat iei (2.3) este
de regula un numar real. Valoarea estimat iei N
0
va intregul pozitiv cel mai
apropiat de solut ia ecuat iei.
Intrucat condit ia (2.4) nu este n general satisfacuta, rezulta ca modelul J-M
nu este realist intrucat nu are solut ie N
0
. De fapt, n practica se constata ca erorile
nu au toate aceeasi marime (adica ipoteza (d) nu este de regula satisfacuta), acesta
constituind un alt motiv de a amenda modelul J-M.
2.2 Modele cu intensitatea aparit iei erorilor
descrescatoare (DFI)
Observam ca funct ia intensitste a caderilor (i) = (N
0
i +1) n cazul modelului
J-M este liniara si descrescatoare n i, fapt ce rezulta din ipoteza (d) combinata
cu (b). Este nsa natural sa presupunem [35] ca funct ia (i) nu descreste liniar ci
mai degraba este descrescatoare-convexa. Aceasta se poate explica prin faptul ca
la nceputul testarii sau utilizarii programului se detecteaza cu precadere erorile
mari, cele ce au sanse mai mari de aparit ie, iar ulterior se manifesta cele mai
mici, mai ascunse, care apar mai rar. Putem de asemenea presupune ca dupa
ce s-au nlaturat toate erorile intensitstea scade la zero, adica (N
0
+ 1) = 0.
Cap. 2. Modele Markoviene pentru abilitatea programelor 55
Un model n care intensitatea erorilor este descrescatoare se numeste model DFI
(prescurtare de la Decreasing Failure Intensity) [16,19,29].
Vom prezenta mai ntai forma generala a unui model n care (i), 1 i N
0
este descrescatoare si cunoscuta.
In acest caz, numarul de erori ramase N(t) este un proces Markovian particular,
anume, un proces de deces pur, N(t) = 0, 1, ..., N
0
, cu repartit ia de forma
P[N(t) = i] = p
i
(t), i = 0, 1, ..., N
0
,
N
0

i=1
p
i
(t) = 1. (2.5)
Din ecuat iile (1.19),(1.19) se deduc ecuat iile diferent iale ale procesului nostru de
deces pur (ecuat iile lui Kolmogorov) si anume
p
0
(t) = (1)p
0
(t), p

i
(t) =
i+1
p
i
(t) +
i
p
i1
(t), 1 i N
0
1 (2.6),
p

N
0
(t) = (N
0
)p
N
0
1
(t).
Condit iile init iale naturale sunt
N
0
(0) = 0, p
0
(0) = 1, p
i
(0) = 0, i > 0,
N
0

i=0
p
i
(0) = 1. (2.6

).
Este adevarata urmatoarea teorema [25,35]
Teorema 2.1. In condit iile init iale (2.6), sistemul (2.5) are solut ia
p
0
(t) = e

1
(t)
, p
1
(t) =
(1)
(2) (1)
(e
2
e
1
)
p
i
(t) =
i

j=0
A
(i)
j
e
j
, i < N
0
, e
j
= e
(j+1)t
, 0 j N
0
(2.7)
p
N
0
(t) =
N
0
1

j=0
A
(N
0
1)
j
(N
0
)
(j + 1)
(e
j
1)
unde
A
(i)
j
=
(i)
(i + 1) (j + 1)
A
(i1)
j
, j < i, A
(i)
i
=
i1

j=0
A
(i)
j
(2.8)
Demonstrat ie. Pentru i = 0 solut ia este imediata. Intr-adevar, prima ecuat ie
se scrie
d
dt
lnp
0
(t) = (1), de unde p
0
(t) = ce
(1)t
56 Cap.2. Modele markoviene pentru abilitatea programelor
iar din condit ia init iala p
0
(0) = 1 rezulta c = 1, adica prima formula (2.7).
Pentru i = 1 din (2.6) avem:
p

1
(t) = (2)p
1
(t) +(1)p
0
(t)
care este o ecuat ie diferent iala cu coecient i constant i si cu termen liber (adica
p
0
(t) = e
(1)t
). Solut ia generala a ecuat iei omogene este de forma
p
1
(t) = c
1
(t)e
(2)t
.
Funct ia c
1
(t) se determina prin metoda variat iei constantelor, t inand seama si de
termenul liber, adica,
p

1
(t) = c

1
(t)e
(2)t
(2)c
1
(t)e
(2)t
= (2)c
1
(t)e
(2)t
+(1)e
(1)t
.
Ultima ecuat ie n c
1
(t) are solut ia generala
c
1
(t) =
(1)
(2) (1)
e
[(1)(2)]t
+k
1
.
Din condit ia init iala p
1
(0) = 0, se deduce k
1
=
(1)
(2)(1)
, de unde
p
1
(t) =
(1)
(2) (1)
(e
0
e
1
)
adica formula (2.7) pentru i = 1. Pentru i oarecare (1 < i < N
0
,) formula se
demonstreaza prin induct ie. Intr-adevar sa presupunem adevarata (2.7) pentru
i 1 cu A
(i1)
j
dat de (2.8). Pentru i ecuat ia (2.7) se scrie deci
p

i
(t) = (i + 1)p
i
(t) +(i)p
i1
(t), p
i1
(t) =
i1

j=0
A
(i1)
j
e
j
.
Procedand analog cazului i = 1 rezolvarea se face succesiv prin urmatoarele calcule
p
i
(t) = c
i
(t)e
(i+1)t
,
p

i
(t) = c

i
(t) (i + 1)c
i
(t) = (i + 1)e
(i+1)t
+(i)
i1

j=0
A
(i1)
j
e
j
,
c

i
(t) = e
(i+1)t
(i)
i1

j=0
A
(i1)
j
e
(j+1)t
,
Cap. 2. Modele Markoviene pentru abilitatea programelor 57
c
i
(t) = (i)
(i1)

j=0
A
i1
j
1
(i + 1) (j + 1)
e
[(j+1)(i1)]
+k
i
.
Din condit ia init iala p
i
(0) = 0, rezulta
k
i
= (i)
i1

j=0
A
(i1)
j
(i + 1) (j + 1)
,
de unde
p
i
(t) = [(i)
i1

j=0
A
(i1)
j
(i + 1) (j + 1)
e
[(j+1)(i+1)]t

(i)
i1

j=0
A
(i1)
j
(i + 1) (j + 1)
]e
(i+1)t
=
=
i1

j=0
A
(i1)
j
(i)
(i + 1) (j + 1)
e
(j+1)t

i1

j=0
A
(i1)
j
(i)
(i + 1) (j + 1)
e
(i+1)t
=
=
i1

j=0
A
(i1)
j
e
j
A
(i)
i
e
i
=
i

j=0
A
(i)
j
e
j
.
Pentru i = N
0
(ultima ecuat ie (2.7)) avem
p

N
0
= (N
0
)p
N
0
1
(t) = (N
0
)
N
0
1

j=0
A
(N
0
1)
j
e
(j+1)t
.
Solut ia generala este
p
N
0
(t) =
N
0
1

j=0
(N
0
)
(j + 1)
A
(N
0
1)
j
e
(j+1)t
+k
N
0
Din condit ia init iala p
N
0
(0) = 0 rezulta
k
N
0
=
N
0
1

j=0
(N
0
)
(j + 1)
A
(N
0
1)
j
deci
p
N
0
=
N
0
1

j=0
(N
0
)
(j + 1)
A
(N
0
1)
j
[e
j
1]
58 Cap.2. Modele markoviene pentru abilitatea programelor
care este ultima formula (2.7), ceeace demonstreaza teorema.
Daca se estimeaza n prealabil N
0
, conform modelului J-M, atunci se poate
calcula probabilitatea ca pana la momentul t sa se elimine cel put in k
0
erori, adica
1 P[N(t) k
0
] = 1
N
0

j=k
0
p
j
(t)
ultima suma ind probabilitatea ca numarul de erori ramase sa e mai mare decat
k
0
.
2.3 Modele J-M cu repartit ii DFI particulare
Asa cum am vazut mai sus, n loc de a presupune n modelul original J-M, ca
pe parcursul testarii unui program ecare eroare existenta n acesta contribuie n
aceeasi masura la aparit ia unei noi erori, este mai potrivit sa se presupuna ca
primele caderi sunt cauzate de erori care au o probabilitate mai mare de aparit ie.
O astfel de presupunere are loc cand intensitatea caderilor este data de funct ia
putere
(i) = [N
0
(i 1)]

, 1 i N
0
(2.9)
iar faptul ca aceasta funct ie de i descreste mai repede la nceput nseamna ca ea
este convexa, deci > 1. (In cazul modelului clasic J-M tratat anterior, aceasta
funct ie este liniara si descrescatoare in i).
Modelul de tip J-M are, in ipoteza funct iei putere a ratei de aparit ie a erorii,
trei parametri de estimat: , N
0
, si . Dar asa cum vom vedea mai tarziu, o
valoare potrivita a lui este = 2, deci modelul va avea tot doi parametri de
estimat, N
0
si , ca si n cazul modelului JM clasic . Acesti parametri vor putea
estimat i prin metoda verosimilitat ii maxime, n mod asemanator modelului tratat
in cele ce urmeaza.
Un model DFI particular. Sa consideram [25,35] funct ia descrescatoare
si convexa pentru intensitatea caderii a i-a de forma
(i) = [e
(N
0
i+1)
1], 1 i N
0
. (2.10)
Aceasta funct ie descreste la nceput mai repede decat funct ia putere.
Vom indica o cale de determinare a estimat iilor (, N
0
, ) folosind metoda
verosimilitat ii maxime pentru parametri ce intervin n expresia intensitatat ii de
aparit ie a erorilor data de (2.10). Se observa ca l = Log(L), unde cu L se noteaza
functia de verosimilitate, este
l = nlog +
n

i=1
log [e
(N
0
i+1)
1]
n

i=1
[e
(N
0
i+1)
1]t
i
.
Cap. 2. Modele Markoviene pentru abilitatea programelor 59
Ecuat iile de verosimilitate conduc la sistemul neliniar
l

=
n

i=1
[e
(N
0
i+1)
1]t
i
= 0
l
N
0
=
n

i=1
e
(N
0
i+1)
e
(N
0
i+1)
1
+
n

i=1
e
(N
0
i+1)
t
i
= 0
l

=
n

i=1
(N
0
i + 1)e
(N
0
i+1)
e
(N
0
i+1)
1
+
n

i=1
(N
0
i + 1)t
i
e
(N
0
i+1)
Notand X = (, N
0
, )

vectorul tridimensional al parametrilor necunoscut i, sis-


temul neliniar precedent se pune sub forma
X = (X) (2.11)
unde este funct ie vectoriala. De exemplu din prima si a treia ecuat ie obt inem
respectiv
= n
_
n

i=1
[e
(N
0
i+1)
1]t
i
_
1
N
0
=

n
i=1
(i 1)t
i
e
(n
0
i+1)

n
i=1
((i 1)e
(N
0
i+1)
)/(e
(N
0
i+1)
1))
n[

n
i=1
t
i
e
(N
0
i+1)

n
i=1
1/(e
(N
0
i+1)
1)]
iar dacan a doua, simplicam mai intai cu si adaugam apoi in ecare membru,
adica
=
n

i=1
s
(N
0
i+1)
E
(N
0
i+1)
1
+
n

i=1
e
(N
0
i+1)t
i
,
obt inem si cea de-a treia ecuat ie care conduce la sistemul sub forma (2.11). Pentru
un astfel de sistem, cand are solut ie, aceasta se determina prin relat ia iterativa
X
n+1
= (X
n
), X
0
arbitrar (2.11

)
care se repeta pana cand X
n+1
se stabilizeaza, adica |X
n+1
X
n
| < , ( cu mic,
dat). Solut ia aproximativa

X = (X
n+1
+X
n
)/2
poate constitui vectorul estimat iilor celor trei parametri , N
0
, .
60 Cap.2. Modele markoviene pentru abilitatea programelor
2.4 Justicarea unor ipoteze ale modelului J-M
Ipotezele folosite in cazul modelului Jelinski-Moranda pot justicate pe baza
unor presupuneri intuitive plausibile.
Mai ntai vom arata cum se justica ipoteza exponent ialitat ii, adica presupunerea
ca intervalul de timp dintre doua caderi are repartit ie exponent iala. Vom ncepe
cu cateva proprietat i ale reparit iei exponent iale [6,12].
(1) Am vazut n capitolul 1 ca intervalul de timp dintre doua evenimente
(tranzit ii) consecutive ale unui lant Markov este repartizat exponent ial. In par-
ticular, intervalul de timp dintre aparit iile a doua evenimente aleatoare rare
consecutive ce apar cu intensitatea , (al caror numar pe [0, t] este repartizat
Poisson()), este o variabila exponent iala de parametru . Intr-adevar, daca N(t)
este numarul acestor evenimente , atunci
p[N(t) = 0] =
(t)
0
0!
e
t
= e
t
de unde
P( < t) = 1 P[N(t) = 0] = 1 e
t
.
(2) Densitatea de repartit ie exponent iala este strict descrescatoare; mai mult
chiar, daca este variabila exponent iala Exp() iar t si t > 0, atunci
P(0 t) > P(t t + t). (2.12)
Aceasta proprietate rezulta din relat iile
P(0 t) P(t t + t) = 1 e
t
+e
(t+t)
e
t
>
> 1 e
t
+e
(t+t)
e
(t+T)
= 1 e
t
> 0.
(3) Repartit ia exponent iala nu are memorie (ca si procesele de tip Markov!)
in sensul ca t, t
0
> 0,
P(0 t) = P( t
0
+t| > t
0
) = 1 e
t
. (2.13)
Intr-adevar, avem
P( t
0
+t| > t
0
) =
P(t
0
t
0
+t)
P( > t
0
)
=
e
t
0
e
(t
0
+t)
e
t
0
= 1 e
t
, t > 0.
(4) Repartit ia minimului de variabile exponent iale independente este tot o
variabila aleatoare exponent iala. Intr-adevar, daca
i
Exp(
i
), 1 i n,
atunci daca = min
1n

i
avem
P( < t) = 1 P( t) = 1 P(
1
t)...P(
n
t) = 1 e
(

n
i=1

i
)t
, (2.14)
Cap. 2. Modele Markoviene pentru abilitatea programelor 61
adica o repartit ie exponent iala de parametru =
n

i=1

i
.
(5) Pentru un t apropiat de zero avem
P(0 kt) kt,
care se deduce din dezvoltarea n serie a expresiei
P(0 t) = 1 e
t
, t > 0
.
(6) Suma de variabile exponent iale
i
Exp(
i
), 1 i n, este o variabila
Gamma, adica =

n
i=1

i
Gamma(

n
i=1

i
). Demonstrat ia acestei armat ii se
poate face utilizand funct ia caracteristica: se calculeaza mai intai funct ia caracter-
istica a lui ,

(t) = E(e
t
), (ca produs de funct ii caracteristice ale variabilelor
i
independente si exponent ial repartizate ca Exp(
i
)) si apoi se calculeaza funct ia
caracteristica a variabilei Gamma si se observa ca cele doua sunt egale. In cazul

i
Exp(1), variabila suma are parametrul n (intreg) si se numeste variabila
Erlang standard.
Sa trecem acum la justicarea exponent ialitat ii. T inand seama de proprietat ile
repartit iei Exp(), rezulta ca intuitiv ipoteza exponent ialitat ii se justica. Vom
da nsa n cele ce urmeaza o justicare ce rezulta din nsasi particularitat ile unui
produs soft [35].
Sa notam cu M mult imea (discreta) a datelor de intrare ale unui program al
carei cardinal este nit |M| < si e M

M, mult imea datelor ce cauzeaza


erori. Intrucat aceste date de intrare sosesc rar pentru a intra n execut ia progra-
mului putem presupune ca ele (ca evenimente) constituie un process Poisson().
Parametrul este interpretat ca intensitatea testarii, caci cu intensitatea sos-
esc datele n execut ia programului. Funct ia de repartit ie a intervalului de timp
dintre sosirile a doua erori consecutive este F(t) = P( < t) iar probabilitatea de
a nu avea erori pe intervalul [0, t] este
F(t) = 1 F(t) =

j=0
_
e
t
(t)
j
j!
_
_
M M

M
_
j
(2.15)
formula ce se justica astfel: primul factor din suma este probabilitatea de a sosi
j date pe intervalul de timp [0, t) (probabilitatea Poisson), iar al doilea factor
nseamna probabilitatea ca cele j date sa nu cont ina erori; insumarea reprezinta o
mediere n raport cu valorile aleatoare ale lui j.
62 Cap.2. Modele markoviene pentru abilitatea programelor
Daca notam acum = (M

/M) si interpretam aceasta ca ceea ce este, adica


intensitatea de aparit ie a unei erori, atunci (2.15) devine
F(t) = e
t

j=0
[t(1 /)]
j
j!
= e
t
e
(1/)t
= e
t
. (2.15

)
Ultima formula spune ca Exp(), adica exponent ialitatea este justicata.
Sa vedem acum de unde rezulta n modelul J-M ca (i) = (N
0
i + 1).
Sa notam [25,35] M
k
numarul datelor de intrare ce pot cauza cea de-a k-a
eroare. Atunci, dupa ce s-a nlaturat cea de-a i-a eroare, numarul datelor de
intrare ce pot cauza o noua cadere este
M

(i) =
N
0

j=i+1
M
j
,
presupunand ca mult imile M
j
ce determina erorile j = 1, 2, ..., N
0
sunt disjuncte.
Observam ca M

(i) este descrescatoare in i. Daca presupunem can modelul JM


ca toate erorile n program au aceeasi marime, adica, mult imile M
k
sunt identice,
M
k
= M
0
, k = 1, 2, ..., N
0
, atunci rezulta ca numarul de date de intrare ce cauzeaza
o noua cadere este redus de ecare data cu aceeasi constanta M
0
(notata anterior
cu ). De aici rezulta ca (i) = (N
0
i + 1), adica intervalul de timp t
i
dintre
a (i 1)a si a ia cadere este Exp((N
0
i + 1)).
Sa justicam acum ipoteza ca rata DFI descrescatoare poate de forma funct iei
putere considerata n sect iunea 2.3. In acest caz presupunem (in mod mai realist!)
[25,35], ca erorile mai mari se elimina mai la nceputul testarii programului.
Sa notam
M
i
=
M

i
N
0
i
numarul mediu de date ce pot cauza erorile ramase. Vom presupune acum ca
numarul de date M
i
ce cauzeaza cea de-a ia eroare este de doua ori mai mare ca
numarul mediu de date ramase ce pot cauza erori. De aici rezulta ca numarul de
date ce vor cauza erori dupa ce s-a eliminat cea de-a (i + 1)a eroare este
M

i+1
= M

i
M
i+1
=
N
0

j=i+1
M
j
2M
i
=
=
N
0

j=i+1
M
j

2
N
0
i
N
0

j=i+1
M
j
=
N
0
i 2
N
0
i
N
0

j=i+1
M
j
.
Cap. 2. Modele Markoviene pentru abilitatea programelor 63
De aici se deduce urmatoarea relat ie de recurent a
(i + 1) =
M

i+1
M
=
N
0
i 2
N
0
i

M
M

i
=
=
N
0
i 2
N
0
i
(i) = (N
0
i 2)(N
0
i 1)
(0)
(N
0
1)N
0
.
Pentru N
0
mare, facand o notat ie corespunzatoare, rezulta
(i + 1) (N
0
i)
2
, sau(i) = (N
0
i + 1)
2

care este expresia intensitat ii putere.


Daca am face ipoteza ca numarul de date M
i
ce cauzeaza cea de-a ia eroare
este de ori numarul mediu al datelor ramase ce pot cauza erori, atunci, printr-
un rat ionament asemanator se gaseste forma generala a intensitat ii putere de
aparit ie a celei de-a ia erori si anume:
(i) = (N
0
i + 1)

,
adica este de forma (2.9).
2.5 Modelul lui Schick-Wolverton
Acest model [1,35] foloseste ipotezele modelului J-M cu except ia faptului ca repartit ia
timpului t
i
dintre caderi consecutive este nu exponent iala, ci este de tip Rayleigh
(un caz particular de repartit ie Weibull, pentru care parametrul este 2) si anume:
f(t
i
) = (N
0
i + 1)t
i
e

1
2
(N
0
i+1)t
2
i
. (2.16)
De aici rezulta ca rata caderilor, notata cu r(i, t
i
), este r(i, t
i
) = (N
0
i + 1)t
i
,
iar funct ia abilitate este
R(t
i
) = e
(N
0
i+1)t
2
i
/2
. (1.16

)
Daca o cadere s-a realizat la momentul t
i1
atunci timpul mediu pana la realizarea
urmatoarei caderi este
MTTF(i) =


0
f(t
i
)t
i
dt
i
= (N
0
i + 1)


0
t
2
i
e
(N
0
i+1)t
2
i
/2
dt
i
care dupa o integrare prin part i si dupa efectuarea schimbarii de variabila z
i
=

(N
0
i + 1)t
i
devine
MTTF(i) =


0
1

(N
0
i + 1)
e
t
2
i
/2
dt
i
=
_

2(N
0
i + 1)
_
1/2
. (2.16

)
64 Cap.2. Modele markoviene pentru abilitatea programelor
Trebuie sa subliniem faptul [35] ca ipoteza conform careia intensitatea (rata)
caderilor depinde de timp nu este o presupunere buna. Aceasta ipoteza (a mod-
elului Schick-Wolverton!) conduce la un model realist daca timpul dintre caderi
consecutive t
i
se refera la caderi hardware combinate eventual cu caderi software.
Rezolvarea modelului Schick-Wolverton se face conform procedeului standard
bazat pe metoda verosimilitat ii maxime. Funct ia de verosimilitate este
L(t
1
, t
2
, ..., t
n
, N
0
, ) =
_
n

i=1
(N
0
i + 1)t
i
_
e
(1/2)

i
(N
0
i+1)t
2
i
.
Dupa logaritmare, notand l = ln L, obt inem sistemul ecuat iilor de verosimilitate
l

=
n


1
2
n

i=1
(N
0
i + 1)t
2
i
= 0
l
N
0
=
n

i=1
1
N
0
i + 1


2
n

i=1
t
2
i
= 0.
Daca notam
T

=
n

i=1
it
2
i
, t

=
n

i=1
t
2
i
atunci din prima ecuat ie se deduce
N
0
+ 1 =
2n +T

(2.17)
iar cea de-a doua devine
n

i=1
1
2n + (T

it

)
=
1
2
. (2.17

)
Ecuat ia (2.17) are intotdeauna solut ie n pe intervalul [0, 1/(2n)] asa cum se
poate vedea usor. (Deoarece T

it

> 0, 1 i n, notand cu () funct ia


din membrul stang al lui (2.17) se deduce usor ca

() < 0). Deci, notand cu


solut ia ecuat iei (2.17) (estimat ia de verosimilitate maxima a lui ), din (2.17) se
poate determina

N
0
, estimat ia lui N
0
(ca solut ie intreaga!).
2.6 Modelul Markovian al lui Shanthikumar
Modelul este asemanator celui din sect iunea 2.2. Vom presupune [1,26,35] ca N(t)
este numarul de erori detectate si eliminate pe intervalul [0, t] iar N
0
este numarul
Cap. 2. Modele Markoviene pentru abilitatea programelor 65
erorilor init iale. Sa notam cu (t) intensitatea unei erori ramase la momentul t.
(In cazul modelului J-M, (t) = = const). Deci daca s-au eliminat n erori,
atunci intensitatea de aparit ie a unei noi erori este
(n, t) = (t)(N
0
n).
Rezulta ca procesul stochastic N(t) este un proces de nastere pur, care ia valori
intre 1 si N
0
. Pentru a aa probabilitat ile P
n
(t), t 0, 1 n N
0
vom folosi
sistemul ecuat iilor diferent iale ale lui Kolmopgorov si anume
P

0
(t) = N
0
(t)P
0
(t)
P

n
(t) = (N
0
n + 1)(t)P
n1
(t) (N
0
n)(t)P
n
(t), 1 n N
0
(2.18)
care are condit iile init iale
P
n
(0) = 0, n > 0, P
0
(0) = 1. (2.18

)
Are loc urmatoarea teorema
Teorema 2.2. Sistemul de ecuat ii diferent iale (2.18) cu condit iile init iale
(2.18) are solut ie unica de forma
P
n
(t) = C
n
N
0
[a(t)]
N
0
n
[1 a(t)]
n
, 0 n N
0
, a(t) = e

t
0
(t)dt
. (2.19)
Demonstrat ia se face asemanator celei din sect iunea 2.2. Se observa ca dupa
aparit ia celei de-a n-a erori expresia funct iei abilitate este
R(t) = e
(N
0
n)

t
0
(u)du
= [a(t)]
N
0
n
. (2.19

)
Formula (2.19) este cea a repartit iei binomiale de parametri (a(t), n) din care cauza
modelul se mai numeste de tip binomial [25].
Sa mai observam ca daca ne intereseaza abilitatea la momemtul t ulterior
momentului T
i1
al ultimei caderi, aceasta este:
R(t|T
i1
) = e
(N
0
i+1)

T
i
+t
T
i
(u)du
(2.20)
iar rata caderilor la momentul t [T
i1
, T
i
) este
(i, t|T
i1
) = (N
0
i + 1)(T
i1
+t). (2.20

)
66 Cap.2. Modele markoviene pentru abilitatea programelor
Se deduce din cele de mai sus ca funct ia de repartit ie a variabilei aleatoare T
i
(adica a momentului de timp cand apare caderea sau eroarea a i-a) este
P(T
i
< x) = P[N(x) i] =
N
0

j=i
P
j
(x) =
N
0

j=i
[a(x)]
N
0
j
[1 a(x)]
j
. (2.21)
Daca notam cu U(t) = N
0
N(t) numarul de erori ramase la momentul t
atunci probabilitatea ca numarul de erori ramase sa e q este
P[U(t) = q] = C
q
n
0
[a(t)]
q
[1 a(t)]
N
0
q
. (2.22)
Daca nsa ne intereseaza probabilitatea condit ionata P[U(t) = q|N(t) = m
e
] unde
t > t
e
si N(t
e
) = m
e
, atunci din (2.19) rezulta ca
P[U(t) = q|N(t) = m
e
] = C
q
N
0
m
e
[a(t|t
e
)]
q
[1 a(t|t
e
)]
N
0
m
e
q
,
a(t|t
e
) = e

t
e
(u)du
. (2.22

)
Datorita formei binomiale a probabilitat ii (2.22) rezulta ca numarul mediu de erori
ramase la momemtul t, (t) si dispersia acestuia sunt respectiv [25,35]
(t) = E[U(t)] = N
0
a(t), V ar[U(t)] = N
0
a(t)[1 a(t)]. (2.22

)
2.7 Alte generalizari ale modelului J-M
Ipotezele modelului J-M pot usor modicate pentru a produce noi modele. Vom
prezenta in cele ce urmeaza doua astfel de modele.
Model cu erori detectate aleator [25,35]. Desigur, toate erorile de
execut ie se detecteaza si se elimina mai mult sau mai put in aleator. Aici vom
presupune ca daca s-au detectat i 1 erori, acestea s-au eliminat cu probabilitatea
p, 0 < p < 1, adica numarul mediu de erori eliminate dupa detectarea celei de-a
(i 1)-a erori este p(i 1). In acest caz, rata de aparit ie a erorii (rata caderilor),
ment inand celelalte ipoteze ale modelului J-M, este
(i) = [N
0
p(i 1)] = p[
N
0
p
(i 1)]. (2.23)
Rezolvarea acestui model se va face exact ca cea a modelului J-M original daca se
fac n prealabil notat iile

= p, N

0
=
N
0
p
. (2.23

)
Cap. 2. Modele Markoviene pentru abilitatea programelor 67
Parametri (

, N

0
) se estimeaza deci din modelul J-M dedus prin transformarile
(2.23) adica se obt in estimat iile

,

N

0
. Dar n acest fel, parametrul p ramane
neestimat. El se poate estima e prin alta metoda, e aplicand direct metoda
verosimilitat ii maxime. Funct ia de verosimilitate este
L(t
1
, t
2
, ..., t
n
; N
0
, , p) =
n

i=1
_
(N
0
p(i 1))e
[N
0
p(i1))]t
i
_
(2.24)
care conduce la urmatorul sistem al ecuat iilor de verosimilitate
lnL

=
n

i=1
[N
0
p(i 1)]t
i
= 0
ln l
N
0
=
n

i=1
1
N
0
p(i 1)

n

i=1
t
i
= 0 (2.24

)
l
p
=
n

i=1
i 1
N
0
p(i 1)
+
n

i=1
(i 1)t
i
= 0.
Acest sistem neliniar n cele trei necunoscute N
0
, , p, se poate rezolva numeric
asemanator sistemului obt inut pentru modelul Schick-Wolverton.
Model bazat pe coecientul de expunere la aroare. In acest caz
parametrul este interpretat ca un coecient de expunere la eroare (FEC=Failure
Exposure Coecient) [25] care depinde de numarul de erori eliminate j. Deci n
expresia intensitat ii erorilor vom avea = k(j), iar repartit ia exponent iala a
timpilor dintre doua caderi consecutive va avea parametrul
(j) = k(j)(N
0
j). (2.25)
Se presupune ca FEC k(j) este o funct ie liniara in j de forma
k(j) = k
i
+
k
f
k
i
N
0
j, (2.25

)
unde k
i
si k
f
sunt respectiv FEC-init ial si FEC-nal, care sunt parametri necunoscut i
mpreuna cu N
0
. Notand a = k
f
k
i
, rezulta
(j) = k
i
N
0
+aj
a
N
0
j
2
,
unde parametri necunoscut i ce trebuie estimat i sunt N
0
, k
i
si a.
Funct ia de verosimilitate este n acest caz
L(t
1
, ..., t
n
; n
0
, k
i
, a) =
n

j=1
(k
i
N
0
+aj
a
N
0
j
2
).e

j
(k
i
N
0
+aja/(N
0
)j
2
)t
j
68 Cap.2. Modele markoviene pentru abilitatea programelor
si notand ca de obicei l = log L obt inem sistemul ecuat iilor de verosimilitate in
N
0
, k
i
, a
l
N
0
=

j
k
i
+
a
N
2
0
j
2
k
i
N
0
+aj
a
N
0
j
2

j
_
k
i
+
a
N
2
0
j
2
_
t
j
= 0
l
k
i
=

j
N
0
k
i
N
0
+aj
a
N
0
j
2
k
i

j
t
j
= 0 (2.26)
l
a
=

j
j
1
N
0
j
2
k
i
N
0
+aj
a
N
0
j
2
a

j
_
j
j
2
N
0
t
j
_
= 0.
Acest sistem neliniar n N
0
, k
i
, a se poate rezolva numeric n mod asemanator celor
de mai sus.
2.8 Alte Modele Markov
Modelul lui Kremer. Vom face unele presupuneri privind eliminarea eror-
ilor din program [1,2,25]. Notam (t)= rata caderii programului determinata de
aparit ia unei erori la momentul t si presupunem ca probabilitatea de a elimina
o eroare este p, probabilitatea de a nu elimina o eroare este q, iar probabilitatea
de a elimina incorect o eroare este r, p + q + r = 1. Atunci N(t) = numarul de
erori ramase la momentul t este un proces de nastere si deces cu intensitat ile de
natalitate
n
(t) = n(t),
n
(t) = n(t), (t) = r(t), (t) = p(t). Ne intereseaza
repartit ia procesului N(t) adica P(N(t) = n) = P
n
(t).
Cu aceste notat ii ecuat iile lui Kolmogorov se scriu
P

0
(t) = (t)P
1
(t) (2.27)
P

n
(t) = (n1)(t)P
n1
(t) n[(t) +(t)]P
n
(t) +(n+1)(t)P
n+1
(t), n = 1, ..., N
0
iar condit iile init iale naturale sunt
P
n
(0) =
_
1, daca n = N
0
0, daca n = N
0
.
Solut ia sistemului (2.27) este
P
0
(t) = [(t)]
N
0
P
n
(t) =
min(N
0
,n)

i=0
C
i
N
0
C
N
0
1
N
0
+ni+1
[(t)]
i
[(t)]
N
0
i
[1 (t) (t)]
i
, n 1, (2.27

)
Cap. 2. Modele Markoviene pentru abilitatea programelor 69
(t) = 1
1
e
(t)
, (t) = 1
e
(t)
e
(t)
+A(t)
,
(t) = (p r)

t
0
(u)du, A(t) = r

t
0
(u)e
(u)
du.
Acest model este general, dar aplicabilitatea lui depinde de posibilitatea de esti-
mare a parametrului N
0
si a parametrilor p si r precum si de forma funct iei (t)
care de asemenea trebuie cunoscuta sau estimata.
Modelul lui Kubat. Acest model se refera la abilitatea unui software mod-
ular. Se presupune ca produsul software este format din M module care trebuie
sa execute K task-uri. Un task poate apela mai multe module si un modul poate
apelat de mai multe task-uri. Se presupune ca tranzit iile dintre module sunt mod-
elate de un proces Markov. Cunoscand intensitatea caderii
i
a ecarui modul
i, 1 i M, probabilitat ile de tranzit ie si maniera de execut ie a modulelor si
task-urilor, se poate descrie un model Markov din care sa rezulte cateva carac-
teristici de abilitate. Din presupunerea ca procesul este Markovian rezulta ca
probabilitatea ca sa apara cel put in o cadere in timpul execut iei task-ului k cand
se apeleaza modulul i este
1 P
i
(k) =


0
e

i
t
g
ik
(t)dt, 1 i M, 1 k K, (2.28)
unde g
ik
(t) este densitatea de repartit ie a timpului de execut ie a modulului i de
catre task-ul k.
Daca N
i
(k) este numarul de apelari a modulului i de catre task-ul k, atunci
valoarea medie a acestuia este
a
i
(k) = E[N
i
(k)], 1 i M, 1 k K (2.29)
si ea poate obt inuta prin procedeul cunoscut pentru procesele Markov rezolvand
ecuat ia
a
i
(k) = q
i
(k) +
M

j=1
p
ij
(k)a
j
(k), i = 1, ..., M; k = 1, ..., K (2.29

)
unde q
i
(k) este probabilitatea ca task-ul k sa apeleze pentru prima data modulul
i, iar p
ij
(k) este probabilitatea ca task-ul k sa apeleze modulul j dupa ce a apelat
modulul i. Folosind marimile introduse anterior, rezulta ca probabilitatea (k) de
a avea cel put in o cadere cand se ruleaza task-ul k este
(k) = 1
M

i=1
[1 P
i
(k)]
a
i
(k)
, k = 1, ..., K. (2.30)
70 Cap.2. Modele markoviene pentru abilitatea programelor
Pentru sistemul software, intensitatea caderii este

s
=
K

k=1
r
k
(k), (2.31)
unde r
k
este rata sosirii (n execut ie) a task-ului k. Acum se poate scrie formula
pentru fabilitatea sistemului la momentul t cand el a avut ultima cadere la mo-
mentul t
e
, adica
R(t|t
e
) = e

s
(tt
e
)
. (2.31

)
Un model de disponibilitate. Acest model, datorat lui Trivedi si Shooman
[1,25,35], este un model care se refera la disponibilitate. Disponibilitatea unui
produs software este probabilitatea ca acel produs sa e n stare de funct ionare
la momentul t. Sistemul software este privit n acest caz ca un sistem reparabil;
el se gaseste n starea de funct ionare starea 1, sau n starea de ne funct ionare
starea 0, stare n care este reparat. Init ial (la momentul t = 0) se presupune
ca sistemul este n stare de funct ionare. Problema disponibilitat ii se pune cand
se abordeaza funct ionarea sistemului hard n combinat ie (sau concomitent) cu
funct ionarea software-ului si este interesant sa se cunoasca daca sistemul se aa n
stare de funct ionare la un moment crucial t, adica este disponibil la momentul
t. Modelul de care ne ocupam este de tip Markovian. Se presupune ca se da
rata caderilor (t) care reprezinta frecvent a cu care au loc trecerile din starea de
funct ionare n starea de cadere la momentul t si de asemenea se cunoaste funct ia
(t) (rata reparat iilor) care reprezinta frecvent a cu care au loc trecerile din starea
de cadere n starea de funct ionare la momentul t. Sa notam de asemenea p
i
(t)
probabilitatea ca sistemul sa se ae in a ia stare de funct ionare la momentul
t, i = n, n 1, ... si sa notam q
i
(t) probabilitatea ca sistemul sa se ae n a ia
stare de cadere la momentul t, i = m, m1, ... Aceste probabilitat i satisfac sistemul
de ecuat ii diferent iale ale lui Kolmogorov:
p

n
(t) = (t)p
n
(t),
p

ni
(t) = (t)p
ni
(t) +(t)q
mi+1
(t), i = 0, 1, ...; (2.32)
q

mi
(t) = (t)q
mi
(t) +(t)p
ni
(t), i = 0.1, ...
Condit iile init iale naturale sunt
p
n
(0) = 1, p
k
(0) = 0, cand k = n.
Solut iile sistemului (2.32) (cand (t) = t, (t) = t) sunt
p
ni
(t) =
_


_
e

j=0
t
ij
[(1)
i+1
c
ij
e
()t
+ (1)
j
d
ij
]
( )(i j)!
, (2.33)
Cap. 2. Modele Markoviene pentru abilitatea programelor 71
unde
c
ij
=
_
_
_
0, daca j = 0
1, daca j = 1,
C
j1
i+j1
altfel
(2.33

)
d
ij
=
_
1 daca j = 0
C
j1
i+j1
altfel
iar, n mod asemanator
q
mi
=
1

_


_
i+1
e
t
i

j=0
c
ij+1
t
ij
[(1)
i+1
e
()t
+ (1)
j
]
( )(i j)!
. (2.34)
Disponibilitatea la momentul t este deci
A(t) =

k=0
p
nk
(t).
Solut iile de mai sus au fost determinate cand (t) = t, (t) = t, adica sunt
funct ii liniare, adica ntr-un caz simplu. Un alt caz interesant se poate obt ine
cand
(t) = e
a+br
t
, (t) = 1/(1 +e
a+br
t
) (2.35)
unde a, b, r sunt parametri necunoscut i.
2.9 Modele cu date cenzurate
Exista mai multe moduri de a deni date cenzurate [8, 17] (Vezi Cap 1). Vom
unele detalii reluind si unele idei din Cap.1. Datele temporale cenzurate de tipul
I (durate in funct ionare) se caracterizeaza prin faptul ca ele sunt obt inute e la
cadere, e dupa ce sistemul a funct ionat pana la un anumit timp de cenzura T.
Deci o oprire a programului necauzata de o eroare ntr-un experiment nedenit
ca durata poate privita ca un eveniment cenzurat. Datele cenzurate de tipul
II sunt acelea care specica intervalele de timp (a
j
, a
j+1
], 0 = a
0
< a
1
< a
2
<
... < a
k
n care au loc erorile si frecvent ele s
j
, 1 j k ale acestor erori pe
intervalul (a
j
, a
j+1
],

k
j=1
s
i
= n= numarul de erori observate pe intervalul (0, a
n
].
Intervalele de cenzura pot avea limitele a
j
, 1 j k constante sau aleatoare,
de repartit ie cunoscuta. Presupunem ca momentele la care se observa opririle
programului sunt [2,8,17] T
i
si duratele dintre opriri (pe axa timpului calendaristic)
sunt t
i
= T
i
T
i1
, T
0
0, 1 i n. Datele cenzurate de tipul I sunt y
i
= t
i
T =
min{t
i
, T}, 1 i n, iar datele cenzurate de tipul II ( cand intervalele de cenzura
sunt (a
j
, a
j+1
]), sunt s
j
, 1 j n.
72 Cap.2. Modele markoviene pentru abilitatea programelor
Vom folosi urmatoarele notat ii n plus fat a de cele precedente: intervalul de
timp [0, T] pe care se nregistreaza opririle este divizat n intervale
i
= (a
i1
, a
i
].
Aceste intervale sunt de forma (a
i
, a

i
]

(a

i
, a
i+1
), a

i
< a

i
intervalul (a

i
, a

i
] ind
interval de timp de lenevire cand programul sta neactivat. Deci momentele de
oprire a
i
ale programului pot momente de oprire cu cadere sau momente de oprire
fara cadere. Fie b
i
= (a
i
) valoarea funct iei indicator a momentului de timp a
i
si M
k
=

k
j=1
b
j
numarul opririlor cu cadere pana la momentul a
k
. Datele sunt
cenzurate (cenzura de tipul II cu date grupate, cu limitele intervalelor de grupare
nealeatoare) n sensul ca noi nu putem nregistra exact caderile, ci putem preciza
numai intervalele de timp
i
n care au loc caderile. (Pe un interval
i
= (a
i
, a
i1
]
pot sa nu aiba loc caderi!. Cand opririle ce au loc nu sunt cauzate de erori spunem
ca suntem n cazul demonstrat iilor de software). Datele noastre sunt deci (t
i
, b
i
),
si sunt presupuse a variabile aleatoare independente stochastic.
Modelul J-M cenzurat [17]. In ipotezele modelului J-M avem rata
caderilor si funct ia abilitate date respectiv de formulele
h(t) = h
i
= (N
0
M
i1
), t
i
, R
i
(t) = e
h
i
t
. (2.36)
Daca oprirea i la intervalul de interoprire t
i
este o cadere, atunci
P(b
i
= 1, x
i
t
i
x
i
+dx
i
) = f
i
(x
i
) (2.36

)
iar daca aceasta nu este o cadere, atunci
P(b
i
= 0, t
i
> x
i
) = R(x
i
). (2.36

)
De aici rezulta ca funct ia de verosimilitate este
L[(b
1
, t
1
), ..., (b
n
, t
n
)] =

i
[f(t
i
)]
b
i
[R
i
(t
i
)]
1b
i
. (2.37)
Din (2.37) rezulta ca daca opririle non-caderi sunt mai multe decat opririle caderi
(ceeace este de presupus n practica), atunci funct ia de verosimilitate este dominata
de datele cenzurate, deci modelul cu date cenzurate este legitim de considerat.
Daca t inem seama de (2.36) si de faptul ca f
i
(x) n cazul modelului J-M, este
densitatea exponent iala de parametru (N
0
M
i1
), atunci logaritmul funct iei de
verosimilitate este
l =

i
[b
i
log(N
0
M
i1
) +b
i
log() b
i
(N
0
M
i1
)t
i
(1 b
i
)(N
0
M
i1
)t
i
]. (2.38)
Cap. 2. Modele Markoviene pentru abilitatea programelor 73
Ecuat iile de verosimilitate sunt
l
N
0
=

i
_
b
i
N
0
M
i1
t
i
_
= 0
l

i
_
b
i
N
0
M
i1
t
i
_
N
0
M
i1

= 0
care se pot pune sub forma

i
b
i
N
0
M
i1
= T
n
d

= N
0
T
n

i
t
i
M
i1
, d =

i
b
i
(2.38

)
unde d este numarul datelor necenzurate iar T
n
este momentul ultimei opriri a
programului. Eliminand pe din ecuat iile (2.38) se obt ine o ecuat ie n N
0
care
se poate rezolva prin metode numerice iterative.
In cazul demonstrat iilor de software (cand opririle sunt fara caderi) avem
h(t) = h
i
= N
0
= h = const.
si deci funct ia abilitate este
L[(t
1
, b
1
), ..., (t
n
, b
n
)] =

i
[he
ht
i
]
b
i
.[e
ht
i
]
1b
i
iar parametrul necunoscut este h. Ecuat ia de verosimilitate pentru h este
logL
h
=

i
[b
i
/h t
i
] = 0
de unde rezulta estimat ia

h =

i
b
i

i
t
i
=
d
T
n
. (2.39)
Ultima formula ramane adevarata daca notam K
i
= numarul de caderi pe intervalul

i
(limitele a
i
sunt extremitat ile intervalelor de cenzura) si consideram K
i
, 1
i k variabile aleatoare Poisson(ht
i
), independente. Intr-adevar, funct ia de
verosimilitate este n acest caz
L[(k
1
, t
1
), ..., (k
n
, t
n
)] =
k

i=1
(h.t
i
)
k
i
k
i
!
e
ht
i
74 Cap.2. Modele markoviene pentru abilitatea programelor
unde n este numarul total al caderilor. Ecuat ia de verosimilitate pentru h ne
conduce la estimat ia

h =

i
k
i
T
n
=
n
T
n
.
(In ultima formula avem de fapt T
n
= a
k
). Se observa ca n cazul demonstrat iilor
de software, modelul J-M cu date cenzurate nu se reduce la cel clasic (fara date
cenzurate), acest fapt neind convenabil pentru aplicat iile practice. De aceea vom
presupune n loc de (2.36) ca
h(t) = +M
i1
, t
i
, i = 1, 2, ... (2.40)
iar dupa construirea funct iei de verosimilitate se deduc urmatoarele ecuat ii (din
condit ia de maxim a log-verosimilitat ii) pentru parametrii ,

i
_
b
i
+M
i1
t
i
_
= 0

i
_
b
i
+M
i1
t
i
_
M
i1
= 0. (2.41)
Solut iile ,

ale acestui sistem se obt in cu usurint a prin metode numerice.
Modelul Schick-Wolverton cenzurat [17]. Presupunem ca funct ia rata
caderilor este de forma
h(t) = [N
0
M
i1
](t t
i1
), t
i
(2.42)
adica repartit ia caderilor este de tip Weibull, deci funct ia abilitate este
R
i
(t) = P[t
i
> t|t
1
, ..., t
n
] = e
(N
0
M
i1
)
1
2
x
2
.
De aici rezulta funct ia de verosimilitate
L(t
1
, t
2
, ..., t
n
; , N
0
) =
n

i=1
[(N
0
M
i1
)t
i
]
b
i
.e

i=1
(1b
i
)(N
0
M
i1
)
t
2
i
2
(2.43)
iar ecuat iile de verosimilitate ale parametrilor N
0
si sunt
n

i=1
_
b
i
N
0
M
i1

1
2
t
2
i
_
= 0
n

i=1
_
b
i
N
0
M
i1

1
2
t
2
i
_
N
0
M
i1

= 0. (2.44)
Cap. 2. Modele Markoviene pentru abilitatea programelor 75
Ca si n modelul J-M, si aici, modelul cu date cenzurate pentru demonstrat ii de
software nu se reduce la cel clasic ( de tip Schick-Wolwreton). De aceea vom
modica ipoteza (2.42) astfel
h(t) = + ( +M
i1
)(t t
i1
), t
i
. (2.45)
Procedand can cazul celorlalte doua modele precedente se obt ine pentru parametri
, , sistemul de ecuat ii

i
_
b
i
+ ( +M
i1
)t
i
t
i
_
= 0

i
_
b
i
+ ( +M
i1
)t
i

1
2
t
i
_
t
i
= 0 (2.46)

i
_
b
i
+ ( +M
i1
)t
i

1
2
t
i
_
t
i
M
i1
= 0
care se rezolva de asemenea prin metode numerice.
Modelul J-M cenzurat de tip geometric [17]. In acest model (nestudiat
anterior in cazul necenzurat) se presupune ca
h(t) = D
M
i
, t
i
, (2.47)
unde D, sunt parametri necunoscut i. T inand seama de faptul ca funct ia abili-
tate este
R
i
(t) = P(t
i
> t|t
1
, ..., t
n
) = e
D
M
i t
,
se construieste funct ia de verosimilitate conform formulei (2.37) care n nal con-
duce la urmatoarele ecuat ii de vrosimilitate pentru parametrii D,

i
_
b
i
D

M
i
t
i
_
= 0

i
_
b
i
D

M
i
t
i
_
M
i
= 0. (2.48)
Rezolvarea sistemului neliniar (2.48), in necunoscutele D, , se face de asemenea
prin metode numerice, iterative. Se observa ca in cazul

h() = 1 avem h =
constant, adica suntem n cazul demonstrat iei de software.
Modelul cenzurat al lui Littlewood-Verall [17]. Presupunem ca funct ia
rata caderilor este de forma
h(t) =

(t
i
t
i1
) + (i)
, t
i
, (i) = +M
i
(2.49)
76 Cap.2. Modele markoviene pentru abilitatea programelor
unde
i
sunt intervalele de grupare. Atunci funct ia abilitate cu care se construieste
funct ia de verosimilitate este
R
i
(t) = P{t
i
> t|t
1
, ..., t
n
} =
_
1 +
t
(i)
_

. (2.50)
T inand seama de (2.37) si logaritmand funct ia de verosimilitate se obt in ecuat iile
de verosimilitate

i
_
b
i

+ log(

) +M
i
) log(t
i
+

+ M
i
)
_
= 0

i
_

+ M
i

b
i
+
t
i
+

+ M
i
_
= 0

i
_

= m
i

b
i
+
t
i
+

+ M
i
_
M
i
= 0.
Se observa ca ca solut ia modelului in acest caz revine la h(t) = 0. De aceea putem
lua h(t) de forma
h(t) =
0
+

t t
i1
+ +M
i
, t
i
dar si in acest caz intervine un inconvenient deoarece avem de estimat patru
parametri. O alegere mai buna a funct iei h(t) este
h(t) = +
M
i
(t t
i1
) +
, t
i
.
Ecuat iile de verosimilitate ale modelului cenzurat sunt n acest caz

i
_
b
i
(t
i
+ )
(t
i
+ ) +

M
i
b
i
t
i
_
= 0

i
_
b
i
(t
i
+ )M
i
(t
i
+ ) +

M
i
log
_
1 +
t
i
|

_
_
M
i
= 0

i
_
b
i
(t
i
+ ) +

M
i

1

+
1
t
i
+
_

M
i
= 0.
O solut ie triviala a acestui model este
=
M
i
n

i
b
i
t
i
,

= 0, = oarecare
Cap. 2. Modele Markoviene pentru abilitatea programelor 77
iar valoarea maxima a funct iei de verosimilitate este

L =
M
n
exp (

i
t
i
).
Se poate intampla ca sistemul precedent sa admita si alt punct de extrem. Soluct ia
cea mai buna este aceea care conduce la o valoare mai mare a funct iei de verosimil-
itate.
Exercit ii de control
1. In modelul J-M se presupune ca durata a ia de funct ionare t
i
are repartit ia
Lomax de parametri (a,
i
), 1 i n cu
i
= (N
0
i + 1). Sa se determine
estimat iile parametrilor a, , N
0
pe baza select iei necenzurate t
1
, t
2
, ..., t
n
.
Indicat ie. Se foloseste metoda verosimilitat ii maxime pentru densitatea de
repartit ie Lomax.
2. Numarul N(t) de erori ramase in soft la momentul t, in ipotezele modelului
J-M este dat in sect iunea 2.2 de formulele (2.7) si (2.8). Sa se desscrie un algoritm
si sa se scrie un program care sa calculeze E[N(t

)] pentru un t

dat.
Indicat ie. Se vor avea in vedere relat iile de recurent a din formulele (2.8) care
calculeaza valorile A
(i)
j
.
3. Duratele in funct ionare necenzurate t
i
1 i n au repartit ii Lomax de
parametri (a,
i
) unde
i
= [e
(N
0
i+1)
1]. Sa se estimeze cu ajutorul metodei
verosimilitat ii maxime parametrii a, , , N
0
.
Indicat ie. Funct ia de verosimilitate este
L = a
n
n

i=1

i
(1 +
i
t
i
)
a+1
.
Se inlocuieste in formula lui L expresia lui
i
din enunt ul problemei, se logarit-
meaza, se anuleaza derivatele part iale ale lui L in raport cu a, , , N
0
obt inandu-
se un sistem de 4 ecuat ii (avand ca necunoscute parametri cautat i) si se rezolva
numeric acest sistem.
4. In modelul J-M se inlocuieste ipoteza privind repartit ia exponent iala, cu
ipoteza ca duratele t
i
, 1 i n sunt Lomax de parametri (a,
i
), cu
i
= (N
0

i + 1). Select ia consta din date cenzurate de tipul II cu intervale nealeatoare, dar
cu momentele de observare t
i
caracterizate de variabilele b
i
unde
b
i
=
_
1, daca la momentul t
i
programul este cazut
0, altfel.
(Este deci vorba de tipul de cenzura descris la pag. 72-73). Sa se estimeze cu
metoda verosimilitat ii maxime parametri a, , N
0
.
78 Cap.2. Modele markoviene pentru abilitatea programelor
Indicat ie. Cu ajutorul datelor de select ie (t
i
, b
i
), 1 i n se construieste
funct ia de verosimilitate L de forma celei din (2.37), adica
L = a
d
n

i=1
_

i
(1 +
i
t
i
)
a+1
_
b
i
1
(1 +
i
t
i
)
a(1b
i
)
, d =
n

i=1
b
i
.
Se inlocuieste apoi expresia lui
i
in formula lui L si se deduce sistemul ecuat iilor
de verosimilitate urmand calea obisnuita. Se rezolva sistemul folosind o metoda
numerica si se obt in in nal valorile parametrilor a, , n
0
.
5. In modelul necenzurat J-M se considera ca t
i
, 1 i n au repartit ii de
tipul Lomax de parametri a
i
, cu a
i
= (N
0
i + 1). Sa se estimeze parametri
, N
0
, .
Indicat ie. Se foloseste metoda verosimilitat ii maxime. Funct ia de verosimili-
tate este
L(t
1
, t
2
, ..., t
n
) =
n
n

i=1
a
i
(1 +t
i
)
a
i
+1
.
Se aplica procedeul obisnuit de maximizare a funct iei L. Logaritmul funct iei L
(dupa ce se introduce expresia lui a
i
) este
l = log L = nlog +
n

i=1
[log (N
0
i + 1) [(N
0
i + 1) + 1] log (1 +t
i
).
Din condit iile de optimizare pentru l se obt ine in nal un sisten de ecuat ii in
, N
0
, care se rezolva cu o metoda numerica.
6. In modelul Jelinski-Moranda se modica ipoteza privind intensitatea caderilor
astfel: (n, t) = be
bt
(N
0
n), b > 0, 1 n N
0
. Dandu-se select ia necen-
zurata t
1
, t
2
, ..., t
n
unde t
i
sunt duratele dintre caderi consecutive, sa se estimeze
parametrii b, N
0
.
Indicat ie. Suntem in cazul modelului din $2.6. Conform formulei (2.19) avem
P
n
(t) = C
n
n
0
[a(t)]
N
0
n
[1 a(t)]
n
, a(t) = e

0
(t)
, 1 i N
0
(adica modelul este de tip binomial) unde (t) = be
bt
. Deci avem
P
0
(t) = F(t) = e
N
0
(1e
bt
)
(2.51)
de unde se deduce densitatea de repartit ie a timpului de funct ionare dintre doua
caderi si anume
f(t) = (F(t))

= N
0
be
N
0
(1e
bt
)bt
. (2.52)
Cap.3. Modele bazate pe procese Poisson neomogene 81
In continuare se construieste funct ia de verosimilitate L pentru f(t) si pentru
select ia t
1
, t
2
, ..., t
n
si se aplica metoda verosimilitat ii maxime ca in cazul modelului
J-M.
7. Sa se rezolve modelul de la exercit iul 6 in cazul select iei cenzurate de tipul
I (timpul de cenzura este T).
Indicat ie. Funct ia de verosimilitate este de forma (2.37) adica
L =
n

i=1
[f(t
i
)]
b
i
[F(t
i
)]
1b
i
unde f si F sunt date respectiv de (2.51),(2.52), iar
b
i
=
_
1 daca t
i
< T
0 daca t
i
T, (t
i
se ia t
i
= T).
In continuare se aplica metoda verosimilitat ii maxime si se estimeaza parametrii
b, N
0
.
3 Modele bazate pe procese Poisson neomo-
gene
Aceste modele se construiesc n ipoteza ca numarul de caderi N(t) observate pe
intervalul [0, t) (adica numarul de erori detectate si eliminate pe acest interval de
timp), este un proces Poisson neomogen PPNO de medie m(t) = E[N(t)] > 0.
Deci
P[N(t) = k] =
[m(t)]
k
k!
e
m(t)
. k = 0, 1, 2, ...
Din denit ia lui N(t)rezulta ca N
0
= m(). Daca notam N(t) = N() N(t),
numarul de erori ramase la momentul t, atunci
E[N(t)] = m() m(t)
P[N(t) = k] =
[m() m(t)]
k
k!
e
[m()m(t)]
, k = 1, 2, ... (3.1)
T inand cont de precizarile din Cap.I rezulta ca abilitatea la momentul t
0
+ t
condit ionata de faptul ca programul nu a cazut pe intervalul t
0
, t
0
+t este
R(t|t
0
) = e
[m(t
0
+t)m(t
0
)]
(3.2)
82 Cap.3. Modele bazate pe procese Poisson neomogene
O carazcteristica importanta a abilitat ii unui program este timpul mediu cumulat
dintre caderi la momentul t, t (0, ), CMTBF(t) (Cummulative Mean Time
Between Failures) care va notat (t). Relat ia ntre m(t) si (t) este
(t) =
1
m(t)
(3.2

)
iar daca notam cu T
1
, T
2
, ..., T
n
, T
i
< T
i+1
, 1 i n 1 momentele de timp
observate ale caderilor, atunci estimat ia lui (t) este

(t) =
T
n
n
, T
n
t < T
n+1
. (3.2

)
Daca nsa m(t) se estimeaza pe alta cale (asa cum se va vedea mai jos) atunci
pentru estimarea lui (t) se poate folosi formula (3.2).
Modelele bazate pe PPNO presupun ca datele de select ie sunt cenzurate pe
intervale, adica valorile de observat ie sunt n
1
, n
2
, ..., n
k
unde n
i
= numarul de
caderi detectate pe intervalul [s
i1
, s
i
), s
0
= 0, i = 1, 2, ..., k, unde n
1
+n
2
+...+n
k
=
n. (Intervalele de cenzura sunt determinate de punctele date 0 = s
0
< s
1
< ... <
s
k
). De aici rezulta ca funct ia de verosimilitate este
L(n|n
1
, n
2
, ...n
k
) =
k

i=1
[m(s
i
) m(s
i1
)]
n
i
n
i
!
]e
[m(s
i
)m(s
i1
)]
. (3.3)
In general, funct ia de abilitate depinde de parametri necunoscut i (asa cum vom
vedea mai jos), care se estimeaza din condit ia L = max (adica se estimeaza cu
metoda verosimilitat ii maxime).
Sa amintim cateva proprietat i ale PPNO:
(1).Suma unor procese Poisson N
i
(t), 1 i r de parametri m
i
(t) este tot un
PPNO notat N(t), de parametru m(t) =

r
i=1
m
i
(t);
(2). Orice PPNO N(t) se poate transforma intr-un alt PPNO N

(t) = N(a(t))
(adica prin transformarea t a(t)), avand media m

(t) = m(a(t)).
In particular, daca m(t) este inversabila, atunci transformarea a(t) = m
1
(t)
conduce la procesul Poisson N

(t) = N(m
1
(t)) care este un proces Poisson
omogen PPO avand media m(t) = t (adica un proces PPO cu intensitatea con-
stanta egala cu 1).
Sa amintim ca intensitatea PPNO este
(t) =
dm(t)
dt
, m(s) =

s
0
(t)dt (3.4)
care se mai numeste si rata periculozitat ii, denumire ce provine din demograe.
Cap.3. Modele bazate pe procese Poisson neomogene 83
In cele ce urmeaza vom prezenta cateva modele partriculare bazate pe PPNO,
adica modele ce corespund unor forme particulare ale funct iei m(t).
Funct ia m(t) a ecarui model depinde de niste paramatri
1
, ...,
k
ce se es-
timeaza cu metoda verosimilitat ii maxime sau cu metoda celor mai mici patrate
asa cum se va vedea mai ncolo.
3.1 Modelul lui Goel-Okumoto (GO)
Ipotezele acestui model sunt urmatoarele [2, 30, 35]:
-Toate erorile sunt independente si au aceeasi sansa de aparit ie;
-Toate erorile detectate sunt eliminate instantaneu si nu se mai introduc alte
erori;
- Numarul N(t) de erori detectate pana la momentul t este un PPNO avand
media
m(t) = a(1 e
bt
), a > 0, b > 0 (3.5)
iar N(0)=numarul init ial de erori este o variabila aleatoare Poisson.
Din ipotezele de mai sus rezulta
(t) = abe
bt
, m() = a = N
0
, m(0) = 0
iar numarul mediu de erori ramase la momentul t este 0
E[N(t)] = m() m(t) = ae
bt
. (3.6)
Daca ultima cadere a programului a avut loc la momentul s, atunci funct ia de
abilitate condit ionata este
R(t|s) = e
a(e
bs
e
b(s+t)
)
. (3.6

)
Sa vedem mai ntai cum se justica formula (3.5) a mediei m(t) n cazul mod-
elului Goel-Okumoto. Acest fapt rezulta din ipoteza ca numarul de erori ce se
detecteaza n intervalul [t, t + t) este proport ional cu numarul de erori ramase,
adica
m(t + t) m(t) = b[a m(t)].t (3.7)
unde b este o constanta de proport ionalitate iar a este numarul mediu de erori
init iale. Din (3.7) rezulta ecuat ia diferent iala
m

(t) = b[a m(t)] (3.7

)
a carei solut ie este (3.5) adica chiar media PPNO n cazul modelului GO.
84 Cap.3. Modele bazate pe procese Poisson neomogene
Sa vedem acum cum se estimeaza parametrii a, b ai modelului GO. Funct ia de
verosimilitate (3.3) este n acest caz
L(n
1
, n
2
, ..., n
k
) =
k

i=1
[
[a(e
bs
i1
e
bs
i
)]
n
i
.e
a[e
bs
i1
e
bs
i ]
n
i
!
. (3.7)
Se observa ca
l = lnL =
k

i=1
n
i
ln[e
bs
i1
e
bs
i
]
k

i=1
a[e
bs
i1
e
bs
i
]
k

i=1
ln(n!) +
k

i=1
n
i
lna.
(3.7

)
Din condit iile de minim pentru funct ia de verosimilitate rezulta sistemul
l
a
=
k

i=1
n
i
a

k

i=1
(e
bs
i1
e
bs
i
) = 0
l
b
=
k

i=1
n
i
(s
i
e
bs
i1
s
i1
e
bs
i
)
e
bs
i1
e
bs
i
as
k
e
bs
k
= 0.
Prima ecuat ie a sistemului se mai scrie
a =
n
1 e
bs
k
, n =

i
n
i
(3.8)
si eliminand pe a din cea de a doua ecuat ie obt inem

i
n
i
(s
i
e
bs
i1
s
i1
e
bs
i
)
e
bs
i1
e
bs
i

ns
k
1 e
bs
k
e
bs
k
= 0. (3.8

)
Ecuat ia (3.8) se rezolva numeric n b obt inandu-se estimat ia

b, iar din (3.8) se
obt ine estimat ia a a lui a.
Forma (3.5) a modelului GO se poate generaliza si anume, considerand
m(t) = a[1 e
bt
c
] (3.9)
unde a reprezinta numarul mediu de erori existente n program la momentul init ial,
b este un parametru de scala, iar c este un parametru ce caracterizeaza calitatea
testului [25] cu care se detecteaza erorile. Intensitatea caderilor este n acest caz
(t) =
dm(t)
dt
= abct
c1
e
bt
c
. (3.9

)
Cap.3. Modele bazate pe procese Poisson neomogene 85
3.2 Modele bazate pe PPNO n forma de S [25,35].
In modelul GO funct ia m(t) este crescatoare pe (0, ) si convexa. Aceasta se
ntampla datorita ipotezelor ce stau la baza modelului GO, printre care ipoteza
ca erorile din soft ar independente si de aceeasi marime. Dar de fapt erorile
nu sunt nici independente si nici de aceeasi marime sau important a. La nceputul
testarii unui soft unele erori sunt acoperite de alte erori ce nu sunt inca detec-
tate.Erorile acoperite nu pot detectate pana nu se nlatura erorile care le acopera.
Deci defectele softului nlaturate la inceput, nu descresc foarte mult intensitatea
caderilor deoarece aceleasi date de test nca pot conduce la caderi cauzate de eror-
ile acoperite.Aceasta conduce la o crestere a ratei caderilor la nceputul testarii. In
schimb mai tarziu erorile mari cauzatoare de caderi sunt deja nlaturate si erorile
mai mici pot cauza atunci erori, fapt ce determina o crestere mai lenta a ratei
caderilor. Aceste considerente conduc la ipoteza realista ca funct ia m(t) trebuie
sa aiba un grac n forma de S, adica la inceput (pentru t mic) funct ia creste mai
rapid avand forma convexa, iar mai apoi creste mai lent avand forma concava.
Alta explicat ie a modelelor in forma de S este aceea ca testarea presupune
un proces de nvat are prin care oamenii care testeaza programe se familiarizeaza
mai ntai cu acestea si cu tehnica testarii, apoi devin ecient i si pentru un timp
detecteaza mai repede erorile, iar dupa ce erorile mai importante si cele ascunse
sunt nlaturate, erorile ramase se detecteaza din ce n ce mai rar. Din aceste cauze
numarul mediu de erori m(t) are un grac n forma de S.
Un model tipic bazat pe PPNO, n forma de S este cel care are media
de forma [35]
m(t) = a[1 (1 +bt)e
bt
], a > 0, b > 0 (3.10)
iar intensitatea caderilor (rata periculozitat ii) este
(t) =
dm(t)
dt
= ab
2
te
bt
(3.10

)
unde a este numarul init ial de erori ce trebuie detectate iar b este rata de detectare
a erorilor.
De aici rezulta numarul mediu de erori ramase n soft la momentul t si anume
m(t) = m() m(t) = a a[1 (1 +bt)e
bt
] = a(1 +bt)e
bt
. (3.10)
Parametrii a si b se estimeaza cu ajutorul metodei verosimilitat ii maxime, conform
procedeului obisnuit.
Modelul lui Shagen [1, 35]. Un alt model n forma de S, datorat lui
Schagen, este cel care presupune ca media PPNO este
m(t) = [1 e

1
t


2
(e

1
t
e

2
t
)

2

1
] (3.11)
86 Cap.3. Modele bazate pe procese Poisson neomogene
unde ,
1
,
2
sunt parametri ce trebuie estimat i. Ei se pot estima cu ajutorul
metodei verosimilitat ii maxime. Se observa ca daca
1
=
2
(notat cu b) si a =
se obt ine modelul n forma de S anterior.
Model cu factor de incovoiere [35]. Insfarsit, un alt model n forma de
S considera funct ia
m(t) =
a(1 e
bt
)
1 +ce
bt
(3.12)
unde a este numarul de erori ce trebuie detectate, b este rata de detectare a erorilor,
iar c este factorul de ncovoiere.
Din (3.12) rezulta dupa calcule ca intensitatea caderilor este
(t) =
dm(t)
dt
=
ab(1 +c)e
bt
(1 +ce
bt
)
2
(3.12

)
iar numarul de erori ramase este
m(t) = m() m(t) =
a(1 +c)e
bt
1 +ce
bt
. (3.12)
Pentru estimarea parametrilor ecaruia din cele trei modele anterioare se poate
aplica metoda verosimilitat ii maxime pornind de la expresia generala (3.3) n care
se inlocuiesc formlele particulare ale lui m(t) corespunzand celor trei modele, pre-
supunandca datele de selectie sunt cenzurate pe intervale.
3.3 Modelul lui Musa referitor la timpul operat ional
Musa [25] a avut pentru prima data ideea utilizarii timpului operat ional ca
masura a timpului de viat a al unui program. Fie timpul cumulat de execut ie
(timpul operat ional) al unui program si N
0
numarul init ial de erori din soft. Fie
() numarul de erori corectate pana la momentul de timp operat ional . Musa
presupune ca funct ia rata ca derilor () la momentul de timp operat ional este
proport ionala cu numarul de erori ramase n soft adica este de forma
() = fK(N
0
()) (3.13)
unde f si K sunt parametri legat i de faza de testare a programului si anume: f este
frecvent a liniara de execut ie, n sensul ca f reprezinta rata medie de instruct iuni
executate mpart ita la numarul total de instruct iuni ale programului, iar K este
rata de expunere la eroare care leaga frecvent a cu care apar erorile n raport cu
frecvent a liniara de execut ie.
Presupunand ca rata cu care se corecteaza erorile este proport ionala cu rata
de aparit ie a caderilor (t) avem
d()
d
= BC() (3.14)
Cap.3. Modele bazate pe procese Poisson neomogene 87
unde B este interpretat ca factor de reducere a erorilor iar C este factor de compre-
sie a testarii. Este normal sa se introduca coecient i separat i care sa caracterizeze
reducerea erorilor si procesul de testare care si propune sa detecteze erorile.
Combinand (3.13) cu (3.14) rezulta
d()
d
= BCfK(N
0
()). (3.15)
Folosind pentru aceasta ecuat ie diferent iala condit ia init iala naturala (0) = 0,
solut ia cesteia devine
() = N
0
(1 e
BCfK
) (3.15

)
si ea reprezinta funct ia lui Musa pentru modelul bazat pe timpul de execut ie.
Ea este media unui proces Poisson neomegen. Deci modelul lui Musa este un
model de abilitate bazat pe un proces Poisson neomogen care poate tratat ca
si modelul GO, dar care necesita estimarea a cinci parametri a caror semnicat ie
a fost evident iata mai sus.
Daca n loc de numarul de erori detectate si corectate () se modeleaza proce-
sul caderilor utilizand numarul cumulat de caderi detectate () pe durata timpului
de execut ie , se obt ine un rezultat asemanator, anume
(t) = M
0
(1 e
BCfK
), M
0
=
N
0
B
, (3.15)
unde B este factorul de reducere a erorilor. (Aici se vede necesitatea utilizarii
lui B n procesul de modelare). Modelul este de asemenea un model bazat pe
PPNO de medie () ce foloseste timpul de execut ie . Estimarea parametrilor
se face asemanator modelului GO.Originalitatea modelului consta in introducerea
unor coecient i care au interpretari zice legate de particularitat ile procesului de
testare si de modul de manifestare a erorilor.
Modelul logaritmic Poisson [35]. Acesta este un model bazat pe un
PPNO si pe timp de execut ie. Aici ipoteza principala consta in aceea ca inten-
sitatea (rata) caderilor () descreste excponent ial in raport cu numarul de erori
corectate (, ) adica
() =
0
e
()
(3.16)
unde
0
este rata caderilor init iala iar este parametrul de descrestere al inten-
sitat ii de reinoire. Folosind si relat ia dintre numarul mediu de erori corectate si
intensitatea caderilor, adica
d()
d
= ()
88 Cap.3. Modele bazate pe procese Poisson neomogene
obt inem ecuat ia diferent iala
d()
ds
=
0
e
()
. (3.16

)
Ecuat ia (3.16) se mai scrie
d()
d
e
()
=
0
sau
d
d
_
1

e
()
_
=
0
.
Prin integrarea ultimei ecuat ii se obt ine
1

e
()
=
0
+c, c = const
sau
() =
1

log(
0
+c).
Folosind acum condit ia init iala naturala (0) = 0 se obt ine c =
1

, adica ecuat ia
(3.16) are solut ia
() =
1

log(
0
+ 1). (3.17)
Din (3.16) se deduce ca intensitatea caderilor este
() =
0
e
()
=

0

0
+ 1
, (3.17

)
iar funct ia condit ionata de abilitate este
R(|
0
) = e
(
0
+)+(
0
)
=

0

0
+ 1

0
(
0
+) + 1
. (3.17

)
Modelul logaritmic Poisson este astfel rezolvat. Estimat ia parametrilor
0
, se
face cu ajutorul metodei verosimilitat ii maxine ca n cazul oricarui model bazat
pe un PPNO.
Pentru toate modelele bazate pe PPNO, cu ajutorul estimat iilor m(t) se pot
determina celelalte caracteristici de abilitate mai importante ca de exemplu (t)
(estimat cu

(t) = 1/ m(t) si R(t|t
0
), t
0
< t, utilizand formula (3.2).
Observat ii. Referitor la modelele bazate pe timp operat ional se pot observa
urmatoarele:
(1). Datele asupra timpului de execut ie sunt mai concludente pentru studciul
abilitat ii programelor decat cele privind timpul calendaristic;
Cap.3. Modele bazate pe procese Poisson neomogene 89
(2). Aceste date sunt importante pentru studiedrea efortului de testare a pro-
gramelor, deci sunt preferate de managerii companiilor producatoare de soft.
(3). Aceste daate se obnt in nsa cu destula dicultate. De aceea Musa [25]
a publicat date istorice ce pot folosite la testarea modelelor bazate pe timp
operat ional.
3.4 Alte modele bazaate pe PPNO
Vom prezenta si alte modele bazate pe PPNO, carora le corespund diverse
forme ale funct iei m(t).
Modelul Douane [1, 35] sau modelul Weibull care presupune ca
m(t) =
_
t

, > 0, > 0 (3.18)


adica rata de aparit ie a erorilor este
(t) =
dm(t)
d
=

_
t

_
1
. (3.18

)
Se observa ca daca (t) este rata caderilor pentru repartit ia Weibull si daca loga-
ritmam m(t) avem
log m(t) = log
t

= log t log = a +b log t


a = log , b =
adica o funct ie liniara. Daca consideram datele de observat ie m
i
= i, t
i
= T
i
,
(adica observat iile naturale!, necenzurate), atunci parametri a si b se pot estima
cu metoda celor mai mici patrate din modelul liniar
log m
i
= a +b log t
i
+e
i
, (e
i
= eroare).
Littlewood [2, 25, 35] a propus o modicare a modelului astfel
m(t) = k(1
_

+t
_

), > 0, > 0 (3.18)


unde k = N
0
este numarul init ial de erori ce trebuie detectate.
Se observa ca
(t) = m

(t) = k

( +t)
1
si
(0) =
k

, lim
t
(t) = 0.
90 Cap.3. Modele bazate pe procese Poisson neomogene
Observam ca N
0
= k se poate estima ca n cazul modelului J-M.
Modelul logistic [25] are funct ia m(t) de forma
m(t) =
k
1 +ae
bt
, a > 0, b > 0, k > 0 (3.19)
care este curba de crestere logistica. Deoarece m() = k rezulta ca numarul init ial
de erori k se poate estima din modelul J-M, dupa care cu datele m
i
= i, t
i
= T
i
se
poate liniariza relat ia (3.19), aplicand transformarea y =
k
m(t)
1 = ae
bt
si apoi
logaritmand relat ia rezultata. Se obt ine un model liniar n datele y
i
=
1
i
1, T
i
,
iar cu metoda celor mai mici patrate se estimeaza log a si b.
Metoda celor mai mici patrate consta in urmatoarele. Se presupune ca
se da select ia (X
i
, Y
i
), 1 i n si se cere sa se estimeze parametrii , din relat ia
y = x +. (3.19

)
Daca am inlocui (X
i
, Y
i
) in relat ia precedenta, am obt ine un sistem de n ecuat ii
cu cele doua necunoscute , . De aceea presupunem ca
Y
i
= X
i
+ +e
i
, e
i
= erori aleatoare.
Pentru a estima parametrii , impunem condit ia
S(, ) =
n

i=1
e
2
i
=
n

i=1
(Y
i
X
i
)
2
= min. (3.19

)
Impunanad codit ii de minim se obt ine sistemul de ecuat iiliniare
S

= 0,
S

= 0,
din rezolvarea caruia se obt in , . Metoda celor mai mici patrate se poate aplica
pentru estimarea unor parametri , , , .. dintr-o relat ie de forma
y = F(x, , , , ...)
dar in nal se poate obt ine un sistem neliniar de ecuat ii in , , , ..., asa cum se
intampla in cazul modelelor prezentate mai sus.
Modelul Gomperz [35] este modelul pentru care m(t) are forma curbei de
crestere a lui Gomperz, adica de forma
m(t) = ka
b
t
, a > 0, 1 > b > 0, k > 0. (3.20)
Cap.3. Modele bazate pe procese Poisson neomogene 91
Deoarece b < 1 rezulta
m() = ka
b

= ka
0
= k (3.20

)
iar deoarece se presupune k > 1, rezulta ca estimarea parametrilor modelului se
poate face cu usurint a prin metoda celor mai mici patrate folosind datele m
i
=
i, t
i
= T
i
, logaritmand in prealabil de doua ori relat ia (3.20).
Modele PPNO bazate pe efortul de testare [7, 25] presupun ca me-
dia m(t) a PPNO N(t)=numarul de erori detectate si eliminate pana la momentul
t, depinde de w(t)=efortul de testare (exprimat n bani) cheltuit la momentul t
[25, 35] adica
m(t) = a(1 e
rW(t)
), 0 < r < 1, a > 0, W(t) =
t

0
w(u)du (3.20)
unde W(t) este efortul de testare cumulat pe [0, t). Intensitatea caderilor este n
acest caz
(t) =
dm(t)
dt
= arw(t)e
rw(t)
.
O forma particulara a funct iei w(t) poate cea de tip Weibull
w(t) = t
1
e
t

de unde rezulta funct ia efortului de testare cumulat


W(t) =
t

0
w(u)du = (1 t

).
Deci funct ia m(t) a PPNO este n nal
m(t) = a[1 exp{r(1 e
t

)}].
Estimarea parametrilor acestui model se poate face e n mod obisnuit ca la orice
model bazat pe PPNO, e estimand in prealabil a ( care este numarul init ial de
erori) ca n modelul J-M, iar apoi logaritmand m(t) si aplicand metoda celor mai
mici patrate pentru a estima ceilalt i paraametri, e aplicand direct de exemplu
metoda verosimilitat ii maxime.
Se poate observa ca din punct de vedere matematic, modelul bazat pe efort de
testare deriva din modelul G-O facand o transformare W(t) a scalei de variat ie a
timpului. In acest model, de fapt, timpul nseamna bani!
In [20] se propune o tratare unitara a modelelor de abilitatea programelor.
92 Cap.3. Modele bazate pe procese Poisson neomogene
Modele denite prin rata periculozitat ii. Aceste modele [2] sunt car-
acterizate de rata periculozitat ii PPNO, (t) =
dm(t)
dt
.
Model cu funct ia de periculozitate exponent iala liniara. Se presupune
ca
(t) = e

0
+
1
t
,
iar media PPNO este in acest caz
m(t) =
t

0
(u)du =
e

1
(e

1
t
1).
Deoarece
1
< 0 acest model coincide cu modelul Goel-Okumoto (formula (3.9)).
Rezolvarea modelului (estimarea parametrilor
0
,
1
) se poate realiza prin metoda
verosimilitat ii maxime ca in & 3.1, sau cu metoda celor mai mici patrate, dupa
cum urmeaza. Daca datele de select ie sunt (i, T
i
), 1 i n, , T
i
= momentul
de timp operat ional cand are loc caderea a i a, atunci parametri ment ionat i se
determina rezolvand sistemul de ecuat ii neliniare
S

0
= 0,
S

1
= 0
unde
S = S(
0
,
1
; T
1
, ..., T
n
) =
n

i=1
_
i
e

1
(e

1
T
i
1)
_
2
.
Solut ia
0
,
1
se obt ine rezolvand numeric sistemul precedent.
Modelul exponent ial polinomial. In acest caz se presupune ca
(t) = e

0
+
1
t+...+
k
t
k
, t > 0.
k
< 0.
Si aici se poate proceda ca n modelul precedent si anume: se considera
m(t) =
t

0
e

0
+
1
u+...+
k
u
k
du,
se determina suma patratelor erorilor
S =

[i m(T
i
)]
2
si apoi egaland cu zero derivatele part iale ale ale lui S n raport cu parametri
necunoscut i
0
,
1
, ...,
k
, se obt ine un sistem neliniar n acesti parametri si care
se rezolva tot cu metode numerice.
Cap.3. Modele bazate pe procese Poisson neomogene 93
Un model combinat. Acest model presupune ca
(t) = t
1
e

0
+
1
t
, > 0,
0
,
1
R.
Daca = 1 atunci modelul se reduce la modelul exponent ial liniar iar daca
1
=
0, atunci acest model se reduce la modelul Douane, tratat la inceputul acestei
sect iuni.
Dupa cum am constatat cu ocazia modelului logaritmic Poisson, funct ia m(t)
poate dedusa dintr-o ecuat ie diferent iala care exprima anumite proprietat i sau
condit ii satisfacute de aceasta funct ie. In cele ce urmeaza vom considera si alte
modele bazate pe astfel de ecuat ii.
3.5 Modele bazate pe ecuat ii diferent iale
Vom folosi in continuare (vezi [2, 25, 30]) unele proprietat i ale funct iei Cummu-
lative Mean Time Between Failures, CMTBF(t) = (t) care satisface (3.2), unde
m(t) = E[N(t)] este media PPNO. Funct ia (t) = 1/m(t) are unele proprietat i
naturale ce vor introduse si utilizate mai jos.
Modelul cu termen exponent ial simplu presupune n mod natural ca
lim
t
(t) = K
3
,
d(t)
dt
= K
2
(K
3
(t)) (3.21)
iar rezolvand ecuat ia diferent iala precedenta obt inem
(t) = K
3
(1 K
1
e
K
2
t
). (3.21

)
Se observa ca K
3
este numarul init ial de erori. Estimarea parametrilor se poate
face ca n cazul oricarui model bazat pe PPNO t inand seama ca m(t) = 1/(t),
sau aplicand relat iei (3.21) metoda celor mai mici patrate (n cazul neliniar!), cu
datele

i
=
T
i
i
, t
i
= T
i
.
Prima formula (3.21) este o ipoteza plauzibila pe care se bazeaza modelul.
Modelul lui Lloyd-Lipow [2] presupune ca rata de variat ie a lui (t) este
invers proport ional cu patratul timpului adica
d(t)
dt
=
K
2
t
2
(3.22)
de unde rezolvand ecuat ia diferent iala avem
(t) =
_
K
3

K
2
t
daca t
K
2
K
3
0 altfel.
(3.22

)
94 Cap.3. Modele bazate pe procese Poisson neomogene
Aici de asemenea K
3
= lim
t
(t) iar K
2
deneste intervalul minimal [0, K
2
/K
3
]
pentru care nu exista caderi. Modelul nu este ntotdeauna aplicabil. In schimb
parametrii sai pot cu usurint a estimat i prin metoda celor mai mici patrate care
conduce la rezolvarea unui sistem liniar n K
2
, K
3
.
Un nou model (vezi [30]) presupune ca rata de variaat ie a funct iei (t)
satisface proprietatea
d
dt
= K
2
te
t
((t) +K
1
), K
1
, K
2
> 0 (3.23)
Solut ia ecuat iei, cu condit ia init iala (0) = 0, este
(t) = K
1
(e
K
2
e
t
(t+1)+K
2
1) (3.23

)
si ea satisface condit ia
K
3
= lim
t
(t) = K
1
(e
K
2
1). (3.23)
Estimarea parametrilor din (3.22) se poate realiza cu metoda celor mai mici
patrate aplicata select iei bidimensionale (
i
= T
i
/i, T
i
), 1 i n. Se obt ine
un sistem de ecuat ii n parametrii K
1
, K
2
care nu este liniar, dar care poate
tratat numeric.
O alta versiune a acestui model se obt ine daca rata de variat ie a funct iei (t)
satisface relat ia
d
dt
= K
2
e
t
((t) +K
1
), K
1
, K
2
> 0. (3.24)
In mod analog, solut ia ecuat iei (3.24) este
(t) = K
1
(e
K
2
(1e
t
)
1) (3.24

)
iar
lim
t
(t) = K
3
= K
1
(e
K
2
1). (3.24)
Si aici estimarea parametrilor K
1
, K
2
se realizeaza cu metoda celor mai mici
patrate, care conduce tot la un sistem de ecuat ii neliniare.
Modelul lui Roesner [2, 30] este unul din primele modele bazate pe ecuat ii
diferent iele. Altfel, daca se noteaza cu D(t) numarul mediu de erori ramase n
sistem si se presupune ca ecare cadere este determinata de o eroare care este
detectata odata cu aparit ia caderii si este eliminata, modelul presupune ca rata de
variat ie a lui D(t) satisface relat ia
dD(t)
dt
= K
2
D(t), t > 0, K
2
> 0, D(0) = K
1
. (3.25)
Cap.3. Modele bazate pe procese Poisson neomogene 95
Deci K
1
este numarul init ial mediu de erori (adica N
0
din modelul J-M!).
Solut ia ecuat iei (3.25) este
D(t) = K
1
e
K
2
t
(3.25

)
de unde se deduce ca numarul mediu de erori eliminate pe intervalul [0, t] este
m(t) = K
1
(1 e
K
2
t
) (3, 25)
care coincide cu modelul Goel-Ocumoto.
Daca se cunoaste K
2
(estimat cu modelul GO) atunci = 1 e
K
2
t
este
proport ia erorilor eliminate pana la momentul t. Presupunand ca efortul de testare
pentru a se elimina proport ia de erori a costat C unitat i banesti atunci costul
necesar pentru a elimina nca proport ia
1
de erori este, conform unui calcul liniar
C
1
=
C
1

(3.26)
formula de calcul simpla dar si utila pentru producatorii de soft.
2.6 Modele pentru mai multe tipuri de erori
Una din criticile modelelor de abilitatea programelor consta n aceea ca se
presupune ca toate erorile au aceeasi marime si important a si ca erorile se pot
manifesta cu aceeasi intensitate. O slabire a acestei presupuneri consta n a con-
sidera ca erorile sunt de doua tipuri [25, 35], adica media PPNO este
m(t) = a
1
(1 e
b
1
t
) +a
2
(1 e
b
2
t
) (3.27)
unde a
1
este numarul init ial de erori de tipul 1 , a
2
este numarul init ial de erori de
tipul 2, b
1
este rara de detectare a erorilor de tipul 1 iar b
2
este rata de detectare
a erorilor de tipul 2. Notand a = a
1
+a
2
numarul total de erori avem
p
i
=
a
i
a
, i = 1, 2 (3.27

)
unde p
i
este probabilitatea aparit iei n execut ia programului a unei erori de tipul
i. Intensitatea de aparit ie a erorilor este
(t) =
2

i=1
a
i
b
i
e
b
i
t
= a.
2

i=1
p
i
b
i
e
b
i
t
. (3.27)
Se observa ca PPNO care sta la baza acestui model este o compunere de doua
PPNO.
96 Cap.3. Modele bazate pe procese Poisson neomogene
Acest model este o generalizare a modelului GO, iar estimarea parametrilor
a
1
, a
2
, b
1
, b
2
se realizeaza n mod asemanator modelului GO. Modelul bazat pe
(3.27) poate nca extins la k tipuri de erori, n acest caz ind necesara estimarea
a 2k paarametri, iar PPNO este n acest caz rezultatul compunerii a k PPNO.
Un model simplicat cu k tipuri de erori se bazeaza pe funct ia de tip Erlang
m(t) = a
_
1 e
bt
k1

i=1
(bt)
j
j!
_
(3.29)
unde a este numarul init ial de erori, b este rata de detectare a erorii (independenta
de tipul erorii, cand procesul se stabilizeaza) iar k este un parametru intreg. Daca
k = 1 acest model se reduce la modelul GO iar daca k = 2 modelul este in forma
de S (de tipul (3.10)). Altfel, modelul se bazeaza pe un PPNO cu trei parametri
a, b, k ce trebuie estimat i prin metodele obisnuite aplicate celorlalte modele de
acest fel.
Exercit ii de control
1. In modelul Goel-Okumoto se face ipoteza ca
m(t) = a(1 +e
t
)(1 e
t
), , > 0.
Sa se precizeze semnicat ia lui a, sa se determine intensitatea PPNO corespunzator,
sa se precizeze care este probabilitatea P(N(t) < 3 si folosindu-se select ia cenzu-
rata pe intervalele determinate de constantele 0 < s
0
, s
1
< ... < s
k
sa se estimeze
parametrii a, , ai modelului.
Indicat ie. Avem a = N
0
. Intensitatea PPNO se determina prin derivare: (t) =
m

(t), iar P(N(t) < 3) se determina folosind formula


P(N(t) < 3) = P(N(t) = 0) +P(N(t) = 1) +P(N(t) = 2),
P(N(t) = k) =
[m(t)]
k
k!
e
m(t)
. (3.30)
Parametrii a, , se estimeaza maximizand funct ia de verosimilitate (3.3) cu m(t)
dat in enunt .
2. Pentru modelul de la Ex. 1 determinat i timpul mediu cumulat dintre caderi.
Indicat ie. Se foloseste formula (3.2) care deneste
CMTBF(t) = (t) =
1
m(t)
.
3. Sa se calculeze P
n
(t) = P(N(t) = n) in cazul modelului logaritmic Poisson
de parametri
0
, .
Cap 4. Modele privind optimizarea realizarii programelor 99
Indicat ie. Se foloseste formula (3.30) unde m(t) = (t) dat de (3.17). In nal
se obt ine
P
n
(t) =
(log (
0
t + 1)
1

)
k
k!
.(
0
t + 1)

.
4. Estimat i parametri a, b, c ai modelului cu factor de incovoiere pentru care
m(t) este dat (3.12). Precizat i estimat ia lui N
0
.
Indicat ie. Se foloseste metoda verosimilitat ii maxime cu select ia n
1
, n
2
, ..., n
k
cenzurata pe intervalele (0, s
1
), [s
1
, s
2
), .../[s
k1
, sk]. Estimat ia

N
0
a lui N
0
este
parametrul a, estimat ie a lui a.
5. Presupunem ca m(t) este dat de (3.18) (modelul lui Littlewood). Folosind
ca date de observat ie (i, T
i
), 1 i n, unde T
i
este momentul aparit iei caderii
a ia,sa se estimeze parametrii k, , ai modelului. Sa se rezolve apoi modelul
folosind select ia n
1
, n
2
, ..., n
k
, cenzurata pe intervale(select ia precizata la exercit iul
precedent).
Indicat ie. In cazul select iei (i, T
i
) se logaritmeaza mai intai m(t) dat de (3.18)
si se aplica metoda celor mai mici patrate, obt inandu-se in nal un sistem de
treiecuat ii cu trei necunoscute.
In cazul select iei cenzurate pe intervale se aplica metoda verosimilitat ii maxime
pornind de la funt ia de verosimilitate (3.3) in care se introduce m(t) dat de (3.18).
6. Funct ia CMTBF(t) = (t) (notata y),satisface ecuat ia diferent iala
y

= K
2
te

t
2
2
(y +K
1
), K
1
> 0, K
2
> 0.
Sa se gaseasca expresia lui (t) si sa se indice o metoda de estimare a parametrilor
K
1
, K
2
. Precizat i valoarea lui N
0
.
Indicat ie. Solut ia ecuat iei diferent iale este
(t) = K
1
(1 +e
K
2
(1e

t
2
2 )
),
iar N
0
= 1/(K
1
(e
K
2
1)) = m() =
1
()
. Parametri se estimeaza cu metoda celor
mai mici patrate cu datele necenzurate
i
=
T
i
i
, t
i
= T
i
, iar T
i
sunt momentele la
care apar caderile. In nal se obt ine un sistem neliniar in K
1
, K
2
.
4 Modele privind optimizarea realizarii pro-
gramelor
Printre problemele legate de dezvoltarea si realizarea produselor soft (probleme
de ingineria de software si managementul acestei activitat i) sunt si cele legate
100 Cap.4. Modele privind optimizarea realizarii programelor
de optimizarea activitat ilor, evaluarea si optimizarea costurilor activitat ilor de
testare si intrtet inere, precum si cele privind selectarea variantelor sau versiunilor
convenabile sau optime. Referitor la astfel de probleme s-au scris multe lucrari,
s-au construit diverse modele, s-au elaborat chiar produse software [1, 18]. In cele
ce urmeaza vom prezenta unele din aceste modele, cele mai reprezentative.
4.1 Modele pentru determinarea duratei de testare
Se stie ca testarea produselor soft este o operat ie migaloasa, costisitoare si indelun-
gata. In aceste condit ii producatorii de software sunt interesat i sa poata decide
cand este momentul convenabil sa opreasca activitatea de testare si sa dea pro-
dusul n exploatare. Acest moment trebuie ales astfel ncat pe de-o parte sa se
asigure o abilitate mare programului prin eliminarea unui cat mai mare numar
de erori, iar pe de alta parte costurile operat iilor de realizare sa e cat mai mici,
sau convenabil de mici. Criteriul de optim considerat n aceste modele consta n
minimizarea costurilor. Operat ia de testare se termina cand s-a eliminat un numar
de erori sau cand s-a parcurs o anumita durata, ambele determinate din condit ia
de cost minim. Astfel de modele sunt numite n literatura de specialitate [18, 23]
modele de crestere a abilitat ii programelor.
Pentru modelele ce for prezentate n aceasta sect iune se presupun satisfacute
urmatoarele ipoteze:
1
0
. Orice cadere a programului este determinata de o singura eroare existenta
in program;
2
0
. Corectarea unei erori se face instantaneu (timpul de corectare a erorii este
neglijabil);
3
0
. Prin eliminarea erorii nu se mai introduc alte erori.
Strategia optima de testare va consta in determinarea numarului optim de erori
corectate dupa testarea programului. Vom presupune ca durata de funct ionare fara
caderi a programului are o repartit ie de probabilitate DFR, (sau DFI). Vom folosi
de asemenea notat iile:
n numarul de erori detectate pana la terminarea testarii;
n

valoarea optima a lui n;


T
k
momentul detectarii erorii k;
C
1
costul unei unitat i de timp de testare;
C
2
costul corectarii unei erori n cursul testarii;
C
3
costul corectarii unei erori n timpul fazei operat ionale (adica dupa ce
programul este dat n exploatare); C
3
> C
2
.
Castigul mediu este
G(n) = (C
3
C
2
).n C
1
.E{T
n
}. (4.1)
Cap 4. Modele privind optimizarea realizarii programelor 101
Observat ia 4.1. Daca repartit ia caderilor este DFR atunci E(T
n+1
T
n
) este
crescatoare n n.
Demonstrat ie. Se observa ca
E(T
n+1
T
n
) = E{E(T
n+1
t
n
|T
n
= t
n
)} = E(L(t
n
))
unde t
n
este valoarea observata a lui T
n
si L(t) este media timpului de funct ionare
ramas pana la defectare, adica
L(t) = E(T t|T > t) =
1
F(t)

t
F(x)dx. (4.2)
Din (4.2) rezulta ca
F(t) = exp
_
_

0
1 +L

(x)
L(x)
dx
_
_
.
Dar F este DFR conduce la L(t
n
)-crescatoare n t
n
, deci t
n
> t
n1
L(t
n
) >
L(t
n1
) adica E(L(t
n
)) > E(L(t
n1
)) care este crescatoare n n.
Suntem acum in masura sa enunt am urmetoarea
Teorema 4.1.Daca repartit ia caderilor este DFR atunci funct ia de castig
mediu (4.1) are o solut ie optima unica.
Demonstrat ie. Condit ia necesara ca o valoare n sa e punct de maxim pentru
G(n) este
G(n 1) < G(n) si G(n) G(n + 1), (4.3)
sau echivalent
E(T
n+1
T
n
) k si E(T
n
T
n1
) < k (4.3

)
unde
k =
C
3
C
2
C
1
.
Sa analizam cateva cazuri:
- daca E(T
1
) k, atunci n

= 0, adica programul se da n exploatare fara


testare;
- daca k lim
n
E(T
n
T
n1
), atunci programul se da n exploatare numai
dupa ce s-au eliminat toate erorile;
- n celalalalt caz (cazul interesant) solut ia optima n

se obt ine din condit ia


(4.3) sau (4.3). Teorema este demonstrata. De aici se poate construi cu usurint a
un algoritm pentru determinarea lui n

.
4.1.1. Model bazat pe utilizarea efortului de testare.
102 Cap.4. Modele privind optimizarea realizarii programelor
Sa consideram acum modelul Poissonian al lui Yamada et al. [23,36] n care
funct ia m(t), numarul mediu de erori sau media procesului Poisson, este data de
ecuat ia diferent iala
dm(t)
dt
.
1
w(t)
= (N
0
m(t)), (4.4)
unde w(t) este funct ia de cost a efortului de testare la momentul t iar N
0
este
numarul init ial de erori din soft. Din (4.4) rezulta ca m(t) este dat de relat ia
m(t) = N
0
(1 exp(.W(t))), W(t) =
t

0
w(x)dx (4.5)
iar W(t) se mai poate scrie
W(t) =
1

ln
_
N
0
N
0
m(t)
_
. (4.5

)
Fiind data funct ia efort de testare w(t) (sau varianta sa cumulata W(t)) sa deter-
minam [23] durata optima de testare a programului. Vom folosi notat iile:
T
LC
lungimea ciclului de viat a a programului, masurata din momentul in-
ceperii testarii;
T timpul total de testare, pana cand programul intra in exploatare;
T

valoarea optima a lui T.


Atunci, costul mediu total se scrie
C(T) = C
2
.m(t) +C
3
(m(T
LC
) m(T)) +C
1
T

0
W(x)dx. (4.6)
Condit ia de cost minim este
C(T)
T
= 0 A(T) =
C
1
1
C
3
C
2
, A(T) =
dm(t)
dt
.
1
w(t)
. (4.7)
Suntem acum n masura sa formulam teorema
Teorema 4.2. Valoarea otpima T

este determinata astfel:


a) daca A(0)
C
1
C
3
C
2
atunci T

= 0;
b) daca A(0) >
C
1
C
3
C
2
> A(T
LC
) atunci (4.7) are 0 solut ie unica T
0
si T

= T
0
;
c) daca A(T
LC
)
C
1
C
3
C
2
atunci T

= T
LC
.
Demonstrat ie. Fie T

valoarea lui T care minimizeaza (4.6). Observand ca


A(T) este monoton descrescatoare, vom analiza pe rand cele trei cazuri.
Cap 4. Modele privind optimizarea realizarii programelor 103
a) Daca A(0) 0 atunci trebuie sa avem A(T) <
C
1
C
3
C
2
, 0 < T < T
LC
, deci
C
T
> 0, 0 < T < T
LC
; rezulta ca T

= 0.
b) Daca A(0) >
C
1
C
3
C
2
> A(T
LC
) atunci (4.7) are o solut ie unica T
0
care
satisface condit iile
A(T) >
C
1
C
3
C
2
, cand 0 < T < T
0
;
A(T) <
C
1
C
3
C
2
. cand T
0
< T < T
LC
Deoarece
C
T
< 0, 0 < T < T
0
si
C
T
> 0, T
0
< T < T
LC
rezulta ca T

= T
0
.
c) Daca A(T
LC
)
C
1
C
3
C
2
atunci A(T) >
C
1
C
3
C
2
, 0 < T < T
LC
si deoarece
C
T
< 0, 0 < T < T
LC
rezulta T

= T
LC
.
Demonstrat ia este completa.
4.1.2 Model pentru software cu structura modulara.
Vom prezenta n continuare un model pentru timpul optim de testare preluat
din [23 ].
Presupunem ca un produs soft consta din k module interconectate. In pe-
rioada de testare T sistemul soft funct ioneaza efectiv timpul
T
T, 0 <
T
1,
iar n perioada de exploatare, parametrul corespunzator este
U
. Se presupune
de asemenea ca modulele sunt apelate pe perioada de exploatare a sistemului n
proport ii diferite
j
, 1 j k cu
k

j=1

j
= 1, , 0 <
j
< 1,
iar ponderile
j
raman constante pe timpul exploatarii programului. Deci timpul
consumat de modului j in faza de testare este
j

T
T.
Fie N
j
numarul de erori din modulul j si presupunem ca durata cumulata de
funct ionare a modulului j pana la detectarea unei erori este o variabila aleatoare X
j
cu funct ia de repartit ie F
j
(x;
j1
,
j2
, ...,
jm
j
), unde
j
este un vector de parametri
statistici necunoscut i; variabilele X
j
, 1 j k sunt presupuse independente doua
cate doua. Presupunem satisfacute ipotezele 2
0
, 3
0
precizate la nceputul acestei
sect iuni. Presupunem ca deobicei ca funct iile de repartit ie F
j
sunt de tipul DFR.
Notam t
j
(i), 1 i N
j
momentele de cand se detecteaza erori in modulul j, pe
parcursul perioadei de testare. Desigur 0 t
j
(1) t
j
(2) ... t
j
(N
j
) S, unde
S =
j

T
.T. Deci valorile de select ie t
j
(i) sunt cenzurate la dreapta de S (sunt
date cenzurate de tipul I).
104 Cap.4. Modele privind optimizarea realizarii programelor
Parametri
j1
,
j2
, ...,
jm
j
se vor estima folosind metoda verosimilitat ii maxime.
Funct ia de verosimilitate este
L(t
j
(.);
j1
,
j2
, ...,
jm
j
) =
N
j

i=1
F
j
(t
j
(i);
j1
,
j2
, ...,
jm
j
).
Din condit ia de verosimilitate maxima se obt ine sistemul
lnL(t
j
(.);
j1
,
j2
, ...,
jm
j
)

jl
= 0, 1 l m
j
, (4.8)
din care prin rezolvare se obt in estimat iile

j1
,

j2
, ...,

jm
j
, 1 j k.
Daca la sistemul de ecuat ii (4.8) adaugam si ecuat iile
lnL
N
j
= 0, 1 j k
atunci se pot obt ine si estimat ii

N
j
pemtru N
j
.
In [23] se da un model si algoritmul corespunzator pentru determinarea pe-
rioadei optime de testare T

. Se presupune ca se pleaca de la o perioada init iala


data de lungime T si pentru a se decide daca testarea trebuie oprita sau continuata
se calculeaza urmatoarea funct ie obiectiv, care este de tip prot:
V (T) = V
1
(T +) V
2
() V
3
(T +), (4.9)
unde
V
1
(t) este valoarea sistemului soft la momentul t;
V
2
(t) este costul mediu datorat nedetectarii erorilor n perioada de testare
(el poate cumula si eventuale penalizari);
V
3
(t) este costul cumulat al testarii sistemului pana la momentul t, cand ar
urma sa intre in exploatare.
Funct iile V
i
propuse n [23] sunt urmatoarele:
a) Funct ia V
1
(t) se presupune descrescatoare in t de forma
V
1
(t) =
1
.e

2
t
.H(t
D
t) +
1
.e

2
t
.(1 H(t
D
t)) (4.10)
unde t
D
este momentul cand sistemul devine operat ional,
i
,
i
, i = 1, 2 sunt con-
stante pozitive, iar H(x) este funct ia treapta a lui Heaviside, adica
H(x) =
_
0, cand x < 0
1, cand x 0
.
Cap 4. Modele privind optimizarea realizarii programelor 105
b) Funct ia cost mediu V
2
este de forma
V
2
() =
k

j=1
c
j
(

N
j
r
j
).

F
j
(
j
(
T
(T +) +
U
.W))

F
j
(
j

T
(T +))
1

F
j
(
j
T)
(4.11)
unde o eroare care este detectata n perioada operat ionala (de exploatare) W are
costul c
j
pentru modulul j.
c) Funct ia V
3
se ia liniara de forma
V
3
(t) = t, > 0. (4.12)
Cu aceasta alegere a funct iilor de cost, algoritmul de determinare a perioadei
optime de testare este
1. Intrare parametri
j
, 1 j k,
T
,
U
; intrare T =durata init iala de testare
si W ciclul de viat a al sistemului.
2. Intrare datele de select ie t
j
(i), 1 i r
j
, 1 j k.
repeat
3. Determina estimat iile

j1
,

j2
, ...,

jm
j
,

N
j
, 1 j k.
4. Determina protul V (0) conform formulei (4.9). (Acest pas se executa numai
la prima trecere prin ciclul repeat).
5. Pentru o valoare mica data (care este din (4.11)), se estimeaza V ()
care reprezinta protul ce s-ar realiza daca perioada de testare s-ar prelungi
cu , adica T devine T + .
6. Daca V (0) < V () atunci ia T := T + si adauga noi date de select ie t
j
(i)
pentru intervalul de timp [T, T + ]. Ia V (0) := V ().
until V (0) V ().
7. Stop.
La terminarea algoritmului valoarea lui T este cea optima.
Desigur, pentru aplicarea modelului trebuie sa se estimeze n prealabil parametrii

i
,
i
, i = 1, 2, c
j
, 1 j k, (adica sa se realizeze specicarea modelului). Acest
lucru se realizeaza ca deobicei folosind date istorice.
106 Cap.4. Modele privind optimizarea realizarii programelor
4.2 Modele de alegere optima a produselor software
Modelele care urmeaza si propun [23] sa maximizeze abilitatea produselor soft
cu cheltuieli limitate la o suma disponibila.
4.2.1. Modele referitoare la programe ce realizeaza
anumite funct ii date.
Pentru aceste modele vom face urmatoarele ipoteze:
1

. Se cunosc abilitatea si costul ecarui program;


2

. Utilizarorul dispune de o suma B de bani data pentru achizit ionarea pro-


dusului software;
3

. Se cunoaste frecvent a de utilizare a ecarei funct ii realizata de produsul


software.
Vom folosi urmatoarele notat ii:
K = numarul de funct ii pe care trebuie sa le realizeze produsul program;
F
k
= frecvent a de utilizare a produsului k, 1 k K;
m
k
= numarul de programe disponibile pentru funct ia k;
R
kj
= abilitatea programului j cand acesta executa funct ia k;
C
kj
= costul programului j cand executa funct ia k;
B= abilitatea medie a produsului software;
X
kj
=
_
1, daca programul j ar fi ales pentru functia k
0, in rest.
* Model de alegere optima a programelor fara redundant a. Variabilele
X
kj
sunt variabile de decizie si ele trebuie determinate astfel ncat sa conduca la
alegerea unei mult imi de programe fara redundant a din condit ia:
max(R =
K

k=1
F
k
R
k
) (4.13)
unde
R
k
=
m
k

j=1
X
kj
R
kj
cu restrict iile
(i)
m
k

j=1
X
kj
= 1, 1 k K;
(ii)
K

k=1
m
k

j=1
X
kj
C
kj
B, X
kj
{0, 1}, 1 k K, 1 j m
k
.
Cap 4. Modele privind optimizarea realizarii programelor 107
(Alegerea programelor far a redundant a nseamna ca o funct ie va imple-
mentata ntr-un singur program achizit ionat conform restrict iei (i); alegerea cu
redundant a inseamna ca funct iile pot realizate si de mai multe programe).
Maximizarea funct iei obiectiv de forma (4.13) cu restrict iile (i) si (ii) este o
problma de programare liniara discreta n care X
kj
sunt necunoscute. Din for-
mularea problemei rezulta ca cele K programe realizeaza funct ii independente.
Restrict ia (i) exprima alegerea mult imii programelor fara redundant a.
Maximizarea abilitat ii medii R este echivalenta cu minimizarea ratei medii
de defectare a programelor data de expresia
z =
N
H
K

k=1
F
k
(1 R
k
), (4.14)
unde H = timpul operat ional si N = numarul de execut ii in perioada H. Intr-
adevar, deoarece ponderile de utilizare satisfac relat ia
K

k=1
F
k
= 1
rezulta
z =
N
H
(1 R). (4.14

)
Rezolvarea problemei de programare liniara cu variabile {0, 1} se poate face cu
algoritmi cunoscut i sau cu produse soft specializate.
Model de alegere optima a programelor cu redundant a. In acest
caz variabilele X
kj
, 1 k K, 1 j m
k
se determina din relat ia
maxR =
K

k=1
F
k
R
k
, (4.15)
unde
R
k
= 1
m
k

j=1
(1 R
kj
) (4.15

)
cu restrict iile
(i

)
m
k

j=1
X
kj
1, 1 k k;
(ii

)
K

k=1
m
k

j=1
X
kj
C +kj B, X
kj
{0, 1}, 1 k K, 1 j m
k
.
108 Cap.4. Modele privind optimizarea realizarii programelor
Condit ia de redundant a este data de restrict ia (i

) care spune ca se va selecta


cel put in un program pentru ecare funct ie. Fiabilitatea R
k
a funct iei k este
probabilitatea ca cel put in unul dintre programele selectate pentru funct ia k sa
funct ioneze (cazul sistemului paralel).
Funct ia obiectiv (4.15) poate rescrisa astfel:
R =
K

k=1
F
k
R
k
=
K

k=1
F
k
_
_
1
m
k

j=1
F
k
(1 R
kj
)
X
kj
_
_
= 1
K

k=1
F
k
m
k

j=1
(1 R
kj
)
X
kj
. (4.16)
Din (4.16) rezulta ca problema maximizarii funct iei R este echivalenta cu problema
de minimizare
min
K

k=1
F
k
m
k

j=1
(1 R
kj
)
X
kj
. (4.16

)
Problema de optimizare (4.15) sau (4.16) este o problema de programare dinamica
discreta. Solut ia modelului cu funct ia obiectiv (4.16) se obt ine cu ajutorul unui
algoritm ce va descris mai jos. Sa notam R
k
(S) abilitatea sistemului software
care satisface funct iile k, k + 1, ..., K cand suma de bani alocata pentru procu-
rarea lor este S (k este interpretat ca starea curenta in algoritmul de programare
dinamica, retrospectiv).
Algoritmul
1. Pentru starea nala K se calculeaza
R
(
S) = min F
K
m
K

j=1
(1 R
Kj
)
X
Kj
, (4.17)
cu restrict iile
m
K

j=1
X
Kj
1,
m
K

j=1
C
Kj
X
Kj
S, (4.18)
unde
S
_
min
j
C
Kj
, B
K1

i=1
min
j
C
ij
_
. (4.19)
2. Pentru k = K 1, K 2, ..., 2, 1 se calculeaza
R
k
(S) = min
_
_
_
F
k
m
k

j=1
(1 R
kj
)
X
kj
+R
k+1
(S
m
k

j=1
C
kj
X
kj
)
_
_
_
, (4.20)
Cap 4. Modele privind optimizarea realizarii programelor 109
cu restrict iile
m
k

j=1
X
kj
1,
m
k

j=1
C
kj
X
kj
S, (4.21)
unde
S
_
K

i=k
min
j
C
ij
, B
k1

i=1
C
ij
_
. (4.22)
(Se observa ca (4.17) si (4.22) asigura selectarea a cel put in un program
pentru ecare funct ie).
3. Se determina abilitatea medie maxima
R

= 1 min
S
R
1
(S), (4.23)
si politica optima X

kj
, k = 1, 2, ..., K; j = 1, 2, ..., m
k
ce corespunde lui
R

, unde daca X

kj
= 1 nseamna ca s-a selectat programul j pentru funct ia
k.
4. Stop.
Ment ionam din nou ca valorile X

kj
reprezinta solut ia optima.
4.2.2. Modele bazate pe costuri pentru soft
cu structura modulara.
Se presupune ca produsul software se compune din mai multe versiuni, ecare
cu mai multe module. Vom Presupune ca sunt satisfacute ipotezele 1

, 2

, 3

si vom
folosi de asemenea unele din notat iile deja introduse cu urmatoarele completari:
n = numarul de module care compun sistemul de programe (produsul soft);
m
i
= numarul de versiuni disponibile pentru modulul i;
R
ij
= abilitatea (presupusa estimata) pentru versiunea j a modulului i;
C
ij
=costul versiunii j a modulului i;
R
i
= abilitatea modulului i;
R = abilitatea sistemului de programe;
X
ij
=
_
1 daca pentru modulul i este selectata versiunea j;
0, in rest.
Variabilele X
ij
sunt variabile de decizie; ele indica veriunea si modulul selectat din
ecare versiune.
110 Cap.4. Modele privind optimizarea realizarii programelor
Model pentru selectarea unei mult imi optime de module cu o sin-
gura funct ie. Versiunea fara redundant a. Acest model foloseste funct ia
obiectiv
max(R =
n

i=1
R
i
), (4.24)
unde
R
i
=
m
i

j=1
X
ij
R
ij
,
cu restrict iile
(i

)
m
i

j=1
X
ij
= 1, i = 1, 2, ..., n;
(ii

)
n

i=1
m
i

j=1
X
ij
C
ij
B, X
ij
{o, 1}, 1 i n, 1 j m
i
.
Funct ia obiectiv (4.24) presupune alegerea unei singure versiuni pentru ecare
modul, din care cauza solut ia selectata se va nota X
1
, X
2
, ..., X
n
unde X
i
= 1
nseamna X
ij
i
= 1.
Solut ia modelului se obt ine printr-un algoritm branch and bound [24].
Pentru construirea algoritmului sa observam urmatoarele:
1
0
Problema (4.24) are solut ie daca
n

i=1
_
min
j
C
ij
_
B. (4.25)
2
0
Daca (4.25) are loc, atunci o solut ie posibila a problemei este data de
alegerea celei mai ieftine versiuni pentru ecare modul (acesta putand reprezenta
o margine inferioara).
3
0
Daca se omite restrict ia (ii

) atunci o solut ie optima a problemei este


(X
0
1
, X
0
2
, ..., X
0
n
) cu valoarea funct iei obiectiv

(max
i
R
ij
). (4.26)
Algoritmul consta din urmatorii pasi [23]:
1. Se alege o solut ie posibila a problemei si se calculeaza marginea inferioara
M
inf
a funct iei obiectiv;
2. Nodul radacina ( al algoritmului branch and bound!), adica nivelul 0
(i = 0), este ramicat in m
1
ramuri, ecare corespunzand unei alegeri a lui
X
1j
, 1 j m
1
;
Cap 4. Modele privind optimizarea realizarii programelor 111
3. La nivelul curent i se alege o versiune pentru modulul i, 1 i n;
4. Pentru ecare solut ie part iala (X
1
, X
2
, ..., X
k
), k < n, se calculeaza:
- marginea superioara M
sup
, denita ca valoarea funct iei obiectiv corespunzatoare
solut iei (X
1
, ..., X
k
, X
0
k+1
, ..., X
0
n
)
M
sup
=
_
k

i=1
R
i
_
_
_
n

i=k+1
max
j
R
ij
_
_
; (4.27)
- costul solut iei margine superioara CM
sup
dat de formula
CM
sup
=
k

i=1
C
i
+
n

i=k+1
C
0
i
; (4.28)
- costul minim posibil C
min
dat de formula
C
min
=
k

i=1
C
i
+
n

i=k+1
(min
j
C
ij
); (4.29)
- valoarea funct iei obiectiv corespunzatoare solut iei care da costul minim
C
min
RC
min
=
_
k

i=1
R
i
_
_
_
n

i=k+1
R
ij
c
_
_
, (4.30)
unde R
ij
c
este abilitatea celei mai iefrine versiuni a modulului i.
5. O solut ie part iala este eliminata daca
C
min
> B sau M
sup
< M
inf
. (4.31)
6. Solut iile part iale pentru care C
min
= B nu se mai ramica, nsa valoarea
RC
min
este ret inuta pentru analiza nala, ca posibila solut ie.
7. Urmatorul nod de ramicate este ales nodul cu cea mai mare margine supe-
rioara, cu condit ia CM
sup
> B.
8. Nodurile corespunzatoare solut iilor part iale pentru care CM
sup
B nu se
mai ramica, nsa valorile funct iei obiectiv sunt ret inute ca posibile solut ii
nale.
9. Stop.
112 Cap.4. Modele privind optimizarea realizarii programelor
Algoritmul se termina cand s-a ales o versiune pentru ecare modul, adica s-au
explorat n nivele ale arborelui asociat algoritmului branch and bound.
Model pentru selectarea unei mult imi optime de module cu o
singura funct ie. Versiunea cu redundant a. Cu notat iile intreduse, acest
model se bazeaza pe funct ia obiectiv
max{R =
n

i=1
R
i
} (4.32)
unde
R
i
= 1
m
i

j=1
(1 R
ij
)
X
ij
cu restrict iile
(i
0
)
m
i

j=1
X
ij
1, i 1, 2, ..., n
(ii
0
)
n

i=1
m
i

j=1
X
ij
C
ij
B, X
ij
{0, 1}, i = 1, 2, ..., n j = 1, 2, ..., m
i
.
Modelul se rezolva cu un algoritm de programare dinamica discreta asemanator
algoritmului **.
Model pentru selectarea unei mult imi de module ce pot satisface
K funct ii. Versiunea fara redundant a. Vom presupune vericate ipotezele
1

, 2

, 3

precum si urmatoarele ipoteze


4

Execut ia funct iei k a sistemului de programe ce trebuie selectate, k =


1, 2, ..., K, presupune execut ia mult imii de module S
k
, (adica pentru orice modul
i S
k
exista m
i
versiuni disponibile).
5

Acelas modul cont ine funct ii diferite ale sistemului soft, adica
S
k1

S
k2
= , k1, k2 {1, 2, ..., K}
Presupunem ca toate modulele apelate de toate funct iile sunt notate cu 1, 2, ..., n,
deci
n
K

i=1
card(S
k
).
Modelul are ca obiectiv
max(R =
K

i=1
F
k

iS
k
R
i
). (4.33)
Cap 4. Modele privind optimizarea realizarii programelor 113
cu restrict iile
(i)
m
i

i=1
X
ij
, i = 1, 2, ..., n
(ii)
n

i=1
m
i

j=1
X
ij
C
ij
B, X
ij
{0, 1}, i = 1, 2, ..., n, j = 1, 2, ..., m
i
.
Solut ia acestui model se poate obt ine cu un algoritm de tip branch and bound
discutat cu ocazia modelului denit de funct ia obiectiv (4.24) (modelul ).
Model pentru selectarea unei mult imi de module ce pot satisface
mai multe funct ii. Versiunea cu redundant a. Folosind ipotezele 1

modelul foloseste funct ia obiectiv


max(R =
K

i=1
F
k

iS
k
R
i
) (4.34)
unde
R
i
= 1
m
i

j=1
(1 R
ij
)
cu restrict iile
(i)
m
i

i=1
X
ij
1, i = 1, 2, ..., n
(ii)
n

i=1
m
i

j=1
X
ij
C
ij
B, X
ij
{0, 1}, i = 1, 2, ..., n, j = 1, 2, ..., m
i
.
Acesta este un model de programare neliniara, dinamica, discreta, cu restrict ii
inegalitat i. El este de tipul modelului .
4.3 Alte modele relative la costuri
In aceasta subsectiune vom prezenta pe scurt cateva modele reprezentative bazate
pe costuri [19], care s-au impus prin faptul ca s-au dovedit utile n aplicat iile
practice.
4.3.1 Modele de tip COCOMO.
Denumirea acestor modele provine de la COnstructive COst MOdel. CO-
COMO este un sistem computerizat care consta de fapt din trei modele: COCOMO
principal, COCOMO intermediar si COCOMO detailat. Fiecare din acestea in-
clude un numar de algoritmi care leaga volumul produsului soft exprimat in mii de
114 Cap.4. Modele privind optimizarea realizarii programelor
linii (de program sursa), notat DSI, de efortul de realizare exprimat n oameni-
luni MM
mon
. Expresiile intermediare ale COCOMO sunt ranate de un numar
de corect ii constand din factori multiplicativi care iau valori specice tipului de
proiecte depinzand de factori ce inuent eaza costul.
Tot i algoritmii privind efortul de realizare au urmatoatea forma (de baz a)
MM
mon
= (DSI)

(4.35)
unde estimarea efortului nu include cheltuielile colaterale legate de studiile de
fezabilitate, de analiza a condit iilor logistice sau de ntret inere, adica se considera
numai efortul concentrat pe proiect.
Coecient ii , depind de sistemul COCOMO utilizat (adica principal, inter-
mediar sau detailat) si de tipul de proiect. In literatura sunt utilizate valorile din
tabelul de mai jos, unde tipurile de proiecte sunt clasicate in
a) organic, adica un proiect software mic realizat pentru scopuri restranse
(utilizat n rme mici cu cerint e reduse);
c) elaborat, adica proiect soft ccare satisface cerint e complexe pentru clase mari
de beneciari, utilizand memorie mare si consum mare de timp;
b) semi-detasat, adica intermediar intre cele doua tipuri extreme.
Model Principal Intermediar & Detaliat
Tip proiect

Organic 2.4 1.05 3.2 1.05
Semi-detasat 3.0 &1.12 3.0& 1.12
Elaborat 3.6 1.20 2.8 1.20
COCOMO este prevazut cu tabele care precizeaza repartizarea efortului pe
fazele de dezvoltare a softului si pe activitat ile specice ecarei faze. Folosind
aceste tabele, efortul estimat conform modelului este divizat pe activitat i n raport
cu care se planica realizarea proiectului.
Modelele intermediare si detaliate permit estimarea efortului folosind fac-
tori multiplicativi de corect ie fat a de un proiect mediu. Sunt 15 categorii de
corect ii de costuri utilizate de cele doua modele (intermediar si detaliat) care se
refera la: atributele produsului (abilitate, marimea bazei de date, complexitatea
softului); atributele calculatorului pe care va utilizat produsul soft (restrict ii
privind timpul de execut ie si memoria utilizata, etc); atributele personalului (capa-
bilitatea de analiza, experient a de proiectare, experient a de programare, cunoasterea
limbajelor de programare, etc.); atributele proiectului (utilizarea practicilor si fa-
cilitat ilor moderne de programare, utilizarea instrumentelor soft, utilizarea tehni-
cilor moderne de conducere si monitorizare a proiectelor). Costurile sunt clasicate
Cap 4. Modele privind optimizarea realizarii programelor 115
in 5 nivele de important a (foarte mic, mic, normal, mare, foarte mare). In [19] se
gaseste un tabel cu valorile acestor corect ii multiplicative de cost care se utilizeaza
astfel: de ex. pentru a corecta valoarea lui MM
mon
se ia valoarea nominala (reala)
a lui M
mon
si se nmult este cu coecientul corespunzator din tabel. Factorii de
corect ie sunt crescatori sau descrescatori n funct ie de nivelele de important a. De
ex.utilizarea de instrumente soft deja existente la un nivel mic presupune un fac-
tor de coret ie mare, pe cand cerint a de realizare a unui soft cu abilitate mica
presupune un factor de corect ie mic. Valorile concrete ale factorilo de corect ie, ca
de altfel toate valorile coecient ilor din modelele COCOMO au fost estimate din
date istorice.
Modelele de tip COCOMO permit de asemenea estimarea eforturilor legate
de re-utilizarea, (adaptarea) unor part i din produsele soft realizate anterior prin
calcularea unui numar echivalent de instruct iuni sursa livrate (EDSI) si utilizarea
acestora n locul lui DSI n (4.35). Astfel EDSI se calculeaza in funct ie de DSI
prin formula
EDSI = DSI AAF/100, (4.36)
cu
AAF = 0.40 DM + 0.30 CM + 0.30 IM, (medie ponderata), (4.36

)
unde DM este procentul n care se modica proiectul deja existent, CM este
procentul n care se modica codul sursa al softului, iar IM este procentul efortului
necesar ca sa se integreze softul adaptat in sistemul nou impreuna si cu testarea
softului rezultat.
O componenta importanta a modelelor COCOMO este si aceea a estimarii
efortului dentret inere al produselor soft, dar restrict ionat numai la re-proiectarea
unor part i ale produsului soft, proiectarea unor pachete mici de interfat a care cer
reproiectarea unei mici part i a produsului (sub 20%!), precum si modicarea codu-
lui sursa, a documentat iei sau bazei de date. Efortul anual de intret inere MM
AM
este dat de formula
MM
AM
= ACT MM
mon
(4.37)
unde ACT este tracul anual al modicarilor, adica o fract iune din instruct oinile
ce ar urma sa se modice de-alungul unui an prin adaugarea de modicari.
Modelul principal COCOMO se aplica la proiectele convent ionale care folosesc
aceleasi criterii de determinare a efortului DSI n timp ce modelele intermediare
sau detaliate se folosesc in alte cazuri care presupun corect ii legate de combinarea
calculelor de estimare a eforturilor.
Detalii privind aplicat iile practice si acuratet ea modelelor de tip COCOMO se
gasesc in [19] unde se rezuma o serie de sugestii si recomandari culese din literatura
de specialitate.
116 Cap.4. Modele privind optimizarea realizarii programelor
4.3.2 Modelul Walston-Felix
Acest model, prezentat in [19], construit n 1977 cu date culese n anii 60 de
la rma IBM estimeaza efortul E n funct ie de volumul S al produsului soft pe
baza formulei
E = S

. (4.38)
Folosind transformarile Y = log E, A = log , X = log S se obt ine ecuat ia de
regresie liniara
Y = A+X (4.38

)
iar cu metoda celor mai mici patrate se estimeaza si A precum si = e
A
.
Folosind datele istorice ment ionate, Walston si Felix au gasit formula estimativa

E = 5.2S
0.91
. (4.38

)
Ultima formula reprezinta o medie a efortului n raport cu volumul S al pro-
gramului. Aplicat n cazuri particulare modelul prezinta abateri ce depind de un
numar mare de factori ce inuent eaza indicele I al productivitat ii ecarui proiect
calculat cu formula
I =
nf

i=1
W
i
X
i
(4.39)
unde nf este numarul facorilor, X
i
are semnicat ia
X
i
=
_
_
_
1 daca factorul i creste productivitatea
0 daca factorul i este neinfluentabil
1 daca factorul i micsoreaza productivitatea
iar
W
i
=
1
2
log(L
i
) (4.39

)
si L
i
reprezinta rata de variat ie a productivitat ii lui i. In acest caz estimarea
efortului in raport cu productivitatea este
E =
S
L
unde S este volumul programului exprimat n numar de linii de cod-sursa.
Pentru proiecte soft de mare complexitate, n care intervin tot mai mult i factori
care inuent eaza productivitatea, formula (4.39) sembunatat este daca se schimba
scalele de valori si anume
E = S/P (4.40)
unde S este numarul miilor de linii-cod iar P este productivitatea medie a proiec-
tului exprimata n kilo-linii per om-luna.
Cap 4. Modele privind optimizarea realizarii programelor 117
4.4 Metamodelul Bailey-Basili
In [19] se prezinta urmatorul model, care cu notat iile de mai sus se bazeaza pe
relat ia
E = +S

(4.41)
unde este interpretat ca timpul init ial necesar pentru a nt elege proiectul inainte
de a ncepe programarea.
Folosind date istorice pentru un numar de proiecte dat N, Bailey si Basili
au estimat parametrii minimizand expresia sumei patratelor erorilor standard ale
estimat iilor
SSE =
N

i=1
_
1
+S

i
E
i
_
2
(4.42)
care in nal a condus la relat ia

E = 3.5 + 0.73S
1.16
(4.42

)
dar cu o eroare SSE = 1.25 destul de mare. Pentru a reduce aceasta eroare se
foloseste factorul multiplicativ de ajustare E
adj
ce leaga eforturile estimate

E
i
de
valorile observate E
i
prin formula
ER
adj
=
_
R 1 daca R > 0
1
1
R
daca R < 0,
(4.43)
unde R = E/

E. Efortul corectat satiface deci ecuat ia
E =
_
(1 +ER
adj
)

E daca ER
adj
> 0

E(1 +|ER
adj
|) daca ER
adj
< 0.
(4.44)
Pentru a mbunatat i estimat ia efortului s-a propus o extinderee care ia n
considerat ie alt i factori ce inuent eaza costul proiectului cum ar metodologia de
proiectare-programare, complexitatea proiectului si experient a personalului proiec-
tant. Modelul care exprima efortul in acest caz este dat de ecuaria de regresie
multipla
ER
adj
= +METH +CPLX +EXP (4.45)
unde METH este masurata de o scala de noua valori ntre 0 si 5 care corespunde
celor trei tipuri de scheme (logice,diagrame de structura si diagrame de sistem),
proiectarii top-down, documentarii formale, echipei programatorului sef, planurilor
formale de testare,etc. Marimea CPLX este complexitatea masurata de o scala de
sapte valori masurate tot ntre 0 si 5 (care include caracteristici ale complexitat ii
118 Cap.4. Modele privind optimizarea realizarii programelor
interfet elor cu utilizatorul, complexitatea aplicat iilor, complexitatea uxului de
programe, complexitatea comunicarii interne, complexitatea bazei de date, com-
plexitatea comunicarii externe si complexitatea modicarilor ce pot facute de
utilizatori). Marimea EXP este valoarea experient ei personalului, exprimata de
o scala de cinci valori tot ntre 0 si 5 (care include calicarea programatorilor,
experient a de utilizare a computerului de catre personal, experient a personalului
de a dezvolta aplicat ii si de a lucra n echipa).
In aplicat ii se recomanda ca efortul de realizare a softului E sa e determinat
atat cu formula (4.42) cat si cu formula (4.45).
4.5 Modele de tip Putnam
In aceasta categorie intra modelele care se ocupa de repartit ia (n timp ) a efortului
uman consumat in product ia de software. Vom prerzenta mai ntai modelul original
al lui Putnam [19], iar apoi cateva versiuni de interes practic.
O curba care indica numarul de persoane implicate n procesul de proiectare-
implementare a unui produs soft n raport cu timpul are forma unui clopot asi-
metric ce s-a dovedit a aproape identic cu gracul densitat ii de repartit ie de tip
Rayleygh (Fig.4.1). Aceasta repartit ie satisface ecuat ia diferent iala
dy
dt
= 2Kate
at
2
(4.46)
unde dy/dt este rata de variat ie n timp a fort ei de munca, t este timpul scurs de
la nceperea proiectului, a este o constanta ce determina forma curbei, iar K este
o constanta de normare ( a densitat ii). Integrand se obt ine
y(t) = K(1 exp(at
2
)) (4.46

)
unde y(t) este numarul cumulat al personalului utilizat pana la momentul t.
Cap 4. Modele privind optimizarea realizarii programelor 119
6
-
y
t
Fig.4.1 Curba lui Rayleigh.
Din (4.46) se observa ca daca t atunci y K, deci K reprezinta efortul
total cumulat (n termeni de personal) de-alungul ciclului de viat a al prdusului
soft inclusiv efortul de ntret inere. In efortul uman consumat nu intra studiile
de fezabilitate, de analiza colaterala in vederea realizarii proiectului. Formula
(4.46) sugereaza ca timpul necesar elaborarii primei versiuni a produsului soft
este momentul t
d
care corespunde maximului lui y(t), adica
t
d
=
_
1
2
a
_
1/2
(4.47)
obt inut ca solut ie a ecuat iei y

(t) = 0. De aici rezulta ca efortul uman E pentru


livrarea primei versiunu a softului este
y(t
d
) = k[1 e
1/2
] 0.349K = E. (4.47

)
Se pot considera cateva extensii ale modelului lui Putnam.Astfel, s-a observat
ca proiectele realizate cu o productivitate mare folosesc la inceput o rata afort ei de
munca mai redusa n timp ce proiectele cu productivitate mica folosesc ilustreaza
o rata de crestere mare a personalului la nceput. Aceasta rata init iala a fort ei de
munca este interpretata ca dicultatea D a proiectului si se obt ine din diferent ierea
lui (4.46) n punctul t
d
, adica
D =
K
t
2
d
. (4.48)
Putnam a presupus ca exista o legatura ntre dicultatea D si productivitatea
L de forma
L = D

(4.47

)
120 Cap.4. Modele privind optimizarea realizarii programelor
iar pe de-alta parte
L =
S
s
E
(4.48

)
unde S
s
este numarul de mii de linii cod (program) produse. Folosindu-se metoda
regresiei neloiniare s-a gasit ca = 2/3 de unde din (4.48) se deduce
S
s
= D
2/3
(0.349K). (4.49)
Din relat iile precedente se deduce ca
S
s
= C
_
K
t
2
d
_
2/3
K = CK
1/3
(t
d
)
4/3
(4.50)
unde C este interpretat ca factor de tehnologie.
Formula (4.50) poate considerata ca relat ie fundamentala ntre efort si timp.
Pentru diferite proiecte s-au stabilit 20 valori ale lui C variind de la 610 la 57314,
valori ce depind de factori ca: restrict ii de hardware, experient a personalului si
mediul de programare. In plus Putnam a propus urmatoarea relat ie
D
0
=
K
t
3
d
(4.51)
unde D
0
este o constanta interpretata ca accelerat ia fort ei de munca ce poate lua
valori discrete depinzand de tipul proiectului si anume: D
0
= 7.3 pentru un produs
soft nou cu multe interfet e ce interat ioneaza cu un alt sistem; D
0
= 15 pentru
sisteme noi de sine statatoare; D
0
= 27 pentru sisteme reproiectate. In total sunt
propuse sase valori pentru D
0
. Formula lui D
0
s-a obt inut prin derivarea lui (4.48),
iar relat ia a fost testata empiric pe un numar de proiecte particulare.
Relat ia (4.51) este esent iala pentru estimari deoarece combinandu-o cu (4.50)
se obt in formulele
t
d
=
_
S
3
s
D
0
C
3
_
1/7
(4.52)
K =
_
S
s
C
_
9/7
(D
0
)
4/7
(4.53)
care se refera numai la un singur parametru legat de costuri, K sau t
d
.
Modelarea ciclului de viat a al componentelor. Formula lui Raileygh
se utilizeaza si pentru ecare faza a ciclului de viat a al proiectului (de ex. denirea
specicat iilor, proiectare si codicare, testare si validare, ntret inere etc.) astfel
ca formula referitoare la ntreg proiectul devine rezultatul combinarii unor for-
mule referitoare la faze. De exemplu, pentru proiectare si codicare (faza cea mai
Cap 4. Modele privind optimizarea realizarii programelor 121
importanta a execut iei proiectului) rata efortului uman se exprima tot printr-o
relat ie de tip (4.46)
dy
1
dt
= 2K
1
bt exp{bt
2
} (4.54)
unde K
1
este efortul total cumulat pe faza iar
b =
1
2(t
1d
)
2
analog lui (4.47). Deoarece dezvoltarea fazei ncepe odata cu dezvoltarea proiec-
tului rezulta ca
K
t
2
d
=
K
1
t
2
1d
. (4.55)
Putnam face ipoteza ca timpul de dezvoltare al proiectului t
d
corespunde la 95%
din timpul total de proiectare si codicare de unde rezulta
1 exp{bt
2
d
} = 0.95
iar daca t inem seama de valoarea lui b avem
0.05 = exp{
t
2
d
2t
2
1d
}, 2 log 0.05 =
_
t
d
t
1d
_
2
,
t
d
t
1d
6
1/2
. (4.56)
Folosind (4.56) relat ia (4.55) devine
K
1
=
K
6
. (4.55

).
Se poate constata ca o consecint a a relat iei (4.50) este ca marimea K variaza invers
in rapport cu puterea a patra a lui t
d
, adica
K =
_
S
s
C
_
1
t
4
d
. (4.57)
Pentru estimarea lui K din (4.57) ar trebui estimat mai ntai C, S
s
si t
d
precum si
D
0
care a fost discutat mai sus.
Versiunea lui Parr. Ipoteza ca marimea fort ei de munca (efortului) pentru
realizarea unui produs soft ar avea forma unei curbe Raileygh (ce porneste de la
zero, creste n timp si apoi scade la zero), a fost criticata din considerente practice.
S-a propus [19] sa se foloseasca, mai ales n vecinatatea momentului t = 0 relat ia
dy
dt
= m(t) =
1
4
sech
2
[
at +c
2
] (4.58)
122 Cap.4. Modele privind optimizarea realizarii programelor
unde a si c sunt parametri ce determina forma curbei. Modelul Raileygh si modelul
Parr (4.58) se aplica impreuna; pe un interval [0, t
0
] se aplica relat ia lui Parr (care
la momentul init ial nu mai corespunde valorii zero a ratei de variat ie a efortului
uman!), iar apoi, pe (t
0
, ) se aplica relat ia lui Raileygh (4.46).
Versiunea lui Jensen.Acest model [19] presupune ca relat ia de baza este
S
s
= C
tc
t
d
K
2
(4.59)
unden afara de notat iile deja introduse intervine constanta de ecient a tehnologica
C
tc
dat de relat ia
C
tc
= C
tb
ls

i=1
f
i
(4.60)
unde f
i
este masura costului activitat ii i a modelului COCOMO.
4.6 Versiuni ale modelului COCOMO sau asemanatoare
Modelul COCOMO pentru planicare. Conform COCOMO, timpul de
dezvoltare planicat al proiectului TDEV este dat de relat ia
TDEV = (MM)

(4.61)
unde MM, masurat n oameni-luni, este efortul uman utilizat pentru a realiza
produsul soft; constantele sunt = 2.5, iar depinde de tipul de model COCOMO
folosit (organic, semidetasat, elaborat) si ia respectiv valorile 0.38; 0.35; 0.32.
Modelul COPMO. Acest model descrie relat iile dintre necesarul de per-
sonal, efortul global si marimea proiectului. El (COPMO) nseamna COoperative
Programming MOdel. Numarul personalului P
a
se exprima astfel
P
a
=
E
T
(4.62)
unde E este efortul exprimat n oameni-luni si T este durata exprimata n luni.
Pentru calculul efortului se propune formula
E = E
P
(S) +E
c
(P
a
) (4.63)
unde E
P
este efortul necesar pentru una sau mai multe persoane care lucreaza
independent la realizarea de module care nu necesita interact iuni cu alte module,
S este volumul total al softului exprimat n mii de linii de cod (program), E
c
este
efortul cerut de coordonarea activitat ilor programatorilor din echipa, iar P
a
este
m arimea medie a echipei data de (4.62). In plus se presupune ca
E
P
(S) = a +bS, E
c
(P
a
) = c(P
a
)
d
, (4.64)
Cap 4. Modele privind optimizarea realizarii programelor 123
adica n nal (4.63) devine
E = a +bS +c(P
a
)
d
. (4.55)
Estimarea parametrilor a, b, c, se face cu ajutorul metodei celor mai mici patrate
n doua etape si anume:
- se determina parametri a,

b cu metoda regresiei liniare folosind date istorice


pentru care P
a
1;
- cu a,

b determinat i, folosind date istorice pentru care P


a
= 1 se determina
c, d din modelul de regresie liniarizabil
E

E
P
(S) = c(P
a
)
d
. (4.66)
Modelul lui Jeery. O alternativa a modelului COPMO [19] se datoreaza
lui Jeery si are forma
L = aS
b
M
c
(4.67)
unde S este ca mai nainte volumul, L este productivitatea (L = E/T) iar nivelul
maxim al personalului este M. Parametri a, b, c ai acestui model se estimeaza cu
usurint a prin metoda celor mai mici patrate deoarece modelul este liniarizabil.
Modelul COPMO si versiunea lui Jeery evident iaza n aplicat ii ca efortul
creste cand nivelul mediu al personalului creste.
Dupa cate se observa, modelele acestei ultime sect iuni sunt importante pentru
planicarea si urmarirea practica a execut iei proiectelor soft.
Totusi, n aplicat iile practice nu trebuie sa se ia decizii numai pe baza unui
singur model, deoarece nici ipotezele modelului respectiv nu pot n totalitate
satisfacute si nici datele de intrare ale modelului nu pot culese fara a afectate
de erori mai ales intamplatoare. De aceea pentru modelele utilizate, care estimeaza
aceleasi caracteristici de complexitate, de calitate sau de abilitate, precum si care
estimeaza parametri statistici, este necesar sa se calculeze (estimeze), n masura
posibilitat ilor, erori medii patratice sau erori relative, care pot da informat ii despre
acuratet ea modelelor. Pe baza acestor erori medii patratice se poate alege modelul
cel mai bun (cu cea mai mica eorare) in cazul concret dat.
In nal sa observam ca modelele bazate pe costuri folosesc si metricile de
complexitate a programelor ce vor prezentate in capitolul 6.
Proba de control
1. Durata in funct ionare (aleatoare) are repartit ia Lomax(a, ), a, > 0. Sa
se calculeze timpul mediu pana la urmatoarea cadere notat L(t), cand ne aam la
momentul t.
124 Cap.4. Modele privind optimizarea realizarii programelor
Indicat ie. Se foloseste formula (4.2) unde
F(t) =
1
(1 +t)
a
, t > 0.
Dupa efectuarea calculelor se obt ine in nal
L(t) =
1 +t
a 1
.
2. Fiind date:T
LC
=durata ciclului de viat a al programului; T = timpul total
de testare pana la darea in utilizare a programului; w(t) = funct ia efort de testare
(exprimata convent ional in unitat i banesti) data de expresia
w(t) = kt +b;
C
1
= costul unei unitat i de timp de testare; C
2
= costul corectarii unei erori
in cursul testarii; C
3
= costul corectarii unei erori dupa darea programului in
exploatare;
Sa se determine timpul optim de testare T

.
Indicat ie. Din formula (4.5) rezulta ca numarul mediu de erori m(t) = E[N(t)]
detectate pana la momentul t este
m(t) = N
0
(1 e
K
t
2
2
)
unde N
0
este numarul init ial de erori iar este intensitatea procesului Poisson
N(t). Conform formulei (4.7) T

se determina din relat ia


A(T) =
dm(t)
dt
1
w(t)
=
C
1
1
C
3
C
2
.
In cazul nostru se rezolva ecuat ia in t
(N
0
m(t)) =
C
1
1
C
3
c
2
= S.
Tinand seama de expresia de mai sus a lui m(t) rezulta
N
0
e
K
t
2
2
= S
adica
T

2
K
log (
S
N
0

).
Cap 4. Modele privind optimizarea realizarii programelor 125
3. Un produs soft ce urmeaza a realizat va cont ine aproxomativ DSI =
1300 mii linii de program sursa. El este considerat ca ind de marime medie
si va utilizat pentru scopuri restranse. Sa se determine efortul de realizare a
produsului soft MM
mon
exprimat in oameni-luni. Sa se calculeze apoi efortul
anual de intret inere a softului MM
AM
cand tracul anual al modicarilor este
ACT = 9.
Indicat ie. Se foloseste tabelul dinsect iunea 4.3.1 si formula (4.35) de unde
rezulta
MM
mon
= 3.0(1300)
1.20
.
Efortul anual de intret inere este conform formulei (3.47) MM
AM
= ACTMM
mon
= 9 3.0(1300)
1.20
.
4.Precizat i modele care exprima efortul de realizare a unui produs soft.
Indicat ie. Modelele de tip Walston-Felix determina efortul de realizare E ex-
primat in oameni luni in funct ie de de volumul S al softului exprimat in mii de
linii cod (formulele (4.38) si (4.38)). Acelas efort E se calculeaza in termeni
de productivitatea medie P exprimata in kilo-linii per om-luna (formula(4.40)).
Modelul Bailey-Basili determina E in termeni de S prin formulele (4.41) (4.42)
cu corect iile (4.43) (4.44).
5. La ce folosesc modelele de tip Putnam.
Indicat ie. Aceste modele permit:
- Calcului mumarului y(t) al personalului utilizat in elaborarea softului pana
la momentul t (formula (4.46)) si timpului t
d
necesar elaborarii primei versiuni
a softului (formulele (4.47), (4.52)) precum si al efortului cumulat total K =
lim
t
y(t);
- Dicultatea D a proiectului (data de (4.48));
- Legatura intre D si productivitatea L (formula (4.47));
- Versiunea lui Jensen (formula (4.59)) care leaga intre ele t
d
, K, S de constanta
tehnologica C
tc
.
6. Ce elemente legate de realizarea unui produs soft determina versiunile
modelului COCOMO din sect iunea (4.6)?
Indicat ie. a). Modelul COCOMO pentru planicare determina timpul de
dezvoltare planicat al produsului soft TDEV in termeni de fort a de munca MM
(formula (4.61));
b). Modelul COPMO exprima personalul necesar P
a
in funct ie de efortul
necesar E si de perioada (durata) de execut ie a proiectului T (vezi formulele (4.62)-
(4.66)).
c). Modelul lui Jerey exprima relat ia intre volumul softului S, productivitatea
L si nivelul maxim necesar al personalului M (vezi formula (4.67)).
Cap.5. ModeleBayessiene pentru abilitatea programelor 127
7. Enumerat i cateva modele de alegere optima a produselor soft de pe piet e
alternative.
Indicat ie. Modelele din sect iunea 4.2.1 referitoare la programe ce realizeaza
anumite funct ii date; Modelele din sect iunea 4.2.2 referitoare la produse soft cu
structura modulara.
5 Modele Bayesiene pentru abilitatea pro-
gramelor
5.1 Introducere in analiza Bayesiana
De obicei modelele Bayessiene se construiesc si utilizeaza atunci cand se cunoaste
de la nceput ceva despre parametri ce trebuie estimat i, sau cum se mai spune,
se cunoaste o informat ie apriorica despre acesti parametri [6,8,12,24,35]. Sa pre-
supunem ca parametrul real este , cu R. Se presupune ca informat ia
asupra lui este cunoscuta in sensul ca este o variabila aleatoare a carei densi-
tate de rerpartit ie (dr) este o funct ie g() cunoscuta, numita densitate de repartit ie
apriori. Daca t
i
, 1 i n, t
i
= T
i
T
i1
sunt datele de observat ie asupra du-
ratelor de funct ionare, (amintim ca T
i
sunt momentele caderilor pe axa timpului
operat ional) atunci notand t = (t
1
, t
2
, ..., t
n
)

vectorul de select ie si cu f(t|) den-


sitatea de repartit ie a duratei in funt ionare, rezulta ca funct ia de verosimilitate
(numita verosimiltate apriorica) este
f(t|) =
n

i=1
f(t
i
|). (5.1)
Atunci funct ia de verosimilitate aposteriorica este
f(t|a, b, ...) =

f(t|)g(, a, b, ...)d, (5.1

)
unde a, b, ... sunt parametri de care depinde densitatea de repartit ie apriorica g a lui
. Se observa ca funct ia de verosimilitate aposteriorica este mixtura sau amestecarea
funct iei de verosimilitate apriorica cu densitatea de repartict ie apriorica a lui .
Conform formulei lui Bayes funct ia de densitate aposteriorica a lui este
h(|t) =
f(t|)g()

f(t|)g()d
. (5.2)
128 Cap.5. Modele Bayesiene pentru abilitatea programelor
In analiza bayesiana, cand se cauta o estimat ie (numita estimat ie bayessiana)

a
lui , se considera o funct ie de pierdere l(,

) care este o masur a a important ei
erorii de estimare. A determina estimat ia bayesiana

a lui inseamna a determina
aceasta estimat ie minimizand pierderea medie n raport cu densitatea de repartit ie
aposteriory, adica minimizand funct ia
E[l(,

)] =

l(

)h(|t)d, . (5.3)
Funct ia de pierdere l(,

) poate aleasa n mai multe moduri; doua dintre acestea
vor considerate n cele ce urmeaza.
Funct ia de pierdere patratica. Aceasta este de forma
l(,

) = c(

)
2
, R (5.4)
unde c este o constanta de proport ionalitate. Condit ia de minim este
dE[l(,

)]
d
= 2c

)h(|t)d = 0
care n nal devine

h(|t)d (5.4

)
adica estimat ia

este media lui in raport cu repartit ia sa aposteriorica.
Funct ia de pierdere-valoare absoluta. Aceasta este de forma
l(,

) = |

|, = R. (5.5)
Condit ia de minim conduce la

= mediana, adica

satisface condit ia

h(|t)d =

h(|t)d. (5.5

)
In concluzie, pentru a efectua analiza bayesiana asupra unui parametru ce trebuie
estimat, este necesar mai ntai sa stim densitatea de repartit ie apriorica g() a lui ,
apoi sa determinam densitatea de repartit ie aposteriorica h(|t) a lui iar n nal sa
determinam media sau mediana lui n raport cu repartit ia aposteriorica. Aceste
ultime elemente

(adica media sau mediana) constituie estimat iile bayasiene ale
lui .
Media aposteriorica. Daca n loc de densitatea aposteriorica h(|t) a lui
consideram funct ia de verosimilitate aposteriotica de forma g(t|a, b, ...) (depinzand
de parametri necunoscut i), atunci ne putem pune problema estimarii parametrilor
Cap.5. ModeleBayessiene pentru abilitatea programelor 129
a, b, ... Acesti parametri se estimeaza de obicei cu metoda verosimilitat ii maxine
(sa-i notam a,

b, ..) iar estimat ia bayessiana este n acest caz valoarea medie apos-
teriorica a lui , adica
=

g(, a,

b, ...)d. (5.5

)
In cele ce urmeaza vom studia versiunile bayesiene ale unor modele clasice de
abilitatea programelor, tratate n capitolele 2 si 3.
5.2 Modelul lui Littlewood-Veral
Presupunem [24,35] ca intervalul de timp t
i
dintre a (i 1)a si a ia cadere are
repartit ie exponent iala de parametru
i
, 1 i N
0
, adica are d.r.
f(t
i
|
i
) =
i
exp(
i
t
i
). (5.6)
Presupunem de asemenea ca parametrul
i
este aleator si are repartit ia apriori de
tip Gamma(0, (i), ), adica are dr
g(
i
|, (i)) =
[(i)]

()

i
1
e
(i)t
i
(5.7)
unde este parametrul de forma iar (i) este parametrul de scala care depinde
de eroarea a ia detectata. Ultimul parametru descrie deobicei calitatea testarii
si este crescator in i. Din acest fapt se deduce ca
i
este stochastic descrescator in
i, adica
P(
i
) P(
i1
).
Densitatea de repartit ie aposteriori a lui t
i
cand se da si (i) este
f(t
i
|, (i)) =

0
f(t
i
|
i
)g(|
i
, (i))d
i
=
=

i
exp(
i
t
i
)
[(i)]

exp((i)
i
)
()
d
i
=
[(i)]

[t
i
+ (i)]
+1
.
Deci funct ia de repartit ie aposteriori a lui t
i
cand se da si (i) este
F(t
i
|, (i)) = 1
_
(i)
t
i
+ (i)
_

(5.8)
de unde rezulta ca rata caderilor aposteriori este
(t
i
|, (i)) =

t
i
+ (i)
. (5.8

)
130 Cap.5. Modele Bayesiene pentru abilitatea programelor
Se observa ca n ipotezele acestui model, timpul dintre caderi are o repartit ie
aposteriori de tip Pareto care este o repartit ie de tip DFI.
Funct ia de verosimilitate aposteriorica a select iei t
1
, t
2
, ..., t
n
este
f(t
1
, t
2
, ..., t
n
|, (i)) =

n
n

i=1
[(i)]

i=1
[t
i
+ (i)]
+1
. (5.9)
Pentru a duce pana la capat aplicarea metodei verosimilitat ii (aposteriorice) maxime
vom considera cateva forme particulare ale lui (i).
Cazuri particulare. Presupunem [24,25,35] mai intai ca
(i) =
0
+
1
i
unde
0
si
1
sunt parametri ce trebuie estimat i. Atunci funct ia de verosimilitate
aposteriorica devine
L(t
1
, t
2
, ..., t
n
|,
0
,
1
) =

n
n

i=1
[
0
+
1
i]

i=1
[t
i
+
0
+
1
i]
+1
. (8.10)
Condit iile de maxim pentru funct ia de verosimilitate aposteriorica conduc la urmatorul
sistem de ecuat ii in ,
0
,
1
log L

= n +
n

i=1
[log(
0
+
1
i) log(t
i
+
0
+
1
i)] = 0
log L

0
=
n

i=1
_

0
+
1
i

+ 1
t
i
+
0
+
1
_
= 0 (5.10)
log L

1
=
n

i=1
_
i

0
+
1
i

( + 1)i
t
i
+
0
+
1
i
_
= 0.
Eliminand pe din cele trei ecuat ii obt inem urmatoarele doua ecuat ii n
0
si
1
n

n
i=1
[log(t
i
+
0
+
1
i) log(
0
+
1
)]
=

n
i=1
1
t
i
+
0
+
1
i

n
i=1
_
1

0
+
1
i

1
t
i
+
0
+
1
i
_

n
i=1
1
t
i
+
0
+
1
i

n
i=1
_
1

0
+
1
i

1
t
i
+
0
+
1
i
_ =

n
i=1
i
t
i
+
0
+
1
i

n
i=1
_
i

0
+
1
i

i
t
i
+
0
+
1
i
_.
Cap.5. ModeleBayessiene pentru abilitatea programelor 131
Daca punem aceste ecuat ii sub forma

0
= f
0
(
0
,
1
, t),
1
= f
1
(
0
+
1
, t) (5.11)
si consideram vectorul coloana f = (f
0
, f
1
)

si = (
0
,
1
)

atunci sistemul de
ecuat ii capata urmatoarea forma vectoriala
= f (, t). (5.11

)
Pornind cu o aproximare init iala
(0)
o solut ie numerica

se obt ine prin urmatorul


procedeu iterativ
i := 0
repeat

i+1
= f (
i
, t)
until ||
i+1

i
||
unde este un numar pozitiv, sucient de mic (eroarea de aproximat ie).Solut ia

a sistemului este media celor doua valori


i
,
i+1
sau oricare dintre ele.
Alta forma a lui (i) poate
(i) = exp(
0
+
1
i).
In acest caz funct ia de logverosimilitate aposteriorica este
l = log L = nlog +
n

i=1
(
0
+
1
i)
n

i=1
( + 1) log(t
i
+ exp(
0
+
1
i)). (5.12)
Condit iile de optim (adica de maximum al verosimilitat ii n vederea estimarii
parametrilor ,
0
,
1
) conduc la urmatorul sistem de ecuat ii
n

+
n

i=1
(
0
+
1
i)
n

i=1
log(t
i
+ exp(
0
+
1
i)) = 0
n ( + 1)
n

i=1
exp(
0
+
1
i)
t
i
+ exp(
0
+
1
i)
= 0 (2.13)

i=1
i ( + 1)
n

i=1
i exp(
0
+
1
i)
t
i
+ exp(
0
+
1
i)
= 0.
Eliminand pe ntre a treia ecuat ie si prima ecuat ie obt inem urmatorul sistem
de ecuat ii neliniare in parametri
0
,
1
n
2
=
_
n

i=1
log(t
i
+ exp(
0
+
1
i)
n

i=1
(
0
+
1
i) +n
_
.
n

i=1
exp(
0
+
1
i)
t
i
+ exp(
0
+
1
i)
;
132 Cap.5. Modele Bayesiene pentru abilitatea programelor
_
n(n + 1)
2

n

i=1
exp(
0
+
1
i)
t
i
+ exp(
0
+
1
i)
_
.
n

i=1
exp(
0
+
1
i)
t
i
+ exp(
0
+
1
i)
=
=
_
n

i=1
6
exp(
0
+
1
i)
t
i
+ exp(
0
+
1
i)
_
.
n

i=1
iexp(
0
+
1
i)
t
1
+ exp(
0
+
1
i)
.
Acest sistem poate rezolvat numeric ntr-un mod asemanator sistemului (5.11).
Odata ce estimat iile lui
0
,
1
sunt calculate, estimat ia lui se poate determina
de exemplu din cea de-a doua ecuat ie (2.13).
Versiunea lui Musa. Musa [25] presupune ca (i) este de forma
(i) =
N
0
T
0

N
0
i
(5.14)
unde N
0
este numarul mediu de erori din soft pe perioada sa de viat a, T
0
este val-
oarea medie a timpului init ial de cadere si este parametrul de forma al repartit iei
apriorice gamma a lui
i
.
Funct ia de verosimilitate aposteriorica a lui t cand se da N
0
, T
0
, este
L(t|, N
0
, T
0
) =
(N
0
T
0
)
n

n
i=1
(N
0
i)

n
i=1
[(t
i
(N
0
i) +N
0
T
0
)(N
0
i)]
+1
.
Punand condit iile de maxim funct iei de logverosimilitate aposteriorica log L obt inem
urmatorul sistem de ecut ii in , N
0
, T
0
=
n

n
i=1
log (t
i
(N
0
i) +N
0
T
0
) +

n
i=1
N
0
T
0
(t
i
(N
0
i) +N
0
T
0
)
1
N
0
=
n
( + 1)

n
i=1
(t
i
+T
0
)(t
i
(N
0
i) +N
0
T
0
)
1

n
i=1
(N
0
i)
1
(5.15)
T
0
=
n
( + 1)

n
i=1
N
0
(t
i
(N
0
i) +N
0
T
0
)
1
.
Observam ca acest sistem este de forma
= F
1
(, N
0
, T
0
); N
0
= F
2
(, N
0
, T
0
); T
0
= F
3
(, N
0
, T
0
)
care este asemanator cu (5.11) si prin urmare poate rezolvat numeric prin algo-
ritmul descris mai inainte.
5.3 Versiunea bayessiana a modelului Jelinski-Moranda
Modelul J-M este cel cunoscut. Se presupune ca timpul de funct ionare dintre
caderi t
i
are o repartit ie exponent iala de parametru
i
= (N i + 1) unde
este intensitatea de aparit ie a caderii (erorii) pentru ce-a de-a ia cadere si N
Cap.5. ModeleBayessiene pentru abilitatea programelor 133
este numarul init ial de erori din soft. Variabilele t
i
sunt stochastic independente.
Versiunea bayessiana presupune [9,13,18] ca N are o repartit ie discreta
P(N = k) =
k
, k = 0, 1, 2, ...

k0

k
= 1 (5.16)
si are repartit ia Gamma(0, a, b) adica are densitatea de repartit ie
g() =
a
b
(b)

b1
e
a
, 0. (5.16)
Funct ia de verosimilitate apriorica este
f(t|N, ) =
n

i=1
[(N i + 1))]e

n
i=1
(Ni+1)t
i
.
Densitatea de repartit ie aposteriorica a lui (N, ) cand se da t este
g(N = k, |t) =
=

n
[

n
i=1
(k i + 1)].e

n
i=1
(ki+1)t
i

b1
e
a

n
l=1

0
(l i + 1).
n+b1
.e
(a+

i
(li+1)t
i
d
, k n
care se mai scrie
g(N = k, |t) =

b+n1
e
(a+T
n,k
)
(b +n)

i=1
j!
(jn)!

j
.(a +T
n,j
)
bn
(5.17)
unde
T
n,k
=
n

i=1
(k i + 1)t
i
, k n. (5.17

)
Repartit ia aposteriorica a lui cand N = k = const si se da t este
Gamma(0, a

, b

), a

= a +T
n,k
, b

= b +n (5.18)
adica densitatea sa aposteriorica de repartit ie este
g(|t) =

b+n1
e
(a+T
n,k
(b +n)[a +T
n,k
]
(b+n)
. 5.18

)
Repartit ia aposteriorica marginala a lui N (cand se da t) este
P(N = k|t) =
k!
(kn)!
(a +T
n,k
)
bn

j=n
j!
(jn)!
(a +T
n,k
)
bn

j
. (5.19)
134 Cap.5. Modele Bayesiene pentru abilitatea programelor
Din (5.19) rezulta ca se poate calcula estimat ia bayessiana

N a lui N cand funct ia
de pierdere este patratica si anume

N =

k=0
kP(N = k|t) (5.19

)
care se poate calcula numeric, aproximand seriile prin sume nite cu sucient de
mult i termeni.
Un caz special se obt ine cand N este variabila aleatoare constanta cu valoarea
N = k
0
cunoscuta si are o repartit ie apriorica Gamma(0, a, b). In acest caz
repartit ia aposteriorica a lui cand se da t este de asemenea Gamma(0, a

, b

), a

=
a +T
n,k
0
, b

= b +n.
Un alt caz special se obt ine cand = const =
0
si N are repartit ia
apriorica Poisson(). De aici se deduce asemanator formulei (5.17) ca funct ia de
verosimilitate a lui cand se da t este forma
L(N = k|t) = q
k!
(k n)!

n
0
e

0
T
n,k
, q = const, k n.
Folosind formula lui Bayes din $ 5.1 deducem ca repartit ia aposteriorica a lui N
este de forma
P(N = k|t) =

k
(kn)!
e

0
T
n,k

l=1

l
(ln)!
e

0
T
n,l
.
Daca acum folosim relat iile
T
n,l
= lT
n
T
n

n

i=1
iT
i
, T
n
=
n

i=1
t
i
deducem expresia nala a repartit iei aposteriorice a lui N cand se da t
P(N = k|t) =
[e

n
i=1
t
i
]
kn
(k n)!
exp{e

n
i=1
t
i
}, k n. (5.20)
Se observa ca repartit ia aposteriorica a lui Nn este o repartit ie Poisson de medie
(t
1
, t
2
, ..., t
n
) = e

n
i=1
t
i
adica estimat ia bayessiana a lui N este

N = n +(t
1
, t
2
, ..., t
n
). (5.20

)
Deci (5.20) este estimat ia numarului init ial de erori din soft considerat in modelui
clasic al lui Jelinski-Moranda.
Cap.5. ModeleBayessiene pentru abilitatea programelor 135
Alte versiuni ale modelului J-M. Presupunem [18] ca are o repartit ie
apriorica Gamma(0, d, c), N este Poisson() si t
i
este exponent iala de parametru
(i 1). In acest caz dandu-se si funct ia de verosimilitate a lui t este
L(t|, ) =
()
n
.e
T
n,n
. exp ((1 e
t
))
n!
, t =
n

i=1
t
i
. (5.21)
Presupunand ca t >> 1 rezulta ca (5.21) devine
L(t|, ) =
()
n
exp (T
n,n
)
n!
. (5.21

)
Acum daca luam ca repartit ie apriorica pentru , repartit ia Gamma(0, b, a), atunci
se poate deduce ca repartit ia aposteriorica a lui cand se da t este Gamma(0, b

, a

)
unde b

= b + 1, a

= a + n si repartit ia aposteriorica a lui cand se da t este


Gamma(0, d

, c

) cu parametri c

= c +n, d

= d +T
n,n
adica
p(|t) =
(d +T
n,n
)
c+n
(c +n)

c+n1
e
(d+T
n,n
)
. (5.22)
Acum daca notam N = N n numarul de erori ramase (ne detectate), atunci, n
ipotezele anterioare, dupa calcule, se obt ine repartit ia aposteriorica a lui N cand
se da t (si cand repartit iile aposteriorice ale lui si sunt cele precizate anterior)
de forma
p(N|t) = K
(a

+N)
(a

)N(b

)
N
_
d

+Nt
_
c

(5.23)
unde K este o constanta de normare.
Se poate obt ine o aproximare numerica a estimat iei bayessiene a lui N si anume
o aproximare cu o suma nita a seriei

N =

i=1
N.p(N|t). (5.23

)
Un model depinzand de probabilitatea de a avea eroare. Presupunem
ca abilitatea depinde de probabilitatea p de a avea eroare, iar daca exista erori
n soft atunci presupunem ca intervalul de timp dintre aparit ia a doua erori con-
secutive este exponent ial de parametru . Atunci abilitatea este
R(t | , p) = (1 p) +pe
t
. (5.24)
De aici rezulta ca daca T este perioada pe care s-a realizat testarea si daca selec
tia (notata ca mai sus) este t = t
1
, t
2
, ..., t
n
atunci verosimilitatea apriorica este
f(t | , p) =
_
_
_
(1 p) +pe
t
, n = 0
(T)
n
n!
e
T
n > 0, T =

i
t
i
,
(5.24

)
136 Cap.5. Modele Bayesiene pentru abilitatea programelor
unde pentru n > 0 se ia p = 1 deoarece n acest caz sigur s-au detectat erori. Deci
cazul interesant este cand n > 0, cand presupunem ca p = 1 si ca repartit ia apriori
a lui este Gamma(0, a, b) adica
h() =
a
b
(b)

b1
e
a
. (5.25)
Dupa calcule simple se deduce ca verosimilitatea aposteriori a lui este
h( | t) =
(a +T)
n+b
(a +T)

n+b1
e
(a+T)
(5.25

)
adica media si dispersia lui sunt respectiv
E() =
b +n
a +T
, V ar() =
b +n
(a +T)
2
. (5.25

)
Daca n = 0 sa presupunem ca repartit ia lui p este Beta(c + 1, d + 1) adica are
densitatea apriori
g(p) =
1
B(c + 1, d + 1)
p
c
(1 p)
d
, p [0, 1], c + 1 > 0, d + 1 > 0. (5.26)
Atunci funct ia de verosimilitate aposteriori si media aposteriori sunt respectiv
g(p | T) =
(c +d + 2)(c +d + 2)[p
c
(1 p)
d+1
+p
c+1
e
T
]
(c + 1)(d + 1)[d + 1 + (c + 1)e
T
]
(5.26

)
E[p | T] =
c + 1
c +d + 3
_
1
e
T
d + 1 + (c + 1)e
t
_
.
Pentru estimarea parametrilor a si b cand n = 0 se maximizeaza funct ia de
verosimilitate (5.25) iar pentru estimarea parametrilor c si d (cand n > 0) se
maximizeaza funct ia de verosimilitate (5.26). Calculul efectiv al acestor estimat ii
se realizeaza cu metode numerice.
5.4 Un model bayessian ce foloseste repartit ia geomet-
rica
Presupunem [35] ca R
i
este abilitatea softului n faza a ia de testare. (O faza
de testare consta din mai multe testari individuale, numite cazuri de testare). Fie
X
i
numarul de cazuri de testare n faza a ia de testare (depanare) pana cand
apare o cadere (eroare de program). Deci X
i
este o variabila aleatoare discreta
care presupunem ca are o repartit ie geometrica de parametru R
i
adica
P(X
i
= k) = R
k1
i
(1 R
i
), k 1. (5.27)
Cap.5. ModeleBayessiene pentru abilitatea programelor 137
Sa presupunemn plus ca R
i
are o repartit ie apriorica de tip Beta(a, b), adica are
densitarea de repartit ie
f(R
i
) =
R
a1
i
(1 R
i
)
b1
B(a, b)
, B(a, b) =

1
0
x
a1
(1 x)
b1
dx.
Sa observan acum ca densitatea aposteriorica a lui R
1
cand se da X
1
= x
1
este
f(R
1
|x
1
) =
R
x
1
+a2
1
(1 R
1
)
b
B(a +x
1
1, b 1)
. (5.28)
Densitatea aposteriorica a lui R
2
cand se da X
1
= x
1
, X
2
= x
2
este
f(R
2
|x
1
, x
2
) =
R
x
1
+x
2
+a3
2
(1 R
2
)
b+1
Beta(x
1
+x
2
+a 3, b + 2)
. (5, 28

)
In mod asemanator se deduce ca densitatea aposteriorica a lui R
i
cand se dau
X
1
= x
1
, X
2
= x
2
, ..., X
i
= x
i
este
Beta(c
i
, d
i
), c
i
=
i

j=1
(x
j
1) +a, d
i
= b +i. (5.28)
Ultima formula ne conduce la estimat ia bayessiana a funct iei R
i
cu funct ia de
pierdere patratica; aceasta este media repartit iei Beta(c
i
, d
i
) denita de (5.28)
adica

R
i
= E(R
i
|x
1
, x
2
, ..., x
i
) =
c
i
c
i
+d
i
. (5.29)
Acest model prezinta avantajul ca estimeaza direct abilitatea R
i
dupa i faze
de testare.
Proba de control
1. Sa se verice formula (5.8) cand se da repartit ia apriorica Gamma(0, (i), )
a lui
i
si cand se cunoaste vectorul de select ie t = (t
1
, t
2
, ..., t
n
)

. (Select ia este
necenzurata).
Indicat ie. t
i
are repartit ia exponen

tiala de parametru
i
, unde
i
are repartit ia
Gamma(0, (i), ) adica
g(
i
) =
(i)

()

1
i
e
(i)
i
.
Densitatea de repartit ie aposteriori a lui t
i
este este
f(t
i
|(i), ) =
(i)

()

1
i

i
e

i
t
i
e
(i)
i
d
i
=
(i)

()

i
e

i
((i)+t
i
)
d
i
.
138 Cap.5. Modele Bayesiene pentru abilitatea programelor
Tinand seama de formula

0
t
p1
e
at
dt =
(p)
a
p
rezulta
f(t
i
|(i), ) =
(i)

()
( + 1)
((i) +t
i
)
+1
=
(i)

((i) +t
i
)
+1
iar prin integrare rezulta (5.8). De aici rezulta
f(t|(i), ) =
n
n

i=1
((i))

i=1
((i) +t
i
)
+1
adica formula (5.9).
2.Variabila aleatoare T are repartit ia Exp() iar are repartit ia apriorica
Exp(). Sa se determine densitatea de repartit ie aposteriorica h(|t) a lui cand
se da select ia t = (t
1
, t
2
, ..., t
n
)

si sa se calculeze media aposteriorica



.
Indicat ie. Conform formulei (5.2) avem
h(|t) =

n
e

i
t
i
e

i=1

n
e

i
t
i
e

d
=

n
e
(+

i
t
i
)
( +t
i
)
n+1
(n + 1)
,
adica are repartit ia Gamma(0, +

i
t
i
, n). Conform formulei (5.4) avem

=
( +

i
t
i
)
n+1
(n + 1)

n+1
e
(+

i
t
i
)
d =
( +

i
t
i
)
n+1
(n + 1)
(n + 2)
( +

i
t
i
)
n+2
=
n + 1
+

i
t
i
.
3. Variabila T are repartit ia Exp() iar are repartit ia apriorica Gamma(0, a, p).
Sa se determine densitatea de repartit ie aposteriorica h(|t) si media aposteriorica

cand se da t.
Indicat ie. Conform formulei (5.2) si t inand seama de faptul ca densitatea lui
este
g() =
a
p
(p)

p1
e
a
avem
h(|t) =

n+p1
e
(a+

i
t
i
)

n+p1
e
(

i
t
i
+a)
d
=
1
(n +p)
(a +

i
t
i
)
n+p

n+p1
e
(a+

i
t
i
)
Cap.5. ModeleBayessiene pentru abilitatea programelor 139
adica densitatea de repartit ie Gamma(0, a +

i
t
i
, n +p). Din (5.4) rezulta

=
(a +

i
t
i
)
n+p
(n +p)

n+p
e
(a+

i
t
i
)
d =
=
(a +

i
t
i
)
n+p
(n +p)
(n +p + 1)
(a +

i
t
i
)
n+p+1
=
n +p
a +

i
t
i
.
4. Variabila T are repartit ia Rayleygh de parametru , iar are repartit ia
apriorica Exp(). Sa se determine densitatea de repartit ie aposteriorica h(|t) a
lui si media aposteriorica

.
Indicat ie. Densitatea lui T este
f(t|) = te

t
2
2
, t > 0.
Deci conform cu (5.2) avem
h(|t) =

n
e

i
t
2
i
2
e

n
e
(

i
t
2
i
2
+)
d
=

n
e
[+

i
t
2
i
]
2
]
(

i
t
2
i
2
+)
n+1
(n + 1)
,
adica repartit ia Gamma(0, +

i
t
2
i
2
, n). Conform (4.5) rezulta

=
(

i
t
2
i
2
+)
n+1
(n + 1)

n+1
e
(

i
t
2
i
2
+)
d =
=
(

i
t
2
i
2
+)
n+1
(n + 1)
(n + 2)
(

i
t
2
i
2
+)
n+2
=
n + 1
+

i
t
2
i
2
.
5. Variabila T are repartit ia Weibull(0, , ), iar are repartit ia apriorica
Exp(). Sa se determine densitatea de repartit ie aposteriorica h(|t) a lui si
media aposteriorica

.
Indicat ie. Deoarece densitatea lui T este f(t|) = t
1
e
t

avem
h(|t) =
e

i
t

0
e
(+

i
t

i
)
d
= ( +

i
t

i
)
2
e
(+

i
t

i
)
.
Dupa efectuarea unor calcule asemanatoare celor de mai sus rezulta

=
2
+

i
t

i
.
Cap.6. Modele statice 141
6. Variabila T are repartit ia Rayleigh de parametru , iar are repartit ia
apriorica Gamma(0, a, ). Sa se determine densitatea aposteriorica h(|t) a lui
si media aposteriorica

.
Conform (5.2) avem
h(t|) =
e

2
(

i
t
2
i
)

1
e
a

0
e

2
2
(

i
t
2
i
)

1
e
a
d
=
1
()
[a +
1
2

i
t
2
i
]

1
e
[

i
t
2
i
2
+a]
,
adica este o repartit ia Gamma(0, a+
1
2

i
t

i
, ). Media aposteriorica se determina
prin calcule asemanatoare celor de mai sus si in nal se obt ine

=

a +
1
2

i
t
2
i
.
7. Variabila T are repartit ia Gamma(0, , p) iar are repartit ia apriorica
Gamma(0, , ). Sa se determine densitatea aposteriorica h(|t) si media aposte-
riorica a lui .
Indicat ie. Conform (5.2) avem
h(|t) =

pn1
e
(+

i
t
i
)

0

pn1
e
(+

i
t
i
)
d
=

pn1
e
(+

i
t
i
)
( +

i
t
i
)
pn
( pn)
,
adica o repartit ie de tipul Gamma(0, ( +

i
t
i
), pn). Trebuie deci sa avem
> pn. Dupa efectuarea unor calcule se obt ine media aposteriorica

=
pn
+

i
t
i
.
8. Variabila discreta X are repartit ia binomiala de parametri n si p, 0 <
p < 1 iar p are repartit ia apriorica Beta(a, b), a, b > 0. Dandu-se selectia X =
(X
1
, X
2
, ..., X
m
)

sa se determine densitatea aposteriorica h(p|X) si media aposte-


riorica p.
Indicat ie. Notand =

m
i=1
X
i
avem
f(X|p) = (
m

i=1
C
X
i
n
)p

(1 p)
nm
h(p|X) =
p
a+1
(1 p)
nm+b1

1
0
p
a+1
(1 p)
nm+b1
dp
=
p
a+1
(1 p)
nm+b1
B(a +, nm+b )
.
Media aposteriorica este
p =

1
0
p
a+
(1 p)
nm+b1
dp
B(a +, nm+b )
=
B(a + + 1, nm+b )
B(a +, nm+b )
=
a
a +
.
142 Cap.6. Modele statice
6 Modele Statice
Prin termenul de modele statice vom desemna modele n care timpul nu intervine n
mod explicit si nu are niciun rol n determinarea caracteristicilor de abilitaate ale
softului. In aceeasi categorie de modele includem modelele care determina carac-
teristicile de abilitate pe baza complexitat ii programelor, complexitate masurata
cu ajutorul metricilor de complexitate.
6.1 Modele frecvent iale
Presupunem ca softul are aceeasi comportare la orice moment de timp si la orice
execut ie pe calculator, indiferent de valorile datelor de intrare sau de particu-
laritat ile hard ale sistemului de calcul. Atunci sa consideram ca de obicei variabila
de stare
X =
_
1 daca programul functioneaza
0 altfel
(6.1)
care este o variabila aleatoare ce nu depinde de timp, pentru care notam
p = P(X = 0), R = 1 p = P(X = 1). (6.2)
In formula precedenta R este abilitatea programului, adica probabilitatea ca la o
execut ie oarecare, programul sa funct ioneze corect.
Se presupune deci ca softul are o comportare stat ionara, adica se comporta la
fel la orice moment de timp, daca datele sale de intrare se gasesc intr-un acelas
domeniu.
Modelul lui Nelson ia n considerare numai rezultatele a n execut ii ale
programului, presupunandu-se ca acesta nu este inuent at n execut ie de datele
de intrare particulare luate la intamplare sau de momentul de timp la care are loc
execut ia (rularea) programului. Daca n cele n rulari au avut loc caderi, atunci
o estimat ie a abilitat ii este

R =

R
n
= 1

n
. (6.3)
Acest procedeu de estimare a abilitat ii programului este cunoscut sub numele
de modelul lui Nelson [25,35]. Se observa ca

R este o estimat ie nedeplasata si
consistenta a lui R, adica,
E(

R
n
) = R, lim
n

R
n
= R, inprobabilitate. (6.3

)
Sa presupunem ca domeniul datelor de intrare E este divizat n M sumbult imi
disjuncte, adica
E = {E
1
, E
2
, ..., E
M
} (6.4)
Cap.6. Modele statice 143
si e p
i
=probabilitatea ca la o testare, datele de intrare sa e selectate din E
i
.
Atunci probabilitatea ca la o execut ie programul sa funct ioneze este
R =
M

i=1
p
i
R
i
(6.4

)
unde
R
i
= P(X
i
= 1), X
i
=
_
1 daca sistemul functioneaza
0 altfel.
(6.4)
Formula (6.4) deneste abilitatea (statica) R n acest caz. Daca p
i
, 1 i M
sunt cunoscute, atunci R
i
se pot estima cu modelul lui Nelson, iar R se poate
calcula cu (6.4). Astfel, daca s-au facut n
i
testari cu date din E
i
si pentru datele
din E
i
s-au obt inut
i
succese (adica n
i

i
caderi), atunci abilitatea programului
se estimeaza astfel

R = 1
M

i=1

i
n
i
p
i
. (6.5)
In general insa, p
i
nu sunt cunoscute. Daca mult imile E
i
sunt nite si cunoscute,
atunci notand N
i
= Card(E
i
), N =

M
i=1
N
i
,rezulta ca p
i
se estimeaza cu p
i
=
N
i
/N.Daca nsa E
i
sunt mult imi innite dar marginite din R
k
, atunci p
i
se pot
estima cu ajutorul simularii astfel:
- Se genereaza N, un numar sucient de mare de puncte uniform distribuite n
E = {E
1
, E
2
, ..., E
M
};(Acest lucru este posibil deoarece E
i
si E sunt marginite);
- Se noteaza cu N
i
numarul punctelor ce se aa n E
i
;
- Probabilitat ile p
i
se estimeaza cu formula p
i
=
N
i
N
.
Unele modele empirice se bazeaza pe observat ii privind comportarea unui pro-
gram pe parcursul a mai multe testari independente. In acest caz sa notam p(i)
abilitatea programului la testarea a ia. Se pot presupune urmatoarele forme
particulare ale ale funct iei p(i), i = 1, 2, ... si anume
Forma liniara
p(i) = a +bi, a > 0, b > 0; (6.6)
Forma invers liniara
p(i) =

i
, = p(), > 0; (6.6

)
Forma exponent iala
p(i) = ab
i
, a > 0, b > 0. (6.6)
Daca la testarea ia se fac n
i
rulari ale programului si se obt in d
i
caderi, atunci
p
i
se estimeaza cu formula lui Nelson, adica p
i
= 1 d
i
/n
i
. Cu observat iile
144 Cap.6. Modele statice
( p
i
, i), i = 1, 2, ... (presupuse independente) se pot estima parametrii din for-
mulele (6.6)-(6.6), folosind de exemplu metoda celor mai mici patrate. Estimarea
parametrilor a si b din (6,6) se face liniarizand n prealabil funct ia respectiva,
adica y(i) = log a +i.b, y(i) = log p(i). Se vor estima astfel prin metoda celor mai
mici patrate parametrii = log a si b; estimatia lui a este deci a = e

.
6.2 Modele captura recaptura
Una din aplicat iile statisticii matematice rezolva o problema de tipul urmator:sa
se determine numarul N de pesti dintr-un lac? Probleme similare sunt:sa se de-
termine numarul N de insecte dintr-o padure? sau sa se determine numarul N
de albine dintr-o prisaca?,etc. Desigur, n ecare caz se presupune ca teritoriile
sunt inchise adica nu comunica cu alte teritorii. (De ex. lacul este inchis si nu
comunica cu alte lacuri, sau terenul pe care se estimeaza numarul de insecte este
deasemenea inchis).
Solut ia ecarei probleme se poate baza pe observat ii, care de exemplu, pentru
problema referitoare la pesti se bazeaza pe capturarea unor pesti, dar nu este posi-
bila (si nici interesanta) din punct de vedere practic capturarea tuturor pestilor,
pentru a determina numarul exact al lor. Numarul N de pesti se va estima conform
urmatorului procedeu statistic:
- se captureaza un numar de n pesti care se marcheaza ntr-un fel (de ex. se
vopsesc) si fara sa e sacricat i (sau omorat i!) sunt din nou eliberat i in lac. Deci,
acumn lac exista doua feluri de pesti: pesti marcat i si pesti ne marcat i; sa notam
p =
n
N
(6.7)
probabilitatea ca un peste din lac sa e marcat;
- se captureaza din nou un numar << N de pesti din acelas lac; daca este
numarul de pesti marcat i din aceasta cea de-a doua captura, atunci o estimare a
lui p este
p =

. (6.7

)
Acum n (6.7) se cunosc n, p si deci se poate estima N ca

N = n/ p.
Procedeul se aplica numai n cazul cand N este foarte mare, astfel ncat la
cea de-a doua captura sa putem considera extragerile fara ntoarcere, astfel ca
probabilitatea p sa nu se modice. Daca si este mare atunci putem determina si
un interval de ncredere pentru N care este de forma
[

N
1
,

N
2
]

N
1
=
N
p
2
,

N
2
=
N
p
2
Cap.6. Modele statice 145
[ p
1
, p
2
], p
1
= p z

, p
2
= p +z

(6.8)
unde
= p(1 p),
1

2
z

u
2
2
du = . (6.8

)
In formula precedenta este coecientul de ncredere sau de tolerant a, adica o
probabilitate data, apropiata de 1, dar mai mica decat 1. Pentru determinarea
intervalului de ncredere [ p
1
, p
2
], avand dat coecientul de ncredere apropiat de
1 (de ex. = 0.95), s-a folosit teorema limita centrala, adica faptul ca variabila
aleatoare Z = ( p p)/( /

) are, pentru mare, o repartit ie normala N(0, 1).


Procedeul statistic descris anterior, pentru estimarea numarului N de pesti din
lac, este de fapt un procedeu general pentru rezolvarea prolemelor de acest tip si
este cunoscut sub numele de procedeul captur a-recaptura.
Solut ia problemei analizate anterior, bazata pe procedeul captura-recaptura,
se poate transpune si n cazul estimarii numarului N
0
de erori din sistemul soft.
Astfel, dupa un numar de testari din care s-au detectat multe erori, se introduc
din nou cele n erori detectate. Sa numim aceste erori nsamant ate. Acum, proba-
bilitatea de a detecta ntr-o testare ulterioara a programului o eroare nsamant ata,
este data de (6.7) cu N = N
0
. Daca acum, analog procedeului de mai sus, efectuam
alte noi rulari ale softului (adica noi testari), din care detectam erori sau esecuri
n execut ia softului, atunci p se estimeaza din nou cu p dat de (6.7). Deci N
0
se
estimeaza acum cu formula

N
0
= n/ p si un interval de ncredere pentru N
0
se
obt ine tot cu relat iile (6.8) si (6.8).
Remarca. Daca N
0
nu este sucient de mare si nu este sucient de mare,
atunci P( = i) se calculeaza pe baza repartit iei hipergeometrice, adica
P( = i) =
C

n
C

N
0
C

N
0
+n
ultima probabilitate ind funct ia de verosimilitate cu care se poate estima N
0
prin
metoda verosimilitat ii maxime. Daca

N
0
este estimat ia de verosimilitate, atunci
intervalul dencredere pentru N
0
se poate determina cu ajutorul repartit iei discrete
a lui

N
0
, problema de care nu ne ocupam aici, ea putand rezolvata usor pe baza
unui algoritm.
6.2.1 Alte tipuri de modele captura-recaptura.
Un model alternativ de tip captura recaptura se obt ine cand testarea
experimentala se realizeaza cu doua echipe de programatori. Erorile depistate de
prima echipa (n numar de n) sunt nsamant ate n program si se face apoi testarea
146 Cap.6. Modele statice
programului de catre a doua echipa. Daca este numarul de erori detectate de
cea de-a doua echipa si dintre acestea sunt erori nsamant ate, atunci cu aceleasi
notat ii, numarul N
0
de erori init iale ale programului se poate estima cu aceeasi
metodologie ca n cazul modelului captura recaptura.
Alt model alternativ de tip captura recaptura se obt ine cand
testarea se realizeaza n paralel cu doua echipe astfel: se fac testari de catre cele
doua echipe obt inandu-se respectiv n
1
, n
2
erori din care n (n < n
1
, n
2
) sunt erori
comune; deci probabilitatea unei erori comune la o testare este p = n/N
0
; ntr-o
noua faza de testare se fac de catre cele doua echipe
1
respectiv
2
testari si se
obt in erori comune. Atunci p se estimeaza cu formula
p =

, =
1
+
2
(6.8)
de unde procedeul continua ca mai sus, adica

N
0
=
n
p
.
Intervalul de ncredere pentru N
0
se determina tot cu formulele (6.18), (6.18).
6.2.2 Modele generalizate de tip captura-recaptura.
Deoarece n general erorile din soft nu au aceeasi probabilitate de aparit ie iar
membrii echipelor (inspectorii) care testeaza softul, sau inspecteaza documentat iile
(n care de asemenea pot exista erori), nu au aceleasi performant e, utilizrea pro-
cedeului captura-recaptura trebuie adaptata n mod corespunzator. In acest caz
general datele obt inute pe o perioada mica de timp se presupun de forma
X =
_
_
_
_
_
x
11
x
12
... x
1k
x
21
x
22
... x
2k
. . ... .
x
D1
x
D2
... x
Dk
_
_
_
_
_
unde x
ij
= 1 daca si numai daca inspectorul i a detectat eroarea j, 1 i k, 1
i D. Daca testarea se efectueaza pe perioade mari de timp atunci datele obt inute
constituie o matrice de forma
N =
_
_
_
_
_
N
11
N
12
... N
1k
N
21
N
22
... N
2k
. . ... .
N
k1
N
k2
... N
Dk
_
_
_
_
_
unde N
ij
este numarul de erori de tipul j detectate de inspectorul i.
Cap.6. Modele statice 147
Din matricea de date X se poate determina:
- pentru ecare inspector i, numarul total de erori detectate de acesta N
i.
=

D
i=1
N
ij
;
- pentru ecare tip de eroare j, numarul de inspectori care detecteaza acea
eroare N
.j
=

k
i=1
N
ij
;
- numarul total de erori detectate N =

k
i=1

D
j=1
N
ij
=

i
Ni. =

j
N.j.
Datele precedente se obt in n faza captura. Daca erorile detectate sunt
nsamant ate atunci n faza recaptura, cand erorile X
ij
obt inute in prima faza
sunt marcate, se obt in datele
= ||
ij
||
A = ||a
ij
||, a
ij

ij
unde
ij
= numarul total de erori de tipul j detectate de inspectorul i n faza
recaptura iar a
ij
= numarul de erori recapturate de tipul j detectate de inspectorul
i.
Sa notam acum N
(0)j
= numarul de erori de tipul j existente in soft, N
0
=
umarul total init ial de erori din soft si e p
.j
= probabilitatea unei erori de tipul j,
p
i.
= probabilitatea detectarii unei erori de catre inspectorul i si e p
ij
=probabilitatea
ca o eroare de tipul j sa e detectata de inspectorul i. Facem ipoteza naturala ca
p
ij
= p
i.
p
.j
Ne intereseaza estimat ii pentru N
(0)j
si pentru N
0
. Introducand notat ii
asemanatoare celor denite pentru matricea N si pentru matricile si A se con-
stata ca estimat iile probabilitat ilor introduse sunt
p
ij
=
a
ij

ij
, p
i.
=
a
i.

i.
, p
.j
=
a
.j

.j
In concluzie, n nal se obt in estimat iile

N
(0)j
=
N
.j
p
.j
,

N
0
=
D

j=1
N
.j
.
Cu ajutorul estimat iilor probabilitat ilor se poate verica (utilizand un test
2
) si
ipoteza H : p
ij
= p
i.
p
.j
. De asemenea N
0
se poate estima si cu formula

0
=
k

i=1

(0)i.
,

N

(0)i.
=
N
i.
p
i.
.
Cele doua estimat ii ale lui N
0
permit estimarea erorii relative
RE(N
0
) =

N
0


N

N
0
.
Eroarea relativa RE(N
0
) ne da informat ii asupra eterogenitat ii echipei de inspec-
tori.
148 Cap.6. Modele statice
6.3 Modele bazate pe metrici de complexitate
In general exista o stransa legatura ntre numarul de erori din program si complex-
itatea programului exprimata prin numarul de instruct iuni si prin natura acestora
(numar de linii, numar de cai de testare, numar de cicluri sau blocuri predicative,
etc.).
Halstead [14,18] propune o serie de atribute ale programului care sunt determi-
nate dintr-un numar de metrici ce deriva din structura unui program si din imple-
mentarea acestuia ntr-un limbaj de programare. Atributele unui program includ
marimea, efortul mental de a crea programul, timpul necesar creierii programu-
lui si numarul de elemente esent iale ce compun structura programului. Structura
programului poate considerata n sensul teoremei Bohm-Jaccopini (programul
este reprezentat sub forma de schema logica) sau n sensul modular-ierarhic al
teoremei lui Jackson (programul este reprezentat printr-o diagrama modulara de
structura, numita diagrama de structura nested logic). Aici vom prezenta cateva
modele empirice bazate pe asa zisele metrici de complexitate ale softului. Ne vom
referi la acele metrici care au legatura cu abilitatea programelor.
6.3.1 Model bazat pe metrica de tip Halstead.
Metricile de complexitate sunt n special legate de marimea softului si pre-
supun ca n funct ie de valoarea metricei se poate estima numarul de erori din soft.
Mai ntai vom prezenta cateva caracteristici metrice ale unui program analizand
construct ia structurata a acestuia.
Se stie ca structurile (sau blocurile) primitive ale unui programn sensul Bohm-
Jaccopini sunt:
- Secvent a : begin S
1
, S
2
, ..., S
n
end;
- select ile, de patru tipuri:
a)
1
::= if P then S; (adica select ia if-then);
b) =
2
::= if P then S
1
else S
2
; (adica select ia if-then-else);
c)
3
::=if P
1
then S
1
elseif P
2
then S
2
... elseif P
n
then S
n
; (adica select ia
multipla n cascada);
d)
4
::=case I for I
1
: S
1
, I
2
: S
2
, ..., I
n
: S
n
; (adica select ia multipla de tip
case, cu predicat polivalent);
- iterat iile, de trei tipuri
e)
1
::= for I do S; (adica ciclul for);
f) =
2
::= while P do S; (ciclul while);
g)
3
::= repeat S until P; (ciclul repeat-until). Sa observam ca formal,
toate structurile de mai sus se pot transforma n programe echivalente care se pot
exprima recursiv numai in termeni de , , .
Cap.6. Modele statice 149
In structurile de program de mai sus S
i
reprezinta instruct iuni simple, blocuri
funct ionale ( de forma S : X X

, care transforma o mult ime de date X ntr-o


mult ime de date X

), sau alte blocuri primitive; I reprezinta o variabila discreta


cu o mult ime nita de valori (deobicei I este ntreg), iar P, P
i
, 1 i n sunt
predicate simple (cu doua valori:true sau false). Un program care consta din
compunerea recursiva de structuri primitive de tipul celor de mai sus se numeste
program structurat. O teorema a lui Bohm si Jaccopini spune ca orice program
(algoritm) poate transformat ntr-un program structurat echivalent. De fapt
teorema spune ca orice program se poate reprezenta ca o combinat ie recursiva,
nita a trei din structurile de mai sus si anume , , , daca se adauga la nevoie
noi blocuri predicative si noi blocuri funct ionale de forma T ::= := true, si
F ::= := false.
Sa observam ca un program structurat, cand este implementat ntr-un limbaj,
nu va cont ine instruct iunea goto necondit ionat.
Este deci sucient sa denim masuri de complexitate numai pentru structurile
de program de mai sus, deoarece acestea, prin combinari recursive ntre ele vor
conduce la calculul metricii oricarui program structurat.
Se presupune ca o masura M a complexitat ii algoritmilor reprezentat i de sr-
tucturile primitive ment ionate mai sus satisface urmatoarele axiome:
1. M() =

n
i=1
M(S
i
);
2. 2M(S) M(
1
) > M(S);
3. 2(M(S
1
) +M(S
2
)) M(
2
) > M(S
1
) +M(S
2
);
4. 2

n
i=1
M(S
i
) M(
3
) >

n
i=1
M(S
i
);
5. M(
4
) >

n
i=1
M(S
i
);
6. M(
1
) > M(S);
7. 2M(S) M(
2
) > M(S);
8. 2M(S) M(
3
) > M(S);
In axiomele de mai sus se recunosc (macar part ial) axiomele conceptului clasic
de masura.
O metrica de complexitate M este o aplicat ie M : P R
+
care se presupune
ca satisface axiomele de mai sus, unde P este mult imea programelor structurate.
Teoria lui Halstead. Halstead, introduce urmatoarele caracteristici (ma-
surabile) ale unui program, deduse din considerente plausibile:
Numarul n
1
de operatori distinct i n program (care sunt cei ce denesc stru-
crurile primitive), n
1
= const;
Numarul n

2
de parametri input/output ai programului;
Numarul n
2
de operanzi distinct i din program, n
2
= bn

2
, unde b este o con-
stanta.
150 Cap.6. Modele statice
Numerele N
1
, N
2
ce reprezinta numarul total de operatori, respectiv operanzi,
din program.
Numarul n = n
1
+n
2
reprezinta (conform lui Halstead) dict ionarul programului;
Lungimea programului este denita de formula
N = n
1
log
2
n
1
+n
2
log
2
n
2
(6.9)
Volumul programului este (cf.Halstead)
V = N log
2
n = (n
1
log
2
n
1
+n
2
log
2
n
2
) log
2
(n
1
+n
2
). (6.9

)
In funct ie de acestea se denesc alte caracteristici (masurabile) care pot ex-
prima complexitatea unui program si anume:
Nivelul programului este
L =
2n
2
n
1
N
2
; (6.10)
Dicultatea programului este
D =
n
1
N
2
2n
2
; (6.11)
Nivelul limbajului (n care este implementat programul) este
T =
V D
18
, (formula dedusa empiric) (6.12);
Nivelul programului este
=
V
D
2
(6.13)
Coecient ii numerici din formulele de mai sus, precum si din alte formule ce vor
precizate mai jos, au fost dedusi pe baza analizei statistice a unor clase variate
de programe complexe (compilatoare, utilitare, SGBD-uri, etc.); acesti coecient i
s-au estimat cu metodele teoriei regresiei folosind date istorice culese explorand
diversele programe existente n exploatare (date istorice).
Ideile introduse de Halstead sunt importante pentru ca identica un numar
de elemente cantitative simple care pot constitui masuratori si observat ii primare
pentru a legitima o stiint a a software-ului.
Caracteristicile V, D, L, T introduse anterior pot utilizate ca metrici ale unui
program.
Sa aratam de exemplu ca D satisface axiomele 1-8 introduse mai sus. Cand
ntr-o structura de program va interveni un bloc S vom ment iona la indicii di-
verselor caracteristici si indicele s. Vom verica pe rand axiomele pentru D.
Cap.6. Modele statice 151
1. D() =

n
i=1
M(S
i
) =
n
1

n
i=1
N
2s
i
2n
2
;
2. 2D(S) = 2
n
1
N
2s
2n
2
D(
1
) = D(S);
3. 2(D(S
1
) +D(S
2
)) =
2(n
1
N
2s
1
+n
1
N
2s
2
2n
2
D(
2
) >
n
1s
1
N
2
2n
2
+
n
1s
2
N
2
n
2
= D(S
1
) +
D(S
2
);
4. 2

n
i=1
D(S
i
)
n
1
N
2
2n
2
>
(n
1s
1
+n
1s
2
)N
2
2n
2
= D(S
1
) +D(S
2
);
si a.m.d.
In mod asemanator se pot verica axiomele 1-8 si pentru V.
Metrica lui Halstead (cunoscuta sub acest nume) este marimea V, care dupa
cum se vede t ine seama atat de structura cat si de complexitatea programului.
Halstead propune ca estimat ie a numarului de erori init iale din soft

N
0
=
V
E
0
(6.9)
unde V este volumul programului propus de Halstead, iar E
0
este o constanta de
proport ionalitate ce se estimeaza din date istorice. Desigur, modelul ind empiric,
i se pot aduce multe critici. El a rezultat din date experimentale efectuate asupra
multor testari de soft, iar formulele (6.9)-(6.9) reprezinta valori medii sau ordine
de marime.
6.3.2 Alte modele bazate pe metrici
Metricile de complexitate a programelor s-au dezvoltat pornind de la faptul ca
orice model de dezvoltare de software trebuie sa t ina seama de descrierea produsului
soft, de procesele si evenimentele asociate acestuia si legat de acestea, de atributele
pe care le capata produsul soft implementat.
Produsele soft poseda doua atribute cuanticabile importante: marimea si
structura asa cum am precizat si mai sus. Daca marimea este usor de imag-
inat (prin lungimea textelor sursa sau executabile de exemplu), structura este
m asurata n funct ie de atributele relat iilor dintre componente care adesea sunt
modelate prin grafuri (vezi schemele logice!) sau prin diagrame de structura ier-
arhice, arborescente (vezi de exemplu diagramele de structura nested logic).
Structura programelor executabile poate cuanticata n funct ie de caracteris-
ticile interfet elor modulelor ce alcatuiesc programul. Pot cuanticate si textele
care descriu specicat iile programului, mai ales n ceea ce priveste posibilitatea
nt elegerii acestora de catre utilizator. Cuanticabile sunt si relat iile ntre pro-
duse precum si rata expansiunii produselor care masoara de exemplu relat ia ntre
marimea unei documentat ii de specicare si marimea modulelor de program sursa
sau executabil corespunzatoare. In sfarsit, se poate cuantica si stabilitatea sau
instabilitatea vis a vis de dezvoltarea sau intret inerea produselor soft.
152 Cap.6. Modele statice
Procesele sunt de doua tipuri:task-uri si operat ii. Task-urile sunt obiectivele de
proiectare a unui subsistem sau a unei unitat i de testare a unui modul specicat
care sunt identicate n mod explicit pentru realizarea produselor. La randul
lor task-urile pot de doua tipuri: task-uri de product ie si task-uri de vericare
(testare), care toate sunt planicate n timp. Multe metrici ale proceselor se obt in
din task-uri de testare si ele se refera la completitudinea activitat ilor de testare sau
la ecient a acestei activitat i. Operat iile sunt proceduri care se executa n cazuri
neprevazute (de exemplu ce se face cand un modul cade la testare), sau n alte
cazuri cand nu a fost posibila o planicare.
Evenimentele sunt int elese n acest context ca semnalele care cauzeaza acti-
varea proceselor. Cele mai multe metrici bazate pe evenimente deriva din numararea
erorilor gasite la testare sau pe cerint ele de modicare a programelor pe parcursul
implementarii lor. De obicei metricile bazate pe evenimente sunt incorporate n
cele bazate pe produse si procese.
Metricile ce vor descrise n continuare sunt extrase din diverse surse docu-
mentare (printre care sursa primara este lucrarea [18]). Ele sunt dintre metricile
care s-au dovedit utile n practica, au fost validate de experient a producatorilor
de soft, sunt cele mai cunoscute desi unele si-au pierdut din interes, sau sunt cele
care indeplinesc cerint e importante n activitatea de realizare a produselor soft.
Enumeram pe cele mai importante.
Numarul de linii de program. Este folosit pentru a masura module, sub-
sisteme sau sisteme; este o metrica necesara n controlul si normarea muncii si
pentru prognoze. Este legata de lungimea N a programului n sensul lui Halstead.
Numarul de cuvinte. Este o masura statica a marimii zice a unui a unui
document scris n limbaj natural care este e document de specicare e manual
de utilizare.Este folosit ca metrica de control. Metrici echivalente sunt numarul de
fraze sau numarul de pagini.
Complexitatea proiectului soft. Masoara complexitatea produsului soft n
termeni de numar de module care compun proiectul si de conexiuni dintre acestea.
Este un indicator de calitate care este legat de claritate si caracterizeaza facilitarea
nt elegerii si posibilitatea de a ntret ine produsul soft.
Masuratorile de baza care sunt necesare pentru a construi metrica de complex-
itate a softului sunt:
A
i
= numarul de arce din descrierea modular-ierarhica a programului de la
nivelul 0 la nivelul i;
N
i
= numarul total de module de la nivelul 0 la nivelul i;
T
i
= numarul total de arce din structura arborescenta ideala a programului;
structura arborescenta modulara este ideala cand ecare modul este apelat de un
Cap.6. Modele statice 153
singur modul.Din denit ie rezulta T
i
= N
i
1.
Din caracteristicile numerice denite anterior rezulta urmatoarele masuri ale
calitat ii proiectarii unui produs soft:
C
i
= A
i
T
i
este masura complexitat ii absolute a nivelului i al arborescent ei
modulare;
R
i
= C
i
/A
i
este masura complexitat ii relative a nivelului i al structurii mod-
ulare;
D
i
= (C
i
C
i1
)/(A
i
A
i1
) este maasura complexitat ii relative a nivelului
ierarhic i al structurii modulare (numita si impuritatea relativa a arborelui).
Aceste metrici se refera la domenii de proiectare software suboptime si deci de
calitate scazuta. Totusi analize practice au evident iat o legatura intre C
i
si R
i
pe
de-o parte si rata erorilor din programe pe de-alta parte.
Complexitatea ciclomatica. Aceasta se bazeaza pe numarul ciclomatic in-
trodus de McCabe [8,9,10,18]. Programul este reprezentat de o schema logica G
(un graf orientat cu un nod de intrare-start si unul nal-stop); numarul ciclomatic
este
V (G) = e n + 2p (6.10)
unde e este numarul de arce ale schemei logice, arcul ind o muchie de ramicare,
n este numarul de noduri, unde un nod este echivalent cu un bloc secvent ial din
programul sursa, iar p este numarul de componente obt inute prin conectare, adica
n mod normal este 1.
In programe structurate (adica programe care nu permit salturi n si din ci-
cluri), V (G) este echivalent cu numarul de predicate plus 1, unde predicatele com-
puse din blocuri de forma IF AND THEN sunt considerate ca doua. Acesta
este echivalent cu numarul de puncte de decizie din program.
McCabe a sugerat ca un program cu o metrica de valoare mare reprezinta un
soft dicil de produs si de intret inut. Exista autori care si exprima rezerve fat a
de utilizarea metricii denite de numarul ciclomatic al lui McCabe. El poate
utilizat mai degraba ca masura a testabilitat ii unui program.
Masura de complexitate a lui Oviedo. Aceasta este o suma ponderata a
metricii de control a uxului si a metricii uxului de date. Ea masoara complexi-
tatea unui program si este de forma
C = aCF +bDF (6.11)
unde CF este complexitatea de control a uxului masurata prin numarul de muchii
din schema logica, DF este complexitatea uxului de date masurata prin suma
complexitat ilor uxurilor de date din ecare bloc al programului, iar a si b sunt
ponderi ce pot presupuse egale cu 1. Aceasta metrica poate utilizata pentru
154 Cap.6. Modele statice
a identica modulele complexe care ar necesita o re-proiectare sau testari supli-
mentare. In literatura se comenteaza ca aceasta metrica a lui Oviedo nu se ridica
deasupra interesului reprezentat de metrica lui McCabe.
Important a sau taria modulului. Aceasta metrica reprezinta asa zisa co-
eziune a unui modul, adica n ce masura un modul este considerat ca avand o
singura funct iune. Se pleaca de la ideea ca un modul bine modularizat (sau seg-
mentat) are de regula o singura funct ie. Deci modulele care realizeaza mai multe
funct iuni sunt super-complexe si exprima faptul ca sistemele nu au fost sucient
de descompuse. Deci taria unui modul este atat un indicator al calitat ii descom-
punerii cat si al complexitat ii modulelor individuale. Unii autori recomanda ca
taria unui modul sa indice cat de multe din urmatoarele funct iuni realizeaza mod-
ulul: intrari/iesiri; lansari n execut ie/ comenzi de control; prelucrari algoritmice.
Masura acestor funct iuni poate deci avea valorile 1, 2 sau 3, unde valoarea 1 este
considerata ca important a mare, valoarea 2 este o important a medie si valoarea 3
este o important a redusa.
Se observa ca aceasta metrica se exprima prin valori alese in mod subiectiv si
deci se recomanda sa e put in utilizata; ea poate indica o modularizare necore-
spunzatoare a componentelor softului.
Metrici fan-in si fan-out. Aceste metrici contorizeaza interconexiunile
unui modul cu alte module ale sistemului. Termenii fan-in si fan-out sunt
folosit i n mod ambiguun literatura despre metricile de software pentru a desemna
diferite concepte ca:
(i) sa descrie relat iile de apelare dintre module ilustrate prin diagrama de
structura a softului; acestea sunt numite fan-in si fan-out structurale;
(ii) sa descrie relat iile uxurilor de date dintre proceduri si relat iile dintre
proceduri si date; acestea sunt numite fan-in si fan-out informat ionale.
Modulele sunt privite aici ca unitat i de compilare singulare.
Metricile structurale fan-in numara modulele care apeleaza un modul, n timp
ce metricile structurale fan-out numara modulele apelate de un modul dat. Ele sunt
indicatori de calitate in sensul ca modulele cu valori mari ale metricii structurale
sunt si complexe si critice din punct de vedere sistemic.
Metricile informat ionale fan-in si fan-out se bazeaza pe uxul de informat ii
dintre proceduri care nu se rezuma la faptul ca un modul apeleaza pe celalalt
(numit ux local de informat ii), dar si pe informat iile bazate pe valorile returnate
prin apel (numit ux local indirect) precum si pe informat iile transferate ntre
proceduri prin structuri de date globale (numite uxuri globale de informat ii).
Metrica informat ionala fan-in numara uxul de date locale n procedura si numarul
structurilor de date din care procedura extrage informat ii; metrica informat ionala
Cap.6. Modele statice 155
fan-out a unei proceduri numara uxul de date locale ce ies din procedura plus
numarul de structuri de date pe care procedura l actualizeaza.
Fluxul local de date apare daca se indeplineste una din urmatoarele condit ii.
- o procedura apeleaza o alta procedura;
- o procedura apeleaza o alta procedura si apoi utilizeaza o valoare ce i se
returneaza (aceasta este considerata fan-in pentru procedura apelanta si fan-out
pentru procedura apelata);
- o procedura apeleaza doua proceduri A si B si iesirea lui A este intrare n B
(aceasta este fan-out din A si fan-in n B).
Complexitatea fan-in si fan-out (introdusa de catre Henry si Kafura) este:
C
fifo
= lungimea [fan in fan out] (6.12)
unde lungimea este orice metrica de volum ( de exemplu numarul de linii ale
programului, sau marimea programului dupa Halstead, sau numarul ciclomatic al
lui McCabe).
Metricile structurale sunt potrivite pentru produsele software care utilizeaza n
proiectare diagrame de structura ierarhice si sunt recomandabile pentru evaluarea
acestor diagrame.
Metricile informat ionale par a avea o important a mai mare n probleme de
proiectare. Conceptele fan-in si fan-out pot extinse si la structuri de date prin
descrierea structurata a acestora.
Formula facilitat ii de citire a programului. Aceasta masura R este data
de formula
R = 0.295V AR 0.499NSL + 0.13CY CLO (6.13)
unde V AR este lungimea medie normalizata a variabilelor textului programului,
NSL este numarul de linii care cont in instruct iuni, iar CY CLO este numarul total
de ramicat ii din program plus unu.
O masura a facilitat ii de citire a programului este necesara pentru intret inerea
si extinderea acestuia. Acesta este cazul programelor care se utilizeaza sub diverse
versiuni pe perioade ndelungate.
Indicele de mascare. Este o metrica de calitate a facilitat ii de citire si
nt elegere a unui text. Caracteristicile masurabile ale unui text produs pentru a
citit sunt: sen= numarul de propozit ii; wrd= numarul de cuvinte; syl=numarul
de silabe. Indicele de mascare a citirii este
FI = 0.4(wrd/sen + (hrd/wrd)100) (6.14)
unde hrd este numarul cuvintelor de trei sau mai multe silabe.
156 Cap.6. Modele statice
Acest indice este mai put in utilizat pentru a masura calitatea documentat iilor
de software; n schimb el este utilizat pentru evaluarea textelor din reviste de
anunt uri sau reclame de programe.
Rata de extindere a proiectului. Aceasta metrica se refera la situat iile
cand proiectarea softului se face ntr-un limbaj formal specializat de proiectare (
de tipul unui pseudocod). Rata de extindere a proiectarii este
E = LOC/DS
unde LOC este numarul total de linii-cod (scrise n limbajul dat) iar DS este
numarul total de instructiuni din proiect. Este una din put inele metrici care
considera relat iile dintre produse.
Ratele de erori si de modicari. Metricile de acest tip masoara volu-
mul de schimbari la care este supusa o componenta soft pe parcursul dezvoltarii
produsului.
Masuratorile utilizate de acest tip de metrici sunt:
- numarul total de erori gasite ntr-o componenta;
- numarul total de erori de un anumit tip gasite ntr-o componenta;
- rata erorilor= (total erori)/(volumul componentei);
- rata erorilor pentru un anumit tip de eroare;
- volumul modicarilor componentei datorate erorilor;
- volumul modicarilor componentei datorate erorilor de un anumit tip.
Tipurile de erori ce pot considerate sunt:
- erori ce au fost introduse n componenta de un proces particular (de exemplu
de procesul de proiectare);
- erori evident iate de un proces particular (de exemplu prin controale);
- erori de o natura particulara (de exemplu s-a omis ceva sau s-a introdus ceva
ce este incorect);
- erori legate de un tip particular de specicat ie software (de exemplu erori de
intrare/iesire sau erori logice de specicare).
Volumul modicarilor si erorilor, precum si ratele acestora pot avea important a
n estimarea costurilor de proiectare si testare.
Subliniem din nou faptul ca n formulele de mai sus, coecient ii numerici care
apar, au fost estimat i prin metode statistice folosind date istorice.
Metricile introduse mai sus au la baza considerente practice intuitive. In
subsect iunea 6.4 (urmatoare) vom prezenta unele considerat ii care sa justice si
din punct de vedere formal construct ia lor.
6.3.3 Modele bazate pe metrici pentru determinarea lui N
0
Cap.6. Modele statice 157
Una din problemele importante ale abilitat ii programelor este, asa cum am
subliniat mai ales n capitolele 2,3,5, estimarea numarului init ial de erori din soft,
N
0
.
Unul din scopurile cunoasterii metricilor de software, asa cum am ment ionat
cu ocazia prezentarii metricii de tip Halstead, este si acela de a stabili formule pen-
tru calculul numarului init ial de erori N
0
n funct ie de valorile diverselor metrici.
Aceste formule au fost stabilite de regula pe baza analizei unor date statistice
(istorice) culese cu ocazia realizarii unor produse soft existente in exploatare.
Vom enumeran continuare cateva din modelele empirice reprezentative pentru
estimarea lui N
0
folosind valorile estimate ale unor metrici.
Modelul lui Lipow care spune ca daca S este numarul de instruct iuni exe-
cutabile din programul sursa, atunci
N
0
= (a
1
+a
2
log S +a
3
log S
2
)S (6.16)
unde a
1
, a
2
, a
3
sunt constante ce pot estimate folosind date N
0i
, S
i
, 1 i M
cunoscute anterior pentru M produse soft. (Se poate de ex. folosi metoda celor
mai mici patrate, care conduce la un sistem neliniar n cei trei parametri).
Lipow propune si modelul
N
0
= a +bS
c
(6.16

)
unde de asemenea a, b, c sunt parametri ce trebuie estimat i din date experimentale.
O valoare constanta [18,25,35] (c = 4/3) a fost gasita experimental.
Modelul lui Schneider [18,25,35] consta n estimarea lui N
0
dupa formula
N
0
= 7.6E
2/3
S
1/3
(6.17)
unde E este efortul de munca profesionala exprimat n oameni-luni, iar S este
numarul de mii de instruct iuni sursa executabile ale softului.
O alta formula empirica de calcul aproximativ al lui N
0
este [18]
N
0
= n
2/3
_
S
0.047
_
5/3
(6.18)
unde n este numarul de subprograme ale softului analizat.
6.3.4 Cateva modele euristice cantitative
Aceste modele, preluate din [18], se refera la controlul procesului de dezvoltare
a produsului soft n funct ie de erorile gasite pe parcursul testarii si organizarii
procesului de testare. Ele au ca scop estimarea performant elor intermediare ale
produsului soft.
158 Cap.6. Modele statice
Model pentru sursele de erori si detectarea lor. Acest model foloseste
ca masuratori (date de intrare) numarul mediu de clase de erori n si numarul
mediu de erori f
ij
din ecare clasa j = 1, 2, ..., n si pentru ecare componenta
i = 1, 2, ..., N a sistemului soft descris ierarhic de cele N componente. Se presupun
date si cele r +1 nivele ale diagramei ierarhice si se presupune ca procesul testarii
consta din r etape de testare independente. Trebuie de asemenea cunoscuta rata
de detectare a erorilor d
jk
, pentru ecare etapa de testare k = 1, 2, ..., r.
Modelul si propune sa estimeze F

j
=numarul total de erori ramase n clasa j
dupa integrarea tuturor modulelor calculat cu formula
F

j
= F
j
(1 D
j
)
cu
D
j
= 1
r

k=1
(1 d
jk
), F
j
=
r

k=1
(
N

i=1
f
ij
)(1 d
jk
)
unde F
j
= rata de aparit ie a erorii n clasa j iar D
j
este rata de detectare a
erorii ntr-o etapa de testare. Desigur, modelul poate aplicat cu succes numai n
m asura n care se pot estima bine datele de intrare.
Model pentru eliminarea erorilor. Acest model presupune ca elaborarea
produsului soft ncepe cu o prima versiune ce cont ine un numar de erori iar procesul
de punere la punct a programului continua cu o alta etapa de testari, revizuiri sau
vericari prin care se detecteaza si elimina din erorile init iale.
Datele de intrare ale modelului sunt: MP=numarul de probleme majorenregistrate
pe parcursul revizuirilor sau vericarilor; PTM= numarul de erori descoperite pe
parcursul testarilor (MP > PTM).
Notand
=
MP
PTM
,
parametri de iesire ai modelului sunt
TD = MP

1
, Q
2
=
TD

2
, CRE =

2
1

2
unde TD=o masura a erorilor totale ce se pot ivi de-alungul duratei de viat a a
softului (timpul de cand incepe proiectarea pana cand el este scos din uz!), Q
2
=
numarul de erori ce raman dupa a cea de-a doua etapa de revizuiri si testari, iar
CRE= o masura a ecient ei cumulate a eliminarii erorilor n cele doua etape.
Modelul este recomandabil sa e utilizat cu precaut ie rezultatele sale putand
constitui numai un mod de evaluare preliminar al calitat ii produsului soft.
Cap.6. Modele statice 159
6.4 Introducere formala a metricilor de software
Metricile de complexitate introduse n sect iunile anterioare au o justicare formala
[9]. Vom prezenta aici pe scurt argumentele care conduc la denirea metricilor de
complexitate.
Masuratorile se denesc n mod obisnuit ca ind atribuirea de valori numerice
unor obiecte astfel ncat acestea sa reprezinte aceste obiecte n lumina unor pro-
prietat i sau atribute. Pentru a introduce masuri n software trebuie sa luam in con-
siderare trei clase de atribute specice si anume: procesele, produsele si resursele.
Procesele sunt activitat i care au o dimensiune temporara, adica se realizeaza n
timp. O clasa de procese poate de exemplu construirea documentat iei de speci-
care a produsului soft. Produsele sunt obiectele ce se realizeaza prin procese;
de exemplu documentat iile produse pe parcursul ciclului de realizare a produsului
soft. Resursele sunt elementele care intra n procese, ca de exemplu personalul de
specialitate (indivizi sau echipe), materialele (inclusiv spat iile pentru birouri si mo-
bilierul acesora) si instrumentele de lucru (componente soft sau hard si metodele
utilizate).
Pentru a vorbi de metrici ale caror valori sa exprime calitatea n exploatare a
softului, ar trebui sa ne limitam la produse, mai precis la clase de atribute ale pro-
duselor soft, care pot interne sau externe produsului respectiv. Daca atributele
interne sunt usor de nteles, n cazul unui produs soft, atributele externe depind
de anumite entitat i specice ca: abilitatea programelor sursa raportata la calcu-
latorul pe care acestea sunt rulate si la modul particular n care sunt elaborate
specicat iile; gradul de nt elegere a documentat iei de specicare de catre utiliza-
tori si modul si posibilitatea de ntret inere a programului pe parcursul exploatarii
acestuia (adica mentenabilitatea).
Desigur, atributele interne se refera la marimea programului, la funct io-
nalitatea sa, la structura sa modulara, la corectitudinea logica si sintactica a pro-
gramului, etc.
Indiferent ce atribute ale produselor vom lua n considerare cand vrem sa
intoducem o metrica de soft, suntem de regula fort at i sa folosim masuratori ale
proceselor care pot aproxima masuri ale atributelor produselor.
Pe de alta parte trebuie sa avem n vedere ca atribute externe ca abilitatea
si mentenabilitatea se denesc si determina n funct ie de atribute interne care le
inuent eaza n mod pregnant. In denirea metricilor de software (care sa exprime
del calitatea) trebuie sa facem si o ordonare a inuent ei atributelor interne asupra
atributelor externe. De exemplu, daca am sti care din atributele interne (modu-
laritate, complexitatea structurala sau marimea) au mai mare inuent a asupra
mentenabilitat ii, atunci am sti care din aceste resurse ar trebui marite pentru a
prezice o calitate mai buna n exploatare a produsului.
160 Cap.6. Modele statice
Din cele precizate pana aici rezulta ca pentru a introduce metrici sau masuri ale
softului trebuie sa utilizam modele adecvate pentru ecare din tipurile de atribute
, procese, produse si resurse utilizate. Va trebui sa construim modele formale ne
ambigue care sa permita construirea unor astfel de metrici.
4.5.1. O teorie a masuratorilor si masuri pentru software.
Vom porni de la o teorie matematica a reprezentarii masuratorilor. Pentru
aceasta presupunem ca se da o mult ime precizata de entitat i si un atribut bine
precizat. Demersul pentru creiarea unei teorii formale a masuratorilor trebuie sa
realizeze urmatoarele:
- sa introduca axiome care corespunda nt elegerii intuitive si reprezentarilor
intuitive despre atribut;
- sa e satisfacuta o teorema de reprezentare care sa arate ca atributul poate
reprezentat ntr-un sistem numeric printr-o transformare care sa conserve axiomele;
- sa satisfaca o teorema de unicitate care sa precizeze ca oricare ar doua funct ii
denite pe mult imea de entitat i cu valori n sistemul de numere ele reprezinta n
mod del atributul considerat.
Sistemul de numere sau sistemul numeric la care ne-am referit poate orice
sistem ce rezulta din masuratori (cantariri, numarari, etc).
Sa precizam mai ntai cateva formalisme privind teoria reprezentarii.
Presupunem ca se da o cloasa de obiecte C si ca s-a identicat un atribut Q
pe care l poate avea orice obiect din clasa C. In plus, presupunem ca Q induce o
mult ime R de relat ii R
1
, R
2
, ..., R
n
pe C. Cu alte cuvinte, cand la niste obiecte am
observat Q aceste obiecte sunt n relatiile R
i
.
Sa consideram acum perechea ordonata L = (C, R).
Pentru a dedni o masura a unui atribut avem nevoie de o aplicat ie pe mult imea
de obiecte care poseda atributul cu valori ntr-un sistem de numere de exemplu
mult imea numerelor reale R. Mai general, avem nevoie de un sistem de relat ii
numerice care consta dintr-o mult ime impreuna cu una sau mai multe relat ii pe
acea mult ime. Sa notam cu N acea mult ime N R, si e
P = (P
1
, P
2
, ..., P
n
) (6.19)
o mult ime de relat ii denite pe N. Atunci sistemul de relat ii numerice R este
perechea
N = (N, P). (6.19

)
Pentru a avea o masura M a unui atribut, avem nevoie sa identicam un sistem
de relat ii numerice N = (N, P) ale carui relat ii P corespund relat iilor empirice
R prin aplicat ia M : C N.
Cap.6. Modele statice 161
Deci M aplica obiecte din C n elemente din N si de asemenea aplica relat ii din
R n nrelat iile coresounzatoare din P. Aceasta aplicat ie M trebuie sa asigure ca
toate relat iile empirice sunt conservate n sistemul de relat ii numerice. Trebuie deci
ca M sa reprezinte un homomorsm. Pentru a deni formal o masura consideram
deci C mult imea obiectelor, ecare cont inand atributul Q astfel incat
R = (R
1
, R
2
, ..., R
n
) (6.20)
este mult imea relat iilor din C denite de Q si
P = (P
1
, P
2
, ..., P
n
) (6.20

)
este o mult ime de relat ii n sistemul relat ional numeric R. Spunem ca
M : (C, R) (N, P) (6.21)
unde M : L N, este o masura pentru Q daca M este o funct ie de la C la N
astfel incat
M(R
i
) = P
i
si
R(x
1
, x
2
, ..., x
k
) daca si numai daca P
i
(M(x
1
), M(x
2
), ..., M(x
k
)).
Ultima condit ie este condit ia de reprezentare. Cand aceasta condit ie este
ndeplinita, atunci atributul n cauza este complet caracterizat.
Condit ia de reprezentare cere ca masura sa stabileasca o corespondent a ntre
obiectele din C (sau mai precis dintre elementele unui model al lui C) si numere
n asa fel ncat relat iile induse de Q pe C sa implice si sa e implicate de relat iile
dintre imaginile lor n mult imea de numere.
Avand un homomorsm (numit de asemenea reprezentare), tripletul (L, N, M)
este numit scala. Cand L si N sunt subint elese din context, ne vom referi la M
ca ind o scala.
Prima problema importanta n teoria masuratorii este problema reprezentarii.
Fiind dat un sistem relat ional observat L si un sistem numeric relat ional potrivit
N, sa se gaseasca condit ii necesare si suciente pentru existent a unui homomorsm
de la L la N. Aceste condit ii sunt numite axiome de reprezentare si teorema care
stabileste sucient a lor se numeste teorema de reprezentare.
Cea de-a doua problema a teoriei masuratorii este problema unicitat ii. Ho-
momorsmul dat de condit ia de reprezentare nu este n general unic. Daca de
exemplu am vrea sa denim o teorie a masuratorii inalt imii unor oameni si M ar
nalt imea, atunci aceasta ar putea considerata n centimetri, metri, etc., n
162 Cap.6. Modele statice
funct ie de scala de masuratori aleasa.In fapt, daca M este o masura a nalt imii,
atunci si M este o masura a nalt imii, oricare ar , 0 . Spunem
in acest caz ca M este o re-scalare a lui M. Care re-scalare este permisa, acest
fapt depinde de proprietat ile sistemului relat ional (C, R) si acea re-scalare (car-
acterizata de teorema de unicitate) determina ce fel de scala este M. O teorema
de unicitate impune limitari asupra operat iilor matematice ce se pot efectua cu
valorile masurate, adica cu imaginile lui M n N. De regula se pot efectua operat ii
ca adunarea, calcule cu medii, calculul logaritmului numerelor reale, iar problema
principala este daca rezultatele acestor operat ii dau informat ii semnicative asupra
obiectelor ce se masoara.
Scale regulate si semnicat ie. Teoria tipurilor de scale si semnicat ia
operat iilor precizeaza un mecanism cu care putem rat iona si interpreta anumite
asert iuni asupra sensului masuratorilor pe care le efectuam.
Sa consideram de exemplu urmatoarele asert iuni referitoare la aprecierea pro-
gramelor:
1. Numarul de erori detectate la testarea programului X a fost de cel put in
100.
2. Costul delimitarii si eliminarii ecarei erori din programul X este de cel
put in 100.
3. Detectarea unei erori semantice necesita un timp de doua ori mai mare ca
detectarea unei erori sintactice,
4. O eroare semantica este de doua ori mai complexa decat o eroare sintactica.
Pornind de la un nivel pur intuitiv, asert iunea 1 pare a avea sens, n timp ce
de-a doua nu, deoarece numarul de erori poate specicat fara a avea n vedere
o scala pe cand costul eliminarii unei erori presupune obligatoriu o scala de val-
ori. Asert iunea 3 pare sa aiba sens (chiar daca gandindu-ne bine poate sa nu e
adevarata) n timp ce asert iunea 4 nu are sens deoarece timpul necesar eliminarii
unei erori este acelasi indiferent de scala de valori utilizata (adica daca eliminarea
unei erori semantice necesita de doua ori mai multe minute decat eliminarea uneia
sintactice, ea va necesita tot de doua ori mai multe ore, secunde sau zile etc).
Deci raportul complexitat ii (care oricum este ambiguu n asert iunea 4) nu este
n mod necesar acelas.
Teoria masuratorii ne permite sa determinam semnicat ia unor asert iuni de
tipul celor de mai sus. Aceasta determinare se bazeaza pe unicitatea homomor-
smelor care satisfac condit ia de reprezentare. Am vazut ca este posibil sa existe
mai mult de un homomorsm de la un sistem relat ional empiric L la un sistem
relat ional numeric N. Ceeace dorim sa determinam este modalitatea de a trans-
forma un homomorsm acceptabil ntr-un alt homomorsm acceptabil. O astfel
Cap.6. Modele statice 163
de informatie ne va spune de exemplu cand o asert iune de tipul 3 de mai sus este
semnicativa.
Pentru a simplica discut ia pe aceasta tema, ne vom restrange la sistemele
relat ionale numerice a caror mult ime de baza este R. In acest caz scala (L, N, M)
se numeste scala numerica.
Este necesar acum sa introducem not iunea de transformare admisibila. Sa
consideram de exemplu masurarea (n sens obisnuit) a corpurilor zice. Fiind data
o modalitate de masuratoare numerica M, adica o aplicat ie ce satisface condit ia de
reprezentare pentru toate relat iile de lungime, este usor de vazut ca orice multiplu
scalar M al lui M satisface de asemenea condit ia de reprezentare (daca > 0.)
Transformarea care aplica pe M n M este numita admisibila deoarece prin
transformarea masuratorii numerice, nca se conserva condit ia de reprezentare.
Suntem deci n masura sa dam urmatoarele denit ii:
Denit ia 6.1.Consideram M : L N este un homomorsm unde L =
(C, R). Presupuunem ca este o funct ie care aplica domeniul lui M adica mult imea
M(C) = {M(c) : c C} (6.22)
n mult imea N. Atunci compunerea oM este o funct ie de la C la N. Daca oM
este un homomorsm de la L la N, vom numi o transformare admisibila de
scala.
Denit ia 6. 2.Daca (L, N, M) este o scala astfel ncat pentru orice alta scala
(L, N, M

) exista o transformare : M(C) N pentru care M

= oM, atunci
scala (L, N, M) este numita regulata. Daca orice homomorsm M de la L la N
este regulat, vom numi reprezentarea L N regulata.
Deci, o reprezentare L N este regulata daca ind date doua scale M si
M

, ecare poate aplicata n cealalta printr-o transformare admisibila. Cele mai


multe scale ntalnite n metricile de software sunt regulate. Pentru reprezentarile
regulate avem urmatoarea denit ie a semnicat iei.
Denit ia 6. 3.O asert iune referitoare la scale numerice este semnicativa
daca este invarianta la toate transformarile admisibile.
Daca o reprezentare L N este regulata, adica toate scalele (L, N, M) sunt
regulate, atunci clasa transformarilor admisibile deneste cum o scala este unica
si astfel de transformari admisibile pot utilizate la denirea tipurilor de scale.
Cele mai importante tipuri de scale sunt rezumate in tabelul de mai jos.
164 Cap.6. Modele statice
Transformari admisibile Tipuri de scala Exemple(interpretari)
M

= F(M) Nominal Etichete


(F este o aplicat ie 1-1)
M

= F(M) Ordinal Preferint a, putere,tarie


(F-monoton crescatoare) scoruri comparative,
M(x) M(y) M

(x) M

(y) teste de inteligent a.


M

= M +, ( > 0) Interval Timp (calendar)


temperatura, greutate,
(cf. standarde), etc.
M

= M, ( > 0 Raport Interval de timp,


lungime, temperatura
(masuratori absolute).
M

= M Absoluta Numaratori
Tabel. Scale de masuratori
Astfel, de exemplu, daca o familie de transformari este nchisa pentru aplicat ii
1 1, atunci tipul de sacla este nomonal; daca acea famile este inchisa fat a de
nmult irea cu un scalar (cum este de ex. n alt imea) atunci scala este de tipul
raport. Acum putem decide care operat ii pot realizate in mod semnicativ
asupra unor masuratori date.
Aspectele matematice ale teoriei masuratorilor sunt strans legate de teoreme
care stabilesc condit iile n care anume scale de masuratori directe sunt posibile
pentru anumite sisteme relat ionale numerice. Un exemplu tipic este acela al teore-
mei urmatoare, datorata lui Cantor, care da condit iile necesare si suciente pemtru
masurastori ordinale ntr-o clasa importanta de sisteme relat ionele pe o mult ime
numarabila.
Teorema 6.1. Presupunem ca C este o mult ime numarabila si R este o relat ie
binara pe C. Atunci exista o funct ie M cu valori reale denita pe C care satisface
condit ia
xRy M(x) > M(y) (6.23)
daca si numai daca (C, R) este o ordine slaba stricta. In plus, daca exista un astfel
de M, atunci L = (C, R) N = (R, >) este o reprezentare regulata si (L, N, M)
este o scala ordinala.
Cap.6. Modele statice 165
Observat ia 6.1. O ordine slaba stricta R pe C este asimetrica (xRy
(yRx)x, y C) si negativ- tranzitiva (xRy xRz sau zRy, x, y, z C).
Acest rezultat abstract are importante ramicat ii n studiul masurilor de com-
plexitate a programelor. Au fost facute multencercari de a se gasi o singura funct ie
cu valori reale care sa caracterizeze complexitatea programelor. Una din masurile
de complexitate utilizate este asa cum am vazut numarul ciclomatic al lui McCabe.
Programele formeaza o clasa de obiecte C si astfel funct iile decomplexitate denite
sunt masuri (ordinale) ale complexitat ii daca si numai daca relat ia R: x este
mai complex decat y este o ordine slaba stricta. Se pare ca nu exista o not iune
de complexitate generala cu aceasta proprietate deoarece tranzitivitatea negativa
nu are de regula loc. De ex. n Fig.6.1 pare plauzibil ca xRy dar nici xRz nici
xRy nu au loc.
Totusi daca am presupune ca complexitatea ciclomatoica M ar o masura de
complexitate valabila, atunci deoarece M(x) = 3, si M(y) = 2, ar trebui ca xRz,
adica x este mai complex decat z. Dar nu este clar ca x este mai complex; deci
din acest punct de vedere nu putem arma ca M este o masura de complexitate.
Teorema precedenta care da o legitimitate a masurilor de complexitate, ea
poate la fel utilizata pentru a construi scale ordinale de masura pentru com-
plexitatea atributelor (ca de exemplu caile de control a uxului n programe struc-
turate) care conduc n mod rezonabil la o ordine slaba stricta. Este nsa necesar
sa stabilim mai ntai o ordine a documentelor, deoarece atunci masura ordinala
rezulta n mod natural.
Una din cele mai puternice aplicat ii ale teoriei tipurilor de scala si semnicat iei
este de a determina care tipuri de operat ii sau analize statistice pot aplicate unor
tipuri particulare de masuri.
166 Cap.6. Modele statice
Z
Z
Z
`
`
`

`
`
`
Z
Z
Z



Z
Z
Z
`
`
`

`
`
`
Z
Z
Z

Z
Z
Z
`
`
`

`
`
`
Z
Z
Z

"

'

X Y Z
Fig.6.1.
Ne von opri la cea mai simpla prelucrare statistica ce se poate face cu niste
masuratori date si anume calculul unei medii. Presupunem ca M este o masura si
ca X = (x
1
, x
2
, ..., x
n
) si Y = (y
1
, y
2
, ..., y
m
) sunt doua seturi de masuratori pentru
care cunoastem M(x
i
) si M(y
j
). Vrem sa determinam daca masura medie a lui
X este mai mare decat masura medie a lui Y . Mai precis vrem sa vedem daca
asert iunea
media lui M(x
i
) este mai mare decat media lui M(y
j
)
este semnicativa, sau cu alte cuvinte (considerand ca medie pe cea aritmetica)
vrem ca asert iunea
1
n
n

i=1
x
i
>
1
m
m

j=1
y
j
(6.24)
este semnicativa. Pentru a semnicativa ar trebui ca pentru orice transformare
admisibila , relat ia (1) sa aiba loc daca si numai daca
1
n
n

i=1
(oM)x
i
>
1
n
m

j=1
(oM)y
j
. (6.25)
Este usor de vazut ca daca este o transformare de tipul (x) = x, > 0 sau
chiar de tipul (x) = x+, > 0, atunci relatia (1) este adevarata daca si numai
Cap.6. Modele statice 167
daca relat ia (2) este adevarata. Deci relat ia (1) este semnicativa daca M este
e o scala de tip raport e o scala de tip interval. Pentru a constata acest lucru
sa presupunem ca avem o scala de complexitate ordinala a softului care cuprinde
clasele urmatoare de complexitate
Triviala 1 1
Simpla 2 2
Moderata 3 3
Complexa 4 4
Foarte complexa 5 10
Ultimele coloane reprezinta valorile a doua scale M
1
si M
2
respectiv. Exsista o
transformare monotona a lui M
1
n M
2
, anume {1 1, 2 2, 3 3, 4 4, 5
10}. Acum sa presupunem ca avem produsele software S
1
, S
2
, S

1
, S

2
pentru care
M
1
S
1
) = 3, M
1
(S
2
) = 4, M
2
(S

1
) = 1, M
2
(S

2
) = 5. Am spera sa putem spune care
din cele doua mult imi de programe {S
1
, S
2
} {S

1
, S

2
} are cea mai mare complexitate
medie; totusi aceasta nu este semnicativa deoarece
3.5 =
1
2
(M
1
(s
1
) +M
1
(S
2
)) >
1
2
(M
1
(S

1
) +M
1
(S

2
)) = 3
n timp ce
3.5 =
1
2
(M
2
(S
1
) +M
2
(S
2
)) <
1
2
(M
2
(S

!
) +M
2
(S

2
)) = 5.5.
Deoarece ultima relat ie deriva din prima primtr-o transformare admisibila a lui
M
1
, cea de-a doua nu este amisibila caci inegalitatea nu se ment ine n cea de-a
doua relat ie.
Dar nu este totul pierdut din cauza ca exista o masura de medie care este
semnicativa la o scala ordinala de masuri. Aceasta este valoarea mediana adica
valoarea de la mijloc din sirul valorilor ordonate.
Sa mai observam ca pentru o scala nominala de masura, mediana nu este nici
ea o masura medie semnicativa, dar modul (cea mai frecventa valoare din sirul
de date) este semnicativa.
4.5.2 Abordarea structurilor interne ale programelor.
Asa cum am vazut, metodele de abordare n ingineria programelor au la baza
reguli, tehnici si instrumente de producere a softului care se bazeaza pe structura
168 Cap.6. Modele statice
ierarhica a programelor. Trebuie sa se t ina seama atat de structura interna cat si
de cea externa.
Este important sa vedem cum se pot deni masuri ale atributelor interne ale
programelor. Ne vom referi la masura unui atribut important de proiectare si
anume cuplarea.
Sa consideram atribute ale produsului soft pentru care modulele exista sau
sunt aparente.Exemple de acest tip sunt programele sursa si poate mai importante
documentat iile de proiectare n care se descriu modulele sistemului si interrelat iile
dintre ele. Deoarece un document de proiectare sau de specicare ce descrie un-
sistem software este disponibil inainte de implmentare (asa cum prevad aproape
toate metodologiile moderne de proiectare!), orice masura a atributelor importante
ale acestor documente poate furniza informat ii utile despre sistem chiar inainte de
dezvoltarea acestuia. Vom presupune ca produsele pe care le analizam sunt docu-
mente de proiectare care detaliaza interrelat iile dintre module.
Cuplarea poate denita ca o masura a gradului de interdependent a din-
tre module. Denit ia este ambigua deoarece este neclar daca cuplarea este un
atribut global de proiectare or un atribut al ecarei perechi de module. Vom stu-
dia cuplarea ntre perechi de module, ntrucat cuplarea global a trebuie sa derive
din prima. Denit ia cuplarii data mai sus mai are un neajuns; desi este numita
masura nu precizeaza o caracterizare numerica a atributului de cuplare. Acest
lucru pare ciudat deoarece empiric se pare ca exista relat ii bine stabilite care ar
indica faptul ca exista cel put in o scala ordinala de masuratori. Vom preciza mai
ntai cateva relat ii binare care exista pentru o pereche de module x, y si anume:
R
5
: (x, y) R
5
daca x se refera la interiorul lui y, adica daca el (x) intra
n, schimba date sau altrereaza o instruct iune din y. Sa numim tipul de cuplare
caracterizat de R
5
cularea cont inutului.
R
4
: (x, y) R
4
daca x si y se refera la aceleasi date globale. Acest tip
de cuplare R
4
se va numi cuplare comuna. Acest tip de cuplare nu este bun
deoarece daca formatul datelor globale trebuie modicat vor trebui modicate
toate modulele n relat ie de cuplare comuna.
R
3
: (x, y) R
3
daca x transfera un parametru lui y cu intent ia de a-i controla
comportarea, adica parametrul este un semnal. Acest tip de cuplare se numeste
cuplare controlata.
R
2
: (x, y) R
2
daca x si y accepta acelas tip de nregistrare ca parametru.
Acest tip de cuplare R
2
s-ar putea numi cuplare stampilata sau mai bine etichetata.
O astfel de cuplare introduce o interdependent a intre module care altfel nu ar avea
nicio legatura.
Cap.6. Modele statice 169
R
1
: (x, y) R
1
daca x si y comunica prin parametri, ecare ind ori elemente
de date singulare ori seturi de date omogene care nu incorporeaza niciun element
de control. Tipul de cupalre R
1
va numit cuplare prin date si el este necesar
pentru orice comunicare ntre module.
R
0
: (x, y) R
0
daca x si y nu comunica ntre ele, adica sunt total indepen-
dente. Acest tip de cuplare va numit ne-cuplare.
Cu aceasta clasicare a tipurilor de cuplare, putem imagina o ordine empirica a
acestor tipuri ca n Fig.6.2 unde ordinea crescatoare a cuplarii merge de sus n jos.
In acest moment avem nevoie de un model precis de studiere a cuplarii. Modelul
pe care l alegem este acela al unui multigraf orientat si etichetat adica al unui graf
orientat si etichetat care poate avea mai multe arce (orientate!) ntre doua noduri.
Eticheta ecarui arc este o pereche ordonata n care prima componenta reprezinta
tipul de cuplare (ment ionat n Fig.6.2) si cea de-a doua componenta reprezinta
numarul de cuplari de acel tip care apar intre noduri (in sens direct!).
5. Cuplarea cont inutului rau
4. Cuplarea comuna
3. Cuplarea controlata
2. Cuplarea etichetata
1. Cuplare prin date bine
0. Ne-cuplare
Fig.6.2.Tipuri de cuplare
In Fig. 6. 3 avem o parte a unui model de graf de cuplare. Acest graf reprezinta
patru module unde:
- modulele M
1
si M
2
folosesc doua tipuri diferite de nregistrari;
- modulul M
1
transmite modulului M
3
un parametru care act ioneaza ca o
eticheta in M
3
;
- modulul M
2
trimite o ramicare spre M
4
si de asemenea transmite doi
parametri ce act ioneaza ca o eticheta in M
4
.
170 Cap.6. Modele statice
'

_
_

' '


M3 M4
(3,1) (5,1) (3,2)
(2,2)
M1 M2
(2,2)
Fig.6.3. Graf de cuplare.Exemplu.
Consideram relat ia < denita pentru perechi de module; pentru perechile
de module (x, y), (x

, y

) relat ia este
(x, y) < (x

, y

) (6.26)
cand exista un nivel de cuplare mai tare pentru (x

, y

) decat ntre (x, y). Aceasta


relat ie are proprietatea ca daca (x
i
, y
i
) este o pereche de module in R
i
pentru
i = 0, 1, ..., 5, atunci
(x
0
, y
0
) < (x
1
, y
1
) < (x
2
, y
2
) < (x
3
, y
3
) < (x
4
, y
4
) < (x
5
, y
5
)
adica orice pereche de module cuplate dupa cont inut are un nivel de cuplare decat
orice pereche cuplata n comun, etc.
Cea mai simpla masura a unei perechi de cuplari care conserva relat iile ment ionate
va o transformare de forma
M(x, y) = i, 0 i 5 (6.27)
adica masura cuplarii pentru module care sunt ne-cuplate este 0, pentru module
cuplate prin date este 1, etc,..., pentru cele cuplate dupa cont inut este 5.
O problema ce apare frecvent ntr-o asemenea abordare este ca noi nu putem
sa t inem cont de diferitele tipuri de cuplari care se pot ivi din cele sase clase
Cap.6. Modele statice 171
identicate. De exemplu intuitiv se pare ca daca (x, y) si (x

, y

) sunt ambele
perechi de module cuplate dupa cont inut, adica sunt n R
5
si daca x se refera o
singura data la ceva interior lui y iar x

se refera de mai multe ori la ceva din y

,
atunci nivelul de cuplare dintre (x

, y

) este mai puternic decat cel dintre (x, y),


adica
(x, y) < (x

, y

).
Pentru a implementa o astfel de masura avem nevoie sa numaram interconex-
iunile de ecare tip dintre perechi de module. Aceasta ne va permite sa stabilim
masuri pentru ecare tip de cuplare, de exemplu volumul de cuplari dupa cont inut
ar putea sapte interconexiuni; dar acest mod de a numara nu sugereaza usor ca
ar putea vorba de o singura masura de cuplare ntre module.
Daca dorim sa avem o singura masura a cuplarii dintre modulele x, y care sa
conserve toate relat iile identicate pana acum, atunci aceasta ar urmatoarea
masura de scala ordinala:
M(x, y) = i +
n
n + 1
(6.28)
unde i este masura de cuplare cea mai mare de tipul de mai sus (adica i = 3 daca
x si y sunt cuplate prin control si n este numarul de interconexiuni dintre x si y).
Dupa ce am stabilit cateva masuri rezonabile din punct de vedere intuitiv, care
masoara cuplarea ntre perechi de module, sa ne indreptam atent ia catre studiul
cuplarii globale care poate privita si ca not iunea de conectivitate a diagramei sau
schemei de structura a unui program. Din nou vom porni de la relat iile empirice
existente pentru acest atribut. O Astfel de relat ie poate exprimata intuitiv prin
urmatoarea axioma a cuplarii:
Axiona 1. Daca D si D

sunt doua diagrame modulare de structura astfel


ncat diferent a dintre ele consta n faptul ca D

cont ine n plus fat a de D un arc


de conexiune, atunci D

are o cuplare mai mare decat D.


Daca dorim sa denim o msura care sa conserve aceasta axioma, atunci ar
trebui sa nsumam pentru toate perechile de module din diagrama de structura
masurile cuplarii denite mai sus. O atare denit ie s-ar reduce la ceva separat care
exprima mai degraba volumul programului. Se pare ca cuplarea globala este mai
bine caracterizata ca o medie a cuplarii perechilor, care ar putea exprimata
de urmatoarea axioma.
Axioma 2. Presupunem ca S este un sistem care consta din modulele D
1
si
D
2
. Daca S este extins la S

prin adaugarea unui modul D


3
si daca cuplarea lui
D
1
, D
3
este egala cu cuplarea init iala a lui D
1
, D
2
atunci cuplarea globala a lui S
este egala cu cea a lui S

.
172 Cap.6. Modele statice
Sa observam ca media creste daca se adauga exact un arc (ca in axioma 1)
dar nu creste n mod necesar daca daca un alt modul cu noi interconexiuni este
adaugat. In fapt cuplarea glogala poate chiar sa scada in acest caz.
In acest exemplu controlul cuplarii ntre doua module este redus la cuplarea
de date prin introducerea unui nou modul cu doua noi arce. Exista doua modalitat i
de a judeca cum se reduce cuplarea:
1. deoarece controlul total al cuplarii este acum zero si controlul cuplarii
domina cuplarea datelor.
2. deoarece cuplarea medie ntre module sa reduce.
Cea de-a doua modalitate pare a mai adecvata dar si aici este o problema.
Am vazut ca nu putem ajunge mai bine decat la o scala ordinala pentru not iunea
generala de cuplare si am observat mai sus ca nu exista o not iune semnicativa
de medie in sensul mediei aritmetice pentru o asemenea masura. Totusi exista o
not iune semnicativa de medie daca o luam drept mediana valorilor.
In acest fel putem deni intuitiv o masura rezonabila globala de cuplare, ca
nivel mediu pentru sistem adica:
Cuplarea globala a unui sistem S constand din modulele {D
1
, D
2
, ..., D
n
} este
data de valoarea mediana a mult imii {M(D
i
, D
j
) : 1 i < j n} unde M este
masura cuplarii unei perechi denita mai sus.
Problema cuplarii este de considerat deoarece s-a constatat practic ca pro-
gramele care cont in multe erori n interfet ele lor, au un numare de erori ce depinde
de marimea cuplarilor. Ideile tradit ionale privind masurarea cuplarii se bazeaza
pe urmatoarele masuri care se refera mai degraba la modulele individuale decat la
perechi:
- numarul maxim de interconexiuni per modul;
- numarul mediu de interconexiuni per modul;
- Numarul total de interconexiuni per modul;
- numarul de module care acceseaza interconexiuni de control;
- numarul de structuri de date interconectate la nivelul modulului de cel mai
inalt nivel (modulul principal!).
Pe baza acestor masuri de cuplare s-a formulat ipoteza:
Programele cu valoarea cuplarii mare cont in mai multe erori dacat cele cu
valoarea cuplarii mica.
Ca ipoteza sa e satisfacuta ar trebui ca masurile de cuplare bazate pe numara-
tori enumerete anterior sa se coreleze puternic (din punct de vedere statistic) cu
numarul de erori. Ori acest lucru nu se intampla.
Folosind masura cuplarii bazata pe perechi de module n [10] se sugereaza o
ipoteza interesanta, mult mai realista.
Cap.6. Modele statice 173
Programele cu aceeasi lungime si aceleasi nivele de funct ionalitate dar cu valori
ale masurii de cuplare mai mari cont in mai multe erori.
Proba de control.
1. Mult imea datelor de intrare ale unui program se descompune in M mult imi
nite adica E = {E
1
, E
2
, ..., E
M
}. Se stie ca numarul de elemente din E
i
este N
i
=
Card(E
i
). S- au facut cate n
i
testari ale programului cu date din E
i
, 1 i M si
de
i
ori programul nu s-a intrerupt. Sa se estimeze abilitatea

R a programului.
Indicat ie. Fiabilitatea estimata pentru datele din mult imea E
i
este

R
i
= 1

i
n
i
iar probabilitatea de a utiliza date din mult imea E
i
este p
i
=
N
i
N
, N =

i
N
i
. Deci
conform (6.5) avem

R = 1
M

i=1
N
i
N

i
n
i
.
2. Determinat i un interval de incredere pentru numarul init ial de erori N
0
estimate prin procedeul captura-recaptura.
Indicat ie. Presupunem ca in urma unor testari s-au detectat n erori in execut ia
unui program (pasul captura). Deci probabilitatea de a detecta la o testare o eroare
insamant ata este
p =
n
N
0
.
Aceste erori se introduc (insamant eaz a) din nou in program. Se efectueaza apoi
din nou un numar de testari si se obt in erori din care sunt dintre erorile
insamant ate (pasul recaptura). Deci probabilitatea p se estimeaza astfel p =

.
Dispersia lui p cand n << N
0
< si este mic, este

2
= V ar( p)
p(1 p)

.
Deci, conform inegalitat ii lui Cebasev, un interval de incredere, de nivel 0.9,
pentru p este p
1
p p
2
, p
1
= p 3 , p
2
= p +3 . De aici rezulta ca un interval
de incredere pentru N
0
este N
1
N
0
N
2
unde
N
1
=
n
p
2
, N
2
=
n
p
1
.
3. Determinat i un interval de incredere de nivel 0.9 pentru N
0
folosind
versiunea procedeului captura-recaptura cu doua echipe paralele.
Indicat ie. Se urmareste solut ia de la modelul precedent.
4. Folosind formula celor mai mici patrate si datele (i, p
i
) sa se estimeze
parametri a si b din formula (6.6).
Cap. 7. Control statistic de recept ie 177
Indicat ie. Logaritmand (6.6), metoda celor mai mici patrate se aplica la
modelul liniar
y(i) = log(a) +i log(b) +e
i
, S =

i
e
2
i
= min.
5. Cu ce formule se calculeaza lungimea programului, volumul programului si
numarul init ial de erori N
0
folosind metrica de complexitate a lui Halstead.
Indicat ie. Lungimea programului N se calculeaza cu formula (6.9); volumul
programului V se calculeaza cu (6.9); numarul init ial de erori

N
0
se estimeaza cu
for mula (6.9).
6. Precizat i doua metrici de complexitate, altele decat metrica lui Halstead.
Indicat ie. Complexitatea ciclomatica V (G) denita de formula (6.10);complex-
itatea lui Oviedo C denita de formula (6.11).
7. Precizat i formule de calcul a numarului init ial de erori N
0
pe aza unor
metrici de complexitate.
Indicat ie. Formulele (6.16) si (6.16) bazate pe modelui lui Lipow; formulele
(6.17) si (6.18) bazate pe modelui lui Schneider.
7 Controlul statistic de recept ie
In activitatea IT se manipuleaza si se comercializeaza obiecte, avand volume mari
din punct de vedere numeric. De exemplu componente de schimb (sim-uri de mem-
orie,diverse cosumabile, mouse-uri, tastaturi, etc.). Toate acestea se cumpara si
livreaza mai intai in loturi si abia apoi se desfac cu amanuntul. Toate aceste loturi
mari de obiecte IT, ca orice produse industrilale de masa, pot cont ine si obiecte
defecte. Se impune deci ca ele sa e controlate. Controlul bucat a cu bucata nu
se poate realiza ecient din punct de vedere economic din mai multe motive. In
primul rand ca ar solicita un mare consum de timp (fort a de munca), iar in al
doilea rand pentru ca ar impune uneori folosirea unor aparate sau dispozitive de
control costisitoare, sau ar impune cateodata chiar distrugerea obiectelor contro-
late. De aceea controlul calitat ii in acest caz se asigura prin metode statistice de
control al calitat ii. Aceste metode pot de doua feluri: metode de control statistic
preventiv, care se aplica pe parcursul desfasurarii procesului de product ie si metode
de control nal sau de recept ie, cunoscute uneori sub numele de planuri de control
de acceptare/respingere. Controlul statistic preventiv este specic rmelor mari
producatoare de componente si echipamente hardware si deci nu este impus pe
scara larga in activitat ile IT.
De aceea, in cele ce urmeaza vom prezenta cateva metode de control statistic
nal, acestea intervenind predominant in activitatea curenta de comercializare si
178 Cap. 7. Controlul statistic de recept ie
exploatare a produselor IT. Metodele despre care este vorba se bazeaza pe asa
numitele planuri de control de acceptare a loturilor de produse sau obiecte, despre
care vom vorbi in continuare. Inainte de a preciza ce este un plan de control sa
precizam cat iva termeni. Cel care livreaza lotul il vom numi producator sau furni-
zor, iar cel care primeste lotul il vom numi beneciar sau consumator. Controlul
este unul bazat pe atribute, adica prin controlul unui obiect din lot se decide daca
acesta este corespunator (bun) sau defect (ne-acceptabil), pe baza vericarii uneia
sau mai multe caracteristici de calitate (caractereistici electrice, dimensiuni stan-
dard, aspect zic, stare de funct ionare, etc). Rezultatul controlului unui obiect
conduce la a accepta ca bun sau necorespunzator acel obiect.
In unele cazuri, se impune insa sa se controleze o caracteristica de calitate X
numerica (de ex. o lungime, o rezistent a electrica, o capacitate, o tensiune, un
timp de funct ionare, etc.) In acest caz caracteristica trebuie sa se gaseasca intr-un
anumit interval de tolerant a M
0
c (adica se cere ca X M
0
c.) M
0
este centrul
intervalului de tolerant a. De exemplu se poate cere ca un diametru sa e in
intervalul [1.2 0.05cm, 1.2 + 0.05cm], sau prescurtat 1.2 0.05cm. In acest
caz, vom construi un altfel de plan de control al calitat ii. El va un plan de
control pentru caracteristici.
Ne vom referi mai intai la controlul de recept ie de acceptare/ respimngere, sau
asa numitul control pe baza de atribute.
Prin procesul de control, consumatorul accepta un nivel tolerat de calitate al
lotului, exprimat printr-un procent de rebut 100p
2
% si un risc de a accepta un lot
cu nivel de calitate mai slab decat cel tolerat egal cu 100%. Pe de alta parte,
producatorul admite un nivel de calitate acceptat de el (adica un procent de rebut)
de 100p
1
% si un risc de 100% ca lotul sa nu e bun. De regula p
1
0.01 si p
2

0.05, iar 0.05, 0.10. Exista mai multe tipuri de planuri de control: control
simplu, atunci cand pentru a accepta/respinge un lot de volum N se controleaza
un singur lot de volum n, n << N, sau,plan dublu cand se controleaza doua loturi
n
1
, n
2
, sau triplu cand se controleaza trei loturi n
1
, n
2
, n
3
, etc. Desigur, planuri
duble, triple etc, se folosesc atunci cand se doreste un control mai sever, pentru
obiecte care joaca un rol crucial in functionarea agregatului pe care sunt montate.
Un plan de control simplu se compune de regula din urmatoarele elemente, adica
este de forma:
P = (N, n, c; p
1
, , p
2
, ), N >> n > c, (7.1)
unde:N = numarul de obiecte din lotul ce trebuie recept ionat; n =numarul de
obiecte luate la intamplare din lot, ce trebuie controlate bucata cu bucata (adica
n este volumul sondajului); c = numarul maxim de obiecte defecte din lotul (de
volum n) controlat ce pot admise ca defecte, pentru ca lotul N sa e acceptat de
catre beneciar. (c se mai numeste numarul de acceptare). Deoarece operat ia de
Cap. 7. Control statistic de recept ie 179
predare-primire se realizeaza pe baza controlului prin sondaj a unui lot de volum
n de obiecte (deobicei n << N), lot care cont ine d obiecte defecte, rezulta ca
lotul de volum N poate sa cont ina defecte cu o probabilitate pozitiva 1 P
a
=
Prob(d > c). P
a
este deci probabilitatea de a accepta lotul in urma controlului
de recept ie convenit de catre furnizor si beneciar. Din punct de vedere practic,
daca beneciarul are nevoie de N obiecte bune, el va primi N + p
2
N obiecte, dar
va plati numai N caci atatea se presupune ca vor bune. Deci, daca N este dat
(xat de catre beneciar), trebuie sa se precizeze si procentele de rebut admise
p
1
, p
2
. Valorile n si c se vor determina deocamdata in funct ie de N, p
1
, p
2
, , ,
marimi acceptate atat de catre furnizor cat si de catre beneciar.
In concluzie, pentru a se putea determina elementele n si c (n > c 0) trebuie
sa se cunoasca de la inceput atat N cat si p
1
, p
2
, precum si riscurile beneciarului
() si furnizorului ().
7.1 Metode de determinarea planurilor de control
7.1.1 Planuri simple de control
Aceste planuri se bazeaza perepartit ia binomiala si pe repartit ia hipergeometrica.
Utilizarea repartit iei binomiale. Se presupune ca N (volumul lotului ce
trebuie controlat) este un numar foarte mare (N ;) si ne propunem sa decidem,
controland un numar mic xat de obiecte n, daca lotul poate admis ca avand un
procent de rebut p%. Acest p este acceptat atat de catre furnizor cat si de catre
beneciar, adica, in terminologia precizata mai sus, p = p
1
= p
2
. Presupunem ca
riscul % de a respinge lotul cand el este bun este de asemenea dat (de obicei se
accepta 0.05). Deci se dau n, p, si se cere sa se ae c = numarul maxim de
obiecte defecte din lotul controlat (de volum n), astfel incat lotul mare (de volum
N) sa e acceptat la livrare atat de catre furnizor cat si de catre beneciar. Daca
notam cu X numarul de obiecte defecte din lotul de volum n, atunci X este o
variabila aleatoare binomiala Bin(n, p) si avem
P(X = k) = C
k
n
p
k
q
nk
, q = 1 p, k = 0, 1, ..., n. (7.2)
De aici rezulta ca numarul c pe care-l cautam se determina din ecuat ia
P(X c) =
c

k=1
C
k
n
p
k
q
nk
= 1 . (7.2

)
Ecuat ia (1.2) in c se rezolva printr-un algoritm simplu avand ca date de intrare
n, p, . Algoritmul este urmatorul:
1. Intrare n, p, ;S = 0, i = 0, q = 1 p;
180 Cap. 7. Controlul statistic de recept ie
2.Repeat
Calculeaza term = C
i
n
p
i
q
ni
;
S := S +term; i := i + 1
until S :
3. c = i.
Se observa ca, deoarece c este intreg, acesta este cel mai mic intreg ce satisface
relat ia P(X c) 1 . De regula, probabilitatea erorii cu care se deretmina
, adica = P(X < c + 1) P(X c) este in general mare. De aceea, deaca se
impune un sucient de mic dat, atunci se cauta ce valori n si c trebuie considerate
pentru ca lotul sa cont ina rebuturi cu probabilitatea p si sa e admis riscul . In
tabela care urmeaza (Tabel 7.1), extrasa din [37], se presupune ca probabilitatea
de rebut admisa in lot este p = 0.05, = 0.05 si se dau cele mai potrivite perechi
(n, c) care realizeaza un sucient de mic (sub 0.01).
Volumul lotului de control N Numarul de acceptare c
46 0
78 1
106 2
134 3
160 4
Tabel 7.1
Utilizarea repartit iei hipergeometrice. In acest caz, se precedeaza asemanator.
Aici se cunoaste N iar X este numarul de obiecte defecte din cele n controlate. Nu-
mai ca aici obiectele estrase pe rand schimba probabilitatea de rebut a obiectelor
ramase in lotul N. Este deci modelul de extragere din urna fara intoarcere!. (In
cazul binomial extract ia este tot fara intoarcere dar nu are efect asupra proba-
bilitat ii de rebut intrucat in urma unei extrageri aceasta modicare este neglijabila
sau inexistenta, deoarece extragand din lotul N un obiect raman in lot aproximativ
tot atatea obiecte, intrucat N ; ). In cazul cand lotul N este mic (si cont ine
rebuturi cu probabilitatea p), numarul de obiecte defecte X, existente in lotul de
m arime n, n < N << , are deci o repartit ie hipergeometrica, adica
P(X = k) =
C
k1
n1
C
Ak
Nn
C
A
N
, (7.3)
unde A = {Np} este numarul de rebuturi din lotul de marime N. (Ca deobicei,
{x} este cel mai apropiat intreg de x.)
Cap. 7. Control statistic de recept ie 181
Notand p =
A
N
, q = 1 p, se arata [38,39] ca
m = E[X] = np = n
A
N
, V ar(X) = npqC
N1
Nn
. (7.3a)
Si in acest caz numarul de acceptare c al planului de control se determina rezolvand
ecuat ia
P(X c) =
c

i=1
C
i1
n1
C
Ai
Nn
C
A
N
= 1 . (1.3

)
Algoritmul care determina pe c are ca date de intrare N, n, p, si el este asemanator
celui precedent. Si aici intervine aceeasi observat ie referitoare la determinarea lui
c ca numar intreg. Mai mult, daca N, p, sunt dat i si aici se pune problema de
a determina perechile cele mai potrivite (n, c) ale planulul de control, astfel incat
P(X < c + 1) P(X c) < cu dat.
In 1959, inginerii americani Dodge si Romig au calculat si publicat tabele
pentru controlul loturilor de munit ii, (produse destructibile prin control!), pe care
le-au publicat ulterior in mai multe edit ii ale Military Standard 105,105 A, etc.
In tabelul urmator (Tabel 7.2), extragem cateva planuri de control din Military
Standard pentru p = 0.05, = 0.10 si diverse valori ale lui N; valoarea lui n este
reconandata de cei doi autori.
N 31-50 51-100 101-200 201 4.10
2
401 2.10
3
2001 10
4
10001 5.10
4
5.10
4

n 30 37 40 43 75 105 135 160


c 0 0 0 1 1 2 3 4
A 0.49 0.63 0.74 0.78 1.1 1.1 1.1 1.1
Tabel 7.2
In tabela apare A = AOQL =average outgoing quality limit, calculata de catre
autorii mentionati folosind calcule elementare si care are urmatorul sens: daca
pentru multe aplicari ale aceluiasi plan, am determina procentul mediu de rebut
obtinut prin vericarea bucata cu bucata a obiectelor, din loturile de volum n, a
tunci am gasi valoarea A = AOQL (in procente %).
(Tabela este extrasa din cartea [37])
In nal sa observam ca rezultatul unui control poate conduce rareori si la con-
cluzii false, dar cu o probabilitate care trebuie sa e vat mai mica. Mai precis,
exista o funct ie L(p) care da probabilitatea de a accepta lotul de volum N (con-
troland lotul de volum n) cand adevarata valoare a procentului de rebut este p%.
Aceasta funct ie se numeste caracteristica operativa, (CO). Asa cum am precizat
la inceputul acestui capitol, un plan de control presupune cunoasterea apriori a
probabilitat ilor p
1
, p
2
, p
1
< p
2
care reprezinta respectiv nivelul adevarat de calitate
182 Cap. 7. Controlul statistic de recept ie
pentru a accepta lotul, nivelul adevarat de calitate pentru a respinge lotul. De aici
rezulta ca
1 = L(p
1
), = L(P
2
) (7.4)
unde respectiv sunt respectiv riscul furnizorului si riscul beneciarului. Am-
bele riscuri trebuie sa e cat mai mici. Funct ia L(p) se determina pentru ecare
plan de control.In [37] se gasesc detalii privind determinarea funct iei L)p). La un
plan de control cel mai important este riscul furnizorului, .
7.2 Alte planuri de control
7.2.1 Regula 3
Sa presupunem ca ne aam in cazul controlului loturilor de volun N (N foarte
mare) si ne propunen sa copntolam loturi de volum n,n << N. Numarul X de
obiecte defecte din cele n are o repartit ie binomiala de parametri n, p unde p este
probabilitatea de rebut. Deci,
= E(X) = np,
2
= V ar(X) = np(1 p). (7.8)
Inegalitatea lui Cebasev spune ca
P(|X np| < 3

np(1 p)) 8/9 0.90 (7.8

)
de unde putem conchide ca
P(X > np + 3

np(1 p)) 0.05. (7.9)


De aici rezulta urmatorul plan de control:
(n, p, = 0.05, c),
unde
c = UCL = np + 3

np(1 p). (7.9

)
(UCL=Upper Control Limit). Deci, lotul de volum N se accepta, daca in urma
controlului a n obiecte s-au gasit X defecte si X UCL. Desigur, riscul este in
acest caz destul de mare. De fapt, din punct de vedere strict teoretic putem vorbi
de un plan de control cu doua limite de control si anume
LCL = np 3

np(1 p), UCL = np + 3

np(1 p). (7.10)


Cap. 7. Control statistic de recept ie 183
(LCL=Lower Control limit!).Probabilitatea de acceptare este de 0.10 daca LCL
X UCL, dar pe noi ne intereseaza numai limita superioara UCL, intrucat daca
X < LCL, cu atat nmai bine.
In [39] sunt descrise mai multe versiuni ale planurilor de control de tipul 3.
De exemplu, o metoda (folosita in multe aplicat ii in care intervin probabilitat i
ca cea de rebut p), este de a transforma datele X folosind o transformare arcsin
[39]. Astfel X se transforma in
Y = arcsin
_
_

_
x +
3
8
n +
3
4
_
_
. (7.10

)
Variabila Y are parametrii
m = E[Y ] = arcsin(

p),
2
= V ar(Y ) =
1
4n
,
de unde rezulta ca limitele de control pentru Y , potrivit metodei 3 sunt
LCL = arcsin(

p)
3

4n
, UCL = arcsin(

p) +
3

4n
.
Avantajul transformarii arcsin este acela ca limitele LCL, UCL in acest caz
sunt reale (deci nu intregi c!), ele folosesc pentru luarea deciziei (acceptare sau resp-
ingere) variavila Y si nu se mai impune corect ia invocata de eroarea ment ionata
mai sus. Utilizarea unui astfel de plan de control necesita aproape obligatoriu
utilizarea calculatorului, pentru a usura activitatea de control.
Urmatorul tabel (Tabel 7.3) extras din [39] descrie planul de control de tipul
3 pentru controlul bazat pe atribute (numarul X de obiecte defecte).
n n n n p p p p c c c c
200 0.10 0.08 0.06 0.05 32.72 27,514 22.07 19.24
300 0.10 0.08 0.06 0.04 45.58 30.09 30.34 22.18
600 0.10 0.05 0.03 0.02 82.04 46.01 30.53 22.28
1000 0.10 0.05 0.03 0.02 128.46 70.67 46.18 33.28
2000 0.10 0.05 0.03 0.01 240.24 129.24 82.88 33.34
Tabel 7.3
Tabela se citeste astfel: la un n dat si la un p de pe coloana i a corespunde
UCL de pe coloana corespunzatoare a lui c. De ex. daca controlam un lot de
marime n = 600 si dorim ca el sa aiba prbabilitatea de rebut p = 0.03, atunci
trebuie ca numarul de obiecte defecte X sa e mai mic decat UCL = 30.53.
184 Cap. 7. Controlul statistic de recept ie
7.2.2 Utilizarea repartit iei normale
Pentru controlul loturilor mari de produse (adica loturi de volumN ;), volumul
n al select iei controlate poate oricat de mare (de ordinul miilor sau zecilor de
mii!). Inacest caz, numarul de obiecte defecte X din lotul de volum n va avea o
repartit ie asimptotic normala N(, ), unde , sunt dat i de (7.8). Atunci, se stie
[41] ca
P(|
X np

np(1 p)
| < 1.96) = 0.95
adica cu un risc de genul I de = 0.025 avem
X < UCL = np + 1.96

np(1 p). (7.11)


Limita de control UCL din (7.9) este mai mare decat cea din (7.11) deoarece X
este in ultimul caz normala. (Informat ia despre X este mai buna aici deoarerce
fara ipoteza de normalitate, informat ia asupra lui X este data numai de momentele
, ).
Repartit ia normala se utilizeaza si atunci cand controlul lotului de volum n
se realizeaza asupra unei caracteristici de calitate Y care are o repartit ie normala
N(m, ) cu cunoscut. In acest caz se efectueaza n masuratori Y
1
, Y
2
, ..., Y
n
si se
calculeaza media lor aritmetica Y . Daca se da riscul de genul I si se noteaza z

cuantila repartit iei normale N(0, 1) care satisface relat ia


1

2
z

U
2
2
du = 1 ,
atunci limitele de control pentru media Y sunt
LCL = mz

n
, UCL = m+z

n
. (7.12)
(In cazuri practice, cand nu se cunoaste m, se ia m = M
0
=mijlocul intervalului
de tolerant a). Cu alte cuvinte, lotul controlat (de volum N ; ) se respinge,
daca media Y a masuratorilor efectuate asupra celor n obiecte se aa in afara
limitelor de control, adica Y / [LCL, UCL]. Cateva valori importante pentru
z

:( = 0.05, z

= 1.96), ( = 0.10, z

= 1.64). Cu acest test noi verican daca Y


are media m care corespunde calitatat ii impuse obiectelor.
Formulele (7.12) se aplica atunci cand este cunoscut, ceea ce nu se intampla
in general. De aceea ar trebui estimat in prealail. Dar in acest caz media Y
Cap. 7. Control statistic de recept ie 185
nu mai are repartit ie normala si deci nu se mai poate aplica coecientul z

ci ar
trevbui aplicata cuantila repartit iei student, estimand in prealabil pe
2
astfel

2
s
2
=
1
n 1
n

i=1
(Y
i
Y )
2
. (7.13)
Acest procedeu necesita insa calcule ceva mai complicate si de aceea se aplica [37,
38] o metoda mai simpla si anume: se estimeaza cu ajutorul amplitudinii

n
= max
1in
Y
i
min
1in
Y
i
; (7.13

)
estimat ia este de forma = d
n

n
, unde d
n
este o constanta. (Vezi [38]).In acest
caz Y are o repartit ie ce depinde de repartit ia amplitudinii studentizate.
n 1 = 0.90 1 = 0.95 1 = 0.99
5 1.74 2.07 2.71
6 1.41 1.68 2.20
7 1.22 1.45 1.90
8 1.09 1.29 1.70
9 1.00 1.19 1.56
10 0.92 1.10 1.44
11 0.87 1.04 1.36
12 0.82 0.99 1.29
14 0.76 0.90 1.90
15 0.73 0.87 1.14
16 0.71 0.85 1.11
17 0.69 0.82 1.10
18 0.67 0.80 1.05
19 0.66 0.78 1.02
20 0.64 0.77 1.00
Tabel 7.4
Limitele de control pentru Y vor de forma
LCL = mK

n
, UCL = m+K

n
.
In tabelul 7.4 se dau valori ale lui K

in funct ie de riscul de genul I, si de volumul


select iei n.
186 Cap. 7. Controlul statistic de recept ie
7.3 Control statistic secvent ial.
A efectua un plan de control ststistic inseamna de fapt a verica ipoteza H:lotul
de volum N este corespunzator relativ la nivelul de calitate p. Pentru a decide
referitor la H se da riscul care este probabilitatea de a respinge H cand aceasta
este adevarata. Decizia se ia pe baza contolului lotului de volum n, n << N. Dar
pentru ca si riscul de a accepta ipoteza H cand aceasta este falsa sa e sucient
de mic, trebuie ca volumul lotului de control n sa nu e prea mic. Acest lucru este
asigurat de o propozit ie importanta de statistica matematica, anume de Lema lui
Neyman-Pearson!. Mai precis, se arata ca pentru , dat i, exista n
0
astfel incat
volumul lotului de control n = n(, ) si n(, ) n
0
.
In practica, daca prin control obiectele se distrug (cum este de ex. cazul
munit iei), s-ar putea ca volumul minim al lotului de control n
0
sa nu e conven-
abil,caci ar trebui distruse prin control cel put in n
0
obiecte. De aceea A.Wald
(fost asistent la Cluj la inceputul Sec. XX si devenit apoi cetat ean american) a
intodus metoda numita analiza secventiala [42]. Principiul acestei metode este
urmatorul: prin controlul unui numar init ial de n
0
obiecte nu putem decide daca
ipoteza H este adevarata sau falsa; atunci, mai efectuam un numar k, k 1 de
experient e (adica in total n = n
0
+k) si repetam procedeul pana cand putem de-
cide daca ipoteza H se accepta sau se respinge. Numarul n de experient e nu mai
este constant ci aleator. Se arata ca valoarea sa medie este E(n) n
0
, adica un
control secvent ial necesita un volum de loturi de control care reprezinta mai put in
de jumatate din lotul obiectelor care s-ar controla cu un plan de control simplu,
nesecvent ial.
Sa vedem cun se construieste un plan de control de recept ie secvent ial. Vom
urma calea introdusa de Wald, adica vom prezenta testul secvent ial al raportului
de verosimilitat i (TSRP).
Fie X o variabila aleatoare care are densitatea de repartit ie p(x, ), unde este
un parametru necunoscut. Sa presupunem ca se cere sa se verice ipoteza statistica
H : =
0
; respingerea ipotezei H
0
inseamna acceptarea ipotezei statistice H
1
:
=
1
,
1
=
0
. Pentru select ia X
1
, X
2
, ..., X
n
efectuata asupra lui X sa notam
V
n
(x
1
, x
2
, ..., x
n
; ) funct ia de verosimilitate asociata select iei. TSRP se deneste
astfel: se aleg doua constante 0 < A < B si se calculeaza raportul de verosimilitat i
r
n
=
V
1n
V
0n
=
V
n
(X
1
, X
2
, ..., X
n
;
1
)
V
n
(X
1
, X
2
, ..., X
n
;
0
)
. (7.15)
Daca A < r
n
< B atunci nu putem decide daca este adevarata ipoteza H
0
sau H
1
,
si mai efectuam o noua experient a (sau mai multe=k) dupa care testam din nou
condit ia precedenta cu r
n+1
; testarea se repeta pana cand se obt ine r
n+1
A, caz
in care se accepta H
0
, sau se obt ine r
n+1
B, caz in care se accepta H
1
.
Cap. 7. Control statistic de recept ie 187
Daca si sunt riscurile de genul intai , respectiv doi, A. Wald a aratat ca

1
A, B
1

. (7.16)
Este deci sucient sa luam
A =

1
, B =
1

. (7.16

)
Sa vedem acum cum aplicam TSRP al lui Wald la determinarea unui plan de
control statisic secvent ial [41]. Ne vom situa mai intai in cazul cand lotul N este
foarte mare. (In pracica N > 10
4
). Suntem deci in cazul repartit iei binomiale.
Daca din n obiecte controlate s-au gasit m necorespunzatoare (m n), atunci
funct ia de verosimilitate este
V
n
= C
m
n

m
(1 )
nm
, = prob. ca unobiect sa fie defect.
(Adica = p in cazul repartit iei binomiale).
Deoarece ipotezele de vericat sunt H
0
: p = p
1
, H
1
: p = p
2
, (p
1
< p
2
), rezulta
ca
r
n
=
p
m
2
(1 p
2
)
nm
p
m
1
(1 p
1
)
nm
si t inand seama de formulele (7.16), rezulta dupa efectuarea unor calcule ca:
daca m h
0
+ns atunci acceptam H
0
(adica lotul este corespunzator);
daca m h
1
+ns atunci acceptam H
1
(adica lotul este necorespunzator);
daca h
0
+ns < m < h
1
+ns atunci efectuam o noua proba.
In relat iile precedente se folosesc notat iile
h
0
=
log

1
log
p
2
p
1
log
1p
2
1p
1
, h
1
=
log
1

log
p
2
p
1
log
1p
2
1p
1
, s =
log
1p
2
1p
1
log
p
1
p
1
log
1p
2
1p1
. (7.17)
Sa observam ca in planul (n, m) (n =volumul lotului de vericat si m = numarul
de obiecte defecte din acest lot) ecuat iile
(D
1
) : m = h
0
+ns, (D
2
) : m = h
1
+ns (7.18)
descriu doua drepte paralele cu coecientul unghiular s > 0, care despart planul in
trei regiuni: regiunea de deasupra celei de-a doua drepte este regiunea de respin-
gere, regiunea dsintre cele doua drepte este regiunea de nedecizie iar ultime regiune,
cea de sub prina dreapta, este regiunea de acceptare.
188 Cap. 7. Controlul statistic de recept ie
In [37] si in diverse standarde (vezi[40]) sunt date tabele cu planuri secvent iale
multiple de control de forma:
(n
1
, m
1
1
, m
1
2
), (n
1
+n
2
, m
2
1
, m
2
2
), (n
1
+n
2
+n
3
, m
3
1
, m
3
2
), etc, m
i
1
< m
i
2
. (7.19)
Cum se aplica un astfel de plan: daca dupa ce s-au controlat n
1
+... +n
i
obiecte,
numarul de defecte d
i
satisface relat ia m
i
1
< d < m
i
2
atunci se mai ia o proba de
volum n
i+1
si se adaoga la cele controlate anterior. Procedeul se continua pana la
pasul i cand se obt ine d
i
< m
i
1
, caz in care se accepta lotul sau d
i
> m
i
2
, caz in
care se respinge lotul.
Planurile secvent iale de control se pot obt ine folosind formulele (7.17), (7.18) .
Proba de control
1. Se da riscul furnizorului si se cere un plan de control al unui lot de volum
foarte mare. admit andu-se un procent de rebut p% = 5%, presupunandu-se ca se
pot controla cel mult 140 obiectedin lot.(Controlul este costisitor!).
Indicat ie. Se foloseste tabelul 7.1, de unde rezulta ca se vor controla n = 134
obiectesi cel mult c = 3 pot defecte pentru a accepta lotul (mare).
2. Un lot de volum Ndat trebuie controlat ca sa se decida daca are cel mult
p% = 5%rebut. Se da riscul furnizoreului = 0.05. Se presupune ca se pot controla
n obiecte.
Indicat ie. Se noteaza A = {Np} si se rezolva ecuat ia (1.3) avand ca ne-
cunoscuta pe c. (Adica se utilizeaza repartit ia hipergeometrica). Se va construi un
algoritm asemanator celui din cazul repartit iei binomiale (Sect iunea 7.1.1).
3. O caracteristica de calitate aleatoare X are media m = E[X] necunoscuta si
dispersia (variant a) V ar(x) =
2
cunoscuta. Este vorba de un lot foarte mare de
obiecte. Sa se determine limitele de control pentru media caracteristicii de calitate
X cand repartit ia de probabilitate a lui X este necunoscuta, iar lotul de control
are volumul n.
Indicat ie.Se foloseste regula 3 rezultata din inegalitatea lui Cebasev. Limitele
de control inferioara si superioara sunt respectiv
LCL = M
0

3

n
, UCL = M
0
+
3

n
unde M
0
este centrul intervalului de tolerant a al caracteristicii de calitate X. Con-
trolul se efectueaza astfel. Se iau la intamplare n obiecte din lot si se masoara
valorile caracteristicii X, obt inandu-se select ia X
1
, X
2
, ..., X
n
. Se calculeaza media
aritmetica X =

n
i=1
X
i
;daca LCL X UCL atunci se accepta lotul (mare),
altfel lotul se respinge.
Cap. 7. Control statistic de recept ie 189
4. Trebuie recept ionat un lot de volum N = 1800 obiecte. Folosind Talelul
7.2 (extras din Military Standard) sa se dertermine un plan de control de recept ie
pentru un procent de rebut admis de p% = 5% si un risc de genul I = 0.10.
Indicat ie. Din tabel rezulta ca trebuie controlat un lot de volum n = 75 si
numarul maxim de obiecte rebut este c = 1. (Controlul este sever!).
5. Folosind Tabelul 7.3, determinat i un plan de control bazat pe atribute
pentru un lot de volum foarte mare, controland n = 1000 obiecte pentru care se
admite procentul de rebut p% = 5%.
Indicat ie. Din tabela se deduce n = 1000, c = 70.67 71.
6. O caracteristica de calitate X, aleatoare, repartizata normal N(m, ), cu
necunoscut, trebuie controlata pentru un lot foarte mare de obiecte. Interevalul
de tolerant a al lui X este [M
0
a, M
0
+a]. Sa se construiasca un plan de control
pentru media lui X folosind o select ie de n probe.
Indicat ie. Cu ajutorul celor n probe se calculeaza media X si amplitudinea

n
= max
1in
X
i
min
1in
X
i
. Limitele de control pentru X sunt
LCL = M
0
K

.
n
, UCL = M
0
+K

n
.
Valorile K

pentru un risc de genul I dat, se citesc din tabela 7.4.


Cu alte cuvinte, daca pentru select ia data avem LCL X UCL atunci lotul
(mare) se accepta; altfel el se respinge.
7. Un lot de volum N trebuie controlat (prin atribute:bun-rau!) pe baza unei
select ii de volum n, n < N, lotul acceptandu-se daca cont ine cel mult p% rebut.
Sa se construiasca un plan de control pentru care sa se precizeze riscul furnizorului.
Indicat ie. Se foloseste regula 3. Se obt ine limita superioara pentru numarul
de defecte
c = UCL = np + 3pqC
Nn
N1
, = 0.10.
Riscul furnizorului este deci = 0.10.
8. Se da un lot de volum N. Se cere sa se construiasca un plan de control
secvent ial pentru acest lot folosindu-se p
1
< p
2
, , .
Indicat ie. Se calculeaza mai intai marimile A si B cu formulele (7.16).Se
noteaza A
1
= {Np
1
}, A
2
= {Np
2
}, se controleaza n obiecte se determina numarul
k de obiecte defecte si se calculeaza raportul de verosimilitat i t inand seama de
(7.3). Avem
r
n
=
V
2n
V
1n
=
C
k1
n1
C
A
2
k
Nn
C
k1
n1
C
A
2
k
Nn
_
C
A
1
N
C
a
2
N
_
n
, n = 1, 2, ... (7.20)
Daca A < r
n
< B atunci se ia n := n + 1 (adica se mai controleaza un obiect
modicandu-se daca este cazul k in k := k + 1), se calculeaza din nou r
n
si se
repeta comparat ia. Cand pentru prima data avem r
n
< A atunci se accepta lotul
Cap. 7. Control statistic de recept ie 191
de volum N care va avea cel mult p
1
% rebuturi. Daca insa se obt ine pentru prima
data ca r
n
> B atunci se respinge lotul de volum N caci el va avea cel put in p
2
%
rebut. Se poate prelucra formula (7.20) obt inandu-se ceva asemanator formulelor
(7.17) si (7.18).
9. Dandu-se p
1
< p
2
, , sa se scrie un program care sa calculeze coecient ii
celor doua drepte (7.18) care denesc planul de control secvent ial. Cu ajutorul
acestui program sa se determine planuri multiple de control secvent ial, pentru
diverse valori date: (, , p
1
< p
2
).
Indicat ie. Se calculeaza coecient ii dreptelor (D
1
), (D
2
) denite de (7.18),
folosind formulele (7.17).
Cap 8. Funct ii de repartit ie cu rata ca derilor monotona Cap. 8. Funct ii de
repartit ie cu rata ca derilor monotona
8 Funct ii de repartit ie cu rata caderilor mono-
tona
Fie X 0 o variabila aleatoare ce reprezinta o durata de funct ionare si a carei
funct ie de repartit ie este F(x). Daca exista densitatea de repartit ie f(x) = F

(x)
si notam cu F(x) = 1 F(x) funct ia abilitate (sau de supraviet uire), atunci se
stie ca
h(x) =
f(x)
F(x)
, x 0
este funct ia rata caderilor sau rata de hazard. Funct iile de repartit ie cu rata
caderilor monotona sunt acelea pentru care h(t) este monotona; daca h(t), t > 0
este monoton crescatoare atunci funct ia de repartit ie F este de tip IFR. Daca h(t)
este descrescatoare, atunci funct ia de repartit ie F este de tip DFR. Repartit iile IFR
sunt specice sistemelor tehnice sau int elor biologice, in timp ce repartit iile DFR
sunt specice sistemelor software sau sistemelor ce descriu durata nentrerupta a
fort ei de munca intr-o companie.
O denit ie generala a funct iilor de repartit ie cu rata ca derilor monotona este
urmatoarea [4].
Denit ia 8.1.Funct ia de repartit ie F are rata caderilor monotona daca si
numai daca funct ia
F(t +x) F(t)
F(t)
(8.1)
este crescatoare (descrescatoare) in t, pentru orice x > 0, t 0, 0 < F(f) < 1.
Legatura cu denit ia cunoscuta a funct iilor de repartit ia IFR (DFR) este data
de urmatoarea lema [4].
192 Cap. 7. Controlul statistic de recept ie
Lema 8.1.Daca F are densitate si F(0 0) = 0 atunci F este IFR (DFR)
daca si numai daca funct ia h(t) este crescatoare (des crescatoare).
Demonstrat ie. (In cazul IFR, deoarece cazul DFR se deduce prin dualitate).
Daca in (8.1) impart im cu x si facem x 0 atunci rezulta implicat ia .
Implicat ia inversa se demonstreaza in cazul IFR plecand de la relat ia h(x
1
)
h(x
2
), daca x
1
x
2
si tinand seama ca
F(t) = e

t
0
h(x)dx
.
In cele ce urmeaza vom preciza cateva proprietat i ale funct iilor IFR. Pro-
prietat ile repartit iilor DFR se vor obt ine prin dualitate astfel: daca intr-un enunt
apare IFR acesta va inlocuit cu DFR, iar daca apar <, , acestea vor inlocuite
cu >, .
Denit ia 8.2. Funct ia p(x) se numeste funct ie de frecvent a Polia de ordinul
2, (notata PF
2
), daca p(x) 0 si pentru orice x
1
, x
2
, < x
1
< x
2
< ,
y
1
, y
2
, < y
1
< y
2
< are loc relat ia

p(x
1
y
1
) p(x
1
y
2
)
p(x
2
y
1
) p(x
2
y
2
)

0. (8.2)
(In formula (8.2) este vorba de un determinant!).
Observat ie. Funct ia p(x) 0 este PF
2
daca
p(x)
p(x)
este o funct ie crescatoare
in x pentru orice 0.
Denit ia 8.3.(Extensie a denit iei 8.2). Funt ia P(x, y), x R, y R este
total pozitiva de ordinul 2 (notata TP
2
) daca p(x, y) 0 si pentru orice x
1

x
2
, y
1
y
2
are loc relat ia

p(x
1
, y
1
) p(x
1
, y
2
)
p(x
2
, y
1
) p(x
2
, y
2
)

0. (8.3)
Observat ie. Daca F este PF
2
stunci p(x, y) = F(x y) este TP
2
.
Pornind de la denit iile de mai sus se stabileste teorema urmatoare.
Teorema 8.1. Daca F, (F(0 0) = 0), este o funct ie de repartit ie, atunci
urmatoarele armat ii sunt echivalente:
a. F este IFR (DFR);
b. logF(t) este concava (convexa) cand 0 < F(t) < 1;
c. F(t) este PF
2
,(p(x, y) = F(x +y) este TP
2
, x +y > 0).
Demonstrat ie. Vom stabili pe rand echivalent ele a. b. si a. c, numai pentru
cazul IFR.
Cap. 7. Control statistic de recept ie 193
Echivalent a a. b. Pornim de la relat ia
F(t) = e
H(t)
, H(t) =

t
0
h(u)du.
Daca F este IFR, atunci, conform denit iei 8.1 avem
F(t + ) F(t)
F(t)
=
F(t) F(t + )
F(t)
= 1 e
[H(t+)H(t)]
si ultima expresie este o funct ie crescatoare in t oricare ar . De aici rezulta ca
H(t + ) H(t) este crescatoare in t oricare ar adica H(t) este convexa. De
aici rezulta ca H(t) = logF(t)este concava, adica a. b.
Echivalent a a. c. Daca F este IFR atunci conform denit iei 8.1 avem pentru
t
1
< t
2
, x > 0, ca
F(t
1
) F(t
1
+x)
F(t
1
)

F(t
2
) F(t
2
+x)
F(t
2
)
ceea ce este echivalent cu

F(t
1
) F(t
1
+x) F(t
2
) F(t
2
+x)
F(t
1
) F(t
2
)

0.
Scazand in determinantul precedent linia a doua din linia intaia si inlocuind F(x)
cu 1 F(x) se obt ine faptul ca F este PF
2
.
Pentru cele ce urmeaza este importanta echivalent a a. b.
Sa mai observam ca in cazul repartit iei exponent iale Exp(0, ) cu =
1

1
unde

1
este media corespunzatoare lui F, avem G(x) = e
x
, de unde se deduce ca
pentru o funct ie de repartit ie a caderilor oarecare F avem F(0) = G(0), iar gracul
lui F mai taie gracul lui G cel mult inca odata. De asemenea rezulta ca in cazul
repartit iei exponent iale avem h(t) = = const., deci repartit ia exponent iala este
la granit a dintre repartit iile IFR si DFR.
Lema 8.2.Daca F este IFR atunci
[F(t)]
1
t
(8.4)
este descrescatoare in t.
Demonstrat ie. Daca F este IFR atunci logF(t) este concava in t deci (deoarece
F(0 0) = 1) avem ca
logF(t) logF(0)
t 0
este descrescatoare. Deci antilogaritmand avem ca [F(t)]
1
t
este descrescatoare in
t.
194 Cap. 7. Controlul statistic de recept ie
O lema duala se poate enunt a pentru cazul DFR.
Consecint a. Din lema 8.2 rezulta ca o repartit ie IFR are momente de orice
ordin. Intr-adevar, daca xam un t
0
> 0 oarecare, conform lemei 2, pentru t > t
0
avem F(t) < [F(t
0
)]
t
t
0
. Pe de-alta parte pentru un r R
+
oarecare, momentul de
ordinul r este dat de integrala Stieltjes

r
=


0
x
r
dF(x) =


0
x
r
d[F(x)] = r


0
x
r1
F(x)dx,
ultima parte rezultand din integrarea prin part i. Dar t inand seama de inegalitatea
precedenta (pentru t
0
xat) avem

r
= r


0
x
r1
F(x)dx = r

t
0
0
x
r1
F(x)dx +r


t
0
x
r1
F(x)dx
r

t
0
0
x
r1
F(x)dx +r


t
0
x
r1
[F(t
0
)]
x
t
0
dx.
Notand = log[F(t
0
)]
1
t
0
rezulta ca ultima integrala devine
r


t
0
x
r1
e
x
dx
care este nita. Se observa ca si prima integrala exista si este nita deoarece
funct ia x
r1
F(x) este marginita pe intervalul (0, t
0
), de unde reazulta in nal ca

r
exista si este nit.
Teorema 8.2.Daca F esteIFR si
p
satisface relat ia F(
p
) = p (adica
p
este
p-quantila inferioar a a lui F), atunci
F(t)
_
e
t
dac t
p
e
t
daca t
p
(8.5)
unde
=
log(1 p)

p
. (8.5

)
Demonstrat ie. Din F(
p
) = p deducem F(
p
) = 1 p. Dar pentru t
p
avem
din lema 8.2 ca
{F(t)}
1
t
{F(
p
)}
1

p
= (1 p)
1

p
.
Notand
(1 p)
1

p
= e

, adica =
log(1 p)

p
atunci avem
{F(t)}
1
t
e
t
, adica F(t) e
t
,
Cap. 7. Control statistic de recept ie 195
si prima inegalitate (8.5) este demosntrata. La fel se demonstreaza si cea de-a
doua inegalitate din (8.5). Desigur se poate formula o teorema duala pentru cazul
cand F este DFR.
Teorema 8.3.Daca F este IFR cu media
1
atunci
F(t)
_
e

1
daca t <
1
0 daca t
1
.
(8.6)
Demonstrat ie. Fie X variabila aleatoare care are funct ia de repartit ie F con-
tinua. (Daca F nu este continua, se poate arata ca deoarece este IFR, ea se poate
aproxima cu o funct ie continua). Intrucat, conform teoremei 8.1, logF(t) este
concava, din inegalitatea lui Jensen rezultaca
E[logF(X)] logF[E(X)] = logF(
1
), (8.7)
unde E desemneaza valoarea medie. Deoarece F este continua,rezulta (conform
teoremei lui Hincin) ca variabila aleatoare F(X) este repartizata uniform pe (0, 1)
si deci
E[logF(X)] =

1
0
log(u)du = 1.
Din (8.7) avem logF(
1
) 1 adica F(
1
) e
1
. Din lema 8.2, rezulta in
continuare ca
_
F(t)
_1
t

_
F(
1
)
_ 1

1
(e
1
)
1

1
,
adica pentru t <
1
avem
F(t) e

1
si teorema este demonstrata.
Observam ca inegalitatea este stricta pentru 0 < t <
1
daca F(t) = e

1
.
Teorema 8.3 spune in fapt ca funct ia de supraviet uire F(t), in cazul unei
repartit ii IFR, este limitata inferior de abilitatea data de repartit ia exponent iala
de acceasi medie
1
.
Aplicat ii. 1. Daca un sistem are n componente independente conectate in
serie, iar componenta i are funct ia de repartit ie F
i
, 1 i n de tip IFR, atunci
abilitatea sistemului F(t) satisface relat ia
F(t) =
n

i=1
F
i
(t)
_
e

n
i=1
t

i
, daca t < min{
1
, ...,
n
}
0, in rest
. (8.7

)
2. In acesleasi ipoteze referitoare la F
i
, abilitatea F(t) a unui sistem cu
componente indepensente conectate in paralel satisface relat ia
F(t)
_
1

n
i=1
(1 e

i
), daca t min{
1
, ..,
n
}
0, in rest.
(8.7)
196 Cap. 7. Controlul statistic de recept ie
Demonstrat iile aplicat iilor 1,2 rezulta usor din formulele de calcul a abilitat ii
sistemelor cu componente conectate in serie sau paralel (Cap.1).
Teorema 8.4, care urmeaza, da o limitare superioara funct iei F(t).
Teorema 8.4.Daca F este IFR cu media
1
atunci
F(t)
_
1 daca t
1
e
t
daca t >
1
,
(8.8)
unde depinde de t si satisface relat ie 1
1
= e
t
.
Demonstrat ie. Sa notam
G(x) =
_
e
t
daca x < t
0 daca x t
si sa observam ca gracul lui F(x) taie gracul lui G(x) cel mult odata si il taie
de sus in jos.
Pentru t
1
formula (8.8) este evidenta. Sa o demonstram pentru t >
1
. In
acest caz notam cu solut ia ecuat iei

t
0
e
x
dx =
1
.
De aici se observa ca


0
e
x
dx


t
e
x
dx =
1
de unde prin integrare se deduce
1

e
t

1
sau 1
1
= e
t
care este tocmai relat ia din enunt ul teoremei.
Acum, pentru a demonstra inegalitatea din (8.8) pentru t >
1
, sa presupunem
ca pentru denit mai sus avem F(x) = G(x). (Daca ar identitate atunci (8.8)
ar satisfacuta). Deci presupunem ca avem neegalitatea mentionata. Daca din
neegalitate ar rezulta F(x) > G(x) atunci ar rezulta

1
=


0
F(x)dx >

t
0
G(x)dx =
1
ceeace ar o contradictie. Deci putem avea numai F(x) < G(x) ceeace demon-
streaza teorema.
Observam ca teoremele 8.2-8.4 dau limitari inferioare/superioare ale funct iilor
de abilitate de tip IFR. In cele ce urmeaza vom prezenta teoreme care dau limitari
pentru cuantile sau pentru medii in cazul repartit iilor IFR.
Cap. 7. Control statistic de recept ie 197
Teorema 8.5.Daca F este IFR si daca p este o probabilitate astfel incat p <
1 e
1
, atunci
[log(1 p)]
1

p
[
log(1 p)
p
]
1
(8.9)
iar daca p 1 e
1
atunci

1

p
[
log(1 p)
p
]
1
(8.9

)
unde
p
este pcuantila lui F, adica F(
p
) = p.
Demonstrat ie. Sa obt inem mai intai majorantele din (8.9),(8.9). Conform
lemei 8.2 avem

1
=


0
f(x)dx


p
0
_
F(
p
)
_ x

p
dx
p
p
log(1 p)
de unde

p

1
[
log(1 p)
p
], 1 > p > 0.
Sa ne concentram asupra termenilor minorant i din stanga formulelor (8.9),(8.9).
Fie p 1e
1
; daca
p
<
1
atunci conform teoremei 8.4 avem 1p = F(
p
)
e

1
, de unde
p

1
[log(1 p)]. Daca
p

1
atunci F(
p
) 1 p e
1

1
de unde de asemenea
p

1
[log(1 p)], adica (8.9) este demonstrata.
Fie acum p > 1e
1
si sa presupunem prin absurd ca
p
<
1
; atunci F(
p
) = p
deoarece F nu poate avea niciun salt la stanga lui
1
. Deci
F(
1
) e
1
1 p = F(
p
)
ceea ce implica
p
>
1
, adica contradict ie. Contradict ia a plecat de la prersupunerea

p
<
1
, deci trebuie ca
p
>
1
, adica este valabila relat ia (8.9).
Teorema 8.5 permite determinarea unor limite ale mediei
1
in funct ie de me-
diana M (care satisface relat ia F(M) = 0.5 = p =
1
2
). In acest caz din (8.9),(8.9)
se deduce
M
2log(2)

1

M
log(2)
. (8.9)
Teorema 8.6. Presupunem urmatoarele:
(a). F este IFR cu media
1
si notam G(x) = e

1
funct ia abilitate exponent iala
de acceasi medie;
(b). Presupunem ca (x) este o funct ie monoton crescatoare.
Atunci:


0
(x)F(x)dx


0
(x)G(x)dx (8.10).
198 Cap. 7. Controlul statistic de recept ie
Demonstrat ie. Presupunem ca F = G (F nu este identic cu G). Intrucat F
e IFR si G este exponent iala, gracul lui F taie gracul lui G o singura data pe
(0, ) si il taie de sus in jos!. Fie t
0
abscisa punctului in care se taie cele 2 grace
,adica F(t
0
) = G(t
0
). Atunci avem


0
(x)F(x)dx


0
(x)G(x)dx =


0
(x)f(x)dx
1
(t
0
) +
1
(t
0
).
Dar deoarece

1
=


0
F(x)dx =


0
G(x)dx
deducem in nal ca


0
(x)F(x)dx


0
(x)G(x)dx =


0
[(x) (t
0
)][F(x) G(x)]dx. (8.10

)
Daca descompunem ultima integrala pe (0, t
0
) si pe [t
0
, ) atunci avem:
pe (0, t
0
) (x) (t
0
) < 0, F(x) G(x) > 0
pe [t
0
, ) (x) (t
0
) > 0, F(x) G(x) < 0.
De aici rezulta ca ultima integrala din (8.10) este 0, adica teorema este demon-
strata.
Sa observam ca se poate enunt a o teorema duala pentru repartit ii F de tip
IFR si descreescatoare.
Ca o consecint a imediata a teoremei 8.6 rezulta urmatorul
Corolar. Daca F este IFR atunci momemtul de ordinul r,
r
(care stim ca
exias a pentru orice r R
+
) satisface condit iile

r
_
(r + 1)
r
1
, daca r 1
(r + 1)
r
1
, daca 0 < r 1
(8.11)
si


0
e
sx
dF(x)
1
1 +s
1
, s > 0. (8.11

)
unde este funct ia speciala Gamma.
Demonstrat ie. Formula (8.11) se demonstreaza aplicand teorema 8.6 pentru
(x) = x
r1
care conduce la

r
=


0
x
r
dF(x) = r


0
x
r1
F(x)dx r


0
x
r1
G(x)dx = (r + 1)
r
1
, r 1.
Cap 9. Not iuni de teoria reinoirii 199
Cazul 0 < r < 1 se trateaza in mod asemanator.
Formula (8.11) se demonstreaza astfel. Se considera (x) = e
sx
care este
descrescatoare pentru s > 0. Avem deci


0
1 e
sx
s
dF(x) =


0
e
sx
F(x)


0
e
sx
G(x)dx =
=

1
1 +s
1
=
1
1
1+s
1
s
.
Considerand primul si ultimul termen din relat iile precedente deducem

1
s


0
e
sx
dF(x)
1
s
(
1
1 +s
1
)
si corolarul este demonstrat.
Teorema care urmeaza se refera la repartit ii care au rata de hazard h(t) oare-
care.
Teorema 8.7.Daca 0 <
1

< h(h) <


1

< , atunci avem

s
=


0
x
s
F(x)dx < , s > 1 (8.12)
e

F(t) e

(8.13)
e

F(t)
e

(8.14)

s

s

s
, s > 1 (8.15)
inf
t
h(t)
1

1
sup
t
h(t). (8.16)
Demonstrat ie. Formula (8.12) a fost deja demonstrata. Daca integram relatia
din ipoteza si t inem seama de faptul ca F(t) = e

t
0
h(u)du
rezulta (8.13). Din
(8.13) rezulta (8.14). Formula (8.15) rezulta din (8.14) prin integrare, iar (8.16)
este consecint a lui (8.15) pentru s = 1.
Teorema 8.7 este importanta deoarece da un interval pentru evaluarea a-
bilitat ii cand se cunoaste un interval de valori ale ratei caderiolor h(t). Ca si in
alte treoreme precedente se pune in evident a de asemenea important a repartit iei
exponent iale pentru abilitate.
200 Cap. 9. Not iuni de teoria reinoirii
9 Not iuni de teoria renoirii
Modelele de teoria abilitat ii isi propun sa studieze si evalueze calitatea sistemelor
in funct ie de modul lor de funct ionare. Fiabilitatea este deci un indicator de cali-
tate. Teoria renoirii isi propune sa determine ce trebuie facut ca un sistem sa e
ment inut in stare de buna funt ionare sau sa determine cand vor inlocuite com-
ponentele care se defecteaza, sau cand trebuie nlocuit intregul sistem. Modelele
de teoria renoirii sunt de mai multe tipuri si anume:
1. Renoirea/nlocuirea la cadere;
2. Renoirea/nlocuirea dupa varsta;
3. Renoirea/nlocuirea cu reparare;
4. Inlocuirea la depreciere.
In acest capitol vom prezenta cateva modele de teoria renoirii.
9.1 Renoirea la cadere
Se presupune ca sistemul,sau componente ale sale, se nlocuiesc atunci cand
ele cad. Sa presupunem ca durata aleatoare X de funct ionare pana la cadere
a componentei sau sistemului are funct ia de reparrtit ie F(x). Viat a sistemului
evolueaza in timp astfel: siatemul este pus in funct iune la momentul t = 0; dupa
o perioada de timp X
1
componenta cade, este nlocuita instantaneu si sistemul
funct ioneaza o perioada de timp X
2
si a.m.d. Pe un interval de timp (0, t) vor
avea loc un numar aleator de nlocuiri N(t). Duratele de funct ionare {X
n
}
n1
sunt deci variabile aleatoare presupuse independente si identic repartizate avand
funct ia de repartit ie F(t). Daca F(t) este cunoscut, atunci se pune problema de-
terminarii repartit iei lui N(t), deoarece acesta reprezinta numarul de nlocuiri
(piese/componente de schimb!) necesare pentru ca sistemul sa funct ioneze pe
(0, t). Marimea M(t) = E[N(t)] este deci numarul mediu de nlocuiri pe (0, t). Sa
decsriem acum mai precis matematic cele prezentate anterior.
Denit ia 9.1.Procesul stochastic {X
n
}
n1
pentru care X
i
, i 1 sunt variabile
aleatoare independente si identic repartizate avand funct ia de repartit ie F(t)
0, t 0, (F(t) = 0 cand t < 0) se numeste proces elementar de renoire, sau
simplu, proces de renoire. Procesul stochastic N(t) care reprezinta numarul de
nlocuiri determinate pe (0, t) de procesul de renoire {X
n
}
n1
se numeste proces
numarabil de renoire. Marimea N(t) se mai numeste variabila de renoire, iar
valoarea sa medie M(t) = E[N(t)] se numeste funct ie de renoire.
Se observa ca N(t) este determinat de {X
n
}
n1
si de aceea de multe ori den-
umirea proces de renoire desemneaza pe oricare din ele.
Sa mai observam ca N(t) = n daca este satisfa relat ia
S
n
t < S
n+1
, unde S
n
=
n

i=1
X
i
. (9.1)
Cap 9. Not iuni de teoria reinoirii 201
Fiind date doua funct ii de repartit ie F(x), G(x) ce corepund variabilelor aleatoare
independente X, Y , se stie ca funct ia de repartit ie H(z) a sumei Z = X + Y este
produsul de convolut ie al funct iilor F si G, adica
H(z) =

F(z y)dG(y). (9.2)


Daca X, Y sunt durate in funt ionare (adica sunt pozitive) atunci
H(z) =

z
0
F(z y)dG(y) (9.2

)
iar daca F, G admit respectiv densitat ie de repartit ie f, g atunci densitatea h(z) a
lui Z este
h(z) =

z
0
f(z y)g(y)dy. (9.2)
In cele ce urmeaza vom nota F
(n)
(x) produsul de convolut ie al lui F cu el insusi
de n ori, adica
F
(n)
(x) = (F F ... F)(x), F
(1)
(x) = F(x) (9.3)
si notam
F
(0)
(x) =
_
1, daca x 0
0 daca x < 0,
(F
(0)
F
(1)
)(x) = F
(1)
(x). (9.3

)
Funct ia F
(0)
(x) se mai numeste funct ia treapta sau funct ia lui Heaviside.
Propozit ia 9.1.Cu notat iile de mai sus are loc formula
P[N(t) = n] = F
(n)
(t) F
(n+1)
(t). (9.4)
Demonstrat ie. Consideram evenimentele aleatoare
A = {S
n
t}, B = {S
n+1
t}, B A.
De aici rezulta
P[N(t) = n] = P[S
n
t, S
n+1
> t] =
= P(A\B) = P(A) P(B) = F
(n)
(t) F
(n+1)
(t)
si propozit ia este demonstrata.
Observat ii. 1. Din propozit ia 9.1 rezulta ca
P[N(t) n] = F
(n)
(t). (9.4

)
202 Cap. 9. Not iuni de teoria reinoirii
2. Daca F este IFR cu media
1
=

0
xdF(x), atunci conform teoremei 8.3,
pentru t <
1
avem F(t) < 1 e

1
de unde
P[N(t) n] = F
(n)
(t) 1
n

i=1
(
t

1
)
i
i!
e

1
. (9.4)
Formula (9.4) se poate demonstra si t inand seama de faptul (cunoscut din Cap
1) ca daca X
i
, i 1 au repartit ii exponent iale de parametru =
1

1
si sunt
independente, atuni N(t) este PPO deci repartit ia sa este
P[N(t) = n] =
(t)
n
n!
e
t
.
Teporema 9.1.Funct ia de renoire M(t) = E[N(t)] satisface urmatoarea ecuat ie
integrala
M(t) =

t
0
[1 +M(t x)]dF(x). (9.5)
Aceasta ecuat ie se numeste ecuat ia renoirii.
Demonstrat ie. Conform propozit ie 9.1 avem
M(t) =

i=1
kP[N(t) = k] =

k=1
k[F
(k)
(t) F
(k+1)
(t)] =
= F
(1)
(t) F
(2)
(t) + 2F
(2)
(t) 2F
(3)
(t) +... =

k=1
F
(k)
(t). (9.5

)
Deoarece F
(k)
(t) este produs de convolut ie avem
F
(k
(t) =
t

0
F
(k1)
(t x)dF(x) = (F
(k1)
F)(x),
de unde
M(t) = F(t) +

k=1
t

0
F
(k)
(t x)dF(x) =
=

t
0
[1 +

k=1
F
(k)
(t x)]dF(x).
Tinand seama de (9.5) rezulta ecuat ioa renoirii (9.5).
Ecuat ia (9.5) este o ecuat ie integrala de tip Voltera si ea se mai numeste Ecuat ia
fundamentala a renoirii; funct ia necunoscuta este M(t). O problema importanta
Cap 9. Not iuni de teoria reinoirii 203
este deci rezolvarea ecuat iei renoirii. Rezolvarea acestei ecuat ii se realizeaza ceva
mai usor cand F(t) admite densitate de repartit ie f(t).
In acest caz exista si densitatea de renoire
m(t) =
dM(t)
dt
.
Daca f
(k)
(t) este produsul de convolut ie al densitat ii de repartit ie al lui f cu el
nsusi de k ori, atunci evident
f
(k)
(t) =

t
0
f
(k1)
(t x)f(x)dx, m(t) =

t
0
[1 +m(t x)]f(x)dx. (9.6)
Ecuat ia (9.6) satisfacuta de m(t) se numeste ecuat ia densitat ii de renoire. Daca
se cunoat e m(t) , atunci funct ia de renoire M(t) se calculeaza cu formula
M(t) =

t
0
m(u)du. (9.6

)
Pentru rezolvarea ecuat iei renoirii/densitat ii de renoire se poate proceda e nu-
meric, e folosind transformata Laplace.
Pentru a rezolva numeric ecuat ia densitat ii de renoire se porneste de la o
aproximanta init iala m
0
(t), t [0, t]. Aceasta aproximanta este un tabel de forma
_
x
1
x
2
... x
p
m
01
m
02
... m
0p
_
, p N
+
.
In tabel sunt deci valorile lui m
0
(t) date pe o ret ea de puncte 0 = x
1
< x
2
< ... <
x
p
= t. Ecuat ia (9.6) ne conduce la formula iterativa
m
i+1
(t) =

t
0
[1 +m
i
(t x)]f
(
x)dx, i 0 (9.6)
care se calculeaza numeric folosind formule cunoscute de cuadratura. Dandu-se o
eroare > 0, sucient de mica solut ia numerica este acea aproximanta m
i
(t) pentru
care sup
t
m
i+1
(t) m
i
(t) . Desigur, toate aproximantele m
i
(t) se calculeaza
in punctele grilei alese x
1
, x
2
, ..., x
p
. Din valorile densitat ii de renoire se deduc
apoi prin integrare valorile numerice ale funct iei de renoire, folosind (9.6) in care
integrarea se face numeric.
Desigur, valorile numerice ale funct iei de renoire M(t) se pot deduce prin
acelas principiu iterativ, discretizand in prealabil integrala Stieltjes din (9.5).
Rezolvarea ecuat iei densitat ii de renoire folosind transformata Laplace.
Vom deni mai intai aceasta transformata pentru funct ii care au suportul pe
(0, ).
204 Cap. 9. Not iuni de teoria reinoirii
Denit ia 9.2. Fiind data funct ia g(x), cu suportul (0, ) se numeste trans-
formata Laplace a sa, cand aceasta exista, funct ia g

(s) denita pe mult imea nu-


merelor complexe C data de relat ia
g

(s) =


0
e
st
g(t)dt, s = x +iy, s C, i =

1. (9.7)
Funct ia g(t) se numeste originalul si funct ia g

(s) se numeste transformata.


Pentru aarea originalului se folosesc uneori tabele. Urmatorul tabel cont ine orig-
inalele si transformatele unor funct ii obisnuite, densitat i de repartit ie.
Tabel cu transformate Laplace
g(t) g

(s)
1. e
t
, > 0 t > 0

+s
2.
1

2
e

(tm)
2
2
2
, m >>> 3 > 0 e
ms+
s
2

2
2
3.

()
t
1
e
t
t > 0, , > 0

(s+)

4. , t > 0, > 0

s
5. t
n
e
t
, t > 0, n N
+ n!
(+s)
n+1
Din linia 1. se vrede ca originalul funct iei g

(s) =

+s
este g(t) = e
t
iar
din linia 4., originalul funct iei g

(s) =

s
este g(t) = = const.
Observat ie. Orice funct ie f(t), t > 0 care are proprietatea ca |f(t)|
ce
at
, a > 0, c > 0 are transformata Laplace pentru x = Re(s) > a.
Intr-adevar, aceasta rezulta din relat iile
|f

(s)| = |


0
e
st
f(t)dt|


0
|f(t)e
(x+iy)t
|dt


0
ce
at
e
xt
|cos(yt +isin(yt)|dt =


0
ce
(ax)t
dt < , x = Re(s) > a.
S-a folosit si faptul ca |cos(yt) +i.sin(yt)| = 1.
Propozit ia 9.2. Transformata Laplace are urmatoarele proprietat i
(c
1
f
1
+c
2
f
2
)

(s) = c
1
f

1
(s) +c
2
f

2
(s), (liniaritatea); (9.8)
(f
1
f
2
)

(s) = f

1
(s)f

2
(s). (9.9)
Demonstrat ie. Demonstrat ia liniaritat ii este evidenta. Formula (9.9), care
spune ca transformata Laplace a produsului de convolut ie a doua funct ii este pro-
dusul transformatelor Laplace al celor doua funct ii, se demonstreaza astfel
(f
1
f
2
)

(s) =


0
e
st
[

t
0
f
1
(t x)f
2
(x)dx]dt =
Cap 9. Not iuni de teoria reinoirii 205
=

t
0
e
s(tx)
f
1
(t x)dt


0
e
sx
f
2
(x)dx = f

1
(s)f

2
(s).
Proprietat ile transformatei Laplace ne permit rezolvarea ecuat iei densitat ii de
renoire. Astfel, daca aplicam transformata Laplace ecuat iei densitat ii de renoire
din (9.6) avem
m

(s) = f

(s) +m

(s)f

(s)
de unde se obt ine transformata Laplace
m

(s) =
f

(s)
1 f

(s)
. (9.6

)
Deci pentru o funct ie f(t) data, se calculeaza m

(s) iar originalul acestei funct ii


transformate este solut ia ecuat iei densitat ii de renoire.
Aplicat ie. Presupunem ca f(t) = e
t
I
(0,)
(t) adica durata in funct ionare
are repartit ie exponent iala de parametru . Atunci
f

(s) =


0
e
x
e
sx
dx =


0
e
(+s)x
dx =

+s
.
Deci conform (9.6)
m

(s) =

+s
1

+s
=

s
.
Din tabelul de mai sus rezulta ca originalul funct iei m

(s) =

s
este m(t) = =
1

1
= const. Funct ia de renoire este deci
M(t) =

t
0
1

1
dx =
t

1
si de aici rezulta ca
M(t +h) M(t) =
h

1
, h > 0. (9.10)
Formula (9.10) se interpreteaza astfel: in cazul repartit iei exponent iale, mumarul
mediu de caderi ce au loc pe un interval de timp de lungime h este egal cu lungimea
intervalului inmult ita cu rata caderilor
1

1
.
Se arat a [4] ca pentru o clasa larga de repartit ii ale caderilor are loc relat ia
lim
t
[M(t +h) M(t)] =
h

1
, (9.10

)
ceea ce inseamna ca asimptotic, sistemele de abilitate se comporta ca si cum
duratele in funt ionare ar repartizate exponent ial. Acest fapt evident iaza inca
odata important a repartit iei exponent iale in teoria abilitat ii si renoirii.
206 Cap. 9. Not iuni de teoria reinoirii
In continuarea acestei sect iuni vom demonstra cateva proprietat i ale funct iei
de renoire M(t) si ale variabilei de renoire N(t).
Teorema 9.2.Daca funct ia F are media
1
atunci are loc convergent a aproape
sigura
N(t
t
a.s.

1
. (9.11)
q
Demonstrat ie. Sa observam ca
S
N(t)
N(t)

t
N(t)
<
S
N(t)+1
[N(t) + 1]
N(t)
N(t)+1
.
Conform legii numerelor mari,
S
N(t)
t
a.s.

1
, si trecand la limita in relat ia prece-
denta deducem
N(t)
t
a.s.

1
. Teorema este demonstrata.
Teorema 9.3.Daca F are media
1
atunci
lim
t
M(t)
t
=
1

1
. (9.12)
Demonstrat ie. Mai intai se observa ca
E[S
N(t)+1
] =
1
[M(t) + 1]. (9.12

)
De asemenea, din denit ia lui N(t) avem
E[S
N(t)+1
] t (9.13)
deci
M(t)
t

1
1,
de unde rezulta ca
lim
t
M(t)
t

1

1
.
(9.13

)
Pentru a demonstra teorema trebuie sa demonstram inegalitatea contrara ine-
galitat ii (9.13). Sa consideram procesul de renoire cenzurat denit pentru un
c > 0 astfel: X
(c)
i
= min{X
i
, c} si e N
(c)
(t) procesul numarabil de reinoire aso-
ciat lui {X
(c)
i
}
i1
. Atunci N
(c)
(t) N(t), M
(c)
(t) = E[N
(c)
(t)] si M
(c)
(t) M(t).
Notand
(c)
1
= E[X
(c)
i
] are loc pentru acesta relatia asemanatoate relat iei (9.12)
de unde rezulta ca
M
(c)
(t) + 1
t
=
1

(c)
1
E[S
n
(c)
(t)+1
]
t

1

(c)
1
[1 +
c
t
]. (9.13)
Cap 9. Not iuni de teoria reinoirii 207
Deoarece
M(t)
t

M
(c)
(t)
t
daca t inem seama de (9.13) si trecem la limita, rezulta
lim
t
M(t)
t
lim
t
M
(c)
(t)
t
=
1

(c)
1
.
Dar lim
c

(c)
1
=
1
de unde rezulta
lim
t
M(t)
t

1

1
.
Teorema este deci demonstrata.
Alte proprietat i ale transformatei Laplace. Aceste proprietat i, pe care
le vom enumera mai jos, sunt utile in rezolvarea ecuat iilor de renoire.
Teorema 9.4. (1). Daca
f
1
(t) =
_
f(t ), daca t
0, daca t <
atunci
f

1
(z) = e
sz
f

(z), z clc.
(2). Daca f admite transformat a Laplace, atunci


0
e
zt
f(t)e
t
dt = f

( +z)
(3). Daca f
(n)
(t) =
d
n
f(t)
dt
n
atunci


0
f
(n)
(t)e
zt
dt = z
n
f

(z) z
n1
f(0) z
n2
f

(0) ... f
(n1)
(0).
(4). lim
t
zf

(z) = f(0).
(5). Dcaa lim
t
f(t) = f() atunci lim
z0
zf

(z)) = f().
Originalul unei transformate Laplace se poate calcula folosind urmatorea for-
mula de inversiune
f(t)
1
2i
c+i

ci
f

(z)e
zt
dz, z C
unde integrala se calculeaza in planul complex pe dreapta Re(z) = c > a, unde a
are semnicat ia din observat ia anterioara propozit iei 9.2.
208 Cap. 9. Not iuni de teoria reinoirii
Calculul funct iei original se usureaza cand transformata Laplace f

(z), z
C este o funct ie rat ionala, adica un raport de forma
f

(z) = R(z) =
P(z)
Q(z)
, P, Q polinoame, gr(P) < gr(Q) = n. (9.15)
Sa notam z
k
radacinile lui Q(z) (adica z
k
sunt polii fract iei R(z)) si sa presupunem
ca z
k
este radacina cu gradul de multiplicitate s
k
, s
k
N
+
. Atunci fract ia R(z) se
descompune in fract ii simple de forma
R(z) =

k1
_
A
k1
z z
k
+
A
k2
(z z
k
)
2
+... +
A
ks
k
(z z
k
)
s
k
_
. (9.15

)
Aplicand formula de inversiune n (9.15) se deduce, prin calcule laborioase, ca
originalul lui f

(z) = R(z) este


f(t) =
1
2i
c+i

ci
R(z)dz =
=

k1
_
A
k1
+
A
k2
1!
t +... +
A
ks
k
(s
k
1)!
t
s
k
1
_
e
z
k
t
=

k1
P
k
(t)e
z
k
t
(9.16)
unde P
k
(t) sunt polinoame cu gr(P
k
) = s
k
1.
In cazul cand radacinile z
k
sunt simple, 1 k n atunci se observa cu usurint a
ca
f

(z) = R(z) =
n

k=1
A
k
z z
k
, A
k
=
P(z
k
)
Q

(z
k
)
(9.17)
iar funct ia original este
f(t) =
n

k=1
A
k
e
z
k
t
. (9.17

)
Daca Z
k
este radacina complexa, z
k
=
k
+i
k
, atunci
e
z
k
t
= e

k
t
(cos(
k
t) +isin(
k
t)). (9.18)
Formulele (9.17) si (9.18) stabilesc deci in nal forma funct iei f(t). Sa mai ob-
servam ca echivalenta intre (9.17) si (9.17) se poate deduce daca aplicam lui (9.17)
transformata Laplace, care conduce direct la (9.17).
Aplicat ie. Fie transformata Laplace de forma
f

(z) =
1
z(z + 1)
,
Cap 9. Not iuni de teoria reinoirii 209
care are polii z
1
= 0, z
2
= 1. Descompusa in fract ii simple transformata devine
f

(z) =
1
z

1
z + 1
.
Aplicand (9.17) deducem originalul f(t) = 1 e
t
.
9.2 Inlocuirea dupa varsta
Multe sisteme reale pot periculoase daca se defecteaza; de exemplu sistemul
de aprovizionare cu energie electrica poate cauza cand cade, pagube mari altor
sisteme care lucreaza cu energie electrica; pot exista nenumarate alte exemple
legate alimentarea cu apa, ecologie, etc. Deci este necesar ca astfel de sisteme sa
e nlocuite inainte ca ea sa cada, adica inlocuirea se realizeaza dupa o perioada
xata T (adica la varsta T) sau cand sistemul a cazut. Acest mod de nlocuire se
numeste dupa varsta. (Se observa ca duratele in funct ionare sunt cenzurate de T
la dreapta, cenzura de tipul I). Desigur si aici ne intereseaza numarul mediu de
nlocuiri pe un interval de timp (0, t), t > T.
Propozit ia 9.3 Probabilitatea S
T
(t) ca sistemul sa nu cada inainte de mo-
memtul t (adica abilitatea la momentul t), cand nlocuirea se face dupa varst a,
este
S
T
(t) = [F(T)]
n
F(t nT), (9.19)
unde F este funct ia de repartit ie a caderilor, F(t) = 1 F(t), nT t < (n+1)T.
Demonstrat ie. Conform regulei de renoire, se fac n nlocuiri pe [0, t) (fara ca
sistemul sa cazut!) si sistemul nu a cazut nici pe intervalul
(t, (n+1)T), T < t. Desigur, nlocuirile sunt independente si de aici rezulta formula
(9,19).
Acum putem stabili
Teorema 9.5. Pentru T
1
< T
2
< t avem S
T
1
(t) S
T
2
(t) daca si numai daca
F eate IFR si are densitate.
Demonstrat ie. Cu alte cuvinte vrem sa aratam ca S
T
(t) este descresatoare in
T. Sa derivam (9.19) in raport cu T. Avem
S

T
(t) = n[F(T)]
n1
f(T)F(t nT) +n[F(T)]
n
f(t nT) =
= n[F(T)]
n1
[f(T)F(t nT) +F(T)f(n nT)]. (9.19

)
Deoarece F este IFR si t nT < T avem
f(t nT)
F(t nT)
<
f(T)
F(T)
. (9.19)
Tinnd seama de (9.19) in (9.19) rezulta ca S

T
(t) < 0, adica derivata in raport
cu T a lui S
T
(t) este negativa si deci teorema este demonstrata.
210 Cap. 9. Not iuni de teoria reinoirii
Se observa ca daca T = atunci S

(t) = F(t), (pentruca nlocuirea se face


la cadere!). Din teorema 9.5 rezulta deci ca daca T < atunci
S
T
(t) F(t) (9.20)
ceea ce inseamna canlocuirea dupa varsta mareste probabilitatea de supraviet uire,
adica aceasta inlocuire dupa varsta este mai buna.
Sa mai observam ca valoarea medie a intervalului de timp de nlocuire pana la
prima cadere este
E
1
(T) =

T
0
xdF(x)
F(T)
=

T
0
[1 F(x)]dx
F(T)
=

T
0
F(x)dx
F(T)
. (9.21)
Dar E
1
(T) este timpul mediu de funt ionare pana la prima cadere care poate
calculat si cu formula
E
1
(T) =

T
0
S
T
(x)dx
iar conform teoremei 9.5, pentru T
1
< T
2
avem S
T
1
(t) S
T
2
(t) de unde se deduce
ca E
1
(T
1
) E
1
(T
2
), adica media E
1
(T) este descrescatoare in T. In particular,
E
1
(T)
1
, T < unde
1
este media lui F.
Teorema 9.6. Daca F este IFR cu densitatea f si media
1
, atunci

1
E
1
(T)
1
f(0)
(9.22)
E
1
(T)
p
log(1 p)
, T
p
(9.22

)
unde
p
este pcuantila lui F adica F(
p
) = p.
Demonstrat ie. Inegalitatea (9.22) din stanga este cunoscuta, conform celor
ment ionate anterior. Inegalitatea (9.22) din dreapta se demonstreaza astfel: din
ipoteza ca F este IFR rezulta
h(0) =
f(0)
F(0)

f(x)
F(x)
, sau F(x)
f(x)
f(0)
.
De aici rezulta ca
E
1
(T) =

T
0
F(x)dx
F(T)

T
0
f(x)dx
F(T)f(0)
=
1
f(0)
.
(In relat iile de mai sus s-au folosit formulele F(0) = 1 si F(T) =

T
0
f(x)dx). Deci
relat ia (9.22) este demonstrata.
Pentru a demonstra (9.22) sa observam ca din x
p
, conform lemei 8.2 avem
F(x)
_
F(
p
)
_ x

p
Cap 9. Not iuni de teoria reinoirii 211
De aici avem

T
0
F(x)dx

p
[1 F(
p
)]
T

p
logF(
p
)
si
F(t) 1 [F(
p
)]
T

p
deci
E
1
(T) =

0
F(x)dx
F(T)


p
logF(
p
)
=

p
log(1 p)
.
Inegalitatea (9.22) este demonstrata.
Aplicat ie. Sa consideram un sistem formet din n componente independente
ecare avand funct ia de repartit ie a caderilor F(t) si sa notam cu G
n
(t) funct ia
de repartit ie a duratei in funt ionare a sistemului (funct ia de repartit ie a caderilor
pentru acest sistem). Sa consideram acum timpul mediu de funct ionare E
n
(T)
pana la prima cadere a sistemului cand inlocuirea se face dupa varsata T adica
G
n
(T) =

T
0
G
n
(x)dx
G
n
(T)
.
Daca sistemul este conectat in serie atunci se stie ca
G
n
(t) = 1 [F(t)]
n
.
Sa presupunem ca F este IFR. Sa aratam ca
E
n
()

1
n
. (9.23).
Intr-adevar, sa observam ca
E
n
() =


0
G
n
(x)dx =


0
[F(x)]
n
dx


0
[G(x)]
n
dx
unde
G(x) = e

1
este funct ia de abilitate exponent iala care are media
1
ca si F. Deci


0
[G(x)]
n
dx =


0
e

nx

1
dx =

1
n
.
Dar E
n
(T) este descrescatoare in T de unde
E
n
(T) E
n
()

1
n
adica (9.23) este demonstrata.
212 Cap. 9. Not iuni de teoria reinoirii
Aici se vede inca odata ca repartit ia exponent iala joaca un rol important in
teoria abilitat ii si renoirii.
9.3 Inlocuirea cu reparare
In sect iunile 9.1 si 9.2 s-a presupus ca nlocuirea se face instantaneu. Aici
presupunem ca operatt ia de nlocuire are o duarta aleatoare de repartit ie data.
Deci viat a unui sistem incepe cu o durata de funct ionare X
1
urmata de o durata
de reparat ie (nlocuire) Y
1
, urmata de o durata de funct ionere X
2
urmata de o
durata de nlocuire Y
2
si a.m.d. Presupunem ca {X
i
}
i1
, {Y
i
}
i1
sunt indepen-
dente si identic repartizate avand respectiv funct iile de repartit ie F(x), G(x). Deci
{X
i
}, {Y
i
} sunt doua procese de reinoire intercalate. Viat a sistemului incepe la un
moment init ial (prin convent ie momemtul t = 0) cu o durata in funct ionare X sau
o durata de reparat ie Y. Ne intereseaza sa studiem variabilele de renoire de forma
N
ij
(t) care reprezinta numarul de treceri din starea i la momentul zero in starea
j la momentul t, starile putand i = 0-stare de cadere (reparare), i = 1-stare de
funct ionare.
Sa observam ca pentru doua valori consecutive X
i
, Y
i
(care denesc un ciclu din
viat a sistemului) putem considera funct ia de repartit ie H(x) a duratei Z
i
= X
i
+Y
i
a ciclului care este data de produsul de convolut ie
H(x) =

x
0
F(x y)dg(y) =

x
0
G(x y)dF(y). (9.24)
Asemanator cazului renoirii la cadere, si in cazul inloocuirii cu reparare suntem
interesat i sa cunoastem M
ij
(t) = E[N
ij
(t), i, j = 0, 1 - numarul mediu de in-
locuiri pe intervalul de timp (0, t) cand sistemul evolueaza din starea i la momentul
t = 0 in starea j la momentul t, t > 0. Funct iile M
ij
(t) sunt funct ii de renoire
asemanatoare funct iei M(t) introdusa in sect iunea 9.1. Pentru aceste funct ii este
valabila
Teorema 9.6 Funct iile M
ij
(t) satisfac urmatoarele ecuat ii integrale
M
11
(t) =

t
0
M
01
(t x)dF(x) (9.25)
M
01
(t) =

t
0
[1 +M
11
(t x)]dG(x) (9.26)
M
10
(t) =

t
0
[1 +M
00
(t x)]dF(x) (9.27)
M
00
(t) =

t
0
M
10
(t x)dG(x). (9.28)
Cap 9. Not iuni de teoria reinoirii 213
Demonstrat ie. Vom demonstra ecuat ia (9.27), celelalte demonstrandu-se in
mod asemanator. Se observa ca in acest caz siatemul se aa in starea 1 la momentul
t = 0 si ajunge in starea 0 la momentul t. Sa consideram deci suma corespunzatoare
S
X,k
(t) = X + (Y
1
+X
1
) + (Y
2
+X
2
) +... + (Y
k
+X
k
).
Se observa (ca si in demonstrat ia ecuat iei renoirii) ca
P[N(t) = k] = P[S
X(k1)
t] P[S
X,k
< t] =
= [F H
(k1)
](t) [F H
(k)
](t),
P[N
10
(t) = 0] = 1 F(t).
unde H = F G este produsul de convolut ie. Din formulele precedente rezulta
M
10
(t) =

k1
kP[N
10
(t) = k] =
= [FH
(0)
](t)[FH
(1)
](t)+2[FH
(1)
](t)]+...+k[FH
(k1)
](t)[F

H
(k)
](t)]+... =
= [F (1 +H
(0)
+H
(1)
+...)](t).
Dar M
00
(t) = [H
(0)
+H
(1)
+...](t) de unde
M
01
(t) = [F (1 +M
00
)](t)
care este tocmai ecuat ia (9.27).
Celelalte formule (9.25),(9.26),(9.28) se demonstreaza in mod asemanator.Se
remarca o simetrie in formulele (9.25)-(9.28).
Ecuat iile (9.25)-(9.28) reprezinta doua sisteme de ecuat ii integrale ce se rezolva
ca si ecuat ia de reinoire. Sa vedem cum se foloseste transformata Laplace pentru
rezolvarea acestor sisteme de ecuat ii. Aplicand transformata Laplace in relat iile
(9.25)-(9.28) se obt in relat iile
M

11
(z) = M

01
(z)F

(z) (9.25

)
M

01
(z) = G

(z) +M

11
(z) (9.26

)
M

10
(z) = G

(z) +G

(z)M

00
(z) (9.27

)
M

00
(z) = G

(z)M

10
(z). (9.28

)
Sistemul de ecuat ii (9.25),(9.26) conduce la
M

11
(z) =
F

(z)G

(z)
1 F

(z)G

(z)
(29)
214 Cap. 9. Not iuni de teoria reinoirii
M

01
(z) =
G

(z)
1 F

(z)G

(z)
(9.30)
iar sistemul de ecuat ii (9.26),(9.27) conduce la
M

10
(z) =
F

(z)
1 F

(z)G

(z)
(9.31)
M

00
(z) =
F

(z)G

(z)
1 F

(z)G

(z)
. (9.32)
se observa ca M

00
(z) = M

11
(z) ceea ce era de asteptat.
Originalele funct iilor transformate M

ij
(z) sunt funct iile de renoire M
ij
(t).
Sistemul de abilitate la care ne referim este modelat ca un proces Markov cu
doua stau ari i 0, 1. Sa vedem cum se calculeaza probabilitatea P
ij
(t) ca sistemul
sa evolueze din starea i la momentul t = 0 in starea j la momentul t. Sa observam
ca
Z = N
10
(t) N
11
(t) =
_
1, daca sistemul este cazut la momentul t
0, altfel
(9.33)
adica Z este o variabila Bernoulli. Deci
P
10
(t) = E[Z] = E[N
10
(t) N
11
(t)] = M
10
(t) M
11
(t), (9.33)
P
11
(t) = 1 P
10
(t). ((9.34)
In mod asemanator se arata ca
P
01
(t) = M
01
(t) M
00
(t), P
00
(t) = 1 P
01
(t). (9.35)
Rezolvarea efectiva a ecuat iilor de reinoire se va face calcullamd densitat ile de
reinoire
m
ij
(t) = M

ij
(t), (9.36)
din care vor rezulta funct iile de renoire
M
ij
(t) =

t
0
m
ij
(t). (9.36

)
Ecuat iile (9.25)-(9.28) se scriu usor in termeni de densitat i de renoire daca in-
locuim M
ij
cu m
ij
. Calculul funct iilor de renoire M
ij
(t) se realizeaza astfel: se
determina mai intai densitat ile de renoire m
ij
(t) si apoi M
ij
(t) cu formulele (9.36).
Aplicat ie. Sa presupunem ca X
i
au repartit ie exponent iala de parametru
si Y
i
au repartit ie exponent iala de parametreu . Densitat ile de renoire m
ij
(t)
se vor calcula cu formule asemanatoare formulelor (9.29)-(9.32). Notand cu f, g
densitat ile exponent iale de parametri respectiv , avem
f(x) = e
x
I
(0,)
(x), f

(z) =

+z
(9.37)
Cap 9. Not iuni de teoria reinoirii 215
g(x) = e
x
I
(0,)
(x), g

(z) =

+z
. (9.37

)
Tinand seama de (9.29)-(9.32) avem
m

11
(z) =

z(z + +)
, m

01
(z) =
( +z)
z(z + +)
. (9.38)
m

00
(z) =

z(z + +)
, m

10
(z) =
( +z)
z(z + +)
. (9.38

)
Descompunerile in fract ii simple si originalele corespunzatoare sunt
m

11
(z) =

+
.
1
z


+
.
1
z + +
, m
11
(t) =

+
(1 e
(+)t
) (9.39)
m

01
(t) =

+
.
1
z
+

2
+
.
1
z + +
, m
01
(t) =

+
+

2
+
e
(+)t
. (9.40)
m

00
(z) = m

11
(z), m
00
(t) = m
11
(t) =

+
(1 e
(+)t
) (9.40

)
Din aceste relat ii rezulta
M
11
(t) =

+
t

( +)
2
e
(+)t
) +

( +)
2
= M
00
(t) (9.41)
M
01
(t) =

+
t +

2
( +)
2


2
( +)
2
e
(+)t
(9.42)
M
10
(t) =

+
t +

2
( +)
2


2
( +)
2
e
(+)t
. (9.42

)
Acum putem calcula si probabilitat ile de trecere
P
10
(t) = M
10
(t) M
11
(t) =

+
_
1 e
(+)t
_
(9.43)
P
11
(t) = 1 P
10
(t) =

+
+

+
e
(+)t
(9.43

)
P
01
(t) = M
01
(t) M
00
(t) =

+
_
1 e
(+)t
_
(9.44)
P
00
(t) = 1 P
01
(t) =

+
+

+
e
(+)t
. (9.44

)
Se observa ca, abstract ie facand de un termen exponent ial, M
ij
(t) sunt funct ii
liniare de t ca si in cazul exponent ial pentru ecuat ia de renoire (sect iunea 9.4).
216 Cap. 9. Not iuni de teoria reinoirii
9.4 Inlocuirea la depreciere
In multe situat ii practice este nevoie sa se faca inlocuirea t inand seama de
valoarea la zi a echipamentelor (in funct ie de stadiul lor de amortizare) si de
costrurile de intrertinere a echipamentelor. Vom prezenta aici o clasa de modele
deterministe [35].
Vom nota A
0
valoarea init iala a achipamentului (valoarea de cumparare cand
a fost pus in funct iune). Valoarea sa dupa un anumit timp t este A
0
(t), (0) = 1,
unde funct ia (t), numita funct ie de depreciere este o funct ie subunitara, de-
screscatoare in t. (Deci valoarea A
0
(t) este valoarea amortizata a echipamentului
la momemtul t). Fie (t), (0) = 0, o funct ie crescatoere de t care descrie costul
cumulat al cheltuiellilor de intrtet inere pe intervalul (0, t). Atunci costul total al
echipamentului la momentul t este
C(t) = A
0
A
0
(t) +(t) (9.45)
unde A
0
A
0
(t) = A
0
(1 (t)) este valoarea la zi a echipamentului (dupa
amortizare). Se pune problema sa determinam momentul optim t

> 0 cand tre-


buie inlocuit echipamentul, cunoscandu-se A
0
si funct iile (t), (t).Marimea t

se
numeste momentul optim de inlocuire al echipamentului.
Observam ca nu putem sa minimizam costul C(t) deoarece acesta este minim
(C = 0) la momentul t = 0 ceea ce nu are sens. Putem insa utiliza ca funct ie
obiectiv ( de minimizat) funct ia
(t) =
C(t)
t
=
1
t
[A
0
A
0
(t) +(t), t > 0] (9.45

)
care reprezinta costul pe unitatea de timp.
Minimul funct iei (t) este atins in punctul t

care satisface relat ia

(t) =
_
C(t)
t
_

=
tC

(t) C(t)
t
2
= 0, adica, C

(t) =
C(t)
t
(9.46)
sau
A
0
[1 (t) +t

(t)] +(t) t

(t) = 0. (9.46

)
Dar punctul de minim t

trebuie sa satisfaca si condit ia


t
2
(t) = t

C(t

) 2t

(t) + 2C(t) > 0. (9.46)


Fiecare pereche de funct ii particulare (t), (t) deneste un model pentru deter-
minarea momentului optim de inlocuire. Vom considera cateva astfel de modele.
9.4.1. Fie
(t) = 1
t

, > 0, (t) = kt, k > 0. (9.47)


Cap 9. Not iuni de teoria reinoirii 217
Deci
(t) =
A
0

+k = const.
De aici rezulta ca daca (t) si (t) sunt liniare (date de (9.47)) atunci costul este
constant si punctul de minim t

al lui (t) poate orice numar pozitiv si deci acest


model nu este interesant.
9.4.2. Fie
(t) = e
t
, > 0, (t) = kt, k > 0. (9.48)
Atunci
(t) =
1
t
[A
0
A
0
(t)] +k, lim
t
(t) = k = const
si (t) este descrescatoare, deci ea nu are un punct de minim t

nit. Din punct de


vedere practic rezulta ca inlocuirea trebiue sa se faca cat mai tarziu (de ex, cand
se considera ca echipamentul este uzat moral).
9.4.3. Fie
(t) = e
t
, > 0, (t) = k
0
(e
t
1), k
0
> 0, > 0. (9.49)
Deci
(t) =
1
t
_
A
0
(1 e
t
) +k
0
(e
t
1)
_
.
Atunci rezulta ca

(t) =
(A
0
e
t
+k
0
e
t
)t A
0
(1 e
t
) +k
0
(e
t
1)
t
2
care se anuleaza cand
A
0
(te
t
+e
t
1) = k
0
(te
t
+e
t
1) (9.50)
sau
1 e
t
(1 +t)
1 e
t
(1 t)
=
k
0
A
0
. (9.50

)
Daca notam
(x) = 1 e
x
(1 +x)
care este o funct ie monoton descrescatoare atunci ecuat ia (9.50) se scrie
(t)
(t)
=
k
0
a
0
, (9.50)
ecuat ie care are solut ie unica pe (0, ) si se poate rezolva numeric. Momemtul
optim de inlocuire in acest caz este deci solut ia t

, 0 < t

< a ecuat iei (9.50).


In continuare vom prezenta doua modele particulare din [44].
References 219
9.4.4. Fie funct iile
(t) =

+t
, (t) = kt
n
, > 0, k > 0, n 2.
Analizand condit iile de minim (9.46),(9.46) ale funct iei (t) din (9.45) deducem
ca momentul optim de inlocuire t

satisface ecuat ia
H
1
(t) = H
2
(t), unde H
1
(t) =
a
0

( +t)
2
, H
2
(t) = k(n 1)t
n2
(9.51)
dar si condit ia
t
3
(t) =
2A
0
t
3
( + 3)
3
+kt
n
(n
2
3n + 2) > 0, t (0, ). (9.47

)
Deoarece H
1
(t) este descrescatoare si H
2
(t) este crescatoare pe (0, ) rezulta ca
ecuat ia (9.51) are solut ia unica t

care este momentul optim de inlocuire.


9.4.5. Fie funct iile
(t) =

+t
, (t) = kte
t
(1 e
t
) (9.52)
unde , k, sunt constante pozitive astfel incat

2
k < A
0
, 0 < < 1. (9.52

)
Deci avem
C(t) =
A
0
t
+t
+kte
t
(1 e
t
)
(t) =
A
0
+t
+ke
t
(1 e
t
)
care conduce la
H(t) =

(t) =
A
0
( +t)
2
+ke
t
+k( + 1)e
(1t)
.
Deoarece in ipotezele (9.52) avem H(0) =
A
0

2
+k, H() = , rezulta datorita
continuitat ii lui H ca esista t

(0, ) astfel incat H(t

) = 0. Dar
(t) =
A
0
( +t)
2
+ke
t
[1 (1 )
2
e
t
] > 0, t (0, ),
deci t

este moment optim de inlocuire.


Daca in (9.52) presupunem > 1, A
0
> 1 atunci de asemenea (t) > 0, t
(0, ) si deci t

este moment optim de inlocuire.


220 References
References
[1] ALIREZA AZEM. (1995). Software Reliability Determination for Conven-
tional and Logic Programming. Walter de Gruyter, Berlin, N.Y.
[2] ASHER, HAROLD and FEINGOLD, HARRY. (1984). Repairable System
Reliability, Marcel Dekker Inc., New York, Basel.
[3] BARLOW,R., PROCHAN, F. (1965). Mathematical Theory of Reliability,
John Wiley, New York.
[4] BARLOW,R.,PROCHAN,F. (1975). Statistical Theory of Reliability and
Life Testing, Holt, Reinhart and Winston, New York.
[5] BASILI, V. R., PERRICONE, B.T. (1984). Software Errors and Complex-
ity: an Empirical Investigation, Comm. ACM, Vol. 27, No.1, p.42-51.
[6] BIROLINI, A. (1994). Quality and Reliability of Technical Systems. Theory-
Practice-Management, Springer Verlag.
[7] CATUNEANU,V.M., MOLDOVAN,C., POPENT IU,F., POPOVICI, D.
(1991). Software Reliability Release Policy with Testing Eort, Micro-
electron. Reliab., No.5, p. 895-899
[8] DROESBEKE, J.J, FICHET B., TASSI Ph. (Eds) (1989). Analyse Statis-
tique des Durees de la Vie.(Modelisation des Donnees Censurees). Econom-
ica, Paris.
[9] EJIOGU, G. Lem.(1990). Beyound Struxtured Peogramming:An Introduc-
tion to the Principles of Software Metrics, Structured Programming No. 11,
p.27-43, Springer Verlag, New York, Berlin.
[10] FENTON Norman and MELTON Austin (1990). Deriving Structurally
Based Software Measures. J. of Systems and Software, 12, p. 177-187.
[11] FENTON Norman (1992). When a software measure is not a measure.
Software Engineering Journal, September 1992, p. 357-362.
[12] GERSTBAKH, I., B. (1989). Statistical Reliability Theory, Marcel Dekker
Inc., New York and Basel.
[13] HARARY, F. (1972). Graph.Theory, Addison-Wesley Pub.Co. Inc., Reading
Massachuseths - Menlo Park.
[14] HALSTEAD, M. H. (1977). Elements of Software Science. Elsevier, New
York.
References 221
[15] HOYLAND ARNJOLT and RAUSAND MARVIN. (1994). System Relia-
bility Theory. Models and Statistical Methods, John Wiley and Sons, New
York.
[16] JELINSKI, Z. and MORANDA, P.B. (1972). Software reliability research,
in Statistical Computer Performance Evaluation, Ed.W.Freiberger, Aca-
demic Press, New York, p.465-497.
[17] KAI-YUAN CAI. (1997). Censored Software Reliability Models. IEEE
Transaction on Reliability, Vol.46, No.1.
[18] KITCHENHAM BARBARA. (1990).Software Development Metrics and
Models, Appendix C, Software Reliability Handbook,PAUL ROOK Ed., El-
sevier Applied Sc., London, New York, p.441-486.
[19] KITCHENHAM BARBARA. (1990).Software Development Cost Models,
Appendix D, Software Reliability Handbook, PAUL ROOK Ed.,Elsevier Ap-
plied Sc., London, New York, p. 487-517.
[20] LANGBERG, N. and SINGPURWALLA, N. D. (1985). A Unication of
some Software Reliability Models, SIAM J. Scientic and Statistical Com-
putation, 6, p.781-790.
[21] LINDLEY, D.V. and SINGPURWALLA, N. D. (1986). Multivariate distri-
butions for the life lengths and components of a system sharring a common
environment, J.Appl.Probab., 23, 418-431.
[22] LITTLEWOOD, B. and VERAL, J. L. ((1973). A Reliability Growth Model
for Computer Software, Applied Statistics, 22, p.332-346.
[23] LIX

ANDROIU, DORIN. (2001). Fiabilitatea sistemelor. Modele si algoritmi.


Ed.Dacia, Cluj-Napoca.
[24] LYN KUO, JAE CHANG LEE, KIHEON CHOI and TAE YOUNG YANG.
(1997). Bayes Inference for S-shaped Software Reliability Models, IEEE
Transactions on Reliability, Vol 46, No. 1, p. 76-80.
[25] MUSA,J., IANNINO, A. and OKUMOTO, K. (1987). Software Reliability,
McGrow-Hill, New York.
[26] SHAKED MOSHE, SHANTIKUNAR GEORGE J. (1990). Reliability and
Maintenability. Handbook in OR & MS, Vol 2, D.P. Heyman, N.J. Sobel
Eds.,Elsevier Science Publishers B .V. (North Holland).
[27] SHERWIN, D.J. and BOSCHE, A. (1993). The Reliability, Availability and
Productivness of Systems. Chapman and Hall, London.
222 References
[28] SLUD ERIC (1997). Testing for imperfect debugging in software reliabil-
ity. Scand. J. Statist., 24, p. 555-572.
[29] STEF

ANESCU, STEFAN and V

ADUVA, Ion. (1984). Asupra unor modele


de analiza abilitat ii programelor, Lucr. Coloc. INFO-Iasi84, p. 152-162.
[30] STEF

ANESCU, STEFAN and V

ADUVA, ION. (1985). Modele pentru


analiza abilitat ii programelor, Lucr. Coloc. INFO-Iasi85, p.135-151.
[31] TAPAN KUNAR NAYAK. (1987). Multivariate Lomax distribution: prop-
erties and usefulness in reliability theory.J.Appl.Prob., 24, 170-177.
[32] V

ADUVA, I. (1999). Simulation of systems reliability, Proc. IEPM99,


International Conference on Industrial Engineering and Production Man-
agement, Glasgow, July 12-15, Book1, p.201-210.
[33] V

ADUVA, I. (1999). On Bayessian models for software reliability, Proc.


Annual Conf. Math.Soc. of Romania, Craiova, 27-30 May (sub tipar).
[34] V

ADUVA, I. (1977). Modele de simulare cu calculatorul, Editura Tehnica,


Bucuresti.
[35] XIE, M. (1991). Software Reliability Modelling. World Scientic, Singapore,
London.
[36] YAMADA, SHIGERU; OHTERA, HIROSHI and HARISHA, HIROYUKI.
(1986). Software Reliability Growth Models with Testing Eort, IEEE
Transactions on Reliability, Vol.R-35, No.1, p. 19-23.
Bibliograe suplimentara
[37] DRUJININ,G.V. (1968).Sigurant a in funct ionare a sistemelor, Bucuresti,
Ed. Tehnica.
[38] BARLOW R. and PROCHAN,F.(1965). Mathematical Theory of Reliability,
John Wiley, New York, London.
[39] BARLOW, R. and PROCHAN, F. (1975).Statistical Theory of Reliability
and Life Testing. Reinhart and Winston, New York.
[40] GNEDENKO, B.V., BELIAEV,Y.K., SOLOVIEV, A.D. (1965). Matemat-
iceskie metod v teorii nadiojnosti, Izdatelistvo Nauka, Moskva. (Tradusa in
L. Romana in 1968).
[41] KAUFMANN, A. (1967).Metode si modele ale cercetarii operat ionale, Vol.1,
Cap.X, Ed. stiint ica, Bucuresti. (Traducere din L. Franceza.)
References 223
[42] JURAN, J. M., GRYNA, FRANK M.(1988). Jurans Quality Control Hand-
book. McGraw-Hill Book Company, New York.
[43] RANCU, N., T

OVISSI, L. (1963). Statistica matematica cu aplicat ii in


product ie. Ed. Tehnica, Bucuresti.
[44] RYAN, THOMAS P. (1986). Statistical Methods for Quality Improvement.
John Wiley and Sons, New York.
[45] STAS 6658-62.
[46] VADUVA,I. (1986). A computer simulation model for estimating the opti-
mum renewal moment of an equipment. Econ. Comp. and Economic Cy-
bernetics studies and research, Tom. XXI, Nr.4,p.13-20.
[47] V

ADUVA, I. (1970). Introducere in controlul statistic al calitat ii. Prob-


leme privind intarirea legaturii matematicii cu practica. Ed. Didactica si
pedagogica, Bucuresti.
[48] WALD,A. (1947). Sequential Analysis. John Wiley and Sons, London.