Overordnede kursusmål
Distribuerede applikationer udnytter mange forskellige
netværksressourcer, fra lokale netværk, over skyen, til hele
internettet, for at tilbyde tjenester med høje ydeevner, som er
tilgængelige overalt. At programmere sådan en distribueret
applikation kan være trættende og udfordrende, fordi de skal
understøtte mange forskellige slags enheder, og fordi de skal
integrere kommunikation over mange forskellige kanaler.
Udviklingen af distribuerede applikationer gøres nemmere ved at
bruge højniveau programmeringssprog og paradigmer til koordinering,
som tuple-spaces, actors, protokoller, workflows, streams, osv.,
som tilbyder et passende abstraktionsniveau. Disse metoder gemmer
problemer med parallelitet og kommunikation, så det bliver muligt
for programmørerne at koncentrere sig på kerne logik af
applikationer: koordinering, funktionalitet, sikkerhed, osv.
På dette kursus erhverver man de første begreber og kompetencer til
at udvikle fordelte applikationer. Kurset indeholder præsentationer
af den grundlæggende baggrund, de studerendes projektarbejde, og
præsentationer givet af de studerende. Arbejdet foregår i grupper
på selvdefinerede projekter, hvor man udvikler enkelte,
distribuerede applikationer.
Læringsmål
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
- Forestå, forklare og anvende paradigmer om koordinering af
distribuerede applikationer;
- Modellere en enkelt, distribueret applikation baseret på
paradigmer om koordinering;
- Identificere og løse nogle typiske problemer med parallelitet
og kommunikation;
- Implementere en enkelt, distribueret applikation med hjælp af
paradigmer af koordinering af distribuerede applikationer;
- Anvende en enkelt, distribueret applikation i forskellige
netværk;
- Organisere, planlægge og samarbejde om softwareudvikling i en
lille gruppe;
- Skriv en teknisk rapport om design og implementering af et
distribueret program;
- Mundtligt forklare (på engelsk) de centrale aspekter i
udformningen og implementationen af en distribueret
applikation.
Kursusindhold
Kurset vil fokusere på:
(1) Flere koordinationsparadigmer;
(2) Softwareudviklingsmiljøer som understøtter disse paradigmers;
(3) Nogle enkle distribuerede algoritmer og applikationer.
Sidst opdateret
24. juni, 2019