Université du Québec en Outaouais Département d'informatique et d'ingénierie
Sigle : GEN1483  Gr. 01
Titre : Systèmes en temps réel
Session : Automne 2017  Horaire et local
Professeur : Bennai, Mustapha
1. Description du cours paraissant à l'annuaire :

Objectifs

Au terme de cette activité, l'étudiant(e) sera en mesure d'analyser et de concevoir des systèmes informatiques en temps réel.

Contenu

Caractéristiques des systèmes en temps réel. Contraintes temporelles: temps réel dur, souple, ferme. Gestion des événements. Interruptions. S Schémas d'architecture et d'interface. Analyse de la performance temporelle. Fiabilité et tolérance aux fautes. Modélisation. Réseaux de Petri. Langages de spécifications temporelles. Modèles temporels. Systèmes d'exploitation temps réel. Exécution concurrente, synchronisation. Méthodes de conception. Conception à base de modèles. Applications de systèmes temps réel: systèmes de contrôle de procédé, pilotage embarqué (avions, satellites), systèmes bancaires, traitement et acheminement de l'information (vidéo, réalité virtuelle, te.).
2. Objectifs spécifiques du cours :
Le cours couvre 4 des 12 qualités requises des diplômés telles que définies dans les normes d'agrément des programmes de génie au Canada. (http://www.engineerscanada.ca/fr/ressources-en-matiere-dagrement) :

a. Qualité 1 : Connaissances en génie

b. Qualité 2 : Analyse de problèmes

c. Qualité 4 : Conception

d. Qualité 5 : Utilisation d'outils d'ingénierie

e. Qualité 6 : Travail individuel et en équipe

Les qualités 1, 2, 5 et 6 sont mesurées dans ce cours pour fins de rétroaction.

Objectifs spécifiques Qualité Indicateurs Introduit Développé Appliqué
Apprendre à identifier ce que c'est qu'un système à temps réel et comprendre les défis de conception et les domaines d'applications.
1
4. Comprendre et appliquer les concepts de l'ingénierie propres au programme.
x
Analyser et concevoir des systèmes en temps réel en se basant sur des choix logiciels et matériels disponibles selon l'application.
2
3. Choisir un modèle et appliquer l'analyse appropriée pour résoudre un problème.
x
Apprendre à utiliser les outils logiciels adaptés temps réel et les appliquer à un matériel avec des caractéristiques temps réel.
5
2. Utiliser les outils techniques de mesure, modèles ou simulations appropriés.
x
Adopter une approche individuelle dans le cadre d'une recherche poussée sur les composantes logicielles et matérielles existantes.
6
1. Travailler de manière autonome.
x
3. Stratégies pédagogiques :
L'approche générale est interactive et conçue en vue d'impliquer l'étudiant dans la construction et l'utilisation des savoirs. Divers modèles d'enseignement seront utilisés dont:
  • L'exposé interactif
  • La méthode des cas
  • L'apprentissage par problèmes
  • L'apprentissage coopératif
  • La discussion et les exercices pratiques
  • Les travaux pratiques et un projet de conception

Une page web (Moodle) sera créée pour ce cours (voir ci-dessous) et servira, avec le courrier électronique, de principal moyen de communication entre l'enseignant et les étudiants. La consultation régulière de la page est de la responsabilité de l'étudiant.

4. Heures de disponibilité ou modalités pour rendez-vous :
Je vous suggère de poser vos questions par courriel d'abord car je suis souvent disponible. Si une rencontre en tête à tête est nécessaire, alors un rendez-vous à l'avance avec le lieu et l'heure de la rencontre sera fixé.
5. Plan détaillé du cours sur 15 semaines :
Semaine Thèmes Dates
1    Présentation du plan de cours Ch.1 Principes de base des systèmes en temps réel
  • Définitions et Fausses idées
  • Exemples de systèmes en temps réel
05 sept. 2017 
2    Ch.1 Principes de base des systèmes en temps réel
  • Défis de conception multidisciplinaire
  • Domaines d'application et usages types
12 sept. 2017 
3    Ch.2 «Hardware» pour les systèmes en temps réel
  • Architecture des processeurs de base
  • Technologie de mémoires
  • Avancées architecturales

*Travaux dirigés 1 : Choix des groupes de travail et sélection des applications dans le cadre du projet (le 20 septembre 2017)

19 sept. 2017 
4    Ch.2 «Hardware» pour les systèmes en temps réel
  • Interfaçage périphérique
  • Microprocesseur versus microcontrôleur
  • Architecture distribuées en temps réel

*Remise de la proposition de projet

*Travaux dirigés 2 (le 27 septembre 2017)

26 sept. 2017 
5    Ch.3 Les systèmes d'exploitation en temps réel
  • De pseudo-noyaux (Pseudo-kernels) aux systèmes d'exploitation
  • Les fondements théoriques de l'ordonnancement
  • Les services du système pour les programmes d'application

*Travaux pratiques 1 (le 06 octobre 2017)

03 oct. 2017 
6    Semaine d'études 10 oct. 2017 
7    Examen mi-session 17 oct. 2017 
8    Ch.3 Les systèmes d'exploitation en temps réel
  • Problèmes de gestion de mémoire
  • Sélection des systèmes d'exploitation en temps réel

