TTK4145 - Sanntidsprogrammering

Faglig Innhold

Tema: Programmeringsformalismer for sanntid; POSIX, Ada, Java og Go. Tråder/prosesser, scheduling, synkronisering og kommunikasjon concurrency. Feilhåndtering, tilgjengelighet og konsistens. Programvare kvalitet og utviklingsmetodikk. Et programeringsprosjekt gjort som gruppearbeide er en vesentlig del av faget. Øvinger.

Læringsmål

Kunnskap: - Inngående kjennskap til synkroniseringsmekanismer som semaforer og monitorer. - Inngående kjennskap til meldingsbasert synkronisering. - Inngående kjennskap til tråder, prosesser, scheduling og synkronisering i perspektiv av et sanntids operativsystem. - Inngående kjennskap til vanlige fallgruber ved sanntidsprogrammering. - Inngående kjennskap til feilhåndtering og feiltoleranse. - Inngående kjennskap til høytilgjengelighet og konsistens i systemer med flere tråder/prosesser. - Kjenskap til programmeringsspråkene C, C++, Java, Ada og Go. - Kjenskap til CSP, Formelle metoder og bruk av analyseverktøy for sanntidssystemer. Ferdighet: - Gode ferdigheter i design og utvikling av sanntids programvare herunder både systemer basert på meldingssending og delt variabelsynkronisering. - Evne til å planlegge og gjennomføre praktisk implementasjon av et programvaresystem av signifikant kompleksitet. (1-2 tusen linjer C-kode). - Gode ferdigheter i et fritt valgt programmeringsspråk (sannsynligvis C, C++, Java eller ADA). - Studenten skal kunne forholde seg konstruktivt i sitt design til feilhåndtering og konsistens i systemer med flere deltagere. Generell kompetanse: - Gruppesamarbeide. - Programvareutvikling - Informasjonsteknologi generelt.


http://www.ntnu.no/studier/emner/TTK4145

Tags