UNIVERZITET U BIHAĆ BIHA ĆU Tehnič Tehnički fakultet BIHAĆ BIHAĆ Odsjek: Elektrotehnika Smjer: Informatika
Seminarski rad OSNOVI TELEKOMUNIKACIJA Šta je simulacija i zašto se koristi, modeliranje i simulacija u telekomunikacijskim telekomunikacijskim mrežama, klasifikacija simulacija (stati čki/dinamički model, deterministi čki/stohastički model, simulacije u kontinualnom/diskretnom kontinualnom/diskretnom vremenu), simulacije sa diskretnim doga đajima, primjeri naj češće korištenih simulatora.
Mentor: prof. Dr. Aljo Mujč Mujčić Studenti: Almin Topić Topić Edis Ćatić atić Suad Hrnjić Hrnjić
Sadržaj: Popis slika: ............................................................................................................................................. ............................................................................................................................................. 4 Popis tabela: .............................................................................. ........................................................................................................................................... ............................................................. 5 Uvod ............................................................................................................................................. ........................................................................................................................................................ ........... 6 1.
Šta je simulacija ? ....................... .................................................................................................. ................................................................................................... ........................ 7 1.1. Osnovne crte simulacije ............................................................................................................... ............................................................................................................... 8 ............................................................................................................................. ........................................................... 10 1.2. Cilj simulacije..................................................................
1.3. Simulacija i analitičke metode.................................................................. .................................................................................................... .................................. 11 ........................................................................................................................ ............................................... 13 1.4. Proces simulacije ......................................................................... ........................................................................................................... .................................. 14 1.5. Kompjuteri za simulaciju ......................................................................... .................................................................................................................... ............................................... 15 1.6. Analogni kompjuter..................................................................... ............................................................................................... ...................... 17 1.7. Principi rada operacionog sklopa .........................................................................
1.8. Primjer simulacije uz pomoć analognih kompjutera .................................................................. 19 ................................................................................................................... ............................................... 20 1.9. Digitalni kompjuter: .................................................................... ................................................................................................................. ............................................... 22 1.10. Historija simulacije: .................................................................. ............................................................................................................... ............................................... 23 1.11. Sistemska simulacija: ................................................................
2.
Modeliranje i simulacija u telekomunikacijskim mrežama..................................................... 25 ...................................................................................... ...................... 25 2.1. Metodologija simulacije i modeliranja: ................................................................
3.
Klasifikacija simulacija................................................................ ............................................................................................................... ............................................... 28 ............................................................................................................ .................................. 28 3.1. Statički/dinamički model ..........................................................................
3.2. Deterministički/stohastički model ........................................................................ .............................................................................................. ...................... 29 ................................................................................. ......... 33 3.3. Kontinuirani/diskretni simulacijski model ........................................................................
4.
Simulacije sa diskretnim doga đajima ........................................................................................ ........................................................................................ 36 .......................................................................... ......... 37 4.1. Struktura simulacija sa diskretnim događajima .................................................................
4.1.1. Entiteti ...................................................................... ................................................................................................................................. ........................................................... 38 ........................................................................................................... .................................. 38 4.1.2. Aktivnosti i događaji ......................................................................... ................................................................................................................................. ........................................................... 39 4.1.3. Resursi ......................................................................
4.1.4. Globalne varijable ................................................................ ............................................................................................................... ............................................... 39 ................................................................................................. ...................... 40 4.1.5. Generator slučajnih brojeva........................................................................... .............................................................................................................................. ........................................................... 40 4.1.6. Kalendar ................................................................... ....................................................................................................... .................................. 40 4.1.7. Varijable stanja sistema ..................................................................... ............................................................................................................ .................................. 40 4.1.8. Statistički sakupljači ..........................................................................
4.2. Razvoj simulacije diskretnih događaja ................................................................. ....................................................................................... ...................... 41 2
Sadržaj: Popis slika: ............................................................................................................................................. ............................................................................................................................................. 4 Popis tabela: .............................................................................. ........................................................................................................................................... ............................................................. 5 Uvod ............................................................................................................................................. ........................................................................................................................................................ ........... 6 1.
Šta je simulacija ? ....................... .................................................................................................. ................................................................................................... ........................ 7 1.1. Osnovne crte simulacije ............................................................................................................... ............................................................................................................... 8 ............................................................................................................................. ........................................................... 10 1.2. Cilj simulacije..................................................................
1.3. Simulacija i analitičke metode.................................................................. .................................................................................................... .................................. 11 ........................................................................................................................ ............................................... 13 1.4. Proces simulacije ......................................................................... ........................................................................................................... .................................. 14 1.5. Kompjuteri za simulaciju ......................................................................... .................................................................................................................... ............................................... 15 1.6. Analogni kompjuter..................................................................... ............................................................................................... ...................... 17 1.7. Principi rada operacionog sklopa .........................................................................
1.8. Primjer simulacije uz pomoć analognih kompjutera .................................................................. 19 ................................................................................................................... ............................................... 20 1.9. Digitalni kompjuter: .................................................................... ................................................................................................................. ............................................... 22 1.10. Historija simulacije: .................................................................. ............................................................................................................... ............................................... 23 1.11. Sistemska simulacija: ................................................................
2.
Modeliranje i simulacija u telekomunikacijskim mrežama..................................................... 25 ...................................................................................... ...................... 25 2.1. Metodologija simulacije i modeliranja: ................................................................
3.
Klasifikacija simulacija................................................................ ............................................................................................................... ............................................... 28 ............................................................................................................ .................................. 28 3.1. Statički/dinamički model ..........................................................................
3.2. Deterministički/stohastički model ........................................................................ .............................................................................................. ...................... 29 ................................................................................. ......... 33 3.3. Kontinuirani/diskretni simulacijski model ........................................................................
4.
Simulacije sa diskretnim doga đajima ........................................................................................ ........................................................................................ 36 .......................................................................... ......... 37 4.1. Struktura simulacija sa diskretnim događajima .................................................................
4.1.1. Entiteti ...................................................................... ................................................................................................................................. ........................................................... 38 ........................................................................................................... .................................. 38 4.1.2. Aktivnosti i događaji ......................................................................... ................................................................................................................................. ........................................................... 39 4.1.3. Resursi ......................................................................
4.1.4. Globalne varijable ................................................................ ............................................................................................................... ............................................... 39 ................................................................................................. ...................... 40 4.1.5. Generator slučajnih brojeva........................................................................... .............................................................................................................................. ........................................................... 40 4.1.6. Kalendar ................................................................... ....................................................................................................... .................................. 40 4.1.7. Varijable stanja sistema ..................................................................... ............................................................................................................ .................................. 40 4.1.8. Statistički sakupljači ..........................................................................
4.2. Razvoj simulacije diskretnih događaja ................................................................. ....................................................................................... ...................... 41 2
.............................................................................................. ..................... 41 4.2.1. Mehanizam pomaka vremena......................................................................... ........................................................................................................... .................................. 42 4.2.2. Generisanje događaja.........................................................................
4.2.3. Pristupi generisanju događaja ......................................................................... .............................................................................................. ..................... 43 ................................................................................................... .................................. 45 4.3. Strategije izvođenja simulacije................................................................. ..................................................................................................... .................................. 45 4.3.1. Raspoređivanje događaja ................................................................... ........................................................................................................... .................................. 46 4.3.2. Skeniranje aktivnosti ......................................................................... ............................................................................................................... ............................................... 47 4.3.3. Interakcija procesa ................................................................
5.
Primjeri najčešće korištenih simulatora.................................................................................... simulatora.................................................................................... 49
Zaključak ..................................................................... ............................................................................................................................................. ........................................................................ 58
3
Popis slika: Slika 1.1: Dijagram bitnih stavki simulacije............................................. .................................................................... .................................9 ..........9 Slika 1.2: Simulacija i analitič ke ke metode................................................ ....................................................................... .................................12 ..........12 Slika 1.3: Procedure provođ enja enja simulacije............................................... ...................................................................... .............................13 ......13 Slika 1.4: Osnovni elementi analognog kompjutera..................................... kompjutera............................................................ ............................17 .....17 Slika 1.5: Operaciono pojač alo alo........................................... .................................................................. .............................................. ..............................17 .......17 Slika 1.6: Princip rada sabirač a............................................. .................................................................... .............................................. ..........................18 ...18 Slika 1.7: Princip rada integratora.............................................. ..................................................................... ............................................1 .....................188 Slika 1.8: Osnovni dijagram množioca č etvrtina-kvadrat etvrtina-kvadrat ........................................................19 ........................................................19 Slika 1.9: Dijagram spajanja za
d2y dt
2
+
a1
dy
a0 y − f (t ) ........................................... .................... ......................................21 ...............21 dt
Slika 2.1: Hierarhijska struktura komunikacionaog sistema...................................................26 Slika 3.1: Otpornik je statič ki ki sistem, gdje je napon direktno proporcionalan struji, neovisno o vremenu, a kondenzator je dinami č an an sistem gdje napon ovisi o prethodnom trenutku .......29
Slika 3.2: Deterministič ki ki model........................................... .................................................................. .............................................. ............................30 .....30 Slika 3.3: Stohastič ki ki model............................................ ................................................................... .............................................. ..................................30 ...........30 Slika 3.4: Probabilistič ki ki simulator jednoposlužiteljskog sistema...........................................31 Slika 3.5: Deterministič ki ki simulator jednoposlužiteljskog sistema..........................................32 Slika 3.6: Kontinualni simulacioni model........................................... ................................................................... .....................................33 .............33 Slika 3.7: Diskretni simualcijski model.............................................. ..................................................................... ......................................34 ...............34 Slika 3.8: Mješoviti simulacioni model.............................................. ..................................................................... ......................................34 ...............34 Slika 4.1: Mehanizam pomijeranja vremena u simulaciji diskretnih događ aja aja , pomak vremena za konstantan prirast ......................................... ................................................................ .............................................. ..................................41 ...........41
Slika 4.2: Mehanizam pomijeranja vremena u simulaciji diskretnih događ aja, aja, pomak vremena za sljedeći događ aj aj............................................ ................................................................... .............................................. ..................................42 ...........42
Slika 4.3: Slog i lista doga đ aja aja........................................... .................................................................. .............................................. ..............................42 .......42 Slika 4.4: Definisanje doga đ aja aja unaprijed ............................................. .................................................................... ..................................43 ...........43 Slika 4.5: Pristup zasnovan na narednom doga đ aju aju........................................... ................................................................4 .....................433 Slika 4.6: Lista doga đ aja aja............................................. .................................................................... .............................................. ......................................44 ...............44 Slika 4.7: Dijagram toka raspoređ raspore đivanja događ doga đaja.............................................. aja...................................................................4 .....................455 Slika 4.8: Tabele aktivnosti........................................... .................................................................. .............................................. ....................................46 .............46 Slika 4.9: Algoritam rada procesora pri interakciji procesa ...................................................48 4
Slika 5.1: Boson Netsim verzija 8 i su č elje elje................................................ ....................................................................... ..............................49 .......49 Slika 5.2: QualNet suč elje elje............................................ ................................................................... .............................................. .....................................50 ..............50 Slika 5.3: Packet Tracer suč elje elje................................................ ....................................................................... .............................................. ........................51 .51 Slika 5.4: Korisnič ki ki aspekt procesa simulacije.................................................. .......................................................................5 .....................555 Slika 5.5: IMUNES su č elje elje.............................................. ..................................................................... .............................................. ..................................56 ...........56
Popis tabela: Tabela 1.1: Primjeri simulacija u različ itim itim oblastima...........................................................24
5
Uvod Korisnici kompjuterskih sistema, administratori i dizajneri obično imaju za cilj visoke performanse, uz što manju cijenu. To se najbolje postiže simuliranjem. U ovom seminarskom radu upoznaćemo se sa pojmom simulacije i simulacijskim modeliranjem. Vrši se klasifikacija simulacija, od kojih se svaka vrsta detaljno opisuje i pojašnjava. Na samom kraju seminarskog rada opisuju se neki od najpoznatijih simulacijskih programskih jezika. Simulacijsko modeliranje i simulacija predstavljaju širok skup aktivnosti vezanih uz izgradnju modela nekog realnoga sistema i njegove simulacije. Simulacija nam je potrebna isklju čivo za simuliranje određenih sistema. Prvo projektujemo traženi sistem u virtualnom svijetu, svijetu računara. To se radi pomoću simualcijskih jezika. Ukoliko se to pokaže rentabilno, i uspješno onda možemo pristupiti realizaciji sistema u stvarnom svijetu. Ovaj seminarski rad pisan je u poglavljima od kojih je svaka cjelina za sebe povezana sa prethodnim dijelovima. U tim poglavljima svi naslovi su ozna čeni i numerisani. Seminarski rad je pisan fontom Times New Roman veličinom 12, dok su naslovi unutar nekih poglavlja pisani istim fontom samo su podebljani. Tako đer za naslove poglavlja koriste se font 14 odnosno 16.
6
1. Šta je simulacija ? Pod pojmom simulacije se podrazumijeva imitacija odre đenih fenomena (vanjskog izgleda ili ponašanja) koristeći neke druge uređaje. Sa inžinjerske tačke gledišta, poznavanje stvarnog ponašanja sistema pri stvaranju duplikata koji će imati iste karakteristike kao original, uz korištenje kompjutera ili modela naziva se simulacija. Simulaciju nekad definišemo kao eksperimentiranje uz pomo ć modela. U većini slučajeva model je konstruiran unutar računara i numeričko eksperimentiranje je gotovo korištenjem modela. Ure đaj koji izvršava simulaciju ili kombinaciju računala i unutarnjeg softvera je poznat pod imenom simulator. Osnovni razlog zbog široko rasprostranjenog korištenja simulacija je brz i napredan razvoj snage kompjutera. Sa zahtijevane ta čke gledišta, sveobuhvatno shvatanje i razvoj ovih sistema je postalo neophodno u mnogim podru č jima jer sistemi korišteni od strane društva i industrije nisu samo kompleksni, nego i opsežni, što komplicira analiti čku interpretaciju sistema kao cjelinu i njenu eksperimentaciju. Simulacija u kojoj je sistem objekt ili simulacija u sistemskom inžinjerstvu je poznata kao sistemska simulacija. Bit sistemske simulacije nije samo u interpretiranju problema, nego u većini slučajeva da omogući njegovo opširnije svatanje u cilju pronalaženja rješenja razli čitih ulaza u model i vrijednosti parametara. Ukratko, simulacija je neophodna mjera za donošenje presuda ili postupaka i postala je neophodan alat u istraživanju i poslu. Simulacija nije samo cilj po sebi, nego i alat ili procedura za sticanje jednog. Problem se ne rješava samo kroz rezultate simulacijskog izračunavanja. Kvalitet simulacijskih rezultata ne može biti određen isključivo simulacijom. Njegova potvrda mora biti temeljito procjenjena, sa obzirom na dodjeljene ciljeve i objekte. Ako se vratimo u prošlost razvoja simulacija, one su išle u korak sa razvojem kompjutera. Sa pojavom analognih kompjutera, zamjenjuju ve ćinu fenomena od strane elektro sistema i to simuliraju. 1960-tih godina digitalni kompjuteri su stavljeni u prakti čnu upotrebu što je dovelo do razvoja nekoliko široko korištenih simulacijskih jezika. 1970-tih godina dolazi do značajnog korištenja simulatora u raznolikim društvenim i industrijskim poljima, te razvoj simulatora za isključivu upotrebu u raznim poljima traje i dan danas. 1980-tih godina, ekspanzija razvoja simulatora za isključivu upotrebu u raznim područ jima dolazi do povećanog iteresa za simulator opće namjene, poboljšanje performansi računala, i dolazak superkompjutera. Sa druge strane nekoliko radnih stanica i personalnih ra čunara se pojavljuje 1980-tih. Prelazak na ekran u boji i poboljšanja u tehnologiji kompjuterske grafike. Korisni čki prijateljski simulativni programi za poslovne stanice ili personalne kompjutere se javljaju na 7
tržištu čitavog svijeta. Jedan od primjera su igrice koje koriste kompjuterske grafike i simulacije. 1990-tih godina neki ljudi su postali nezadovoljni sa postoje ćim kompjuterima ili simulacijama. Očekivanja od fizičara za doprinos simulacijama su bile ogromna. Ra čunanjem fizičari su smatrali da pretvaranje kompjutera u eksperimentalni alat, prirodna rije č i fizički fenomen može biti nerješiv; oni predviđaju dolazak kompjutera čija će brzina računanja biti 1 milijun puta veća od brzine postojećih kompjutera. Ideal „eksperimentacija računanja“ je i dalje samo san. Međutim, ukoliko se napredkom brzina ra čunanja može povećavati, animacija u stvarnom vremenu se uz pomoć nekih superkompjutera se vjerovatno može realizovati. 1.1. Osnovne crte simulacije
Kada govorimo o simulaciji, postoje neke bitne stavke kao, šta je cilj simulacije, koji su to koraci potrebni uz simuliranje kao mjera za postizanje ciljeva, koji entiteti simulacijskog jezika se koriste u simulacijskom modelu kao i simulacijske procedure, i tako dalje. Ovo je prikazano na slika 1.1 koja svakako ne prikazuje sve stavke ali bira one osnovne vezane za sistemsku simulaciju. Simulacija je neophodna u različitim stadijima vremena, vrijeme planiranja, vrijeme dizajniranja, vrijeme operacije, vrijeme nakon završetka, i tako dalje. Ve ćinom se simulacija koristi za vrijeme planiranja i dizajniranja radi obavljanja preliminarne procjene razvoja sistema. Prva od svih kvalitativnih procijena razvoja subjekta i efekat razvoja je donešen koristeći metode pristupa sistema poput pisanja scenarija, bombardovanje idejama ili K (Kawakita Jiro) metoda. Za neophodne dijelove tehnologije, performanse se individualno procjenjuju prema eksperimentiranju. U većini slučajeva simulacija može biti korištena za numeričko eksperimentiranje kako kvalitetno provesti sveobuhvatnu procjenu sistema. Za realizaciju sistema, potrebno je obratiti pažnju na mnoge stavke sa slika 1.1. ovisno o tome da li se verijablama simulacije mora rukovati sa analognim, digitalnim ili hibridnim (kombinacija prva dva) kompjuterom. Odlučeno je da se može koristiti bilo koji od navedenih kompjutera.
8
Slika 1.1: Dijagram bitnih stavki simulacije
Prilikom izgradnje modela postoji potreba da se zadani cilj simulacije ispravno razumije, a karakteristične osobine stvarnog svijeta koje ekstraktujemo uzimamo kao objekt. U rasponu modeliranja možemo: 1. Uzeti u obzir stvarni svijet podjeljen na objekte i šemu kontrole koje se primjenjuju na taj objekt. 2. Imitacija samog objekta, isključujući šemu kontrole ili uključujući je unutar modela. Što se tiče stupnja aproksimacije, manji je broj slučajeva koji koriste primarni model, koji odgovara osnovnoj jednadžbi koja se odnosi na teoriju, ali ve ćinom se koriste idejnovezani aproksimirani modeli (sekundarni model). Zapravo nastali fenomeni razvijaju se vremenom, a kada se u obzir uzme vrijeme varijacije ono postaje dinami čki model; kada ne uzimamo u obzir vremenske varijacije ono postaje stati čki model. Dinamički model djelimo ovisno o koncepciji vremena na: a. Kontinuirano - promjenljivi model b. Diskretno – promjenljivi model
9
Postoje slučajevi kod kojih stupanj težine ili lakoće u numeričkim proračunima varira zavisno od toga da li su osobine objekta ili modela linearni ili nelinearni. Naprijed usmjerena metoda koja obavlja simulaciju protoka vremena je op ća metoda simulacije, ali ponekad simulacija suprotnog smjera je tako đer napravljena da traži određene varijable (odgovarajuće za ulaz u normalnu simulaciju) za ostvarnje ciljeva kao odre đene odluke. U oba smjera i naprijed i nazad, ponavljana simulacija se obi čno provodi metodom pokušaja i pogrešaka dok mjenjaju uvjete.
Također je moguće provesti simulaciju
optimizacije uz pomoć dodavanja funkcije optimizacije, koja automatski zahtijeva optimalne uvjete. Ovisno o cilju simulacije, postoje slu čajevi kod kojih vrijeme za prelazak na simulaciju mora biti jednako stvarnom vremenu. Na primjer, za obuku vožnje zrakoplova ili vozila moramo pristupiti u stvarnom vremenu. Nasuprot toga, postoje slu čajevi skraćivanja ili produžavanja stvarnog vremena. Veliki broj simulacija se provodi sa tako zvanim „nestvarnim vremenom“. Raznoliki specifični simulacijski jezici su razvijeni za pisanje simulacijskih programa na digitalnom kompjuteru za kontinuirane i diskretne sisteme.
1.2. Cilj simulacije Simulacije se koriste da bismo shvatili djelovanja, jer korištenje odre đenih subjekata ne samo da je skupocjeno nego uklju čuje i određen rizik. Pored toga, nesigurnost u pogledu vremena potrebnog za ostvarenje rezultata. Ciljevi simulacije uklju čuju sljedeće: 1. Kvalitativno shvatanja fenomena koji su nastali u stvarnom svijetu ili ponašanje sistema, je prvi korak do sistemskog inžinjerstva. Ako postoji model koji je sposoban da prikaže stvarni mehanizam, tada novo znanje se sti če od raznih ulaza u model ili parametara i može ponavljati simulaciju. Korištenje simulacije omogućava: a. Razumjevanje izlaza sa obzirom na ulaz b. Analiza uvjeta mješanja dva sistema, mehani čki i elekronski sistem c. Analiza osjetljivosti parametara ili šablona Model koji se koristi nemora značiti da je uvijek u pravu. Postoji metoda u kojoj prema nekoliko hipotetičkih modela je napravljeno eksperimentiranje sa simulacijom i ispravnost modela je proučena putem već poznatih stavki. Ovaj metod je poznat pod nazivom „identifikacija putem simulacije“. Simulacija koja se koristi u istraživanjima fizike spada u ovu kategoriju. Postoje mnogobrojne metode za identifikaciju, kao što su: 10
d. Identifikacija prostog predmeta e. Kaskadna konekcija identifikacijskog sistema f. Identifikacija kaskadnog procesa Ovakvi tipovi simulatora se veoma često koriste za shvatanje i predviđanje ne samo prirodnih fenomena, nego i postojeća stanja društvenih fenomena. 2. Sistem je razvijen nakon prolazka kroz procese kao što su analiza, planiranje, operacije. Međutim postoji potreba za kvalitativnom analizom, shvatanjem funkcije i mogućnosti razvijenog sistema prije svakog od navedenih procesa. Kao primjer razvoja sistema posmatrajmo uspostavljanje kemijske tvornice. Balans prora čuna u odnosu na ulazne i izlazne materijale ili balans topline je neophodan za odluku izgleda tvornice ili rasporeda opreme. Kada se montaža opreme planira po simulaciji koja koristi statički model, kvaliteta kontrole operacijske strategije može se ocjeniti operacijskom simulacijom koja se koristi dinami čkim modelom. 3. Još jedan od ciljeva simulacije nije samo ispitati stepen zadovoljavanja funkcija i mogućnosti, nego ocjeniti utjecaj razvoja sistema prema ocjeni cjelokupnog plana sistema. Ovo je poznato kao „procjena okoline“ ili „ocjena negativnih utjecaja“. 4. Također postoje primjeri unutar kojih su ljudska bi ća aktivni učesnici u simulaciji. U ovom slučaju sistem ili model se prvo ispita i potvr đuje, a nakon toga dolazi do uključenja ljudskog faktora u simulaciju. Cilj jeste shvatanje ljudskog ponašanja i trening za učenje. Ispitivanje upotrebne pogodnosti za rad odre đene opreme koju koriste ljudi je primjer simulacije za utvrđivanje ljudskog ponašanja ili psihičkih reakcija. Simulator leta ili poslovnih igara su primjeri treninga u čenja. Trening evakuacije u trenutku prevencije katastrofa predstavlja ne samo trening u čenja, nego služi i za shvatanje ponašanja ljudi u kriznim situacijama.
1.3. Simulacija i analitičke metode Postoje tri tipa simulacijskih metoda. Prvi tip naziva se usmjereno analogni, koristi stvarni sistem, a simulaciju provodi uz pomo ć modela. Drugi tip simulira verziju stvarnog svijeta uproštenog u neki model. Treći tip je situacija u kojoj je problem formuliran u oblik koji je analitički rješiv, i rješen je numerički, simulacijom. Veza ova tri tipa metoda i analitičkih metoda prikazana je na slika 1.2.
11
Slika 1.2: Simulacija i analiti č ke metode
Kao primjer prvog tipa, stvarni sistem se može koristiti kao model. Fenomeni iz realnog svijeta se zamjenjuju replikom ili imitacijom za proučavanje karakteristika sistema. Na primjer, provođenje treninga prevencije katastrofa uz reprodukciju pojave katastrofa, je primjenljiva na ovom tipu metode. Kod ovog tipa, modeli se ve ćinom koriste, poput eksperimentacije tunela vjetra za aerodrome, kod ispitivanja hidromehani čkih karakteristika. Eksperimentacija vodenih cisterni za brodove, eksperimentacija za postavljanje opreme ili kanala unutar komore nuklearnog reaktora i tako dalje. Tako đer, eksperimentacija sa životinjama u medicini također spada u usmjereno analogni tip metodu. Drugi tip simulacije, korištenje matematič kog modela,
zapošljava model sastvaljen od stvarnog svijeta, dok
numeričke vrijednosti su privržene tomu da prepoznaju „stvarno“. Ovaj tip simulacije nije isključivo vezan za slučajeve u inžinjerstvu, koji se nose sa fizikalnim varijablama; koristi se također u poljima društvenih nauka, menadžmentu i drugima. U sistemima velikih razmjera ili u društvenim naukama teško je vršiti eksperimentaciju sa stvarnim sistemima i eksperimentacioni podatci su većinom generirani simulacijom. Drugim riječima, stavljanjem različitih vrijednosti u model i simuliranje, omogućuje jednostavno izvršavanje numeričkih eksperimenata kao odgovor na razli čite uvjete. Treći tip simulacije, korištenje analitič kog modela.
Ovaj tip analitički ne rješava matematičke formule ali dobiva numeričke rezultate, 12
namjerno uz pomoć simulacije. Ovo omogućuje simuliranje stohastičkog modela uz pomoć Monte Carlo simulacije; numeričko rješavanje vjerovatnoće pojava u stvarom svijetu postaje moguće zamjenjujući čak i izvorni ne-vjerovatni tip parcijalnih diferencijalnih jednadžbi ili integralne jednadžbe, s stohastičkim modelom. Međutim, kako ova metoda nije uvijek precizna niti rukovodljiva u odnosu na druge numeri čke metode analize, njegova upotrebljivost nije uvijek visoka.
1.4. Proces simulacije Proces simulacije se razlikuje ovisno o njegovom cilju i objektu, ali uveliko je sli čan onom što nam je prikazano na slici 1.3.
Slika 1.3: Procedure provođ enja simulacije
13
Drugim riječima, 1. Klasifikacija objekta. Otkad je simulacija potpun proces za potizanje ciljeva, ne samo da cilj mora biti jasan, nego istovremeno moramo znati koji dio objekta ili koje ponašanje moramo simulirati i do kojeg stepena ta čnosti da bi cilj bio zadovoljen. 2. Skupljanje i organiziranje podataka . Podaci vezani za problem se prou čavaju, skupljaju i oraganiziraju za korištenje u pripremnom modelu i u odlu čivanju dometa sistema, broj varijabli, opseg varijacija, i ulazne informacije. 3. Izrada modela. Ovo je izrada konceptnog i apstraktnog modela. Model opisuje unutarnje stanje stvarnog sistema i vezu ulaz/izlaz u kojoj se koriste drugi apstraktni koncepti, poput numeričkih jednadžbi, logičkih jednadžbi, algoritama i drugih. Navedeni su važni za upotrebu. a. Uniformnost u konceptu modeliranja b. Potvrda dometa i strukturni elementi modela c. Selekcija varijabli i parametara d. Podjela interakcije izmeđ u strukturalnih elemenata i ovisnosti (dinami č ka i statič ka)
4. Eksperimentiranje simulacijom. Jednom kada je model određen, mora biti implementiran u kompjuteru ili nekom stvarnom objektu. Za to je potrebno odrediti tip kompjutera ili neki specifični uređaj koji je usklađen sa ciljevima i zahtijevima, kao i potreba za upravljanjem u stvarnom vremenu, čovjek/mašina, ekonomija, tačnost i tako dalje. Nakon toga se bira odgovaraju ći kompjuterski programi i karakteristike uređaja. 5. Evolucija i analiza rezultata. Kriterij evolucije bi trebao biti unaprijed uspostavljen i simulacija urađena u više navrata. U ovom procesu iz alternativnih prijedloga se bira najprimjerniji sistem i utvrđuje se vrijednost sistemskih operacija.
1.5. Kompjuteri za simulaciju Analogni, digitalni i hibridni kompjuteri se koriste za simulaciju; prema tome metode se nazivaju anlogna simulacija, digitalna i hibridna simulacija [5]. Bez obzira koju metodu izabrali, objekat mora biti modeliran i implementiran u kompjuteru. Za kontinualni model sistema, koji može biti izražen sa jednostavnom diferencijalnom jednadžbom, i za simulaciju dinamičkih modela koriste se konvencionalne analogne ili 14
hibridne simulacije. Osobine koje su svojstvene analognoj simulaciji su velika brzina računanja u čemu je računanje moguće u realnom vremenu, ili brzina stotog dijela istog; promjene u rješenjima s obzirom na promjenu parametara je jednostavno za shvatiti (mogu ća je takozvana senzitivna analiza); intuitivan i razumljiv program u odnosu na stvarni objekt; jednostavno rukovanje i tako dalje. Nedostatak je u davanju velikog broja podataka za obradu ili karakteristična nelinearnost, visoka tačnost je nedostižna protiv parcijalne diferencijalne jednadžbe.
Digitalna simulacija kao model koristi tako zvane jednadžbe numeri čkog izračunavanja za pronalazak numeričkih rješenja. Korištena je u logičkim proračunima, problemima čekanja u redu, statističkim problemima, diskretnoj simulaciji i čak u svim poljima kontinualne simulacije, kao što su nelinearni problemi, parcijalne diferencijalne jednadžbe i tako dalje. Nedostatak je u tome da su digitalni kompjuteri u ranim fazama bila spori pri računanju u odnosu na analogne kompjutere, i tako đer, bilo je teško paralelno povezati sa stvarnim objektom. U posljednjih nekoliko godina, pove ćavanjem brzine računara zajedno sa razvojem simulacijskih jezika pogodnih za simulaciju sistema, uveliko se proširila upotreba digitalnih simulacija.
Hibridna simulacija kombinira upadljiv izgled analogne simulacije i digitalne simulacije i bazirana je na tehnikama hibridnog ra čunanja. Prema tome, uzima prednost analogne brzine, preciznost digitalnog, funkciju upravljanja podacima i simulativno korištenje stvarnog sistema (analogni) u digitalnoj simulaciji je postalo mogu će. Ovisno o namjeni, hibridne simulacije se danas koriste za rješavanje diferencijalnih parcijalnih jednadžbi ili optimalnih vrijednosti problema.
1.6. Analogni kompjuter U analognom kompjuteru, još od operacionih kola kao sabira ča, množitelja, upotpunjavača mjenjača znakova, program može biti napravljen elektronskim spajanjem različitih operacionih kola u skladu sa datim jednadžbama pa čak i kada nema dubokog matematičkog znanja diferencijalnih jednadžbi, numeri čka rješenja problema se mogu pronaći. Posebnost simulacije uz pomoć analognog kompjutera je ta da sva raznolika operaciona kola mogu provesti proračune istovremeno, operacija velike brzine je mogu ća i analitički nerješivi problemi mogu biti rješeni. Osim toga, rad u stvarnom vremenu je moguće uz rješavanje jednadžbe i odgovor stvarnog vremena se može ostvariti. Rad u realnom
15
vremenu je neophodan uvjet u slu čaju da su kompjuterska i prava oprema sjedinjene ili za trening simulator. Analogni računar fundamentalno obuhvata sljedeća četiri dijela: 1. Operativni dio 2. Dio povezivanja 3. Kontrolni dio 4. Odjeljak za snimanje omogućuje prikazivanje rješenja Veza među njima i neki od osnovnih njihovih elemenata, prikazano je na slici 1.4. Operativni dio.
Ovaj dio predstavlja centar funkcija analognog kompjutera i sastoji se od
analognih operacionih elemenata, logi čkih operacionih elemenata, elemenata povezivanja za analogiju i logiku i djelova za postavljanje koeficijenata po potenciometru i tipu funkcije. Operacioni elemenat uključije takve linearne operacione elemente kao što si integrator, sabirač i tako dalje, koji migu biti formirani operacionim poja čaloom, kao i nelinearne elemente poput množitelja, generatora funkcija i tako dalje. Dio povezivanja.
Ovaj dio postavlja raznolike grupe operacionih elemenata i postavlja
program prema jednačini računanja; također je poznat kao patch board . Uglavnom koristi se naziv patch i može se odvajati od opreme. Ovisno o zahtijevima, može spremiti sadržaj programa. Veze sa vanjskim krugovima, kao i zaslon rješenja i odjeljak snimanja su tako đer uključeni ovdje. Kontrolni dio. Ovaj dio kontrolira operacione radnje i
čita izlaz svakog operacionog elementa.
Uostalom primarne radnje kao što su reset, ra čunanje i držanje, također postoje radnje za automatsko ponavljanje operacija, postavke potenciometra.
16
Slika 1.4: Osnovni elementi analognog kompjutera
1.7. Principi rada operacionog sklopa Ako su impedanse Z i i Zf povezane sa pojačalom visoke dobiti u negativne povratne informacije kao što je prikazano na slika 1.5. , tada ulazna terminalna tačka pojačala SJ postaje gotovo jednaka kao i potencijal zemlje (jer e i = -e0 /A za A>>1) u rasponu u kojem pojačala ne budu zasićena. Nadalje, nema protoka od ta čke SJ do pojačala kako je ulazna impedansa izuzetno visoka. Kao rezultat trenutni protok zbog napona koji se dodjeljuje e i postaje i=e i/Zi , i taj trenutni protok dospijeva do izlaza putem SJ i Z f .
Slika 1.5: Operaciono poja č alo 17
Slijedi:
=
=
−0
Relacija između ei i e0 postaje:
0= −
Takvo pojačalo je poznato kao operaciono pojač alo. Ako je impedansa operacionog pojačala spojena kao na slika 1.6. formiran je sabirač , dok se može formirati i integrator uz povezivanje kao što je prikazano na slici 1.8. Postoje raznolike metode konstruisanja množilaca, ali ve ćinom se koristi množilac četvrtina - kvadrat. Za dva signala x i y četvrtina njihovog zbira, i četvrtina njihove razlike će biti:
Slika 1.6: Princip rada sabirač a
Slika 1.7: Princip rada integratora 18
1
0=
+ 0
(x + y)2 = x2 + y2 + 2xy (x - y)2 = x2 + y2 - 2xy
Kada se uzme razlika ove dvije jedna čine, brišu se x 2 i y2, dok ostaju xy, kao u narednoj jednačini: (x +y)2 – (x – y)2 = 4xy
1.8. Primjer simulacije uz pomoć analognih kompjutera Kada se modelira pokretna platforma za željezni čki vlak ili osobni automobil sa oscilacione tačke gledišta. Ima oblik unutar kojeg vanjska sila se dodaje na tri elementa, masa, opruga, prigušenje.
x
∑
x+y
2
(x + y)2
y
∑
-1
∑
x-y
2
(x - y)2
xy
1/4
-1
Slika 1.8: Osnovni dijagram množioca č etvrtina-kvadrat
19
Odnosi ovih elemenata su formirani, postaju:
M
d 2x dt
2
+
D
dx
+ kx = F (t ) dt
gdje je: M masa, D sila prigušenja, K konstanta opruge, F vanjska sila Osnove mehaničkog sistema osciliranja može biti modeliran gornjom jedna činom. U nastavku modeliramo oscilator električnog sistema. Oscilacije se javljaju u električnom sistemu kada napon E(t) napaja krug sa zavojnicom L, otpornikom R i kon denzatorom C spojenih u seriju. Kada se uspostavi jedna čina za odnos napona ukupnog sistema, mogu se uzeti u obzir jednačine u odnosu na integrirane koli čine, nove količine Q i trenutne I , kao konačni rezultat bi mogli dobiti drugu linearnu jednačinu.
L
d 2x dt 2
+
R
dq dt
+
q C
E (t )
=
Za simulaciju ove jednačine koriste se tri tipa elemenata, sabirač, integrator i potenciometar, i bolje ih je spojiti linijama kako nam pokazuje slika 1.9.
1.9. Digitalni kompjuter: Prvi elektronski kompjuter ENIAC je prvo razvijen na univerzitetu u Pennsylvania 1946 godine.
20
IC1
= −
(
dy dt
)t
IC2
0
=
−
=
y(0)
dy dt
a1 f ( t)
−
a1
dy dt
−
a0
a0 y
Slika 1.9: Dijagram spajanja za
d2y dt
2
+
a1
dy
a0 y − f (t ) dt
Digitalni kompjuteri do tad su bili mehaničkog tipa ili relej tipa. Ovi ENIAC kompjuteri su sadržavali oko 18000 vakumskih cijevi radi pove ćavanja brzine. Program sa ENIAC-om, je kao i kod analognih kompjutera implementiran koriste ći patch board , i imaju formu koja može biti spremljena u patch board. Današnji ra čunari su prilagodili spremljene sistemske programe koje je osmislio John von Neumann, konsultant u razvoju ENIAC kompjutera. Nazivaju se von Neumannovi kompjuteri. U spremljenom sistemskom programu, program je spremljen u memoriji kao serije insrukcijskih kodova, koji se dohvataju redom jedan po jedan, dekodiraju i izvršavaju. Spremljeni sistemski program je predstavljen 1945 kao EDIVAC zamjena za ENIAC. Međutim, EDSAC sa engleskog univerziteta Cambridge je bio prvi spremljeni programski sistem koji ima izražen učinak na istraživanja i razvoj budućih kompjutera. EDSAC kao prvi spremljeni program sistemskog kompjutera po prvi puta na svijetu vrši računanja u maju 1949 godine. Digitalni kompjuteri sa spremljenim programom sistema sastavljeni su na takav na čin, drugim riječima von Neummanov kompjuter je postao osnovni arhitektonski oblik današnjih kompjutera. Zahtjev za povećavanje operacione brzine rada kompjutera dovodi do promocije tehnologije poluvodiča i napredak u tehnologiji arhitekture kompjutera. Zahvaljuju ći poluprovodnicima, godinu za godinom tranzistori si postajali sve manji, a time se poboljšavala LSI operaciona brzina i stepen integracije. Napredak u tehnologiji arhitekture kompjutera povećava operacionu brzinu putem stvaranja efektivnih, paralelno sekvencijalnih 21
procesa u toku izvršavanja svake naredbe kompjutera preko pipeline obrade.
Superkompjuter je opskrbljen iscrpljujućom pipeline obradom i operacionim vektorima obrade funkcije. Superkompjuteri su postali jedni od najefikasnijih alata za simuliranje stvarnih i fizikalnih fenomena. Računalo u razvoju kao alat za simulaciju stvarnih i fizikalnih fenomena sa ve ćom tačnošći i većom brzinom jeste paralelni kompjuter. Postoje dvoje vrste paralelnih kompjutera: oni kod kojih paralelna operacija obrade se vrši putem unutarnje arhitekture kompjutera i oni kod kojih su mikrokompjuteri spojeni vertikalno i horizontalno i napravljeni su da rade paralelno. Kakav god sistem da se koristi, paralelni kompjuteri su sasvim sigurno postali najveći alat za podršku eksperimentalnim proračunima fizičara. Karakteristična osobina superkompjutera ili paralelnih kompjutera je da posebno ciljaju na paralelizam operacija te poboljšati brzinu rada vektora u matrici ili distribucijskog sistema. Međutim, programi osmišljeni od strane ljudi su ve ćinom serijski i konvertovanje serijski izraženih programa u programe koji su efektni u radu vektora ili paralelnih operacija predstavlja problem dok se koriste ovi kompjuteri. Popularnost osobnih kompjutera od 1980 je proširila upoterbu simulacija. Ne samo da obi čni korisnici osobnih kompjutera mogu napisati simulacione programe za vlastite potrebe, nego tako đer mogu iskoristiti raznolike tipove tržišnih simulacionih programa po malim cijenama. Raznoliki gaming simulacioni programi su stavljeni na tržište i oni koji to žele, mogu da osjete efekte simulacije. Stvaranje radnih stanica učinili su da se ranije simulacije izvršavaju samo velikim kompjuterima, po mogućnosti na jednom stolu. U daljem razvoju displeji visoke rezolucije su korišteni i kod osobnih kompjutera a i kod radnih stanica, i kao rezultat toga nije samo boja postala mogu ća nego i vizualizacija izraza sa kombinacijom trodimenzionalnog displeja, kompjuterske grafike, animacije i tako dalje.
1.10. Historija simulacije: Mašina za računanje analognog tipa se prva pojavila u historiji sistemskih simulacija. Klizna pravila, planimetar, integratori i drugi su već dugo bili u upotrebi. Diferencijalni i harmonijski analizator su stvoreni krajem devetnaestoga stolje ća. Intagracija je obavljena pomoću proizvoda rotacijskog kuta uz pomo ć mehaničkih kružnih ploča. 1931 godine V. Bush je izmislio diferencijalni analizator na MIT-u. Još se može zvati mehanički tip jednostavnog analognog kompjutera. Bush je riješio nejvišu diferencijalnu jedna činu šestoga reda. Nakon toga razvijen je uređaj koji automatski rješava diferencijalne jednačine. Analogni 22
kompjuteri sa vakumskim cijevima javljaju se krajem drugog svjetskog rata. Tko je ga je izumio nije u potpunosti jasno, ali ve ćina čljudi smatra da ovaj uređaj za računanje, istih principe kao i diferencijalni analizator, može se posti ći kombinacijom kola vakumskih cijevi. 1950-tih godina, analogni kompjuteri su istraženi, prou čavani i većinom korišteni. Sredinom 50-tih godina kada su se pojavili digitalni kompjuteri, ideja je bila staviti naprijed obavljanje simulacijskih tehnika koje se provode na analognom kompjuteru, na digitalni kompjuter kao takav. Softver koji utjelovljenjuje ove koncepte je razvijen na razli čite načine zajedno sa uspostavljanjem osnovne upotrebe velikih kompjutera. CSMP i DDS su ve ćinom korišteni kao jezici kontinualne sistemske simulacije. 1960-tih godina simulacijski jezici za diskretne sisteme su razvijeni i GPSS i SIMSCRIPT se koriste i dan danas. Po četkom 1970-tih uvode mogućnost korištenja superkompjutera i simulacije prirodnih fenomena ili napredni fizikalnih fenomena. Popularizacijom osobnih kompjutera i radnih stanica u toku druge polovine 1980-tih godina, u razvoju nekoliko prilago đenih aplikativnih programa, simulativni programi, sa odličnim sučeljem čovjek-mašina.
1.11. Sistemska simulacija: Simulacija ulazi u širu upotrebu kako je upravljanje sistemom od strane društva i industrije postalo veće i kompleksnije. U jednu ruku, da bi analiti čki riješili i eksperimentirali nekim sistemom kao cjelinom, je bilo teško, a u drugu ruku osjetila se potreba za njegovim shvatanjem i evolucijom. Kod velikih sistema teško je predvidjeti kako će određena promjena jednog događaja uticati na drugi. Stoga sistem je modeliran i implementiran u kompjuteru. Osjetljiva analiza se radi uz razne vrijednosti ulaza modela i parametara radi boljeg shvatanja sistema i pri tome rješavanje bilo kakvih problema. Drugim rije čima, simulacija je postala neophodan alat za donošenje zna čajnih odluka i procjena. Tehnologija simulacija napreduje uz porast potražnje za sistematizacijom i unapre đenje kompjutera. Simulacija koja se bavi problemima sistema naziva se sistemska simulacija. Karakteristične osobine simulacije posljednjih godina su razvoj objekto-orijentiranih ili problem-orijentiranih simulatora i bitan napredak rukovanjem mogućnostima, kao rezultat toga promoviranje sistemskih koncepata i bolje metode prezentiranja rezultata. Sistemska simulacija je danas široko rasprostranjena, čak u poljima industrije i tehnologije brzo doseže visoke nivoe. 1
23
Tabela 1.1: Primjeri simulacija u razli č itim oblastima
Oblast Cilj korištenja simulacije 1. Električna energija Plan rada elektro-energetskog sistema, plan rada sistema vodenog toka, analiza i sistemske karakteristike, trening rada. 2. Nuklearna energija Dizajn sistema, dizajn jezgre reaktora, dizajn jezgre goriva reaktora, operaivna kontrola, fizikalni fenomeni (radijacija, plazma). 3. Metal i čelik Plan izgleda tvornice, plan rada, plan upravljanja, upravljanje zalihama. 4. Upravljanje Procjena potreba, plan objekta, plan rada, modeliranje i prirodni vodenim resursima fenomeni. 5. Tvornice 6. Prijenos 7. Komunikacije 8. Kompjuter 9. Proizvodnja poluvodiča 10. Upravljanje
Plan instalacija, plan rada, maketa, vizualizacija toka, vibracije, pouzdanost i sigurnost analiza. Plan gradskog saobraćaja, plan željezničkog sistema, kontrola operacija, plan protoka objekata u prostorijama, simulirani vizualni raspon. Plan mrežnih konfiguracija, prijenos funkcije prekidanja, funkcija kontrole mreže, funkcija upravljanja mrežom. Plan konfiguracije, evolucija funkcija (logika), evolucija performansi. Dizajn krugova, dizajn uređaja, dizajn procesa Podrška za donošenje odluka, upravljanje proizvodnjom, upravljanje zalihama.
24
2. Modeliranje i simulacija u telekomunikacijskim mrežama Simulacija predstavlja imitaciju nekog objekta iz stvarnog svijeta, i njen osnovni cilj jeste predstavljanje karakteristika simuliranog objekta. Simulacija se koristi za modeliranje stvarnih sistema da dobijemo uvid o njihovom funkcionisanju. Postoji nekolicina problema pri obavaljnju simulacije, a one su: 1. Pribavljanje validnih izvornih informacija o sistemu 2. Odabir ključ nih karakteristika ponašanja 3. Upotrebljavanje uproštenih aproksimacija i pretpostavki unutar simulacije 4. Vjernost i validnost rezultata simulacije Simulacija u kojoj putem računara pokušavamo modelirati neku situaciju iz stvarnosti, kako bismo proučili način rada modeliranog sistema, naziva se rač unarski bazirana simulacija.
Primjer ove simulacije je simulacija mrežnog saobraćaja u telekomunikacijskim mrežama. Eksperiment simulacije ima za cilj da putem računara, odnosno putem adekvatnih softverskih alata predstavi kako se sistem ponaša. Kod tog softverskog modela vrše se posmatranja i uočavaju se određeni pokazatelji. U obzir se uzimaju samo oni mehanizmi koji su odgovorni za ponašanje modela. Simulacijski model telekomunikacijske mreže opisuje funkcionisanje mreže pomo ću pojava na pojedinim njenim elementima. U model se ugra đuje zavisnost između pojedinih elemenata tako da se može uspostaviti dinami čko ponašanje mreže. Nakon postavljanja modela, pokreće se slučajnim generisanjem podataka ( probabič listič ka simulacija) ili se pokreće punjenjem nekim reprezentativnim ulaznim podacima ( deterministič ka simulacija) i nakon toga se simulira dinamičko ponašanje sistema.
2.1. Metodologija simulacije i modeliranja: Osnovno metodološko pitanje koje se name će prilikom provođenja simulacije jeste kako stvarni problem preslikati u problem koji je mogu će riješiti simulacijom, ako ne u potpunosti onda barem u određenoj mjeri. Taj proces obuhvata dvije faze, a to su faza definisanja problema, i faza deskriptivne analize.
Pri tome simulacija ne predstavlja kopiju stvarnog 25
sistema, jer to bi dodatno uvećalo kompleksnost postupka i potrebno vrijeme. Upravo zbog toga upotrebljavaju se razne tehnike koje daju prihvatljivu aproksimaciju sistema. Te tehnike se dijele na dva nivoa: - Nivo modeliranja – cilj ovog nivoa je predstavljanje sistema ili specifičnih funkcija ili procesa u sistemu - Evaluacija performansi – procjena odgovarajuće mjere performansi sistema Tačnost i vrijeme modeliranja su obrnuto proporcionalani, što je model ta čniji, njegov opis je detaljniji i potrebno je više instrukcija za njegovo opisivanje. Sistem nije jednoszna čno definisan nego on predstavlja posmatrani entitet u bilo kojem trenutku. Ovaj entitet se prikazuje blok dijagramom međusobnog povezivanja skupa podsistema. Cjelokupan prikaz sistema se može vizualizirati dijagramom stabla kao na slici.
Slika 2.1: Hierarhijska struktura komunikacionaog sistema
26
Cilj metodologije jeste smanjiti kompleksnost sistema odnosno predstaviti ga sa minimalnim brojem blokova. Prikazana hierarhijska struktura bi se mogla tuma čiti na sljedeći način Nivo 0 predstavlja mrežu, Nivo 1 linkove, Nivo 2 podsisteme svakog linka, itd. Tehnike evaluacije performansi predstavljaju skup analiti čkih alata i pretpostavki koje se primjenjuju unutar simulacijskog softverskog paketa u cilju efikasne procjene neke mjere performansi na sistemskom nivou. Tehnike evaluacije performansi mogu se dizajnirati za svaki pojedinačni slučaj, a obuhvataju: 1. Pretpostavke osobina sistema 2. Pretpostavke o statistič kim osobinama talasnih formi 3. Napredne statistič ke tehnike
Priprema verifikacije simulacijskog modela zahtijeva izvršavanje validacije i kalibracije. Verifikacija je poređenje programskog koda sa modelom, da bismo bili sigurni kako model predstavlja ispravnu implementaciju modela. Cilj verifikacije jeste otklanjanje postoje ćih grešaka u logici i implementaciji modela. Validacija tako đer predstavlja poređenje izlaza modela sa očekivanim ponašanjem sistema. Validacija se bazira na tri pitanja: a. Da li model predstavlja stvarni sistem na odgovarajući način? b. Da li su podaci koje generiše model karakteristike stvarnog sistema? c. Da li su rezultati modela ispravni? Kalibracija predstavlja podešavanje postojećih parametara i obično ne uključuje uvođenje novih parametara, koji bi promijenili strukturu modela. U kontekstu optimizacije, kalibracija je procedura optimizacije koja je uklju čena u identifikaciju sistema ili se koristi tokom eksperimentalnog dizajna. 2
27
3. Klasifikacija simulacija Kompjuterski simulacijski modeli se mogu klasificirati na nekoliko na čina: 1. Statički/dinamički model: Statički modeli su oni modeli koji su u stanju mirovanja, oni se ne razvijaju vremenski. S druge strane, dinami čki modeli predstavljaju sisteme koji se razvijuju vremenski ( npr., modeli saobra ćajnih semafora). 2. Deterministički/stohastički model: Kod determinističkih modela veza između matematičkih i logičkih varijabli (elemenata) je unaprijed fiksna i ne podliježe neizvjesnosti. Model sa najmanje jednom nasumice odabranom ulaznom varijablom se naziva stohastički model. 3. Kontinuirani/diskretni simulacijski model: U diskretnom simulacijskom modelu varijabla stanja se trenutačno mijenja u određenim tačkama u vremenu, dok kod kontinuiranog modela varijabla sistema se mijenja konstantno s vremenom. 3
3.1. Statički/dinamički model Svi sistemi, i prirodni i one koje je čovjek stvorio su dinamčki u smislu da postoje u stvarnom svijetu i koji se razvijaju s vremenom. Matematički modeli takvih sistema se, naravno, može posmatrati kao dinami čan u smislu da se razvija s vremenom i zato sadrže vrijeme. Međutim, često je korisno napraviti aproksimaciju ignoriranjem vremenske ovisnosti u sistemu. Takvi sistemi se nazivaju stati čki modeli. Tako možemo definirati koncepte dinamičkih i statičkih modela: •
Dinamički model uključuje vrijeme u modelu. Riječ dinamičan dolazi od grčke riječi dynamis što
znači snaga i moć, dinamikom kao (vremenski ovisan) interakcija između
sila. Vrijeme može eksplicitno biti uključeno kao varijabla u matematičkoj formuli ili da bude posredno uključena, npr., derivacija varijable kroz vrijeme ili kao doga đaj koji se javlja u određenim tačkama u vremenu. •
Statički model može se definirati kao model bez utjecaja vremena. Rije č statičan dolazi od grčke riječi statikos što znači uravnotežen. Statički modeli često se koriste za opisivanje sistema u stacionarnom stanju ili u uravnoteženim situacijama, gdje se izlaz ne mijenja ako je ulaz uvijek isti. Međutim, statički modeli mogu prikazati vrlo dinamično ponašanje kada se na njihov ulaz dovede dinami čki signal. 28
Obično je slučaj da ponašanje dinamičkog modela ovisi o svojoj historiji prethodnih simulacija. Na primjer, prisutnost derivacije po vremenu u matemati čkom modelu znači da je derivaciju treba integrirati za riješavanje odgovaraju će varijable kada je model simuliran, odnosno, operacija integriranja uzima istoriju prijašnjeg vremena u ra čun. To je slučaj, npr. za modele kondenzatora, gdje je napon na kondenzatoru proporcionalan akumuliranom naboju u kondenzatoru, odnosno, integracija/akumulacija struje kroz kondenzator. Deriviranjem te relacije napon kondenzatora po vremenu postaje proporcionalan struji kroz kondenzator. Tako, možemo proučavati kako napon kondenzatora raste tijekom vremena prema odnosu proporcionalnosti struje, što je prikazano na slici.
Slika 3.1: Otpornik je statički sistem, gdje je napon direktno proporcionalan struji, neovisno o vremenu, a kondenzator je dinami čan sistem gdje napon ovisi o prethodnom trenutku
Otpornik je primjer statičkog modela koji se može formulirati bez upotrebe vremena. Napon otpornika je direktno proporcionalan struji kroz otpornik, kao što je prikazano na slici 4.1, bez ovisnosti o vremenu ili prethodnom vremenu. 4
3.2. Deterministički/stohastički model Deterministički modeli su oni čije se ponašanje može predvidjeti, odnosno u kojima je novo stanje sistema u potpunosti određeno prethodnim stanjem. Na Sl. 4.2 prikazan je deterministički model u kojem se stanje sistema Sn mijenja pod uticajem aktivnosti A u stanje
29
Sn+1.
Prikazana je također i aktivnost A sa determinističkim trajanjem od 45 sekundi, npr.
trajanje pregleda jedne komponente određenog proizvoda.
Slika 3.2: Deterministički model
Stohastički modeli su oni čije se ponašanje ne može unaprijed predvidjeti, ali se mogu odrediti vjerovatnoće promjena stanja sistema. Dakle, za stohastičke modele je karakteristično slučajno ponašanje, odnosno postojanje slu čajnih promjenjivih u sistemu. Na Sl. 4.3 prikazan je stohastički model u kome se stanje sistema Sn može promijeniti u jedno od stanja,, ili pod uticajem aktivnosti A. Tako na primjer, nakon izvršenog pregleda, komponenta može biti odbačena ili se može ugraditi u finalni proizvod, pri čemu svako od tih stanja ima određenu vjerovatnoću.
Slika 3.3: Stohastički model
Drugi izvor slučajnosti, prikazan na istoj slici, je aktivnost sa slu čajnim trajanjem, odnosno trajanjem koje se određuje iz uniformne raspodjele vjerovatnoće. Primjer takve aktivnosti je točenje goriva na benzinskoj pumpi, gdje se mjerenjem odre đenog uzorka točenja goriva 30
vozilima dobijaju podaci iz kojih se može odrediti raspodjela vjerovatno ća trajanja te aktivnosti.5 Razlika između stohastičke i determinističke simulacije može se prikazati na primjeru sistema posluživanja s jednim poslužiteljem. Jednoposlužiteljski sistem sastoji se od skupa korisnika koje treba poslužiti i mehanizma koji ih poslužuje. Za opis ovog sistema treba poznavati: •
mehanizam dolazaka korisnika u sistem i vrstu informacionih jedinica,
•
mehanizam posluživanja (opis vremena posluživanja),
•
disciplinu čekanja, odnosno posluživanja.
Vrijeme posluživanja obično je varijabilno i ta varijabilnost se opisuje funkcijom raspodjele vjerovatnosti vremena posluživanja. Pri tome se pretpostavlja da nema me đuovisnosti vremena posluživanja i slijeda informacionih jedinica. Skup vremena posluživanja t si se uzima kao skup nezavisnih uzoraka iz funkcije raspodjele vremena posluživanja: H s(t s) = P{t si≤ t } s
Ponekad je potrebno da se informacione jedinice svrstaju u nekoliko klasa, a klase se zasebno opisuju karakterističnim funkcijama, kako bi se bolje opisala stvarna situacija. Dolazno vrijeme informacionih jedinica obično ne formira regularan niz i zato međudolazno vrijeme t ai varira na nepredvidiv način. To se opisuje funkcijom raspodjele vjerovatnosti me đudolaznih vremena: F a(t a) = P{t ai≤ ta }.
Kada su navedene funkcije raspodjele propisane, može se napisati algoritam generisanja nizova međudolaznih vremena i vremena posluživanja, a zatim se može pokrenuti simulator pomoću generisanih slučajnih nizova. Takav simulator bi bio stohastičkim simulatorom.
Slika 3.4: Probabilistički simulator jednoposlužiteljskog sistema 31
Dolazno vrijeme informacione jedinice u sistem može se dobiti dodavanjem me đudolaznog vremena na prethodnu vrijednost: t i = t i-1 + t ai.
Parametarski prikaz opterećenja sistema pomoću navedenih funkcija raspodjele se mora zasnivati na stvarnim podacima, a tako đe se mora ispitati da li su slučajni nizovi stacionarni ili nestacionarni, te serijski ovisni ili neovisni. Ukoliko nemamo takve podatke, koristi se deterministička simulacija. Kod ove vrste simulacije model se pokre će ulaznim nizovima dobivenim obradom mjernih podataka na stvarnom instaliranom sistemu (umjesto generatora slučajnih brojeva). Instalirani sistem na kojem se skupljaju mjerni podaci obi čno je referentni osnovni sistem koji omogućava praćenje odvijanja svih procesa za vrijeme funkcionisanja sistema u zadanim uslovima. Ovako dobiveni mjerni podaci se nakon odgovaraju će obrade koriste za pokretanje simulatora pojedinih procesa. Slika 4.5 prikazuje deterministi čki simulator jednoposlužiteljskog sistema. 6
Slika 3.5: Deterministički simulator jednoposlužiteljskog sistema
32
3.3. Kontinuirani/diskretni simulacijski model Simulacije mogu biti u kontinualnoj ili diskretnoj formi. Preduslov za kontinualnu simulaciju je da postoji kontinualan tok vremena tokom kojeg se simulacija pokre će u određenim vremenskim inkrementima (stanje sistema se reevaluira u kratkim vremenskim intervalima). Kontinualna simulacija se može u potpunosti ostvariti samo analognim računarom, dok se digitalnim računarom samo aproksimira tako da formira dovoljno male vremenske korake da ne bi bilo tranzicija izme đu stanja sistema od jednog do drugog koraka tj., one se moraju aproksimirati skupom diskretnih vrijednosti. Nedostatak kontinualne simulacije je potreba da se podešava sat koji odre đuje trajanje simulacije bez neke efektivne akcije – sistem stalno uvećava vrijeme i testira potrebne akcije (ništa se ne dešava izme đu susjednih događaja).6 Primjer kontinualne promjene je let aviona čiji se položaj i brzina mijenjaju kontinualno u vremenu.3
Slika 3.6: Kontinualni simulacioni model
Diskretna simulacija predstavlja modeliranje sistema u vremenu, pri čemu se varijable stanja mijenjaju samo u prebrojivom skupu trenutaka vremena. U tim trenucima se dešavaju događaji, pri čemu događaj predstavlja trenutno pojavljivanje koje može dovesti do promjene stanja sistema. Konvencionalne simulacije u paketski komutiranim mrežama obi čno podrazumjevaju upotrebu simulatora sa diskretnim doga đajima, koji modeliraju prolazak svakog pojedinačnog paketa kroz mrežu (tzv. simulacija na nivou paketa). Svaki dolazak paketa na mrežni element ili odlazak paketa sa elementa predstavlja doga đaj. Da bi se dobili povjerljivi rezultati potreban je veliki broj simuliranih paketa, odnosno dugo trajanje simulacije.6 Znači, u diskretnim modelima stanje sistema se mijenja samo u pojedinim tačkama u vremenu (nema kontinualne promjene stanja). Takve promjene se nazivaju 33
događaji. Na primjer, u modelu samoposluge mogu postojati promjenljive koje opisuju broj kupaca u redovima pred kasama, a taj se broj može mijenjati samo u trenutku dolaska kupaca u red i u trenutku početka opsluživanja na kasi.
Slika 3.7: Diskretni simualcijski model
Mogući su i mješoviti, kontinualno-diskretni modeli koji sadrže i kontinualne i diskretne promjenljive. Promjena stanja takvog modela prikazana je na Slici 4.8. 5 Zavisna promjenjiva
vrijeme Mješovito kontinualno-diskretni model
Slika 3.8: Mješoviti simulacioni model
Gotovo sva poznata okruženja mrežnih simulatora koriste metodu simulacije sa diskretnim događajima kako bi simulirali ponašanje mreže. To zna či da je od interesa samo stanje simulirane mreže u diskretnim trenucima vremena, dok se stanje sistema tokom ostatka vremena može zanemariti. Npr. može se posmatrati modeliranje ponašanja rutera koji šalje paket po nekom linku tipa tačka-tačka preko fizičkog prenosnog medija ka drugom ruteru. U 34
realnom sistemu ova naizgled jednostavna aktivnost je vrlo kompleksna, jer obuhvata kodiranje pojedinačnih bita u električne i optičke forme signala, detekciju i korekciju grešaka u prenosu informacija, prenos valnog oblika signala preko stvarnog komunikacionog linka, detekciju signala na prijemnoj strani, verifikaciju ispravnosti primljenog signala i rekonstrukciju paketa na prijemnom ruteru. Međutim, u okruženju simulatora ukupna opisana aktivnost se može modelirati bilježenjem samo dva doga đaja: predajni ruter šalje paket u nekom trenutku T i prijemni ruter u potpunosti prima paket u trenutku T + ∆T . U ovom slučaju ∆T predstavlja vrijeme potrebno predajniku da pošalje sve pojedina čne bite paketa uvećano za vrijeme propagacije signala do prijemnika. U bilo kojem trenutku tokom vremena ∆T
stanje sistema varira, ali se to sa stanovišta simulatora zanemaruje. Koriste ći ovako
pojednostavljeni pristup, stanje sistema treba promijeniti samo dva puta: jednom kada predajnik završi sa slanjem paketa i drugi put kada prijemnik primi cijeli paket. Svaka promjena stanja u simulatoru sa diskretnim vremenom se ozna čava kao događaj (event).6
35
4. Simulacije sa diskretnim događajima Simulacija sa diskretnim događajima je veoma korisna kompjuterska tehnika koja omogućuje bolje razumjevanje ponašanja pojedinih sistema. Kada mislimo na sistem, to onda znači skup entiteta (npr. ljudi, mašine) koji s vremenom vrše neku interakciju. Prirodna posebnost kao i svojstva nekog sistema kojeg želimo da shvatimo mogu da budu veoma različita. U suštini, da bi odredili da li sistem zadovoljava svoje posebnosti mi moramo pristupiti matematičkom modelu tog sistema. Kod simulacije sa diskretnim doga đajem modeli su ograničeni na takozvani model diskretnog događ aja. Pretpostavimo da imamo stanja nekog sistema čiji je razvoj prikazan kao redosljed oblika:
< s0 , (e0 , t 0), s1 , (e1 , t 1), s2 , ... >
gdje su si stanja sistema, ei su događaji sistema i t i su nenegativni brojevi koji predstavljaju vremena dešavanja događaja. Neformalno, ovaj redosljed znači da je sistem startao, recimo u vrijeme 0, u stanju s0; zatim događaj e0 se desio za vrijeme t 0 dovodeći sistem u stanje s1; zatim događaj e1 se desio za vrijeme t 1 dovodeći sistem u stanje s2; i tako dalje. Za svako dešavanje događaja se pretpostavlja da uzima nulto vrijeme. Varijable t i su potrebne da budu neopadajućeg karaktera, npr.; t i ≤ t i+1 za svako i.(Ne možemo insistirati na t i < t i+1 zbog toga što se, u slučaju modela diskretnog događaja, dva nevezana događaja mogu desiti u isto vrijeme.) Na osnovu datog razvoja sistema mi možemo odrediti njegova svojstva (da li doseže stanje mirovanja, da li je kružnog karaktera, itd.) kao i procjeniti mjere izvedbe (npr., vrijednosti stanja mirovanja, kružni period, itd.) 7 Simulacija sa diskretnim događajem je često korišteni analitički alat. Njegovi modeli mogu dosta približno zamijeniti izvedbe stvarnog sistema i mogu pružiti uvid u ponašanje sistema kada se izmjeni ili kako se ponaša potpuno nov sistem. Da bi postigli vjernost izvedbe stvarnog sistema, modelu simulacije sa diskretnim doga đajima su potrebni precizni podaci o tome kako je sistem funkcionirao u prošlosti ili precizne procjene nad izvedbenim 36
karakteristikama izmjenjenog sistema. Modeli simulacija sa diskretnim doga đajem mogu predstavljati sistem u kompjuterskoj animaciji što pruža onom koji odlu čuje odličan prikaz kako proces radi, gdje se nagomilavaju nezavršeni poslovi ili redovi, i kako predložena poboljšanja mogu izmjeniti izvedbe sistema. Tako đer, pružaju, onom koji odlučuje, sposobnost modeliranja i upoređivanja izvedbe sistema izvan granica mogu ćnosti. Simulacije sa diskretnim događajem imaju sposobnosti koje više odgovaraju detaljnoj analizi specifičnog, dobro definisanog sistema ili linearnog procesa, kao što su linija proizvodnje ili pozivni centar. Ovi sistemi se mijenjaju u posebnim tačkama vremena: nedostatak resursa, pauza operatora, smjena radnika, itd. Simulacije sa diskretnim doga đajima mogu pružiti statistički validne procjene mjernih izvedbi koje su povezane sa gore navedenim sistemima, npr., broj entiteta koji čekaju u određenom redu ili najduže vrijeme čekanja koje određeni korisnik može iskusiti. 8
4.1. Struktura simulacija sa diskretnim doga đajima Iako postoje različiti ukusi i uzori, u simulacijama sa diskretnim događajem se razvila osnovna struktura koja se koristi u većini simulacijskih paketa. Bez obzira koliko kompleksni ti simulaciski paketi bili, najvjerovatnije da će sadržavati osnovne komponente koje ćemo opisati u nastavku. Strukturne komponente simulacija sa diskretnim događajima čine: •
entiteti
•
aktivnosti i događaji
•
resursi
•
globalne varijable
•
generator slučajnih brojeva
•
kalendar
•
varijable stanja sistema
•
statistički sakupljači
37
4.1.1. Entiteti Najbolji način da se shvati funkcija entiteta je razumjevanje da entiteti uzrokuju promjene u stanju simulacije.
Bez entiteta ništa se ne bi desilo u simulaciji. Zapravo, jedno
stanje zaustavljanja za simulacijski model predstavlja stanje u kojem nema aktivnih entiteta u sistemu. Entiteti posjeduju atribute. Atributi predstavljaju jedinstvene karakteristike datog entiteta. Oni su ključni za razumijevanje izvedbe i funkcije entiteta u simulaciji. Primjer entiteta može biti dio koji putuje kroz tvornicu.. Entiteti koji predstavljaju dijelove u tvornici mogu biti napravljeni slučajnim odabirom ili čak prema nekom rasporedu. Atribut bi, uobičajeno, bio vrijeme koje označava početak pravljenja tog dijela u tvornici. Svaki dio ima jedinstveno vrijeme nastanka u tvornici. Isto tako, dio može sadržavati i druge atribute kao što su prioritet, vrsta dijela, ili trošak proizvodnje dijela. U normalnoj simulaciji tvornice koja prati svaki dio posebno, ne bi bilo neobi čno imati istovremeno na hiljade aktivnih entiteta u simulaciji. Međutim, entiteti ne moraju biti dijelovi neke proizvodne linije, nego je i česta praksa da sa entitetima predstavljamo bilo kakav tok informacije. Ova informacija može biti narudžba kupca, obavijest o email-u, paket unutar kompjuterske mreže, itd. Može biti nefizički bilo šta, što prouzrokuje promjenu u položaju sistema. I ovi entiteti imaju atribute. Na primjer, entitet, koji predstavlja paket unutar kompjuterske mreže, bi imao atribute kao što su veličina paketa, odredište paketa, vrijeme za koje paket treba sti ći na odredište, itd.
4.1.2. Aktivnosti i događaji Aktivnosti su procesi i logika u simulaciji, dok su doga đaji okolnosti koje se dešavaju u određenom trenutku vremena što uzrokuje promjenu u stanju sistema. Me đusobno djelovanje entiteta sa aktivnostima stvara doga đaj. Postoje tri glavna tipa aktivnosti u simulaciji: odgađ anja, redovi i logika. Aktivnost odgađ anje
je kada je entitet odgođen za neko određeno vrijeme. Taj period vremena
odgađanja može biti nasumice odabran ili može biti konstanta. U trenutku kada entitet po činje odgađanje desi se događaj, koji taj entitet rasporedi na kalendar (o kojem ćemo govoriti nešto kasnije). Ako se odgađanje odnosi na vremenske jedinice d , onda je entitet raspoređen tako da završi odgađanje vremenske jedinice d nakon trenutnog vremena simulacije.
38
Redovi
su mjesta u simulaciji gdje entiteti čekaju na neodređen period vremena.
Entiteti mogu čekati dok resursi ne budu slobodni ili mogu čekati na neki događaj vezan za stanje datog sistema. Redovi su naj češće korišteni za čekanje u redu na resurse ili za pohranjivanje materijala koji će biti uzet iz reda kada za to dođe pravo vrijeme. Aktivnosti logika jednostavno dozvoljava entitetu da utje če na stanje sistema kroz manipulaciju varijabli stanja ili logičke odluke.
4.1.3. Resursi U simulaciji, resursi predstavljaju sve ono što ima ograni čen kapacitet. Česti primjeri resursa uključuju radnike, mašine, čvor u komunikacijskim mrežama, saobraćajna raskrižja, itd. U simulaciji se mogu koristiti i veoma kokpleksni resursi. U simulaciji proizvodnje, na primjer, prenosnici su veoma komplesksni resursi koje mnogi simulacijski paketi nude. Isto tako, opcije transporta kao što su trake nude se kao resursi. Dalje, složeni resurs je i kontejner koji posjeduje stalni tok materijala(ulaze i izlaze). Ovisno o cilju simulacijskog paketa, mnogi kompleksni resursi su dostupni za upotrebu.
4.1.4. Globalne varijable Globalne varijable su varijable koje su u
svakom trenutku dostupne kompletnom
modelu. One mogu pratiti bil šta, što je u interesu cjelokupnog modela. Na primjer, ako imamo model restorana sa redovima za narudžbu, mogli bi imati više varijabli koje bi nam pomogle da postavimo problem kao i one koje bi nam pomogle da prikupimo informacije o prihodu. Varijable koje bi nam pomogle da postavimo problem bi bile dužina reda koja je dozvoljena u restoranu. Prva takva varijabla bi bila D užinaRedaZaNarudžbuHrane koja bi određivala maksimalnu dužinu reda za narudžbu hrane. Druga varijabla bi mogla biti DužinaRedazaPodizanjeHrane koja daje maksimalnu dužinu reda za podizanje hrane nakon
njene narudžbe. Mjenjanjem ove dvije varijable simulator može analizirati efektivnost konfiguracija različitih redova. Druge varijable koje bi nam pomogle da prikupimo informacije o prihodu su Prihod i IzgubljeniPrihod .
Varijabla Prihod bi predstavljala konačna suma prihoda prikupljenu u
simulaciji, dok varijabla IzgubljeniPrihod bi bila konačna suma izgubljenog prihoda zbog kojeg je došlo jer je potrošač mislio da je red bio previše dug.
39
4.1.5. Generator slučajnih brojeva Svaki simulacijski paket posjeduje generator slu čajnih brojeva. To je u stvari softwareska rutina koja generira slučajni broj između 0 i 1 upotrebljavana u distribucijama slu čajnih uzoraka. Na primjer, pretpostavimo da smo odlu čili da je kašnjenje nekog procesa ravnomjerno distribuirano između 10 i 20 minuta. Zatim, svaki put kada entitet prolazi kroz taj proces generator slučajnih brojeva će generirati broj između 0 i 1 i procijeniti stalnu formulu distribucije koja ima minimum 10 i maksimum 20. Neka je broj koji je slu čajno generiran broj 0.7312, onda će kašnjenje biti 10+(0.7312)*(20-10)=17.312. Znači, entitet će kasniti 17.312 vremenskih jedinica u simulaciji. Sve što je slu čajno u simulaciji koristi generator slučajnih brojeva kao ulaz da bi odredio vrijednosti.
4.1.6. Kalendar Kalendar simulacije predstavlja listu događaja koji su raspoređeni da djeluju u budućnosti. U svakoj simulaciji postoji jedan kalendar budu ćih događaja i raspoređeni su ranijim rasporedima vremena. U svakoj ta čki vremena svaki događaj koji je već bio raspoređen da se desi u budućnosti je sadržan u kalendaru.
4.1.7. Varijable stanja sistema Ovisno o simulacijskom paketu, može postojati nekoliko varijabli stanja sistema ali jednu varijablu stanja sistema koju svaki simulacijski paket ima je sadašnje vrijeme simulacije i mogli bi je zvati SadašnjeVrijeme. Ova varijabla se obnavlja svaki put uzimaju ći entitet iz kalendara.
4.1.8. Statistički sakupljači Statistički sakupljači su dio simulacije i oni prikupljaju statistiku nekog odre đenog stanja (npr., stanja resursa), ili vrijednost globalnih varijabli, ili statistiku nekih odre đenih performansi baziranih na atributima datog entiteta. Postoje tri razli čite statistike koje se sakupljaju: •
izbrojavanja – koji jednostavno broje;
•
vremenski postojana
– daju vrijednosti vremenskih težina različitih varijabli u
simulaciji; •
brojač i
– prikupljanje posmatranja jedno po jedno bez obzira na koli činu vremena
između promatranja.9 40
4.2. Razvoj simulacije diskretnih događaja Ključni elementi razvoja simulacionih programa u simulaciji sistema sa diskretnim događajima su: • Mehanizam pomaka vremena •
Pristupi generisanju događaja
•
Osnovne strategije simulacije
4.2.1. Mehanizam pomaka vremena U simulaciji sistema sa diskretnim događajima koriste se dva osnovna mehanizma pomaka vremena: • Pomak vremena za konstantni priraštaj i •
Pomak vremena na naredni događaj.
4.2.1.1. Pomak vremena za konstantni priraštaj
Vrijeme u simulacionom modelu se mijenja tako da se uvijek dodaje konstantni priraštaj. Nakon svakog pomaka vremena ispituje se da li je u prethodnom intervalu vremena trebalo da dođe do nastupanja nekih događaja. Ukoliko jeste, tada se ti događaji planiraju za kraj intervala. Nedostaci: Pomjeranjem događaja na kraj vremenskog intervala u kojem bi oni trebalo da nastupe, uvodi se greška u izvođenje simulacije. Osim toga, događaji koji u stvarnosti nisu istovremeni u ovom se pristupu prikazuju kao istovremeni, a zatim se odre đuje redoslijed njihovog izvođenja. Smanjenjem vremenskog prirasta te se greške smanjuju, ali se zato povećava vrijeme koje se troši na izvo đenje simulacije. Ovaj mehanizam pomaka vremena može se uspješno primjeniti u situacijama kada se događaji zaista nižu jedan po jedan u konstantnim vremenskim intervalima. Pristup je prikazan na sljedećoj slici.
Slika 4.1: Mehanizam pomijeranja vremena u simulaciji diskretnih doga đ aja , pomak vremena za konstantan prirast
41
4.2.1.2. Pomak vremena na naredni događ aj
Kod ovog pristupa simulacioni sat se pomjera na vrijeme u kojem će nastupiti prvi naredni događaj. U tom trenutku se događaj izvede i napravi se odgovarajuća promjena stanja sistema; zatim se ponovo ispituje koji će događaj sljedeći nastupiti, itd. Simulacija se završava kada nema više događaja ili kada je zadovoljen neki unaprijed definisani uslov završetka simulacije. Ovaj pristup je prikazan na sljedećoj slici. D1
D2
D3
D4
D5
D6
Vrijeme
0
t1
t2
t3
t4
t5
t6
Slika 4.2: Mehanizam pomijeranja vremena u simulaciji diskretnih doga đ aja, pomak vremena za sljede ći događ aj
4.2.2. Generisanje događaja U računarskoj implementaciji simulacionog procesa, doga đaj se opisuje sa više atributa, koji formiraju Slog događaja. S obzirom na promjenjiv broj događaja u vremenu, slogovi događaja se memorišu u Listama događaja. Slog i lista događaja prikazani su na sljedećoj slici: Lista događaja
Slog događaja 1 Slog događaja Slog događaja 2 Kod događaja
Vrijeme događaja
Par 1
Par 2
...
Par K
Slog događaja 3 Slog događaja N
Slika 4.3: Slog i lista doga đ aja
42
4.2.3. Pristupi generisanju događaja Postoje dva pristupa generiranju događaja i to: •
Definiranje događaja unaprijed (fixed event strategy ).
•
Pristup zasnovan na narednom doga đaju (next event strategy ). Definiranje događ aja unaprijed:
Kod ovog pristupa svi događaji su unaprijed poznati i definisani, a lista doga đaja sadrži slogove svih događaja.
Slika 4.4: Definisanje doga đ aja unaprijed Pristup zasnovan na narednom doga đ aju
Kod ovog pristupa poznat je jedino prvi naredni doga đaj, a lista događaja sadrži samo jedan slog, slog poznatog doga đaja. Pri izvršavanju događaja planira se i ubacuje u listu njegov nasljednik.
Slika 4.5: Pristup zasnovan na narednom doga đ aju
43
Događaje možemo svrstati u dvije osnovne kategorije u odnosu na mjesto nastanka (generisanja): • Eksterni događ aji su оni događaji koji ne zavise od modela. Oni predstavljaju uticaj okoline na sistem. U tu vrstu doga đaja ubrajamo dolazak npr. pojavu telefonskog poziva. •
Interni događ aji
zavise od modela i u njemu se generišu. Primjer internih doga đaja je
prekidanje veze po završetku razgovora. Lista događaja u trenutku t = t1, prije generisanja internih događaja i2 , i4 i i6, i lista događaja u trenutku t=t2 nakon genrisanja internih događaja: e2
i1
i1
e2
i3
i3
i5
i5
t1
t
e2
i3
i5 i2
e2
i3
i4
i5
i6 i2
i4
i6 t
t2
Slika 4.6: Lista događ aja
44
4.3. Strategije izvođenja simulacije Koncepti kao što su događaj, aktivnost i proces čine polaznu osnovu za definisanje strategija izvođenja simulacije sistema sa diskretnim događajima. Te strategije su: •
Raspoređivanje događaja
•
Skeniranje aktivnosti
•
Interakcija procesa
4.3.1. Raspoređivanje događaja Mehanizam raspoređivanja događaja podrazumjeva da se događaji unaprijed drže u listi budućih događaja. Procedura planiranja događaja je da se generiše slog događaja, a zatim se dodijele vrijednosti njegovih atributa i događaj se stavlja u listu budućih događaja. Funkcionisanje simulatora se odvija tako da se sa liste budu ćih događaja uzima prvi događaj. Tada se obnavlja simulacioni sat na vrijema njegovog nastupanja. Na osnovu tipa izabranog događaja, poziva se odgovarajuća procedura koja izvršava sva ažuriranja u modelu i simulatoru, povezana sa nastupanjem izabranog doga đaja. Kada se izvrše svi događaji koji imaju isto vrijeme nastupanja, simulacioni sat se ažurira na vrijeme sljede ćeg događaja, iz liste budućih događaja.
Slika 4.7: Dijagram toka raspore đ ivanja događ aja 45
4.3.2. Skeniranje aktivnosti Aktivnost je definisana kao skup operacija koje transformišu stanja entiteta. Da bi se izvršila simulacija sistema sa diskretnim događajima, potrebno je realizovati računarski program koji skenira i raspoređuje aktivnosti modela. Skeniranje aktivnosti podrazumjeva da se događaji implicitno raspoređuju tako da se promjena stanja izvršava preko funkcija koje se nazivaju aktivnosti. Svaka aktivnost ima Uslov i Akciju. Za svaki vremenski korak, aktivnosti se skeniraju i traži se prva aktivnost koja ima zadovoljen uslov. Tada se izvršava odgovaraju ći programski segment koji specificira akciju za zadatu aktivnost. Proces skaniranja nastavlja se sve dotle dok sve aktivnosti ne budu blokirane. Onda i samo onda se simulacioni sat ažurira na sljede ći vremenski korak. Za izvršenje aktivnosti u realnom sistemu potrebno je izvjesno vrijeme, dok pri simulaciji nije potrebno pratiti kretanje aktivnosti od početka do završetka. Samo se prelazi sa jedne aktivnosti na drugu definišu eksplicitno.
Slika 4.8: Tabele aktivnosti
46
4.3.3. Interakcija procesa Interakcija procesa predstavlja tehniku simulacije koja je nastala kombinacijom raspoređivanja događaja i skeniranja aktivnosti. Proces možemo posmatrati kao skup uzajamno isključivih aktivnosti, povezanih tako da terminiranje jedne aktivnosti dozvoljava inicijalizaciju neke druge aktivnosti iz skupa aktivnosti procesa. S obzirom na to da model sistema predstavlja skup paralelnih procesa od kojih neki mogu biti uzajamno isključivi, glavni problem je sinhronizacija procesa. U ovom prilazu, mogući konflikt koji proističe iz preklapanja procesa, riješava se uvođenjem dvije naredbe koje se upotrijebljavaju pri specifikaciji događaja. To su: •
WAIT i
•
DELAY ,
i to u oba konteksta, uslovnom i bezuslovnom. WAIТ naredba u uslovnom kontekstu ima oblik: W А I Т UNTIL
Ukoliko je uslov zadovoljen, proces koji čeka na taj uslov, nastaviće svoj tok. U suprotnom, biće blokiran. U tom slučaju ispituje se koji od ostalih procesa može da se aktivira i on se izvršava. Naredbom DELAY која sе u bezuslovnom kontekstu u literaturi ozna čava i sa: ADVANCE
nastavak procesa odlaže se za specificiran broj vremenskih jedinica. U tom slu čaju, ispituje se koji od ostalih procesa može da ostvari svoj tok. Na taj na čin se u ovu metodologiju prenose dobre osobine metodologije raspoređivanja događaja. U okviru procesora, održavaju se dvije liste događaja: •
Lista tekućih događ aja: sadrži uslovne događaje; soritrana je po prioritetu..
•
Lista budućih događ aja:
sadrži raspoređene događaje koji tek treba da nastupe;
sortirana je po vremenu nastupanja. Planiranje događaja procesor vrši po strategiji narednog događaja. Pri svakom premiještanju događaja, iz liste budućih događaja u listu tekućih događaja, planira se njegov nasljednik koji se stavlja u listu budućih događaja, da tamo čeka svoje vrijeme nastupanja.
47
Prije početka simulacije, za svaki proces generiše se prvi doga đaj i stavlja se u listu budućih događaja. Zatim se vrijeme simulacije obnavlja na vijeme doga đaja sa vrha liste budućih događaja. Rad procesora odvija se u dvije faze: •
Faza obnavljanja vremena simulacije :
simulacioni sat se postavlja na vrijednost
vremena nastupanja prvog događaja iz liste budućih događaja, a zatim se prebace svi događaji sa tim vremenom nastupanja u listu teku ćih događaja. Pri tome se za svaki premješten događaj planiar nasljednik i stavlja se u listu budućih događaja. •
Faza skeniranja liste tekućih događ aja: skenira se lista tekućih
događaja i ukoliko ima
neblokiranih događaja oni se izvršavaju. Kada nema događaja u listi tekućih događaja, ili su svi događaji blokirani, tada se prenosi prvi događaj iz liste budućih događaja i obnavlja se sat simulacije na njegovo vrijeme. Simulacija se odvija sve dok se ne zadovolji kriterij za završetak simulacije. Tada se vrši završna obrada rezultata simulacije i procesor završava rad. 10
Slika 4.9: Algoritam rada procesora pri interakciji procesa
48
5. Primjeri najčešće korištenih simulatora Danas postoji veći broj simulacijskih alata, više ili manje specijaliziranih, od kojih su neki komercijalizirani, a drugi vezani za neku radnu grupu ili univerzitet. Ve ćina simulatora je vezana za specifičnu mrežnu platformu, dok samo manji broj teži generaliziranom pristupu. U nastavku je prikazano nekoliko alata koji imaju široku korisni čku bazu i kvalitetnu dokumentacionu podršku.11 Boson NetSim je jedan od komercijalnih programa za simulaciju ra čunarskih mreža. U okviru
NetSima-a postoji i alat Network Designer koji omogućava da se dizajnira i planira mreža i da se kasnije određena topologija učita u simulator. Osnovne kompomemte ovog programa su: 1. Lab Navigator 2. Network Designer 3. Network simulator 4. Lab Grader Lab Navigator omogućava da se vidi, odabere i učita u simulator odabrana vježba ugrađena u simulator. Network Designer je alat koji omogućava da se dizajnira kako jednostavna tako i složena mrežna topologija. Predviđen je da omogući praktično kreiranje i administriranje Cisco mreža. Network simulator je alat koji zapravo simulira mrežu i putanje virtuelnih paketa i u njemu se vrši podešavanje mrežne opreme. Ovaj alat omogu ćava da se kontrolišu brojni uređaji i da se konfigurišu kada je to potrebno. Lab Grader je alat koji analizira završenu konfiguraciju i provjerava da li je urađena ispravno. 12
Slika 5.1: Boson Netsim verzija 8 i su č elje 49
QualNet Developer
je ultra visoko-pouzdan evaluacijski mrežni softver koji simulira
bežične, žičane, mreže razlićitih platformi i svojstva mrežnih uređaja. Dizajniran da iskoristi svu prednost multi-threading mogućnosti multi-core 64-bitnih procesora, QualNet podržava simulaciju hiljade mrežnih čvorova. QualNet pruža neusporedivu platformu prenosivosti i fleksibilnosti su čelja. QualNet radi na sekvencijalnim i paralelnim Unix, Windows Mac OS X i Linux operativnim sistemima, i također je dizajniran da se može s lako ćom povezati sa modeliranim/simulacijskim aplikacijama i živi mrežama. 13
Slika 5.2: QualNet suč elje
QualNet je komercijalni alat proizveden iz GloMoSim-a koji je prvi put predstavljen 2000. god. od strane Scalable Network Technologies (SNT). Danas, glavne razlike izme đu QualNet-a i GloMoSim-a su: -
QualNet se temelji na C++; GloMoSim na Parsec-u
-
QualNet je komercijalni proizvod; GloMoSim je distribuiran pod licencom kao akademski open source
-
QualNet se održava od strane SNT-a; GloMoSim od strane UCLA Parallel Computing Lab.14
Packet Tracer je
Cisco ruter emulator koji može biti korišten u treniranju i edukaciji, ali
također u istraživanjima za jednostavne simulacije računalnih mreža. Alat je razvijen od 50
strane Cisco System-a i opremljen je za besplatbu distribuciju fakultetima, studentima, i onima koji su ili učestvuju u programima Cisco akademije. 15
Slika 5.3: Packet Tracer su č elje
Packer Tracer je simulacijski softver koji omogu ćava lako i jednostavno učenje mrežnih tehnologija. Nije zamišljen kao zamjena za mrežnu opremu u laboratoriju, on je dodatak opremi. Packet Tracer je realiziran kao mrežna aplikacija (peer to peer) koja omogu ćava korištenje preko mreže (TCP protokol). Packet Tracer aplikacija koja radi na jednom ra čunaru na mreži može komunicirati istovremeno sa Packet Tracer aplikacijama na jednom ili više računara na mreži. Ova osobina istovremenog rada na Packet Tracer-u više korisnika na mreži omogućava podršku za grupni rad, kolaboraciju, natjecanje i na kraju udaljenu instruktorstudent interakciju. Protokoli koje podržava Packet Tracer: HTTP, TFTP, Telnet, DNS, DHCP, TCP, UDP, IPv4, IPv6, ICMP, ARP, STP, RSTP, i mnogi drugi. 16 SSF (Scalable Simulation Framework)
simulator je otvoreni alat za simuliranje
kompleksnih sistema. Razvijen je zajedni čki od strane Rutgers University i Dartmouth University, napisan u Java jeziku, a tako đe postoji i C++ varijanta. U okviru ovog alata razvijen je SSFNet, koji predstavlja skup Open-source Java modela za razli čite protokole (IP, TCP, UDP), mrežne elemente, te odgovarajuću objektno-orjentisanu podršku za simulaciju multiprotokolnih i multidomenskih okruženja. Razvoj simulatora je prilago đen radu na multiprocesorskim sistemima, a moguće je i paralelno izvršavanje na razli čitim operativnim sistemima. Postavljanje i upravljanje simulacijom vrši se korištenjem DML (Domain Modeling Language) jezika, odnosno tekstualno baziranog jezika XML-tipa, koji omogu ćava 51
kreiranje topologija sa do 100.000 hostova i rutera. Distribucija ovog simulatora sadrži i izvorni kod sa dvije verzije: SSF.OS – koji je specijalizovan za modeliranje komponenti operativnog sistema hosta (posebno protokola) i SSF.Net – za modeliranje topologije mreže, kreiranje čvorova i konfiguraciju linkova. Ova distribucija tako đe sadrži i kod za upravljanje saobraćajem, gotove modele protokola i hostova sa razli čitim generisanim saobraćajem, kao i modul za prikupljanje i obradu rezultata simulacije (CERN Colt). Ovaj simulator je pogodan prije svega za simulaciju velikih i kompleksnih sistema, kao što je Internet, te za pra ćenje rada mreža u dužim vremenskim intervalima, zbog svoje mogu ćnosti obrade velike količine podataka. GTNetS (Georgia Tech Network Simulator) je
razvijen na Georgia Tech – Department of
Electrical and Computer Engineering, kao objektno-orjentisani alat napisan u potpunosti u C++ programskom jeziku. Dizajn ovog simulatora veoma blisko odgovara dizajnu stvarnog skupa mrežnih protokola i mrežnih elemenata. Alat je dizajniran tako da radi u distribuiranom okruženju, što dovodi do veće skalabilnosti. Da bi kreirao simulaciju korištenjem GTNetS, korisnik treba da kreira C++ glavni program, koji kreira potrebne objekte za opis i izvršenje simulacije. Program se kompajlira standardnim C++ kompajlerom i linkuje sa bibliotekama koje sadrže simulacijske modele. Da bi se pokrenula simulacija izvršava se rezultiraju ća binarna datoteka. NEST simulator
je razvijen na Columbia University, a služi za simulaciju distribuiranih
algoritama i sistema. Dosta se koristi za simuliranje protokola rutiranja. Alat je razvijen kao klijent-server arhitektura: server simulatora je odgovoran za izvršenje simulacija, dok su klijenti nezavisni programi koji se koriste za kreiranje i konfigurisanje simulacije. Korištenjem grafičkog interfejsa moguće je dinamičko podešavanje simulacije, odnosno konfiguracije mreže. Podjela simulacije na više resursa omogu ćava uštedu u CPU resursima, jer je dovoljno da server ima bolju konfiguraciju, što nije neophodno za klijentske ra čunare. Ovaj princip rada omogućava i istovremenu komunikaciju više korisnika sa serverom. NEST je implementiran kao biblioteka funkcija koje su međusobno povezane korisničkim kodom i napisan je u C jeziku. NEST nije simulator zasnovan na pra ćenju diskretnih događaja. Simulacija se obavlja preko tzv. sinhronizacijskih pojasa, tako da svaki čvor dobije jednak udio procesorskog vremena. Kad do đe na red, proces na jednom čvoru se obavlja u vremenskom intervalu jednakom širini sinhronizacijskog pojasa.
52
REAL je mrežni simulator razvijen na Cornell University i baziran je na modificiranoj verziji
NEST simulatora. Koristi se za proučavanje dinamičkog ponašanja tokova saobra ćaja u TCP/IP mrežama, kao i za simuliranje strategija kontrole zagušenja. REAL implementira oko trideset modula napisanih u C jeziku, koji emuliraju protokole, i nekoliko disciplina posluživanja (FIFO, FQ, RR, itd.). Grafički interfejs je napisan u Java jeziku. REAL je, kao i NEST, klijent-server program. Ulaz u simulator je scenario gdje se nalaze opisi topologije mreže, protokola, opterećenja i kontrolnih parametara. Izlaz simulacije su statisti čki podaci kao što je broj emitovanih paketa po svakom izvoru, dužina vremena čekanja na svakom baferu, broj ispuštenih paketa, broj reemitovanih paketa i sl. Kod simulatora je dostupan i za modifikaciju. Instalira se na nekom od BSD operativnih sistema, a može se implementirati i na Linux platformama. OPNET je
komercijalni alat razvijen od strane Opnet Technologies, koji je u primjeni ve ć
dvadesetak godina. Obzirom na karakter alata, nisu dostupni podaci o njegovoj unutrašnjoj strukturi. Uz potrebne procesorske i vremenske resurse, OPNET se može koristiti za simuliranje mreža sa nekoliko stotina ili nekoliko hiljada čvorova. Paket se sastoji od nekoliko modula: OPNET Modeler, OPNET Planner, Model Library, IT Guru, itd. Za simulaciju mreža najinteresantniji je OPNET Modeler, koji se koristi za modeliranje, simuliranje i analizu performansi velikih telekomunikacionih mreža ili aplikacija. Njegova metodologija modeliranja je organizovana u hijerarhijsku strukturu. Na najnižem nivou, Process Editor služi za obradu procesnih modela, a stanja i promjene stanja se specificiraju grafički korištenjem dijagrama promjene stanja, dok su opisi stanja programirani u Csrodnom jeziku, Proto-C. Ovi procesi, kao i ugra đeni moduli u OPNET-u (izvori i prijemnici, generatori saobraćaja, redovi čekanja itd.) su organizovani u menije kojim se upravlja pomo ću Node Editor -a.
Pomoću grafičkog Network Editor -a čvorovi i linkovi se organizuju u
topologiju mreže. Alat za analiziranje Analysis Tool pruža grafičko okruženje za uvid i manipulaciju podacima prikupljenim tokom trajanja simulacije. OPNET Planner je aplikacija koja omogućava administratorima evaluaciju performansi komunikacionih mreža distribuiranih sistema, bez programiranja i kompajliranja. Korisnik bira preddefinisane mrežne elemente na fizičkom nivou i uvezuje ih preko grafičkog interfejsa, te podešava atribute. Korisnik nema mogućnost da definiše nove modele i komponente. Biblioteke modela ( Model Libraries) su uključene u OPNET Modeler i OPNET Planner i sadrže protokole, te simulaciona okruženja, kao što su TCP/IP, ATM, Frame Relay, Ethernet; zatim modele linkova kao što su point-to-point ili sabirnica, discipline čekanja (FIFO, LIFO, RR, FQ), 53
interfejse između različitih protokola itd. OPNET se može koristiti na Windows i Unix platformama. Koristi se u akademske i industrijske svrhe, a osnovni nedostaci su cijena alata, te nemogućnost prilagođavanja specifičnim korisničkim zahtjevima. Kao demo verzija ovog alata dostupan je IT Guru, koji sadrži neke osnovne funkcionalnosti OPNET Modelera. OMNeT++ je
objektno-orjentisani simulator koji se koristi za modeliranje komunikacionih
protokola, računarskih mreža i multiprocesorskih distribuiranih sistema. Napisan je u C++ jeziku, a izvorni kod je dostupan s besplatnom akademskom licencom. Komponente se grupišu u mrežnu arhitekturu korištenjem jezika visokog nivoa NED. OMNET++ sadrži manji broj ugrađenih modula od drugih sličnih simulatora, ali je softverski veoma dobro organizovan i fleksibilniji za upotrebu od drugih simulatora. To je sistem hijerarhijski ugniježđenih modula. Dubina gniježđenja modula nije ograničena, čime se omogućava korisniku da prenosi stvarnu logičku strukturu mreže na simulator. Moduli predstavljaju najniži nivo hijerarhije i međusobno komuniciraju preko poruka. Tokom izvođenja simulacije neki moduli se paralelno izvršavaju, pošto su implementirani kao mali pseudoprocesi. Za pisanje modula potrebno je C++ programiranje. Instalacijom OMNeT++ alata dobije se i set preddefinisanih klasa (redovi čekanja, histogrami, nizovi). Komponente OMNeT++ alata su: kernel biblioteka, kompajler za NED jezik, grafički editor za topologiju mreže (GNED) i prateća dokumentacija. Simulator radi na Unix i Windows baziranim platformama. Alat ima razvijen grafički interfejs i otvoren modularan kernel. NS (Network Simulator)
je prvobitno razvijen u okviru Lawrence Berkeley National
Laboratory 1989.godine (NS-1.0) , a dalji razvoj je nastavljen u okviru VINT projekta (NS-2 simulator).
Danas
NS-2
predstavlja
najrašireniji
alat
za
projekte
simulacije
telekomunikacionih mreža. Primarno se koristi za simulaciju IP mreža, kako lokalnih, tako i WAN mreža. NS-2 je multiprotokolski simulator koji implementira razli čite aplikacione protokole (Telnet, FTP, HTTP), transportne protokole (UDP, razne verzije TCP, RTP, RTCP), unicast i multicast protokole usmjeravanja, MAC protokole, mehanizme za upravljanje redovima čekanja (Drop Tail, RED, CBQ), itd. U simulatoru su implementirani mehanizmi za implementaciju kvaliteta servisa, kao što su razni algoritmi za posluživanje paketa, diferencirani servisi, MPLS i dr. NS-2 je pisan u programskom jeziku C++, sa korisničkim interpreterom OTcl, sa C++ i OTcl hijerarhijskom strukturom klasa. C++ je pogodniji za detaljnije implementacije protokola, jer brže izvršava programe, ali je u tom jeziku sporije izvršiti promjene. S druge strane, OTcl se sporije izvršava, ali se u ovom jeziku 54
brže implementiraju promjene. Zbog toga je OTcl pogodniji za konfigurisanje i podešavanje same simulacije. Ukoliko postojeće klase ili objekti u C++ hijerarhiji nisu dovoljni za ostvarivanje ciljeva simulacije, potrebno je koristiti C++ komponentu NS2 simulatora. Na slici 1-4 prikazan je korisnički aspekt procesa simulacije pomoću NS-2 simulatora. NS-2 je objektno-orjentisani interpretator skripti, koji ima raspoređivač događaja simulacije, biblioteke objekata mrežnih komponenti i biblioteke modula za konfigurisanje mreže. Događaj u NS-2 je jedinstveni ID paketa sa predviđenim vremenom i pokazivačem na objekat koji upravlja događajem. Raspoređivač događaja prati simulacijsko vrijeme i aktivira sve događaje u redu čekanja, pozivajući odgovarajuće mrežne komponente (obično one koje su generisale neki događaj) i puštajući ih da obave odgovarajuće akcije sa paketima na koje pokazuje događaj.
Slika 5.4: Korisnič ki aspekt procesa simulacije
IMUNES ( Integrated Multiprotocol Network Emulator/Simulator ) je sustav za emulaciju/simulaciju mrežnih topologija na samo jednom fizi čkom računalu razvijen na Fakultetu elektrotehnike i računarstva Sveučilišta u Zagrebu. Kao alternativa sklopovskom testbed okruženju razvijen je 2003. godine u okviru projekta kojeg je financiralo Ministarstvo znanosti i tehnologije Republike Hrvatske (MZT I-projekta 2003-143) IMUNES, integrirani mrežni emulator/simulator koji oponaša svojstva stvarnih umreženih sustava. IMUNES radi na modificiranoj jezgri operacijskog sustava FreeBSD i zasniva se na konceptu klonirajućih mrežnih stogova ( clonable network stack ). Pri stvaranju čvora u jezgri OS-a stvori se replika mrežnog TCP/IP stoga. Takav čvor nazivamo virtualnim čvorom. Svaki virtualni čvor može podržati identični, odnosno cjeloviti skup funkcija kao i standardna jezgra operacijskog sustava i može se implementirati vrlo u činkovito kroz 55
modifikacije postojećeg programskog koda jezgre OS-a. Predloženi model svakom virtualnom čvoru omogućuje upravljanje vlastitom nezavisnom instancom mrežnog stoga. Svaka instanca mrežnog stoga ima vlastite tablice IP usmjeravanja ( routing tables), mrežna sučelja (network interfaces), mrežne sockete, repove za dolazni promet ( receive queues), brojače prometa, instancu IP vatrozida ( IP firewall), instancu traffic shapera (dummynet ), grupu pripadajućih korisničkih procesa, ograničenja korištenja procesorskog vremena i drugo. Svojstva IMUNES-a su rad u stvarnom vremenu pri gigabitnim brzinama, dobra skalabilnost; moguće je simulirati više od tisuću čvorova na jednom standardnom PC-u, te jednostavno i učinkovito povezivanje simulirane mreže sa stvarnim mrežama (emulacija). Mrežne tehnologije koje su dosad podržane ovim pomagalom su point-to-point, Ethernet i Frame Relay, te svi dinamički protokoli usmjeravanja podržani na open-source implementacijama, kao što su zebra/quagga ili XORP. Arhitektura ovog sustava je fleksibilna i ostavlja prostor za laku nadogradnju u budućem razvoju.
Slika 5.5: IMUNES suč elje
Grafičko sučelje IMUNES-a napravljeno je u programskom jeziku Tcl/Tk. Ono omogu ćava specifikaciju i upravljanje simulacijama i predstavlja poveznicu izme đu jezgre OS-a i korisnika koji pri uporabi ovog alata ne mora ulaziti duboko u arhitekturu sustava. Tako se ovaj alat čini dostupnim i onim korisnicima koji nisu stru čnjaci u područ ju operacijskih sustava ili koji se tek upoznavaju s mrežama, mrežnim tehnologijama i protokolima. 56
Jedan od smjerova razvoja alata je unaprje đenje generatora sintetičkih topologija. I ranije su postojali slični generatori unutar grafičkog sučelja koji su automatski stvarali sljedeće topologije u radnom prostoru alata ( canvasu): zvjezdastu (star ), cikličku (cycle) i sabirničku (chain) topologiju koje su poznate u mrežnoj terminologiji, te neke koje potje ču iz teorije grafova: klika ( clique) i bipartitna (bipartite) topologija. Random topologija nastaje tako da se odabere broj čvorova i veza (linkova) među njima koji će sačinjavati mrežu. Generator automatski stvori mrežu, pri čemu se najprije stvore čvorovi, a kasnije i veze na slučajan način. Pritom je ispunjen uvjet da je nastala mreža povezana, tj. da ne postoji više nepovezanih podmreža. Generatori mrežnih topologija vrlo su korisni kod kreiranja mreža, posebno LAN-ova, jer štede vrijeme pri njihovoj specifikaciji. IMUNES se koristi prvenstveno kao pomagalo pri razvoju i testiranju novih mrežnih protokola. Njime se također koriste neka sveučilišta u Hrvatskoj i svijetu u istraživačke i edukacijske svrhe. Na Fakultetu elektrotehnike i ra čunarstva u okviru laboratorijskih vježbi služi studentima za jednostavnije i učinkovitije učenje o mrežama, mrežnim tehnologijama i protokolima.17
57
Zaključak U ovom seminarskom radu smo nastojali da se malo bliže i bolje upoznamo sa pojmom Simulacije. Naučili smo šta je to simulacija, klasificirali smo simulacije i detaljno smo obradili simulacije sa diskretnim događajima. Simulacija sa diskretnim događajima je kao što smo već kazali korisna tehnika koja omogućuje bolje razumjevanje ponašanja pojedinih sistema. Kada mislimo na sistem, to onda zna či skup entiteta (npr. ljudi, mašine) koji s vremenom vrše neku interakciju. Cilj ovog rada jeste upoznavanje čitaoca sa ovim pojmom, pojmom simulacije, i šta se sve može posti ći pomoću simulacije.
58