Sunteți pe pagina 1din 5

Noţiuni fundamentale de dependabilitate

1. Definiție
Termenul de dependabilitate, este din ce în ce mai întâlnit în ciclul de viaţă al unui sistem. În literatura de specialitate se
întâlnesc mai multe definiţii pentru acesta:
– Dependabilitatea este „termenul colectiv utilizat pentru a descrie performanţa disponibilităţii şi factorii care o
influenţează: performanţa fiabilităţii, performanţa mentenabilităţii şi performanţa suportului de întreţinere” (The
collective term used to describe the availability performance and its influencing factors: reliability performance,
maintainability performance and maintenance support performance), definiţie apărută în documentul ISO/TC
176/SC 1 N 93 .
– Dependabilitate este „măsura în care sistemul poate fi invocat pentru a-şi efectua în mod exclusiv şi corect
sarcinile în condiţii operaţionale şi ambientale definite într-o perioadă de timp stabilită sau la un moment dat de
timp” (The extent to which the system can be relied upon to perform exclusively and correctly the system task(s)
under defined operational and environmental conditions over a defined period of time, or at a given instant of
time), definiţie prezentată publicaţia 1069-5 a IEC .
– „Dependabilitatea este abilitatea de a furniza un serviciu care poate fi considerat justificat ca fiind de încredere”
(dependability is the ability to deliver service that can justifiably be trusted), definiţie prezentată în lucrarea [38].
– „Dependabilitatea unui sistem constă în abilitatea de a evita eşecurile unui serviciu care sunt mai frecvente şi mai
severe decât este permis” (the dependability of a system is the ability to avoid service failures that are more
frequent and more severe than is acceptable), definiţie prezentată în lucrarea .
O expunere sistematică a dependabilități evidențiază trei concepte: atributele care o definesc, mijloacele prin care se
realizează și amenințările cărora trebuie să le facă față .

DEPENDABILITATE

ATRIBUTE

DISPONIBILITATE FIABILITATE SIGURANŢĂ INTEGRITATE MENTENABILITATE

MIJLOACE

Prevenirea defectelor Toleranța la defecte Eliminarea defectelor Prognoza defectelor

AMENINȚĂRI

ERORI DEFECTE EȘECURI

Fig.– Arborele dependabilității


2. Amenințări ale dependabilității

1
Un serviciu corect este cel care implementează o funcție a sistemului. Un eșec al unui sistem este evenimentul care
apare când serviciul livrat nu este unul corect, adică nu mai implementează o funcție a sistemului. Un sistem poate să
eșueze fie din cauza nerespectării specificațiilor, fie datorită faptului că specificațiile nu descriu în mod adecvat
funcţiile pe care ar trebui să le îndeplinească. Un eșec al unui sistem mai poate fi definit ca tranziția de la un serviciu
corect la unul incorect, de exemplu neimplementarea funcției sistemului. Operația inversă, adică tranziția de la un
serviciu incorect la unul corect poartă denumirea de restaurarea serviciului. Intervalul de timp în care este livrat un
serviciu incorect reprezintă o întrerupere a serviciului.
Un defect este acea parte a stării unui sistem care poate cauza un eșec ulterior: un eşec se produce atunci când un defect
ajunge la interfaţa serviciului şi îl modifică.
O eroare este cauza adjudecată sau ipotetică a unui defect.
Un defect este activ atunci când produce un eşec, în caz contrar este inactiv. Un sistem nu eșuează întotdeuna în aceași
fel. Modurile în care un sistem eșuează sunt modalitățile sale de eșec și caracterizează serviciul incorect din următoarele
puncte de vedere: i) domeniul de eșec; ii) percepția eșecului de către utilizatorii sistemului; și iii) consecințele
eșecurilor asupra mediului.
Defectele și sursele de producere a lor sunt foarte diverse. Clasificarea lor pe baza a șase criterii principale este
prezentată în figura urmatoare. Un interes special este acordat defectelor care rezultă din atacurile deliberat răuvoitoare
asupra sistemului (viruși, troieni, atacuri fizice, etc.) .

Fig.– Clasificarea defectelor

