At belyse problemstillinger og metoder til brug ved konstruktion og analyse af systemer af sammenkoblede datamater.
Læringsmål:
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
Beskrive vigtige karakteristika af distribuerede systemer og de væsentlige arkitekturmæssige kendetegn ved sådanne systemer
Beskrive egenskaber ved og anvendelserne for vigtige standardprotokoller, som benyttes i distribuerede systemer.
Karakterisere forskellige implementeringsparadigmaer for distribuerede systemer.
Forklare virkemåden af en distribueret algoritme.
Beskrive et systems virkemåde på en forståelig måde ud fra en formaliseret beskrivelse af systemet.
Udføre simple beviser for systemegenskaber på basis af en formaliseret beskrivelse af et system.
Konstruere en formaliseret beskrivelse af et distribueret system eller dets komponenter, ud fra en sproglig beskrivelse.
Vælge en passende distribueret algoritme, der opfylder givne designkrav til et distribueret system.
Vælge en passende implementeringsparadigme, der opfylder givne designkrav til et distribueret system.
Udvikl en implementering af et distribueret system på basis af en formel eller uformel beskrivelse af dets funktion og formål.
Kursusindhold:
Karakterisering af distribuerede systemer. Modeller for distribuerede systemer. Paradigmer for distribuerede systemer: klient/server, multi-agent systemer, P2P, Web services. Inter-proces kommunikation. Distribuerede objekter. Navngivning. Datasikkerhed. Synkronisering. Algoritmer for koordinering og enighed. Formel specifikation af distribuerede systemer.
Bemærkninger:
Forudsætninger: Grundlæggende kendskab til parallelle systemer og til de problemstillinger, der gør sig gældende i systemer med samtidige aktiviteter. Grundlæggende kendskab til datanet, simple kommunikationsprotokoller, samt klient/server applikationer. Kan opnås gennem kursus 02158 Parallel programmering (tidligere 02152 Parallelle systemer).