IT-Universitetet i København
 
  Tilbage Kursusoversigt
Kursusbeskrivelse
Kursusnavn (dansk):Mobile og distribuerede systemer 
Kursusnavn (engelsk):Mobile and Distributed Systems 
Semester:Forår 2011 
Udbydes under:cand.it., softwareudvikling og -teknologi (sdt) 
Omfang i ECTS:7,50 
Kursussprog:Engelsk 
Kursushjemmeside:https://learnit.itu.dk 
Min. antal deltagere:12 
Forventet antal deltagere:40 
Maks. antal deltagere:80 
Formelle forudsætninger:In order to participate at this course you must be able to
  • use all major elements of the Java or C# language for implementing and testing medium sized programs, including threads, inheritance, packages, I/O, streams and serialisation.
  • use UML diagrams (class, sequence and state diagrams) and design patterns for structuring and describing software
These competencies can be obtained by completing the mandatory programming module on the M.Sc. programme Software Development and Technology.
-----
Information about the course of study
This course is part of a specialization on the Master of Science in IT, study programme Software Development and Technology. See a description of specializations on SDT here:
Kandidat Software Development Technology

 
Læringsmål:After the course you are expected to be able to:

•describe and use fundamental architectures, principles and models used in designing and constructing mobile and distributed systems.

•describe and use basic concepts in mobile and distributed systems for reasoning about, evaluation of, and designing solutions to problems in the field. The areas covered are: Networking and Internetworking, Interprocess communication, External Data Representation and Web Services, Process-oriented Computing, BPMN and BPEL, Formal models for concurrent, mobile and distributed systems, Group Communication, Event-based systems, Mobility (Android and Bluetooth), Time and Global States, Multicast, Consensus, name services, Transactions and Concurrency Control, synchronisation, Replication, Security.

•Implement distributed, and mobile systems in practice with the help of the above techniques in BPMN, Java or C#, and AJAX.

• Read, understand, modify and document (using UML and formal models very appropriate) small implementations of distributed systems in BPMN and Java with only limited documentation.


 
Fagligt indhold:Programs of today typically exhibit aspects of concurrency (or parallelism), distribution, or mobility or even all of them. In a concurrent system parts of the programs proceed simultaneously - for example in different threads or using event dispatching. 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 network in a building to the entire Internet.

Rather than studying specific vendors' tools and frameworks, we will be concerned with the theories that inevitably are the underpinnings of all vendors' solutions. In this course we will study some of the fundamental techniques used when developing, do this from a theoretical as well as from a practical point of view. In particular, the techniques are demonstrated throughout the course in lab assignments.

However, note that this is an introductory course. This means that the course will not make you an expert in any of the above fields, but it will provide the foundation on which to continue with specialization courses or self-study.

The course covers a number of topics:

•Communication over the network leads to dropped and reordered packets which requires robust request/reply and multicast protocols.

•Programs need to be able to look up services in the system through name services, and services has to be available, scalable, and fault tolerant through techniques such as replication and transactions.

•Since programs communicate over an open and potentially faulty network, they must employ security, and it is difficult for them to synchronize on time, leaders, and data consistency. Protocols for encryption, authentication, authorisation, time synchronization, logical time, consensus, and data distribution address such issues.

•In distributed systems, individual components needs to be able to discover available services through discovery protocols.

•In order to support changes and evolution of it-systems loosely coupled architectures such as Service Oriented Architecture are employed, as well as process-oriented architectures for combining services in process flows in an adaptable way.
 
Læringsaktiviteter:14 ugers undervisning bestående af forelæsninger og øvelser

This is a 7,5 ECTS course which requires the average student to spend 12-15 hours every week in the term (including the exam period) on reading, participating in class work, solving exercises or refreshing/training for the exam. Expect to spend more time if you do not entirely fulfill the prerequisites.
During weekly classes we will present and discuss the theoretical aspects and practical implications assuming that you have already read the literature for that class - that is, you must read the literature before attending.
Weekly exercises will allow you to work with the topics on your own with the help of a teaching assistant. Both lectures and lab exercises are part of the curriculum and learning activities.
 

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

This course has mandatory assignments (e.g. attendance, papers, exercises, presentations, productions), that need to be completed/approved before being eligible to register for the examination: at least 9 out of 11 small mandatory assignments must be solved and handed in at a weekly deadline during the course, in groups of 3 students.  

Litteratur udover forskningsartikler:George Coulouris, Jean Dollimore and Tim Kindberg, Distributed Systems – Concepts and Design. Fourth Edition, Published by Addison Wesley/Pearson Education June 2005, ISBN 0321263545 .
Parts of the BPMN 2.0 Specification (available online from OMG)
Parts of the BPEL 2.0 Specification (available online from OASIS)
Online Material on REST, Web Services in Java, WSDL.
Additional online material may be added
 
 
Afholdelse (tid og sted)
Kurset afholdes på følgende tid og sted:
UgedagTidspunktForelæsning/ØvelserStedLokale
Tirsdag 10.00-12.00 Forelæsning ITU 4A14
Tirsdag 12.00-14.00 Forelæsning ITU 4A14
Tirsdag 14.00-16.00 Øvelser ITU 4A54, 4A56

Eksamen afholdes på følgende tid og sted:
EksamensdatoTidspunktEksamenstypeStedLokale
2011-05-31 09:00-13:00 Skriftlig eksamen ITU 4A54, 4A56 og 4A58
2011-08-16 Re-exam - Please contact the course manager Skriftlig eksamen ITU 4A30 - MUNDTLIG EKSAMEN