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
Udbudssteder: Odense
Udbudsterminer: Efterår
Niveau: Kandidat
STADS ID (UVA): N340005101
ECTS-point: 10
Godkendelsesdato: 30-04-2018
Varighed: 1 semester
Version: Arkiv
Kommentar
Indgangskrav
Faglige forudsætninger
Studerende, der følger kurset, forventes at: Have et indgående kendskab til stoffet fra DM519 Concurrent Programming.
Formål
Multi-core processorer, cloud computing, og web services gør
”concurrent” systemer udbredt. 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.
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 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 det konkrete 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.
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 og
- kommunikation sikkerhed;
- bevis egenskaber af concurrent systemer;
- bevis generelle egenskaber af formelle modeller for concurrency.
Indhold
Kurset indeholder følgende faglige hovedområder:
- Procesmodeller for concurrency, herunder: CCS, pi-calculus og
- nogle af dens varianter.
- High-level programmeringssprog til concurrent systemer.
- Typesystemer til concurrency, herunder: typer for processcalculi, koreografi-baserede typesystemer.Koreografier: sprog, typer, 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
Bestået/Ikke bestået
Identifikation
Studiekort
Sprog
Følger, som udgangspunkt, undervisningssprog
Hjælpemidler
Ingen hjælpemidler tilladt. Nærmere beskrivelse af eksamensreglerne vil blive offentliggjort under 'Course Information' på kursets side i BlackBoard’
ECTS-point
10
Uddybende information
Eksamensformen ved reeksamen kan være en anden end eksamensformen ved den ordinære eksamen.
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.