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 2022
LOG550 : Conception de systèmes informatiques en temps réel (3 crédits)


Modalités de la session d’hiver 2022


Pour assurer la tenue de la session d’hiver 2022, les modalités suivantes seront appliquées :


Les activités d’enseignement de la session d’hiver 2022 comprendront des activités en présence et à distance, lesquelles seront ajustées en fonction de l’évolution de la situation socio-sanitaire.


Pour les cours (ou séances de cours) donnés à distance, l’étudiant ou l'étudiante doit avoir accès à un ordinateur, un micro, une caméra et un accès à internet, idéalement de 10Mb/s ou plus. Il ou elle doit ouvrir sa caméra et/ou son micro lorsque requis, notamment pour des fins d’identification ou d’évaluation.


Les cours (ou séances de cours) donnés à distance pourraient être enregistrés afin de les rendre disponibles aux personnes inscrites au cours.


La notation des cours sera la notation régulière prévue aux règlements des études de l’ÉTS.


Les examens (intra, finaux) se feront en présence, si la situation socio-sanitaire le permet.


Le contexte actuel oblige bien sûr l’ÉTS à suivre de près l’évolution de la pandémie de COVID-19, laquelle pourrait entraîner, avant ou après le début de la session d’hiver 2022, un resserrement des directives et recommandations gouvernementales. Nous vous assurons que l’ÉTS se conformera aux règles en vigueur afin de préserver la santé publique et, si requis, qu'elle pourrait aller jusqu’à interdire l’accès physique au campus universitaire et ordonner que toutes les activités d’enseignement et d’évaluation soient exclusivement données à distance pour toute ou pour une partie de la session d’hiver 2022. Ainsi, si les examens (intra, finaux) devaient se faire à distance, leur surveillance se fera à l’aide de la caméra et du micro de l’ordinateur et pourrait être enregistrée. Ceci est nécessaire pour se conformer aux exigences du Bureau canadien d’agrément des programmes de génie (BCAPG) afin d’assurer la validité des évaluations.


Des exigences additionnelles pourraient être spécifiées par l’ÉTS ou votre département, suivant les particularités propres à votre programme.


En vous inscrivant ou en demeurant inscrit à la session d'hiver 2022, vous acceptez les modalités particulières de la session d’hiver 2022.


Nous vous rappelons que vous avez jusqu’au 18 janvier 2022 pour vous désinscrire de vos cours et être remboursé.


Pour les nouveaux étudiants inscrits au programme de baccalauréat uniquement, vous avez jusqu’au 1er février 2022 pour vous désinscrire de vos cours et être remboursé.




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 Mardi 18:00 - 21:30 Activité de cours
Jeudi 18:00 - 20:00 Laboratoire



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])

  • 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 d’Intel et des microprocesseurs AVR
  • Techniques de programmation des périphériques
  • Optimisation du code

5. Analyse de performance (6 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 (3 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 pour le microcontrôleur AVR de la compagnie Atmel.

 

 NOTE : Si vous éprouvez des difficultés techniques avec le matériel des laboratoires du département, s.v.p. communiquez le problème au chargé du laboratoire (vigninou-horace.gandji.1@ens.etsmtl.ca) ou à support-logti@etsmtl.ca.

 

Travaux pratiques

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

Le projet comporte trois (3) parties :

  1. Développement de l’application d’acquisition de données à taux constant sur le microcontrôleur. (12 heures)
  2. Implantation d’un noyau en temps réel multitâches sur le microcontrôleur, et adaptation de l’application d’acquisition.
    (8 heures)
  3. Optimisation et analyse des performances en temps réel de l’application sur microcontrôleur. (4 heures)



Utilisation d'outils d'ingénierie
  • Carte de développement EVK1100 avec le microcontrôleur ATMel AVR32 UC3A0512.
  • Noyau en temps réel Micro-C/OS-II ou FreeRTOS
  • Environnement de développement Atmel Studio
  • Langage de programmation C et langage d'assemblage
  • Doxygen est un utilitaire qui permet de générer automatiquement la documentation d’un programme en C
     



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

 

À noter qu’une moyenne pondérée inférieure à 50% dans les examens intra et final entraine automatiquement un échec au cours.




Double seuil
Note minimale : 50



Dates des examens intra
Groupe(s) Date
1 22 février 2022



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
Les clauses du « Règlement sur les infractions de nature académique de l’ÉTS » 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 considérés comme étant des infractions de nature académique ainsi que prendre connaissance des sanctions prévues à cet effet.  À 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/Etudiants-actuels/Baccalaureat/Citer-pas-plagier).



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.