Apstrakt

Simulatori digitalnih sistema treba da omoguće praćenje rada određenog sistema koji izvršava unapred ili korisnički definisan skup primera, da imaju interakciju sa korisnicima, ali i mogućnost vršenja određenih modifikacija. Na ovaj način simulatori pružaju mogućnost testiranja i proučavanja sistema koji treba da se realizuju, pa bi prilikom projektovanja novih komponenti simulatori trebali da imaju ulogu pronalaženja i otkrivanja grešaka pre nego što se pređe na proizvodnju tih komponenata. Oni pružaju mogućnost da se već gotove komponente uključe u nove projekte na efikasan i fleksibilan način, ali i da pomognu korisnicima u razumevanju načina funkcionisanja pojedinih komponenta i uređaja. Faktori koji utiču na razvoj simulatora su ekonomska isplativost, jednostavnost upotrebe, mogućnost paralelnog izvršavanja, edukativni razlozi. Komercijalni simulatori koji se mogu pronaći u otvorenoj literaturi pokrivaju sve oblasti istraživanja, ali postoji problem nekompatibilnosti, jer komponente razvijene u jednom okruženju se retko kada mogu koristiti u nekom drugom okruženju. Mali je broj simulatora koji pružaju mogućnosti distribuirane obrade sa ciljem povećanja performansi simulacije, a njihova cena često prevazilazi dobit koja se postupkom simulacije može ostvariti. Gotove komponente koje ovi simulatori pružaju zahtevaju poznavanje implementacionog jezika i ne mogu se na jednostavan način prebaciti iz jednog okruženja u drugo. Bitna osobina ovih simulatora je što su razvijeni sa tačno definisanom svrhom, i samo mali broj usko specijalizovanih institucija ih može primenjivati u svojim istraživanjima. Takođe, autori se uglavnom usredsređuju na razvoj simulatora koji se koriste u edukativne svrhe, dok se mali broj razvijenih simulatora koristi u industriji. Značajna karakteristika ovih simulatora je da predstavljaju zatvorenu celinu i da se ne mogu proširivati, ni integrisati sa drugim sistemima, niti koristiti kao simulaciono okruženje u razvoju drugih sistema. Iz navedenih razloga može se zaključiti da postoje brojni razlozi za razvojem posebnog sistema koji će omogućiti generisanje konfigurabilnih simulatora digitalnih sistema. Korisnik bi imao mogućnost da definiše digitalni sistem, željene parametre simulacije, kao i vrstu simulacije, a sistem bi automatski generisao simulator sa definisanim parametrima. Izvršavanjem same simulacije korisnik mogao da na osnovu performansi sistema uoči sve nedostatke svog projekta. Jednostavnim postupcima promene mogao bi da primeni različite metode i koncepte i da proceni koja daje najbolje rezultate. Upotrebom savremenih tehnologija dobiće se efikasan sistem, koji će omogućiti zajednički rad više korisnika u isto vreme, sa mogućnošću rada na različitim platformama i sa različitim softverskim komponentama. Jedna od prednosti predloženog projekta je što se realizovani sistem može koristiti i u edukacione svrhe. Treba napomenuti da će se realizovani sistem moći koristiti i u slučajevima projektovanja simulatora koji se zasnivaju na konceptima pristupnih tačaka i razmene poruka. Predloženi sistem se takođe, bez modifikacije, može koristiti za simuliranje, ne samo digitalnih sistema već bilo kog događajima vođenog sistema. U tom slučaju potrebno je samo definisati novi skup osnovnih gradivnih blokova koji će se u opštem slučaju razlikovati od gradivnih blokova kod digitalnih komponenti. povratak na vrh

Opis projekta

