RACUNARSKA_SIMULACIJA_skripta[1]

Embed Size (px)

Citation preview

  • 8/13/2019 RACUNARSKA_SIMULACIJA_skripta[1]

    1/44

    SAOBRAAJNI FAKULTET UNIVERZITETA U BEOGRADU

    RAUNARSKA

    SIMULACIJA- SKRIPTA -

    BEOGRAD 2007.

  • 8/13/2019 RACUNARSKA_SIMULACIJA_skripta[1]

    2/44

    1

    SADRAJ str.

    I MODELIRANJE I SIMULACIJA 3 1.MODELIRANJE I MODELI 3

    2.VRSTE MODELA (I: mentalni, verbalni,fiziki, matematiki, konceptualni, raunarski; II: neformalni i formalni) 3 3.RAUNARSKA SIMULACIJA - modeliranje i simulacija 4 4.SIMULACIONI PROCES (dijagram toka simulacionog procesa) 4

    5.PODELA SIMULACIONIH MODELA (I: deterministiki i stohastiki; II: diskretni, kontinualni, diskretno kontinualni) 4 6.VRSTE SIMULACIONIH MODELA (Monte Karlo, kontinualna, diskretnih dogaaja, meovita) 5

    II KLASIFIKACIJA MODELA 6 1.Klasifikacija u odnosu na promenljive 6

    2.Klasifikacija u odnosu na prirodu opsega vrednosti promenljivih modela 6

    3.Klasifikacija u odnosu na prirosu opsega vrednosti promenljive vreme 6

    4.Klasifikacija u odnosu na vremensku zavisnost modela 6

    5.Klasifikacija u odnosu na determinizam 6

    6.Klasifikacija u odnosu na predvianje budunosti 6 7.Klasifikacija u odnosu na linearnost 7

    8.Klasifikacija prema vrsti raunara 7 9.Klasifikacija u odnosu na formalni opis modela 7

    FORMALNA SPECIFIKACIJA MODELA 7

    FORMALNI MODEL ULAZNO IZLAZNOG SISTEMA 8

    III OCENA PARAMETARA MODELA 9 OCENE PARAMETARA DETERMINISTIKOG MODELA 9 OCENE PARMETARA MODELA STOHASTIKIH SISTEMA 10 Statistiki pristup proceni parametara statistikih modela 10 Ocena nepoznatog parametra po metodi najmanjih kvadrata 10

    IV VALIDACIJA I VERIFIKACIJA 11 VALIDACIJA SIMULACIONIH MODELA 11

    Cilj procesa validacije 11

    Praktini pristup procesu validacije 11 Formalni kriterijum za utvrivanje validnosti modela 12 VERIFIKACIJA SIMULACIONIH MODELA 12

    V SIMULACIJA DISKRETNIH DOGA

    AJA13

    FORMALNI OPIS SISTEMA SA DISKRETNIM DOGAAJIMA 13 DOGAAJ, AKTIVNOST I PROCES 13 RAZVOJ SIMULACIJE DISKRETNIH DOGAAJA 14 Mehanizam pomaka vremena 14

    Generisanje dogaaja 14 Strategija izvoenja simulacije 14

    VI GPSS JEZIK 16 Osnovni koncept GPSS jezika 16

    Vrste naredbi u GPSS-u 17

    TRANSAKCIJE I BLOKOVI ZA RAD SA TRANSAKCIJAMA 17

    NAREDBE GPSS JEZIKA 17

    1.Naredba za vremensko zadravanje transakcija Blok ADVANCE

    1818

    2. Naredbe za stvaranje/unitavanje transakcija Blok GENERATE Blok PRIORITY Blok TERMINATE

    18181819

    3.Naredbe za promenu vrednosti parametra transakcije Blok ASSIGN Blok INDEX

    191919

    4.Naredbe za kopiranje i sinhronizaciju kretanja transakcija Blok SPLIT Blok ASSEMBLE Blok GATHER

    Blok MATCH

    1919202020

    STARTOVANJE SIMULACIJE Kontrolna naredba START

    2121

    Definisanje poetka i kraja GPSS programa Kontrolne naredbe SIMULATE i END

    2121

  • 8/13/2019 RACUNARSKA_SIMULACIJA_skripta[1]

    3/44

    2

    PERMANENTNI ENTITETI 21

    UREAJI (FACILITY) Blokovi SEIZE i RELEASE

    2121

    SKLADITA Blokovi STORAGE, ENTER i LEAVE

    2222

    LOGIKI PREKIDAI Blok LOGIC

    2222

    REDOVI Blokovi QUEUE i DEPART

    2222

    TABELE (histogrami)

    Blok TABLE i TABULATE

    22

    22 Blok MARK 23

    MEMORIJSKE LOKACIJE Blok INITIAL Blok SAVEVALUE

    232324

    MATRINE MEMORIJSKE LOKACIJE Blok MATRIX Blok MSAVEVALUE

    242424

    BLOKOVI ZA RAVANJE TRANSAKCIJA Blok TEST Blok GATE

    242425

    BLOKOVI ZA PROMENU TOKA TRANSAKCIJA

    Blokovi TRANSFER

    25

    25 Blok LOOP 27

    Blokovi SELECT 27

    STANDARDNI NUMERIKI ATRIBUTI 28 ADRESIRANJE U GPSS-u 29

    PONAVLJANJE SIMULACIJE Kontrolna naredba RESET Kontrolna naredba CLEAR

    293030

    Korisniki redovi Blokovi LINK i UNLINK

    3131

    RAUNSKI ENTITETI 31 1.Funkcije 31

    Format pisanja funkcije u GPSS-u 32

    Definisanje verovatnoa u GPSS-u 33 Raspodele sluajnih promenljivih Uniformna raspodela Eksponencijalna raspodela Puasonova raspodela Erlangova raspodela Normalna (Gausova) raspodela

    333334353536

    2.Varijable izrazi Aritmetiki izrazi Logiki izrazi

    363737

    Generisanje sluajnih promenljivih 37 Uzimanje uzorka iz populacije 37

    Generatori uniformnih sluajnih brojeva 38 Transparentno uzimanje uzorka u blokovima GENERATE, ADVANCE i TRANSFER 38

    Statistika nezavisnost u simulaciji 39

    LITERATURA 43

  • 8/13/2019 RACUNARSKA_SIMULACIJA_skripta[1]

    4/44

    3

    I MODELIRANJE I SIMULACIJA

    1.MODELIRANJE I MODELIModeliranje je osnovni proces ljudskog uma. To je isplativo(u smislu trokova) korienje neega (modela) umesto neegdrugog (realnog sistema) sa ciljem da se doe do odreenogsaznanja. Rezultat modeliranja je model.Model je uproena i idealizovana slika realnosti. Model je

    apstrakcija realnog sistema, zadrava samo one osobineoriginala koje su bitne za izuavanje. Nivo apstrakije utie na validnost modela tj. na uspenost predstavljanjarealnog sistema preko modela. Isuvie sloeni modeli su skupi i neadekvatni dok istvie prosti modelineoslikavaju posmatrani sistem na pravi nain.

    2.VRSTE MODELA

    I podela:1. Mentalni(misaoni) modeli. Konstruie ih ljudski um i na osnovu toga deluje. Omoguavaju komunikaciju

    meu ljudima, planiranje aktivnosti itd.2. Verbalni modeli su direktna posledica mentalnih modela, njihov izraz u govornom jeziku. Uobiajno se

    predstavljaju u pisanom obliku i spadaju u klasu neformalnih modela.

    3. Fizikimodeli predstavljaju umanjene modele realnog sistema. Ponaaju se kao njihovi originali a prave sena osnovu teorije slinosti ili fizikih zakona slinosti.

    4. Matematiki modeli se javljaju ako su veze izmeu objekata opisane matematikim (numerikim)relacijama. Polazi se od verbalnog modela koji se transformie u stanje koje se moe opisati matematikim

    jezikom. Spadaju u klasu apstraktnih modela a primenjuju se u naunim i ininjerskim disciplinama. Razliiti fiziki modeli mogu imati iste matematike modele pa se kae da izmeu njih postojimatematika analogija (analogija u ponaanju). To prua mogunost da se neki od fizikih objekata jednogmodela koristi za analizu drugog modela i tada se on naziva analogni model.5. Konceptualni modeli nastaju na osnovu strukture, logike rada sistema. Zovu se jo i strukturni modeli

    poto u grafikom obliku ukazuju na strukturu sistema te su zgodno sredstvo za komunikaciju. Predstavljajuosnovu za izradu raunarskih modela.

    6. Raunarski (simulicioni) modeli su prikaz konceptualnih modela u obliku programa za raunarkorienjem programskih jezika i usko su vezani za razvoj raunarske nauke.

    Modeli se esto dele na materijalne (hemijska struktura molekula, model aviona) i simbolike(matematiki, konceptualni, raunarski, simulacioni).

    II podela:1. Neformalniopis modela daje osnovne pojmove o modelu i naje nije potpun i precizan. Zbog toga se

    vri podela na:a. objekte to su delovi iz kojih se sastoji model;

    b. opisne promenljive opisuju stanje u kome se objekat nalazi u nekom vremenskom trenutku;

    c. pravila interakcije objekata definiu kako objekti modela utiu jedni na druge i na opisnepromenljive u cilju promena njihovog stanja.Neformalni opis je dosta brz i lak te zbog toga moe biti nekompletan (ne sadri sve situacije koje

    mogu da nastupe), nekonzistentan(predvianje dva ili vie pravila za istu situaciju kontradiktorne akcije),nejasan (ako nije definisan redosled akcija). Ovakve situacije se prevazilaze pravilima i konvencijama ukomuniciranju zvanim formalizmi.2. Formalni opis modela treba da obezbedi veu preciznost, potpunost u opisivanju modela. Omoguava i

    formalizovanje nekompletnosti, nekonzistentnosti i nejasnosti kao i usmeravanje panje na karakteristikeobjekata koje su od najveeg znaaja za istraivanje (apstrakcija).

    Preporuke pri izradi modela: 1.granica modela mora biti odabrana tako da model obuhvata samo

    fenomene od interesa; 2.model ne sme biti suvie sloen niti detaljan; 3.model ne sme suvie da pojednostaviproblem; 4.model je razumno rastaviti na vie modula radi lake izgradnje i provere; 5.korienje neke odproverenih metoda za razvoj algoritama i programa; 6.provera logike i kvantitativne ispravnosti i modela imodula.

  • 8/13/2019 RACUNARSKA_SIMULACIJA_skripta[1]

    5/44

    4

    3.RAUNARSKA SIMULACIJA(modeliranje i simulacija)Modeliranje i simulacija izraavaju sloenu aktivnost koja sadri trielementa:1. Realni sistem je ureen, meuzavistan skup elemenata koji formiraju

    jednu celinu i deluju zajedniki kako bi ostvarili zadati cilj. Realni sistemje izvor podataka, oblika x(t), za specifikaciju modela.

    2. Model je apstraktni prikaz sistema, daje njegovu strukturu, komponente i njihovo uzajamno delovanje. Uraunarskoj tehnici model predstavlja skup instrukcija (program) koje slue da se generie ponaanje

    simuliranog sistema. Model ima svoje objekte koji su opisani atributima i promenljivima.3. Raunar je ureaj za izvraavanje instrukcija modela, koje generiu razvoj modela u vremenu na osnovu

    ulaznih podataka.Modeliranje je proces kojim se uspostavlja veza izmeu realnog sistema i modela. Odnosi se na

    validnost modela koja opisuje koliko verno model predsavlja simulacioni sistem (validacija).Simulacija je proces koji uspostavlja vezu izmeu modela i raunara. Odnosi se na proveru da li

    simulacioni program verno prenosi model na raunar i na tanost kojom raunar vri instrukcije. Procenakorektnosti simulatora zove se verifikacija.

    4.SIMULACIONI PROCES (dijagram toka simulacionog procesa) Simulacioni proces je struktura reavanja stvarnih problema pomou

    simulacionog modeliranja. Sastoji se iz vie koraka i nije strogo sekvencijalna,moguje povratak na korake procesa.Koraci simulacionih procesa:1. Definicija cilja simulacione studije;2. Identifikacija sistema (opis komponenata, nain rada, veza sa okolinom,

    formalni prikaz sistema);3. Prikupljanje podataka o sistemu i njihova analiza;4. Izgradnja simulacionog modela (stvaranje konceptualnog modela koji

    adekvatno opisuje sistem);5. Izgradnja simulacionog programa (izbor programskog jezika i stvaranje

    simulacionog programa);

    6. Verifikacija simulacionog programa (da li nam program verno prenosimodel);

    7. Validacija (vrednovanje) simulacionog modela (da li model adekvatnopredstavlja realni sistem);

    8. Planiranje simulacionih eksperimenata i njihovo izvoenje;9. Analiza rezultata eksperimenata (naje statistika analiza);10. Zakljuci i preporuke.

    5.PODELA SIMULACIONIH MODELA

    Prva podelaje prema vrsti promenljivih u modelu:

    Deterministriki modeli su modeli ije se stanje moe predvideti tj. novostanje je potpuno odreeno prethodnim. Pr: stanje sistema Sn se menja pod

    uticajem aktivnosti A, deterministikog trajanja od 45 sekundi, u stanje Sn+1. Stohastiki modeli ije se ponaanje ne moe unapred predvideti ali semogu predvideti verovatnoe promena stanja. Za stohastike modele jekarakteristino sluajno ponaanje, postojanje sluajnih promenljivih. Pr:stanje Snse pod uticajem aktivnosti A moe promeniti u stanja S

    n+1, S

    n+1ili

    Sn+1prema uniformnoj raspodeli verovatnoa stanja.Druga podelaje prema nainu na koji se stanje modela menja u vremenu:

    Diskretni modeliu kojima se stanje sistema menja samo u pojedinim takama u vremenu, nema kontinualnepromene stanja. Te promene se nazivaju dogaaji.

    Kontinualni modeli u kojima se promenjive stanja menjaju kontinualno u vremenu. Na digitalnimraunarima se ne mogu izvoditi kontinualne promene veliina ve se moraju aproksimirati skupom diskretnihvrednosti.

    Kontinualnodiskretni modelisadre i kontinualne i diskretne promenljive.

  • 8/13/2019 RACUNARSKA_SIMULACIJA_skripta[1]

    6/44

    5

    6.VRSTE SIMULACIONIH MODELA

    Postoje etiri osnovne vrste simulacionih modela:1. Monte Karlosimulacija je statika simulacija kod koje se u reavanju problema koristi stvaranje uzoraka iz

    raspodela sluajnih promenljivih, a problemi mogu biti i deterministikog i stohastikog oblika.Tipovi primene Monte Karlo simulacije:

    deterministiki problemi koje je teko ili skupo reavati. Pr: raunanje integrala koji se ne moguizraunati anlitiki. Generie se niz sluajnih taaka xj, yj sa jednakim verovatnoama unutar odreenog

    pravougaonika i zatim ispituje koliko je generisanih taaka unutar povrine koja odgovara integralu.

    sloeni fenomeni koji nisu dovoljno poznati. Karakteristinost je da nije poznat nain uzajamnogdelovanja izmeu elemenata ve su poznate samo verovatnoe ishoda, koje se koriste za izvoenje nizaeksperimenata koji daju uzorke moguih stanja zavisnih promenljivih. Statistikom analizom dobija seraspodela verovatnoa zavisnih promeljivih. Primena kod analiziranja drutvenih ili ekonomskihfenomena.

    statistiki problemi koji nemaju analitika reenja. Pr: testiranje novih hipoteza, procena kritinihvrednosti. Prilikom reavanja takvih problema takoe se koristi generisanje sluajnih brojeva i

    promenljivih.2. Kontinualna simulacija (dinamika) se koristi za dinamike probleme kod kojih se promenljive stanja

    menjaju kontinualno u vremenu. Postoje dve klase problema koji se reavaju ovom metodom:- jednostavni problemi koji su opisani detaljno i kod kojih su promene glatke, opisuju se diferencijanim

    jednainama. To su problemi iz fizike, biologije i inenjerstva.- problemi koji nastaju opisom veoma sloenih sistema u agregiranom obliku, u kom se niz elemenata

    sistema redukuje na manji broj komponenata a promene u sistemu se aproksimiraju konstantnimbrzinama promene. To su naje problemi iz ekonomije i drutvenih nauka.

    Postoje tri tipa ovih simulacionih modela:

    modeli koj i se opisuju obinim diferencij anim jednainama(postoji jedna nezavisna promenjliva). To suproblemi kretanja, fiziki, hemijski, bioloki i drugi procesi gde se radi o jednoj nepoznatoj funkciji

    ( )tyy= jedne nepoznate promenljive ( )t . Izraavaju se matematikim jednainama u kojima porednezavisne promenljive i nepoznate funkcije javlja i izvod te funkcije ( )dtdy/ . To su obine diferencijalne

    jednaine.

    modeli koji se opisuju sistemima parcijanim diferencijalnim jednainama. Postoji vie od jednenezavisne promenljive po kojima se trae izvodi zavisne promenljive. Njima se opisuju problemiaerodinamike, hidrodinamike i meteorologije.

    modeli dinamike sistema. Modeliraju sisteme sa povratnom vezom.3. Simulacija diskretnih dogaaja (dinamika) se bavi modeliranjem sistema koji se mogu predstaviti

    skupom dogaaja. Dogaaj je diskretna promena stanja entiteta sistema. Nastupa u odreenom trenutku a tepromene stanja entiteta se deavaju diskontinualno u vremenu, tj. samo u nekim trenucima. Izmeu dvauzastopna dogaaja stanje sistema se ne menja.

    4. Meovita simulacija (kontinualno diskretna)se uvodi da bi se modelirali (simulirali) oni sistemi kojisadre procese i dogaaje. Procesi teku kontinualno dok dogaaji dovode do diskontinuiteta u ponaanjusistema. Tako je razvijena meovita simulacija koja integrie diskontinualnu i kontinualnu. To se postieuvoenjem dva tipa dogaaja. 1.Vremenski dogaajikoje generie mehanizam upravljanja dogaajima. Onimogu da izazovi trenutnu promenu stanja kontinualne promenljive. 2.Dogaaji stanja koja aktiviramehanizam pomaka vremena sa konstantnim prirastom. Oni mogu da aktiviraju dogaaje diskretnog delamodela. Poznati simulacioni jezici za meovitu simulaciju su GASP i SLAM.

    Pri izboru simulacionog modela najvanije je da model bude to jednostavniji, to zbog njegovograzvoja tako i zbog potrebe da ga korisnik lake razume.

  • 8/13/2019 RACUNARSKA_SIMULACIJA_skripta[1]

    7/44

    6

    II KLASIFIKACIJA MODELA

    1.Klasifikacija u odnosu na promenljive Kod svakog modela mogue je identifikovati opisne promenljive znaajne za njegovo razumevanje, opisi upravljanje. Opisne promenljive se dele na one koje je mogue i nemogue posmatrati (meriti). One mogu bitiulazne, izlazne i promenljive stanja. Svaka promenljiva ima svoj opseg (domen) i jednu funkciju kojom seopisuju te promene u vremenu.U pogledu promenl j ivih stanja:

    Modeli bez memorijom (trenutne funkcije) nemaju ni jednu promenljivu stanja. Njihove izlaznepromenljive zavise od ulaznih u trenutku posmatranja.

    Modeli sa memorijomimaju barem jednu promenljivu stanja.U pogledu ulaznih promelj ivih :

    Autonomnisu bez ulaznih promenljivih. Neatonomnisu sa ulaznim promenljivima. Oni se dele na modele sa i bez izlaznih promenljivih.

    U pogledu izlaznih promenl ji vih:

    Zatvorenimodeli su autonomni modeli koji ne sadre izlaznu promenljivu. Otvoreni modeli su autonomni modeli sa izlaznim promenljivama i svi neautonomni modeli.

    2.Klasifikacija u odnosu na prirodu opsega vrednosti promenljivih modela Pod opsegom vrednosti promenljivih se podrazumeva skup svih vrednosti koje moe da uzmepromenljiva. Vrednosti promenljivih mogu biti iz prebrojivog (diskretnog) i neprebrojivog (kontinualnog)skupa. U skladu sa tim razlikujemo tri klase modela:1. Model i sa diskretnim stanjima sve opisne promenljive uzimaju vrednost iz skupa diskretnih vrednosti.2. Modeli sa kontinualn im stanj ima sve opisne promenljive uzimaju vrednosti iz podskupa realnih brojeva

    (iz kontinualnog skupa).3. Modeli sa meovitim stanj ima neke opisne promenljive uzimaju vrednosti iz diskretnog a ostale iz

    kontinualnog skupa.

    3.Klasifikacija u odnosu na prirodu opsega vrednosti promenljive vreme

    Skup vrednosti promenljive vreme moe biti prebrojiv ili neprebrojiv. Stoga razlikujemo:1. Modele sa kontinualnimvremenom (vreme kontinualno tee)o i kontinualnim promenama stanja;o i diskretnim promenama stanja (promene stanja se deavaju samo u diskretnim skokovima).

    2. Modeli sa diskretnimvremenom (vreme se poveava u inkrementima koji ne moraju biti ekvidistantni)o i kontinualnim promenama stanja;o i diskretnim promenama stanja.

    4.Klasifikacija u odnosu na vremensku zavisnost modela1. Varijantan(vremenski promenljiv) model ako struktura modela zavisi od vremena.2. Invarijantan(vremenski nepromenljiv) model ako struktura modela ne zavisi od vremena.

    5.Klasifikacija u odnosu na determinizam1. Deterministiki modeli vrednost promenljivih stanja i ulaznih promeljivih u jednom trenutku

    jednoznano odreuju vrednosti promenljivih stanja u sledeem trenutku. Ovakvi modeli ne sadre sluajnepromenljive.

    2. Nedeterministiki(stohastiki) modeli postoji bar jedna sluajna promeljiva.

    6.Klasifikacija u odnosu na predvianje budunosti1. Anticipatorskimodeli koji za izraunavanje promenljivih stanja uzimaju u obzir i budue vrednosti ulaznih

    promenljivih.2. Neanticipatorskimodeli kod kojih prethodno nije sluaj.

  • 8/13/2019 RACUNARSKA_SIMULACIJA_skripta[1]

    8/44

    7

    7.Klasifikacija u odnosu na linearnost

    Linearni sistemi menjaju stanja i daju izlaze potujui zakonitosti linearnih transformacija. Jednalinearna transformacija YUL : zadovoljava princip superpozicije ako za Uuu 21, i 21,cc vai:

    ( ) ( )[ ] ( )[ ] ( )[ ]tuLctuLctuctucL 22112211 +=+Odnosno, ako su ulazi u sistem: ( )tu1 i ( )tu2 , izlazi iz sistema ( )ty1 i ( )ty2 , a 1c i 2c skalari, tada

    vai: ( ) ( ) ( )tuctuctu 2211 += i ( ) ( ) ( )tyctycty 2211 +=

    8.Klasifikacija prema vrsti raunara Tri vrste raunara se mogu koristiti za simulaciju: analogni, digitalni i hibridni. Skoro svi modeli semogu simulirati na digitalnim i hibridnim raunarima dok se na analognim raunarima mogu simulirati samokontinualni modeli sa kontinualnim vremenom.

    9.Klasifikacija u odnosu na formalni opis model

    Formalni opis modela podrazumeva precizan, matematiki opis modela.Model i sa konti nualnim promenama vremena se opisuju diferencijalnim jednainama i spadaju u

    kontinualne vremenske modele. Oni ne moraju da menjaju svoje stanje kontinualno.Diskontinualnu modeli su oni modeli u kojima je najmanje jedna promenljiva stanja i/ili njen izvod

    diskontinualan.

    Diskretni modelimenjaju svoje stanje u diskontinualnim vremenskim trenucima.

    FORMALNA SPECIFIKACIJA MODELA

    Teorija skupova omoguava konstruisanje formalizama koji se koriste za opisivanje objekata modela.Svaka klasa moe se predstaviti odgovarajuim formalizmom koji definie njene parametre i ogranienja. Da bise definisao poseban objekat neke klase u okviru nekog formalizma, paramertima formalizma dodeljuju sevrednosti koje zadovoljavaju ogranienja. Jedan objekat iz klase zadate formalizmom, definie se na taj nain to se parametrima dodeljujukonkretne vrednosti koje zadovoljavaju ogranienja. Struktura formalizma odnosi se kako na parametre, tako ina ogranienja. Klase objekata su naje povezane tako da se te veze mogu formalizovati kao preslikavanje iz jedneklase u drugu. Posebno su interesantne tri vrste takvih preslikavanja: apstrakcija, asocijacija i specifikacija.

    Apstrakcija je proces kojim se vri razdvajanje bitnih od nebitnih osobina, kako bi se ukazalo nasutinu nekog objekta. To je preslikavanje objekta jedne klase u drugu, manje sloenu klasu. Izvorna klasanaziva se konkretnom, a ciljna apstraktnom.

    Asocijacija je vrsta preslikavanja od vieg ka niem nivou u hijerarhiji specifikacije sistema. Inverznopreslikavanje nazivamo realizacijomili implementacijom.

    Specifikacija za datu klasu mogue je definisati podklase, uvoenjem novog formalizma za svakupodklasu, ije je objekte mogue koristiti unutar novih formalizama. Da bi uspostavili veze izmeu objekatarazliitih podklasa potrebno je definisati preslikavanje koje prevodi jedan poseban formalizam u drugi,generalniji. Ako takvo preslikavanje postoji, onda svi koncepti i akcije koji se mogu primeniti nad objektimadefinisanim u generalnom formalizmu, primenjivi su i nad objektima definisanim u posebnom formalizmu.

  • 8/13/2019 RACUNARSKA_SIMULACIJA_skripta[1]

    9/44

    8

    FORMALNI MODEL ULAZNO IZLAZNOG SISTEMA

    Posmatrajmo ulazno izlazni sistem kao skupovnu strukturu:

    { } ,,,,,, YSUTM =gde su:T - vremenska bazaje skup vrednosti vremena u modelu na osnovu kojih se planira redosled dogaaja1.U- skup ulazaje deo interfejsa preko kog okruenje utie na sistem2.

    - skup ulaznih segnemataopisuje oblik ulaza u sistem za neki vremenski period3.S- skup internih stanja predstavlja memoriju sistema, tj. uticaj prethodnih dogaaja na njegov sadanji i

    budui odziv. Od izbora internih stanja i njihovog karaktera zavisi struktura modela. - funkcija prelaza stanjaje preslikavanje SSx : .4

    Y- skup izlazapredstavlja deo interfejsa kojim sistem utie na okruenje. - funkcija izlaza predstavlja preslikavanje YS: koje povezuje pretpostavljeno stanje sistema sa

    uticajem sistema na njegovu okolinu. Optija funkcija izlaza je preslikavanje YSxUxT: . esto nijejednoznano preslikavanje, tako da se iz okruenja, stanje sistema ne moe direktno posmatrati.

    1Domen vremenske baze je oblast celih +I ili realnihR brojeva.

    2Domen je naje nR za neko +In , koje predstavlja broj ulaznih promenljivih. Domen moe biti [ ]mU , gde je mUskup eksternih dogaaja a je prazan skup.3

    Odreen je okruenjem sistema i definisan je preslikavanjem { } Utt 10 ,: , gde je { }10 , tt interval vremenske baze izmeupoetnog i krajnjeg trenutka. Skup svih ulaznih segmenata naziva se( )TU, , znai ( )TU, . U praksi je skup kontinualnih

    segmenata RT i nRU ili skup diskretnih segmenata mUU i RT . Segment diskretnih ulaznih dogaaja jepreslikavanje { } { },: 10 mUtt , takvo da ( ) =t iskljuuje mogunost ogranienog skupa dogaaja

    { } { }1021 ,,...,, ttn . Kada je +IT , predstavlja skup konanih sekvenci.

    4Kada se na sistem sa stanjemSu vremenu 0t dovede ulazni segment { } Utt 10 ,: , tada ( ) ,S preslikava stanje sistemasa vremenom 1t , interno stanje u poetnom trenutku i ulazni segment od tog trenutka, nadalje jedinstveno odreuju stanje sitema na

    kraju segmenta. Za svako Ss i i t u oblasti vai aksiom semi grupe: ( ) ( )[ ]ttSS = ,,, , gde su

    { }10 ,| ttt => deo izmeu 0t i 1t a { }1,| ttt =< deo izmeuti 1t . Ovo zahteva da stanje ( )>= tt SS , kojepripada bilo kom trenutku t, sumira potrebne prethodne dogaaje, tako da nastavljanje eksperimenta od tog stanja rezultuje istimkrajnjim stanjem. Pronalaenje odgovarajueg i korisnog prostora stanja je srmodeliranja.

    Na osnovu definisanog formalizma mogue je odrediti pojam ponaanja sistema. To je spoljanja manifestacija njegove

    interne strukture, pa je relacija pomou koje se moe odrediti ponaanje sistema zadata sa ( ) ( )TYxTU ,, . Ova relacija se odreujetako to svakom stanju Ss i ulaznom segmentu { } Utt 10 ,: u pridruena je jedinstvena trajektorija stanja

    { } SttSstraj

    10 ,:, , tako da je ( ) stS straj =0, i ( ) ( )>= ttraj StS s ,, , za { }10 , ttt . Takva trajektorija je rezultatanalognog reenja ili je izraunata u toku izvrenja simulacije na raunaru. Osmotriva projekcija ove trajektorije je trajektorija izlaza

    koja se definie zajedno sa Yy i kao { } YttOstraj

    10 ,:, . U sluaju da proste funkcije izlaza ( )S

    ( ) ( )tStOss

    trajtraj

    ,,

    = . Tada se ponaanje sistema definie na osnovu ulazno izlazne relacije

    ( ) SsORstrajs

    = za,|,,

    . Svaki segment ( ) sR, naziva se par ulazno izlaznog segmenta ipredstavlja rezultat posmatranja ili eksperimenta na sistemu u kome je ulaz u sistem, dok je posmatrani izlaz sistema. Za jedanulazni segment moe postojati vie izlaznih.

  • 8/13/2019 RACUNARSKA_SIMULACIJA_skripta[1]

    10/44

    9

    III OCENA PARAMETARA MODELA

    Ocena parametara modela je postupak eksperimentalnog odreivanja vrednosti parametara koji sepojavljuju u matematikom opisu modela. Polazi se od pretpostavke da je struktura modela, odnosno vezaizmeu promenljivih modela i parametara, eksplicitno data. Uglavnom se polazi od pretpostavke da svi

    parametri imaju ne nulte vrednosti. Posmatrajmo sistem definisan matematikim modelom u prostoru stanja:

    ( )tpusfs ,,,'= , ( )tpusgy ,,,= , ( ) 00 sts =Gde su:s - vektor stanja dimenzije n ,

    u - vektor ulaza dimenzije m ,

    y - vektor izlaza dimenzije k,

    p - vektor sastavljen od pn nepoznatih parametara,

    f i su odgovarajue vektorse funkcije,

    0s - poetni uslovi.

    Potrebno je za dati model i skup ulaznih i izlaznih podataka, odrediti vektor nepoznatih parametara p ,

    pri emu moraju biti poznati poetni uslovi. Pitanje je da li se parametri mogu identifikovati, tj. da li ih je

    mogue matematiki odrediti?Postoji vie razliitih pristupa problemu ocene parametara. Klasian pristup je isto statistiki i njegovaprimena zahteva ispunjenje odgovarajuih uslova. Mogue je problem odreivanja parametara posmatrati i kaooptimizaciju pogodno definisane funkcije cilja, to zahteva manje poetnih pretpostavki. Jedinstveni pristupoceni parametara modela nije mogue realizovati. Stoga se za ocenu parametara za pojedine klase modelakoriste algoritmi ija struktura zavisi od:1. formalizma modela: a)kontinualno vremenski; b)diskretno vremenski; c)linearni ili nelinearni;

    d)deterministiki, stohastiki.2. konteksta modeliranja: a)tip promenljivih stanja; b)apriorno znanje; c)svrha modela.3. filozofija procene: a)kriterijumi; b)numerika procedura; c)prilaz izraunavanju.

    OCENE PARAMETARA DETERMINISTIKOG MODELA

    Za model sa poznatom strukturom mogu se uvesti sledee definicije:1. Za skalarni parametar jp kae se da je identifikabilan na intervalu [ ]Tt ,0 , ako postoji konaan broj

    reenja za jp koja proizilaze iz relacije datog modela. Skalarni parametar je neidentifikabilan ako postoji

    beskonaan broj reenja za jp , koja proizilaze iz relacija modela.

    2. Opis modela je sistemski identifikabilan, ako su svi parametri idetifikabilni. U suprotnom, ako je baremjedan parametar neidentifikabilan, opis modela je sistemski neidentifikabilan.

    3. Skalarni parametarj

    p je jedinstveno idenifikabilan na intervalu [ ]Tt ,0

    , ako postoji jedinstveno reenje za

    jp koje proizilazi iz relacija modela sa datim ulazom.

    4. Specifikacija modela je parametarski identifikabilna na intervalu [ ]Tt ,0 ako su svi parametri jedinstvenoidentifikabilni.

    Ove definicije su primenljive i na diskretne vremenske modele i dovoljne su da opiu sve usloveidentifikabilnosti ali ne pokazuju kako se identifikabilnost moe proveriti. Identifikabilnost sistema i

    parametara zavisi od dva faktora: 1.Specifinosti primenjenog ulaza i poetnih uslova; 2.Strukture jednaina iogranienja.

  • 8/13/2019 RACUNARSKA_SIMULACIJA_skripta[1]

    11/44

    10

    OCENE PARAMETARA MODELA STOHASTIKIH SISTEMA

    Kod ovakvih sistema problem se uslonjava zahtevom za ukljuivanje parametara pojedinih realizacijaprocesa. Identifikabilnost kod stohastikih sistema zavisi od tri faktora: 1.strukture (stavlja parametre jedne sadrugima kao i sa ulazima i izlazima); 2.ulaza; 3.procedure procene (moraju da konvergiraju ka stvarnimvrednostima parametara konzistentnost).

    STATISTIKI PRISTUP PROCENI PARAMETARA STATISTIKIH MODELA

    Statistike ocene parametara mogu se realizovati u prostoj sekvencijalnoj formi ili rekurzivnoj formi (zaprikupljanje podataka u realnom vremenu).

    Ocena srednje vrednosti sluajne promenljiveSekvencijalni metod pod uslovom da su svi rezultati dostupni u vreme izraunavanja, sva merenja se

    sabiraju i rezultat se deli sa brojem uzoraka: ==

    N

    iin y

    Ny

    1

    1.

    Rekurzivni metod karakteristike su da se baza podataka proiruje tokom raunanja i da sumeurezultati dostupni i tee sekvencijalnom reenju kako izraunavanje odmie. Rauna se po proceduri:

    00=a ; ( )kkkk yak

    aa = 11 1

    , gde je ky tekui uzorak ( )Nk ,...,2,1= .

    OCENA NEPOZNATOG PARAMETRA PO METODI NAJMANJIH KVADRATA

    Za model kod koga je veza izmeu parametara modela i rezultata eksperimenta data relacijom:

    iii eaxy += za Ni ,...,2,1= , pretpostavljajui da su ix poznate vrednosti a ie greke merenja, potrebno jeproceniti nepoznati parametara .

    Sekvencijalno reenje cilj je da se minimizira odstupanje izmeu podataka koje generie realni sistemi podataka koji se dobijaju na osnovu modela, odnosno da se minimizira kvadrat greke:

    [ ] === =

    N

    i

    N

    iiii eaxyJ

    1 1

    22 . U ovom sluaju imamo jedan nepoznat parametar, pa 0=da

    dJ dobija se

    [ ] ( ) 021

    = =

    i

    N

    iii xaxy odakle sledi =

    ==

    N

    iii

    N

    ii yxax

    11

    2 iz ega se dobija parametara .

    Rekurzivno reenje uvodimo oznake: kkk bpa = ;1

    1

    2

    =

    =

    k

    iik xp i =

    =

    k

    iiik yxb

    1

    . U rekurzivnoj

    formuli: 211 kkkkk xpppp = i kkkk ybbb += 1 , definisanjem [ ]12

    11 1

    += kkkkk xpxpk , tada se ocena

    parametra a moe izraziti kao: ( )kkkkk yakaa = 11 .

  • 8/13/2019 RACUNARSKA_SIMULACIJA_skripta[1]

    12/44

    11

    IV VALIDACIJA I VERIFIKACIJA

    Validacija i verifikacija su postupci kojim ispitujemo koliko verno i precizno jedan model predstavljarealni sistem. One se konceptualno razlikuju ali se naje simultano sprovode, odnosno kae se da su udinamikoj povratnoj sprezi. Verifikacija se odnosi na proveru da li je simulacioni program (raunarski kod)

    bez greaka i konzistentan sa modelom (koncepcijom).Validacijase odnosi na proveru da li je model preciznareprezentacija realnog sistema. To je iteraktivna procedura kojom se poredi ponaanje modela i realnog sistemasve dok se ne dobije tanost modela koja zadovoljava.

    VALIDACIJA SIMULACIONIH MODELA

    Validacija je postupak kojim se odreuje da li je model precizna reprezentacija realnog sistema.Ponaanje modela se poredi sa ponaanjem realnog sistema i uoene razlike se koriste za ispravku modela. Pri stvaranju modela unose se mnoge aproksimacije realnog sistema (zadravaju se samo osobineoriginala koje su bitne). Naje primenjivane aproksimacije su:1. Funkcionalna aproksimacija nelinearne funkcije se aproksimiraju linearnim funkcijama koja mora biti

    priblina originalnoj u oblasti gde e sistem verovatno funkcionisati. Ako program mora funkcionisati uoblasti gde je poklapanje funkcija slabo, potrebno je da program tampa poruku upozorenja.

    2. Aproksimacija raspodele realne verovatnoe raspodela se aproksimiraju jednostavnijim raspodelama(normalna, eksponencijalna). Najekstremniji primer je kada se sluajna promenljiva zameni konstantom.

    3. Aproksimacija nezavisnosti model se pojednostavljuje tako to se pretpostavlja da su razliitekomponente (opisane sluajnim promenljivama) statistiki nezavisne.

    4. Aproksimacija agregacije kada vie elemenata posmatramo kao jednu clinu. Primeri agregacije su:a. Vremenska agregacija interval vremena kao to je dan tretira se kao jedan pojedinani period (svi

    dogaaji koji su se desili tokom dana, pretpostavlja se da su se desili istovremeno). Karakteristina je zasve diskretno vremenske modele.

    b. Me u sektor ska agregacija vie odeljenja, firmi, proizvodnih linija se posmatra kao jedna celina.c. Agregacija pomonih sredstava kada vipomonih sredstava posmatramo kao jedno.

    5. Aproksimacija stacionarnosti injenica da se parametri i druge karakteristike sistema ne menjaju uvremenu pojednostavljuje stvar. Za neke fizike procese (astronomske pojave) moe biti poetnaaproksimacija, ali za politike, ekonomske, organizacione i socijalne sisteme ona je neodriva jer su te

    pojave nestacionarne prirode.

    Cilj procesa validacija

    Da proizvede model koji predstavlja ponaanje realnog sistema i koji je dovoljno blizak realnom sistemutako da se moe koristiti za eksperimente.

    Da se pouzdanost modela povea na prihvatljiv nivo tako da se model moe koristiti za donoenje odluka.Proces validacije se mora posmatrati kao integralni i nezamenljivi deo razvoja modela. Iteraktivno

    poreenje modela i realnog sistema se vri pomou razliitih testova koji mogu biti subjektivni (ue onih

    koji dobro poznaju sistem) i objektivni (koriste podatke o ponaanju sistema koji se obrauju).

    Praktini pristup procesu validacijese sastoji iz tri faze:1. Izgraditi model koji verno predstavlja realni sistem.

    U izgradnji modela potrebno je da uestvuju i korisnici i ljudi koji poseduju znanja o realnom sistemu. Zaproveru validnosti moe se koristitianaliza osetljivosti(testiranje na razliite ulazne veliine).

    2. Potrvrditi pretpostavke modela.Dve kategorije: pretpostavke o strukturi (funkcionisanje sistema esto obuhvata pojednostavljenja iapstrakcije) i pretpostavke o podacima (pouzdanost podataka i ispravna statistika analiza: 1.identifikacijaraspodela podataka; 2.procena parametara raspodele; 3.validacija statistikog modela nekim testom: 2,Kolmogorov Smirof test).

    3. Poreenje (validacija) ulazno izlaznih transformacija modela i realnog sistema.Najobjektivniji test modela je provera sposobnosti modela da predvidi budue ponaanje realnog sistema.

  • 8/13/2019 RACUNARSKA_SIMULACIJA_skripta[1]

    13/44

    12

    Formalni kriterijum za utvrivanje validnosti modela Realni sistem treba posmatrati kao sistem na viem nivou a model kao sistem na niem nivou.

    Homomorfizam(gr. homo slian, morph struktura) je formalni kriterijum za utvrivanje valindnostimodela za date eksperimentalne uslove. Radi jednostavnosti izlaganja ograniemo se na dokazivanjevalidnosti diskretnih vremenskih modela. Sutina formalnog postupka za proveru validnosti je u tome da se nae preslikavanje Hpomou kog jemogue iz svakog stanja osnovnog modela sprei u odgovarajue stanje uproenog modela. Ako ovakvo

    preslikavanje postoji, tada se zakljuuje da su ulazno izlazna ponaanja osnovnog i uproenog modela ista zadate eksperimentalne uslove. Da bi se utvrdio homomorfizam, moraju biti ispunjeni sledei uslovi:1. uvanje funkcije nastupanja vremena

    Stanja s imoraju imati istu funkciju nastupanja vremena, odnosno da se menjaju u istim vremenskimtrenucima.

    2. uvanje funkcije prelaza stanjaAko stanju sodgovara stanjeprimenom preslikavanja H, onda i sledea stanja ukoja e model prei u narednom trenutku posmatranja moraju odgovarati jednodrugom. Sledee stanje osnovnog modela e biti(s)a uproenog modela(s), toznai da primenom preslikavanja H na stanje (s) treba da se dobije stanje (s).Grafiki se moe predstaviti preko komutativnog dijagrama.

    3. uvanje izlazne funkcijePrimena izlazne funkcije osnovnog modela(za one eksperimentalne uslove za koje

    je izvreno uproevanje da bi se dobio uproeni model za stanje s) daje isti izlaz Ykao i primena izlazne funkcije uproenog modelana stanje s. Uoava se da sevalidnost uproenog modela utvruje i u odnosu na zadate eksperimentalne uslove.Ako je preslikavanje Htip 1:1, u pitanju je izomorfizam.

    Ako su zadovoljeni svi prethodno definisani uslovi onda je uproeni model validan u odnosu naosnovni model za date eksperimentalne uslove.

    VERIFIKACIJA SIMULACIONIH MODELA

    Proces verifikacije je ispitivanje da li je i u kojoj meri, konceptualni model na odgovarajui nainpredstavljen raunarskim kodom. U postupku verifikacije nema standardnog recepta. Zato je potrebno izvritivie razliitih provera: Runa verifikacija logike ispravnosti: model se izvesno vreme proputa na raunaru runo, a potom se

    porede dobijeni rezultati.

    Modularno testiranje: pojedinano testiranje svakog modula kako bi se ustanovilo da li daje razumne izlazeza sve mogue ulaze. Provera u odnosu na poznata reenja: podesimo model tako da predstavlja sistem ija su reenja poznata iuporeujemo ih sa rezultatima modela.

    Testiranje osetljivosti: variramo jedan parametar, dok ostali ostaju nepromenjeni i proveravamo da li jeponaanje modela osetljivo na promenu tog parametra. Testiranje na poremeaje: postavimo parametre modela na neprirodne vrednosti i proveravamo da li semodel ponaa na neshvatljiv nain. Na taj nain se mogu otkriti greke u programu koje se vrlo teko moguuoiti na drugi nain.

    H

    (s)

    H

    s

    s (s)

    H

    s

    s

    Y

  • 8/13/2019 RACUNARSKA_SIMULACIJA_skripta[1]

    14/44

    13

    V SIMULACIJA DISKRETNIH DOGAAJA

    Simulacija diskretnih dogaaja je metoda simulacionog modeliranja sistema kod kojih se diskretnepromene stanja u sistemu ili njegovom okruenju dogaaju diskontinualno u vremenu. Koristi se uglavnom zaanalizu dinamikih sistema sa stohastikim karakteristikama. Dogaaj je diskretna promena stanja entiteta sistema i nastupa u odreenom trenutku vremena. Sistemisa diskretnim dogaajima su: banke, auto servisi, pote, samoposluge jer se stohastiki karakter ogleda usluajnoj prirodi veliina (dogaaja) za opis ovakvog sistema.

    Prema anonu, opis diskretnih dogaaja je sledei:Entiteti, koji se opisuju atributima i uzajamno deluju u aktivnostima, pod odreenim uslovima

    stvaraju dogaaje koji menjaju stanje sistema.

    FORMALNI OPSI SISTEMA SA DISKRETNIM DOGAAJIMA

    Formalni opis sistema diskretnih dogaaja moe se predstaviti ureenom estorkom Md:Md= {U,S,Y,}, gde su:

    U skup eksternih dogaaja,S skup sekvencijalnih stanja diskretnih dogaaja,Y skup izlaza, kvazi prenosna funkcija koja se zadaje sa funkcijamakoja preslikava SS; pokazuje u koje e stanje prei sistem iz stanja s, ukoliko ne nastupi ni jedaneksterni dogaaj.exkoja preslikava UxSxTS; pokazuje u koje e stanje prei sistem iz stanja s. kada nastupi eksternidogaaj uu vremenskom trenutku t,

    izlazna funkcija koja preslikava SY funkcija nastupanja vremena koja preslikava SR+0,; pokazuje koliko e dugo sistem ostati u stanju s, pre

    nego to nastupi naredna promena stanja, pod pretpostavkom da nee nastupiti ni jedan eksterni dogaaj.

    DOGAAJ, AKTIVNOST I PROCES

    Kod modela sa diskretnim dogaajima, pored koncepata koji opisuju strukturu kao to su objekti,relacije izmeu njih i njihovi atributi, uvedeni su i koncepti za opis dinamike: dogaaj, aktivnost i proces.

    Dogaaj predstavlja diskretnu promenu stanja entiteta u sistemu ili njegovom okruenju. Izmeu dvauzastopna dogaaja stanje sistema se ne menja. Dogaaj moe nastupiti zbog ulaska/izlaska privremenogentiteta u/iz sistema (dolazak/odlazak klijenta) eksterni; ili zbog promene atributa pojedinih objekata sistema(opsluilac u sistemu postaje slobodan ili zauzet) - interni. Uslovni dogaajimogu nastupiti kada je ispunjenuslov njihovog nastupanja. Obino su povezani sa zauzimanjem nekog resursa. Bezuslovni dogaajisu oni iji

    je jedini uslov da tekue vreme simulacije bude jednako vremenu njegovog nastupanja. Obino su povezani sa

    oslobaanjem nekog resursa odnosno planiranim zavretkom neke aktivnosti.Aktivnost je skup dogaaja koji menjaju stanje jednog ili vie entiteta. Trajanje aktivnosti moe bitiunapred definisano (deterministiko) ili da zavisi od ispunjenja uslova pa je vreme zavretka takve aktivnostinepoznato (stohastiko).

    Proces je niz uzastopnih, logiki povezanih dogaaja kroz koje prolazi neki privremeni objekat. To jehronoloki ureena sekvenca dogaaja koja opisuje jednu pojavu od nastajanja do terminiranja. On moe daobuhvati deo ili celokupan ivot privremenog entiteta.

  • 8/13/2019 RACUNARSKA_SIMULACIJA_skripta[1]

    15/44

    14

    RAZVOJ SIMULACIJE DISKRETNIH DOGAAJA

    Kljuni elementi razvoja simulacije diskretnih dogaaja su: 1.mehanizam pomaka vremena, 2.pristupgenerisanju dogaaja i 3.osnovne strategije simulacije.

    Mehanizam pomaka vremena U simulaciji diskretnih dogaaja koriste se dva osnovna mehanizma pomaka vremena: 1.pomakvremena za konstantani prirataj i 2.pomak vremena na naredni dogaaj.

    Pomak vremena za konstantni prirataj vreme u simulacionom modelu se menja tako da se uvekdodaje konstantan prirataj t. Nakon svakog pomaka vremena, odnosno auriranja vrednosti simulacionogsata, ispituje se da li je u prethodnom intervalu vremena trebalo da doe do nastupanja nekih dogaaja. Ukoliko

    jeste, tada se ti dogaaji planiraju za kraj intervala. Nedostatak: pomeranjem dogaaja na kraj vremenskogintervala uvodi se greka u simulaciji. Dogaaji koji nisu istovremeni u ovom se pristupu prikazuju kaoistovremeni, a potom se odreuje redosled njihovog izvoenja (koji se moe razlikovati od stvarnog redosleda).Smanjenjem vremenskog prirasta te se greke smanjuju, ali se poveava vreme koje se troi na izvoenjesimulacije kao i porast broja vremenskih intervala u kojima nema dogaaja.

    Pomak vremena na naredni dogaaj simulacioni sat se pomera na vreme u kom e nastupiti prvinaredni dogaaj (ili vie njih). Simulacija se zavrava kada nema vie dogaaja ili kada je zadovoljen nekiunapred definisan uslov zavretka simulacije. Na ovaj nain se izbegava greka u vremenu izvoenja dogaaja

    a ujedno se preskau intervali u kojima nema dogaaja. Ovaj princip je sloeniji ali i efikasniji pa svi kljunisimulacioni jezici koriste ovaj mehanizam.

    Generisanje dogaaja Dogaaj se opisuje sa vie atributa, koji formiraju slog dogaaja. S obzirom na promenljiv brojdogaaja u vremenu, slogovi dogaaja se memoriu u listama dogaaja.

    Postoje dva pristupa generisanja dogaaja:1. Definisanje dogaaja unapred svi dogaaji su unapred

    poznati i definisani, a lista dogaaja sadri slogove svih dogaaja.2. Definisanje narednog dogaaja poznat je jedino prvi naredni dogaaj, a lista dogaajasadri samo jedan slog, slog poznatog dogaaja. Pri izvravanju dogaaja, planira se i ubacujeu listu njegov naslednik. Dogaaje moemo svrstati u dve kategorije u odnosu na mesto nastajanja(generisanja): 1.Eksternidogaaji su oni dogaaji koji ne zavise od modela i predstvljajuuticaj okoline na sistem (dolazak kupaca u samoposlugu, vozaa u auto servis); 2.Interni

    dogaaji zavise od modela i u njemu se generiu (dolazak kupaca u red na kasu).

    Strategija izvoenja simulacije Te strategije su: 1.rasporeivanje dogaaja; 2.skaniranje aktivnosti i 3.interakcija procesa.

    Rasporeivanje dogaaja podrazumeva da se dogaaji planiraju unapred i dre u listi buduihdogaaja, naje sortirani po vremenu nastupanja i prioritetu. Procedura planiranja dogaaja: generie seslog dogaaja; dodele se vednosti njegovih atributa (vreme nastajanja, prioritet); dogaaj se stavlja u listu

    buduih dogaaja koja je ureena po vremenu nastupanja dogaaja i prioritetu.Funkcionisanje simulatora: saliste buduih dogaaja uzima se prvi; aurira se simulacioni sat na vreme njegovog nastupanja; na osnovu tipaizabranog dogaaja poziva se odgovarajua procedura koja izvrava sva auriranja u modelu i simulatoru; kadase izvre svi dogaaji koji imaju isto vreme nastupanja, simulacioni sat se aurura na vreme sledeeg dogaajaiz liste buduih dogaaja.

    Skaniranje aktivnostipodrazumeva da se dogaaji implicitno rasporeuju tako da se promena stanjaizvrava preko funkcija koje se nazivaju aktivnosti. Svaka aktivnost ima uslov i akciju. Za svaki vremenskikorakt, aktivnosti se skaniraju i trai se prva aktivnost koja ima zadovoljenuslov. Tada se izvrava odgovarajui programski segment koji specificira akcijuza zadatu aktivnost. Proces skaniranja traje sve dok sve aktivnosti ne budu

    blokirane. Tada i samo tada se simulacioni sat aurira na sledei vremenski korak.Skaniranje aktivnosti je bolje od rasporeivanja dogaaja kada je broj aktivnosti umodelu mali, a broj dogaaja u okviru aktivnosti veliki, jer se tedi na raunarskimoperacijama koje se odnose na listu i njegovo skidanje sa liste dogaaja.

    Slog dogaajaKod

    dogaajaVreme

    dogaajaPar1

    Par2

    ...Park

    Lista dogaajaSlog dogaaja 1

    Slog dogaaja 2Slog dogaaja 3

    ...

    Slog dogaaja n

    USLOVI AKCIJE

    A1 Uslovi 1 Akcije 1

    A2 Uslovi 2 Akcije 2

    A3 Uslovi 3 Akcije 3

    AKTIV

    NOSTI

    Tabela aktivnosti

  • 8/13/2019 RACUNARSKA_SIMULACIJA_skripta[1]

    16/44

    15

    Interakcija procesa predstavlja tehniku simulacije koja je nastala kombinacijom rasporeivanjadogaaja i skaniranja aktivnosti. Procesmoemo posmatrati kao skup iskljuivih aktivnosti, povezanih tako daterminiranje jedne aktivnosti dozvoljava inicijalizaciju neke druge aktivnosti iz skupa aktivnosti procesa.Glavni problem je sinhronizacija procesa jer je model sistema skup paralelnih procesa od kojih neki mogu bitiuzajamno iskljuivi. Da do ovoga ne bi dolo uvode se dve naredbe WAIT i DELAY i to i u uslovnom i u

    bezuslovnom kontekstu. WAIT naredba u uslovnom kontekstu ima oblik: WAIT UNTIL ako je uslov zadovoljen,

    proces koji eka na taj uslov nastavlja svoj tok, a u suprotnom bie blokiran. Tada se ispituje koji od ostalih

    procesa moe da se aktivira i on se izvrava. DELAY naredbom se odlae nastavak procesa za odreeni broj vremenskih jedinica. U tom sluaju,ispituje se koji od ostalih procesa moe da ostvari svoj tok. U bezuslovnom kontekstu naredba DELAYoznaava se i sa ADVANCE .

    U okviru procesoraodravaju se dve liste dogaja:1. Lista tekuih dogaaja (LTD) koja sadri uslovne dogaaje i sortirana je po prioritetu.2. Lista buduih dogaaja(LBD) koja sadri rasporeene dogaaje koji tek treba da nastupe i sortirana je po

    vremenu nastupanja.Pri svakom premetanju dogaaja iz LBD u LTD planira se njegov naslednik koji se stavlja u LBD gde

    eka svoje vreme nastupanja. Pre poetka simulacije, za svaki proces generie se prvi dogaaj i stavlja se u

    LBD a zatim se vreme simulacije aurira na vreme dogaaja sa vrha LBD. Rad procesora odvija se u dve faze:1. Faza aur ir anja vremena simulacij e, simulacioni sat se postavlja na vrednost vremena nastupanja prvog

    dogaaja iz LBD, a zatim se prebace svi dogaaji sa tim vremenom nastupanja u LTD. Pri tome se za svakipremeten dogaaj planira naslednik i stvalja se u LBD.

    2. Faza skaniranja li ste tekuih dogaaja, skanira se LTD i ukoliko ima neblokiranih dogaaja oni seizvravaju. Kada nema dogaaja u LTD ili su svi blokirani (WAIT naredbom), tada se prenosi prvi dogaajiz LBD i aurira se simulacioni sat na njegovo vreme.

    Simulacija se odvija sve dok se ne zadovolji kriterijum za zavretak simulacije, kada se vri zavrnaobrada rezultata simulacije i procesor zavrava rad.

  • 8/13/2019 RACUNARSKA_SIMULACIJA_skripta[1]

    17/44

    16

    VI GPSS JEZIK

    GPSS (General Purpose Simulation System) predstavlja interpreterski jezik za simulaciju diskretnih stohastikih sistema. Struktura modela se definie a simulacija izvrava pomou naredbi ugraenog jezika.

    Nakon simulacije na raspolaganju su statistiki pokazatelji o ponaanju modela u toku simulacije. GPSS je jezikorijentisan na procese, model se predstavlja dijagramom toka koji se konstruie uz pomo blokova. Svakom

    bloku odgovara jedna linija. Blokovisu statiki objekti.Entitete(objekte modela) moemo podeliti u etiri klase:

    1. Dinamiki entitetiTransakcijesu dinamiki objekti GPSS jezika koje se kreu kroz blokove. One imaju niz karakteristika

    koje nazivamo parametrima. One su aktivni objekti i moe postojati vie transtakcija u svakom trenutku narazliitim mestima u blok dijagramu. Predstavljaju saobraajne jedinice u modelu (klijenti na opsluivanju,telefonski pozivi, vozila na servisu). Transakcije mogu da rezerviu odreene resurse u modelu.

    2. Statiki entitetiTo su elementi opreme, pasivni su i predstavljaju resurse na koje se deluje transakcijama. Tu spadaju:

    ur eaji(mogu da uslue samo jednu transakciju u nekom vremenskom trenutku),skladita(mogu da usluevie transakcija istovremeno u zavisnosti od kapaciteta) i logiki prekidai(stanje prekidaa se postavlja

    prolaskom transakcije kroz njega; mogu biti u tri stanja ukljueno, iskljueno i invertovano; slue zatestitanje stanja opreme i zavisno od toga transakcija se preusmerava).

    3. Statistiki entitetiU ovu grupu spadaju redovii tabele. Ako je ureaj zauzet ili skladite puno tada transakcija formira red.

    Na osnovu statistike GPSS automatski formira tabele sa vrednostima. Korisnik moe i sam da formiratabele sa statistikim vrednostima koje su mu potrebne. Ona sadri frekvencijske klase sa numerikimvrednostima nekog atributa.

    4. Entiteti operacijaOni se nazivaju blokovimai pruaju logiku sistema, dajui instrukcije transakcijama gde treba da idu ita dalje da rade. Blok dijagram predstavlja operacije koje se vre unutar datog sistema. Blok pokazuje tipoperacije koju obavlja a linije izmeu blokova ukazuju na tok saobraaja. Unutar blok dijagrama mogu danastanu etiri osnovna tipa dogaaja:1. stvaranje ili unitavanje transakcija;2. promena numerikih atributa entiteta;3. kanjenje transakcije za odreeno vreme;4. promena toka transakcije kroz blok dijagram.

    Osnovni koncept GPSS jezika Transakcije generie blok GENERATE. Ona se kree kroz model sve dok ne naie na blok koji nemauslova da je primi ili ne naie na blok TERMINATE koji uklanja transakciju iz modela. Takoe, postoje

    blokovi koji zadravaju transakciju za odreeni period simulacionog vremena. Ako neki blok nema uslova daprimi transakciju, onda ona eka da se ispuni uslov daljeg kretanja kroz model. Prolaz transakcija krozodreene blokove izaziva promene koje utiu na stanje modela i njegovo okruenje.

    Transakcije u GPSS-u se uvaju u listi tekuih dogaaja (LTD) i listi buduih dogaaja (LBD).Transakcije iz LTD nastoje da se kreu kroz blok dijagram. Transakcije iz LBD nisu spremne za kretanje, vekasnije, kada se aurira simulacioni sat (ispunjeni uslovi kretanja), ove transakcije se prebacuju u LTD, kako binastavile kretanje kroz model. U svakoj taki simulacionih vremena (simulacioni sat zadat numerikim atributom C1 uzima samocelobrojne vrednosti), GPSS skanira sve transakcije u LTD i svaka koja ima uslov daljeg kretanja to i ini.Kretanje transakcija se prekida zbog jednog od tri razloga:

    1. transakcija je unitena,2. blok odbija da primi transakciju,3. transakcija je ula u blok koji je zadrava izvestan period simulacionog vremena.

    Ukoliko je pitanju trei razlog, transakcija se prebacuje iz LTD u LBD. Ukoliko je kretanje transakcije

    izazvalo promenu stanja modela, GPSS ponovo obavlja skaniranje, ali od poetka LTD; u suprotnom narednatransakcija iz LTD se skanira.Kada nastupi trenutak da nijedna transakcija iz LTD ne moe da se kree, GPSS ispituje LBD. LBD je

    ureena tako da se na njenom poetku nalaze transakcije koje uslov za kretanje kroz model stiu ranije, dok su

  • 8/13/2019 RACUNARSKA_SIMULACIJA_skripta[1]

    18/44

    17

    na kraju one transakcije koje moraju due da ekaju. Kada nijedna transakcija iz LTD ne moe da nastavikretanje, GPSS aurira simulacioni sat na vreme prve transakcije iz LBD. Sve transakcije iz te liste, koje susada stekle uslov za kretanje, kopiraju se iz LBD u LTD i skaniranje LTD se ponavlja.

    Svaka transakcija ima svoj prioritet, koji se moe menjati sa protokom simulacionog vremena itrenutnim poloajem transakcije u blok dijagramu. LTD je sortirana po opadajuem redosledu prioriteta, takoda se transakcije sa veim prioritetom kreu pre onih iji je prioritet manji u svakom trenutku simulacionogvremena.

    Vrste naredni u GPSS-u1. Deklaracione naredbe entiteta definiu atribute pojedinih permanentnih entiteta u programu. Tu

    spadaju naredbe za deklaraciju ureaja, skladita, tabela (histograma), funkcija i dr. Mogu se pisati bilogde ali je uobiajeno da se piu na poetku programa. U polju LOKACIJE specificira se posebnodefinisano skladite, tabela i sl. a u polju VARIJABLE mogu da budu upisani razliiti argumenti.

    2. Blok naredbe slue za specifikaciju modela sistema. One se izvravaju kada transakcija prilikomkretanja kroz model naie na blok. Model se sastoji od niza blok naredbi povezanih u obliku blokdijagrama. Svaka blok naredba moe da ima identifikacioni broj, koji se pie u polju lokacije. Akokorisnik eli da se pozove na neki blok on moe da u polje LOKACIJE unese odreeni mnemonikisimbol. U polju OPERACIJE pie se tip blok naredbe, a u polju VARIJABLE piu se argumenti.

    3. Kontr olne naredbeslue za kontrolu izvrenja simulacije, a mogu imati uticaj na statistiku o ponaanju

    entiteta u toku simulacije. Simulator zahteva neke informacije upravljanja kao to su duina simulacije,kada je kraj naredbi programa i dr. U polju OPERACIJA pie se tip naredbe, u polje VARIJABLEunose se argumenti specificirane naredbe a polje LOKACIJE se ne koristi. To su naredbe SIMULATE,START, RESET, CLEAR, END.Trajanje simulacije moe biti ogranieno brojem transakcija koje su prole kroz model, to se kontrolie

    pogodnom upotrebom naredbi START i TERMINATE ili vremenski (fiksno), to je odreeno tzv. tajmeromkoji ini par naredbi GENERATE i TERMINATE.

    TRANSAKCIJE I BLOKOVI ZA RAD SA TRANSAKCIJAMA

    Transakcije su dinamiki entiteti koje se kroz model kreu. Transakcije su aktivni objekti (pr: klijenti,pozivi, avioni, vozila). Transakcije mogu da se: stvaraju, umnoavaju (copy), spajaju (ujedinjuju), unitavaju(udaljuju iz modela). Transakcija nosi odreeni broj parametara koji definiu njena svojstva. Obino ih je 12.Transakcija moe imati nivo prioriteta, koji se kree od 0 do 127. Prvo se opsluuju transakcije sa viimnivoom prioriteta. Naredbe kojima se vri obrada transakcija mogu biti:

    -naredbe za kanjenje transakcije za neko vreme,-naredbe za stvaranje ili unitavanje transakcije,-naredbe za promenu vrednosti parametara transakcije,-naredbe za stvaranje kopija transakcije,

    -blokovi za sinhronizaciju kretanja transakcija.

    NAREDBE GPSS JEZIKA

    !!!NAPOMENA: U opisu naredbi GPSS jezika operadni navedeni u uglastim zagradama, [], mogu se izostaviti,a oni koji nisu oznaeni uglastim zagradama moraju da se specificiraju!!!

  • 8/13/2019 RACUNARSKA_SIMULACIJA_skripta[1]

    19/44

    18

    A,B,C,D,E,F,G

    GENERATE

    1.Naredba za vremensko zadravanje transakcija

    BlokADVANCE A[,B] Predstavlja blok za kanjenje transakcije za neki vremenski period. To je blokopsluivanja. Kretanje transakcije kroz model se prekida za specificiran broj vremenskih jedinicai to je vreme ekanja na mestu opsluivanja.

    Kada transakcija naie na blok ADVANCE, ona se prebacuje iz LTD u LBD. Tek nakonto se simulacioni sat aurira za specificirani broj vremenskih jedinica (specificiran u naredbi ADVANCE),

    transakcija se vraa u LTD i nastavlja se njeno napredovanje kroz model.A srednje vreme zadravanja transakcijeB modifikator srednje vrednosti zadravanja transakcije Kada se Bizostavi, tada je zadravanje tranakcije za vreme A=const. ModifikatorBmoe da bude:

    -u obliku poluintervala. Vreme zadravanja je po uniformnoj raspodeli u nekom poluopsegu.PR: ADVANCE 10,5 znai da je zadravanje uniformno na intervalu od 5 do 15 vremenskih jedinica.Brojevi se biraju sluajno sa jednakim verovatnoama i dodeljuju srednjem vremenu zadravanja.

    -u obliku funkcije. Vremensko zadravanje ima sloenu raspodelu verovatnoa i rauna se srednja vrednostu A pomnoena sa vrednou funkcije u B. Vrednost funkcije u polju B se bira na osnovu definisanefunkcije i na osnovu generatora sluajnih brojeva.PR: ADVANCE 100,FN5 zadravanje je jednako 100FN5, gde je FN5 funkcija iji je redni broj 5.

    Ukoliko je vrednost modifikatora B vea od srednje vrednosti zadravanja transakcije A, GPSS procesorprijavljuje greku u toku izvrenja simulacije

    2.Naredbe za stvaranje/unitavanje transakcija

    BlokGENERATE A[,B][,C][,D][,E][,F][,G]Ovaj blok generie transakcije. Svaki model mora da ima bar jedan blok

    GENERATE, a ukoliko je potrebno i vie, pri emu svaki radi nezavisno u odnosu nadruge. To je jedini blok u koji transakcije ne ulaze vesamo iz njega izlaze. Ne moe sestvoriti transakcija dok prethodna ne izae iz bloka GENERATE. Zato se iza ovog bloka nesme staviti blok koji odbija transakcije veonaj koji moe da ih primi ali ih ne zadrava

    (npr. ADVANCE 0). Stvaranje transakcija se obavlja u regularnim intervalima ili u stohatikim intervalima(po nekoj raspodeli).A srednje vreme izmeu generisanja transakcija.B modifikaror vrednosti iz polja A. On moe biti:

    u obliku poluintervala. Tada je vreme izmeu dolazaka ravnomerno rasporeeno u nekom opsegu. u obliku funkcije. Tada vreme izmeu dolazaka ima sloenu raspodelu verovatnoa i rauna se kaoproizvod vrednosti iz polja Ai vrednosti definisane funkcije date u polju B.

    C Offset interval. Vreme generisanja prve transakcije dok se sve ostale generiu prema vrednostima iz Ai B.D Ukupan broj transakcija koje stvara blok GENERATE. Ako se izostavi vrednost u ovom polju, transakcije

    se stvaraju do kraja simulacije.EZadavanje nivoa prioriteta transakcije (od 0 do 127) .F Definisanje broja parametara koje ima transakcija. Ukoliko se vrednosti u ovom polju izostavi, transakcijae imati 12 parametara.

    G Definisanje koliine memorijskog prostora koji slui za memorisanje vrednosti parametara transakcije. Uovom polju moe se napisati:H za definisanje 16 bita memorijskog prostora (215 1 = 32367)F za definisanje 32 bita memorijskog prostora (232 1 = 2147468)

    BlokPRIORITY AU bloku GENERATE polje E daje nivo prioriteta transakcije. Za promenu vrednosti prioriteta

    transakcije koristi se blok PRIORITY.A nivo prioriteta (od 0 do 127). 8 bitova se koristi za pamenje prioriteta.

    ADVANCE

    A, B

    PRIORITY

    A

  • 8/13/2019 RACUNARSKA_SIMULACIJA_skripta[1]

    20/44

    19

    BlokTERMINATE [A] Kada transakcija izvri predvieni tok kroz model, ona postaje pasivna (neaktivna) izauzima neki memorijski prostor koji slui za opis njenih atributa. Zbog toga je treba ukloniti izmodela (unititi). Blok TERMINATE uklanja transakciju iz modela. On se koristi za

    predstavljanje zavretka puta transakcije u modelu. Broj blokova TERMINATE je proizvoljan.A vrednost za koju se umanjuje terminacioni broja(TB) kada transakcija doe na ovaj blok. Ako se vrednost

    u ovom polju izostavi, transakcija se udaljuje iz modela a TB se ne modifikuje. Barem jedan blokTERMINATE mora imati definisano polje A(A 1), da bi se simulacija zavrila.

    Terminacioni broja(TB) je jedinstvena lokacija na nivou GPSS programa, koja se umanjuje kad godneka transakcija doe na neki od blokova tipa TERMINATE koji u polju Aimaju neku vrednost. Kada vrednostTB-a padne na nulu, simulacija se automatski zavrava. Poetna vrednost TB-a se definie pomou kontrolnenaredbe START.

    3.Naredbe za promenu vrednosti parametara transakcije

    U momentu generisanja transakcije, svaki parametar ima vrednost 0. Kasnije im se dodeljuju vrednostipomou bloka ASSIGN.

    BlokASSIGN A[],B[,C]

    Ovim blokom se dodeljuje ili modifikuje vrednost parametra transakcije.A broj parametra transakcije ija se vrednost menja.B definie se celobrojna vrednost koja se koristi za promenu vrednosti parametra broj A.C definie se broj funkcije koja se koristi kao modifikator celobrojne vrednosti iz polja B.

    Vrednost funkcije se mnoi sa vrednou iz polja Bi rezultat se unosi u parametarA.Simboli koji slede iza polja A odnose se na vrstu dodele i to:

    A+- tekuoj vrednosti parametra broj A dodajvrednost iz polja B;A - tekuoj vrednosti parametra broj A oduzmivrednost iz polja B;A - parametru broj A dodelivrednost iz polja B.

    BlokINDEX A,B

    Ovaj blok se koristi samo za rad sa parametrom p1. U polju Ase definie broj parametra kome se dodajevrednost iz polja Bi rezultat dodeljuje parametru p1. PR: INDEX 5,30 p5+30p1. Blok INDEX se moerealizovati sa dva bloka ASSIGN:

    ASSIGN 1,30 ili ASSIGN 1,P5ASSIGN 1+,P5 ASSIGN 1+,30

    4.Naredbe za kopiranje i sinhronizaciju kretanja transakcija

    BlokSPLIT A,B[,C][,D][,E][,F][,G]

    Ovaj blok slui za stvaranje kopija transakcije odnosno za rasporeivanje poslova.A polje koje oznaava broj kopija koje stvara transakcija roditelj;B definie blok u koji odlaze sve kopije, a roditelj odlazi u naredni blok. Ako se u polju A zada broj i, onda iz bloka SPLIT izlazi i+1 transakcija.Transakcije kopije i roditelj su ravnopravne i mogu dalje da ulaze u blokove SPLIT i

    stvaraju nove potomke. Sve kopije i roditelji kao i njihove kopije, pripadaju jednom ansamblu (famili ji). Brojtransakcija u ansamblu je proizvoljan a transakcija je lan jednog i samo jednog ansambla. Kad se transakcijauniti, program je izbacuje iz ansambla ali ansambl i dalje postoji sve dok se ne uniti i poslednja transakcija.Transakcije koje pripadaju jednomansamblu mogu se dalje sinhronizovati (objediniti) pomou blokova:ASSEMBLE, GATHER, MATCH. Ukoliko njih nema, onda se transakcije kreu nezavisno kroz model.C slui da sve potomke jednog roditelja svrstamo u niz (seriju). U ovom polju se upisuje broj parametra

    transakcije po kom e biti izvrena numeracija. D, E, F, G koriste se ako elimo da kopije budu razliite odroditelja po (D broju parametara; E prioritetu; F tipu parametra; G veliini mainske rei).

    AC,D,E,F,G

    B

    ATERMINATE

    ASSIGN

    A,B,C

  • 8/13/2019 RACUNARSKA_SIMULACIJA_skripta[1]

    21/44

    20

    GENERATE 300,50

    SPLIT 1

    ADVANCE 90,20ADVANCE 100,20

    SEIZE1

    SEIZE2

    MATCHMATCH

    ADVANCE 50,10 ADVANCE 70,20

    RELEASE1

    RELEASE2

    TRANSFER

    2

    ASSEMBLE

    ADVANCE 50,10

    SEIZE3

    RELEASE3

    TERMINATE 1

    BlokASSEMBLE AOvaj blok ima primenu kod paralelnih procesa. Koristi se da objedini odreeni broj transakcijakoje se kreu po istoj putanji.A definie broj transakcija koje bi bile objedinjene.

    Transakcija koja ue u ovaj blok, bie zadrana u njemu sve dok ne ue i poslednja transakcija, dopopune definisane u polju A. Kad je ula poslednja transakcija u blok ASSEMBLE, tada iz njega izlazi jednatransakcija, i to ona to je prva ula u ovaj blok, a ostale se unitavaju.

    BlokGATHER AOvaj blok ima analogno dejstvo kao blok ASSEMBLE, s tim to se sve transakcije dalje

    proputaju, i ni jedna se ne unitava. Ovde se takoe vri objedinjavanje transakcija koje sulanovi jednog ansambla odnosno kreu se po istoj putanji.

    A definie broj transakcija iz istog ansambla koje moraju stii u blok GATHER i tek onda im sedozvoljava dalje kretanje kroz model.

    Blokime MATCH APrethodna dva bloka objedinjuju transakcije koje se kreu po istoj putanji. Blok MATCH slui zasinhronizaciju kretanja samo dve transakcije koje se mogu kretati i po razliitim i po istim

    putanjama.

    Za sinhronizaciju kretanja transakcija koje su na razliitim putanjama potrebna su dva bloka MATCH.Za njih se kae da su konjugovani, tj. svaki od njih treba u polju Ada nosi ime sebi kojugovanog bloka. Kadove transakcije uu u blokove MATCH vri se provera da li postoji transakcija istog ansambla u drugom blokukoji je njemu konjugovan. Kada u oba bloka postoji transakcije istog ansambla tad se one u isto vreme

    proputaju kroz blokove MATCH. Ako u bloku MATCH nema ni jedne transakcije datog ansambla, ondatransakcija koja je pristigla eka dok transakcija istog ansambla ne pristigne u konjugovani blok i one odlaze u

    blok iza bloka MATCH.Ako su transakcije na istoj putanji, onda je potreban jedan blok MATCH. On je konjugovan sam sebi

    tako da i ime i polje Aimaju isti naziv. Transakcije se kreu po jednoj putanji i objedinjuju u bloku MATCH.NPR: Za kretanje po razliitim putanjama:

    ime1 MATCH ime2

    ime2 MATCH ime1Za kretanje po istoj putanji:ime MATCH ime

    ***PRIMER:Posao obavljaju 3 radnika. Posao stie 30050 v.j. UPrvoj fazi posao zahteva dve operacije, povezane, i potrebno je da

    prvi i drugi radnik sinhronizuju svoj deo posla: Rad1 je 10020v.j aRad2 je 9030 v.j. U drugoj fazi rade nezavisno: Rad1 je 5010 v.j.a Rad2 je 7020 v.j. Kad se zavri prva i druga faza tada seobjedinjuje posao i radi trei radnik: Rad3 je 5020 v.j. Naiiskorienje radnika, pri 500 poslova.

    SIMULATE

    GENERATE 300,500

    SPLIT 1,DRUGI

    SEIZE RAD1

    ADVANCE 100,20

    BBB MATCH AAA

    ADVANCE 50,10

    RELEASE RAD1

    TRANSFER ,CCC

    DGUGI SEIZE RAD2

    ADVANCE 90,20

    AAA MATCH BBB

    ADVANCE 70,20

    CCC ASSEMBLE 2

    *rad3 eka rad1 i 2 da zavre*

    SEIZE RAD3

    ADVANCE 50,20

    RELEASE RAD 3

    TERMINATE 1

    START 500

    END

    A

    A

    A

  • 8/13/2019 RACUNARSKA_SIMULACIJA_skripta[1]

    22/44

    21

    STARTOVANJE SIMULACIJE

    Kontrolna naredba START A[,B] Nakon definisanja modela. da bi se izvrila simulacija, potrebno je startovati simulator. Startovanjesimulatora vri se naredbom START.A poetna vrednost terminacionog brojaaB koristi se za ukidanje tampanja rezultata po zavretku simulacije. Da bi se to postiglo, potrebno je u polje

    Buneti ozbaku NP(No Print).

    Naredbom START zapoinje se proces simulacije (izvrenje GPSS programa). Ona se nalazi na krajupaketa blok naredbi i deklaracionih naredbi.

    Definisanje poetka i kraja GPSS programa

    Kontrolne naredbe SIMULATEi END Kontrolna nareba SIMULATE je prva naredba GPSS programa. Ako se ona izostavi, program e se

    prevesti, ali se nee izvriti (naredba START tada nema efekta). Kontrolna naredba END je poslednja naredba GPSS programa. Ona oznaava kraj paketa za GPSS

    prevodilac i ujedno je izvrna naredba posle koje se upravljanje predaje operativnom sistemu.

    PERMANENTNI ENTITETI

    Permanentni entiteti (objekti) postoje u GPSS simulatoru od momenta uvoenja do zavretka simulacije.Svaki od permanentnih entiteta ima svoje atribute koji se auriraju uvek kada transakcija pokua (uspeno ilineuspeno) da pristupi entitetu. Atributi permanentnih entiteta tampaju se automatski po zavretku simulacije,dok su u toku simulacije na raspolaganju u obliku standardnih numerikih atributa (SNA). Osnovni permanentni entiteti su ureaji, skladita, logiki prekidai, redovi, tabele (histogrami), blokMARK. Definiu se na dva naina:1. Deklaracionim naredbama (STORAGE, TABLE...) i tada oni postoje od samog poetka simulacije.2. Naredbama koje oznaavaju pristup entitetu (ENTER, QUEUE, LINK...) i tada se entitet uvodi u model tek

    kada transakcija prvi put naie na taj blok.

    UREAJI Ureaj (FACILITY) je permanentni entitet koji predstavlja samo jednog opsluioca. Ureaj moeistovremeno da prihvati samo jednu transakciju. Ako transakcija pokua da pree u zaposednut ureaj, ona seautomatski zadrava u prethodnom bloku, sve dok se ureaj ne oslobodi. Koncept ureaja se koristi kod sistema opsluge gde postoji jedan opsluilac koji moe da opsluuje

    jednog klijenta (jedan alter u poti, jedna telefonska linija). Posebno vaan koncept kod ureaja je koncept prijemptiranja. Koristi se kod klijenata sa razliitim

    prioritetom. Ako je ureaj zauzet transakcijom prioriteta na pokua da ga zauzme transakcija prioriteta n1> n,tada se transakcija sa manjim prioritetom uklanja iz ureaja i stavlja na stek prijemtiranja. Ureaj zaposedatransakcija sa veim prioritetom a kad ona napusti ureaj, skida se transakcija sa vrha steka prijemtiranja inastavlja obradu od take gde je bila prijemtirana. Mogue je prijemtiranje u vie nivoa, zavisno od prioritetatransakcije koje dolaze na ureaj. Zaposedanje i oslobaanje ureaja vre naredbe SEIZE i RELEASE.Zaposedanje ureaja: blokSEIZE A

    Kad transakcija ue u ovaj blok, znai da je ureaj zauzet, i ostae sve dok transakcija ne ue ublok RELEASE.A broj ili ime ureaja koji se zauzima.

    Oslobaanje ureaja: blokRELEASE A

    Kada transakcija ue u ovaj blok ureaj se oslobaa.A broj ili ime ureaja koji se oslobaa.

    SEIZEA

    RELEASEA

  • 8/13/2019 RACUNARSKA_SIMULACIJA_skripta[1]

    23/44

    22

    SKLADITA Skladite (STORAGE) je permanentni entitet koji predstavlja grupu simultanih opsluioca. Ono moeistovremeno da prihvati vie transakcija. Ako transakcija pokua da ue u puno skladite, ona se automatskizadrava u prethodnom bloku, sve dok neka od transakcija koje su u skladitu ne napusti skladite i timeoslobodi dovoljno jedinica skladita.Deklaracija skladita: naredba A STORAGE KA ime skladitaK maksimalni (poetni) kapacitet skladita

    Za ulazak i izlazak iz skladita koriste se naredbe ENTER i LEAVEUlazak u skladite: naredba ENTER A[,B]A ime ili broj skladitaB broj jedinica koje se zauzimaju kad transakcija ue u skladite. Ako se vrednost ovog poljaizostavi, podrazumeva se da je B=1.

    Oslobaanja skladita: naredba LEAVE A[,B]Ovom naredbom se oslobaa neki broj mesta kada transakcija izae iz njega.A ime ili broj skadita.B Broj mesta koja se oslobode kada transakcija napusti skladite.

    Polja Ai Bmoraju imati iste vrednosti (imena) i kod ENTER i kod LEAVE.

    LOGIKI PREKIDAI Logiki prekida (LOGIC SWITCH) je permanentni entitet koji ima dva stanja: ukljuen i iskljuen.Predstavlja ekvivalent za logiku promenljivu koja takoe moe da ima dva stanja: tano i netano. Usimulacionim modelima koristi se za oznaavanje jednog od dva stanja nekog entiteta u modelu (npr: telefonskalinija moe biti slobodna ili zauzeta, tj. svakom stanju linije se pridruuje jedno stanje logikog prekidaa). Operacije nad logikim prekidaima izvravaju se kada transakcija naie na blok LOGIC i to su:ukljuivanje, iskljuivanjei invertovanje(prebacivanje prekidaa u suprotno stanje od onog u kom se nalazio).

    BlokLOGIC_{X}_AA broj ili ime prekidaaX postfiks naredba:

    X = R iskljui prekida(Reset) X = S ukljui prekida(Set)

    X = I invertuj prekida(Invert)

    REDOVI Blok QUEUE (red) je permanentni entitet koji se uvodi u model radi prikupljanja statistike o ekanjutransakcije na nekom od blokova. Redovi postoje nezavisno od uvoenja ovih permanentnih entiteta. Red kaoentitet ne utie na ponaanje modela veslui samo za prikupljanje statistike o modelu. U modelu moe da seuvede vei broj redova. Jedna transakcija moe da bude lan veeg broja redova (najvie 5).Prijava transakcije u red: blokQUEUE A

    A broj ili ime reda. Blok QUEUE bezuslovno prihvata transakciju. Ukoliko naredni blok ima uslov prijema,odmah je proputa. Ako naredni blok nema uslov prijema, transakcija ostaje u bloku QUEUEsve dok se ne ostvari uslov prijema. Ako u bloku QUEUE eka vie transakcija, odlazi prvo onakoja je najdue ekala.Odjava transakcije iz reda: blokDEPART AA broj ili ime reda.

    TABELE (histogrami)

    Blok TABLE je permanentni entitet koji se uvodi ukoliko se eli snimanje histograma za neku veliinu

    (standardni numeriki atribut SNA). Ubacivanje podataka (auriranje tabele) u histogram vri se dolaskomtransakcije na blok TABULATE. On ne zadrava transakciju i ni na koji nain ne utie na model.Deklaracija (definisanje) tabele: naredba tab TABLE A,B,C,Dtab ime ili broj tabele

    DEPART A

    ENTERA

    LEAVEA

    LOGICX A

    QUEUE A

  • 8/13/2019 RACUNARSKA_SIMULACIJA_skripta[1]

    24/44

    23

    A Definie veliinu iji se histogram snima. Veliina se definie pomou SNA.B Gornja granica prvog intervala histograma.C irina intervalaD broj frekvencijskih intervala (klasa)uriranje tabele: blokTABULATE tab

    tab broj ili ime tabele.

    BlokMARK [A]CLOCK TIME kada program pone da radi vri se otkucavanje vremenskih jedinica, jer u sebi imaasovnik. To je vreme apsolutnog sata (CLOCK TIME). Ovo vreme vai za sve transakcije istovremeno odtrenutka ulaska transakcije u model.MARK TIME slui da odredimo tranzitno vremeza svaku transakciju.TRANSIT TIME(tranzitno vreme) je vreme putovanja transakcije u pojedinim segmentima modela

    TRANSIT TIME = CLOCK TIME MARK TIME MARK TIME se moe raunati za svaku transakciju. Program markira na poetku svaku transakciju saapsolutnim vremenom sa kojim ona ulazi u model. U tom momentu je MARK TIME = CLOCK TIME

    (apsolutnom vremenu) dok je TRANSIT TIME = CLOCK TIME MARK TIME = . Ako nas interesuje vreme putovanja transakcije kroz odreeni segment modela, onda je potrebno vratititranzitno vreme transakcije na nulu. U tu svrhu se koristi blok MARK [A].

    A operand kojim se definie broj parametra transakcije u koji se upisuje tekue vremeapsolutnog sata Kad god transakcija ue u blok MARK, MARK TIME te transakcije se izjednauje saapsolutnim vremenom (MARK TIME = CLOCK TIME). Operand A nije obavezan i u

    zavisnosti od toga ovaj blok radi na dva naina:1. Ako se operand A izostavi ili je jednak nuli, tada se tranzitno vreme transakcije anulira, tj. vri se

    resetovanje vremena putovanja transakcije, jer se MARK TIME izjednaava sa CLOCK TIME (TRANSITTIME = CLOCK TIME MARK TIME = 0).

    2. Ako se koristi operand A, tada on definie broj parametra transakcije kome e se pripisati vreme apsolutnogsata. Na taj nain moemo da merimo tranzitno vreme kroz odreeni segment modela. Pri tome MARKTIME transakcije se ne menja.

    Ako elimo da tabeliramo vreme opsluivanja klijenata na alteru, onda koristimo blok MARK naodgovarajuim mestima, a to se vreme moe izraunati pomou naredbe VARIABLE.Ukoliko nas interesuje vreme putovanja transakcije od bloka 1 do bloka 2, tada iza bloka 1 resetujemo vreme

    putovanja transakcije postavljanjem bloka MARK.

    MEMORIJSKE LOKACIJE

    Memorijske lokacije su SNA koji permanentno egzistiraju tokom izvrenja GPSS programa i koji supod direktnom kontrolom programera. To su elije u memoriji raunara u kojima se pamti neka vrednost.Memorijske lokacije se imenuju sa Xn(na duini jedne rei, 32 bita) ili XHn(na duini jedne polurei, 16 bita).Doputa se i simboliko imenovanje kao naprimer: X$VISINA, XH$TIMER.

    Kontrolna naredba: INITIAL

    n

    n

    XH

    X,K

    Ovaj blok dodeljuje poetne vrednosti memorijskoj lokaciji i ona se aktivira odmah pri startovanjuprograma.Xnimenovanje memorijske lokacije na duini od jedne rei (32 bita).XHn imenovanje memorijske lokacije na duini od jedne polurei (16 bita).K vrednost koja se dodeljuje memorijskoj lokaciji.

    TABULATEtab

    MARK A

  • 8/13/2019 RACUNARSKA_SIMULACIJA_skripta[1]

    25/44

    24

    Blok naredba: SAVEVALUE A[],B[,C]A broj ili ime memorijske lokacije iza koga moe da stoji + ili , ime se definie nain rada.Ako nema ni + ni tada se vri zamena vrednosti memorijske lokacije iz polja A vrednoudefinisanoj u polju B.

    Ako stoji + tada se dodaje a za oduzima vrednost iz polja Bod vrednosti memorisjke lokacije iz polja A.B vrednost koja se dodeljuje, dodaje ili oduzima od vrednosti memorijske lokacije iz polja A.C definie koliki je memorijski prostor odvojen za pamenje memorijske lokacije (F jedna reod 32 bita ili

    H polureod 16 bita).

    Poetna vrednost memorijske lokacije se obavezno definie (inicijalizuje) naredbom INITIAL kojamora da stoji pre naredbe SAVEVALUE. Naredba INITIAL je opisana prethodno.

    MATRINE MEMORIJSKE LOKACIJE

    Blok naredba: ime MATRIX A,B,C Ovom blok naredbom se definie matrica.A definie se veliina memorijske lokacije koja se koristi za uvanje vrednosti. Moe biti Xako se rezervie

    32 bita (re) ili H ako se rezervie 16 bita (polure).B definie konstantu koja oznaava broj vrstamatrice

    Cdefinie konstantu koja oznaava broj kolonamatrice

    Blok naredba: MSAVEVALUE A[],B,C,D,EOva naredba smeta podatke u matricu.A definie ime matrine memorijske lokacije u kojoj se vri menjanje vrednosti elementadefinisanog sa poljima Bi C vrednou iz polja Dako nakon imena nema ni + ni ; ili se dodaje

    vrednost iz Dako je + ili oduzima ako je .B broj vrste u kojoj se nalazi element ija se vrednost menjaC broj kolone u kojoj se nalazi element ija se vrednost menjaD vrednost kojom se modificira element matrice definisane u polju Apoljima B i C.E veliina memorijske elije: X 32 bita (re) ili H 16 bita (polure)

    Pozivanje matrine memorijske lokacije se vri: MX$ime(i,j) za re; MH$ime (i,j) zapolure. Zadavanje poetne vrednosti (inicijalizacija) memorijskoj lokaciji se vri komandom INITIAL:INITIAL MX$ime(i,j),CONST.

    BLOKOVI ZA RAVANJE TRANSAKCIJA

    Ravanje po uslovu stanja SNA: blokTEST_{X}_A,B[,C]Ovim blokom se zadaju uslovi koji se proveravaju pri ulasku transakcije u ovaj blok. Uzavisnosti od uslova odreuje se dalji pravac kretanja transakcije. Uslov se zadaje pomou

    algebarskih odnosa.X relacijski odnos koji se testira X moe biti:

    X = L A < B (less) X = LE A B (less or equal)

    X = E A = B (equal)X = NE A B (not equal)X = G A > B (greater)X = GE A B (greater or equal)

    U polja Ai Bpiu se argumenti ije se vrednosti testiraju. Kao argumenti se naje koriste SNA, alise u jedno od polja moe staviti i konstanta (broj).

    A SNA ili konstanta sa leve strane poreenjaB SNA ili konstanta sa desne strane poreenjaC definisanje imena bloka u koji se alje transakcija u zavisnosti od ispunjenja uslova testitanja. Ako je uslovispunjen transakcija odlazi u sledei (sekvencijalni) blok, a u suprotnom se alje u nesekvencijani blok

    AxB

    TEST

    [C]

    SAVEVALUE

    A B C

    A B C D E

    MSAVEVALUE

  • 8/13/2019 RACUNARSKA_SIMULACIJA_skripta[1]

    26/44

    25

    definisan u polju Ckoji se nalazi bilo gde u modelu. Ako blok u koji se alje transakcija nije slobodan, ona sezadrava u bloku TEST dok taj blok ne postane slobodan da primi transakciju. U zavisnosti od toga da li je

    polje Cnavedeno postoji:

    reim odbijanja ako polje Cnije navedeno;PR: TEST LE Q6,30 testira da li je tekua duina reda broj 6 manja od 30

    reim prenosa ako je polje Cnavedeno.PR: TEST L RN2,600,BBB 60% uputiti u sledi blok a 40% u blok BBBPR: TEST GE V10,V20,DGUGI testira da li je vrednost izraza broj 10 od vrednosti izraza broj 20.

    Ako jeste transakcija prolazi na sledei blok, a ako nije transakcija ide na blok DRUGI.

    Ravanje po uslovu stanja opreme: naredba GATE_{X}_A[,B]Ova naredba se koristi za testiranje logikih stanja pojedinih delova sistema (ureaja,sklasita, prekidaa) pri emu se stanje opreme koja se testira ne menja.A broj ili ime objekta (entiteta opreme) ije se stanje testiraB definisanje bloka u koji transakcija odlazi ako uslov definisan u polju Xnije ispunjen.U zavisnosti od toga da li je polje Bnavedeno postoji:

    reim odbijanja (reim uslovnog prolaza) ako polje B nije navedeno. Blok GATEodbija ulazak transakcije sve dok se uslov definisan u polju Xne ispuni. Tek onda transakcija nastavlja dase kree, a stanje ureaja se menja.

    reim prenosa(bezuslovni reim) ako je polje Bnavedeno. Ako uslov definisan u polju Xnije ispunjentransakcija ide u blok definisan u polju B. Ako je blok definisan u polju Bzauzet, transakcija eka.

    X definisanje uslova testiranja; odnosi se na stanje opreme i moe biti:1. Za ureaj(FACILITY) X = NU ureaj je slobodan(not in use) X = U ureaj je zauzet(in use) X = NI ureaj ni je u prekidu(not in interupt) u ureaju se ne nalazi transakcija veeg prioriteta X = I ureaj u prekidu(interupt) ureaj je zauzet transakcijom veeg prioriteta.2. Za skladite(STORAGE) X = SE skladite prazno(storage empty)

    X = SNE skladite ni je prazno(storage is not empty) X = SF skladite je puno(storage full) X = SNF skladite ni je puno(storage is not full)3. Za logiki prekida(LOGIC SWITCH) X = LR logiki prekida iskljuen(logic switch reset) X = LS logiki prekida ukljuen(logic switch set)4. Za blok MATCH nekada treba testirati da li je ispunjena sinhronizacija X = M da li uslov sinhronizacijejesteispunjen X = NM da li uslov sinhronizacije nijeispunjen

    BLOKOVI ZA PROMENU TOKA TRANSAKCIJE

    Transakcije se obino kreu sekvencijalno od bloka n preko n+1 pa nadalje. Ako elimo da se kreunesekvencijalno koristimo blokove za preusmeravanje.BlokTRANSFER A,B,C,D

    A vrsta transfera (bezuslovni ili uslovni)Bi C blokovi u koje ide transakcija posle grananjaD indeksna promenljiva, koristi se samo kod operacije ALL. Transakcija ostaje u bloku TRANSFER, ako blok u koji treba da ide (B ili C) ne moeda je primi, sve dok se ne ispuni uslov prijema.

    Bezuslovni transfer: blokTRANSFER ,BB blok na koji transakcija ide bezuslovno. Ako blok definisan u polju Bnije u mogunostida primi transakciju ona e biti zadrana u bloku TRANSFER sve dok se uslov ne ispuni.

    X

    B

    A

    AD

    B C

    TRANSFERB

  • 8/13/2019 RACUNARSKA_SIMULACIJA_skripta[1]

    27/44

    26

    Uslovni transfer U polju Ase navodi vrsta uslovnog transfera. U njemu mogu biti: 1.BOTH, 2.ALL, 3.SIM ili 4.statistikiizbor jedne od dve putanje za nastavak toka transakcije.

    1.BlokTRANSFER BOTH,B,CKada transakcija naie na ovaj blok prvo se ispituje da li blok naveden u polju Bmoe da primitransakciju. Ako moe ona se tamo i alje, a ako ne moe, transakcija ide u blok definisan u

    polju C. Ukoliko se blok B izostavi tada se transakcija alje na naredni blok, ukoliko je

    slobodan. Ako naredni blok nije slobodan transakcija se alje u blok definisan u polju C.Ukoliko ni jedan blok ne moe da primi transakciju ona e biti zadrana u bloku TRANSFERdo ispunjenja uslova.

    2.BlokTRANSFER ALL,B,C,DB prvi blok koji se testitaC poslednji blok koji se testiraD indeksna promenljiva i, koja doputa korisniku da testira neke blokove unutar blokova definisanih u Bi C.B: y Transakcija pokuava da ue u blok B y+i transakcija pokuava da ue u blok y+i y+2i ...

    C: z = y+Mi transakcija pokuava da ue u blok CPRIMER:

    TRANSFER ALL,PRVI,POSL,3

    PRVI SEIZE 1 zauzmi ureaj 1 ASSIGN 12,1 parametru 12 dodeli vrednost 1

    TRANSFER ,POSL+2 nastavak

    SEIZE 2 zauzmi ureaj 2 ASSIGN 12,2 parametru 12 dodeli vrednost 2 TRANSFER ,POSL+2

    POSL SEIZE 3

    POSL+1 ASSIGN 12,3

    Ako je ureaj 1 zauzet ide na prvi+3, tu testira uraj 2. Ako je slobodan zauzima ga, a ako nije testira prvi+6

    3.BlokTRANSFER SIM,B,C U svakoj transakciji postoji SIM indikator. Njegova vrednost moe biti 1 ili 0. Kada je 1 tada transakcijaide u blok definisan u poljuCa SIM indikator se vraa na 0. Kada je 0, transakcija ide u blok definisan u poljuB. Ako polje Bnije navedeno transakcija ide na naredni blok, a SIM indikator se postavlja na 1.

    Ako treba da istovremeno bude zadovoljeno vie uslova, svaki od njih se proverava i ako je svakiispunjen SIM ostaje 0. Ako jedan od ulova nije ispunjen, SIM indikator se stavlja na 1.PRIMER:CPU GATE NU 1 1 - CPU

    GATE NU 2 2 - KANAL

    GATE NU 15 3 - MEMORIJA

    TRANSFER SIM,,CPU

    SEIZE 15

    Svi ureaji moraju biti slobodni za prenos. Ako bar jedan nije slobodan, transakcija se vraa na prviuslov. U bloku TRANSFER SIM,,CPU vrednost za SIM je 1 ako barem jedan uslov nije ispunjen, a ako susvi uslovi ispunjeni vrednost za SIM je 0.

    4.Statistiki transfer: blokTRANSFER A,[B],CKoristi se kada je potrebno izvriti izbor izvesnog procenta transakcija i preusmeriti ih nadrugi deo modela.A verovatnoa skoka na blok ije je obeleje dato u polju C. U ovom polju napisan jedecimalni broj oblika .dili .ddili .dddgde je [ ]9,...,2,1,0d .

    B blok u koji odlaze ostale transakcija. Ako Bnije navedeno transakcija ide u naredni blokC blok u koji odlaze transakcije koje upadaju u verovatnou koja je data u polju A

    Ako nijedan od blokova ne moe da primi transakciju ona ostaje u bloku TRANSFER do ispunjenjauslova prijema.

    BOTH

    B C

    TRANSFERC

    B

    A

  • 8/13/2019 RACUNARSKA_SIMULACIJA_skripta[1]

    28/44

    27

    Blok: LOOP A,BOvaj blok obezbeuje viestruki prolaz transakcije kroz odreeni segment modela.

    Koristi se kada je za izradu nekog proizvoda potrebno izvriti nekoliko operacija. Predstavljapetlju ili ciklus.A definie broj parametara ija se vrednost koristi za definisanje broja ponavljanja.

    B definie sledei blok u koji se alje transakcija ukoliko parametar koji je definisan u polju Anema vrednost0. U svakom prolazu vrednost parametra iz Ase smanjuje za 1. Pre naredbe LOOP mora biti naredba ASSIGN u kojoj emo definisati parametar potreban za polje A.

    PRIMERI:

    Blok: SELECT x A,B,C,D,E[,F] Ovaj blok se koristi za ispitivanje skupa elemenata neke grupe (ili vrste) u ciljuzadovoljenja nekih uslova. Pregled tih elemenata se vri prema redosledu njihovogrednog broja. Kada se nae element koji zadovoljava uslov, pregled ostalih se stopira

    (mnodel i dalje radi), a ako se ne nae, pregled ide do poslednjeg elementa.

    A definie broj parametra kome se dodeljuje redni broj elementa koji zadovoljava uslovB definie element grupe sa minimalnim rednim brojemC definie element grupe sa maksimalnim rednim brojemD definie vrednost sa kojom se poredi vrednost atributa iz polja EE definie atribut sa kim se poredi vrednost iz DF blok u koji ide transakcija kada uslov nije ispunjen. Ovo polje ne mora da se koristi. Ako je definisano a

    nije pronaen element koji zadovoljava uslov, vrednost parametra iz polja Ase ne postavlja na 0. Ako poljeF nije definisano i nije naen element koji zadovoljava uslov, transakcija ide u sledei blok a vrednost

    parametra iz polja Apostaje 0.x definie poreenje izmeu SNA definisane u Ei vrednosti definisane u D.

    U ovom polju moe se pisati: G >; GE ; E =; L

  • 8/13/2019 RACUNARSKA_SIMULACIJA_skripta[1]

    29/44

    28

    STANDARDNI NUMERIKI ATRIBUTI (SNA)

    Svakom entitetu (objektu) kao to su ureaji, skladita, redovi, tabele odgovaraju atributu koji opisujenjegovo stanje u datom trenutku vremena. Vrednosti atributa mogu biti aritmetike ili logike. Neki od atributakorisnik ne moe da menja a neke moe. SNA su osobine (stanja) sistema koji se modelira; ujednoomoguavaju korisnicima dinamiki pristup rezultatima simulacije. Svi ovi SNA imaju po jedno ili dva slova(memoriju) iza koga stoji broj (ime) entiteta na koji se on odnosi.

    NPR: Q10 tekua duina reda broj 10 (Q re; 10 broj reda)

    SISTEMSKI SNA: ostaju stalno isti i mi ih ne moemo menjati. Oni karakteriu sistem u celini (odnose se naceo model) i nisu promenljive od strane korisnika.Rnj, j=1,...,8 Generator sluajnih brojeva (nemogu se menjati vea samo kao takvi koristiti).C1 - tee vreme asovnika simulatora (ne moe se menjati)SNA TRANSAKCIJA:Pj parametar j tekue transakcije; (P10 - pozivamo se na vrednost parametra broj 10 transakcije);M1 tranzitno vreme (vreme putovanja tekue . Moe se modifikovati pomou bloka MARK). M1 = CLOCK TIME MARK TIME; Ako nema bloka MARK: M1 = C1.MPj parametarsko tranzitno vreme, definie meutranzitivno vreme tekue transakcije.

    Akumuliranje meutranzitnik vremena u parametru transakcije se moe inicirati prolaskomtransakcije kroz blok MARK koji u polju A ima definisan broj parametara. MPj=tekue vremeasovnika Pj.

    SNA OPREME:UREAJI:Fj numeriki atribut (oznaava stanje ureaja j; 0 ureaj je slobodan, 1 - zauzet);FRj promil iskorienja ureaja broj j;FCj broj koje su bile opsluene na ureaju j raunajui i tekuu ;FTj srednje vreme po provedeno na opsluzi na ureaju j. (F$PERA j je ime ili broj)SNA SKLADITA:Sj tekui angaovani sadraj;Rj tekui br. slobodnih mesta;SRj promil iskorienja;SAj srednji sadraj;SMj max sadraj;SCj ukupan broj koje su prole kroz skladite j;STj srednje provedeno vreme po .STATISTIKI SNA:

    REDOVI:Qj tekua duina reda;QAj srednja duina reda;QMj max duina reda;

    QCj ukupan br. koje su prole kroz red j;QZj broj nultih (opsluene bez ekanja);QTj srednje vreme po provedeno u redu j ukljuujui i nulte pristupe;QXj srednje vreme po provedeno u redu j bez nultih pristupa.TABELE:TBj Srednja vrednost argumenta za tabelu j;TCj broj pristupa tabeli j;TDj srednje kvadratno odstupanje za tabelu j.SAVEVALUE:Xj sadraj memorijske lokacije j;XHj sadraj memoriske lokacije j (16 bita);

    MXj(a,b) sadraj matrine memorijske lok