You are on page 1of 21

SVEU ILI TE JOSIPA JURJA STROSSMAYERA U OSIJEKU ELEKTROTEHNI KI FAKULTET

FORMALNE METODE SPECIFIKACIJE PROTOKOLA


SEMINARSKI RAD

Josip Bartolovi D-240 Marko Ili i D-128

Osijek, 2011.

SADR AJ
0. 1. 2. UVOD ................................ ................................ ................................ ............................ 3 Formalne metode specifikacije protokola ................................ ................................ ........ 4 Modeli prijelaza stanja ................................ ................................ ................................ .... 6 2.1. Specifikacija kona nim automatima ................................ ................................ ............. 6 2.2. Specifikacija Petrijevim mre ama ................................ ................................ ................ 8 3. 4. 5. 6. Modeli programskih jezika ................................ ................................ ............................ 18 Hibridni modeli ................................ ................................ ................................ ............. 19 Zaklju ak ................................ ................................ ................................ ...................... 21 LITERATURA ................................ ................................ ................................ ............. 21

0.

UVOD
Ovaj seminarski rad se bavi formalnim metodama razvoja protokola, odnosno

specifikacijom protokola. Mo e se ukratko re i da se formalne metode razvoja protokola koriste za razvoj nedvosmislenih, kompletnih i korektnih specifikacija protokola te tako formiraju osnovu za automatsku verifikaciju protokola, poluautomatsku izvedbu protokola i automatsko generiranje test sekvenci za strukturno testiranje izvedbe protokola. U prvom poglavlju obja njene su metode razvoja komunikacijskih protokola te je navedena podjela formalnih metoda specifikacije protokola. Specifikacija protokola temeljena na modelima prijelaza stanja (kona ni automat, Petrijeva mre a) je obra ena u drugom poglavlju, gdje je naglasak stavljen na Petrijeve mre e. U tre em poglavlju su obra eni modeli formalne specifikacije protokola pomo u programskih jezika, te hibridni modeli u etvrtom poglavlju.

1.

Formalne metode specifikacije protokola


Formalne metode razvoja protokola koriste se za razvoj nedvosmislenih, kompletnih i

korektnih specifikacija protokola te tako formiraju osnovu za automatsku verifikaciju protokola, poluautomatsku izvedbu protokola i automatsko generiranje test sekvenci za strukturno testiranje izvedbe protokola. Glavna prednost kori tenja formalnih metoda u specifikaciji protokola je to je rezultiraju a specifikacija precizna i mo e se rigorozno analizirati na kompletnost i konzistentnost. Kao druga prednost se izdvaja mogu nost procesiranja formalne specifikacije pomo u prikladnog prevoditelja za generiranje parcijalnih izvedbi protokola. Formalne metode za specifikaciju protokola se temelje na tri tipa modela: a) Modeli prijelaza stanja (State Transition Models) Komunikacijski protokol se u osnovi sastoji od entiteta upravljanih doga ajima (eventdriven), koji me usobno komuniciraju izmjenom poruka. Pona anje entiteta se mo e opisati u trenucima akcije (ili prijelaza stanja) koje poduzima entitet kao odgovor na unutarnje i vanjske doga aje. Prednosti ovih modela su to su jednostavni i to je mogu e verificirati ve inu op ih svojstava protokola. Ipak, oni nisu uvijek prikladni za opis kompleksnih protokola, jer mogu sadr avati previ e stanja i prijelaza. Neki primjeri specifikacijskih tehnika, baziranih na ovakvom tipu modela, su kona ni automati (FSM), Petrijeve mre e i njene varijante. b) Modeli programskih jezika Komunikacijski protokol izvr ava algoritamsku proceduru, koju mo emo opisati koriste i jezi nu notaciju, kao to su programski jezici visoke razine. Op enito, opis protokola ovim modelima je te i za analizu korektnosti. Neki primjeri specifikacijskih tehnika baziranih na ovome tipu modela su Communicating Sequential Processes (CSP), Calculus of Communicating Systems (CCS), Real-Time Asynchronous Grammars (RTAG) i specifikacijska tehnika LOTOS (Language for Temporal Ordering Specifications). c) Hibridni modeli Ovi modeli kombiniraju osobine modela prijelaza i programskih modela. Kod ovih modela, prijelazi izme u stanja su pro ireni s varijablama i programskim odsje cima, to im daje dodatnu snagu. Primjer je dodavanje takvih svojstava kona nim automatima, koji se tada nazivaju pro ireni kona ni automati. Ovakav model obuhva a glavne osobine protokola kori tenjem malog broja stanja, dok se varijable i programski odsje ci koriste za programske
4

