<- Archives UCL - Programme d'études ->



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:

  • transparents en ligne

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