Oblikovanje programske potpore za ugradbene računalne sustave

Opis predmeta

Modeliranje programske potpore. Oblikovni obrasci i arhitekture programske potpore. Specifikacije zahtjeva za razvoj programske potpore. Procesi programskog inženjerstva. Alati za upravljanje verzijama. Sustavi za rad u stvarnom vremenu. Uloga i struktura operacijskog sustava. Uvod u operacijske sustave za rad u stvarnom vremenu. Organizacija i struktura ulazno-izlaznih uređaja. Jezgra operacijskog sustava i višezadaćnost. Prekidi. Zamjena konteksta i modeli raspoređivanja zadataka. Sinkronizacija i komunikacija između zadataka. Uzajamno isključivanje, semafori i monitori. Inverzija prioriteta i potpuni zastoj. Uvod u operacijski sustav FreeRTOS. Prilagodba FreeRTOS-a za ciljnu mikrokontrolersku platformu. Praktični primjeri za FreeRTOS. Raspoređivanje zadataka u višeprocesorskim sustavima. Virtualna memorija. Uvod u funkcionalnu sigurnost. Smjernice razvoja programske potpore za rad u stvarnom vremenu za sigurnosno kritične primjene. Testiranje, validacija i verifikacija programske potpore za rad u stvarnom vremenu i sigurnosno kritičnim primjenama. Smjernice i standardi razvoja programske potpore za automobilsku i srodne industrije.

Ishodi učenja

  1. Dizajnirati arhitekturu složenih programskih rješenja za ugradbene računalne sustave.
  2. Analizirati zahtjeve za realizaciju složenih programskih rješenja za ugradbene računalne sustave.
  3. Koristiti moderne metodologije i alate za razvoj programske potpore u timu.
  4. Koristiti operacijske sustave za rad u stvarnom vremenu kod rješenja sa strogim vremenskim ograničenjima.
  5. Prilagoditi operacijski sustav za rad u stvarnom vremenu za ciljnu platformu.
  6. Koristiti postupke testiranja programske potpore u sigurnosno kritičnim primjenama.
  7. Primijeniti osnovne koncepte funkcionalne sigurnosti.
  8. Razlikovati smjernice i standarde za razvoj programske potpore za ugradbene računalne sustave u automobilskoj i srodnim industrijama.

Oblici nastave

Predavanja

Seminari i radionice

Laboratorij

Način ocjenjivanja

Kontinuirana nastava Ispitni rok
Vrsta provjere Prag Udio u ocjeni Prag Udio u ocjeni
Laboratorijske vježbe 50 % 20 % 50 % 20 %
Seminar/Projekt 50 % 10 % 50 % 10 %
Međuispit: Pismeni 50 % 30 % 0 %
Završni ispit: Pismeni 50 % 40 %
Ispit: Pismeni 50 % 40 %
Ispit: Usmeni 30 %

Tjedni plan nastave

  1. Načela projektiranja softvera
  2. Modeli strukture i modeli ponašanja, Načela sigurnog dizajna i sigurnog programiranja
  3. Svojstva zahtjeva. uključujući konzistentnost. valjanost. potpunost i izvedivost, Evaluacija i primjena specifikacija zahtjeva, Osnovni koncepti formalne specifikacije zahtjeva
  4. Timski razvoj sofvera, Osiguranje kvalitete softvera i uloga mjerenja
  5. Uloga operacijskog sustava, Dijelovi računalnog i operacijskog sustava
  6. Organizacija U/I uređaja, Dretve i procesi, Jezgra operacijskog sustava
  7. Struktura U/I sustava, Prekidi
  8. Međuispit
  9. Upravljanje dretvama i zamjena konteksta, Sinkronizacija i komunikacija
  10. Međusobno isključivanje, Semafori i monitori
  11. Problemi u višeprocesorskom okruiženju
  12. Fragmentacija spremnika, Straničenje, Virtualni spremnik
  13. Osnove ispitivanja, Ograničenja ispitivanja u pojedinim domenama. kao što su paralelni i sigurnosno-kritični sustavi, Statički i dinamički pristupi verifikaciji
  14. Planiranje validacije. Dokumentacija za validaciju, Upravljanje i procjena kvalitete programske potpore
  15. Završni ispit

Studijski programi

Sveučilišni diplomski
Izborni predmeti (1. semestar) (3. semestar)
Izborni predmeti (3. semestar)
Izborni predmeti (3. semestar)
(3. semestar)
Izborni predmeti (3. semestar)
Izborni predmeti (3. semestar)
Izborni predmeti (3. semestar)
Izborni predmeti (3. semestar)
Izborni predmeti (3. semestar)
Izborni predmet profila (3. semestar)
Izborni predmeti (3. semestar)
Izborni predmeti profila (3. semestar)
Izborni predmeti (3. semestar)
Izborni predmeti (3. semestar)
Izborni predmeti (3. semestar)
Izborni predmeti (3. semestar)

Literatura

D. E. Simon (1999.), An Embedded Software Primer, Addison Wesley
Q. Li, C. Yao (2003.), Real-Time Concepts for Embedded Systems, CMP Books
R. Barry (2009.), Using the FreeRTOS Real Time Kernel - Standard Edition, FreeRTOS.org
G.C. Buttazzo (2011.), Hard Real-Time Computing Systems, Springer Verlag

Za studente

Izvedba

ID 222548
  Zimski semestar
5 ECTS
R1 Engleski jezik
R1 E-učenje
45 Predavanja
2 Seminar
0 Auditorne vježbe
15 Laboratorijske vježbe
0 Konstrukcijske vježbe

Ocjenjivanje

90 izvrstan
75 vrlo dobar
60 dobar
50 dovoljan