aspekte protokola. Neki primjeri koji se temelje na ovakvom modelu su NBS tehnika specificiranja protokola, ISO specifikacijska tehnika Estelle i SDL (Specification and Description Language). Prema [1] komunikacijski protokol je definiran kao komunikacijski postupak kojim se ostvaruje izmjena podataka, uklanjanje posljedica kvarova i smetnji te koordinacija u sustavu komuniciraju ih procesa. Djelovanje smetnji te pojava pogre aka i kvarova su realnost tako da je osnovna pretpostavka pri razvoju protokola ''sa uvati upravljanje'', a time i integritet podataka i operativnost sustava. Mo e se re i da su komunikacijski protokoli redovito slo eni i da sadr e velik skup pravila za izmjenu informacijskih jedinica u sustavu koji je distribuiran. No, koncept protokolnog bloka i slojevita struktura poma u da se ukupni problem ra lani i tako slo enost u ini prihvatljivom. Slo enost postupaka razvoja protokola mo e se smanjiti i preciznim definiranjem razvojnih faza i s njima povezanog izbora formalnog modela. Pri razvoju protokola provodi se:  specifikacija (definiranje i formalizacija opisa protokola),  verifikacija (provjera specificiranog protokola),  implementacija (izvedba protokola na temelju provjerene specifikacije), te  ispitivanje podudarnosti (provjera izvedenog u odnosu prema specificiranom protokolu) Klju ni problem je kako formalno specificirati protokol i time omogu iti njegovu provjeru i izvedbu. Pri tome treba imati na umu dvije osnovne funkcije protokola upravljanje komunikacijom i prijenos informacijskih jedinica. Pri specifikaciji te se funkcije manifestiraju kao definicija upravlja kih i proceduralnih aspekata komunikacije koje je te ko obuhvatiti istim formalnim modelom. Tipi ne upravlja ke funkcije su uspostavljanje i prekidanje komunikacije, akcije pri pojavi pogre aka i kvarova i tome sli no. Proceduralnim se funkcijama rje avaju ozna avanje i odbrojavanje informacijskih jedinic broj informacijskih a, jedinica koje oda ilje predajna strana iako nije primila potvrdu od prijamne strane, ponavljanje pri neispravnom prijenosu i sl. Sa stajali ta specifikacije, formalizacija protokola razlikuje se prema osnovnom modelu. Najvi e postupaka upotrebljava:  kona ni automat i izvedene modele  Petrijevu mre u i izvedene modele  grafi ke modele  visoke programske jezike  formalne jezike i gramatike, ili  kombinirane (hibridne) modele.
5

2.

Modeli prijelaza stanja

2.1. Specifikacija kona nim automatima


Kona ni automat je osnovni model koji se primjenjuje u analizi i sintezi telekomunikacijskih procesa, i to za opis i istra ivanje komunikacije i koordinacije procesa. Model komuniciranja kona nih automata predstavlja sa eti model slijednih procesa koji komuniciraju isklju ivo putem razmjene poruka. Apstrakcija je postignuta zanemarivanjem lokalnih struktura podataka i operacija te prezentiranjem takvih procesa isklju ivo mogu im slijedom operacija slanja i primanja signala. Ovakav model pokazao se vrlo korisnim i upotrebljivim pri specifikaciji, analizi i sintezi komunikacijskih protokola. Svaki se proces prijelaza modelira automatom . Skup stanja izvodi se iz skupa uvjeta i prijam , a skup , te . iz skupa doga aja razlikuju i prijelaze uz predaju

unutra nje prijelaze

. Stanje procesa

u nekom trenutku ozna ava se sa

Pona anje automata opisano je funkcijom sljede eg stanja: . Komunikacijski kanal se u model mo e uvesti na dva na ina. Prema prvom na inu kanal se ne modelira posebnim automatom, ve se uklju i posredno, preko prijelaza vezanih uz prijam i predaju informacijskih jedinica (sl. 2.1.). Kanalu K(i,j) pridru ena su stanja a komunikaciji jednom informacijskom jedinicom odgovara ure eni slijed doga aja: . (i,j),

