Logo ÉTS
Session
Cours
Responsable(s) Abdelouahed Gherbi

Se connecter
 

Sauvegarde réussie
Echec de sauvegarde
Avertissement
École de technologie supérieure

Responsable(s) de cours : Abdelouahed Gherbi


PLAN DE COURS

Hiver 2024
LOG550 : Conception de systèmes informatiques en temps réel (3 crédits)





Préalables
Programme(s) : 7065,7070,7365,7610
             
  Profils(s) : Tous profils  
             
    LOG210    
             
Unités d'agrément
Total d'unités d'agrément : 58,8 60,0 % 40,0 %




Qualités de l'ingénieur

Qn
Qualité visée dans ce cours  
Qn
  Qualité visée dans un autre cours  
  Indicateur enseigné
  Indicateur évalué
  Indicateur enseigné et évalué



Descriptif du cours

Acquérir des méthodologies et techniques de spécification, conception et implémentation de systèmes de logiciels temps réel spécifique à un ingénieur logiciel.

Définition du temps réel. Revue des systèmes en temps réel et leurs caractéristiques générales. Exigences du temps réel. Méthodologies et techniques de spécification et de conception de systèmes temps réel. Principales méthodes de communication et de synchronisation entre processus. Technique de compilation croisée et optimisation de code. Techniques d’ordonnancement de tâches temps réel. Analyse du temps de réponse. Système d'exploitation temps réel. Mécanisme des interruptions et leur programmation. Fiabilité et tolérance aux fautes.

Séances de laboratoire axées sur l’analyse, la conception, la budgétisation et la réalisation d’un logiciel temps réel sur les ordinateurs/microprocesseurs disponibles.




Objectifs du cours

À la fin de ce cours, l’étudiant sera capable de :

  • Concevoir des systèmes en temps réel selon un processus structuré;
  • Identifier les contraintes matérielles et logicielles associées au traitement en temps réel et les résoudre;
  • Décrire et appliquer les techniques logicielles associées au traitement des événements en temps réel;
  • Comprendre l’opération des systèmes d’exploitation multitâches et savoir les utiliser dans le développement de systèmes en temps réel;
  • Développer et programmer un système d’acquisition de données en temps réel impliquant la synchronisation de deux ordinateurs;
  • Choisir une technique de conception sécuritaire pour les systèmes ordinés en temps réel.



Stratégies pédagogiques
  • Cours magistraux : un (1) cours par semaine pour un total de treize séances (13).
  • Laboratoires : un (1) laboratoire par semaine pour un total de douze séances (12).

Note : Les cours sont d’une durée de 3 heures et 30 minutes et les laboratoires sont d'une durée de 2 heures.




Utilisation d’appareils électroniques

Aucun appareil utilisé




Horaire
Groupe Jour Heure Activité
01 Lundi 18:00 - 20:00 Laboratoire
Vendredi 18:00 - 21:30 Activité de cours



Coordonnées de l’enseignant
Groupe Nom Activité Courriel Local Disponibilité
01 Ahmed Bali Activité de cours ahmed.bali@etsmtl.ca
01 Vigninou Horace Gandji Laboratoire horace.gandji@gmail.com



Cours

1. Introduction (3 heures[1])

  • Présentation générale du cours
  • Définition des concepts de base
  • Exemples de systèmes ordinés en temps réel
  • Notion du temps dans les systèmes informatiques.

2. Organisation des ordinateurs : La vision des programmeurs (3 heures)

  • Revue des composantes matérielles et leurs caractéristiques
  • Interfaces internes et externes
  • Jeux d’instructions et temps d’exécution

3. Méthodologies de développement logiciel (6 heures)

  • Cycles de développement d’un projet informatique
  • Modélisation des besoins
  • Spécification des contraintes temporelles
  • Méthodologies de spécification et de conception des systèmes ordinés en temps réel (notamment SysML et AADL)

4. Langages de programmation pour le temps réel (6 heures)

  • Revue des éléments du langage C et de leur impact sur la performance d’un système
  • Introduction au langage assembleur
  • Techniques de programmation des périphériques
  • Optimisation du code

5. Analyse de performance (3 heures)

  • Aspects matériels et logiciels du traitement des interruptions
  • Méthodes de traitements des interruptions
  • Calcul du temps de réponse

6. Étude des systèmes d’exploitation pour le temps réel (6 heures)

  • Systèmes avec et sans interruptions
  • Éléments fondamentaux des systèmes multitâches
  • Services et configuration du noyau

7. Ordonnancement (6 heures)

  • Méthodes pour l’ordonnancement de tâches indépendantes et dépendantes.
  • Calcul du temps d’exécution
  • Problème d’inter blocage et solutions possibles

8. Communication inter-tâches et synchronisation (6 heures)

  • Tampons de données
  • Messages, sémaphores, queues, drapeaux et signaux

 


[1] Ces heures sont des heures approximatives d’enseignements pour chaque sujet et incluent le temps alloué à l’examen intra-trimestriel.




Laboratoires et travaux pratiques

Les étudiants utilisent un environnement de développement en assembleur et en langage C. Ils utilisent aussi un environnement de compilation croisée C (STM32CubeIDE) pour les microcontrôleurs STM32.

 

Travaux pratiques