Današnji digitalni sistemi po svojoj prirodi imaju određene stepene promenljivosti, na primer prema Murovom zakonu računarski sistemi svakih 18-24 meseca napreduju duplo. U razvoju takve vrste sistema veoma bitnu ulogu mogu da odigraju njihovi funkcionalni simulatori. Simulator predstavlja zamišljenu predstavu, imitaciju, neke stvarne komponente, interakcije ili stanja. Takva programska celina ima za cilj da predstavi izvesne glavne karakteristike ponašanja fizičkog ili apstraktnog sistema pomoću ponašanja neko drugog sistema. Takođe, simulatori treba da omoguće praćenje rada određenog sistema koji izvršava unapred ili korisnički definisan skup primera, imaju interakciju sa korisnicima, ali i mogućnost vršenja određenih modifikacija. Na ovaj način simulatori pružaju mogućnost testiranja i proučavanja sistema koji treba da se realizuju, pa bi prilikom projektovanja novih komponenti simulatori trebali da imaju ulogu pronalaženja i otkrivanja grešaka pre nego što se pređe na proizvodnju tih komponenata. Moguća uloga simulatora tu ne prestaje. Oni pružaju mogućnost da se već gotove komponente uključe u nove projekte na efikasan i fleksibilan način, ali i da pomognu korisnicima u razumevanju načina funkcionisanja pojedinih komponenta i uređaja.
S druge strane razvoj digitalnih računarskih tehnologija i sistema zahteva neprestane promene i napredovanje mogućnosti koje pružaju simulatori. Osobine većine postojećih simulatora su unapred definisane, čime je njihova funkcionalnost ograničena a primena istih je moguća samo u specifičnim situacijama. Promena (rekonfiguracija) modela koji se simulira, a koji je jednom formiran koristeći određeni simulator, najčešće zahteva krupne izmene samog simulatora, ali i postupaka simulacije. Ovakva operacija izvedena na opisani način dovodi do značajnog povećanja troškova projekta. Pored angažovanja dodatnog vremena za implementaciju novog modela, potrebno je obezbediti i dodatne resurse za obuku korisnika sa novim postupcima same simulacije.

Tekuće stanje istraživanja
Simulatori digitalnih sistema se mogu grubo podeliti u dve grupe: prvu koja služi za projektovanje (razvoj) digitalnih sistema, i drugu koja vrši simulaciju nad računarskim sistemima (testiranje). U prvu grupu spadaju simulatori koji poseduju određen skup metoda i alata koji omogućavaju korisniku da realizuje željenu konfiguraciju računarskog sistema a zatim izvrši njegovu simulaciju. Ispunjenje korisničkih zahteva u velikom meri zavisi od dostupnosti predefinisanih komponenata. S obzirom na konstantan tempo tehnološkog razvoja postojeće komponente brzo zastarevaju, pa je neophodno dopunjavanje trenutno dostupnih biblioteka. Nivo apstrakcije i broj detalja sa kojima je moguće raditi takođe predstavlja kriterijum upotrebljivosti simulatora iz ove grupe. Karakteristični predstavnici ove grupe simulatora su VHDL, SPICE simulator, MATLAB – Simulink, Altera Max+Plus II, JHDL, M5, HASE, Java Digital Breadboard simulator, Simulator Virtual Vulcan, Logicsim i SMOK.
Drugoj grupi pripadaju simulatori sastavljeni kao gotova rešenja koja pomažu korisniku da obavi simulaciju. U postupku simulacije je potrebno samo postaviti određene parametre za koje se simulacije želi izvršiti i pustiti je da se izvršava. Osnovni kriterijum upotrebljivosti simulatora iz ove grupe jeste broj parametara koje je moguće varirati tokom simulacije. Pored toga mogućnost postepenog izvršavanja uz vizuelizaciju implementacionih detalja predstavlja važan faktor pri izboru. Karakteristični predstavnici ove grupe simulatora su ANT, Cachesim, CASLE, CPU Sim, DigLC2, Dinero-Hase, DLXview, Easy CPU, EDCOMP, ESCAPE, Fast-Cache, JASPer, Jcachesim, LDA, Newsport, RM, RSIM, SIMCA, SimFlex, Simics, SimOS, SimpleCPU i SimpleScalar.
Razvoj simulatora digitalnih sistema uslovljen je različitim faktorima. Faktori koji utiču na razvoj simulatora su ekonomska isplativost, jednostavnost upotrebe, mogućnost paralelnog izvršavanja, edukativni razlozi. Postojeći skup simulatora pokriva sve oblasti istraživanja, ali postoji problem nekompatibilnosti, komponente razvijene u jednom okruženju se retko kada mogu koristiti u nekom drugom okruženju. Mali je broj simulatora koji pružaju mogućnosti distribuirane obrade sa ciljem povećanja performansi simulacije, a njihova cena često prevazilazi dobit koja se postupkom simulacije može ostvariti. Gotove komponente koje ovi simulatori pružaju zahtevaju poznavanje odgovarajućeg jezika i ne mogu se na jednostavan način prebaciti iz jednog okruženja u drugo.
Navedeni simulatori se mogu koristiti kako u zemlji tako i u inostranstvu, sa tom razlikom što većina korisnika kod nas nije u stanju da plati potpune verzije simulatora, tako da nemaju potpun skup biblioteka, kao ni svu funkcionalnost. Druga bitna mana ovih sistema je u tome što su neki od simulatora razvijeni sa tačno definisanom svrhom i samo mali broj usko specijalizovanih institucija ih može primenjivati u svojim istraživanjima. Sledeća bitna mana je u tome što se ustanove uglavnom usredsređuju na razvoj simulatora koji se koriste u edukativne svrhe, dok se mali broj razvijenih simulatora koristi u industriji. Značajna karakteristika ovih simulatora je da predstavljaju zatvorenu celinu i da se ne mogu proširivati, ni integrisati sa drugim sistemima, niti koristiti kao simulaciono okruženje u razvoju drugih sistema.

