DM861: Concurrency Theory (10 ECTS)

STADS: 15019801

Niveau
Kandidatkursus

Undervisningsperiode
Kurset er placeret i efterårssemesteret.

Ansvarlige undervisere
Email: fmontesi@imada.sdu.dk

Skemaoplysninger
Hold Type Dag Tidsrum Lokale Uger Kommentar
Fælles I Mandag 10-12 IMADA semi 39
H1 TE Mandag 10-12 IMADA semi 36-38,41,43-51
H1 TE Tirsdag 09-11 IMADA semi 43,51
H1 TE Onsdag 10-12 IMADA semi 36-38,40-41,43-47,49-51
H1 TE Torsdag 12-14 IMADA semi 48
H1 TE Fredag 12-14 U146 40
Vis hele skemaet
Vis personligt skema for dette kursus.

Kommentar:
Ubegrænset deltagerantal.

Indgangskrav:
Ingen

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 process
    calculi, koreografi-baserede typesystemer.
    Koreografier: sprog, typer, oversættelse og syntese.
Litteratur
    Meddeles ved kursets start.


Kursets hjemmeside
Dette kursus benytter e-learn (blackboard).

Forudsætningsprøver
  1. Opgaver i løbet af kurset. Bestået/ikke-bestået, intern censur vedunderviser. Forudsætningsprøven er en forudsætning for deltagelse i eksamenselement a). (15019812).
Eksamen- og censurform:
  1. Skriftlig Eksamen. Bestået/ikke-bestået, intern censur ved underviser. Ingen hjælpemidler tilladt. Nærmere beskrivelse af eksamensreglerne vil blive offentliggjort under 'Course Information' på kursets side i Blackboard. (10 ECTS). (15019802). 
Vejledende timetal
På naturvidenskab er undervisningen tilrettelagt efter trefasemodellen dvs. intro, trænings- og studiefasen.
Introfase: 30 timer
 - Eksaminatorie: 30 timer

Aktiviteter i studiefasen

Undervisningsform
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.


Sprog
Dette kursus undervises på dansk eller engelsk, afhængigt af underviseren.

Kursustilmelding
Se tilmeldingsfrister.

Pris for åben uddannelse
Se priser for enkeltkurser.

Denne kursusbeskrivelse var gyldig fra 1. september 2017 til 31. august 2018.