Spécification et vérification des systèmes distribués
Code UE : NFP103
- Cours + travaux pratiques
- 6 crédits
- Volume horaire de référence
(+ ou - 10%) : 50 heures
Responsable(s)
Kamel BARKAOUI
Public, conditions d’accès et prérequis
Avoir le niveau licence informatique (L3).
Public concerné : Élèves ingénieurs, étudiants en master
Public concerné : Élèves ingénieurs, étudiants en master
Présence et réussite aux examens
Pour l'année universitaire 2020-2021 :
- Nombre d'inscrits : 26
- Taux de présence à l'évaluation : 65%
- Taux de réussite à l'évaluation : 94%
Objectifs pédagogiques
De par le développement des technologies Web, 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 (Java)
- de comprendre les problèmes fondamentaux des systèmes concurrents
- et de s'initier à des méthodes et techniques de vérification automatique de ces systèmes (model-checking, logiques temporelles)
Ce cours a pour objectif :
- d'acquérir une connaissance pratique des "bons" patrons de la programmation concurrente (Java)
- de comprendre les problèmes fondamentaux des systèmes concurrents
- et de s'initier à des méthodes et techniques de vérification automatique de ces systèmes (model-checking, logiques temporelles)
Compétences visées
conception, programmation et validation d'applications concurrents fiables
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, la classe "thread" et les méthodes "synchronized" dans Java, tâches et objets protégés dans ADA95, 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 : automates, automates synchronisés, réseaux de Petri, structures de Kripke, logiques temporelles.
Techniques d'analyse : analyse structurelle (réseaux de Petri), model-checking (Logique temporelle). Utilisation d' outils (open source) de simulation et de vérification : Spin, Design/CPN.
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, la classe "thread" et les méthodes "synchronized" dans Java, tâches et objets protégés dans ADA95, 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 : automates, automates synchronisés, réseaux de Petri, structures de Kripke, logiques temporelles.
Techniques d'analyse : analyse structurelle (réseaux de Petri), model-checking (Logique temporelle). Utilisation d' outils (open source) de simulation et de vérification : Spin, Design/CPN.
Modalité d'évaluation
- Contrôle continu
- Projet(s)
Bibliographie
- M. Ben-Ari : Principles of Concurrent and Distributed Programming , Addison-Wesley, 2006.
- Brian Goetz : Programmation concurrente en Java. Éditions Pearson Education , Collection Référence, 2009
- S. Haddad & al : Ed Lavosier 2006
Cette UE apparaît dans les diplômes et certificats suivants
Rechercher une formation
RECHERCHE MULTI-CRITERES
Plus de critères de recherche sont proposés:
-
Vous pouvez sélectionner des formations grâce à un mot ou à une expression (chaîne de caractères) présent dans l’intitulé de la formation, sa description ou ses index (discipline ou métier).
Des mots-clés sont suggérés à partir du 3e caractère saisi, mais vous pouvez aussi rechercher librement. - Les différents items sélectionnés sont croisés.
ex: "Comptabilité" et "Diplôme" - Les résultats comprennent des formations de la région (UE, diplômes, certificats, stages) et des formations proposées à distance par d'autres centres du Cnam.
- Les codes des formations en Pays-de-la-Loire se terminent par le suffixe PDL.
- Certains diplômes se déclinent selon plusieurs parcours. Pour afficher tous les parcours, tapez la racine du code (ex : « LG035 »).
- Dans tous les cas, veillez à ne pas insérer d'espace ni de ponctuation supplémentaire.
Plus de critères de recherche sont proposés:
- Type de diplôme
- Niveau d'entrée
- Modalité de l'enseignement
- Programmation semestrielle
Chargement du résultat...

Contact
Voir le calendrier, le tarif, les conditions d'accessibilité et les modalités d'inscription dans le(s) centre(s) d'enseignement qui propose(nt) cette formation.
UE
-
-
Paris
-
Centre Cnam Paris
- 2022-2023 2nd semestre : FOAD 100%
Comment est organisée cette formation ?Organisation de la modalité FOAD 100%
Planning
2ème semestre
- Date de démarrage : 06/02/2023
- Date limite d'inscription : 20/03/2023
- Date de 1ère session d'examen : 12/06/2023
- Date de 2ème session d'examen : 04/09/2023
Précision sur la modalité pédagogique
- Regroupements physiques facultatifs : Aucun
:Organisation du déploiement de l'unité
- Nombre d'élèves maximum à distance par classe : 40
- Nombre d'heures d'enseignement par élève : 40
- Délai maximum de réponse à une solicitation : sous 96 heures (Jours ouvrés)
Modes d'animation de la formation
- Forum
- Messagerie intégrée à la plateforme
- Visioconférence
- Outils numériques de travail collaboratif
- Organisation d'une séance de démarrage
- Evaluation de la satisfaction
- Hot line technique
Ressources mises à disposition sur l'Espace Numérique de Formation
- Documents de cours
- Enregistrement de cours
- Documents d'exercices, études de cas ou autres activités pédagogiques
- Outils spécifiques (exerciseur, simulateurs, etc)
- Bibliographie et Webographie
Activités "jalons" de progression pédagogique prévues sans notation obligatoire à rendre ou en auto-évaluation
- 1 exercice
- 1 étude de cas, projet collectif
- 1 étude de cas, projet individuel
Modalité de contrôle de l'acquisition des compétences et des connaissances (validation de l'UE)
- Examens en ligne
- Projet(s) individuel(s)
- Projet(s) collectif(s)
-
Centre Cnam Paris
-
Paris
Code UE : NFP103
- Cours + travaux pratiques
- 6 crédits
- Volume horaire de référence
(+ ou - 10%) : 50 heures
Responsable(s)
Kamel BARKAOUI