Bienvenue à l analyse et à le conception de logiciels communicants Luc Trudeau Département de génie logiciel et des technologies de l information L ÉTS est une constituante du réseau de l'université du Québec Montréal, Québec, Canada
Présentation personnelle Luc Trudeau luc.trudeau@etsmtl.ca A-3456 (Labo Vantrix) 2004-2008: Bac Génie logiciel (ÉTS) 2008-2011: Maîtrise Technologie de l information (ÉTS) Domaine de recherche : Détection et correction d erreurs dans les séquences H.264 transmises par l intermédiaire d un réseau sans fil 2011-présent: Ph.D. En recherche appliquée (ÉTS) Domaine de recherche : Optimisation débit-distorsion de séquences H.264 et HEVC Charges de cours MTI785 - Systèmes d applications mobiles (Maîtrise) MGL802 - Principes et applications de la conception de logiciels (Maîtrise) GTI785 - Systèmes d applications mobiles GTI777 - Conception de services de réseautique et de messagerie GTI660 - Base de données multimédia LOG540 - Analyse et conception de logiciels de télécommunications LOG430 - Architecture Logicielle 2
Les logiciels communicants 3
LOG540 Analyse et conception de logiciels communicants Génie Logiciel Exigences (Attributs de qualité) Tests Télécommunications Conception de protocoles Structure d un protocole Contrôle de flux Gestion d erreurs Conception logicielle Patrons (GOF, POSA, SDL) Modélisation (UML/SDL) Architecture 4
Questions Partie 1: Comment Modéliser un protocole? Délais d attente avant l envoi de messages? Que faire si un packet est corrompu? Que faire si un packet est perdu? Que faire si un packet est dupliqué? 5
Questions Partie 2: Comment synchroniser une application temps réel? Que faire lorsque la latence augmente (internet)? Comment définir un protocole? Comment établir un réseau pair à pair? Comment programmer des logiciels communicants? Comment transporter du multimédia? Future des protocoles de télécommunication? 6
Survol de la matière du cours 7
Survol de la matière du cours 8
Les défis des logiciels communicants 1. Concevoir et spécifier un «bon» protocole Quels sont les critères d un bon protocole? Comment spécifier un protocole? Comment le vérifier? 2. Réaliser un logiciel qui implémente correctement le protocole À partir d un protocole bien spécifié et validé, comment implémenter un logiciel qui se comporte selon le protocole? 3. Réaliser un logiciel qui n a pas de défauts de sécurité Le réseau est une porte d entrée pour les pirates, les virus, les vers, etc. Comment concevoir des logiciels afin d empêcher le piratage? 9
Équipes de deux (2) étudiants Travaux pratiques TP Socket 101 Introduction aux subtilités de la programmation réseau. TP Contrôle d erreurs Introduction au contrôle d erreurs. TP Frameworks Introduction aux frameworks 10
Équipes de deux (2) étudiants Laboratoire Conception d un protocole réseau entre 2 émulateurs NES (5 séances) Ne vous inquiétez pas, c est en Java. Comment combattre le lag? Doit être compatibles entre les équipes Figure 1 Deux instances HalfNES synchronisées par un protocole de télécommunication. 11
Site Web du cours https://ena.etsmtl.ca/course/view.php?id=2462 Vous devez le visiter régulièrement 12