Real-Time Systems

Credits
6
Types
Specialization complementary (Computer Engineering)
Requirements
  • Prerequisite: DSBM
  • Prerequisite: SO
Department
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.

Teachers

Person in charge

  • Antonio Camacho Santiago ( )

Others

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

Weekly hours

Theory
1
Problems
1
Laboratory
2
Guided learning
0.4
Autonomous learning
5.6

Competences

Technical Competences

Common technical competencies

  • CT5 - To analyse, design, build and maintain applications in a robust, secure and efficient way, choosing the most adequate paradigm and programming languages.
    • CT5.6 - To demonstrate knowledge and capacity to apply the fundamental principles and basic techniques of parallel, concurrent, distributed and real-time programming.

Transversal Competences

Reasoning

  • G9 - Capacity of critical, logical and mathematical reasoning. Capacity to solve problems in her study area. Abstraction capacity: capacity to create and use models that reflect real situations. Capacity to design and perform simple experiments and analyse and interpret its results. Analysis, synthesis and evaluation capacity.
    • G9.3 - Critical capacity, evaluation capacity.

Technical Competences of each Specialization

Computer engineering specialization

  • CEC1 - To design and build digital systems, including computers, systems based on microprocessors and communications systems.
    • CEC1.1 - To design a system based on microprocessor/microcontroller.
  • CEC2 - To analyse and evaluate computer architectures including parallel and distributed platforms, and develop and optimize software for these platforms.
    • CEC2.3 - To develop and analyse software for systems based on microprocessors and its interfaces with users and other devices.
    • CEC2.5 - To design and implement operating systems.
  • CEC3 - To develop and analyse hardware and software for embedded and/or very low consumption systems.
    • CEC3.1 - To analyse, evaluate and select the most adequate hardware and software platform to support embedded and real-time applications.
    • CEC3.2 - To develop specific processors and embedded systems; to develop and optimize the software of these systems. 

Objectives

  1. To understand the concept of real-time system
    Related competences: G9.3, CEC3.1,
  2. To determine when to use a real-time system.
    Related competences: G9.3, CEC3.1, CT5.6,
  3. Identificar claramente la necesidad de una planificación on-line
    Related competences: G9.3, CEC3.1,
  4. Identificar la necesidad de utilizar un STR
    Related competences: G9.3, CEC3.2, CEC3.1,
  5. Planificar una ejecución cíclica
    Related competences: CEC2.3, CEC3.2, CEC1.1, CT5.6,
  6. Entender la función de la pila en un microprocesador
    Related competences: CEC2.3, CEC3.2, CEC1.1, CT5.6,
  7. Desalojar un proceso de la pila de un microprocesador
    Related competences: CEC2.5, CEC3.2, CT5.6,
  8. Migrar un sistema operativo de tiempo real a un microprocesador concreto
    Related competences: G9.3, CEC2.3, CEC2.5, CEC3.2, CEC1.1, CT5.6,
  9. Entender la división del tiempo en un STR para implementar servidores de banda
    Related competences: CEC2.5, CT5.6,
  10. Observar las ventajas de usar un STR mediante ejemplos
    Related competences: CEC2.3,

Contents

  1. Introducción a los sistemas de tiempo 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. Sistemas de tiempo real pasivos
    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. Sistemas de tiempo real activos o con capacidad de cómputo
    Planificación en línea y preención.
    -EDF
    -Rate Monotonic
    -Planificadores Óptimos
  4. Implementación 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. Sistemas de alto nivel. Servidores de Banda
    Implementación de servidores de banda

Activities

Activity Evaluation act


I can't I solve this problem?

Esta actividad pondrá de manifiesto las ventajas y los inconvenientes de una programación de tareas concurrentes sin una planificación previa. En concreto se seleccionará un problema y se resolverá (hasta donde sea posible), a lo largo de la solución veremos como aparecen de manera natural las técnicas de STR.
Objectives: 4 1
Contents:
Theory
1.5h
Problems
1h
Laboratory
3h
Guided learning
0h
Autonomous learning
1h

