IT-Universitetet i København
 
  Tilbage Kursusoversigt
Kursusbeskrivelse
Kursusnavn (dansk):Avancerede mobile og distribuerede systemer 
Kursusnavn (engelsk):Advanced Mobile and Distributed Systems 
Semester:Efterår 2007 
Udbydes under:cand.it., softwareudvikling og -teknologi (sdt) 
Omfang i ECTS:15,00 
Kursussprog:Engelsk 
Kursushjemmeside:https://learnit.itu.dk 
Min. antal deltagere:
Forventet antal deltagere:
Maks. antal deltagere:40 
Formelle forudsætninger:Before the course the student should be able to:

¿ describe and use fundamental principles used in designing and constructing concurrent, distributed, and mobile systems. Principles include threads, semaphores, monitors.
¿ describe and use basic concepts for reasoning and designing solutions to problems in the field of concurrent, distributed, and mobile systems. Basic concepts include race conditions, mutual exclusion, deadlock, starvation; concurrency control, transactions, multicast, replication, logical clocks, and name services; disconnected operation, data synchronization, and discovery protocols.
¿ implement concurrent, distributed, and mobile systems in practice with the help of the above principles and concepts in Java or C#.

One way to obtain these prerequisites is by taking the course ¿Mobile and Distributed Systems¿.
 
Læringsmål:After the course the student will have knowledge about developing and modeling safe and correct distributed and mobile systems. The student will be able to:

¿ Apply, compare, and compose fundamental modelling techniques in designing of mobile and distributed systems. The techniques can be based on process calculi and take offspring in model checking
¿ Argue for and judge the correct design of mobile and distributed systems based on the modelling technique of choice.
¿ Classify, define, and analyse communicating protocols functioning as an integral part of the infrastructure of mobile and distributed systems. Examples could be protocols for routing in either P2P networks or protocols for (secure) routing in Mobile Ad Hoc Networks.
¿ Design, implement, and analyze safe and correct mobile and distributed systems with the help of the above mentioned techniques. The programming language of choice could be Java or C#.

In a project the student will either
¿ Design, implement, and analyze a mobile and distributed application illustrating the above knowledge, or
¿ Compare, analyse, and perhaps even develop communicating protocols for mobile and distributed systems using modelling techniques.
 
Fagligt indhold:Programs of today typically exhibit aspects of both mobility and distribution. In a distributed system parts of the system are spread over a number of programs communicating over a network to cooperatively provide a service. The network may be anything from the local (wireless) network in a building to the entire Internet, including the cell phone network. In mobile systems the programs do not remain statically connected to each other as they may disconnect, and even proceed while disconnected. The programs may run on mobile devices such as laptops, PDAs, or mobile phones.

Mobility and distribution was to some extent studied in the predecessor introductory course ¿Mobile and Distributed Systems¿, and in this course we will study some of the more advanced and fundamental techniques used when developing mobile and distributed systems.

In particular since mobile and distributed systems must be correct and safe (e.g. systems for electronic payment, electronic voting, electronic health care, ¿) we put emphasis on techniques for modelling and analysing the design of mobile and distributed systems, techniques that will allow us to formally argue about the systems correctness.

Also, since communication and routing are key ingredients of mobile and distributed systems we shall put a special interest in protocols for dealing with such matters, and our prime case studies will be wired P2P systems and wireless Mobile Ad Hoc Networks.

We will do all this from both a theoretical as well as from a practical point of view, in particular the practical part will be covered in your project work, and we plan to invite guest lectures from companies developing mobile and distributed applications. The project work constitutes approximately half of the course, and the other half will be covered by course work. It¿s our hope to facilitate project work in collaboration with external (industrial) partners.

Students from Open University may choose to follow only the course work, and skip the project work (hence taking a part of the course corresponding to 7,5 ECTS points).

The course work part consists of subject areas:

¿ Modelling techniques for mobile and distributed systems: Examples could be Uppaal, the Calculus of Communicating Systems (CCS), The Pi-Calculus, and The Applied Pi-Calculus.
¿ Peer-to-peer systems.
¿ Mobile Ad Hoc Networks.
¿ Communicating protocols: For instance routing protocols.
¿ Techniques and tools for programming mobile and distributed systems

The project work is to be carried out in groups of 3 to 4 students. The topic of the project is for the groups of students to agree upon, but the projects problem statement must comply with the course topics mentioned above, and one of the teachers must agree to supervise the project. A typical practical project theme could be:

¿ Implement a safe mobile and distributed computer game

And a typical non-practical theme could be:

¿ Compare, model, and analyse two or more routing protocols
 
Læringsaktiviteter:14 ugers undervisning bestående af forelæsninger, øvelser og vejledning

The course will be a mixture of lectures given by the course teachers and guests, seminars where students present research papers, and project work.  

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

 

Litteratur udover forskningsartikler:Compendium, research articles, and notes.  
 
Afholdelse (tid og sted)
Kurset afholdes på følgende tid og sted:
UgedagTidspunktForelæsning/ØvelserStedLokale
Tirsdag 10.00-12.00 Forelæsning ITU 3A18
Tirsdag 13.00-15.00 Øvelser ITU 3A18, 3A54
Torsdag 10.00-12.00 Forelæsning ITU 3A18
Torsdag 13.00-15.00 Øvelser ITU 3A18, 3A54

Eksamen afholdes på følgende tid og sted:
EksamensdatoTidspunktEksamenstypeStedLokale
2007-12-19 No later than 3 PM (15.00) Skriftlige arbejder ITU Examination Office
2008-01-14 Kontakt underviser for tidspunkt Mundtlig eksamen ITU 2A14
2008-01-15 Kontakt underviser for tidspunkt Mundtlig eksamen ITU 2A14