Programación
Concurrente
y Distribuida
Tercer Curso,
Ingeniería Informática
Facultad de Ciencias, Universidad de Cantabria
Profesorado
Todos somos miembros del grupo Computadores
y
Tiempo Real.
Apuntes
Los
apuntes se van actualizando según avanza la asignatura. En
principio se ofrece toda la teoría del curso anterior que se
espera
siga siendo válida salvo leves modificaciones.
- Programa
- Tema I: Introducción a la
programación concurrente
- Tema II: Primitivas de
sincronización
- Tema III: Modelo Java
de programación concurrente
- Tema IV: Arquitecturas
y patrones para programación concurrente
- Tema V: Métodos
formales de expresión de la corrurrencia
- Tema VI:
Introducción a la programación distribuida
- Tema VII: Java
distribuido RMI
- Tema VIII: Sistemas
distribuidos con objetos
- Tema IX: Java de
Tiempo
Real
- Tema X (Proyecto
final: Aplicación Scada)
Ejemplos
- Red Ferroviaria:
- Filósofos chinos
- Puerta del garage
- Smart Hunter
- Smart Hunter con marcador
- Watchdog y timer
- Hola RMI
- Sopa de Letras
- Red Ferroviaria RMI
- Hola ICE
- Hola ICE (herencia,
delegación y callback)
Prácticas
- Práctica 1: Sopa de Letras con obreros agentes(Tema
III)
- Práctica 2: Red Ferroviaria con Lock(Tema III)
- Enunciado
- Código base
(implementación secuencial en la sección
Ejemplos/RedFerroviaria)
- Para la especificación y BoUML de la aplicación
referirse a la
sección de ejemplos.
- Para el listado de secciones críticas y la
solución con las 2
esperas bloqueantes referirse a la sección de ejemplos.
- Práctica 3: Red Ferroviaria con
SchedulerThreadPool(Tema IV)
- Práctica 4: Red Ferroviaria con Sockets (Tema VI)
- Práctica 5: Smart Hunter con RMI (Tema VII)
- Práctica 6: Smart Hunter con RMI II (Tema
VII):
Serialización y callbacks
- Práctica 7: Cruce Semáforos con RMI III
(Tema
VII): Serialización y callbacks
- Práctica 8: Smart Hunter con ICE (Tema VIII)
- Práctica 9: Cruce de semáforos con ICE (Tema
VIII)
- Práctica Diseño: Diseño de un sistema
concurrente
Seminarios
Organización
Documentación y
Herramientas
- Documentos
y
manuales:
- Descargas:
- Java
Runtime
Environment 6 J2SE de Sun. Nota: para GNU/Linux
recomendamos el paquete openjdk
de la distro.
- Eclipse IDE: Versión
3.4
Ganymedes J2EE.
Nota: es casi seguro (pero no lo garantizamos) que versiones de
eclipse 3.5 Galileo también funcionen.
- Ice 3.3. Versión para Windows.
En
GNU/Linux, se recomienda instalar los paquetes libzeroc-ice3.3-java y zeroc-ice-manual.
Soluciones de
exámenes
- Examen Concurrencia
- Examen Distribuido
Calificaciones