Universidad Pública de Navarra



Año Académico: 2023/2024
NULL_VALUE
Código: 721205 Asignatura: Sistemas Distribuidos, Empotrados y Ubicuos
Créditos: 6 Tipo: Curso: NULL_VALUE Periodo: 1º S
Departamento: Estadística, Informática y Matemáticas
Profesorado:
GONZALEZ DE MENDIVIL MORENO, JOSE RAMON (Resp)   [Tutorías ] EZCURDIA AGUIRRE, IÑIGO FERMIN   [Tutorías ]

Partes de este texto:

 

Módulo/Materia

Módulo: MTI. Módulo de Tecnologías Informáticas

Materia: Redes y Sistemas operativos.

Subir

Descripción/Contenidos

Los contenidos de esta asignatura se centran en todos aquellos aspectos que están involucrados en el diseño y la construcción de sistemas distribuidos y de tiempo real desde el punto de vista de una perspectiva actual. Así mismo, se estudian los sistemas ubicuos como caso particular de sistema distribuido con sus propias peculiaridades y aplicaciones. Lo que denominamos hoy en día como computación en la nube, el internet de las cosas, redes de sensores, big-data, y tratamiento de flujos en tiempo real, entre otros términos, no son más que paradigmas de desarrollo de aplicaciones y servicios que tienen su soporte sobre los métodos y los modelos en los que se basan los tipos de sistemas que se tratan en esta asignatura.  Los contenidos más concretos de esta asignatura son:

- Sistemas concurrentes, distribuidos y de tiempo real. Modelos, problemas y algoritmos fundamentales. Tolerancia a fallos y programación fiable.

- Diseño de sistemas operativos. Abstracciones, núcleos, extensiones distribuidas, mejoras de rendimiento. Virtualización y máquinas virtuales.

- Estructura de las aplicaciones distribuidas. Middleware, estructuras basadas en componentes y servicios.

- Evaluación de sistemas operativos, servidores y aplicaciones. Modelos de servicio, planificación de la capacidad y caracterización de cargas, modelos de rendimiento.

- Sistemas empotrados. Elementos de diseño, restricciones en tiempo real.

- Sistemas ubicuos. Ingeniería ambiental y redes de sensores. Diseño de redes de sensores. Agregación de datos.

- Análisis y construcción de un sistema de información. Bases de datos distribuidas y replicadas. Sistemas en la nube.

- Servicios de nueva generación. Requisitos de las aplicaciones, arquitectura de los servicios, requisitos de la red, análisis de rendimiento de la red y las aplicaciones de red.

Subir

Competencias genéricas

Competencias Básicas
CB7 - Que los estudiantes sepan aplicar los conocimientos adquiridos y su capacidad de resolución de problemas en entornos nuevos o poco conocidos dentro de contextos más amplios (o multidisciplinares) relacionados con su área de estudio.
CB9 - Que los estudiantes sepan comunicar sus conclusiones y los conocimientos y razones últimas que las sustentan a públicos especializados y no especializados de un modo claro y sin ambigüedades
CB10 - Que los estudiantes posean las habilidades de aprendizaje que les permitan continuar estudiando de un modo que habrá de ser en gran medida autodirigido o autónomo.


Competencias Generales
CG1 - Capacidad para proyectar, calcular y diseñar productos, procesos e instalaciones en todos los ámbitos de la Ingeniería Informática.
CG4 - Capacidad para el modelado matemático, cálculo y simulación en centros tecnológicos y de ingeniería de empresa,
particularmente en tareas de investigación, desarrollo e innovación en todos los ámbitos relacionados con la Ingeniería en Informática.
CG8 - Capacidad para la aplicación de los conocimientos adquiridos y de resolver problemas en entornos nuevos o poco conocidos dentro de contextos más amplios y multidisciplinares, siendo capaces de integrar estos conocimientos.

Subir

Competencias específicas

CMTI1 - Capacidad para modelar, diseñar, definir la arquitectura, implantar, gestionar, operar, administrar y mantener aplicaciones, redes, sistemas, servicios y contenidos informáticos.
CMTI2 - Capacidad de comprender y saber aplicar el funcionamiento y organización de Internet, las tecnologías y protocolos de redes de nueva generación, los modelos de componentes, software intermediario y servicios.
CMTI6 - Capacidad para diseñar y evaluar sistemas operativos y servidores, y aplicaciones y sistemas basados en computación distribuida.
CMTI8 - Capacidad de diseñar y desarrollar sistemas, aplicaciones y servicios informáticos en sistemas empotrados y ubicuos. 

