Languages and algorithms for distributed applications [ LSINF2345 ]
5.0 crédits ECTS
30.0 h + 15.0 h
2q
Teacher(s) |
Van Roy Peter ;
|
Language |
English
|
Place of the course |
Louvain-la-Neuve
|
Online resources |
> https://icampus.uclouvain.be/claroline/course/index.php?cid=LSINF2345
|
Prerequisites |
- Mastering of at least one programming system (eg Mozart system through the course INGI1131)
- basics of concurrent programming such as provided by INGI1131
|
Main themes |
- Study of the theoretical basis of distributed systems, distributed algorithms, and languages for distributed programming. -
- Study of the specific issues related to distributed and mobile systems : geographic distribution, management of localized and distributed resources, fault tolerance, security, interoperability, and openness.
- Practical use of several representative and advanced systems and languages for programming collaborative, distributed, and mobile applications.
|
Aims |
Students completing successfully this course will be able to
- define distributed systems and distributed algorithms with concepts they contain and the properties they give to programs.
- design collaborative applications on distributed systems using rigorous models to deal with concurrency and partial failure.
- implement collaborative applications on distributed systems using appropiate technics.
- use some advanced tools for the development of distributed and mobile applications.
Students will have developed skills and operational methodology. In particular, they have developed their ability to
- think with abstractions (reason correctly about a system that consists of several layers of abstractions, and define new abstractions to simplify a problem's solution).
|
Evaluation methods |
- Dispensatory test 25% (around week 7)
- Project 25%
- Final exam 50% (or 75% if redoing test part)
|
Teaching methods |
- Lectures each week
- Practical sessions in the computer room, every two weeks, to solve simplified problems using concepts explain during the lectures
- Design and programming project to apply these concepts in a more complexe application
|
Content |
- Introduction to distributed systems
- Formal models of distributed systems
- Specification and implementation of distributed systems
- Failure detectors
- Reliable broadcast
- Causal broadcast
- Shared memory
- Concensus
- Applications of concensus
|
Bibliography |
Mandatory support:
Course material:
- Rachid Guerraoui and Luis Rodrigues. "Introduction to Reliable Distributed Programming". Springer-Verlag, 2006.
- Hagit Attiya and Jennifer Welch. "Distributed Computing: Fundamentals, Simulations, and Advanced Topics". McGraw-Hill, 1998.
- Peter Van Roy et Seif Haridi, Chapter 11 de Concepts, Techniques, and Models of Computer Programming, MIT Press, 2004.
- Peter Van Roy, Per Brand, Seif Haridi et Raphael Collet, A Lightweight Reliable Object Migration Protocol, Springer LNCS 1686, 1998.
|
Cycle et année d'étude |
> Master [120] in Computer Science and Engineering
> Master [120] in Computer Science
> Master [120] in Electrical Engineering
|
Faculty or entity in charge |
> INFO
|
<<< Page précédente
|