Slika 2.1. Komunikacija izme u dva automata Takav opis ne dopu ta nikakvu obradu informacijske jedinice izme u predaje i prijama, pa tako ni djelovanje smetnji. Prema drugom na inu, kanal se mo e modelirati automatom kao i sami procesi (sl.2.2.). U tom se primjeru komunikacija izme u , i preko kanala K(i,k) i K(k,j) uz slijed doga aja: i opisuje automatima

pri emu p = r opisuje komunikaciju bez pogre ke, a p


6

r s pogre kom.

Stanje sustava

komuniciraju ih procesa opisano je zdru enim skupom stanja svih automata

i svih kanala u trenutku promatranja t: ... ... ... ... ... ... ... ... ... ... ...

Skup stanja sustava dobiva se uzastopnom izvedbom prijelaza uz zadano po etno stanje.

Slika 2.2. Komunikacijski kanal modeliran automatom Me udjelovanje procesa opisuju promjene stanja, odnosno struktura stanja, te sljedovi prijelaza, odnosno sljedovi informacijskih jedinica na kanalima. Stupanj uskla enosti skupa procesa mo e se definirati kao mogu nost zaklju ivanja o stanju svih procesa na osnovi poznavanja stanja samo jednog ili nekoliko procesa, a za komunikaciju va no je poznavati sljedove informacijskih jedinica. karakteristike sustava komuniciraju ih procesa mogu se odrediti istra ivanjem strukture stanja iz koje se izvode sljedovi prijelaza ili obrnutim postupkom.

2.2. Specifikacija Petrijevim mre ama


Pojam Petrijeve mre e odnosi se na mre u mjesta i prijelaza u kojoj mjesta imaju zna enje uvjeta, a prijelazi doga aja u smislu definicije sustava uvjeta i doga aja. Za razliku od modela automata izravno se upotrebljava pojam uvjeta, a pojam stanja definira se kao skup istodobno ispunjenih uvjeta to omogu uje detaljniji opis pojedinog procesa i dopu ta njihovo me usobno povezivanje. Petrijeve mre e imaju svoje prednosti, kao npr.:  Mogu nost definiranja i simuliranja razli itih stanja i procesa u promatranom sustavu  Mogu nost opisivanja tijeka informacija i objekata kroz sustav Uz prednosti, naravno dolaze i nedostaci. Glavni nedostaci Petrijevih mre a su:  nepreglednost,  velik broj varijanti. Formalno se Petrijeve mre e definiraju kao ure ena estorka: PN=(S, T, F, K, W, M 0), koja se naziva Petrijevom mre om (mre om mjesta i prijelaza) ako i samo ako ima sljede a svojstva:  N=(S,T,F) je usmjerena mre a pri emu S ozna ava skup mjesta, T skup prijelaza, a F relaciju toka.  K: pridru uje svakome mjestu kapacitet, mo da beskona an, izra en u broju oznaka ( skup nenegativnih cijelih brojeva).  W: F N pridru uje svakoj grani multiplicitet.  M0 : odre uje po etno ozna avanje, odnosno distribuciju oznaka u mjestima mre e koja uzima u obzir kapacitet svakog mjesta. Pravilo izvedbe prijelaza je sljede e: Neka je t T prijelaz s m ulaznih mjesta, t= t= W( ,t) i pove ava broj oznaka svakog izlaznog mjesta M( ) W( ,t), a sva izlazna mjesta imaju dovoljan kapacitet: M( ) K( ) - W(t, ). i n izlaznih mjesta za za W(t, ). Prijelaz se mo e izvesti . Izvedba prijelaza t smanjuje broj oznaka svakog ulaznog mjesta

uz ozna avanje M ako i samo ako sva ulazna mjesta sadr e dovoljno oznaka:

