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
|
Préalables |
- expertise dans au moins un système de programmation (par exemple le système Mozart via le cours INGI1131)
- bases de programmation concurrente telles qu'acquise au terme du cours INGI1131
|
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 |
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)
|
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.
|
Cycle et année d'étude |
> Master [120] : ingénieur civil en informatique
> Master [120] en sciences informatiques
> Master [120] : ingénieur civil électricien
|
Faculté ou entité en charge |
> INFO
|
<<< Page précédente
|