Академический Документы
Профессиональный Документы
Культура Документы
Fiabilitatea
Laprie
Fiabilitatea reprezint continuitatea unui
serviciu (un serviciu este corect atunci cnd
implementeaz funcia corect)
Mai pragmatic
ntr-o perioad de timp, pentru un model de
folosire presupus, care e probabilitatea ca
sistemul s se defecteze?
Defect = devierea de la specificaia sistemului
Pentru unele sisteme Defectul poate nsemna devierea de
la ateptrile utilizatorului
Msur de Fiabilitate
Fiecare este adecvat pentru diverse sisteme
POFOD - Prob. de apariie a defectelor la cerere (n
experimente
i
t statistice)
t ti ti )
ROCOF Rata de apariie a unui defect
MTTF - Mean time to failure
Uniti de msur???
Determinarea unor uniti de msur pentru:
Retrageri de la ATM
Nr. de tranzacii
Minute
Edi
Editarea
ffolosind
l i d un procesor word
d
Cereri
Un Web server ce furnizeaz pagini
Diagnosticul pacienilor de ctre medic Boli diagnosticate
Oprirea unui reactor nuclear
Alerte
Defecte
Efecte:
Ef
t
Hardware (degradare)
Software (evoluie)
Umane (faciliti mentale)
Timp
v2 0
v2.0
Dezvoltarea
iniial
v3 0
v3.0
Software-ul nu mai este
activ/ntreinut
Defecte
Timp
Manifestrile defectelor
Defect
(fault)
Eroare
(error)
Defeciune
(failure)
Defect
Cauza adjudecat sau ipotetic a erorii. De obicei const ntr-o
greeal
g
sau lipsa
p p
pregtirii
g
corecte a unei componente.
p
Eroare
Deviaia iniial de la starea sistemului care conduce la apariia
defeciunii De obicei const ntr-un
defeciunii.
ntr un comportament
neintenionat/neateptat.
Defeciune
Deviaia de la funcionarea corect a serviciului (ex
(ex., de la
specificaii sau funcia sistemului).
Cu alte cuvinte
Defect
Eroare
Defeciune
Exemple
Defect
Erori de programare
Training
g de slab calitate
Pini ndoii pe procesor
Eroare
Calcularea incorect a unui operaii n virgul mobil
Completarea incorect a unor documente
Dispariia unui semnal pe o plac hardware
Defeciune
Abatarea de la traseul de navigaie corect
Lipsa unui tratament corect aplicat unui pacient
Alarma
Al
pentru h
hoii nu se d
declaneaz
l
Clasificarea defectelor
Se
S pott clasifica
l ifi di
din maii multe
lt perspective:
ti
Faze ale creaiei/apariiei
Defecte de dezvoltare / Defecte operaionale
Limitele sistemului
Defecte interne / externe
Cauze fenomenologice
Defecte naturale / Defecte avnd cauz uman
Dimensiuni
Defecte hardware / software
Obiective
Defecte maliioase / ne-maliioase
Capabilitate
Defecte accidentale / cauzate de incompeten
Persisten
Defecte permanente / tranziente
Clasificarea defeciunilor
Din
Di nou, apar maii multe
lt perspective:
ti
Domeniul defeciunii
Content failure / Timing failure
Detectibilitate
Defeciuni semnalate / nesemnalate
Consisten
Defeciuni consistente / inconsistene (bizantine)
Consecine
Defeciuni minore / catastrofice
Defect software
Eroare software
Defeciune a sistemului
Cazul general
Fault
Fault
Fault
Failure
Error
Failure
Error
Failure
Latene
Defect
Eroare
Lantena
defectului
Defeciune
Latena
defeciunii
Se identific
profilul op.
op
Se creaz
datele de test
Se testeaz
sistemul + log
Se calculeaz
fiabilitatea
Greu
G
de
d identificat
id tifi t profile
fil operaionale:
i
l
Nu exist un pattern de folosire standard
Modele particulare de folosire i utilizatori Maverick
Maverick
Modelele de folosire pot fi dinamice n timp
Prevenirea defectelor
Fault
Fault
avoidance
id
Fault
removall
Error
Fault
t l
tolerance
Failure
Evitarea defectelor
nlturarea defectelor
Tolerarea defectelor ne mpiedicm, dar ne recptm echilibrul
Este de preferat s evitm defectele dect s le tolerm
(
(prevenirea
i
este
t maii bun
b dect
d t ttratamentul)
t
t l)
S-ar putea s nu reuim s ne rectigm echilibrul !
Evitarea defectelor
Prevenirea introducerii de noi defecte
Dezvoltare controlat
Metode formale
Cultura calitii la nivel organizaional
Dezvoltare controlat
F
Folosirea
l i
unuii proces d
de d
dezvoltare
lt
matur
t
(Proces Certificat?)
Gestiunea i controlul:
Cerinelor i proiectului
Evoluiei
Testrii
Configurrii
Documentrii
Auditare
Review-uri
Metode formale
Specificarea sistemului folosind un limbaj
formal
Vocabular, sintax, semantic bine
definite
Bazate pe elemente mprumutate din
matematic,
t
ti tteoria
i mulimilor,
li il llogic,
i etc.
t
Spec.
p
p
pot fi p
procesate formal
Calcul propoziional
Bazat pe fraze i propoziii
Permite operatori implic, negare, i, sau
Expresii i demonstraii
Notational conventions: Let G be a variable ranging over sets of sentences. Let A, B, and C range
over sentences. For "G syntactically entails A" we write "G proves A". For "G semantically entails
A" we write "G implies A".
We want to show: (A)(G)(if G proves A, then G implies A).
We note that "G proves A" has an inductive definition, and that gives us the immediate resources for
d
demonstrating
i claims
l i off the
h form
f
"Iff G proves A, then
h ...". So our prooff proceeds
d bby iinduction.
d i
Basis. Show: If A is a member of G, then G implies A.
Basis. Show: If A is an axiom, then G implies A.
Inductive step (induction on n, the length of the proof):
A
Assume
ffor arbitrary
bi
G andd A that
h if G proves A in
i n or fewer
f
steps, then
h G implies
i li A.
A
For each possible application of a rule of inference at step n + 1, leading to a new
theorem B, show that G implies B.
Metode populare
OBJ Orientat obiectual, limbaj executabil
VDM Bazat pe stri i operaii
Z Teoria mulimilor i scheme grafice
Lotos Sisteme paralele & concurente
CCS Sisteme paralele & concurente
nlturarea defectelor
Fault
Fault
avoidance
Fault
removal
Error
Failure
nlturarea defectelor
Detecia i nlturarea defectelor existente
Testare i depanare
p
Review i inspecii
Analiz static a codului
Nu implic execuia codului
Instrumente, metrici software
Testare
Alpha/Beta
/
Cod
C operaional de acceptare / de
producie
Black/White box Componente
p
opace
p
/ transparente
p
Testare funcional / structural
Teste pentru defecte / statistice cutare explicit /
folosire normal
Teste de unitate / de integrare testare la nivelul unei
componente / ntregului sistem
Teste de regresie set de teste repetitive dup fiecare
reparaie
la limit
limit , ncercarea de
Stress test testarea sistemului la
forare a sistemului la graniele specificaiei iniiale
Review-uri i inspecii
Focus pe artefacturile
F
t f t il produse
d
Nu necesit un sistem operaional
Examinarea & criticarea artefacturilor produse
Bazate pe revizii din partea unor experi respectiv,
revizii cu implicarea
p
de specialiti
p
din mai multe
discipline
Necesit nelegerea artefacturilor i a domeniului
Mai puin costisitoare dect testarea
Nu toate problemele pot fi identificate
F l it pentru
Folosite
t evaluarea
l
atributelor
t ib t l non-testabile
t t bil
Tolerana la defecte
Fault
Fault
avoidance
Fault
removal
Error
Fault
tolerance
Failure
Tolerana la defecte
Gestiunea defectelor i a erorilor rezultate
Prevenia
p
propagrii
p g
defeciunilor
Detecia
D f t l i
Defectului
Self- verificare
Monitoare externe
Evaluarea
Da nei
Daunei
Sume de control
Legturi redundante
Recuperarea
Din Eroare
E oa e
Redundan
Stri sigure
Repararea
Defect l i
Defectului
Reparare
Restaurare
Aseriuni
Verificri fcute la run-time
Efectuate p
periodic
Verificare asupra siguranei strii curente a
sistemului
Suntem siguri asupra strii nainte de
co t ua e
continuare?
Redundana modular
Probabilitatea de apariie a
defectelor
Probabilitate mic ca toate modulele s se
defecteze simultan
Cu condiia ca funcionarea modulelor s fie
independent !!!
Soluia poate scala pn la sisteme N-version
Completat
p
cu soluii
de reparare/nlocuire
p
automat a modulelor
Blocuri de recuperare
(Recovery Blocks)
Componente
C
t redundante
d d t ffolosite
l it n serie
i
Teste de acceptan folosite pentru evaluarea rezultatelor
Dac o component se defecteaz, se ncearc urmtoarea
Se ncearc reluarea strii anterioare nainte de ncercarea
urmtoare
Testele continu pn cnd ajungem la succes sau nu mai
avem componente
Diversificarea componentelor
Diversitatea este esenial pentru aceste metode
Att n faza de proiectare, ct i n faza de
implementare
Fiecare component trebuie s foloseasc alte:
Specificaii de sistem
Paradigme de proiectare
Limbaje de programare
Medii de dezvoltare
Algoritmi
Culturi
C lt i organizaionale
i i
l
Probleme cu redundana
D
Defectele
f t l duplicate
d li t pott nc
exista
i t !!!
Oamenii nc fac aceleai greeli
E greu de imaginat diverse moduri de a efectua aceleai
operaii
Complexitatea adugat poate ascunde la rndul ei noi
defecte
Nu putem face teste de acceptare pentru orice
Ce se ntmpl dac componentele nu ajung deloc la un
consens?
Problem legat de eficien (important pentru sisteme RT)
Poate fi costisitoare (de trei ori costul iniial al operrii
sistemului))
Injectarea defectelor
(Fault injection)
E
Evaluarea
l
sistemului
i t
l i sau a sub-componentelor
b
t l
acestuia
Suit de teste pentru evaluarea toleranei la
defecte
Create artificial prin introducerea de defecte
Pot fi efectuate asupra:
Simulrii unei componente
Componentei
C
t i reale
l supus
unuii load
l d de
d ttestt
Componentei reale n condiii reale de folosire
Injectarea defectelor
Controlor
Bibliotec de
Defecte
Bibliotec de
Workloads
Date
Colectate
Injector
de Defecte
Generator
de Workload
Colector
de Date
Sistem evaluat
Tipuri de injectare
Injectare la compilare
Injectare
j
la run-time
Injectare interactiv
Adugarea de entiti noi
Alterarea celor existente
nlturarea unor entiti vechi
Probleme cu injectarea
defectelor
Profile operaionale nerealiste
Consumatoare de timp pentru sisteme
complexe
Instrumentele pot interfera cu operaiile
Limitare n cazul componentelor Software
i Hardware
Discuie de grup
Marius lucreaz la birou. El folosete un PC cu un sistem de
operare obinuit. Majoritatea activitilor le realizeaz folosind o
suit Office standard ((word, etc.).
) Atunci cnd intervine p
plictiseala,
Marius navigheaz pe Web i schimb e-mail-uri cu prietenii.
Cinele lui Marius se numete Azorel.
Computerul lui Marius nu e foarte fiabil i adesea acesta i pierde
munca. Care sunt posibilele cauze ale lipsei de fiabilitate? Ce ar
putea fi fcut pentru mbuntirea fiabilitii?
Se vor considera att p
perspectivele
p
sociale,, ct i cele tehnice.
Cteva soluii
Este sistemul nefiabil ? Din perspectiva lui Marius
desigur
Hardware vechi sau defect (ex, memoria)
Software de slab calitate
Lipsa unor update-uri periodice
Marius a avut parte de un training neadecvat
Fire de cel n interiorul unitii CD
Interfaa cu utilizatorul neadecvat (OS i suita)
Folosire neanticipat a suitei Office (ex, jocuri Excel)
Infecie cu virus cauzat de e-mail-uri
Entiti auxiliare s/w slab calitative (ex
(ex, browserul)
Cteva soluii
V
Verificarea
ifi
h
hardware-ului
d
l i ii repararea acestuia
t i
Instalarea ultimelor update-uri s/w
Un comportament pro
pro-activ
activ din partea lui Marius
(salvri regulate)
Proceduri de back-up
p
Evitarea folosirii funciilor cu problem (ex., tabele)
replicarea
p
muncii lui Marius
Redundan
Mai bun testare, review-uri, inspecii, etc.
Modelarea formal a biroului lui Marius (?)
Studii etnografice ale biroului lui Marius (?)