Un ejecutivo cíclico y las dificultades de planificar a mano.

La manera más sencilla de programar un conjunto de tareas és usar una planificación cíclica, pero, ¿es esta la mejor solución desde un punto de vista de diseño?. En esta actividad pondremos de manifiesto las dificultades con las que nos podemos encontrar al generar un ejecutivo cíclico. En esta misma actividad pondremos de manifiesto algunas necesidades de uso de un SOTR.
Objectives: 4 5 2 3
Contents:
Theory
2.5h
Problems
1.5h
Laboratory
6h
Guided learning
0h
Autonomous learning
4h

Introducción al PIC18, la plataforma de trabajo del resto del curso

Actividad orientada a recordar al alumno los entresijos del PIC18. Esta será la plataforma que utilizaremos durante el resto del curso.
Objectives: 6
Contents:
Theory
1h
Problems
0h
Laboratory
3h
Guided learning
2h
Autonomous learning
5h

Desalojar una tarea de la pila de ejecución y volver a alojarla. Introducción a los SOTR

En esta actividad suspenderemos la ejecución de un proceso y lo eliminaremos completamente de la pila de ejecución. A continuación lo volveremos a introducir en la pila y reiniciaremos la ejecución en el punto en el que la habiamos dejado. De esta manera abrimos la puerta a comprender el funcionamiento de los SOTR con desalojo de tareas
Objectives: 6 7
Contents:
Theory
2h
Problems
1h
Laboratory
5h
Guided learning
0h
Autonomous learning
10h

ERICA, un SOTR que cumple OSECK. Migración de un SOTR en el PIC18.

En esta actividad abriremos, analizaremos, y comprenderemos un SOTR. Además realizaremos la migración del sistema el PIC18 para dejarlo listo para su uso.
Objectives: 8
Contents:
Theory
3h
Problems
2h
Laboratory
16.5h
Guided learning
0h
Autonomous learning
39h

Ejemplos de aplicación, control de un motor de corriente continua

En esta actividad tomaremos un ejemplo clásico de control, el control de un motor de corriente continua y veremos como el hecho de utilizar un SOTR simplifica de manera significativa la implementación y el mantenimiento.
Objectives: 10
Contents:
Theory
2h
Problems
2h
Laboratory
4h
Guided learning
2h
Autonomous learning
5h

Servidores de banda

En esta actividad veremos las maneras en las que es posible implementar un servidor de banda en un dispositivo empotrado como el PIC18
Objectives: 9
Contents:
Theory
3h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
0h

Prueba de conocimientos

Prueba de conocimientos
Objectives: 4 5 6 7 8 9 10
Week: 2
Type: assigment
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
5h

Prueba de conocimientos

Prueba de conocimientos

Week: 6
Type: assigment
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
5h

Prueba de conocimientos

Prueba de conocimientos

Week: 8
Type: assigment
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
5h

Prueba de conocimientos

Prueba de conocimientos

Week: 14
Type: assigment
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
5h

Teaching methodology

La metodología docente será de carácter deductivo.
El planteamiento será siempre el mismo:
- proponer un problema
- intentar resolverlo
- añadir las piezas de teoría necesarias para poder solucionarlo de manera adecuada

El laboratorio docente del departamento en la FIB será el lugar en el que se desarrolle tanto la práctica como la teoría.

Evaluation methodology

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.

Bibliography

Basic:

Previous capacities

en cuanto a Diseño de Sistemas Basados ​​en microcomputador:
Conocer la estructura de los microcomputadores, su lenguaje emsamblador y sus capacidades de gestión de interfaces de entrada / salida.

en cuanto a Sistemas Operativos:
Conocer los aspectos básicos de la gestión de procesos, la gestión de memoria y de la entrada / salida.