02148 Introduktion til koordinering af fordelte applikationer

2016/2017

Det er ønskeligt, at deltagere gennem kurset tillægger sig engelske fagtermer samt kan udtrykke sig om fagets faglighed på engelsk, hvorfor dele af kursets undervisning foregår på engelsk.
Kursusinformation
Introduction to Coordination in Distributed Applications
Dansk
5
Bachelor
Januar
Campus Lyngby
Forelæsninger, projektarbejde og præsentationer fra de studerende.
3-uger
Aftales med underviser, Inden for semester.
Bedømmelse af øvelser og rapport(er)
Alle hjælpemidler er tilladt
7-trins skala , intern bedømmelse
(02101/02102).­0216102105 , De studerende skal kunne udtrykke sig i et objekt-orienteret programmeringssprog. Grundlæggende kendskab til algoritmer, datastrukturer og software engineering anbefales også
Alberto Lluch Lafuente , Lyngby Campus, Bygning 324, Tlf. (+45) 4525 7509 , albl@dtu.dk
Christian W. Probst , Lyngby Campus, Bygning 324, Tlf. (+45) 4525 7512 , cwpr@dtu.dk

01 Institut for Matematik og Computer Science
http://www.imm.dtu.dk/courses/02148
I studieplanlæggeren
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. Udbredte eksempler på sådanne tjenester er smartphoneapplikationer, som uddelegerer en del af de nødvendige beregninger til en server. 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 tilbyder et passende abstraktionsniveau. Disse metoder gemmer problemer med parallelitet og kommunikation, så det bliver muligt for programmørerne at koncentrere sig om forretningslogikken. Udbredte eksempler på sådanne programmeringsparadigmer er ”tuple-space” begrebet og ”actor” modellen, som har fundet vej til programmeringssprog som Java, Python, .NET, C ++ og Scala.

På dette kursus erhverver man de første kompetencer til at udvikle fordelte applikationer. Kurset vil fokusere på et Java-baseret udviklingsmiljø for koordinering af distribuerede applikationer med hjælp af distribuerede ”tuple-spaces”. Netværket behandles som en mængde lokationer og kommunikationen er baseret på fordelt data, som tilgås via pattern matching.

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 paradigmet om koordinering af distribuerede tupler;
  • Modellere en enkelt, distribueret applikation baseret på distribuerede tuple spaces;
  • Identificere og løse nogle typiske problemer med parallelitet og kommunikation;
  • Implementere en enkelt, distribueret applikation med hjælp af distribuerede tuple spaces;
  • 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) Koordinationsparadigme om distribuerede tuple spaces;
(2) Et Java-baseret udviklingsmiljø som understøtter paradigmet om distribuerede tuple spaces;
(3) Nogle enkle distribuerede algoritmer og applikationer.
Sidst opdateret
31. oktober, 2016