• Logiciels/outils/applications/services

Conception et Spécification des Systèmes Concurrents

Mis à jour le

Responsable(s) : M. Sami TAKTAK

  • Cours + travaux pratiques
Code Cnam : NFP103

Envie d'en savoir plus sur cette formation ?

Afin d’obtenir les tarifs, le calendrier de la formation, en distanciel, en présentiel, le lieu de la formation et un contact, remplissez les critères suivants :

Afficher le centre adapté à mes besoins

Afin d’obtenir les tarifs, le calendrier de la formation et le lieu de la formation, remplissez les critères suivants :

  • Durée : 50 heures
  • A la carte
  • Soir & samedi
  • 6 crédits
  • Distanciel, Hybride (présentiel et distanciel)

Présentation

Public, conditions d'accès et prérequis

Prérequis

Avoir le niveau licence informatique (L3).
Public concerné : Élèves ingénieurs, étudiants en master

Objectifs

De par le développement des langages de programmation concurrente, des outils de programmation réseau et celui des processeurs multi-cœurs, le calcul concurrent est aujourd'hui omniprésent dans la construction de systèmes comme les systèmes d'exploitation, les systèmes distribués et les systèmes temps réel. Cependant, la conception de tels systèmes et la preuve de leur correction sont des tâches très difficiles.
Ce cours a pour objectif :
- d'acquérir une connaissance pratique des "bons" patrons de la programmation concurrente
- de comprendre les problèmes fondamentaux des systèmes concurrents
- et d'acquérir des notions de spécification de ces systèmes

L'avis des auditeurs

Les dernières réponses à l'enquête d'appréciation pour cet enseignement : Fiche synthétique au format PDF

Présence et réussite aux examens

Pour l'année universitaire 2023-2024 :

  • Nombre d'inscrits : 81
  • Taux de présence à l'évaluation : 74%
  • Taux de réussite parmi les présents : 100%

Compétences et débouchés

Compétences

conception, programmation et validation d'applications concurrents fiables

Informations pratiques

Contact

Retrouvez cette formation en centre :

Lieux de formation

Logo Ecole numérique et IA Cnam

Programme

Contenu

Structuration des applications concurrentes
Contrôle de concurrence dans les systèmes transactionnels, les systèmes d'information répartis, les applications temps réel.

Les paradigmes de la concurrence et les archétypes de programmation ('design patterns').
Exclusion mutuelle, élection, producteur consommateur, lecteurs rédacteurs, client-serveur, "peer to peer", problèmes liés aux pannes, diffusion atomique ordonnée, inter-blocage, famine, équité, terminaison.
Mécanismes de bases (processus, sémaphores, moniteurs,  “thread”, communication synchrone et asynchrone, messages, boîtes aux lettres, invocation à distance, rendez-vous). Modularité et objets concurrents.
 
Spécification et vérification de propriétés de systèmes concurrents
Aperçu des méthodes de spécification :
   * Expressions régulières et automates finis à états
   * automates, automates synchronisés
    * Preuve de programme:
        * contrat de fonction, pré-post-conditions, invariants de boucles
        * terminaison
        * structures de Kripke, logiques temporelles

 

Bibliographie

  • Michel Raynal . Concurrent Programming: Algorithms, Principles, and Foundations
  • Peter Linz, Susan H. Rodger . An Introduction to Formal Languages and Automata

Ces formations pourraient vous intéresser