ECTS
6 crédits
Composante
Collège Sciences et Technologies pour l’Energie et l’Environnement (STEE)
Volume horaire
54h
Description
Cet enseignement a pour objectif de donner les bases de la mise en œuvre des systèmes distribués.
Après une introduction générale sur les spécificités des systèmes distribués (hétérogénéité des formats de données, pannes partielles …) et ses modèles de communication (client/serveur, diffusion de messages, pair à pair), l'utilisation des sockets UDP et TCP est étudiée, à la fois en C et en Java.
Le cours continue ensuite par l'étude du middleware d'appel de méthodes à distance Java RMI.
Enfin, le cours comprend également une introduction à l'algorithmique distribuée avec les problématiques de temps et d'états globaux.
Objectifs
À la fin de cette UE/EC, vous serez capable de :
• Maitriser les spécificités des systèmes distribués,
• Implémenter des systèmes distribués composés d’éléments hétérogènes écrits dans différents langages,
• Déterminer un temps logique dans un système distribué et en déduire des dépendances d’ordre.
Heures d'enseignement
- Systèmes distribués - CMCours Magistral21h
- Systèmes distribués - TDTravaux Dirigés12h
- TPTravaux Pratique21h
Pré-requis obligatoires
Savoir programmer en C et en Java, connaitre les bases des réseaux IP.
Contrôle des connaissances
1ère session : 100% Contrôle Continu écrit
Le contrôle continu est un projet consistant à implémenter un système distribué. L’examen se porte sur les parties étudiées en cours et en TD.
2ème session : 100% examen terminal écrit.
Compétences acquises
Compétences | Niveau d'acquisition | |
---|---|---|
Exploitation de données à des fins d’analyse | Analyser et synthétiser des données complexes en vue de leur exploitation informatique. | 2 - Application |
Analyse d'un questionnement en mobilisant des concepts disciplinaires | Analyser et interpréter les résultats produits par l'exécution d'un programme: terminaison, test , complexité | 1 - Notion |
Mise en œuvre de méthodes et d'outils du champ disciplinaire | Se servir aisément de plusieurs styles/paradigmes algorithmiques et de programmation (approches impérative, fonctionnelle, objet et multitâche) ainsi que plusieurs langages de programmation | 2 - Application |
Mettre en œuvre des méthodes d'analyse pour concevoir des modèles de données et des algorithmes à partir d'un cahier des charges partiellement défini. | 3 - Maitrise | |
Appliquer des approches raisonnées de résolution de problèmes complexes : modèle formel d'un problème, réduction et complétude de problèmes | 3 - Maitrise |