Mål:
Att ge kunskaper och färdigheter att programmera i form av parallella processer i högnivåspråk. Att ge förståelse för problemställningar, metoder och struktureringsmekanismer för realtids- och processprogrammering. Speciellt stor vikt läggs vid att programmeringen syftar till att påverka en yttre miljö av sensorer och effektorer.
Förkunskaper:
För Y: TDDB 20 Programmering - Tillämpningar och datastrukturer, eller motsvarande.
För M: TDDA 90 Datorsystem och Programmering, TDDA 29 Datastrukturer, eller motsvarande.
För I: TDDB 24 Programmering - Grundkurs, TDDA 29 Datastrukturer, eller motsvarande.
Goda kunskaper i programmering i ett procedurellt programspråk (t ex Pascal eller C), eller motsvarande
Organisation:
På föreläsningar genomgås den teoretiska delen. Lektionerna syftar till att öva de genomgångna momenten samt förbereda för laborationskursen.
Kursinnehåll:
Parallellt exekverande program i motsats till sekventiella.
Kommunikationsstrategier och synkroniseringsmekanismer för processinteraktion.
Händelsestyrda system, cyklisk aktivering av processer, distribuerade system, problem och lösningsmetoder.
Studie och diskussion av programmeringsspråkskonstruktioner för parallell- och realtidshantering. Resurshantering. Specificering, verifikation och validering.
Exempel från bl a Modula-2, Ada och OCCAM.
Kurslitteratur:
Kompendium och laborationsmaterial, utgivna av institutionen för datavetenskap.
Utökad litteratur:
Burns & Wellings: Real Time Systems and their programming languages, Addison Wesley.
Examination:
LAB 1 En laborationskurs.
TEN 1 En skriftlig tentamen.