Guía docente de Desarrollo Basado en Agentes (Especialidad Ingeniería del Software) (296114F)

Curso 2023/2024
Fecha de aprobación: 23/06/2023

Grado

Grado en Ingeniería Informática

Rama

Ingeniería y Arquitectura

Módulo

Formación de Especialidad 2: Ingeniería del Software

Materia

Sistemas Distribuidos, Multiagente y Desarrollo Web

Curso

4

Semestre

1

Créditos

6

Tipo

Obligatoria

Profesorado

Teórico

Manuel Jesús Cobo Martín. Grupo: A

Práctico

Manuel Jesús Cobo Martín Grupos: 1, 2 y 3

Tutorías

Manuel Jesús Cobo Martín

Email
  • Primer semestre
    • Miércoles de 09:30 a 13:30 (Fo1.11 Etsiit)
    • Viernes de 12:30 a 14:30 (Fo1.11 Etsiit)
  • Segundo semestre
    • Lunes
      • 09:30 a 14:00 (Forem 1.12)
      • 16:00 a 17:30 (Forem 1.12)

Prerrequisitos y/o Recomendaciones

No es necesario que los alumnos tengan aprobadas asignaturas, materias o módulos previos como requisito indispensable para cursar este módulo. No obstante se recomienda la superación de los contenidos y adquisición de competencias de las materias de formación básica y de rama, con especial atención a las asignaturas Programación y diseño orientado a objetos, sistemas concurrentes y distribuidos o inteligencia artificial.

Breve descripción de contenidos (Según memoria de verificación del Máster)

  • Agentes como paradigma en Ingeniería del Software, conceptos y tipología.
  • Interacción y comunicación entre agentes.
  • Sistemas multiagente.
  • Diseño sistemas multiagente.
  • Evolución de los sistemas multiagente.
  • Riesgos de las soluciones basadas en agentes.
  • Metodologías de desarrollo de agentes.
  • Estándares.
  • Aplicaciones.

Competencias

Competencias Generales

  • CG08. Conocimiento de las materias básicas y tecnologías, que capaciten para el aprendizaje y desarrollo de nuevos métodos y tecnologías, así como las que les doten de una gran versatilidad para adaptarse a nuevas situaciones.
  • CG09. Capacidad para resolver problemas con iniciativa, toma de decisiones, autonomía y creatividad. Capacidad para saber comunicar y transmitir los conocimientos, habilidades y destrezas de la profesión de Ingeniero Técnico en Informática.

Competencias Transversales

  • CT03. Capacidad para el uso y aplicación de las TIC en el ámbito académico y profesional. 

Resultados de aprendizaje (Objetivos)

Objetivos formativos particulares

  1. Comprender el paradigma del uso de agentes en Informática, y profundizar y ampliar conocimientos referentes a teoría de agentes, arquitectura de agentes, interacción y comunicación.
  2. Adquirir conocimientos básicos sobre el paradigma de ingeniería de sistemas basado en agentes.
  3. Asimilar conocimientos particularizados dentro del campo de los agentes software, sus aplicaciones y problemáticas típicas.
  4. Saber enfrentarse a problemas de diseño de sistemas en los que participen un conjunto de entidades autónomas que han de coordinarse para acometer tareas de forma conjunta.
  5. Saber abordar el diseño soluciones software basadas en agentes.
  6. Ser capaz analizar la evolución de los sistemas basados en agentes.
  7. Conocer y analizar los riesgos de implantación de sistemas basados en agentes.
  8. Adquirir conocimiento de las metodologías de desarrollo de agentes.
  9. Conocer los estándares existentes para el desarrollo de agentes.
  10. Saber desarrollar aplicaciones prácticas que impliquen el uso de alguna de las herramientas “middleware” orientadas a agentes existentes, como por ejemplo JADE o MAGENTIX.
  11. Ser capaz de desarrollar supuestos prácticos complejos que impliquen el uso de herramientas de asistencia al desarrollo de sistemas multiagente.

Objetivos formativos de carácter general

  1. Ser capaz de desarrollar, mantener y evaluar servicios y sistemas software que satisfagan todos los requisitos del usuario y se comporten de forma fiable y eficiente, sean asequibles de desarrollar y mantener y cumplan normas de calidad, aplicando las teorías, principios, métodos y prácticas de la Ingeniería del Software.
  2. Ser capaz de valorar las necesidades del cliente y especificar los requisitos software para satisfacer estas necesidades, reconciliando objetivos en conflicto mediante la búsqueda de compromisos aceptables dentro de las limitaciones derivadas del coste, del tiempo, de la existencia de sistemas ya desarrollados y de las propias organizaciones.
  3. Capacidad de dar solución a problemas de integración en función de las estrategias, estándares y tecnologías disponibles.

Programa de contenidos Teóricos y Prácticos

Teórico

Tema 1. Introducción

  • Historia
  • Definiciones previas
  • Ingeniería del software orientada a agentes
  • Metodologías de desarrollo basadas en agentes

Tema 2. Autonomía

  • Motivación
  • Modelo básico de agentes que actúan
  • Agentes deductivos
  • Agentes de razonamiento práctico
  • Agentes reactivos e híbridos

Tema 3. Comunicación

  • Ontologías
  • Actos comunicativos
  • Estructura de los mensajes FIPA ACL
  • Diseño de protocolos de comunicación

