STM-GE-15-Systèmes multi-tâches

  • ue-gec-stm-ge-15
  • Génie Electrique

Semestre : 9

Responsable(s) du contenu pédagogique
  • François DE BEUVRON
  • Ahmed SAMET
Total coefficients : 3
Total heures : 30 (12 cours, 18 projet)
Total heures travail personnel : 31

Prérequis

- Connaissance en programmation orientée objet


Objectif

Module d'initiation à la programmation concurrente.


Compétences attendues

Axe A1 : CONNAISSANCES ET COMPRÉHENSION
Capacité à mettre en place un raisonnement scientifique rigoureux. Capacité à mobiliser les ressources d'un large champ de sciences fondamentales.
- Formaliser un problème à l'aide d'outils analytiques ou numériques
- Être capable de résoudre un problème scientifique à l'aide de méthodes analytiques ou numériques

Axe A2 : ANALYSE TECHNIQUE
Capacité à mobiliser les ressources dans le domaine de la spécialité. Mettre en œuvre des connaissances techniques multidisciplinaires pour résoudre des problèmes d'ingénierie.
- Identifier un problème, le reformuler
- Identifier et comparer des méthodes de résolutions potentielles
- Choisir une méthode de résolution adaptée au problème et en évaluer l'efficacité


Programme

La première et principale partie du cours est dédiée à la programmation concurrente ou multi-taches.
Les concepts seront mis en application en Java : Java dispose d'un mécanisme natif de creation/synchronisation de processus légers (threads) qui s'exécutent en parallèle dans un même programme (au sein de la machine virtuelle java JVM), ce qui permet de tester facilement les mécanismes de base (sleep, interrupt, wait/notify). Ensuite, des bibliothèques de plus haut niveau ont été développées pour mettre en œuvre facilement et efficacement les cas d'utilisation les plus courants : opérations atomiques, collections spécifiquement adaptées à une utlisation en multi-tâche.

La deuxième partie du cours est une introduction à la programmation distribuée : Les étudiants apprendront à créer des applications réseau échangeant des données au travers de sockets TCP/IP, et en utilisant en particulier une architecture client-serveur.


Mode d'évaluation

Examen final sous forme de projet (6-8 semaines) avec une soutenance: coeff 1

Les étudiants sont évalués à la suite d'une soutenance sur plusieurs critères:
-La résolution du problème du projet avec les connaissances acquises en cours.
-La qualité du rapport et présentation le jour de la soutenance


Bibliographie

Scott Oaks, Henry Wong, "Java Threads, 3rd Edition", September 2004, O'Reilly. ISBN: 9780596007829
Brian Goetz et al. "Java Concurrency in Practice",
biblio Web
https://docs.oracle.com/javase/tutorial/essential/concurrency/
http://deptinfo.unice.fr/~grin/messupports/java/Thread1.pdf



Retour