Les étudiants ont à réaliser un oscilloscope numérique et un analyseur spectral en temps réel en utilisant la carte B-L4S5I-IOT01A à un microcontrôleur STM32 (STM32L4S5VIT6). Un ordinateur PC est utilisé pour le traitement et l’affichage des données.

Le projet comporte deux (2) parties :

  1. Développement de l’application d’acquisition de données à taux constant sur le microcontrôleur.
  2. Implantation d’un noyau en temps réel multitâches sur le microcontrôleur, et adaptation de l’application d’acquisition.



Utilisation d'outils d'ingénierie
  • Carte de développement B-L4S5I-IOT01A avec le microcontrôleur STM32L4S5VIT6 basé sur un coeur ARM Cortex-M4 avec 2 Mbytes de mémoire Flash et 640 Kbytes de RAM.
  • Noyau en temps réel FreeRTOS
  • Environnement de développement STM32CubeIDE
  • Langage de programmation C et langage d'assemblage



Évaluation
Examen intra 30 %
Examen Final 30 %
Laboratoires 40 %

 

 




Dates des examens intra
Groupe(s) Date
1 16 février 2024



Date de l'examen final
Votre examen final aura lieu pendant la période des examens finaux, veuillez consulter l'horaire à l'adresse suivante : http://etsmtl.ca/Etudiants-actuels/Baccalaureat/Examens-finaux


Politique de retard des travaux
Tout travail (devoir pratique, rapport de laboratoire, rapport de projet, etc.) remis en retard sans motif valable, c’est-à-dire autre que ceux mentionnés dans le Règlement des études (1er cycle, article 7.2.7 b / cycles supérieurs, article 6.5.4 b) se verra attribuer la note zéro, à moins que d’autres dispositions ne soient communiquées par écrit par l’enseignant dans les consignes de chaque travail à remettre ou dans le plan de cours pour l’ensemble des travaux.

Dispositions additionnelles

Une pénalité de 10% par jour de retard sera appliquée pour tout retard sans motif raisonnable.




Absence à un examen
Dans les cinq (5) jours ouvrables suivants, la tenue de son examen, l’étudiant devra justifier son absence d’un examen durant le trimestre auprès de la coordonnatrice – Affaires départementales qui en référera au directeur du département ou du SEG. Pour un examen final, l’étudiant devra justifier son absence auprès du Bureau du registraire. Dans tous les cas, l’étudiant doit effectuer sa demande en complétant le formulaire prévu à cet effet qui se trouve dans son portail Mon ÉTS/Formulaires. Toute absence non justifiée par un motif majeur (maladie certifiée par un billet de médecin, décès d’un parent immédiat, Activité compétitive d’un étudiant appartenant à un club scientifique ou un club sportif d’élite de l’ÉTS ou au programme « Alliance sport étude » ou autre) à un examen entraînera l’attribution de la note zéro (0).



Infractions de nature académique
À l’ÉTS, le respect de la propriété intellectuelle est une valeur essentielle et les étudiants sont invités à consulter la page "Citer, pas plagier !" (https://www.etsmtl.ca/Etudes/citer-pas-plagier). Les clauses du règlement sur les infractions de nature académique de l’ÉTS (« Règlement ») s’appliquent dans ce cours ainsi que dans tous les cours du département. Les étudiants doivent consulter le règlement sur les infractions de nature académique (https://www.etsmtl.ca/docs/ETS/Gouvernance/Secretariat-general/Cadre-reglementaire/Documents/Infractions-nature-academique) pour identifier les actes qui constituent des infractions de nature académique au sens du Règlement ainsi que prendre connaissance des sanctions prévues à cet effet.

Systèmes d’intelligence artificielle générative (SIAG)
L’utilisation des systèmes d’intelligence artificielle générative (SIAG) dans les activités d’évaluation constitue une infraction de nature académique au sens du Règlement sur les infractions de nature académique, sauf si elle est explicitement autorisée par l’enseignant(e) du cours.



Documentation obligatoire

Aucune documentation requise




Ouvrages de références

Recommandée

LEWIS, D.W., Fundamental of Embedded Software: Where C and Assembler Meet. Prentice Hall, 2002.

COTTET, F. et GROLLEAU E., «SYSTÈMES TEMPS RÉEL DE CONTRÔLE-COMMANDE Conception et implémentation» Dunod, Paris, 2005.

Complémentaires

DOUGLASS, B.P., Doing Hard Time – Developing Real-Time Systems with UML, Objects, Frameworks, and Patterns. Addison-Wesley, 1999.

LABROSSE, J. J., MicroC/OS-II, The Real-Time Kernel. CMP Books, 1999.

BURNS, A., WELLINGS, A., Real-Time Systems and Programming Languages. 3rd Edition, Addison-Wesley, 2000.

LAPLANTE, P.A., Real-Time System Design and Analysis: An Engineer’s Handbook. 2nd Edition, IEEE Press, 1997.

TAVERNIER, Ch., Les microcontrôleurs AVR: Description et mise en œuvre. Dunod, 2001.

COTTET, F. et al., Ordonnancement temps réel. Hermès Science, 2000.

PETER H. et al., Model-Based Engineering with AADL: An Introduction to the SAE Architecture Analysis & Design Language, 1st Edition, Professional. SEI Series in Software Engineering, Addison-Wesley Professional, 2012.

 




Adresse internet du site de cours et autres liens utiles

Consultez le site web Moodle du cours au minimum chaque semaine.