Uvjeti koji moraju biti ostvareni za izvedbu prijelaza nazivaju se koncesijom. Ulazna mjesta opisuju preduvjete, a izlazna mjesta postuvjete. Alternativni opis osniva se na uspostavljanju me usobnog odnosa mjesta i prijelaza funkcijama ulaza i izlaza. U tom primjeru strukturu Petrijeve mre e opisuju skup mjesta P, skup prijelaza T, funkcija ulaza I i funkcija izlaza O. Dinamiku mre e odre uje izvedba aktiviranjem prijelaza. Definicija utemeljena na op oj teoriji mre a mo e se nazvati strogim pravilom izvedbe prijelaza. Ako se ne ograni ava kapacitet mjesta, prijelaz se mo e izvesti ako ulazna mjesta sadr e dovoljno oznaka, a to eliminira funkciju K iz razmatranja. U teorijskom smislu to odgovara oslabljenom pravilu prijelaza. Petrijeva mre a s oslabljenim pravilom prijelaza e e se primjenjuje. Prakti ne posljedice prihva anja takvog pristupa su u tome to se kapacitet mjesta utvr uje analizom svojstava mre e u procesu njezine izvedbe, a nije pretpostavka za analiziranje. Uz spomenute razlike mo e se istaknuti jo jedna koja ima formalni karakter. Rije je o odvajanju strukture od izvedbe Petrijeve mre e. Struktura i pridru eni joj grafi ki prikaz osnova su za stati ki model sustava koji opisuje me uovisnost uvjeta i doga aja. Izvedba inicirana po etnom ispunjenosti uvjeta (ozna avanjem mjesta) opisuje njegovu dinamiku, odnosno pona anje. Struktura Petrijeve mre e Struktura Petrijeve mre e je opisana ure enom etvorkom: C=(P,T,I,O) sa zna enjem: P= T= P P I:T O:T T = 0, T 0, , funkcija ulaza , funkcija izlaza. kona ni skup mjesta, n > 0, kona ni skup prijelaza, m > 0, P T

Funkcija ulaza i funkcija izlaza opisuju preslikavanje iz prijelaza u skupinu ulaza, odnosno izlaza (skupina je generalizirani pojam skupa koji mo e sadr avati vi e istovrsnih elemenata). Mjesto je ulazno mjesto za prijelaz ako je I( ), a izlazno mjesto ako je O( ). Svako mjesto mo e biti vi estruko ulazno, odnosno izlazno mjesto za neki prijelaz.

Broj pojavljivanja mjesta #( ,O( )).

kao ulaznog, odnosno izlaznog ozna ava se s #( ,I( )), i

Funkcija ulaz i izlaza mogu se definirati i kao preslikavanje mjesta u prijelaze: I:P O:P pri emu vrijedi: #( ,I( )) = #( ,O( )), #( ,O( )) = #( ,I( )). Struktura Petrijeve mre e predo uje se bipartitivnim usmjerenim multigrafom. Bipartitivnost odgovara disjunktnim skupovima mjesta (oznaka O) i prijelaza (oznaka ). Grana u grafu usmjerena je od elementa jednog skupa prema elementu drugog skupa. Dopu teno je povezivanje dvaju elemenata s vi e grana. Primjer 2.1: Predo ite grafi ki strukturu Petrijeve mre e ako je zadano: P= T= I( )=( ) I( )=( , I( )=( O( )=( ) , ) ) #( ,I( ))=2 #( #( ,I( ))=1 ,O( ))=1 #( #( ,I( ))=1 ,O( ))=1 #( ,I( ))=1 #( ,O( ))=1 #( ,O( ))=2 , ,

O( )=( ) O( )=( )

Slika 2.3. Struktura Petrijeve mre e

10

Graf Petrijeve mre e G = (V, A) ekvivalentan je strukturi C = (P, T, I, O) ako je zadovoljeno: skup vorova, skup grana,


ili



Ozna avanje Petrijeve mre e Ozna enu Petrijevu mre u M = (P, T, I, O, ) ini struktura mre e C s vektorom oznaka . Ozna avanje Petrijeve mre e provodi se pridru ivanjem oznaka ( ) mjestima mre e, sa zna enjem ispunjenosti uvjeta. Broj i raspored oznaka u mjestima mo e se izmijeniti nakon aktiviranja prijelaza u mre i. Ozna avanje Petrijeve mre e C = (P, T, I, O) je funkcija :P N (gdje je N skup nenegativnih cijelih brojeva) koja se u vektorskom obliku . Pri tome odgovara broju oznaka u mjestu , odnosno ( ) = . Broj oznaka koji se mo e predo uju ovako:

pridru iti mjestu nije ograni en. Skup svih oznaka za Petrijevu mre u s n mjesta je skup svih n-vektora, odnosno . Prakti na interpretacija vektora oznaka odgovara pojmu stanja koje se definira kao skup istodobno ispunjenih uvjeta. Za primjer 2.1 mre a ozna ena sa: predo ena je slikom 2.4.

Slika 2.4. Ozna ena Petrijeva mre a Izvedba Petrijeve mre e odre ena je brojem i distribucijom oznaka. Mre a se izvodi realizacijom prijelaza, pri emu ulazna mjesta gube oznake, a izlazna ih dobivaju. Prijelaz u mre i M=(P, T, I, O, ) mo e se izvesti ako je za svaki , :

