You are here

Procesi u Razvoju Automobilskog Softvera – izazovi online nastave

04.02.2021 - 13:00
Galerija

Vanredne okolnosti koje su nastupile u proteklih godinu dana naterale su veliku većinu kompanija iz IT industrije da redizajniraju i reorganizuju poslovni ambijent i omoguće svojim zaposlenima da rade na daljinu/od kuće. Slična situacija nije zaobišla ni nastavni proces, pa je tako i nastava iz predmeta Procesi u Razvoju Automobilskog Softvera organizovana na daljinu, tačnije oba segmenta nastave: teorijski i praktični.
 

Teoriski deo nastave je organizovan preko „Microsoft Teams“ platforme (naloga koji je obezbedio FTN). Jedan od najvećih izazova koji je trebalo prevazići u teorijskom delu nastave bio je kako motivisati studente da se aktivnije uključe u nastavni proces, jer bez interakcije na relaciji: „Profesor <-> studenti“ i „studenti <-> studenti“, sam nastavni proces gubi na svom kvalitetu značajno. Da bi prevazišli navedeni problem, primenjena je slična praksa koja se prošloj generaciji studenata posebno svidela, a to je organizovanje studenata u grupe koje su imale zadatak da se na kraju svakog radnog dana okupe i rekapituliraju šta je tog dana prezentovano na predavanjima. Narednog dana, Profesor bi nasumično izabrao jednu od grupa da prezentuje svoje razumevanje gradiva koje je izloženo prethodnog dana. Ovakva praksa je proizvela nekoliko dobrih efekata:

  • Studenti su bili navedeni i motivisani da međusobno sarađuju i usvajaju znanja.
  • Svaka grupa je praktično predstavljala Scrum team koji je imao svog Scrum Mastera, čime je simuliran proces razvoja softvera koji susrećemo danas u automobilskoj industriji.
  • Materija koja se ponovi istog dana nakon izlaganja ima mnogo strmiju krivu usvajanja, što je demonstrirano na kolokvijumu koji se održao odmah nakon završenog teorijskog dela kursa. Izlaznost je bila prilično visoka 77% (23/30), dok niko od studenata koji su izašli na kolokvijum nije imao ispod 51% osvojenih bodova.

Na osnovu ankete koja je sprovedena nakon završetka kursa, organizovanje studenata da međusobno sarađuju u grupama je navedeno kao nešto što im je dosta pomoglo da savladaju gradivo još u toku samog nastavnog procesa.


Praktični deo nastave je takođe organizovan na daljinu, što je predstavljalo poseban izazov. Prošle godine je laboratorija značajno unapređena novim računarima koji imaju ugrađene savremene NVIDIA grafičke kartice koje omogućavaju visoke performanse prilikom realizacije i izvršavanja zahtevnih simulacija koje su deo projekata koji se realizuju u toku praktične  nastave na predmetu Procesi u Razvoju Automobilskog Softvera. Samim tim, imali smo veliku želju da iskoristimo te resurse iako studentima nije bilo dozvoljeno da fizički borave u laboratoriji zbog nametnutih mera od strane FTN. Кako bi prevazišli navedeni problem, asistenti Marko Dragojević i Stevan Stević, su instalirali „Team Viewer” programe na svim računarima u laboratoriji čime je omogućen udaljen pristup navedenim resursima. Važno je napomenuti da je osnovna ideja na praktičnom delu kursa bila da se studentima približe procesi koje susrećemo prilikom razvoja softvera u automobilskoj industriji kroz razvoj ADAS funkcija koje susrećemo u modernim automobilima.