Subir

Resultados aprendizaje

R1. Diseñar sistemas operativos, sistemas basados en computación distribuida, sistemas empotrados y sistemas ubicuos.

R2. Evaluar el rendimiento de sistemas operativos y sistemas basados en computación distribuida.

R3. Desarrollar sistemas, aplicaciones y servicios en sistemas distribuidos, empotrados y sistemas ubicuos.

R4. Conocer la organización del software intermediario y los modelos de componentes.

Subir

Metodología

Actividad formativa Horas Presencialidad (%)
A1 Clases expositivas 28 100
A2 Prácticas 14 100
A3 Aprendizaje cooperativo 14 100
A4 Proyectos en grupo 45 0
A5 Estudio autónomo 45 0
A6 Tutorías y evaluación 4 100
Total 150  

Subir

Idiomas

Castellano

Subir

Evaluación

 

Resultados de
aprendizaje
Actividad de
evaluación
Peso (%) Carácter
recuperable
Nota mínima
requerida
R1, R2, R4 Prueba de respuesta larga. Examen de conocimiento sobre los temas y problemas propuestos en la asignatura. 40% si 4,5
R1, R2 Trabajo e informe individual. 20% si --
R1, R2, R3 Pruebas e informes de trabajo experimental basado en la realización de un proyecto colaborativo. 40% no --
         

 

 

Subir

Temario

  • Tema 1. Concurrencia y consistencia de operaciones.
  • Tema 2. Modelos y Diseño de sistemas distribuidos tolerantes a fallos.
  • Tema 3. Sistemas de comunicación a grupo tolerantes a fallos.
  • Tema 4. Problemas y soluciones del acuerdo distribuido en entornos de fallos.
  • Tema 5. Análisis y evaluación de las prestaciones de los sistemas.
  • Tema 6. Escalabilidad y elasticidad de sistemas y servicios.
  • Tema 7. Diseño y análisis de Sistemas empotrados.
  • Tema 8. Sistemas Ubicuos.

Prácticas y trabajos

  • Proyecto cooperativo en grupo. Diseño, desarrollo y evaluación de un sistema distribuido.
    • Se trata de diseñar, crear, implementar y probar el funcionamiento de un sistema replicado de objetos tolearantes a fallos con un modelo de consistencia de datos fuerte (modelo atómico). A partir de un diseño se propone una codificación en Nodejs completamente distribuida. Se deben realizar todas las fases del proyecto, su control y gestión, así como todas las pruebas funcionales y de prestaciones necesarias para la validación del producto desarrollado. 
  • Proyecto individual. Prestaciones y control de Elasticidad en sistemas orientados a componentes.
    • Se trata de crear una simulación de un sistema de servidores de manera que a partir de las técnicas de control de la elasticidad se busque en cada momento el punto óptimo para las prestaciones de calidad de servicio en función de los recursos asignados a los servicios. En principio, la técnica de elasticidad a aplicar se basa en la elasticidad horizontal propia de los sistemas actuales en la Nube.

Otras actuaciones fuera de horario.

Asistencia a seminarios y conferencias propuestas por el Grupo de Investigación de Sistemas Distribuidos.

Subir

Bibliografía

Acceda a la bibliografía que el profesorado de la asignatura ha solicitado a la Biblioteca.


V. K. Garg. Concurrent and distributed processing in Java.  Jon Wiley and Sons, 2004.

M. Raynal. Concurrent programming:  Algorithms, Principles and Foundations. Springer-Verlag, 2013.

D. A. Menasce, V. A.F. Almeida. Capacity planning for web performance. Metrics, models and methods. Prentice Hall, 1998.

M. Raynal. Distributed algorithms for message-passing systems. Springer-Verlag, 2013.

M. Raynal. Communication and agreement abstractions for fault-tolerant asynchronous distributed systems. Morgan and Calypool publishers, 2010.

E. Ashford, S. Arunkumar. Introduction to embedded systems.  LeeSeshia.org, 2011.

P. Krumm. Ubiquitous Computing Fundamentals. Chapman and Hall/CRC, 2009.

A. Tanenbaum. Sistemas Operativos modernos. Prentice-Hall, 1992.

M. Cantelon et al. Node.js in action. Manning Publications, 2014.

Artículos que se pondrán a disposición de los estudiantes a lo largo del curso para la preparación de trabajos.

Subir

Lugar de impartición

Aulas de docencia y laboratorio de informática que la universidad establezca a tal efecto. Campus de Arrosadía, Pamplona

Subir