IT-Universitetet i København
 
  Tilbage Kursusoversigt
Kursusbeskrivelse
Kursusnavn (dansk):Parallelle systemer 
Kursusnavn (engelsk):Concurrency 
Semester:Forår 2000 
Udbydes under:cand.it., internet- og softwareteknologi (int) 
Omfang i ECTS:0,00 
Kursussprog:Dansk 
Kursushjemmeside:https://learnit.itu.dk 
Min. antal deltagere:10 
Forventet antal deltagere:
Maks. antal deltagere:
Formelle forudsætninger:Grundlæggende programmering.  
Læringsmål:At give deltagerne et begrebsmæssigt grundlag for forståelse af parallelle systemer samt at sætte dem i stand til at konstruere mindre parallelle programmer.  
Fagligt indhold:Kurset sigter mod at give deltagerne:


Forståelse af grundlæggende begreber: processer, synkronisering og kommunikation.


Forståelse af modeller: Petri-net, transitionssystemer, procesudtryk.


Kendskab til verifikationsbegreber: Sikkerheds- og aktivitetsegenskaber, invarianter, modelcheck.


Forståelse af synkroniserings- og kommunikationsmekanismer: Semaforer, monitorer, synkron og asynkron kommunikation, kaldmekanismer. Brug af disse til løsning af klassiske problemer.


Kendskab til implementering: HW-arkitekturer, multiprogrammering, tråde, tråd-biblioteker, højniveau sprog, tråd/processafvikling.


Beherskelse af trådprogrammering i Java.


Kendskab til designprincipper: SW-arkitekturer.


I kurset vil der blive lagt vægt på modellering af parallelle systemer som udgangspunkt for analyse og implementering. Det er er operationelt mål for kurset, at deltagerne sættes i stand til at designe og konstruere mindre parallelle systemer som fx. multitrådede applikationer eller simple apparatstyringer.


 
Læringsaktiviteter:

Ugentlige forelæsninger og opgaveregninger. Et antal obligatoriske programmeringsopgaver. 

Eksamensform og -beskrivelse:X. experimental examination form (7-scale; external exam), 13-skala, Intern censur

4 timers skriftlig eksamen  

Litteratur udover forskningsartikler:Magee & Kramer, Concurrency -- State models & Java programs, Wiley, 1999, samt supplerende noter (Petri-net, implementering).