Languages and algorithms for distributed applications [ LSINF2345 ]
5.0 crédits ECTS
30.0 h + 15.0 h
2q
Enseignant(s) |
Van Roy Peter ;
|
Langue d'enseignement: |
Anglais
|
Lieu de l'activité |
Louvain-la-Neuve
|
Ressources en ligne |
> https://icampus.uclouvain.be/claroline/course/index.php?cid=LSINF2345
|
Thèmes abordés |
-
Etude des bases théoriques des systèmes répartis, des algorithmes répartis, et des langages pour la programmation répartie.
-
Etude des questions spécifiques des systèmes répartis et mobiles: répartition géographique, gestion de ressources localisées et réparties, tolérance aux fautes, sécurité, interopérabilité et ouverture. - Utilisation pratique de quelques systèmes et langages représentatifs et avancés pour la programmation de systèmes collaboratifs, répartis et mobiles.
|
Acquis d'apprentissage |
Eu égard au référentiel AA du programme « Master ingénieur civil en informatique », ce cours contribue au développement, à l'acquisition et à l'évaluation des acquis d'apprentissage suivants :
-
INFO1.1-3
-
INFO2.2-4
-
INFO5.4-5
-
INFO6.1, INFO6.4
Eu égard au référentiel AA du programme « Master [120] en sciences informatiques », ce cours contribue au développement, à l'acquisition et à l'évaluation des acquis d'apprentissage suivants :
-
SINF1.M2
-
SINF2.2-4
-
SINF5.4-5
-
SINF6.1, SINF6.4
Les étudiants ayant suivi avec fruit ce cours seront capables de
-
définir les systèmes répartis et les algorithmes répartis avec les concepts qu'ils contiennent et les propriétés qu'ils donnent aux programmes;
-
concevoir des applications collaboratives sur des systèmes répartis en utilisant des modèles rigoureux qui permettent de gérer la concurrence et les pannes partielles;
-
implémenter des applications collaboratives sur des systèmes répartis en utilisant les techniques appropriées;
-
utiliser un certain nombre d'outils avancés pour le développement d'applications réparties et mobiles.
Les étudiants auront développé des compétences méthodologiques et opérationnelles. En particulier, ils ont développé leur capacité à
-
penser à l'aide d'abstractions (raisonner correctement sur un système qui comprend plusieurs couches d'abstractions, et de définir de nouvelles abstractions pour simplifier la résolution d'un problème).
|
Modes d'évaluation des acquis des étudiants |
-
Test dispensatoire 25% (vers la 7e semaine)
-
Projet 25%
-
Examen final (50%) (ou 75% si on refait la partie du test)
Le projet est obligatoire et se fait pendant le quadrimestre. Il ne peut être fait qu'une fois et il compte pour toute l'année académique
|
Méthodes d'enseignement |
-
Cours magistral chaque semaine
-
Séance de travaux pratiques en salle informatique, toutes les deux semaines, pour résoudre des problèmes simplifiés en utilisant les concpets vu au cours
-
Projet de conception et d'implémentation pour aplliquer ces concepts dans le cadre d'une application plus complexe
|
Contenu |
-
Introduction aux systèmes distribués
-
Modèles formels des systèmes distribués
-
Spécification et implémentation des systèmes distribués
-
Détecteurs de défaillances
-
Diffusion fiable
-
Diffusion de causalité
-
Mémoire partagée
-
Consensus
-
Applications de consensus
|
Bibliographie |
Support obligatoire:
Références
-
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.
|
Autres infos |
Préalables :
-
LINGI1131 : expertise dans au moins un système de programmation et bases de programmation concurrente
|
Cycle et année d'étude |
> Master [120] en sciences informatiques
> Master [120] : ingénieur civil en informatique
> Master [120] : ingénieur civil électricien
|
Faculté ou entité en charge |
> INFO
|
<<< Page précédente
|