Professorat
Responsable
- Antonio Camacho Santiago ( antonio.camacho.santiago@upc.edu )
Altres
- Enric X. Martin Rull ( enric.xavier.martin@upc.edu )
- Joan Aranda López ( joan.aranda@upc.edu )
- Manuel Vinagre Ruiz ( manuel.vinagre.ruiz@upc.edu )
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.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.3 - Capacitat crítica, capacitat d'avaluació.
Especialitat enginyeria de computadors
- CEC1.1 - Dissenyar un sistema basat en microprocessador/microcontrolador.
- 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.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
-
Entendre el concepte de plataforma de temps real
Competències relacionades: G9.3, CEC3.1, -
Determinar quan cal una plataforma de temps real.
Competències relacionades: G9.3, CEC3.1, CT5.6, -
Planificar un executiu cíclic
Competències relacionades: CEC2.3, CEC3.2, CEC1.1, CT5.6, -
Sistema de temps real amb prioritats fixes
Competències relacionades: CEC2.3, CEC3.2, CEC1.1, CEC3.1, CT5.6, -
Sistema de temps real amb prioritats dinàmiques
Competències relacionades: CEC2.5, CEC3.2, CT5.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, -
Entendre la divisió del temps en un STR per implementar servidors de banda
Competències relacionades: CEC2.5, CT5.6, -
Entendre el funcionament dels sistemes de temps real multi-core
Competències relacionades: CEC2.3, CEC3.1, -
Observar els avantatges d'usar un STR mitjançant exemples
Competències relacionades: CEC2.3,
Continguts
-
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 -
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 -
Sistemes de temps real amb prioritats fixes o dinàmiques
Planificació en linea y preempció.
- Planificadors Òptims
- Rate Monotonic
- Deadline Monotonic
- Earliest Deadline First -
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 -
Sistemes d'alt nivell. Servidors de banda
Implementació de servidors de banda -
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
Planificació
Necessitat i implementació dels algorismes per l'anàlisis de planificabilitatObjectius: 3
Continguts:
Teoria
5h
Problemes
2.5h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
15h
Multi-core
Selecció de l'arquitectura multi-core més adient a una aplicació específicaObjectius: 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
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
-
Hard real-time computing systems: predictable scheduling algorithms and applications
- Buttazzo, G.C,
Springer,
2011.
ISBN: 9781461406754
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003999659706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Real-time systems and programming languages: Ada, Real-Time Java and C/Real-Time POSIX
- Burns, A.; Wellings, A.J,
Addison-Wesley,
2009.
ISBN: 9780321417459
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003601749706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
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.