Neki od postojećih simulatora omogućavaju izvođenja simulacije na više računara u paraleli, ali svaki od njih ima drugačiji način pristupa tako da je ograničeno povezivanje više takvih simulatora i njihova integracija u jednu celinu. Jednom formiran simulator, samim tim i određenu komponentu koja se simulira, veoma je teško prebaciti iz jednog okruženja u drugo, jer ova promena može zahtevati ponovni razvoj svih delova komponente. Važna osobina je i rekonfigurabilnost. Rekonfigurabilni sistem bi predstavljao sistem koji bi mogao da izvrši promene u skladu sa trenutnim potrebama da bi se obavio specifični zadatak. Kada se završi zahtevana radnja sistem se može prilagoditi da obavlja neki drugi zadatak.

Predmet istraživanja
Iz navedene analize može se zaključiti da simulatori digitalnih sistema imaju bitnu ulogu u razvoju takvih sistema. Takođe, može se primetiti da još uvek postoji veliki broj faktora koji utiču na samu efikasnost i primenljivost razvijenih simulatora. Predmet projekta je realizacija jednog pristupa rešenju problema projektovanja rekonfigurabilnih simulatora digitalnih sistema. Poseban aspekt projekta bi predstavljala mogućnost da se realizovani sistem izvršava distribuirano i u isto vreme paralelno na više računara povezanih određenom infrastrukturom. Takođe, sistem bi predstavljao Internet aplikaciju, i na taj način omogućio rad razvojnom timu, čiji članovi ne moraju da budu i fizički zajedno.

