IT-Universitetet i København
 
  Tilbage Kursusoversigt
Kursusbeskrivelse
Kursusnavn (dansk):Parallelle Systemer 
Kursusnavn (engelsk):Concurrency 
Semester:Forår 2001 
Udbydes under:cand.it., internet- og softwareteknologi (int) 
Omfang i ECTS:7,50 
Kursussprog:Dansk 
Kursushjemmeside:https://learnit.itu.dk 
Min. antal deltagere:10 
Forventet antal deltagere:
Maks. antal deltagere:100 
Formelle forudsætninger:Grundlæggende programmering 
Læringsmål:Målet med kurset er at give et begrebsmæssigt grundlag for forståelse af parallelle systemer samt at sætte deltageren i stand til at konstruere
mindre parallelle programmer.
Lidt mere detaljeret, sigter kurset mod at give deltagerne:

  • Forståelse af grundlæggende begreber for parallellisme: processer, synkronisering og kommunikation.
  • Forståelse af modeller for concurrency: 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 og kunne designe og konstruere mindre parallelle systemer som fx.
    multitrådede applikationer eller simple apparatstyringer..
  • Kendskab til designprincipper: SW-arkitekturer.


The aim of the course is to provide the conceptual foundation for concurrent systems and the ability to construct small concurrent programs. In a bit more detail, after completing the course the student is expected to:


  • Understand the foundational concepts for concurrency: processes, synchronisation and communication.
  • Understand models for concurrency: Petri-nets, transitions systems, CCS-like process expressions
  • Have knowledge of verification concepts: Safety and progress properties, invariants, model checking.
  • Understand synchronisation and communication mechanisms: Semaphores, monitors, synchronous and asynchronous communication and how to use these to solve clasical concurrency problems.
  • Posses knowledge of implementation techniques and principles: HW-architectures, multiprogramming, threads, thread-libraries, high-level languages.
  • Master thread programming in Java and be able to design and construct small parallel programs, e.g multithreaded applications or simple controlsystems.
  • Possess knowledge of designprinciples: SW-architectures.

 
Fagligt indhold:Kurset dækker følgende emner:

  • Modeller for concurrency: Petri-net, transitionssystemer, procesudtryk.
  • Processer og tråde, tråde i java
  • Delte objekter og gensidig udelukkelse
  • Monitorer, invarianter, semaforer, begrænsede buffere
  • Baglås, analyse og eksempler
  • Sikkerheds og Fremskridtsegenskaber, analyse og eksempler
  • Model-baseret design: krav, modeller, implementation
  • Dynamiske systemer, fair allokering, master/slave model.
  • Beskedoverførsel, synkron/asynkron, rendezvous
  • Arkitekturer: Filter pipeline, superwisor-worker, annoucer-listener
  • Systemer med tid, model og implementation


I kurset vil der blive lagt vægt på modellering af parallelle systemer som udgangspunkt for analyse og implementering.
Kursushjemmeside .
 
Læringsaktiviteter:

Forelæsninger, 2 mindre obligatoriske opgaver, teori og lab-øvelser, miniprojekt 

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

4-timers skriftlig eksamen med karakter efter 13-skalaen.I løbet af
semesteret stilles to obligatoriske afleveringsopgaver og et mini-projekt.
Aflevering af de to obligatoriske opgaver samt aflevering og godkendelse af
mini-projektet er en forudsætning for at kunne tilmeldes eksamen.
Besvarelserne vil dog ikke indgå i karakteren.  

Litteratur udover forskningsartikler:Lærebog: Jeff Magee og Jeff Kramer: "Concurrency, State models and Java programs", Wiley, ISBN 0471987107.


Udleverede noter om Petri net og semantik.