Créditos
6
Tipos
Complementaria de especialidad (Ingeniería del Software)
Requisitos
- Prerrequisito: AS
Departamento
CS
Profesorado
Responsable
- Javier Béjar Alonso (bejar@cs.upc.edu)
Horas semanales
Teoría
2
Problemas
1
Laboratorio
1
Aprendizaje dirigido
0
Aprendizaje autónomo
6
Competencias
Competencias técnicas comunes
- CT4.3 - Demostrar conocimiento y capacidad de aplicación de los principios fundamentales y las técnicas básicas de los sistemas inteligentes y su aplicación práctica.
Especialidad ingeniería del software
- CES1.4 - Desarrollar, mantener y evaluar servicios y aplicaciones distribuidas con soporte de red.
Razonamiento
- G9.3 - Capacidad crítica, capacidad de evaluación.
Objetivos
-
Conocer los orígenes y las bases de la computación distribuida en Internet
Competencias relacionadas: CT4.3, -
Entender los conceptos básicos: Computación por Interacción, Orientación a Servicios, Cloud Computing, Future Internet
Competencias relacionadas: CT4.3, -
Conocer posibles aplicaciones de la Inteligencia Artificial para los sistemas distribuidos en Internet
Competencias relacionadas: CT4.3, -
Entender los conceptos básicos de Orientación a Servicios
Competencias relacionadas: CT4.3, -
Entender los conceptos básicos de Orientación a Agentes
Competencias relacionadas: CT4.3, -
Analizar un problema de naturaleza distribuida e identificar los diferentes actores y sus funcionalidades
Competencias relacionadas: G9.3, CES1.4, -
Diseñar sistemas distribuidos aplicando una metodologia orientada a agentes
Competencias relacionadas: CES1.4, CT4.3, -
Analizar un diseño orientado a agentes e identificar los puntos a mejorar
Competencias relacionadas: G9.3, CES1.4, -
Entender los conceptos básics sobre representación del contexto.
Competencias relacionadas: CT4.3, -
Analizar un problema de naturaleza distribuida e identificar la información de contexto que es necesaria.
Competencias relacionadas: G9.3, CES1.4, -
Extraer y representar el conocimiento necesario sobre el contexto para construir una aplicación distribuida en Internet que sea flexible y robusta.
Competencias relacionadas: G9.3, CES1.4, -
Diseñar ontologias sobre un contexto aplicando adecuadamente una metodologia
Competencias relacionadas: CES1.4, CT4.3, -
Entender los conceptos relacionados con la composición dinámica de servicios
Competencias relacionadas: CT4.3, -
Describir servicios web de forma que puedan ser incorporados en un proceso de composición dinámica
Competencias relacionadas: CES1.4, CT4.3, -
Extraer y representar las acciones necesarias para resolver la composición dinámica mediante un planificador
Competencias relacionadas: CES1.4, CT4.3, -
Entender el concepto de aprendizaje y conocer algunos de sus tipos.
Competencias relacionadas: CT4.3, -
Entender la relación entre adaptación y aprendizaje.
Competencias relacionadas: CT4.3, -
Entender como se puede aplicar el aprendizaje automático a la adaptación al usuario.
Competencias relacionadas: CT4.3, -
Entender como se puede aplicar el aprendizaje automático a la adaptación a fallos.
Competencias relacionadas: CT4.3,
Contenidos
-
Introducción
Evolución de la Computación Distribuida: de RPCs a SOA. Concepto de 'Computation as interaction'. Nuevas tendencias: Cloud Computing y Future Internet. El Papel de la IA en SOA y Future Internet.
-
Diseño de aplicaciones distribuidas orientado a agentes
Introducción a la Orientación a Servicios y el estandar W3C. Limitaciones del modelo. Introducción a la Orientación a Agentes y el estandar IEEE-FIPA. Conceptos básicos: Agente y Sistema Multiagente. Metodologías de diseño orientado a agentes. Ventajas. -
Modelando el contexto en sistemas distribuidos
Modelando el contexto en SOA: lenguajes de descripción de servicios, orquestación y coreografia. Representación del contexto: dominio, modelo del dominio, conocimiento, representación del conocimiento. Ingeniería del conocimiento aplicada al desarrollo de sistemas distribuidos en la Web. Representaciones basadas en Ontologias. Web Semántica y Linked Data como modelo de representación. -
Composición dinámica de servicios
Descripción semantica de servicios, Service Discovery y Service Matchmakers. Problemas de los modelos estáticos de orquestación y coreografia. Diferentes aproximaciones a la Composición dinámica: goal driven, state driven, utility driven. Planificación aplicada a la composición dinámica de servicios. -
Adaptación al usuario. Perfilado de usuarios
Adaptación implica aprendizaje. Conceptos básicos de perfilado: perfil individual y perfil social. Aprendizaje Inductivo, Sistemas Recomendadores y Aprendizaje por refuerzo. -
Otras aplicaciones de IA a sistemas distribuidos
Governanza mediante modelos sociales: reputación, normas. Modelos de estructuras sociales: equipos, alianzas, coaliciones, organizaciones. Ejemplos.
Actividades
Actividad Acto evaluativo
Introducción a la computación distribuida
El alumno conocerá los orígenes y las bases de la Computación Distribuida y las nuevas tendencias de futuro. Para reforzar el aprendizaje del alumno, deberá leer un artículo de la Comisión Europea sobre "Future Internet", disponible en la red.Objetivos: 1 2 3 4
Contenidos:
Teoría
2h
Problemas
1h
Laboratorio
1h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h
Diseño de aplicaciones distribuidas orientadas a agentes
El alumno no sólo deberá atender a las exposiciones del profesor, sino también hacer ejercicios prácticos sobre modelado orientado a agentes, y participar en las discusiones con el profesor y sus compañeros sobre cuál es la forma mejor de modelar problemas distribuidos. En el laboratorio el alumno deberá aplicar lo aprendido a un problema de dificultad media.Objetivos: 4 5 6 7 8
Contenidos:
Teoría
6h
Problemas
4h
Laboratorio
4h
Aprendizaje dirigido
0h
Aprendizaje autónomo
17h
Entrega de la práctica de modelado orientado a agentes
Entrega del informe sobre la práctica de modelado orientado a agentes que los alumnos han realizado en las sesiones de laboratorio.Objetivos: 5 6 7 8
Semana: 6 (Fuera de horario lectivo)
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h
Modelando el contexto en sistemas distribuidos
El alumno no sólo deberá atender a las exposiciones del profesor, sino también hacer ejercicios prácticos sobre modelado del contexto, y participar en las discusiones con el profesor y sus compañeros sobre cuál es la forma mejor de modelar diferentes aspectos del contexto de un sistema distribuido. En el laboratorio el alumno deberá aplicar lo aprendido a un problema de dificultad media.Objetivos: 9 10 11 12
Teoría
7h
Problemas
4h
Laboratorio
3h
Aprendizaje dirigido
0h
Aprendizaje autónomo
21h
Entrega de la práctica sobre modelado de ontologías
Entrega del informe de la práctica sobre modelado de ontologías que los alumnos han desarrollado en el laboratorio.Objetivos: 9 10 11 12
Semana: 8 (Fuera de horario lectivo)
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h
Composición dinámica de servicios
El alumno no sólo deberá atender a las exposiciones del profesor, sino también hacer ejercicios prácticos sobre descripción y composición de servicios, y participar en las discusiones con el profesor y sus compañeros sobre los problemas de la composición de servicios. En el laboratorio el alumno deberá aplicar lo aprendido a un problema de dificultad media.Objetivos: 13 14 15
Contenidos:
Teoría
6h
Problemas
4h
Laboratorio
7h
Aprendizaje dirigido
0h
Aprendizaje autónomo
27h
Adaptación al usuario. Perfilado de usuarios
El alumno no sólo deberá atender a las exposiciones del profesor, sino también hacer ejercicios prácticos sobre el uso de los algoritmos básicos de Aprendizaje Automático para el aprendizaje de perfiles, y participar en las discusiones con el profesor y sus compañeros sobre cómo utilizar estos algoritmos.Objetivos: 16 17 18 19
Contenidos:
Teoría
2h
Problemas
2h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h
Otras aplicaciones de IA en sistemas distribuidos
El alumno no sólo deberá atender a las exposiciones del profesor, sino también participar en las discusiones con el profesor y sus compañeros sobre el impacto potencial que pueden tener las técnicas de Inteligencia Artificial sobre el futuro de Internet.Objetivos: 3
Contenidos:
Teoría
3h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h
Entrega de la práctica sobre composición de servicios
Entrega del informe de la práctica sobre composición de servicios que los alumnos han desarrollado en el laboratorio.Objetivos: 13 14 15
Semana: 14 (Fuera de horario lectivo)
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h
Metodología docente
Las clases están divididas en sesiones de teoría, problemas y laboratorio.En las sesiones de teoría se desarrollarán los conocimientos de la asignatura, intercalando la exposición de nuevo material teórico con ejemplos y la interacción con los alumnos para discutir los conceptos.
Las clases de problemas permitirán profundizar en los conceptos, técnicas y metodologías explicados en las sesiones de teoría. Se estimulará la participación del alumno para comentar las alternativas posibles.
En las clases de laboratorio se desarrollarán pequeñas prácticas utilizando herramientas y lenguajes propios de la Inteligencia Artificial que permitirán practicar y reforzar los conocimientos de las clases de teoría.
Método de evaluación
La evaluación constará de un examen parcial, un examen final y una nota de laboratorio.El examen parcial no es liberador de materia y se hará en horas de clase.
La nota de laboratorio provendrá de los informes que se harán de las prácticas realizadas.
El cálculo de la nota final se hará de la siguiente manera:
NP = nota del parcial
NF = nota del examen final
NL = nota de laboratorio
NOTA = max ((NP*0.25 + NF*0.25), (NP*0.15 +NF*0.35)) + NL*0.45 + Nota Competencia
Evaluación de las competencias
La evaluación de la competencia sobre razonamiento se basa en el trabajo realizado durante las prácticas de laboratorio. La nota ABCD y la nota de curso se calcula a partir de una rúbrica detallada que se dará a los alumnos al inicio del curso.
Bibliografía
Básico
-
Service-oriented architecture: concepts, technology and design
- Erl, T,
Prentice Hall PTR,
2005.
ISBN: 9780131858589
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003166409706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
SOA: principles of service design
- Erl, T,
Prentice Hall,
2008.
ISBN: 9780132344821
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003691119706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
SOA design patterns
- Erl, T,
Prentice Hall,
2009.
ISBN: 978-0136135166
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003691139706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Complementario
-
SOA governance: governing shared services on-premise and in the cloud
- Erl, T.; Bennett, S.G.; Gee, C.; Laird, R.; Manes, A.T.; Schneider, R.; Shuster, L.; Tost, A.; Venable, C,
Prentice Hall,
2011.
ISBN: 9780138156756
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003986669706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Artificial intelligence: a modern approach
- Russell, S.; Norvig, P,
Pearson,
2022.
ISBN: 9781292401133
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991005066379806711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Web links
- Canal de youtube para los videos de laboratorio https://www.youtube.com/channel/UClLXHUWjI3sSbPAY7Sh011g
Capacidades previas
Capacidades previas sobre arquitecturas de servicios y diseño de servicios adquiridas en la asignatura Arquitectura del software (AS):- Conocimiento de las arquitecturas de servicios.
- Conocimiento de los principios del diseño de servicios.
- Conocimiento de los patrones de diseño de servicios.
Capacidades previas sobre Lógica adquiridas en la asignatura Fundamentos Matemáticos (FM):
- Conocimiento de los conceptos básicos de lógica de proposiciones y predicados
- Capacidad de formular un problema en términos lógicos.
- Conocimientos sobre Inferencia lógica y resolución. Entender las estrategias de resolución.