DM861: Concurrency Theory
Det Naturvidenskabelige Studienævn
Undervisningssprog: På dansk eller engelsk afhængigt af underviser, men engelsk ved internationale studerende
EKA: N340005112, N340005102
Censur: Intern prøve, en bedømmer
Bedømmelse: Bestået/Ikke bestået, 7-trinsskala
Udbudssteder: Odense
Udbudsterminer: Efterår
Niveau: Kandidat
STADS ID (UVA): N340005101
ECTS-point: 10
Godkendelsesdato: 15-04-2021
Varighed: 1 semester
Version: Arkiv
Indgangskrav
Faglige forudsætninger
Formål
Multi-core processorer, cloud computing, og web services gør, at ”concurrent” systemer er udbredte. At designe og programmere disse systemer korrekt er udfordrende. Det kræver, at man kan forudsige, hvordan flere programmer, som udføres selvstændigt, vil interagere med andre programmer.
Dette kursus har til formål at præsentere og undersøge modeller, ræsonnementteknikker og abstrakte programmeringsdiscipliner for
concurrent systemer. Disse værktøjer giver mulighed for at omsætte konkrete krav og design i præcise matematiske definitioner, som kan bruges til at bevise, at de ønskede egenskaber leveres (f.eks deadlockfreedom eller sikker brug af asynkrone kanaler).
Mange af de modeller, som er omfattet i kurset, er grundlaget for nye programmeringssprog og designværktøjer, såsom BPMN, Go og Jolie.
I forhold til uddannelsens kompetenceprofil har kurset eksplicit fokus
på at:
- Give kompetence til at: planlægge og udføre videnskabelige projekter på højt fagligt niveau, herunder styre arbejds- og udviklingssituationer, der er komplekse, uforudsigelige og forudsætter nye løsningsmodeller.
- Give færdigheder i at: beskrive, analysere og løse avancerede datalogiske problemstillinger ved hjælp af de lærte modeller, udvikle nye varianter af de lærte metoder, hvor et konkret problem kræver det.
- Give viden om: et udvalg af specialiserede modeller og metoder udviklet inden for datalogi, baseret på højeste internationale forskning, herunder emner fra fagets forskningsfront; at kunne forstå og på et videnskabeligt grundlag reflektere over det datalogiske fagområdes viden, samt kunne identificere videnskabelige problemstillinger.
Kurset bygger på kompetencer i diskrete matematik fra bacheloruddannelsen. Kursets indhold kan bruges til en speciale i concurrency-området.
Målbeskrivelse
For at opnå kursets formål er det læringsmålet for kurset, at den
studerende demonstrerer evnen til at:
- repræsentere reele concurrent systemer i de abstrakte modeller dækket i kurset;
- identificere og formalisere typiske nyttige egenskaber af concurrent systemer, ligesom deadlock-freedom;
- bevis egenskaber af concurrent systemer;
- bevis generelle egenskaber af formelle modeller for concurrency.
Indhold
Kurset indeholder følgende faglige hovedområder:
- Procesmodeller for concurrency.
- High-level programmeringssprog til concurrent systemer.
- Inference-systemer til sikkerhed i concurrency.
- Koreografier: sprog, oversættelse og syntese.
Litteratur
Eksamensbestemmelser
Forudsætningprøve a)
Tidsmæssig placering
Efterår
Udprøvninger
Opgaver i løbet af kurset
EKA
N340005112
Censur
Intern prøve, en bedømmer
Bedømmelse
Bestået/Ikke bestået
Identifikation
Fulde navn og SDU brugernavn
Sprog
Følger, som udgangspunkt, undervisningssprog
Hjælpemidler
Oplyses på kurset
ECTS-point
0
Uddybende information
Forudsætningsprøven er en forudsætning for deltagelse i eksamenselement a)
Eksamenslement a)
Tidsmæssig placering
Januar
Forudsætninger
Type | Forudsætningsnavn | Forudsætningsfag |
---|---|---|
Delprøve | Forudsætningprøve a) | N340005101, DM861: Concurrency Theory |
Udprøvninger
Skriftlig Eksamen
EKA
N340005102
Censur
Intern prøve, en bedømmer
Bedømmelse
7-trinsskala
Identifikation
Studiekort
Sprog
Følger, som udgangspunkt, undervisningssprog
Varighed
3 timer
Hjælpemidler
Eksamen er uden hjælpemidler. Dog er det tilladt at anvende ordbogsprogrammet fra http://www.ordbogen.com/ i elektronisk form. Browserudgaven er ikke tilladt.
Internet er ikke tilladt under eksamen. Du må dog gå ind på system DE-Digital Eksamen.
ECTS-point
10
Vejledende antal undervisningstimer
Undervisningsform
For at sætte de studerende i stand til at nå læringsmålene for kurset tilrettelægges undervisningen således, at der er 60 forelæsningstimer, holdtimer etc. på et semester. Disse undervisningsaktiviteter udmønter sig i en anslået vejledende fordeling af arbejdsindsatsen hos en gennemsnitsstuderende på følgende måde:
- Introfase (forelæsning, holdtimer) - Antal timer: 30
- Træningsfase: Antal timer: 30
- Total: Antal timer: 60
Forelæsning vil fokusere på indførelsen af teoretiske modeller, programmeringssprog og relevante bevisteknikker.
Træningstimer vil fokusere på at få praktisk erfaring med disse værktøjer.
Studiefase vil bestå af følgende aktiviteter:
- Læsning af skriftligt materiale tildelt af læreren.
- Sammenligning af forskellige inference-baserede systemer.