Sunteți pe pagina 1din 20

Liviu P.

Dinu
ldinu@fmi.unibuc.ro
Center for Computational Linguistics
nlp.unibuc.ro

Fiecare automat al protocolului (adic transmitor

sau receptor) se afla n fiecare moment de timp ntr-o


stare specific.
Strile sale constau din toate valorile variabilelor sale,
incluznd contorul de instruciuni al programului.
n cele mai multe cazuri, un numr mare de stri pot fi
grupate mpreun, n vederea analizei.
Exemplu: pt. receptorul din protocolul 3, abstractizam
toate strile posibile n dou stri importante: ateptarea
cadrului 0 sau ateptarea cadrului 1.
2

Toate celelalte stri pot fi considerate ca fiind tranzitorii,

simpli pai pe calea spre una din strile principale.


De obicei, strile sunt alese ca fiind acele momente n care
automatul protocolului ateapt s se petreac urmtorul
eveniment [s execute apelul de procedur wait(event) din
exemplele noastre].
n acest punct, starea automatului este complet determinat
de strile variabilelor sale. Numrul de stri este deci 2n,
unde n este numrul de bii necesari pentru
reprezentarea tuturor combinaiilor de variabile.
3

Starea ntregului sistem este combinaia tuturor strilor

celor dou automate ale protocolului i a strii canalului.


Starea canalului este determinat de coninutul su.
Exemplu: pentru protocolul 3, canalul are patru stri
posibile: un cadru zero sau un cadru unu circulnd de la
transmitor la receptor, un cadru de confirmare
circulnd n sens invers sau nici un cadru.
Dac modelm transmitorul sau receptorul prin dou
stri, ntregul sistem are 16 stri distincte

Din fiecare stare, exist zero sau mai multe tranziii

posibile spre alte stri. Tranziiile au loc atunci


cnd se petrece un eveniment.
Pentru un automat, o tranziie trebuie s se fac atunci
cnd:
este trimis un cadru,
2. cnd sosete un cadru,
3. cnd expir un interval de timp,
4. cnd apare o ntrerupere
1.

Pentru canal, evenimentele tipice sunt:


1. introducerea unui nou cadru pe canal de ctre automatul
protocolului,
2. livrarea cadrului unui automat
3. pierderea unui cadru datorat unei rafale de zgomote.
Pentru o descriere complet a automatelor protocolului

i a caracteristicilor canalului, putem trasa graful


orientat care prezint toate strile automatului ca noduri
i toate tranziiile ca arce orientate.

Starea iniial: aceast unica stare corespunde

descrierii sistemului (atunci cnd el ncepe s


funcioneze), sau unui punct de pornire convenabil
imediat urmtor.
Unele stri (posibil chiar toate strile) pot fi atinse din
starea iniial printr-o secven de tranziii.
Se determina usor care stri sunt accesibile i care nu.
(analiza accesibilitii) (Lin .a., 1987). Aceast analiz
poate fi util n determinarea corectitudinii protocolului.

Formal, un model de tip automat finit al unui protocol

poate fi privit ca un cvadruplu (S, M, I, T) unde:


S este mulimea strilor n care se pot gsi procesele i
canalul
2. M este mulimea cadrelor care pot fi schimbate prin
canal
3. I este mulimea strilor iniiale ale proceselor
4. T este mulimea tranziiilor ntre stri
1.

La nceputul intervalului de timp, toate procesele se

gsesc n strile lor iniiale.


Apoi ncep s se produc evenimente, (disponibilizarea
unor cadre pentru transmisie, expirarea unor intervale de
timp, etc).
Fiecare eveniment poate face ca unul dintre procese sau
canalul s execute o aciune i s comute ntr-o nou stare.
Prin enumerarea atent a fiecrui succesor posibil pentru
fiecare stare, se poate construi graful de accesibilitate i
se poate analiza protocolul.
9

Analiza accesibilitii poate fi folosit pentru a detecta

diferite erori n specificaia protocolului.