Relaţia dintre erori, defecte și eşecuri, cunoscută sub denumirea de patologia defectelor este rezumată de figura
urmatoare care oferă lanţul fundamental al ameninţărilor la adresa dependabilității sistemelor.

(cauză) -> eroare (activare) -> defect (propagare) -> eşec


Fig.– Patologia defectelor

2
3. Atribute ale dependabilității
Dependabilitatea cuprinde următoarele atribute: fiabilitatea, disponibilitatea, siguranţa, confidențialitatea, integritatea,
și mentenabilitatea. Aceste atribute pot fi necesare într-o mai mare sau mai mică măsură, în funcţie de tipul aplicației:
disponibilitatea este întotdeauna necesară, deşi într-o măsură variabilă, în timp ce fiabilitatea, siguranţa,
confidenţialitatea pot sau nu fi necesare. Măsura în care un sistem posedă atributele de dependabilitate ar trebui să fie
interpretată într-un sens relativ, probabilistic, şi nu într-unul absolut și determinist și asta din cauza inevitabilei prezenţe
sau apariţii a defectelor - sistemele nu sunt niciodată complet disponibile, fiabile, sigure, sau securizate. Integritatea este
o condiţie prealabilă pentru disponibilitate, fiabilitate şi siguranţă, dar nu și pentru confidenţialitate (de exemplu,
ascultarea pasivă poate duce la o pierdere de confidenţialitate, fără a afecta integritatea).
Fiabilitatea este definită prin continuitatea serviciului corect. Fiabilitatea reprezintă de fapt probabilitatea condițională
ca sistemul să opereze corect într-un interval de timp, dat fiind faptul că la începutul acestui interval sistemul funcționa
corect.
Disponibilitatea este definită ca pregătirea pentru execuția corectă unui serviciu al sistemului. O altă definiție a
disponibilității este dată de probabilitatea ca un sistem să opereze corect la momentul de timp, adică abilitatea lui de a
funcționa corect.
Siguranţa reprezintă absența consecinţelor catastrofale asupra utilizatorilor şi a mediului. Siguranța unui sistem poate fi
definită și prin probabilitatea ca funcționarea sistemului, corectă sau discontinuă, să nu afecteze alte sisteme.
Confidențialitatea reprezintă absența divulgării neautorizate de informaţii.
În definiţiile lor, fiabilitatea şi disponibilitatea subliniază evitarea eşecurilor unui sistem, în timp ce siguranţa şi
confidențialitatea subliniază evitarea unei clase specifice de eşecuri (eşecuri catastrofale, respectiv accesul neautorizat
sau manipularea de informaţii neautorizate). Fiabilitatea şi disponibilitatea sunt astfel mai apropiate unele de altele
decât sunt cu siguranţa pe de o parte, şi cu confidențialitatea, pe de altă parte; fiabilitatea şi disponibilitatea pot fi
grupate împreună, şi definite colectiv ca evitarea sau reducerea la minimum a întreruperilor serviciilor unui sistem.
Integritatea se definește ca absenţa modificărilor necorespunzătoare ale stării sistemului. Această definiție extinde
definiţia obișnuită a acestei noţiunii, după cum urmează: (a) atunci când un sistem implementează o politică de
autorizare, "necorespunzător" înseamnă "neautorizat"; (b) "modificări necorespunzătoare" se referă la acţiunile care
rezultă din prevenirea actualizării informaţiilor; (c) "starea sistemului" cuprinde modificări hardware sau daune.
Integritatea împreună cu confidențialitatea și disponibilitatea doar pentru operații autorizate, compune specificațiile de
securitate ale sistemului.
Mentenabilitatea reprezintă capacitatea unui sistem de a suferi modificări şi reparaţii. Definiţia dată pentru
mentenabilitatea merge dincolo de mentenanța corectivă şi preventivă, cuprinzând și alte două forme de mentenanță:
cea adaptivă şi cea perfectivă.

4. Mijloace pentru atingerea proprietăţii de dependabilitate


