Retour accueil UPMCPhoto1 UPMCPhoto2 UPMC
UE: Programmation impérative et concurrente
Site permanent

L'unité d'enseignement « Programmation impérative et concurrente » est une UE de niveau (300) spécialisation relevant de la licence d'informatique. Elle possède un volume de 6 ECTS et s'étend sur 12 semaines. Elle est placée sous la responsabilité de Kordon, fabrice.

Description

L'objectif de cette UE est de présenter les bases de la programmation concurrente dans un environnement unifié (Ada95) permettant d'abstraire les problèmes d'interfaçage avec le système et donc de se focaliser sur les principaux mécanismes de la programmation concurrente. Cette UE se voit clairement comme une suite d'une "première" UE traitant de la programmation impérative.

Après un rappel très rapide des concepts de bases de la programmation (censés être acquis dans une UE comme LI215) seront abordés:

  • les mécanismes de structuration avancée (paquetages, visibilité de types ou de sous-programmes ...)
  • les structures de données polymorphes ou mutables
  • une approche simple de la notion de thread dans un environnement "intégré" (sur la base des tâches Ada)
  • une introduction aux concepts de bases de la programmation concurrente (sémaphore, exclusion mutuelle, modèle producteur/consommateur ...).

Cette UE utilisera principalement Ada comme langage support.

Préalables et buts pédagogiques

Bibliographie

  • L. Zaffalon & P. Breguet, "Programmation Concurrente et temps-réel avec Ada95", Presses polytechniques et universitaires romandes

  • J. Barnes, "Programmer en Ada95", 2ème édition (Vuibert)

Contenu indicatif par semaine

  1. Maîtrise d'Ada, structure d'un programme, types simples et structures de données

  2. Maîtrise d'Ada, les sous-programmes, les types composés et à discriminants

  3. Maîtrise d'Ada, paquetages, visibilité des types et encapsulation, surcharge d'opérateurs

  4. Maîtrise d'Ada, pointeurs et gestion dynamique de la mémoire

  5. Maîtrise d'Ada, types de données récursifs

  6. Maîtrise d'Ada, exceptions et utilisation des exceptions

  7. Tâche en Ada, notion d'entrée et de rendez-vous

  8. Notion d'exclusion mutuelle et de section critique

  9. Synchronisation avec les types protégés en Ada, modèle client-serveur simple

  10. Instruction select, notions de gardes

  11. Création dynamique de tâches et d'objets protégés

  12. Bilan