IL2212 Programvara för inbyggda system 7,5 hp

Embedded Software

Kursen behandlar konstruktionsprocessen av mjukvara för inbyggda system. Den här typen av mjukvara är vanligtvis organiserad i lager. På lägsta nivån befinner sig den mjukvaran som är direkt beroende på hårdvaran och på högsta nivån moduler som är specifika för applikationen. Beroende på karakteristiken av inbyggda system måste utvecklaren se till att inte bara funktionella krav bli bemötta, utan även icke-funktionella krav som fördröjnings- och minneskrav eller krav på låg effektförbrukning. Huvudmomentet i kursen ligger på mjukvara för realtidssystem.

  • Utbildningsnivå

    Avancerad nivå
  • Huvudområde

  • Betygsskala

    A, B, C, D, E, FX, F

Kurstillfällen/kursomgångar

VT19 för programstuderande

VT20 för programstuderande

Lärandemål

Efter avslutad kurs ska studenten kunna

  • peka ut den speciella karaktären av mjukvara för inbyggda system med avseende på icke-funktionella krav
  • förklara hur förutsägbarheten av mjukvarans prestanda beror på den underliggande hårdvaruarkitekturen
  • modellera en mjukvarutillämpning så att den kan analyseras med avseende på realtidsbeteende
  • använda olika tekniker för realtidssystemanalys
  • modellera och analysera system med delade resurser
  • identifiera begränsningar av schemaläggningsalgoritmer
  • peka ut begränsningar av idealiserade modeller och kunna ta med praktiska faktorer i analysen
  • förstå de grundläggande mekanismerna i ett realtidsoperativsystem och kunna använda det för utvecklingen av mjukvara för inbyggda system
  • ge en överblick av parallella beräkningsmodeller och deras principiella egenskaper
  • värdera olika programspråk och metoder för konstruktion av mjukvara för inbyggda system
  • skissa på ett konstruktionsflöde för mjukvara för inbyggda system.

Kursens huvudsakliga innehåll

  • Icke-funktionella krav på mjukvara för inbyggda system.
  • Hårda och mjuka realtidssystem, samt system där tillämpningar med olika krav delar samma plattform.
  • Taskmodell för realtidssystem.
  • Statiska och dynamiska schemaläggningsmekanismer för periodiska, aperiodiska, och sporadiska task.
  • Protokoll för access av delade resurser.
  • Parallella beräkningsmodeller: Synkrona, dataflödes, och tidsbaserade beräkningsmodeller.
  • Analys av realtidssystem.
  • Multiprocessorrealtidssystem.
  • Stöd för periodisk taskmodell och parallella beräkningsmodeller genom programmeringsspråk och operativsystem.
  • Konstruktionsflöde för mjukvara för inbyggda system: Systemmodellering, systemanalys, och systemsyntes.

Behörighet

Kursen förutsätter grundläggande kunskaper i konstruktionen av inbyggda system, motsvarande kursen IL2206 Inbyggda System. 

Rekommenderade förkunskaper

Kursen förutsätter kunskaper i konstruktionen av inbyggda system, motsvarande IL2206 Inbyggda System

Litteratur

Kurslitteraturen består av aktuella forskningsartiklar och utvalda bokkapitel som anslås fyra veckor innan kursstart. Följande rekommenderade böcker ger en bra överblick över olika delar av kursen:

- Giorgio Buttazzo, Hard Real-Time Computing Systems, Springer, ISBN 978-1-4614-0676-1, 2011.

- Edward A. Lee and Sanjit A. Seshia, Introduction to Embedded Systems, A Cyber-Physical Systems Approach, Second Edition, MIT Press, ISBN 978-0-262-53381-2, 2017.

Utrustningskrav

Egen bärbar dator. 

Examination

  • LABA - Laboration, 3,0, betygsskala: P, F
  • TENA - Tentamen, 4,5, betygsskala: A, B, C, D, E, FX, F

Ges av

EECS/Elektronik och inbyggda system

Examinator

Ingo Sander <ingo@kth.se>

Övrig information

Kursen kan komma att platsbegränsas.
Kursen ges i Kista.

Versionsinformation

Kursplan gäller från och med VT2019.
Examinationsinformation gäller från och med VT2019.