Tema 4. Interacción

  • Estructuras sociales
  • Instituciones electrónicas
  • Metodologías de desarrollo
  • Coordinación
  • Toma de decisiones en grupo
  • Formación de coaliciones
  • Reserva de recursos
  • Argumentación
  • Emociones

Práctico

Seminarios/Talleres

  • Trabajo en Grupo y liderazgo
  • Hackathon I: Agentes JADE dialogantes
  • Introducción a Mini SCRUM
  • Programación JavaFX JADE
  • Programación intermedia JADE
  • Hackathon II: Agentes JADE Jugadores

Prácticas de Laboratorio

  • Configuración de un agente 3D y su modelo estático de percepción
  • Movimiento de un agente 3D, percepción dinámica y exploración
  • Equipo de agentes 3D y exploración colaborativa
  • Múltiples equipos de agentes 3D y exploración competitiva

Bibliografía

Bibliografía fundamental

Bibliografía complementaria

  • Yoav Shoham: Agent Oriented Programming. Logic at Work 1992: 123-129
  • Alan H. Bond and Les Gasser. A survey of distributed artificial intelligence . In Alan H. Bond and Les Gasser, Readings in Distributed Artificial Intelligence, Morgan Kaufmann Publishers, San Mateo, CA, 1988.
  • JADE Agent Platform
  • Magentix Agent Platform.

Metodología docente

  • MD01. Lección Magistral (Clases Teóricas-Expositivas) 
  • MD02. Actividades Prácticas (Resolución de Problemas, Resolución de Casos Prácticos, Desarrollo de Proyectos, Prácticas en Laboratorio, Taller de Programación, Aula de Informática, Prácticas de Campo). 
  • MD03.  Seminarios (Debates, Demos, Exposición de Trabajos Tutelados, Conferencias, Visitas Guiadas, Monografías). 
  • MD04. Actividades no presenciales Individuales. 
  • MD05. Actividades no presenciales Grupales. 
  • MD06. Tutorías Académicas. 

Evaluación (instrumentos de evaluación, criterios de evaluación y porcentaje sobre la calificación final)

Evaluación Ordinaria

Evaluación continua de la asignatura, en la que se tendrán en cuenta los siguientes aspectos

  • Pruebas prácticas de laboratorio (puntuables de 0 a 10 puntos, peso nota final 60%). Se realizarán cuatro pruebas prácticas a lo largo del semestre en las que el alumno deberá realizar, de forma individual o en grupo un trabajo que deberá ser defendido en público durante las horas de clase. Cada prueba puntuará un 10%, 20%, 20% y 10% en la nota final respectivamente.
  • Participación activa del alumno (puntuable de 0 a 10 puntos, peso nota final 10%). Se evaluará la participación del alumno en las actividades de teoría, la asistencia a las clases y seminarios (mínimo 80% de asistencia).
  • Examen de teoría de la asignatura (puntuable de 0 a 10, peso nota final 30%) que se realizará en un solo acto académico el día de la convocatoria oficial de examen para la asignatura definida por el Centro y cuya asistencia es obligatoria.

El sistema de calificaciones se expresará mediante calificación numérica de acuerdo con lo establecido en el art. 5 del R. D 1125/2003, de 5 de septiembre, por el que se establece el sistema europeo de créditos y el sistema de calificaciones en las titulaciones universitarias de carácter oficial y validez en el territorio nacional.

Se requerirá la asistencia del alumno en las siguientes condiciones, salvo excepciones debidamente justificada

  • Clases de teoría: al menos 80%
  • Clases de prácticas: 100%

Evaluación Extraordinaria

Para la evaluación de convocatorias extraordinarias, se regirá por la normativa sobre planificación docente y organización de exámenes vigente en la Universidad de Granada. En convocatoria extraordinaria se realizará en un solo acto académico el día de la convocatoria oficial de examen para la asignatura definida por el Centro. Dicha prueba (evaluada de 0 a 10) incluirá preguntas tanto de tipo teórico como práctico que garanticen que el alumno ha adquirido la totalidad de las competencias descritas en esta misma guía docente.

Evaluación única final

De acuerdo a lo establecido en la Normativa de evaluación y de calificación de los estudiantes de la Universidad de Granada aprobada en Consejo de Gobierno de 20 de mayo de 2013 (NCG71/2), la evaluación será preferentemente continua. No obstante, el estudiante que no pueda acogerse a dicho sistema por motivos laborales, estado de salud, discapacidad o cualquier otra causa debidamente justificada podrá acogerse a la evaluación única final. Para ello deberá solicitarlo al Director del Departamento en las dos primeras semanas de impartición de la asignatura o, excepcionalmente, en las dos primeras semanas tras la matriculación en la asignatura (NCG78/9: Instrucción relativa a la aplicación del artículo 8.2). La evaluación única final se realizará en un solo acto académico el día de la convocatoria oficial de examen para la asignatura definida por el Centro. Dicha prueba (evaluada de 0 a 10) incluirá preguntas tanto de tipo teórico como práctico que garanticen que el alumno ha adquirido la totalidad de las competencias descritas en esta misma guía docente. Para que el alumno pueda acogerse a esta evaluación deberá solicitarlo durante las dos primeras semanas de impartición de la asignatura.