Cette unité d'enseignement vise à donner aux étudiants les connaissances indispensables pour la conception de systèmes temps réel embarqués critiques. Notamment, l'enseignement se concentre sur les problèmes liés à la satisfaction de contraintes non-fonctionnelles (contraintes matérielles, temporelles, etc.) dans le cadre de la conception de systèmes temps réel et souvent critiques. Plus particulièrement, le cours porte sur des aspects algorithmiques comme la théorie de l’ordonnancement, sur la conception bas niveau avec mise en œuvre sur noyaux temps réel, sur la modélisation, l’analyse et la production de code embarqué, sur les approches pour la sûreté de fonctionnement ou encore sur les standards industriels propres à l’avionique, l’automobile ou le ferroviaire.
Objectifs d'apprentissage :
- Algorithmes et Architectures de référence
- Algorithmes d'ordonnancement de tâches et serveurs périodiques
- Systèmes et architectures dans l’avionique et l’automobile
- Motifs de conception pour la tolérance aux fautes
- Synthèse de logiciel embarqué à partir de modèle (AADL -> C)
- Programmation
- Programmation temps réel via différentes API
- Programmation de la tolérance aux fautes
- Implémentation d'un ordonnanceur
- Analyse et Modélisation
- Tests d'ordonnancement analytiques
- Calcul de pire temps d'exécution
- Définition et interprétation de modèles pour calculs de fiabilité / disponibilité pour systèmes critiques
- Programmation C élémentaire.
- Principes de la compilation
- Fonctionnement d'un processeur et hiérarchie mémoire.
- Programmation concurrente élémentaire : expression de la concurrence, mécanismes de synchronisation
- Mathématiques : probabilités discrètes élémentaires
- Enseignant: Florian Brandner
- Enseignant responsable de l'UE: Laurent Pautet