Cilj projekta
Cilj projekta je da se realizuje funkcionalni softverski sistem za projektovanje rekonfigurabilnih simulatora digitalnih sistema na osnovu detaljno razvijene metodologije postupaka i operacija. Pod digitalnim sistemom se smatra reprezentacija električnih kola zasnovanih na konačnom broju diskretnih naponskih nivoa koji se mogu posmatrati kao konačan skup vrednosti. Digitalna kola su najčešća materijalna reprezentacija Bulove algebre i predstavljaju osnovu za formiranje digitalnih sistema. Realizovani sistem bi se mogao koristiti za detaljno i efikasno projektovanje, testiranje i simuliranje definisanih digitalnih sistema.
Realizovani simulator bi se sastojao iz sedam odvojenih celina i to: dela za logičko projektovanje grafičkim putem, deo za projektovanje interfejsa komponenti, deo za projektovanje komponenata koristeći tekstualni editor, deo za izvršavanje simulacije, deo za povezivanje simulacije sa fizičkim karakteristikama komponenata, deo za distribuiranje komponenata po udaljenim računarima, i deo za optimizaciju izvršavanja algoritma simulacije.
Osnovne osobine razvijenog sistema bi bile nezavisnost izvršavanja, paralelno i distribuirano izvršavanje, mogućnost uključivanja spoljašnjih komponenti, rekonfigurabilnost, internacionalizacija sistema, kao i efikasan pregled rezultata tokom i na kraju simulacije.

Nezavisnost izvršavanja
Razvijeni sistem treba da formira simulatore na platformski nezavisnom nivou i sa što manje zavisnosti od arhitekture i organizacije sistema koji se projektuje. Delovi simulatora treba da budu tako napravljeni da je njihovo ponovno korišćenje prilikom projektovanja sličnih simulatora moguće. Ovo se sve može postići ukoliko se informacije o celokupnoj arhitekturi i organizaciji čitavog simuliranog sistema čuvaju koristeći meta podatke koji opisuju njihove osobine. Za čuvanje metapodataka koristiće se standardizovane tehnologije, kao što je XML. Takođe, pri čuvanju informacija o simulatoru mora se voditi računa o svim nivoima projektovanja simulatora: o logičkom, fizičkom, simulacionom, izvršnom i prezentacionom nivou simulatora, ali i o njihovoj povezanosti, kao i postupcima rekonfiguracije.

Paralelno izvršavanje
Sistem treba da obezbedi i mogućnost korišćenja više simulatora u isto vreme i to tako što će omogućiti paralelno izvršavanje. Kod postupka paralelnog izvršavanja u svakom trenutku se koristi više simulatora koji se izvršavaju u paraleli. Razlika je u tome što svi ti simulatori ne moraju da budu vremenski nezavisni. Kako svi izvršavaju delove iste simulacije, bili bi povezani podacima koji se razmenjuju i vremenom koje je predviđeno za paralelno izvršavanje, pre sinhronizacije na barijeri. Takođe, svaki od tih paralelnih podsistema može preko odgovarajućeg adaptera da bude vezan na neki spoljašnji simulator. Na taj način se postiže veća brzina izvršavanja, ali i mogućnost korišćenja komponenti za koje se ne poseduje opis, već samo simulator koji može da simulira pojedine komponente.

Distribuiranost
Povećanje složenosti digitalnih sistema povećava i vreme koje je potrebno da se izvrši postupak simulacije. Direktna posledica je povećanje računarskog vremena potrebnog za pojedinačnu simulaciju. Jedan od načina da se ovo vreme smanji je i taj da se obrada pojedinih komponenata distribuira na više računara i na taj način poveća ukupna moć sistema na kome se vrši simuliranje. Distributivna obrada bi se primenila distribucijom na više procesora opšte namene. Simulatori se bave modelima koji su projektovani tako da sadrže veći broj komponenti koje su međusobno povezane i koje čine izvesnu celinu. Postojanje ovih komponenti je od velikog značaja za projektovanje simulatora sa distribuiranom obradom jer omogućavaju logičku podelu modela na veći broj podmodela. Takođe, prilikom projektovanja simulatora simulirane komponente su prezentovane na više različitih nivoa apstrakcije sa različitim nivoom detalja i različitim predstavama kašnjenja kroz komponentu, ali sa zajedničkim principom izvršavanja. Ukoliko su simulatori projektovani na višem nivou apstrakcije broj poruka koje se razmenjuju i broj događaja koji se obrađuju se smanjuje. Ukupno vreme potrebno da se simulacija obavi sada značajno raste jer je pored regularne obrade unutar simulatora potrebno raditi i komunikaciju između procesa koji se izvršavaju na različitim mašinama, s tim da treba voditi računa i o njihovoj sinhronizaciji i konzistentnosti.

