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
Elektroničko i računalno inženjerstvo (profil)
(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
R3 Engleski jezik
R1 E-učenje
45 Predavanja
2 Seminar
15 Laboratorijske vježbe

Ocjenjivanje

90 izvrstan
75 vrlo dobar
60 dobar
50 dovoljan