Exemplu:
dac este posibil ca un anumit cadru s apar ntr-o
anumit stare i automatul finit s nu tie ce aciune
trebuie ntreprins, atunci specificaia este eronat
(incompletitudine).
2. Dac exist o mulime de stri fr ieire i din care nu se
poate progresa, avem o alt eroare (interblocare).
3. Specificaia protocolului spune cum s se trateze un
eveniment ntr-o stare n care evenimentul nu se poate
produce (tranziie neesenial).
1.

10

11

12

fiecare automat de protocol are dou stri, iar canalul are

patru stri.
Exist un total de 16 stri, nu toate accesibile din starea
iniial. Strile inaccesibile nu sunt reprezentate
Fiecare stare este etichetat cu trei caractere, SRC, unde S
este 0 sau 1, corespunztor cadrului pe care transmitorul
(S) ncearc s l expedieze;
R este de asemenea 0 sau 1, corespunztor cadrului pe care
receptorul (R) l ateapt,
C este 0, 1, A sau vid (-), corespunztor strii canalului.

13

Starea iniial a fost aleas ca fiind (000). (transmitorul

tocmai a trimis cadrul 0, receptorul ateapt cadrul 0 i


cadrul 0 este actualmente pe canal.
Sunt nou tipuri de tranziii:
Tranziia 0 corespunde pierderii coninutului canalului.
2. Tranziia 1 corespunde livrrii corecte a pachetului 0 la
receptor, receptorul schimbndui starea pentru a atepta
cadrul 1 i emind o confirmare. Tranziia 1 include i
livrarea pachetului 0 de ctre receptor spre nivelul reea.
3. Celelalte tranziii sunt listate n fig. 3-21(b). Sosirea unui
cadru cu suma de control eronat nu a fost pus n eviden,
deoarece nu trebuie schimbat starea (n protocolul 3).
1.

14

Pe parcursul operrii normale, tranziiile 1, 2, 3 i 4 sunt

repetate n ordine, la nesfrit.


n fiecare ciclu sunt livrate dou pachete, aducnd
transmitorul napoi n starea iniial, n care se ncearc
transmiterea unui nou cadru cu numrul de secven 0.
n cazul n care canalul pierde cadrul 0, el face o tranziie
din starea (000) n starea (00-). La final, transmitorului i
expir intervalul de timp (tranziia 7) i sistemul revine
n starea (000).
Pierderea unei confirmri este mai complicat,
necesitnd dou tranziii, 7 i 5, sau 8 i 6, pentru a repara
eroarea.
15

Una din proprietile pe care protocolul cu numr de

secven pe 1 bit trebuie s le aib este aceea c, indiferent


de secvena de evenimente ce are loc, receptorul nu
trebuie s livreze niciodat dou pachete impare fr un
pachet par intermediar i invers.
Din graful din fig. 3-21 se vede c aceast cerin poate fi
formulat mai riguros astfel: nu trebuie s existe ci din
starea iniial care s conin dou apariii ale tranziiei 1
fr ca ntre ele s apar tranziia 3 sau invers.
Din figur se vede c protocolul este corect n raport cu
aceast cerin.
16

O cerin similar este aceea c nu trebuie s existe ci pe

care transmitorul s-i schimbe starea de dou ori (de


exemplu din 0 n 1 i napoi n 0) n timp ce starea
receptorului rmne constant.
Dac ar exista o astfel de cale, atunci, n secvena
corespunztoare de evenimente, dou cadre ar fi
iremediabil pierdute, fr ca receptorul s observe.
Secvena de pachete livrat ar avea n ea o pierdere
nedetectat a dou pachete.

17

O alt proprietate important a unui protocol este absena

interblocrilor.
O interblocare (deadlock) este situaia n care
protocolul nu mai nregistreaz nici un progres la
transmitere (adic livrare de pachete spre nivelul
reea), indiferent de secvena de evenimente produse.

18

O interblocare este caracterizat de existena unei

submulimi de stri care este accesibil din starea iniial


i care are dou proprieti:
Nu exist nici o tranziie ntr-o stare din afara submulimii
de stri.
2. n submulimea de stri, nu exist tranziii care s
determine continuarea transmiterii.
1.

Odat ajuns n situaia de interblocare, protocolul rmne

aici pentru totdeauna.


Din nou, este uor de vzut din graf c protocolul 3 nu are
interblocri.
19

MULTUMESC!

20

S-ar putea să vă placă și