Spoljašnje komponente
Pojedini delovi digitalnih sistema mogu imati već razvijene odgovarajuće sopstvene simulatore. Potreba za korišćenjem spoljašnjih simulatora leži u tome što pojedine komponente nisu dostupne u obliku koji je pogodan za simulaciju pomoću projektovanog simulatora već su date u nekom specifičnom obliku za koji postoji namenski simulator. Kako su ovi simulatori realizovani koristeći razne tehnologije jedini način da se oni uklope za rad sa simulatorom koji se projektuje je da se projektuje posebni omotač koji će sve pozive komponenti koja se simulira prosleđivati spoljašnjem simulatoru. Zato bi dodatni cilj projekta bio da se omogući povezivanje u novi sistem i takvih, već razvijenih postojećih softverskih komponenti, obezbeđujući na taj način iskorišćenje resursa.

Rekonfigurabilnost
Već u samom naslovu projekta je naglašeno da je jedna od najvažnijih osobina projekta rekonfigurabilnost. Postupak dinamičke rekonfiguracije simulacionog dela simulatora može da se primeni iz dva razloga. Prvi razlog je rekonfiguracija polaznog modela koji se testira, a drugi je rekonfiguracija raspodela komponenta da bi se postupak simulacije ubrzao. Prvi razlog može direktno da utiče na čitav rad simulatora, rezultate, vreme izvršavanja, raspored komponenta..., dok drugi utiče samo na dobijene performanse. U svakom slučaju postupak rekonfiguracije izaziva promene unutar samog logičkog grafa tako da je u svakom koraku simulacije potrebno izvršiti provere da li je moguće nastaviti simulaciju sa započetim parametrima ili ih je potrebno modifikovati.

Internacionalizacija
Jedan od postavljenih ciljeva je i internacionalizacija realizovanih simulatora. Simulator koji se projektuje treba da ima osobinu promene jezika na kome se ispisuje njegov sadržaj. Ova osobina nije zabeležena ni kod jednog simulatora iz grupe najčešće korišćenih simulatora, ali se može pokazati veoma poželjnom. Višejezičnost se može postići tako što će se traženi sadržaj čuvati odvojeno od atributa koji se posmatraju. Svi atributi imaju izvesne osobine i vrednosti, ali se sa njima ne čuva i način na koji će te poruke biti interpretirane. Prelazak na novi jezik će se postići tako što se tabela na kojoj ukazuje referenca zameni tablom za željeni jezik. Ukoliko se koristi paradigma objektno orijentisanog programiranja onda se umesto interpretera za polazni jezik prosledi interpreter za željeni jezik.

Pregled rezultat
Potrebno je omogućiti korisniku sistema i da u toku rada posmatra odgovarajuće atribute koji se nalaze unutar pojedinih komponenata koje se simuliraju u okviru simulatora. Kako se nikada ne posmatra komponenta već atribut komponente potrebno je realizovati više načina za praćenje rada delova sistema. Potrebno je svaki atribut realizovati da pamti kompletnu istoriju svojih promena, tj potrebno je pratiti vremenske trenutke promene atributa. Za praćenje rada potrebno je izabrati pogodan šablon za praćenje vrednosti atributa. Primeniće se praćenje vremenskih oblika signala i praćenje promene direktno na prezentacionom modelu komponenata.

