Vés al contingut

Sistemes de Temps Real

Crèdits
6
Tipus
Complementària d'especialitat (Enginyeria de Computadors)
Requisits
Departament
ESAII
Un sistema es diu de temps real quan interactua amb el món real (procés físic) dintre d'uns requeriments temporals. En un Sistema de Temps Real (STR) la resposta no només ha de ser correcta sino que ha d'arribar en el temps adequat o es considera que el sistema ha fallat. És el cas de l'activació de l'airbag o de l'ABS en un cotxe per posar dos exemples crítics, però també el d'un robot que ha d'agafar una pilota al vol. En acabar l'assignatura l'alumne entendrà la diferencia entre un sistema ràpid i un de temps real, així com la distinció entre un sistema de temps real dur, tou o crític. Sabrà analitzar, dissenyar i implementar sistemes basats en microcomputadors amb requeriments de criticitat temporal, fiabilitat i cost.

Professorat

Responsable

Altres

Hores setmanals

Teoria
1.5
Problemes
0.5
Laboratori
2
Aprenentatge dirigit
0.4
Aprenentatge autònom
5.6

Competències

Competències tècniques comunes

  • CT5 - Analitzar, dissenyar, construir i mantenir aplicacions de forma robusta, segura i eficient, triant el paradigma i els llenguatges de programació més adequats.
    • CT5.6 - Demostrar coneixement i capacitat d'aplicació dels principis fonamentals i de les tècniques bàsiques de la programació paral·lela, concurrent, distribuïda i en temps real.
  • Raonament

  • G9 [Avaluable] - Capacitat de raonament crític, lògic i matemàtic. Capacitat de resoldre problemes en la seva àrea d'estudi. Capacitat d'abstracció: capacitat de crear i utilitzar models que reflecteixin situacions reals. Capacitat de dissenyar i realitzar experiments senzills, i analitzar-ne i interpretar-ne els resultats. Capacitat d'anàlisi, de síntesi i d'avaluació.
    • G9.3 - Capacitat crítica, capacitat d'avaluació.
  • Especialitat enginyeria de computadors

  • CEC1 - Dissenyar i construir sistemes digitals, incloent computadors, sistemes basats en microprocessadors i sistemes de comunicacions.
    • CEC1.1 - Dissenyar un sistema basat en microprocessador/microcontrolador.
  • CEC2 - Analitzar i avaluar arquitectures de computadors incloent plataformes paral·leles i distribuïdes, i desenvolupar i optimitzar software per a aquestes plataformes.
    • CEC2.3 - Desenvolupar i analitzar software per a sistemes basats en microprocessadors i les seves interfícies amb usuaris i altres dispositius.
    • CEC2.5 - Dissenyar i implementar sistemes operatius.
  • CEC3 - Desenvolupar i analitzar hardware i software per a sistemes encastats i/o de molt baix consum.
    • CEC3.1 - Analitzar, avaluar i seleccionar les plataformes hardware i software més adients per al suport d'aplicacions encastades i de temps real.
    • CEC3.2 - Desenvolupar processadors específics i sistemes encastats; desenvolupar i optimitzar el software d'aquests sistemes. 
  • Objectius

    1. Entendre el concepte de plataforma de temps real
      Competències relacionades: G9.3, CEC3.1,
    2. Determinar quan cal una plataforma de temps real.
      Competències relacionades: G9.3, CEC3.1, CT5.6,
    3. Planificar un executiu cíclic
      Competències relacionades: CEC2.3, CEC3.2, CEC1.1, CT5.6,
    4. Sistema de temps real amb prioritats fixes
      Competències relacionades: CEC2.3, CEC3.2, CEC1.1, CEC3.1, CT5.6,
    5. Sistema de temps real amb prioritats dinàmiques
      Competències relacionades: CEC2.5, CEC3.2, CT5.6,
    6. Migrar un sistema operatiu de temps real a un microprocessador concret
      Competències relacionades: G9.3, CEC2.3, CEC2.5, CEC3.2, CEC1.1, CT5.6,
    7. Entendre la divisió del temps en un STR per implementar servidors de banda
      Competències relacionades: CEC2.5, CT5.6,
    8. Entendre el funcionament dels sistemes de temps real multi-core
      Competències relacionades: CEC2.3, CEC3.1,
    9. Observar els avantatges d'usar un STR mitjançant exemples
      Competències relacionades: CEC2.3,

    Continguts

    1. Introducció als sistemes de temps real
      Explicació de diferents exemples en els quals es fa imprescindible l'anàlisi i ús de les tècniques de temps real
    2. Sistemes de temps real cíclics
      Exemples de sistemes de temps real en què no es disposa de capacitat de còmput per poder resoldre els possibles problemes de concurrència.
      - xarxes de temps real
      - ascensors
      - bateries
      - creus de carreteres o vies de tren
      - altres exemples que ampliïn la visió de l'estudiant
      - planificacions òptimes
    3. Sistemes de temps real amb prioritats fixes o dinàmiques
      Planificació en linea y preempció.
      - Planificadors Òptims
      - Rate Monotonic
      - Deadline Monotonic
      - Earliest Deadline First
    4. Implementació d'un SOTR en un microprocesador
      Detalls a tenir en compte en el moment de migrar o implementar un sistema operatiu de temps real en un microprocessador
    5. Sistemes d'alt nivell. Servidors de banda
      Implementació de servidors de banda
    6. Multi-core en el sistemes de temps real
      Introducció als sistemes de temps real en sistemes de més d'un microcontrolador

    Activitats

    Activitat Acte avaluatiu


    Necessitat dels sistemes de temps real

    Anàlisis i enteniment de les eines necessàries per donar resposta temporal a les tasques d'un sistema complex
    Objectius: 2 1
    Continguts:
    Teoria
    2h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    2h

    Necessitat de càlcul del pitjor temps d'execució d'una tasca

    Com trobar el pitjor cas d'execució del codi d'una tasca
    Objectius: 2 1
    Continguts:
    Teoria
    2h
    Problemes
    2h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    4h

    Planificació

    Necessitat i implementació dels algorismes per l'anàlisis de planificabilitat
    Objectius: 3
    Continguts:
    Teoria
    5h
    Problemes
    2.5h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    15h

    Servidors de banda

    Funcionament i característiques dels servidors de banda
    Objectius: 4 5 7
    Continguts:
    Teoria
    3.5h
    Problemes
    1h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    6h

    Multi-core

    Selecció de l'arquitectura multi-core més adient a una aplicació específica
    Objectius: 8
    Continguts:
    Teoria
    4h
    Problemes
    2h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    2h

    Pràctiques de sistemes de temps real

    Part rellevant de l'assignatura encaminada a veure els detalls d'implementació dels sistemes de temps real. Especial interès envers d'aplicacions que requereixen temps de resposta estrictes i comunicacions.
    Objectius: 3 4 5 6 7 9 2 1 8
    Continguts:
    Teoria
    0h
    Problemes
    0h
    Laboratori
    22h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    10h

    Miniprojecte

    Breu treball de recerca, implementació, aprofundiment, repte... relacionat amb els sistemes de temps real. Hi haurà una recerca prèvia de documentació per dirigir, tutoritzar i donar suport al treball. Es farà un debat crític obert per la selecció de les solucions més adients. Es presentaran els resultats obtinguts en públic, i s'aplicarà un mètode de co-avaluació.

    Teoria
    4h
    Problemes
    0h
    Laboratori
    8h
    Aprenentatge dirigit
    6h
    Aprenentatge autònom
    15h

    Prova de coneixements 1


    Objectius: 3 4 5 2 1
    Setmana: 7
    Teoria
    0h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    0h

    Prova de coneixements 2


    Objectius: 4 5 6 7 9 8
    Setmana: 14
    Teoria
    0h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    0h

    Metodologia docent

    La metodologia docent serà de caràcter deductiu,. El plantejament serà sempre el mateix:
    - proposar un problema
    - intentar resoldre'l
    - afegir les peces de teoria necessàries per poder solucionar de manera adequada

    El laboratori docent del departament a la FIB serà el lloc on es desenvolupi tant la pràctica com la teoria.

    Mètode d'avaluació

    L'avaluació de l'assignatura es farà mitjançant controls parcials, problemes, pràctiques del laboratori i miniprojecte, podent-se aprovar l'assignatura sense haver de fer un examen final. L'avaluació es fa seguint els següents percentatges:
    - Teoria 40%
    - Problemes 10%
    - Pràctiques 25%
    - Miniprojecte 25%

    Teoria: es faran dos controls online, CT1 i CT2, cada un comptant un 20% sobre la nota global de l'assignatura
    Problemes: es faran problemes durant el curs amb un pes del 10%
    Pràctiques: es faran diverses entregues de pràctiques, cada una comptant per igual sobre la notal global de l'assignatura
    Miniprojecte: es desenvoluparà breument un treball lliure per aprofundir en algun aspecte relacionat amb els sistemes de temps real

    La nota final NF serà:
    NF=CT1(20%)+CT2(20%)+PRO(10%)+PRA(25%)+MP(25%)

    La competència "G9.3 - Capacitat crítica, capacitat d'avaluació" s'avaluarà a partir de les tasques realitzades a les classes de teoria i problemes, així com en les tasques realitzades a les pràctiques de laboratori. En tot cas no té cap pes en la nota final de l'assignatura.

    Bibliografia

    Bàsic

    Capacitats prèvies

    en quan a Disseny de Sistemes Basats en Microcomputador:
    Conèixer l'estructura dels microcomputadors, el seu llenguatge emsamblador i les seves capacitats de gestió d'interfícies d'entrada/sortida.

    en quan a Sistemes Operatius:
    Conèixer els aspectes bàsics de la gestió de processos, la gestió de memòria i de l'entrada/sortida.