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.

L'avaluació de l'assignatura es farà mitjançant controls parcials i les pràctiques del laboratori, podent-se aprovar l'assignatura sense haver de fer un examen final.

Professors

Responsable

  • Antonio Camacho Santiago ( )

Altres

  • Enric X. Martin Rull ( )
  • Joan Aranda López ( )
  • Joan Climent Vilaró ( )
  • Manuel Vinagre Ruiz ( )
  • Pau Marti Colom ( )

Hores setmanals

Teoria
1
Problemes
1
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 - 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
    Related competences: G9.3, CEC3.1,
  2. Determinar quan cal una plataforma de temps real.
    Related competences: G9.3, CEC3.1, CT5.6,
  3. Identificar clarament la necessitat d'una planificació en línia
    Related competences: G9.3, CEC3.1,
  4. Identificar la necessitat d'utilitzar un STR
    Related competences: G9.3, CEC3.2, CEC3.1,
  5. Planificar un executiu cíclic
    Related competences: CEC2.3, CEC3.2, CEC1.1, CT5.6,
  6. Entendre la funció de la pila en un microprocessador
    Related competences: CEC2.3, CEC3.2, CEC1.1, CT5.6,
  7. Desallotjar un procés de la pila d'un microprocessador
    Related competences: CEC2.5, CEC3.2, CT5.6,
  8. Migrar un sistema operatiu de temps real a un microprocessador concret
    Related competences: G9.3, CEC2.3, CEC2.5, CEC3.2, CEC1.1, CT5.6,
  9. Entendre la divisió del temps en un STR per implementar servidors de banda
    Related competences: CEC2.5, CT5.6,
  10. Observar els avantatges d'usar un STR mitjançant exemples
    Related competences: CEC2.3,

Continguts

  1. Introducció als sistemes de temps real
    Explicación de diferentes ejemplos en los que se hace imprescindible el análisis y uso de las técnicas de tiempo real
  2. Sistemes de temps real "Pasius" o sense capacitat de cómput
    Ejemplos de sistemas de tiempo real en los que no se dispone de capacidad de cómputo para poder resolver los posibles problemas de concurrencia.
    - Redes de tiempo real
    - Ascensores
    - Baterias
    - Crueces de carreteras o vias de tren
    - Otros ejemplos que amplien la visión del estudiante
    - Planificaciones óptimas
  3. Sistemes de temps real actius o amb capacitat de cómput
    Planificación en línea y preención.
    -EDF
    -Rate Monotonic
    -Planificadores Óptimos
  4. Implementació de un SOTR en un microprocesador
    Detalles a tener en cuenta en el momento de migrar o implementar un sistema operativo de tiempo real en un microprocesador
  5. Sistemes d'alt nivell. Servidors de banda
    Implementación de servidores de banda

Activitats

Activitat Acte avaluatiu


Per què no puc resoldre aquest problema?

Aquesta activitat posarà de manifest els avantatges i els inconvenients d'una programació de tasques concurrents sense una planificació prèvia. En concret es seleccionarà un problema i es resoldrà (fins on sigui possible), al llarg de la solució veurem com apareixen de manera natural les tècniques de STR.
Objectius: 4 1
Continguts:
Teoria
1.5h
Problemes
1h
Laboratori
3h
Aprenentatge dirigit
0h
Aprenentatge autònom
1h

Un executiu ciclic i les dificultats de planificar a ma.

La manera més senzilla de programar un conjunt de tasques és utilitzar una planificació cíclica, però, ¿és aquesta la millor solució des d'un punt de vista de disseny?. En aquesta activitat posarem de manifest les dificultats amb què ens podem trobar en generar un executiu cíclic. En aquesta mateixa activitat posarem de manifest algunes necessitats d'ús d'un SOTR.
Objectius: 4 5 2 3
Continguts:
Teoria
2.5h
Problemes
1.5h
Laboratori
6h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h

Introducció al PIC18, la plataforma de treball de la resta del curs

Activitat orientada a recordar a l'alumne els secrets del PIC18. Aquesta serà la plataforma que utilitzarem durant la resta del curs.
Objectius: 6
Continguts:
Teoria
1h
Problemes
0h
Laboratori
3h
Aprenentatge dirigit
2h
Aprenentatge autònom
5h

Desallotjar una tasca de la pila d'execució i tornar a allotjar-la. Introducció als SOTR

En aquesta activitat suspendrem l'execució d'un procés i l'eliminarem completament de la pila d'execució. A continuació el tornarem a introduir a la pila i reiniciarem l'execució en el punt en què la havíem deixat. D'aquesta manera obrim la porta a comprendre el funcionament dels Sotres amb desallotjament de tasques
Objectius: 6 7
Continguts:
Teoria
2h
Problemes
1h
Laboratori
5h
Aprenentatge dirigit
0h
Aprenentatge autònom
10h

ERICA, un SOTR que compleix OSECK. Migració d'un SOTR en el PIC18.

En aquesta activitat obrirem, analitzarem, i comprendrem un SOTR. A més realitzarem la migració del sistema el PIC18 per deixar-lo llest per al seu ús.
Objectius: 8
Continguts:
Teoria
3h
Problemes
2h
Laboratori
16.5h
Aprenentatge dirigit
0h
Aprenentatge autònom
39h

Exemples d'aplicació: control d'un motor de corrent continu

En aquesta activitat prendrem un exemple clàssic de control, el control d'un motor de corrent continu i veurem com el fet d'utilitzar un SOTR simplifica de manera significativa la implementació i el manteniment.
Objectius: 10
Continguts:
Teoria
2h
Problemes
2h
Laboratori
4h
Aprenentatge dirigit
2h
Aprenentatge autònom
5h

Servidors de banda

En aquesta activitat veurem les maneres en què és possible implementar un servidor de banda en un dispositiu encastat com el PIC18
Objectius: 9
Continguts:
Teoria
3h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h

Prova de coneixements

Prova de coneixements
Objectius: 4 5 6 7 8 9 10
Setmana: 2
Tipus: entrega
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
5h

Prova de coneixements

Prova de coneixements

Setmana: 6
Tipus: entrega
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
5h

Prova de coneixements

Prova de coneixements

Setmana: 8
Tipus: entrega
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
5h

Prova de coneixements

Prova de coneixements

Setmana: 14
Tipus: entrega
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
5h

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 i les pràctiques del laboratori, podent-se aprovar l'assignatura sense haver de fer un examen final. L'avaluació es fa seguint els següents percentatges:
- Teoria 50%
- Practiques 50%

Teoria: es faran dos controls, CT1 i CT2, cada un comptant un 25% (sobre la nota global de l'assignatura)
Pràctiques: es fara diverses entregues de pràctiques, cada una comptant un % sobre la notal global de l'assignatura


La nota final NF serà:
NF=CT1(25%)+CT2(25%)+pràctiques (50%)

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.