*Travaux pratiques 2 (le 25 octobre 2017)

24 oct. 2017 
9    Ch.4 Langages de programmation pour les systèmes en temps réel
  • Codage de logiciel en temps réel
  • Langage assembleur
  • Langages procéduraux
  • Langages orientés objet

*Travaux dirigés 3 (le 01 novembre 2017)

31 oct. 2017 
10    Ch.4 Langages de programmation pour les systèmes en temps réel
  • Bref aperçu des langages de programmation
  • Génération de codes automatisés
  • Optimisation de compilateurs de codes

*Travaux pratiques 3 (le 08 novembre 2017)

07 nov. 2017 
11    Ch.5 Méthodologie d'ingénierie des exigences
  • Ingénierie des exigences pour les systèmes en temps réel
  • Méthodes formelles dans la spécification du système
  • Méthodes semi formelles dans la spécification du système
  • Le document des exigences

*Travaux pratiques 4 (le 15 novembre 2017)

14 nov. 2017 
12    Ch.6 Approches de conception logicielle
  • Qualité intrinsèque du logiciel en temps réel
  • Principes du génie logiciel

*Travaux dirigés 4 (le 22 novembre 2017)

21 nov. 2017 
13    Ch.6 Approches de conception logicielle
  • Approche de conception procédurale
  • Approche de conception orientée objet
  • Modèles de cycle de vie

*Travaux pratiques 5 (le 29 novembre 2017)

28 nov. 2017 
14    Ch.7 Techniques d'analyse de performance
  • Analyse de performance en temps réel
  • Applications de la théorie des files d'attente
  • Performance Input/Output
  • Analyse des besoins en mémoire

*Remise du rapport final du projet et Présentation (le 06 décembre 2017)

05 déc. 2017 
15    Examen final 12 déc. 2017 
6. Évaluation du cours :

  • Les travaux pratiques (laboratoires) mettront en exergue les concepts vus dans le cours; ils exigeront la connaissance des notions théoriques, une certaine capacité de travail et d'analyse critique, ainsi qu'une connaissance dans la manipulation des équipements de laboratoire. Les laboratoires permettront aux étudiants de se familiariser avec L'environnement Micro C/ OS II et III et StateFlow de Matlab, ainsi qu'utiliser la carte d'évaluation.
  • Projet de conception d'un système en temps réel avec réalisation pratique portant sur une application en temps réel en rapport avec le robot NAO. Les étudiants doivent eux-mêmes proposer un projet qui doit être au préalable approuvé par le professeur. Cette étude comprendra:
    1. -Une proposition de conception de projet
      -Une rédaction d'un rapport d'avancement du projet
      -Une rédaction d'un rapport final
      -Une rédaction présentation du projet en classe
      -Une démonstration pratique de la réalisation au laboratoire
  • Examen de mi-session
  • Examen final

L'étudiant(e) doit obtenir 50 % des points dans tous les travaux notés pour réussir le cours.

Outils d'évaluation Pondération Indicateurs mesurés
Travaux dirigés (4 TD, présence obligatoire)
0 %
Travaux pratiques (5 séances)
20 %
5.2
Projet de conception avec réalisation pratique
25 %
1.4 & 2.3
Examen de mi-session
15 %
6.1
Examen final
40 %
6.1

Par indicateur mesuré, on entend qu'à la fin du cours, un niveau de performance (0, 1, 2, 3) est donné pour chaque indicateur et pour chaque étudiant selon la grille ci-dessous.

Indicateurs Niveau 0 Niveau 1 Niveau 2 Niveau 3
1.4 - Comprendre et appliquer les concepts de l'ingénierie propres au programme. Moins de 52 % Entre 52 % et 63 % Entre 64 % et 83 % Plus de 84 %
2.3 - Choisir un modèle et appliquer l'analyse appropriée pour résoudre un problème. Choix du modèle et analyse inacceptables. Choix du modèle acceptable, mais analyse partielle. Choix du modèle acceptable et analyse adéquate. Choix du modèle et analyse remarquables.
5.2 - Utiliser les outils, techniques de mesure, modèles ou simulations appropriés. Utilisation inadéquate ou inexistante. Utilisation partielle. Utilisation adéquate. Utilisation remarquable.
6.1 - Travailler de façon autonome. Incapable de faire le travail individuel sans assistance. Fait le travail individuel avec peu d'assistance. Fait le travail individuel sans assistance. Fait le travail individuel de façon remarquable sans assistance.
7. Politiques départementales et institutionnelles :
8. Principales références :
  1. 1. Philip A. Laplante, Real-Time Systems design and analysis, An Engineer's Handbook, 3rd edition, IEEE Press, 2004
  2. 2. Alan C. Shaw, Real time systems and Software,, John Willey & Sons, Inc., 2001
  3. 3. Chowdary Venkateswara Penumuchu, Simple Real-time Operating System: A Kernel Inside View for a Beginner, Trafford Publishing, 2007
  4. 4. Jane W.S. Liu, Real-Time Systems, Prentice Hall, 2000
9. Page Web du cours :
https://moodle.uqo.ca