Conception et Spécification des Systèmes Concurrents
Description
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
Finalité
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
Compétences visées
conception, programmation et validation d'applications concurrents fiables
Public
Avoir le niveau licence informatique (L3).
Public concerné : Élèves ingénieurs, étudiants en master
- Nombre d’ECTS
- 6
- Durée en nombre d'heures
- 50.00
- Nb d'heures de TP
- 25.00
- Type de notation
- Notation chiffrée (sur 20)
- Moyenne pour valider l'UE
- 10.00
- Modalité(s) d'évaluation
- Examen final
- Année de création
- 2025
- Date de début de validité
- Date de fin de validité
- Déployabilité
- Offre déployable dans le réseau en cas d'agrément
- Examen national
- Oui
- Diplôme d'ingénieur Spécialité informatique parcours Architecture et ingénierie des systèmes et des logiciels (AISL)
- Master Sciences, technologies, santé mention Informatique parcours Préparation à l'agrégation en informatique
- Master Sciences, technologies, santé mention Informatique parcours Recherche opérationnelle
- Master Sciences, technologies, santé mention Informatique parcours Réseaux et objets connectés
- Master Sciences, technologies, santé mention Informatique parcours Sécurité informatique, cybersécurité et cybermenaces en Bretagne
- Master Sciences, technologies, santé mention Informatique parcours Systèmes d'information et business intelligence
- Master Sciences, technologies, santé mention Informatique parcours Systèmes d'information et business intelligence HTT
- Master Sciences, technologies, santé mention Informatique parcours Traitement de l'information et exploitation des données
Cette unité fait partie du/des bloc(s) de compétences suivant(s).