Utisci korisnika

Pre nepunih mesec dana kupila sam paket kurseva: PRIPREME ZA POLAGANJE CAMBRIDGE INTERNATIONAL DIPLOMA IN BUSINESS. Obično neki opšti utisak formiramo na kraju, ali ja u ovom trenutku želim sa…

"Ovo je pravi vid doškolovavanja za sve one koji nemaju uslova za redovno školovanje ili su prezauzeti. Nije teško za one koji hoce . Uz vas je i moj sin od 9 godina nesto naučio.…


Kompletna lista utisaka

Testiranje online

Arhitektura računara

Za one koji žele da znaju više.

Windows OS

Ovo bi svakako trebalo da probate.

Odnosi s javnošću

Koliko znate PR?

Pogledajte još neke od testova

Newsletter

Ukoliko želite da Vas redovno obaveštavamo o novostima sa Link eLearning sajta prijavite se na našu newsletter listu.

Ime:

Prezime:

Email:


Anketa

Arhiva anketa

BAZA ZNANJA


Kurs: Softverski dizajn

Modul: Notacije crne kutije (Black box)

Autor: Test Instruktor

Naziv jedinice: Dijagram promene stanja (The State Transition Diagram)


Materijali vezani uz ovu lekciju:

- Test dijagram promene stanja (the state transition diagram)
- Dijagram promene stanja (The State Transition Diagram) (PDF dokument)



U ovoj lekciji obrađivaćemo:

  • Stanja i promena stanja
  • Tranzicija između stanja
  • Dijagram promene stanja (Eng. The State Transition Diagram - STD)
  • Korišćenje STD-a

 

Neke klase problema i njihovih rešenja mogu uspešno biti opisani posmatrajući ih kao automate sa konačnim stanjima. Takav sistem može se smatrati kao da postoji u konačnom skupu mogućih stanja, sa spoljašnjim događajima kao okidačima (eng. Triggers) koji dovode do tranzicije između stanja.

Na primer, popularni Unix editor vi, ima dva osnovna stanja operacija:

  • Komandni režim - u kome se svaki taster interpretira kao komanda editoru da izvrši operaciju, otvaranja fajla, zatvaranja fajla, pomeranja kursora, itd...
  • Insert režim - u kome se svaki taster interpretira kao podatak koji se unosi.

 

Tranzicija između ovih stanja se dešava prema formi komande „escape". Na slici 1 je prikazan jednostavan opis modela vi editora, u kome krugovi predstavljaju stanja (režime), a strelice reprezentuju tranziciju, sa oznakama komandi (događaja) koje dovode do promene.

Napomena: Na slici je prikazan samo mali podskup, pošto editor vi ima veći broj komandi za prelazak u insert režim. Linijski komandni režim može se smatrati kao podstanje komandnog režima.


Slika 1. Opis jednostavnog dijagrama promene stanja na primeru Unix vi editor

Prethodna slika predstavlja samo jednostavan primer STD-a, koji pruža pogodan način za modelovanje mnogih drugih sistema. Generalne klase sistema u relanom vremenu mogu uspešno biti modelovane na ovaj način, pošto njihova priroda rada na pokretanju događajima i vodi ka logičnoj primeni ovakvih formi.

Forme STD-a

Ward and Mellor[1] su predstavili formu STD-a koja je opisana u nastavku.

Postoji 4 suštinske komponente u reprezentaciji STD-a:

  • Stanje - predstavlja spolja vidljivi način ponašanja, i predstavljen je preko bloka, sa tekst labelom koja opisuje njegovo ponašanje
  • Tranzicija - koja se opisuje preko strelica i identifikuje dozvoljene promene stanja koje se mogu desiti unutar sistema
  • Uslovi tranzicije - identifikuju uslove koji će dovesti do pojave tranzicije, najčešće u formi događaja koji uzrokuju tranziciju, ali se ne bavi samim mehanizmom. Piše se pored strelica tranzicije, iznad horizontalne linije
  • Akcija tranzicije - opisuje akcije koje nastaju kao rezultat tranzicije, mogu se dešavati simultano, ili u specifičnoj sekvenci. Pišu se ispod horizontalne linije.

 

Radi kompletiranja dijagrama, potrebno je identifikovati podrazumevano inicijalno stanje, na koje pokazuje strelica, bez stanja iz kojeg izvire. Nekada je moguće identifikovati finalno stanje, do koje će voditi određena tranzicija, ali nijedna od njega.


Slika 2. Opis Unix text editora vi pomoću STD-a[1]

Na slici je prikazano kako je moguće raniji primer vi editora modelovati koristeći ovu formu STD-a. Vidi se da je i dalje moguće ostvariti višestruku tranziciju između datog para stanja. Radi pojednostavljenja prikaza ni ovde nisu prikazane sve moguće tranzicije. Utvrđene su akcije za završetak rada editora, a komandni režim je identifikovan kao inicijalno stanje kada editor počne operaciju.

Na slici 3 je prikazan komplikovaniji sistem modelovan na ovaj način, koji sadrži više stanja. U datom primeru opisan je sistem ponašanja aviona modelovanog kao komponenta kontrole leta vazdušnog saobraćaja. Dogođaj koji dovodi do inicijalnog stanja je radar koji detektuje avion koji ulazi u vazdušni prostor. Kompleksnost tranzicije u ovom primeru je velika zbog postojanja brojnih akcija koje avion može da preduzme, od prostog letenja, do problema sa poletanjem ili sletanjem i sl.


Slika
3. Primer složenijeg modelovanja putem STD-a: ponašanje aviona kao komponente kotrole leta[1]

STD gledište (viewpoint)

STD je primer reprezentacije koji se koristi da uhvati i opiše sistem sa gledišta ponašanja, tako da se bavi dinamičkih atributa sistema, preko termina stanja, događaja i uslova. Identifikuje samo verovatnoću da će određena tranzicija desiti, bez indikacije kako će teći sekvenca aktivnosti.

Korišćenje STD-a

Osnovna uloga STD je modelovanje problema entiteta, mada može imati ulogu u izgradnji modela rešenja. Posebno je koristan u modelovanju nekih potreba u realnom vremenu. STD je koristan alat za modelovanje, ali ima i ograničenja. Kao što se videlo u prethodnim primerima, ako postoji veliki broj transakcija između malog broja stanja, dijagram može postati nepregledan. Slično tome, veliki i kompleksni sistemi rezultuju u velikim i kompleksnim dijagramima, kao što ne postoji i hijerarhijsko raslojavanje dijagrama. Postoji i druge prema stanju orijentisane forme, koje prevazilaze problem sa slojevima, dodavajući hijerarhiju u sama stanja (Statechart).

Reference:

1. Ward P.T. and Mellor S.J. (1985). Structured Development for Real-Time Systems, Vols 1-3, Yourdon Press
2. David Budgen, Software design, Addison Wesley, 2003


Smatrate da je ova lekcija korisna?  Preporučite je. Broj preporuka:0