Plan realizacije
Da bi se ostvarili prethodno postavljeni ciljevi potrebno je koristiti metodičan pristup rešavanju problema projektovanja rekonfigurabilnih simulatora digitalnih sistema:

  • Najpre bi trebalo uraditi analizu postojećih rešenja, izvršiti apstrakciju potrebnih detalja i na kraju izvršiti generalizaciju otkrivenih funkcionalnosti. Analiza bi trebala da obuhvati najčešće korišćene alate i postupke prilikom projektovanja simulatora, ali i iskustva nekih autora prilikom projektovanja simulatora.
  • Nakon pribavljanja dovoljnog broja podataka bi trebalo izvršiti apstrakcije korisnih informacija za postupak projektovanja simulatora da bi se kasnije mogla izvršiti generalizacija. Ovde bi trebalo voditi računa i o namerama sa kojima se vršilo projektovanje određenih simulatora, ne samo o njihovoj funkcionalnosti.
  • Nakon izvršene generalizacije prikupljenih i klasifikovanih podataka bi trebalo pristupiti ograničenju oblasti problema i njegovog sužavanja na konačan skup delova, gradivnih komponenata. Svaki od ovih gradivnih komponenata će zahtevati specifikaciju postupaka na koje treba obratiti pažnju prilikom njenog projektovanja.
  • Specifikacija postupaka i radnji koje je potrebno izvršiti i o kojima je potrebno voditi računa je sledeća faza koju treba realizovati. Na osnovu postupka specifikacije će se formirati jedinstven postupak, metodologija, projektovanja simulatora, ali i prateću dokumentaciju i alate koji bi je podržavali. Specifikacija bi trebala da sadrži definicije svih karakterističnih postupaka i radnji neophodnih prilikom projektovanja simulatora. Do definicija i osobina svih delova bi se dolazilo induktivnim putem na skupu primera koji bi trebalo prikupiti uz korišćenje analogije sa drugim oblastima projektovanja. Na osnovu prikupljenih informacija izvršiće sinteza alata koji bi podržavao određeni podskup predstavljenih metoda.
  • Na osnovu predložene specifikacije razvio bi se softverski sistem koji bi omogućio generisanje simulatora digitalnih uređaja koristeći postupke definisane u specifikaciji. Realizovani simulatori bi sadržali deo za logičko projektovanje grafičkim putem, deo za projektovanje interfejsa komponenti, deo za projektovanje komponenata koristeći tekstualni editor, deo za izvršavanje simulacije, deo za povezivanje simulacije sa fizičkim karakteristikama komponenata, deo za distribuiranje komponenata po udaljenim računarima, i deo za optimizaciju izvršavanja algoritma simulacije.
  • Na kraju bi se izvršilo testiranje sistema i verifikacija dobijenih simulatora određenih digitalnih sistema

Dodatne prednosti
Treba naglasiti da će se realizovani sistem moći koristiti i u slučajevima projektovanja simulatora koji se zasnivaju na konceptima pristupnih tačaka i razmene poruka. Predloženi sistem se takođe, bez modifikacije, može koristiti za simuliranje, ne samo digitalnih sistema već bilo kog događajima vođenog sistema. U tom slučaju potrebno je samo definisati novi skup osnovnih gradivnih blokova koji će se u opštem slučaju razlikovati od gradivnih blokova kod digitalnih komponenti.
povratak na vrh

Očekivani ključni rezultati