11

odnosno ako svako ulazno mjesto ima najmanje toliko oznaka s koliko je grana povezano s prijelazom. Provedba prijelaza generira novo stanje ' tako da za svaki . U primjeru 2.1, uz =(2, 0, 0, 0) kao po etno stanje, mo e se izvesti samo prijelaz ispunjeno: , jer je vrijedi:

Izvedbom prijelaza dolazi se u novo stanje: '=(0, 1, 1, 0)

Sva ulazna mjesta prijelaza koji se izvode gube oznake ( etone), a sva ih izlazna mjesta dobivaju. Stanje Petrijeve mre e nakon izvedbe prijelaza prikazano je na slici 2.5.:

Slika 2.5. Stanje Petrijeve mre e nakon izvedbe prijelaza Graf stanja i stablo dostupnosti Graf stanja dobiva se izvedbom Petrijeve mre e uz zadano po etno stanje. U prvom koraku odre uju se prijelazi koji se mogu izvesti u po etnom stanju. Svakom takvom prijelazu odgovara grana prema voru koji opisuje novo stanje u koje mre a prelazi provedbom prijelaza. Svaki sljede i korak izvodi se na isti na in, sli no metodi promjene
12

stanja. Mre a mo e prije i u sljede e stanje koje ve postoji. Tada se granom povezuju dva postoje a vora u grafu stanja. Graf stanja ekvivalentan je njezinom stablu dostupnosti. Po etno stanje ozna ava korijen stabla dostupnosti. Stablasta struktura posti e se tako da se za svaki prijelaz uvode nova grana i novi vor, bez povezivanja postoje ih stanja. Dvije vrste stanja isklju uju dalje korake. To su zavr no stanje (u kojemu se nijedan prijelaz ne mo e izvesti) i umno eno stanje (koje se ve otprije pojavilo kao sljede e stanje). Ostaje problem ograni avanja pojavljivanja jednog prijelaza unutar slijeda prijelaza koji se izvode. To se odra ava pojavom stanja u kojima su ozna ena ista mjesta, ali su neka od njih ozna ena razli itim brojem oznaka. Neka je takvo prvo stanje , a nekom sekvencijom prijelaza dolazi se u drugo stanje ' u kojemu se ponovno izvodi ista sekvencija stanja i prelazi u ''. Tada vrijedi: '= odnosno op enito: = + n( ' ), to pokazuje da e se po volji velik broj oznaka u nekome mjestu dobiti odgovaraju im ponavljanjem slijeda prijelaza. Graf stanja je temelj za odre ivanje dinami kih svojstava modeliranog sustava. Za primjer 2.1 graf stanja je prikazan na slici 2.6. +( ' ) + 2( ' ), '' = ' + ( ' ) =

Slika 2.6. Graf stanja (primjer 2.1)

13

Model osnovnoga komunikacijskog protokola Svaki se proces modelira Petrijevom mre om. Procesi se me usobno povezuju zajedni kim mjestima tako da se kanal tako er opisuje Petrijevom mre om. Zajedni ko mjesto ozna ava postuvjet za prijelaz koji oda ilje informacijsku jedinicu, a preduvjet za prijelaz kojim se ta informacijska jedinica prima. U modelu osnovnog komunikacijskog protokola dva procesa me usobno izmjenjuju poruke i potvrde. Svakom procesu kanalu C pridjeljuje se odgovaraju a Petrijeva mre a ( , uvjete i prijelaze (slika 2.7.).
Mjesta (opisuju uvjete): - pripravnost za predaju poruke ekanje potvrde primljena potvrda pripravnost za prijam poruke primljena poruka predana poruka poruka na kanalu potvrda na kanalu Prijelazi (opisuju doga aje): predaja poruke prijam potvrde unutra nji prijelaz prijam poruke predaja potvrde unutra nji prijelaz

) s mjestima koja opisuju

Sustav komuniciraju ih procesa opisan je jednom mre om koja je nastala povezivanjem pojedina nih Petrijevih mre a. Komunikacijski kanal izravno povezuje komuniciraju e procese. Pri tom su utvr eni uvjeti koji opisuju kanal.

Slika 2.7. Izvorna Petrijeva mre a za model protokola

14

Struktura Petrijeve mre e opisuje ovisnost uvjeta i doga aja i njihov me usobni utjecaj. To se mo e nazvati stati kim modelom komunikacijskog protokola. Dinami ka komponenta uvodi se izvedbom Petrijeve mre e uz zadane po etne uvjete. Za na primjer sa slike 2.8. to je ozna avanje: = (1, 0, 0, 1, 0, 0, 0, 0), odnosno ispunjeni uvjeti uspostavlja novo stanje = (0, 1, 0, 1, 0, 0, 1, 0), u kojemu su ozna ena mjesta , i . U strukturnom smislu mre a je restrikcijska, jer nema vi estrukog povezivanja mjesta i prijelaza, ni vlastitih petlji. Svako mjesto ima samo jedan ulazni i samo jedan izlazni prijelaz to odgovara pojmu ozna enoga grafa. i . U tom stanju mo e se izvesti samo prijelaz . Ulazno ), te se mjesto gubi jednu oznaku ( ), a izlazna mjesta dobivaju po jednu oznaku ( ,

Slika 2.8. Graf stanja izvorne Petrijeve mre e za model protokola

15

Modeli poziva i usluga Polaze i od elementarne Petrijeve mre e mo e se provesti sustavan postupak razvoja algoritama obrade poziva. Svaki slo eniji izvedeni model zadr ava dobra svojstva sigurnosti i aktivnosti mre e. Na slici 2.9. nalazi se formalna specifikacija poziva Petrijevom mre om. U ovom primjeru rije ena su dva pitanja - odustajanje od poziva ili nekorektno biranje tijekom uspostavljanja komunikacije i prekidanje komunikacije na na in uobi ajen za govornu komunikaciju u javnoj telekomunikacijskoj mre i. Razlikuje se postupak pokrenut od A ili B korisnika. Prekid koji pokre e korisnik A je kona an. Ako korisnik B prekida komunikaciju, on je mo e nastaviti ponovnim podizanjem mikrotelefonske komunikacije. Druk ije re eno, korisnik B mo e odustati od prekida komunikacije. Tipi ne oznake koje se upotrebljavaju pri specifikaciji govorne komunikacije su oznake za iniciranje i prihva anje poziva (podizanje mikrotelefonske kombinacije) i za prekid (polaganje mikrotelefonske kombinacije).

Slika 2.9. Formalna specifikacija poziva Petrijevom mre om

16

Oznake:
zapo injanje poziva javljanje B (B prihva a poziv) A pokre e prekid A pokre e komunikaciju A bira prvu znamenku B broja A bira ostale znamenke B broja A bira zadnju znamenku B broja A prekida prije ostvarene komunikacije s B A bira pogre nu znamenku (nepostoje i B broj) A isteklo vrijeme za biranje znamenke B prekida za vrijeme komunikacije s A B odustaje od prekida A prekida za vrijeme komunikacije s B A prekida nakon to je B prekinuo B isteklo vrijeme za odustajanja od prekida A prekida za vrijeme blokade B prekida za vrijeme blokade korisnici pripravni za poziv komunikacija (izmjena informac. izme u korisnika) A pozvao B A mirno stanje A mo e slobodno birati A u stanju biranja B mirno stanje. A u ostvarenoj komunikaciji s B B u ostvarenoj komunikaciji s A B prekinuo komunikaciju A blokiran A blokiran nakon komunikacije s B B blokiran nakon komunikacije s A.

17

3.

Modeli programski jezika

Postoj i odeli ogramski jezika za speci ikacij protokola. U nastavku su navedeni samo poznatiji i ukratko obja njeni. - Cal l s of communicating systems (CCS) (Ra un Komuni ij i Sustava)

CC je proces ra un predstavljen od strane Robina Milnera oko 1980. Njegove akcije modeliraju nedjeljivu komunikaciju izme u to no dva sudionika. Formalni jezici uklju uju primitive za opisivanje paralelne kompozicije, izbor izme u akcija i opseg ograni en CC ja. je koristan za procjenu kvalitativnu to nost svojstava sustava, kao to sudeadlock ili livelock. Sintaksa: S obzirom na skup imena akcija, skup CCS procesa su definirani slijede om gramatikom:

Dijelovi sintakse su: prazan proces Prazan proces akcija proces a.P1 mo e izvesti akciju a i nastaviti kao proces P1 identifikator procesa kako bi koristili identifikator A koji se odnosi na proces P1 pisati izbor proces P1 + P2 mogu nastaviti ili kao proces P1 ili kao proces P2 paralelna kompozicija P1|P2 ka e da procesi P1 i P2 postoje istovremeno preimenovanje P1[b/a] je proces P1 sa svim akcijama nazvanim a preimenovan s b ograni enja P1\a je proces P1 bez akcije a Language Of Temporal Ordering Specification (LOTOS) je valjani CSS proces

LOTOS je jezik za formalnu specifikaciju temeljen na privremenom ure ivanju kori ten za specifikaciju protokola u ISO OSI standardu. Temeljen je na CCS-u. Objavljen je kao ISO 8807 1990. i opisuje redosljed kojim se pojavljuju doga aji odnosno, procesno je baziran , . Komunikacija me u procesima se odvija preko sinkronizirani doga aja i vrata, a ozna avanje odre ene akcije je jednostavno identifikacija s vra tima. U tzv. ull LOTOS-u uvodi se i razmjena podataka me u procesima. LOTOS specifikacija se sastoji od dva razli ita dijela: prvi je posve en opisu apstraktni tipova podataka i kriptografske operacije na odre enim. drugi dio opisuje pona anje razli iti entiteta ukulju eni u protokol.
18

RTAG (Real-Time Asynchronous Grammars) (Asinkrona Gramatika u Stvarnom Vremenu) Jezik se temelji na notaciji atributne gramatike za specifikaciju protokola. Njegovi glavni ciljevi dizajna su:
-

da podr ava kratak i lako razumljiv izraz kompleksnih protokola u stvarnom svijetu da slu i kao osnovni programski prijenosni sustav za automatsku implementaciju protokola

4.
-

Hibridni modeli
Extended Finite State Machine (EFSM) (Pro ireni atuomat s kona nim brojem stanja)

Model pro irenog stroja s kona nim brojem stanja je pobolj ani model temeljen na tradicionalnom stroju s kona nim brojem stanja (FSM), koji je model pona anja sastavljen od stanja, prijelaza i akcija. U konvencionalnom FSM-u, prijelazi su povezani sa skupom Booleovih stanja i Booleovih skupova izlaznih funkcija. Kod EFSM modela, prijelazi mogu biti izra eni s ako izjava. Ako su uvjeti okida a zadovoljeni, prijelaz je okinut, vode i stroj iz trenutnog stanja u slijede e i obavljaju i odre ene operacije nad podacima. Definicija: EFSM se definira kao ure ena sedmorka M = (I, O, S, D, F, U, T) gdje su
-

S - skup simboli kih stanja I - skup ulaznih simbola O - skup izlaznih simbola D n-dimenzionalni linearni prostor D1 x ... x Dn F skup funkcija za omogu avanje fi: D {0,1} U skup funkcija za a uriranje ui: D D T odnos prijelaza, T: S x F x I S x U x O

Struktura: EFSM model se sastoji od tri kombinatorna bloka i nekoliko registra. FSM-blok: konvencionalni FSM realizira graf prijelaza stanja EFSM modela. A- blok: blok za izvo enje operacija nad podacima povezanih sa svakim prijelazom. Operacije ovog bloka su regulirane izlaznim signalima FSM bloka. E- blok: blok za ocjenjivanje stanja okida a povezanih sa svakim prijelazom. Ulazni signali ovog bloka su podatkovne varijable, dok je izlaz skup binarnih signala uzetih za ulaz od
19

strane FSM-bloka. Informacije o redundantnom izra unu je izva en analizom interakcije izme u tri osnovna bloka. Kori tenjem ove informacije, odre eni ulazni operandi aritmeti kog bloka i evaluacijskog bloka mogu biti zamrznuta na ulaznim vratima pod odre enim pokrenutim vremenskim uvjetima kako bi se smanjila nepotrebna prebacivanaj u dizajnu. Na sloju arhikteture, ako se svaki ocjenjeni okida i operacija nad podacima smatraju kao atomska akcija, tada EFSM podrazumijeva gotovo najni u snagu implementacije. Ciklus pona anja EFSM-a mo e biti podjeljen u tri koraka: 1. U E-bloku, procjenjuje sva stanja okida a 2. U FSM-bloku, ra unanje slijede eg stanja i kontroliranje signala A-bloka. Specification and Description Language (SDL)

SDL je specifikacijski jezik koji je nastao kao rezultat nastojanja da se formalizira i standardizira specifikacija i opis internih logi kih procesa unutar SPC (Stored Programe Control) komutacijskih vorova. Pojam specifikacija odnosi se na specifiranje eljenih svojstava sustava tijekom projektiranja, a pojam opis se odnosi na opisivanje aktualnog pona anja ve postoje eg sustava. Prva verzija jezika pojavila se 1974. godine, da bi se nakon toga u pravilu svake etiri godine pojaljivala nova verzija. Shodno tome skra enici SDL dodaje se i sufiks koji odre uje u kojoj je godini verzija definirana (npr. SDL -96). Svaka novija verzija predstavlja pro irenje prethodnih, a mnogi komercijalni alati rade sa svojevrsnom kombinacijom vi e verzija podr avaju i samo neka od svojstava najnovije verzije. Osnovni model na kojem se temelji SDL je pro ireni automat s kona nim brojem stanja (EFSM). Konkurentnost se temelji na postojanju jednog ili vi e procesa unutar sustava, koji me usobno komuniciraju isklju ivo asinkronom razmjenom poruka preko kanala i signalnih ruta. SDL promatra svijet u dva posebna dijela koja sa injavaju SDL sustav i njegova okolina. Specifikacije pisane SDL jezikom ograni ene su na sustav, dok se sve izvan sustava smatra okolinom. Prilikom specifikacije samog sustava potrebno je pa ljivo definirati njegovo su elje prema okolini. Jedini na in kojim SDL sustav mo e komunicirati sa svojom okolinom je razmjena signala (slika. 4.1.). stoga pod pojmom definiranje su elja mislimo na definiranje komunikacijskih kanala u smjeru okolina-sustav i sustav-okolina, kao definiranje signala koje je mogu e tim kanalima prenositi.

SDL sustav

signali

OKOLINA

Slika 4.1. Me udjelovanje sustava i okoline


20

SDL, za razliku od ve ine ostalih specifikacijskih jezika posjeduje dva oblika zapisa. Uze tekstualni oblik (SDL-PR), posjeduje i grafi ku reprezentaciju specifikacije (SDL-GR). Procesi unutar SDL sustava su modelirani kao komuniciraju i automati s kona nim brojem stanja. Takav automat ima kona an broj stanja, koja ine skup stanja automata, od kojih je jedno po etno. Automat se nalazi u nekom od svojih stanja, a prijelaz u neko drugo stanje mo e inicirati konzumiranje signala na ulazu. Taj signal mora biti definiran u skupu ulaza automata. Tijekom tranzicije automat alje signale prema okolini, a ti su signali definirani u skupu izlaza automata.

5.

Zaklju ak

Zbog sve ve eg razvoja raspodijeljenjih sustava i ve ih zahtjeva na funkcionalnost sustava raste i njihova kompleksnost. Samim pove anjem kompleksnosti pove ava se i broj pogre aka do kojih mo e do i u procesu njihovog razvoja. Formalne metode koriste se za razvoj nedvosmislenih, cjelovitih i to nih specifikacija protokola te stvaraju osnovu za daljnju verifikaciju protokola i kao takve su neizbje ne u razvoju protokola. Precizna specifikacija protokola kod koje se mo e detaljno analizirati kompleksnost i konzistentnost modela je glavna prednost formalne metode u odnosu na neformalne i poluformalne. Druga prednost je mogu nost procesiranja formalne specifikacije pomo u prikladnog prevoditelja za generiranje parcijalnih izvedbi protokola. irok izbor i daljni razvoj modela za formalnu specifikaciju protokola je neophodan za dizajniranje protokola koji se mogu nositi sa svim zahtjevima koji se pojavljuju na samom tr i tu.

6.

LITERATURA

[1] Lovrek, I., ''Modeli telekomunikacijskih procesa: teorija i primjena Petrijevih mre a'', Zagreb, kolska knjiga, 1997. [2] Prezentacije s predavanja [3] Predlo ci za laboratorijske vje be [4] SDL, http://sdl-forum.org [5] LOTOS, http://en.wikipedia.org/wiki/Language_Of_Temporal_Ordering_Specification [6] CCS, http://en.wikipedia.org/wiki/Calculus_of_Communicating_Systems [7] LOTOS, http://dimacs.rutgers.edu/Workshops/Security/program2/gl97-2/gl97-2.html [8] SDL, http://old.tel.fer.hr/files/treca/ilj/Skripta.pdf [9] EFSM, http://en.wikipedia.org/wiki/Extended_finite_state_machine

21

You might also like