Sistemes de Temps Real

Esteu aquí

Crèdits
6
Tipus
Complementària d'especialitat (Enginyeria de Computadors)
Requisits
  • Prerequisit: CI
  • Prerequisit: SO
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

  • Antonio Camacho Santiago ( )

Altres

  • Enric X. Martin Rull ( )
  • Joan Aranda López ( )
  • Manuel Vinagre Ruiz ( )

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

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.

Competències Transversals

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

Competències Tècniques de cada especialitat

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
Tipus: examen de teoria
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
10h

Prova de coneixements 2


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

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àsica:

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.