Osnovni rezultat predloženog projekta je softverski sistem koji će omogućiti razvoj simulatora proizvoljnih digitalnih sistema. Korisnik će imati mogućnost da definiše digitalni sistem, željene parametre simulacije, kao i vrstu simulacije, a sistem bi automatski generisao simulator sa definisanim parametrima. Izvršavanjem same simulacije korisnik bi imao mogućnost da na osnovu perfomansi sistema uoči sve nedostatke svog projekta. Jednostavnim postupcima promene mogao bi da primeni različite metode i koncepte i da proceni koja daje najbolje rezultate. Upotrebom savremenih tehnologija dobiće se efikasan sistem, koji će omogućiti zajednički rad više korisnika u isto vreme, sa mogućnošću rada na različitim platformama i sa različitim softverskim komponentama. Jedna od prednosti predloženog projekta je što se realizovani sistem može koristiti i u edukacione svrhe, i to sa polaznicima različitog predznanja i interesovanja, jer omogućava različite nivoe apstrakcije i pogleda na jedan isti digitalni sistem. Posebno je koristan za one koji proučavaju predmete u kojima se razmatra struktura, sinteza i performanse digitalnih sistema. Pored primenjenih rezultata, autori očekuju i određeni naučni doprinos. Autori smatraju da detaljna analiza, razvijena metodologija, kao i implementacija samog sistema treba da rezultuju u najmanje 2 doktorska rada, 2 magistarske teze, nekoliko master radova i u većem broju diplomskih radova. povratak na vrh

Značaj istraživanja

Razvijeni sistem bi imao značaja i uticaja u više oblasti. Primarni rezultat realizacije sistema je mogućnost da projektanti digitalnih sistema dobiju alat koji bi u potpunosti mogli da iskoriste u fazi realizacije prototipa svog proizvoda. Od posebne važnosti je mogućnost da u svakom trenutku mogu da promene kako strukturu digitalnog sistema, tako i sam način njegove simulacije. Ovakvom primenom projektanti pri različitim simulacijama, mogu da obrate pažnju na različite principe i delove svog sistema. Projekat ima i naučnu dimenziju, jer se planira detaljna realizacija metodologije razvoja sistema za projektovanje konfigurabilnih simulatora. U svetskoj otvorenoj literaturi nema još uvek opšte prihvaćenog rešenja, tako da autori smatraju da mogu da realizuje cenjeni naučni doprinos. Još jedan značaj istraživanja je edukacioni iz više razloga. Pored korišćenja dobijenih simulatora i na taj način upoznavanja sa analizom i sintezom digitalnih sistema, studenti diplomskih, postdiplomskih i doktorskih studija bi učestvovali u samim istraživanjima i na taj način se upoznali sa većim brojem popularnih oblasti računarske nauke i tehnike. povratak na vrh

Tehnološka analiza

Jedan od osnovnih zahteva za realizaciju ovakvog sistema je formiranje simulatora na platformski nezavisnom nivou i sa što manje zavisnosti od arhitekture i organizacije sistema koji se projektuje. Takođe navedeno je da delovi simulatora treba da budu tako napravljeni da je njihovo ponovno korišćenje prilikom projektovanja sličnih simulatora moguća. Radi dobijanja boljih performansi naglašene su osobine distribuiranosti i paralelnog izvršavanja. Iz navedenih zahteva kao prirodno rešenje se nameće programski jezik Java i njene tehnologije, jer ovaj jezik, takođe, poseduje odličan interfejs ka standardnim tehnologijama prenosa i čuvanja podataka kao što je XML ili baze podataka. Poseban aspekt realizacije simulatora je čuvanje informacija o simulatoru, kada se mora voditi računa o svim nivoima projektovanja simulatora: o logičkom, fizičkom, simulacionom, izvršnom i prezentacionom nivou simulatora, ali i o njihovoj povezanosti, kao i postupcima rekonfiguracije. Sistem bi se realizovao kao Internet aplikacija i na taj način bi se omogućilo korišćenje spoljašnjih softverskih komponenti. Ove komponente bi imale određeni interfejs i definisani potpis i na taj način mogućnost upotrebe u okviru realizovanih simulatora. Rezultat rada simulatora bi bile Javine klase, dobijene na osnovu razvijene metodologije. Poznavajući osobine ovog jezika, navedeno rešenje je veoma opravdano. Konačni rezultat rada sistema je simulator određenog digitalnog sistema. Za njegovog projektanta u mnogim slučajevima bitan je i vizuelni pregled, da bi dokazao ili opovrgao sopstvene projektantske odluke. Pored mogućnosti Java tehnologije projektantu bi se omogućila i upotreba konvertera koji bi u simulator uključili vizuelne slike popularnih alata, kao što je na primer MS VISIO. Sam sistem bi posedovao deo koji bi obavljao dvosmernu konverziju između navedenih alata, XML opisa i Javinih klasa. povratak na vrh

