_____________________________S H A D O W - verzija 1.0______________________________ - projektni dio diplomskog zadatak br. 2352 - program za računanje raspoloživosti složenih mrežnih struktura 1. Opis programa Shadow je program za računanje raspoloživosti složenih mrežnih struktura. Unutar programa su implementirani glavni algoritami Abraham, ENR te NPR, a kao pomoćni algoritmi koji služe kao potpora navedenim algoritmima implementirani su algoritmi za traženje elementarnih puteva, sortiranja puteva, najkrećeg puta, redukcije, te dohvatljivosti odredišnog čvora. Program omogućuje računanje raspoloživosti te prikaz potrebnog vremena i memorije za pojedini algoritam, editiranje strukture čvorova, grana i njihove povezanosti, te detaljni prikaz rezultata i međurezultata za pojedini algoritam. Također omogučuje podešavanje ograničenja vremena, memorije i iteracija, te pozive prekida, zaustavljanja i nastavka izvršavanja algoritama. 2. Kreiranje ulazne stukture Zadavanje strukture se može izvršiti ažuriranjem datoteke ili iz samog programa Shadow. Pri ažuriranju datoteke koriste se ključne riječi : ''struktura:'', ''cvorovi:'', ''grane:'', ''usmjeren:'' i ''par:'' . Takva datoteka mora započeti s riječi ''struktura:'' nakon čega slijedi otvorena vitičasta zagrada. Također i poslije ključnih riječi ''cvorovi:'', ''grane:'', ''usmjeren:'' i ''par:'' potrebno je otvoriti podstrukturu navođenjem otvorene vitičaste zagrade prije navođenja podataka , te po završetku navođenja podataka za pojedinu podstukturu zatvoriti podtrukturu zatvorenom vitičastom zagradom. Da bi struktura bila ispravna potrebno je navesti čvorove, grane i usmjerenost dok se par (navođenje izvorišnog i odredišnog čvora) navodi po želji. - unutar podstrukture ''usmjeren:'' navodii se tip strukture, odnosno je li struktura usmjerena : ako je struktura potrebno je navesti riječ ''da'' te oznaku kraja '';'', u suprotnom navodi se riječ ''ne'' te oznaka kraja. - unutar podstrukture ''cvorovi:'' navode se podaci o čvoru ovim redoslijedom : brojčana oznaka čvora, zarez, raspoloživost inog čvora (gdje decimalna točka mora biti označena s ''.'' a ne zarezom '',''. Kraj navoda čvora završava s točkom zarez '';''. - unutar podstrukture ''grane:'' navode see podaci o granama ovim redoslijedom : brojčana oznaka grane, zarez, brojčana oznaka čvora iz kojeg izlazi grana, zarez, brojčana oznaka čvora u koji ulazi grana, raspoloživost ove grane, te točka zarez kao oznaka kraja navoda. - unutar podstrukture ''par:'' navode se ppodaci o izvorišnom i odredišnom čvori : brojčana oznaka izvorišnog čvora, zarez, brojčana oznaka odredišnog čvora, te točka zarez kao oznaka kraja navoda. Kraj strukture ''struktura'' unutar koje se nalaze gore navedene podstrukture vrši se zatvorenom uglatom zagradom. Primer zadavanja grafa te prikaz kreirane strukture u datoteci : struktura: { usmjeren: { da; } cvorovi: { 1 , 0.534355; 2 , 0.455544; 3 , 0.252334; 4 , 0.273334; } grane: { 1 , 1 , 2 , 0.124536; 2 , 1 , 3 , 0.463423; 3 , 2 , 4 , 0.000000; 4 , 3 , 4 , 0.642654; 5 , 2 , 3 , 1.000000; } par: { 1 , 4; } } 3. Korištenje programa Shadow - Nova struktura Omogučuje kreiranje nove strukture mreže ili ažuriranje postojeće strukture. Za ažuriranje stukture potrebno je predhodno učitati strukturu iz neke postojeće datoteke. - Otvori datoteku Otvara prozor kojim se vrši izbor željene ulazne datoteke te učitivanje strukture iz te datoteke ( ulazne datoteke za Shadow program koriste sufix ''.dsm'' - input data for structure matrix ). - Spremi strukturu Otvara prozor kojim se vrši spremanje trenutne strukture iz memorije u željenu datoteku poštivanjem pravila zapisa ( u navođenju željene datoteke poželjno je dodati sufix ''.dsm'' radi lakšeg budućeg učitavanja ). - Zatvori strukturu Briše trenutnu strukturu mreže ( čvorove, grane i povezanost) iz radne memorije. - Pokretanje izvođenja Ako postoji struktura mreže te ako je izabran algoritam moguće je pokrenuti izvođenje računanja raspoloživosti zadane strukture. - Zaustavljanje izvođenja Omogućuje privremeni prekid ( zaustavljanje ) izvođenja zadanih algoritama uz uvid u trenutne rezultate algoritama - Nastavak izvođenja Nakon prekida izvođenja i uvida u međurezultate moguće je nastaviti izvođenje algoritama. - Prekid izvođenja Prekida izvođenje algoritama bez mogućnosti za nastavkom izvođenja, - Prikaz detaljnih rezultata Nakon izvođenja algoritma odnosno prekida ili zaustavljanja izvođenja omogućuje prikaz detaljnnih rezultata izvršenih algoritama. - Prikaz ili skrivanje izbornika Uz prikaz i skrivanje tekstualnog izbornika, postavlja prostorni brojac na nulu ( brojac se odnosi na poziciju prikaza detaljiziranih rezultata izvođenja ) . - Postavke programa Omogućuje napredne postavke u načinu ponašanja programa i algoritama, ograničenja memorije, vremena i iteracija na izvođenje. - Informacije Prikaz informacija o okruženju u kojem program radi ( OS, memorija), te o programu i autoru. - Pomoć Upute za korištenje programa i primjeri kako ispravno napisati strukturu mreže. 4. Postavke glavnog prozora Karakteristika grafa Za zadanu (učitanu ili kreiranu) strukturu mreže potrebno je odrediti početni (izvorišni) i završni (odredišni) čvor. Ako je struktura učitana iz datoteke u kojoj su već zadani izvorišni i odredišni čvorovi tada se pozicije automatski postavljaju,a prije promjene izvorišnih i odredišnih čvorova potrebno isključiti opciju ''Zadana u datoteci'' . Naknadnim uključivanjem te opcije vraćaju se prijašnje (učitane) pozicije čvorova. Opis grafa Omogučuje određivanje vrste ulaznog grafa koji može biti usmjeren ili neusmjeren. Ako je struktura učitana iz datoteke u kojoj je već zadana vrsta grafa tada se vrsta grafa automatski postavlja. Prije promjene potrebno je isključiti opciju ''Zadan u datoteci''. Naknadnim uključivanjem te opcije vraća se prijašnji opis vrste grafa. Postavke grafa Omogučuje uključivanje izvršavanja algoritma redukcije nakon pokretanja programa. Redukcija se izvršava prije izvršavanja zadanih algoritama Izvorišni i odredišni Uključivanjem opcije ''Idealni čvorovi'' izvorišni i odredišni čvorovi postaju idealni odnosno pridaje im se vrijednost raspoloživosti ''1'' pri izvršavanju algoritama i rezultata. Podešavanja algoritama Abraham – Moguće je odabrati između standardno (uključuje pravilo 1a za sortiranje puteva) te opmimizirano (uključuje pravilo 1a i 2a za sortiranje puteva) ENR – Ponuđene su opcije standardno (bez ikakve optimizacije), optimizacija 1. razine (odbacuje nepovoljne susjede) te optimizacija 2. razine (uključuje i optimizaciju 1. razine) NPR – Nude se opcije standardno i optimizirano, optimizirano ne utječe na vrijeme izvođenja i memoriju zauzeća algoritam već na ubrzanje traženja puteva. 5. Tehnička podrška "www.tel.fer.hr", "www.geocities.com/dsvabek" i "dsvabek@hotmail.com"