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





Préalables
Aucun préalable requis
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 scéance (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 - 21:30 Activité de cours
Mercredi 18:00 - 20:00 Laboratoire



Coordonnées de l’enseignant
Groupe Nom Activité Courriel Local Disponibilité
01 Ahmed Bali Activité de cours cc-Ahmed.Bali@etsmtl.ca



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

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 à 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 mesure 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.




Dates des examens intra
Groupe(s) Date
1 17 février 2020



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 25% par jour de retard sera appliquée pour tout retard sans motif raisonable.




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



Plagiat et fraude
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.

 

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.

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




Adresse internet du site de cours et autres liens utiles

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