Ekonomska analiza

Svaka industrijska kompanija, u cilju zadovoljenja tržišta, teži da napravi digitalni uređaj u što kraćem vremenskom intervalu i da ga plasira na tržište. Za svaki proizvod bitno je da ima što je moguće manje grešaka i da izrada samog uređaja, tj. kompletan proizvodni ciklus, ima minimalnu cenu izrade. Dinamika zahteva tržišta, navodi kompanije da proizvode nedovoljno testirane ili nedovoljno optimizovane uređaje, što prouzrokuje nastajanje sistema koji nisu usaglašeni sa potrebama tržišta. Sprovođenje simulacija u ranim fazama razvojnog ciklusa proizvoda umnogome može olakšati otkrivanje i pronalaženje grešaka, što dovodi do smanjenja cene proizvodnog ciklusa. Takođe, upotreba simulacije dovodi do ubrzanja projektovanja uređaja što direktno ima pozitivan uticaj na cenu gotovog proizvoda i trenutak njegovog plasiranja na tržište. Na žalost, postojeći simulatori imaju i svoju negativnu stranu. Naime, osobine postojećih simulatora su unapred definisane, te stoga imaju ograničenu funkcionalnost, što njihovu upotrebu čini moguću samo u specifičnim situacijama. Ovakav koncept ne zadovoljava potrebe većine kompanija koje se bave proizvodnjom digitalnih sistema. Ovaj projekat predlaže koncept koji je u stanju da potkrepi potrebe svake ozbiljne kompanije koja u okviru svojih proizvoda koristi digitalne sisteme. Predmet projekta je realizacija jednog pristupa rešenju rekofigurabilnih simulatora digitalnih sistema. Koncept opisuje sistem koji bi mogao da izvrši promene u skladu sa trenutnim potrebama da bi se obavio specifičan zadatak. Prethodno bi, smanjenjem vremena potrebnog za razvoj digitalnih sistema kao i cene razvojnog ciklusa, dovelo do znatno kvalitetnijeg i jeftinijeg krajnjeg proizvoda uz značajne uštede troškova kompanija. povratak na vrh

Procedure verifikovanja rezultata

Koraci verifikacije
Verifikacija modela sistema će se obaviti kroz skup diplomskih radova studenata osnovnih studija Elektrotehničkog fakulteta. U svojim radovima studenti će polazeći od opisanog modela pokušati da naprave jednostavniju verziju kompletnog okruženja. Iterativnim postupkom predloženi model će evoluirati shodno dobijenim povratnim informacijama.
Verifikacija komponenata sistema će se obaviti kroz skup projekata studenata osnovnih studija Elektrotehničkog fakulteta u okviru predmeta „Arhitektura i organizacija računara 2“.
Verifikacija dobijenih simulatora bi se izvršavala koristeći kombinaciju delimičnog i potpunog testiranja komponenti. U ovakvom pristupu, za komponente koje se često koriste ili čiji je rad od izrazite važnosti za sistem primenjuje se potpuno pokrivanje ulaznog skupa vektora, dok se za ostale komponente radi delimično pokrivanje.
Verifikacija konkurentnog i distribuiranog dela sistema će se će se obaviti kroz skup projekata studenata osnovnih studija Elektrotehničkog fakulteta u okviru predmeta „Konkurentno i distribuirano programiranje“.
Verifikacija bi se izvršavala koristeći postojeću mrežnu i grid infrastrukturu. Verifikacija kompletnog sistema će se obaviti prezentacijom i diskusijom kako modela tako i pojedinih komponenata na istaknutim domaćim i međunarodnim konferencijama. povratak na vrh