Formation continue Nord-Pas de calais Conservatoire National des Arts et Métiers Nord-Pas de calais
Béthune - Dunkerque - Lille - Maubeuge - Valenciennes
Toutes nos coordonnées
formation Nord-Pas de calais
Plus de 1000 formations dans 350 métiers, tout au long de la vie

formations en nord pas de calais
Accueil Présentation Nos formations Définir votre projet Organisation des études Contacts
           
Cnam Nord-Pas de calais

NFP103 - Applications concurrentes : conception et outils (ACCOV)  [ 6 crédits ]

Public Concerné
Avoir le niveau du cycle probatoire en informatique plus particulièrement dans la dominante conception et développement informatiques ou avoir une licence ou maîtrise d'informatique.
Avoir le niveau du cycle probatoire en informatique plus particulièrement dans la dominante conception et développement informatiques ou avoir une licence ou maîtrise d'informatique.

Finalité de l'unité d'enseignement
Objectifs pédagogiques
Avec l'extension du Web, de Java et de Ada95, des outils de programmation réseau, avec la programmation par événements associée à des "threads" et à des actions réparties, avec l'approche client-serveur, il va être de plus en plus facile de faire de la programmation concurrente ou parallèle. C'est facile à programmer, mais c'est difficile à faire correctement : beaucoup de programmes concurrents seront faux. Il faut sensibiliser les auditeurs aux bons paradigmes, aux bons "patterns" de concurrence ou de parallélisme, bons parce que bien connus et bien éprouvés par ceux qui développent des programmes concurrents depuis longtemps, mais aussi parce qu'ils sont prouvables et validables avec des outils de validation. Or ces outils sont disponibles sur le web et utilisés déjà pour des programmes et des problèmes réels. Il est donc d'actualité d'enseigner ces "patterns" et leur évaluation, pour qu'ils soient utilisés lors du développement ou de l'évaluation des progiciels.
Capacité et compétences acquises
conception, programmation et validation de programmes concurrents fiables

Organisation
6 Crédits 

Contenu de la formation
Nature et structuration des applications comportant des processus concurrents
.
Contrôle de concurrence dans les moniteurs transactionnels, dans les systèmes d'information, dans les applications temps réel, dans le multimédia. Contrôle de concurrence dans les plates-formes systèmes standard (Posix, Unix, Linux, WindowsNT, MacOs8, Chorus, Mach, ... ), les plates-formes objets (Corba, Cool), les plates-formes temps réel (VxWorks, pSoS, Vrtx, Rtc, LynxOs, T-Smart), PVM, MPI, les mobiles, le "groupware", le "peer to peer".
Regroupement et hiérarchie de processus, modèle client-serveur, modèle transactionnel. Gestion mémoire des processus et des modules partagés. Allocation dynamique de la mémoire. Partitionnement pour la répartition et la distribution.
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, interblocage, famine, 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, tableau noir, invocation à distance, rendez-vous, RPC et proxys, transaction). Programmation des paradigmes. Modularité et objets concurrents.
La spécification des problèmes et les outils de vérification et de validation des solutions
Aperçu des méthodes de spécification : automates, états-assertions, méthode B, logique temporelle, réseaux de Pétri.
Techniques d'analyse des réseaux de Petri (analyse structurelle), "Model-cheking" (logique temporelle), automates synchronisés. Utilisation des outils de simulation et de validation : Quasar, GreatSPN, CPN-AMI, DesignCPN (sur le web).
Ouvertures
Evaluation quantitative : temps de réponse, échéance, gigue. Contraintes de précédence. Qualité de service.
Traite-interruptions, transfert asynchrone (signaux, AST), modes de fonctionnement, sécurité, distribution et placement.
Méthode d'enseignement (cours + ED + TP intégrés)
Présentation et discussion d'exemples de schémas de concurrence exprimés en Ada, Java... et fournis sous forme de programmes exécutables.
Validation des exemples en utilisant des outils spécifiques.
Projet en utilisant des logiciels libres : réalisation, validation et évaluation quantitative, programmation et comparaison des solutions en Ada, Java, Posix. Non interblocage, equite. On pourra considerer la repartition de l application.
Projets vus en 2004-2005 et présentés sur http : //deptinfo. Cnam. fr/Enseignement/CycleSpecialisation/ACCOV/
1. système de surveillance par webcam : Un site Web utilise 8 appareils webcam de surveillance et récupère des images avec un lot de serveurs connectés à des clients. Voir [ACCOV62SurveillanceWebcams. pdf]
2. Synoptique pour suivre plusieurs usines : voir [ACCOV63SynoptiqueUsine. pdf]
3. Coopération pair à pair avec le paradigme des caménéons : étude de la synchronisation dans une relation "Peer to Peer"
voir [ACCOV64Chameneos. pdf]
A cause du projet et du tutorat qu'il implique, le nombre d'auditeurs inscrits est limité à 30.


 
 
   
Espace auditeurs
Formations en alternance Formation continue Cours du soir Formation à distance, e-learning Formations courtes DIF