You are here

Opis oblasti

U ranim periodima računarstva, softverski alati su se svodili na svega nekoliko programa: asembler, povezivač, punjač, i eventualno kompajler, tj. prevodilac, sa nekog višeg programskog jezika. Danas softverski alati obuhvataju širok spektar programa koji na razne načine povećavaju produktivnost na određenim hardverskim platformama. Od sofisticiranih integrisanih razvojnih okruženja, analizatora koda, simulatora, alata za instrumentalizaciju, preko alata za kontrolisano izvršavanje, automatsko ispitivanje i merenje pouzdanosti, pa sve natrag do osnovnog skupa alata (gore pomenutih asemblera, povezivača, punjača i kompajlera), koji se sada potrebno unaprediti novim mogućnostima i napraviti za velik broj novih i raznovrsnih platformi. Konkretni alati i tehnologije, kao što su: Eclipse, Valgrind, QEMU, V8, IonMonkey, GCC, LLVM itd. danas su sigurno poznati većini programera i poznavaoca računara, ali najčešće se uzimaju zdravo za gotovo, bez pravog shvatanja problematike vezane za razvoj tih alata. Ujedno, na mnogim drugim platformama, van domena personalnih računara, očekivano je postojanje osnovnog skupa alata, uz integrisana razvojna okruženja i još neke naprednije alate, ali izazovi vezani za razvoj tih alata, obično su nepoznati običnom njihovom korisniku.
Oblast softverskih alata spaja teorijsko i praktično. U osnovi svega su algoritmika i teorija, ali krajnji rezultat treba da predstavlja vrlo primenjivi alat. Osim toga, za bavljenje ovom oblašću potrebno je poznavanje više različitih računarskih oblasti. Teorija grafova i grafovski algoritmi, semantika programskih jezika, računarska grafika i interakcija čovek-računar, analiza složenosti algoritama; samo su neke od tih oblasti, uz podrazumevano posedovanje visokog nivoa programerskih i inženjerskih veština.
Na odseku za računarsku tehniku i računarske komunikacije, neguje se teorijsko, ali i praktično znanje iz ove oblasti, nastalo kroz decenijski rad na razvoju alata: od alata za različite namenske procesore (gde se ističe vrlo napredno razvojno okruženje bazirano na Eclipse platformi, kao i četvrta generacija kompajlera za digitalne signal procesore koja je u potpunosti razvijena na odseku), do rada na velikim alatima otvorenog koda na kojima stručnjaci sa odseka redovno i u značajnoj meri daju svoj doprinos (Valgrind, GCC, LLVM, QEMU...). Zbog toga su nastavnici, asistenti i saradnici na RT-RK odseku jedini koji na FTN-u imaju praktično iskustvo u stvaranju alata za namenske procesore i radu na alatima otvorenog koda.
Na predmetima RT-RK odseka studenti uče detaljnije o ulozi i upotrebi alata, kao i o načinu na koji rade i njihovoj unutrašnjoj organizaciji. Upoznaju se naprednim alatima za razvoj programa na personalnim računarima, ali i sa osnovnim alatima za neke druge procesorske arhitekture, otkrivajući sasvim nove izazove koji se tu javljaju. Studenti će na smeru RT-RK imati priliku da se bave relevantnim problemima vezanim za softverske alate, sarađujući sa najvećim domaćim stručnjacima iz ove oblasti. Svake godine softverskim alatima se bavi nekoliko diplomskih radova. Rezultati tih radova bivaju direktno potvrđeni u stvarnom i aktuelnom kontekstu, što samom radu i znanju stečenom na njegovoj izradi daje važnu praktičnu dimenziju.

Promo video

Ključni ljudi iz oblasti

Prof. dr Miroslav Popović

 

Doc. dr Miodrag Đukić

 

MSc Nenad Četić

 

MSc Vladimir Marinković

 

MSc Ivan Považan

 

MSc Branislav Kordić

 

MSc Milan Stankić

 

Dr Momčilo Krunić

 

MSc Petar Jovanović

 

MSc Radovan Obradović

 

Mr Zoran Jovanović