Responsable: | (-) |
Otros: | (-) |
Créditos | Dept. |
---|---|
7.5 (6.0 ECTS) | CS |
Responsable: | (-) |
Otros: | (-) |
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 lmodelo 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. 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 los lenguajes de programación Java y Erlang. Las prácticas de Redes de Petri se realizan en WoPeD.
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 | ||
---|---|---|---|---|---|---|---|---|---|---|
6,0 | 6,0 | 3,0 | 0 | 3,0 | 12,0 | 0 | 30,0 | |||
Paso de mensajes. Arquitectura cliente servidor.
Introducción a otras arquitecturas: pipelines de filtros, supervisor/trabajadores, anunciante/oyente. Paso de mensajes en Erlang. Arquitectura cliente/servidor en Erlang. |
|
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. Introducción a WoPed. |
|
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.
|
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 y Erlang. 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á:
0.6*examen final + 0.4*laboratorio
Buenos conocimientos de Java a nivel de clases y objetos.