| Responsable: | Xavier Messeguer Peypoch (peypoch |
| Otros: | Jorge Castro Rabal (castro |
| Créditos | Dept. |
|---|---|
| 6.0 ECTS | LSI |
| Responsable: | Xavier Messeguer Peypoch (peypoch |
| Otros: | Jorge Castro Rabal (castro |
Se pretende que los estudiantes aprendan a diseñar e implementar programas concurrentes y distribuidos de forma segura y fiable. Para guiar a los estudiantes en las tareas de diseño se introduce el LST (Labelled System Analyser), un lenguaje de programación sencillo que permite diseñar, visualizar y analizar sistemas de transiciones. Con el fin de que los estudiantes tengan una visión más completa de la concurrencia y de los sistemas distribuidos, se enseñan otros modelos como por ejemplo las redes de Petri y el software diseñado para analizarlas. Con el fin de tener una visión completa de los pasos que van de la modelización a la implementación se realizan prácticas en el lenguaje de programación Java.
Horas estimadas de:
| T | P | L | Alt | L Ext. | Est | O. Ext. |
| Teoria | Problemas | Laboratorio | Otras actividades | Laboratorio externo | Estudio | Otras horas fuera del horario fijado |
|
T | P | L | Alt | L Ext. | Est | O. Ext. | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 4,0 | 4,0 | 2,0 | 0 | 2,0 | 9,0 | 0 | 21,0 | |||
|
Problema de la interferencia destructiva. Locks y exclusión mutua. Modelado de semáforos y del problema de los monitores imbricados. Problema de deadlock, análisis mediante LST.
|
||||||||||
|
T | P | L | Alt | L Ext. | Est | O. Ext. | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 4,0 | 4,0 | 2,0 | 0 | 2,0 | 9,0 | 0 | 21,0 | |||
|
Descripción y ejemplos de propiedades de seguridad e implementación mediante LTS. Descripción de las propiedades de vivacidad, en especial la de progreso, e implementación en LTS.
|
||||||||||
|
T | P | L | Alt | L Ext. | Est | O. Ext. | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 4,0 | 4,0 | 2,0 | 0 | 2,0 | 8,0 | 0 | 20,0 | |||
|
Paso de mensajes síncronos y asíncronos. Rendez-vous y arquitectura cliente servidor. Modelado en LTS.
Introducción a otras arquitecturas: pipelines de filtros, supervisor/trabajadores, anunciante/oyente. |
||||||||||
|
T | P | L | Alt | L Ext. | Est | O. Ext. | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 4,0 | 4,0 | 2,0 | 0 | 2,0 | 9,0 | 0 | 21,0 | |||
|
Ejemplos de redes de Petri. Algoritmo de Karp y Miller.
Clases especiales de redes de Petri. Herramientas soft para analizar estas redes. |
||||||||||
|
T | P | L | Alt | L Ext. | Est | O. Ext. | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 4,0 | 4,0 | 2,0 | 0 | 2,0 | 9,0 | 0 | 21,0 | |||
|
Estudio de casos: "reordenamiento distribuido", exclusión mutua autoestabilizante, protocolos con mensajes ack.
|
||||||||||
|
T | P | L | Alt | L Ext. | Est | O. Ext. | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 4,0 | 4,0 | 2,0 | 0 | 2,0 | 8,0 | 0 | 20,0 | |||
|
Elección de líder, algoritmo de eco, exclusión mutua en red, consenso, árboles no dirigidos, autoestabilización.
|
||||||||||
| Total por tipo | T | P | L | Alt | L Ext. | Est | O. Ext. | Total |
| 28,0 | 28,0 | 14,0 | 0 | 14,0 | 60,0 | 0 | 144,0 | |
| Horas adicionales dedicadas a la evaluación | 6,0 | |||||||
| Total horas de trabajo para el estudiante | 150,0 | |||||||
En las clases de teoría se presentarán los conceptos básicos mediante ejemplos. En las clases de ejercicios, los estudiantes resolverán ejercicios sobre los temas de las clases de teoría. En las clases de laboratorio se verá cómo implementar estos problemas (o problemas parecidos) en Java. Tanto en clases de problemas como de laboratorio se podrán utilizar herramientas de diseño y análisis como el LTS.
Habrá examen final y nota de laboratorio. El examen será de problemas sobre la teoría explicada. La nota de laboratorio reflejará la calidad del trabajo realizado. La nota final será:
examen final*0.7 + laboratorio*0.3
Buenos conocimientos de Java a nivel de clases y objetos.