Univerzitet u Novom Sadu

Predmet: Softver u realnom vremenu (22.EAI023)

Osnovne informacije:
 
Kategorija Naučno-stručni
Uža naučna oblast Računarska tehnika i računarske komunikacije
ESPB 6

Cilj predmeta je da se kod studenata razvije razumevanje odnosa o zavisnosti softvera i hardvera kroz mehanizme programskog jezika Ce (engl. C); kao i Ce++-a (engl. C++) jer se njihove hardverske apstrakcije u ogromnoj meri preklapaju. Namera je da se studenti osposobe za samostalan i disciplinovan razvoj programa u programskom jeziku Ce, sa dubinskim razumevanjem koda i načina na koji se to preslikava na hardver.

Nakon položenog predmeta, student je osposobljen da projektuje i realizuje programe srednje složenosti i industrijskog kvaliteta u jeziku C za raznovrsne ciljne platforme. Student je u stanju da razume odnos softvera i hardvera za širok opseg različitih arhitektura Takođe, razume i zahteve realnog vremena, i sposoban je da projektuje softver u skladu sa njima.

Zadaci programa koji se oslanjaju na procesorsku arhitekturu i njihove posebnosti. Značaj ograničenja realnog vremena i posledice na način programiranja i projektovanja softvera. Kontrolisano izvršavanje programa i uloga simulatora. Dublje upoznavanje sa hardverskom apstrakcijom programskoj jezika Ce: veličina i reprezentacija osnovnih tipova; promenljive i njihova predstava u fizičkoj arhitekturi; mehanizmi zauzimanja memorije; funkcije i pozivna konvencija; pokazivači i njihov odnos sa nizovima; mala i velika krajnost (engl. endianness); strukture, unije i adresno poravnanje; build proces i pretporcesor. Sistemi za kontrolu verzija. Osnovne strukture podataka koje su česte kod programa za namenske sisteme. Namenska proširenja Ce jezika: dopunski standardi i kompajlerske posebnosti. Teme vezane za bezbednost i pouzdanost programa: tehnike ispitivanja, formalni standardi kodiranja (MISRA i sl.), statička analiza koda. Ocena i merenje memorijskog zauzeća programa. Utvrđivanje vremena izvršavanja za najgori slučaj. Primeri namenskih arhitektura: DSP i GPU. Primeri primene veštačke inteligencije i mašinskog učenja sa posebnim zahtevima izvršavanja u realnom vremenu.

Predavanja. Računarske vežbe. Konsultacije. U okviru predispitnih obaveza studenti rade predmetne projekte. Projektni zadaci obavezno sadrže nekoliko stepeni slobode, podstičući studente da samostalno prave odluke i vrednuju rezultate u kontekstu različitih mogućih namena, ciljnih arhitektura i zahteva realnog vremena. Na završnom ispitu proverava se razumevanja osnovnih principa i teorijskog dela gradiva.

Autori Naziv Godina Izdavač Jezik
Milan Stevanovic Advanced C and C++ Compiling 2014 Apress Engleski
-- ISO/IEC 9899:2018 Programming languages — C, International standard 2018 ISO/IEC Engleski
-- ISO/IEC 18037:2008 Programming languages - C - Extensions to support embedded processors, Technical report, ISO/IEC 2008 ISO/IEC Engleski
David J. Agans Debugging—The Nine Indispensable Rules for Finding Even the Most Elusive Software and Hardware Problems 2002 Amacom Engleski
Nermann Kopetz REAL-TIME SYSTEMS Design Principles for Distributed Embedded Applications 2002 Kluwer Academic Publishers Engleski
Predmetna aktivnost Predispitna Obavezna Broj poena
Predmetna aktivnost
Predmetni projekat
Predispitna
Da
Obavezna
Da
Broj poena
30.00
Predmetna aktivnost
Odbranjene računarske vežbe
Predispitna
Da
Obavezna
Da
Broj poena
20.00
Predmetna aktivnost
Teorijski deo ispita
Predispitna
Ne
Obavezna
Da
Broj poena
50.00
Predavanja
Računarske vežbe