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 2018  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. 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, etc.).

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 :

La communication privilégiée entre le professeur et les étudiants en dehors des heures de cours se fera par courriel (mustapha.bennai@uqo.ca). Dans le cas où une rencontre est jugée nécessaire, il est fortement suggéré de prendre rendez-vous.

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
04 sept. 2018 
2   

Ch.1 Principes de base des systèmes en temps réel

  • Défis de conception multidisciplinaire
  • Domaines d'application et usages types
11 sept. 2018 
3   

Ch.2 «Hardware» pour les systèmes en temps réel

  • Architecture des processeurs de base
  • Technologie de mémoires
  • Avancées architecturales

Choix des groupes de travail et sélection des applications dans le cadre du projet

18 sept. 2018 
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 pratiques 1 (26 septembre 2018)

25 sept. 2018 
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

02 oct. 2018 
6   

Semaine d'études

09 oct. 2018 
7   

Examen mi-session

16 oct. 2018 
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 (24 octobre 2018)

23 oct. 2018 
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

30 oct. 2018 
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 (07 novembre 2018)

06 nov. 2018 
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 (14 novembre 2018)

13 nov. 2018 
12   

Ch.6 Approches de conception logicielle

  • Qualité intrinsèque du logiciel en temps réel
  • Principes du génie logiciel

20 nov. 2018 
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 (28 novembre 2018)

27 nov. 2018 
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 (05 décembre 2018)

04 déc. 2018 
15   

Examen final

11 déc. 2018 
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.
  • Projet de conception d'un système en temps réel avec réalisation pratique portant sur une application en temps réel. Différents projets seront proposés aux étudiants au début du trimestre. Chaque groupe de deux ou trois étudiants devra remettre une étude qui comprendra :

-Une proposition préliminaire de conception du projet

-Une rédaction d'un rapport d'avancement du projet

-Une rédaction d'un rapport final

-Une présentation PowerPoint du projet en classe

-Une démonstration pratique de la réalisation au laboratoire

  • Examen de mi-session
  • Examen final

Outils d'évaluation Pondération Indicateurs mesurés

Travaux pratiques (5 séances)

20 %

5.2

Projet de conception avec réalisation pratique

40 %

1.4 & 2.3

Examen de mi-session

15 %

6.1

Examen final

25 %

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. Philip A. Laplante, Real-Time Systems design and analysis, An Engineer's Handbook, 3rd edition, IEEE Press, 2004
  2. Alan C. Shaw, Real time systems and Software, John Willey & Sons, Inc., 2001
  3. Chowdary Venkateswara Penumuchu, Simple Real-time Operating System: A Kernel Inside View for a Beginner, Trafford Publishing, 2007
  4. Jane W.S. Liu, Real-Time Systems, Prentice Hall, 2000
9. Page Web du cours :
https://moodle.uqo.ca