Mijloacele pentru atingerea proprietăţii de dependabilitate a unui sistem sunt următoarele: prevenirea defectelor (Fault
Prevention - FP), toleranța la defecte (Fault Tolerance - FT), eliminarea defectelor (Fault Removal - FR), și prognoza
defectelor (Fault Forecasting - FF).
Prevenirea defectelor (Fault Prevention - FP) - metode de prevenire a apariţiei sau introducerii de defecte. FP este
realizată prin tehnici de control a calităţii aplicate în etapele de proiectare şi fabricare a componentelor hardware şi
software. Acestea includ programarea structurată, ascunderea de informaţii, modularizare, etc., pentru componentele

3
software, şi normele riguroase de proiectare pentru componentele hardware. Defectele fizice operaţionale sunt
prevenite prin dublarea parțială a infrastrucrurii, etc., în timp ce defectele de operare sunt împiedicate prin formare
profesională, proceduri riguroase de întreţinere, etc. Defectele premeditate și rău voitoare sunt prevenite prin firewalls
sau tehnici de apărare asemănătoare.
Toleranța la defecte (Fault Tolerance - FT) – metode de evitare a eşecurilor serviciilor în prezenţa defectelor. Este în
general implementată prin detectarea erorilor și prin recuperarea ulterioară a sistemului.
– Detectarea erorilor crează un semnal de eroare sau un mesaj în cadrul sistemului. O eroare care este prezentă, dar
nu a fost detectată este o eroare latentă. Există două clase de tehnici pentru detectarea erorilor: (a) detectarea
concurentă a erorilor, care are loc în timpul livrării serviciului; (b) detectarea preventivă a erorilor, care are loc în
timp ce livrarea serviciului este suspendată și verifică sistemul de erori şi defecte latente.
– Recuperarea transformă o stare a sistemului care conţine una sau mai multe erori şi (eventual), defecte, într-o stare
fără erori şi defecte detectate care pot fi din nou activate. Tehnica de recuperare a sistemului constă în manipularea
erorii şi manipularea defectului.
o Manipularea erori constă în eliminarea erorilor dintr-o stare a sistemului și poate avea două aspecte: (a)
derulare înapoi, în cazul în care transformarea stării sistemului constă în reîntoarcerea la o stare salvată a
acestuia care a existat înainte de detectarea erorilor; această stare salvată reprezintă un punct de control;
(b) derularea înainte, în cazul în care starea unui sistem fără erori detectate reprezintă o nouă stare.
o Manipularea defectelor previne activarea din nou a defectelor deja localizate și implică patru pași: (a)
diagnosticarea defectelor care identifică şi înregistrează cauza/cauzele erorilor, atât în termeni de locaţie
cât şi de tip; (b) izolarea defectelor care efectuează excluderea fizică și/sau logică a componentelor defecte
în furnizarea de servicii, de exemplu, transformă defectul în unul latent; (c) reconfigurarea sistemului care
fie comută pe utilizarea componentelor de schimb, fie realocă sarcinile componentelor funcționale; (d)
reinițializarea sistemului care verifică, actualizează și înregistrează noua configurație și actualizează
tabelele și înregistrările sistemului. De obicei, manipularea defectelor este urmată de mentenanța corectivă
care înlătură defectele izolate tot prin manipularea lor. Ceea ce deosebește toleranța la defecte de
mentenanță este că aceasta din urmă necesită implicarea unui agent extern.

Eliminarea defectelor (Fault Removal - FR) – metode de reducere a numărului şi a severităţii defectelor. FR se
efectuează atât în faza de implementare a sistemului, cât și pe toată durata de utilizare a acestuia. FR în timpul fazei de
implementare (din ciclul de viață al sistemului) constă în următorii trei pași: verificare, diagnoză și corectare.
Verificarea este procesul de analizare a îndeplinirii de către sistem a proprietăţilor sale, numite condiţii de verificare.
Dacă sistemul nu îndeplinește condițiile de verificare, atunci urmează: diagnosticarea defectelor care au împiedicat
îndeplinirea condiţiilor de verificare și apoi efectuarea corecțiilor necesare. După corectare, procesul de verificare
trebuie repetat în scopul verificării faptului că eliminarea defectelor nu a avut consecinţe nedorite; verificare efectuată
în acest stagiu este denumită verificare non-regresie. Verificarea specificațiilor unui sistem este cunoscută sub
denumirea de validare. Descoperirea defectelor referitoare la specificațiile sistemului se poate face în orice stadiu de
dezvoltare al acestuia, chiar și în timpul fazei de stabilire a specificațiilor, sau în timpul etapelor ulterioare atunci când
se constată că sistemul nu realizează funcţia, sau că implementarea nu poate fi realizată în condiții eficiente referitoare
la costuri.
Tehnicile de verificare pot fi clasificate după următorul criteriu - implică sau nu antrenarea sistemului: (a) verificare
statică, adică verificarea unui sistem fără executarea propriu-zisă prin analiză statică, verificare model, demonstrare