Studenti su na početku praktične nastave imali priliku da se upoznaju sa Robot Operating System – ROS, koji je kao i prethodnih godina predstavljao osnovu za razvoj ADAS projekata u toku vežbi. Pored ROS, studenti su bili u prilici da se upoznaju i sa Autoware softverskim stekom otvorenog koda za razvoj autonomnih vozila, kao i sa Carla simulatorom, koji je predstavljao novinu u odnosu na prethodne dve generacije studija, kada smo uveli navedene tehnologije u praktični deo nastave na predmetu Procesi u Razvoju Automobilskog Softvera. Razlog za uvođenje: ROS, Autoware i Carla tehnologija u nastavni proces je pre svega u tome što navedene tehnologije predstavljaju izbor vodećih OEM (BMW, Mercedes-Benz, itd.), ali i Univerziteta kao što su: Stanford, Carnegie Mellon, The University of Tokyo, Technical University of Munich, itd. Кuriozitet je da se ROS, Autoware i Carla koriste i prilikom razvoja softvera za trke autonomnih formula, poznate pod nazivom Roborace.

Nakon upoznavanja sa ROS-om, studenti su podeljeni u Scrum timove, u okviru kojih su birali jednu od tri ponuđene ADAS funkcionalnosti koje žele da implementiraju:

  1. Forward Collision Warning – Cilj vežbe je bio da se realizuje ROS čvor za praćenje zaustavnog puta vozila na osnovu njegove brzine i da se generiše upozorenje ukoliko postoji detekcija lidara u tom području. 

     
  2. Lane Detection – Cilj vežbe je bio da se realizuje prepoznavanje linija na putu ispred vozila na osnovu sirovih podataka sa frontalne kamere Carla simulatora.

     
  3. Obstacle Detection – Cilj vežbe je bio da se realizuje detekcija i praćenje objekata u neposrednoj blizini vozila na osnovu senzorskih podataka sa Lidar-a koji dolaze sa Carla simulatora.

Dakle, fokus vežbi je bio upoznavanje studenata sa procesima u razvoju automobilskog softvera, tako da su studenti pored funkcionalnih zahteva prilikom realizacije projekata morali da zadovolje i čitav niz nefunkcionalnih zahteva. Osim toga, Scrum timovi su morali da ispoštuju razne procese prilikom realizacije projekata, tipične za moderan agilni pristup razvoja softvera, kao što su: kontinualna integracija kroz timski GitHub repozitorijum, uredno vođenje dnevnih aktivnosti na virtuelnoj Scrum tabli, održavanje dnevnih sastanaka, obezbeđivanje koncepta sledivosti (traceability) od korisničkih zahteva (kojima su projekti definisani) do implementacije i testiranja, itd. Na kraju praktičnog dela nastave, organizovana je online formalna prezentacija projekata, gde su Scrum timovi prezentovali urađeno u toku Sprint-a (dve nedelje praktične nastave), čime je praktično simuliran Review proces koji predstavlja jedan od suštinskih događaja u agilnom razvoju softvera. Pored prezentacije funkcionalnih aspekata, Scrum timovi su bili podvrgnuti temeljnom ispitivanju procesa koje su praktikovali prilikom realizacije svog projekta. Asistenti su se tom prilikom stavili u ulogu inženjera bezbednosti (safety engineers) kako bi proverili ispunjenost određenih procesa koje nameću standardi ISO26262 i ASPICE, kao što je na primer koncept sledivosti (traceability), čime je pružena prilika studentima da iskuse kako izgleda zvanični audit sastanak prilikom ispitivanja kvaliteta isporučenog softvera.

Uzimajući u obzir sve okolnosti i izazove koje je trebalo prevazići u održavanju nastave na daljinu, može se reći da je kurs Procesi u Razvoju Automobilskog Softvera u potpunosti ispunio svoj zadatak, da približi studentima procese razvoja softvera koje mogu da susretnu u industriji, pre svega zahvaljujući više nego dobroj organizaciji i pripremi praktične nastave od strane asistenata Stevana Stevića i Marka Dragojevića, kojima bih se ovom prilikom zahvalio na izuzetnoj požrtvovanosti.

Na kraju, zahvalio bih se i studentima koji su prihvatili da aktivno učestvuju u nastavi i time nagrade trud koji smo uložili prilikom pripreme kursa.


 

Doc. dr Momčilo Кrunić