Créditos ECTS Créditos ECTS: 6
Horas ECTS Criterios/Memorias Horas de Titorías: 3 Clase Expositiva: 24 Clase Interactiva: 24 Total: 51
Linguas de uso Castelán, Galego
Tipo: Materia Ordinaria Grao RD 1393/2007 - 822/2021
Departamentos: Electrónica e Computación
Áreas: Ciencia da Computación e Intelixencia Artificial
Centro Escola Politécnica Superior de Enxeñaría
Convocatoria: Segundo semestre
Docencia: Con docencia
Matrícula: Matriculable
Abordar a análise e deseño de aplicacións distribuídas, integradas tanto nos distintos subsistemas dun robot como nun sistema multirobot, e nos que necesariamente haberá programas dialogando entre si para obter un resultado dado.
Coñecer as diferentes paradigmas de computación distribuída así como as solucións middleware máis usadas na actualidade para o desenvolvemento deste tipo de aplicacións: distintas solucións de comunicación entre procesos (IPC) os paradigmas cliente-servidor, as chamadas a procedementos remotos, o paradigma de obxectos distribuídos nas súas distintas implementacións, as arquitecturas orientadas a mensaxes, e as arquitecturas baseadas en pares (P2P) e en axentes, facendo especial énfase, neste último caso, na linguaxe de comunicación e os protocolos de interacción entre os mesmos.
Capacidade para deseñar desde o punto de vista software sistemas multirobot. Coñecer e saber aplicar control centralizado e distribuído en sistemas robóticos.
Saber especificar e analizar a planificación e coordinación de sistemas multirobot.
Os contidos xerais indicados na memoria do grao son: Paradigmas da computación distribuída. Comunicación entre procesos (IPC). O modelo de paso de mensaxes. Modelo cliente/servidor. Aplicacións colaborativas. Obxectos distribuídos. Arquitecturas baseadas en pares. Arquitecturas orientadas a mensaxes. Robótica de enxame e sistemas multiagente. Control centralizado e distribuído.
Estes contidos estruturaranse no seguinte programa da materia:
Contido Teórico
1. Introdución aos sistemas de computación distribuída e multirobot.
2. Introdución á programación concorrente e distribuída
3. Programación multi-thread e multi-thread
4. Comunicación entre procesos (IPC) e comunicación en rede mediante sockets
5. Modelo de paso de mensaxes, arquitecturas orientadas a mensaxes e MPI
7. Modelo cliente-servidor
8. Problemas e paradigmas da computación distribuída.
9. Aplicacións colaborativas.
10. Obxectos distribuídos.
11. Arquitecturas baseadas en pares.
12. Introdución á robótica de enxame e aos sistemas multiaxente.
13. Métodos de deseño en robótica de enxames
14. Comportamentos en robótica de enxame
15. Control centralizado e distribuído.
En relación á temporización, os contidos teóricos destes temas desenvolveranse durante as clases expositivas (18 horas presenciais e 27 horas non presenciais). Tamén se desenvolverán varias prácticas durante as clases interactivas:
1- Comunicación entre procesos en Linux
2- Programación multi-proceso
3- Programación multi-fio
4- Solución de problemas na programación concorrente
5- Programación distribuída en rede
6- Programación distribuída con paso de mensaxes
7- Sincronización e causalidade en sistemas distribuídos
8- Paradigma de programación cliente/servidor
9- Comportamentos sinxelos en robótica de enxame
10- Comportamentos avanzados en robótica de enxame
Bibliografía básica:
- G. Coulouris, J. Dollimore, T. Kindberg, G. Blair, Distributed Systems: Concepts and Design, 5th edition, Addison-Wesley, 2012.
Bibliografía complementaria:
- F. Buschmann, K. Henney, D. C. Schmidt, Pattern-Oriented Software Architecture: A Pattern Language for Distributed Computing, Volume 4, John Wiley & Sons, 2007.
- M. Mesbahi, M. Egerstedt, Graph Theoretic Methods in Multiagent Networks, Princeton University Press, 2010.
O alumno que supere a materia con éxito será capaz de:
Coñecemento:
- Con55. Saber elexir para o desenvolvemento de aplicacions distribuidas a aproximación máis adecuada entre os diferentes paradigmas de computación distribuida e solucions middleware actuais.
- Con56. Explicar y analizar a planificación e coordinación de sistemas multirrobot.
Destrezas:
- H/D60. Analizar e diseñar aplicacions distribuidas, tanto nos distintos subsistemas dun robot como nun
sistema multirrobot, e nos que habera programas dialogando entre sí para obter un resultado dado.
- H/D61. Diseñar desde o punto de vista software sistemas multirrobot.
- H/D62. Aplicar control centralizado e distribuido en sistemas robóticos.
Competencias:
- Comp20. Ser capaz de establecer sistemas robóticos cooperativos e multirrobot aplicando as técnicas adecuadas
Os contidos da materia impartiranse tanto en clases expositivas de teoría como en clases interactivas de prácticas. Ambos os tipos de clases iranse alternando ao longo do semestre, de tal modo que as prácticas afianzarán os conceptos mostrados en teoría.
As clases de teoría expositivas desenvolveranse na aula por parte do profesorado, apoiado por medios electrónicos (presentacións electrónicas, vídeos, documentos técnicos complementarios...) dispoñibles no Campus Virtual da USC. Ditas clases seguirán os contidos pormenorizados da materia que aparezan reflectidos na programación docente anual. As presentacións maxistrais do profesor combinaranse coa proposta de exercicios específicos para afianzar os conceptos presentados. Estes exercicios serán resoltos polos alumnos (en clase ou en casa) para despois ser corrixidos en clase dunha maneira participativa.
A docencia das prácticas, realizadas en grupos reducidos de 20 alumnos e de carácter interactivo, serán actividades complementarias ás clases teóricas expositivas. Serán desenvoltas en laboratorios de robótica con robots reais e en clases de informática baixo a supervisión do profesorado. Os alumnos seguirán de maneira autónoma os guións das prácticas específicas dispoñibles no Campus Virtual da USC. Estas actividades non só permitirán ao alumnado a comprensión dos conceptos teóricos mediante a súa posta en práctica senón que tamén lles permitirán a adquisición de habilidades necesarias para aplicar algoritmos de aprendizaxe automática no seu futuro profesional.
Así mesmo, nas titorías atenderase ao alumnado para discutir, comentar, aclarar ou resolver cuestións concretas en relación coas súas tarefas dentro da materia (recompilación de información, preparación de probas de avaliación, prácticas, traballos...). Estas titorías serán tanto presenciais como virtuais a través de correo electrónico, campus virtual ou a plataforma Microsoft Teams.
A avaliación levarase a cabo de dúas formas: (1) Avaliación continua a través da valoración de prácticas no laboratorio. Poderase propoñer a posible realización de traballos voluntarios que fomenten a creatividade do alumno, motivación, etc., e que permitan que profunden nalgúns dos contidos da materia, ou exploren alternativas non cubertas directamente nos contidos impartidos polo profesor. (2) Por outra banda, haberá un traballo final que representará o 60% do total da materia, mentres que o 40% restante represéntano as probas (as prácticas entregables mencionadas no punto 1, traballos, cuestionarios, etc.) que se propoñan na aula.
Debido a este tipo de avaliación continua, a asistencia a prácticas será obrigatoria salvo causa xustificada.
O alumno recibirá a cualificación de "non presentado" cando non complete o 80% das prácticas ou se non entrega o informe do traballo final.
Para os casos de realización fraudulenta de exercicios ou probas será de aplicación o establecido na “Normativa de avaliación do rendemento académico dous estudantes e de revisión dás cualificacións”.
A asistencia tanto ás clases teóricas como prácticas será obrigatoria. Para aqueles alumnos que teñan dispensa, o sistema de avaliación será o mesmo non terán obrigación de asistir ás clases teóricas, pero mantense a obrigación de asistencia ás prácticas de laboratorio.
Avaliación de segunda oportunidade: Os alumnos poderán entregar aquelas actividades que lle expoña o profesor, correspondentes a aquelas que non superasen na convocatoria anterior. Poderá haber unha defensa de traballos co profesor. Por outra banda, haberá un traballo de segunda oportunidade, en consonancia co que sucede na primeira oportunidade e cuxo peso na cualificación final é o mesmo que na primeira oportunidade.
As competencias propias da materia así como as competencias xerais teñen contidos específicos na materia que se introducen, como se indicou, tanto nas clases expositivas como nas interactivas. Posteriormente o alumnado desenvolverá estas competencias coa realización dos traballos prácticos e do traballo final nos que tamén traballará competencias básicas e transversais.
As competencias específicas serán obxecto de avaliación tanto nos traballos prácticos que o alumno desenvolva durante a materia como no traballo final.
Non se considerará nin se conservará ningunha das cualificacións obtidas polos alumnos repetidores no curso anterior, é dicir, o alumnado que repita a materia deberá superala baixo as condicións mencionadas na sección de primeira oportunidade.
A materia ten unha carga de traballo de 6 ECTS dividida da seguinte forma:
- 1. Traballo na aula (60 horas presenciais)
- 1.1. Clases expositivas teóricas (en grupo grande): 18 horas
- 1.2. Prácticas (con pequenos grupos): 30 horas
- 1.3. Titorías de grupo: 3 horas
- 1.4. Titorías individualizadas: 4 horas
- 1.5. Actividades de avaliación: 5 horas
- 2. Traballo persoal do alumnado (90 horas non presenciais)
- 2.1. Lectura, revisión de temas e exercicios de teoría: 20 horas
- 2.2. Preparación de exercicios e informes de prácticas: 52 horas
- 2.3. Preparación de titorías de grupo: 3 horas
- 2.4. Preparación de titorías individualizadas: 8 horas
- 2.5. Preparación de probas de avaliación: 7 horas
Debido á alta correlación existente entre os conceptos desenvolvidos nas clases de teoría e os contidos das prácticas, recoméndase aos alumnos constancia no estudo da materia, acudindo ás sesións de prácticas cos conceptos teóricos revisados e os exercicios resoltos. A realización das prácticas axudará ao afianzamento dos conceptos teóricos e á súa utilización en situacións reais.
Ignacio Raño Noal
Coordinador/a- Departamento
- Electrónica e Computación
- Área
- Ciencia da Computación e Intelixencia Artificial
- Correo electrónico
- ignacio.rano [at] usc.es
- Categoría
- Profesor/a: Profesor Contratado/a Doutor