4
teoreme, etc.; (b) verificare dinamică, adică verificarea unui sistem prin antrenarea lui – datele de intrare furnizate
sistemului pot fi simbolice, în cazul unei executări simbolice, sau reale, în cazul de testării.
Un aspect important este verificarea mecanismelor de FR, în special: (a) verificarea statică formală și (b) testarea care
include defecte și erori în șabloanele de test, tehnică denumită injectarea cu defecte.
FR pe durata de funcţionare a unui sistem este mentenanţa corectivă sau mentenanța preventivă. Mentenanţa corectivă
are ca scop eliminarea defectelor care au produs unul sau mai multe erori care au fost raportate, în timp ce mentenența
preventivă are ca scop descoperirea şi eliminarea defectelor înainte ca acestea să cauzeze erori în timpul funcţionării
normale a sistemului. Aceste defecte include: (a) defecte fizice care au avut loc de la ultimele acțiuni de mentenanță
preventivă, şi (b) defecte de proiectare, care au condus la erori în alte sisteme similare. Mentenanța corectivă a
defectelor de proiectare se realizează astfel: defectul trebuie întâi izolat înainte ca eliminarea efectivă să fie realizată.
Aceste forme de mentenanță se aplică sistemelor care nu sunt tolerante la defecte, precum şi sistemelor tolerante la
defecte, acesta din urmă putând fi întreţinute on-line (fără a întrerupe furnizarea serviciului) sau off-line (în timpul
întreruperii serviciului).
Prognoza defectelor (Fault Forecasting - FF) – metode de estimare a numărului prezent de defecte, a incidenţei
viitoare a acestora şi a posibilelor consecinţe determinate ale acestora. FF efectuează o evaluare a comportamentului
sistemului în ceea ce priveşte apariţia sau activarea defectelor. Evaluarea are două aspecte:
– Calitativă - care îşi propune să identifice, să clasifice, să ordoneze modurile de eşec, sau combinaţiile de
evenimente care ar conduce la eşecurile unui sistem;
– Cantitativă (probabilistică) – care își propune să evalueze în termeni probabilistici măsura în care unele din
atributele dependabilității (fiabilitatea, disponibilitatea, siguranța, integritatea, mentenabilitatea, confidențialitatea)
sunt îndeplinite; aceste atribute sunt, apoi privite ca măsuri ale dependabilității.
Metodele pentru evaluarea calitativă şi cantitativă utilizate în FF sunt fie specifice fiecărei evaluări (de exemplu,
moduri de defectare şi analize de efect pentru evaluarea calitativă, sau lanţuri Markov şi rețele stocastice Petri pentru
evaluarea cantitativă), fie pot fi utilizate pentru a efectua ambele forme de evaluare (de exemplu, diagrame bloc de
fiabilitate).
Cele două abordări principale ale FF care vizează producerea de estimări probabilistice ale măsurilor de
dependabilitate, sunt modelarea şi testarea (evaluarea). Aceste abordări sunt complementare de vreme ce modelarea
necesită date cu privire la procesele de bază modelate (procesul de defectare, procesul de mentenanță, procesul de
activare sistem), care pot fi obținute fie prin testare, fie prin prelucrarea datelor care au dus la defecțiuni.
FP şi FT urmăresc să furnizeze abilitatea de livrare a unui serviciu de încredere, în timp ce FR şi FF urmăresc atingerea
încrederii în această abilitate justificând că specificaţiile funcţionale, de securitate, de dependabilitate sunt adecvate, iar
sistemul este capabil să le îndeplinească.