Vés al contingut

Disseny de Sistemes Multiagents

Crèdits
4
Tipus
Optativa
Requisits
Aquesta assignatura no té requisits , però té capacitats prèvies
Departament
CS
Web
http://www.cs.upc.edu/~jvazquez/teaching/masd/index.php
L'objectiu principal del curs es el proveir els estudiants de guies metodològiques per l'anàlisi, disseny i impelmentació de sistemes de programari distribuït. El curs presenta diversos mètodes, tècniques i tecnologíes que ja s'apliquen en la construcció de sistemes distribuïts per tal de fer-los més flexibles, adaptables i reconfigurables.

La primera meitat del curs presenta un paradigma nou de disseny, la Enginyería del Software Orientada a Agents (AOSE), ón l'anàlisi i disseny delssistemes distribuïts utilitza conceptes de les societats i organitzacions humanes (actor, rol, responsabilitat, delegació de tasques) per modelar, d'una forma flexible, les interaccións entre els components distribuïts del sistema i les formes de recuperar-se de fallides.

La segona meitat del curs presentarà diversos mecanismes socials (Confiança&Reputació, Estructures Socials, Teoria d'Organitzacions, Sistemes Normatius), inspirats en les societats humanes i animals, que es poden impelmentar computacionalment per a gestionar l'equilibri entre la flexibilitat de cada component i el control del sistema en el seu conjunt.

Professorat

Responsable

Hores setmanals

Teoria
3
Problemes
0
Laboratori
0
Aprenentatge dirigit
0
Aprenentatge autònom
5.33

Competències

Genèriques

  • CG3 - Capacitat per a la modelització, càlcul, simulació, desenvolupament i implantació en centres tecnològics i d'enginyeria d'empresa, particularment en tasques de recerca, desenvolupament i innovació en tots els àmbits relacionats amb la Intel·ligència Artificial.
  • Professionals

  • CEP3 - Capacitat d'aplicació de les tècniques d'Intel·ligència Artificial en entorns tecnològics i industrials per a la millora de la qualitat i la productivitat.
  • CEP7 - Capacitat de respectar la normativa legal i la deontologia en l'exercici professional.
  • Treball en equip

  • CT3 - Ser capaç de treballar com a membre d'un equip interdisciplinari, ja sigui com un membre més o duent a terme tasques de direcció, amb la finalitat de contribuir a desenvolupar projectes amb pragmatisme i sentit de la responsabilitat, tot assumint compromisos considerant els recursos disponibles.
  • Ús solvent dels recursos d'informació

  • CT4 - Gestionar l'adquisició, l'estructuració, l'anàlisi i la visualització de dades i informació de l'àmbit d'especialitat, i valorar de forma crítica els resultats d'aquesta gestió.
  • Analisis i sintesis

  • CT7 - Capacitat d'anàlisi i resolució de problemes tècnics complexos.
  • Bàsiques

  • CB6 - Que els estudiants sàpiguen aplicar els coneixements adquirits y la seva capacitat de resolució de problemes en entorns nous o poc coneguts dins de contexts més amplis (o multidisciplinaris) relacionats amb la seva àrea d'estudi.
  • CB8 - Que els estudiants sàpiguen comunicar les seves conclusions i els coneixements i raons darreres que les sustenten- a públics especialitzats i no especialitzats d'una manera clara i sense ambigüitats.
  • CB9 - Que els estudiants posseeixin les habilitats d'aprenentatge que els permetin continuar estudiant d'una manera que haurà de ser en gran mesura autodirigida o autònoma.
  • Objectius

    1. Conèixer els orígens i les bases de la computació distribuïda a Internet
      Competències relacionades: CG3, CEP3,
    2. Conèixer possibles aplicacions de la Intel•ligència Artificial per als sistemes distribuïts a Internet
      Competències relacionades: CG3, CEP3, CB6, CB9,
    3. Entendre els conceptes bàsics d'Orientació a Agents
      Competències relacionades: CT4, CT7, CB6,
    4. Analitzar un problema de naturalesa distribuïda i identificar-ne els diferents actors i les seves funcionalitats
      Competències relacionades: CG3, CT4, CT7, CB6,
    5. Dissenyar sistemes distribuits aplicant una metodologia orientada a agents
      Competències relacionades: CG3, CEP3, CT3, CT7, CB6, CB8,
    6. Extreure i representar el coneixement necessari sobre el context per a construir una aplicació distribuïda a Internet que sigui flexible i robusta.
      Competències relacionades: CG3, CEP7, CT3, CT4, CT7, CB6,
    7. Dissenyar ontologies sobre un context aplicant adequadament una metodologia
      Competències relacionades: CG3, CT3, CT4, CT7, CB6, CB8,

    Continguts

    1. Introducció a la Orientació a Agents
      Trends in modern (distributed) computing. Origins of Multiagent design. Agent Design and Society Design. Approaches to Agent-Oriented Design. Agent properties. Environment properties. Agent types and architectures.
    2. Disseny d'agents: raonament en els agents
      Definition of Reasoning. Automated Reasoning. Reasoning Paradigms. Symbolic Reasoning Agents. Deductive Reasoning Agents. Agent-Oriented Programming. MetateM. Practical Reasoning. BDI Agents. BDI Agent Control Loop
    3. Metodologies Orientades a Agents
      Current trends in Software engineering. Agent-Oriented Software Engineering. Agent-Oriented Methodologies. The GAIA Methodology. The Prometheus Methodology
    4. Disseny social: coordinació y models socials
      Coordination in MAS. Coordination Structures. Social Models for Coordination. Trust and Reputation Models. Organizational Models. Institutional Models.
    5. Aplicacions del disseny orientat a agents
      Agent-Oriented Design for 1) Electronic Negotiation Support, 2) Flexible Dynamic Web services, 3) Multi-robotic environments. Case studies for the practical assignments.

    Activitats

    Activitat Acte avaluatiu


    Introducció a la Orientació a Agents

    L'alumne coneixerà els orígens i les bases de la Orientació a Agents així com algunes de les arees d'aplicació. Per reforçar l'aprenentatge l'alumne haurà de llegir el capítol 1 del llibre de Russel i Norvig (disponible on-line) i el llibre "Agent Technology: Computing as interaction. A Roadmap to Agent Based Computing" (també disponible on-line).
    Objectius: 1 3
    Continguts:
    Teoria
    3h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    5h

    Raonament en agents

    L'alumne no només haurà d'atendre a les exposicions del professor, sino també participar a les discussions amb el professor i els seus companys sobre quan i com utilitzar cadascun dels tipus de raonament. Al primer treball del curs haurá d'identificar les característiques del típus de raonament que suporta l'entorn/llenguatge de programació d'agents escollit. Els alumnes presentaran a l'aula les conclussions del seu treball d'anàlisi davant els companys a l'entrega del primer treball.
    Objectius: 3 5
    Continguts:
    Teoria
    6h
    Problemes
    0.8h
    Laboratori
    0h
    Aprenentatge dirigit
    0.5h
    Aprenentatge autònom
    10h

    Metodologíes Orientades a Agents

    Students not only should attend the teacher lectures, but also participate in discussions with the teacher and other students on how to model distributed systems using the proposed methodologies. During the second assignment students should apply one of the methodologies to a real-like scenario to make an agent oriented design. During the presentation of the second assignment students will describe at the classroom their proposed design to the rest of the class.
    Objectius: 5 4
    Continguts:
    Teoria
    5h
    Problemes
    2h
    Laboratori
    0h
    Aprenentatge dirigit
    0.5h
    Aprenentatge autònom
    10h

    Presentació del primer treball del curs: Anàlisi d'un Entorn/Llenguatge orientat a agents

    This work will have two parts * A 30-45 min presentation (if possible with slides) in which students present their analysis on the agent-oriented framework they have chosen. The presentation should be understandable and didactic, and students should answer the questions made by others about their analysis. * a short written document which summarizes the important parts of the analysis made.
    Objectius: 1 3
    Setmana: 4
    Teoria
    0h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    0h

    Coordinació i models socials

    Students not only should attend the teacher lectures, but also participate in discussions with the teacher and other students on the different social structures and abstractions presented and how to model more flexible distributed systems. During the second assignment students should apply one or some of the social structures to their design. During the presentation of the second assignment students will describe at the classroom the social abstrations they included into thier design to the rest of the class.
    Objectius: 5 4 6
    Continguts:
    Teoria
    6h
    Problemes
    1h
    Laboratori
    0h
    Aprenentatge dirigit
    0.5h
    Aprenentatge autònom
    8h

    Aplicacions del disseny orientat a agents

    Students not only should attend the teacher lectures, but also participate in discussions with the teacher and other students on the discussion bout the different application examples. Furthermore, during the second assignment students should propose a real-like scenario where agent-oriented solutions are appropriate and apply the abstractions, mechanisms and social structures seen in the course. During the presentation of the second assignment students will describe at the classroom the chosen real-like scenario and motivate the suitability of an agent-oriented solution for it.
    Objectius: 2 5 4 6 7
    Continguts:
    Teoria
    4h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0.7h
    Aprenentatge autònom
    5h

    Presentación del segón treball del curs: Disseny d'un sistema orientat a agents

    This work has three parts: * A 30-45 min presentation (if possible with slides) in which students explain the results of the programming exercise in a concise and dydactic way. At the end of the presentations the students should also properly answer the questions made by others about their work. * A demo of the prototype that has been built. * A written document which properly describes A) Description of the problem to solve; B) Design of a multiagent system using an Agent-oriented methodology seen during the course; C) Description of the prototype finally built; D) Analysis of the chosen agent language/platform
    Objectius: 2 5 4 6 7
    Setmana: 13
    Teoria
    0h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    0h

    Exàmen Final

    Examen final sobre tots els continguts del curs.
    Objectius: 1 3 5 4
    Setmana: 15
    Teoria
    0h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    0h

    Metodologia docent

    Les clases estan dividides en sessions de teoria i problemes.

    A les sessions de teoria es desenvoluparan els coneixements de l'assignatura, intercalant l'exposició de nou material teòric amb exemples i la interacció amb els alumnes per tal de discutir els conceptes.

    Les classes de problemes permetran aprofondir en els conceptes, les técniques i metodologíes explicats a les sessions de teoria. S'estimularà la participació de l'alumne per tal de comentar les alternatives possibles.

    Apart de les clases de teoria es desenvoluparan petites pràctiques utilitzant eines i llenguatges propis de la Enginyeria del Software Orientada a Agents que permetran practicar i reforçar els coneixements de les classes de teoria. Els alumnes presentarán els resultats del seu treball als seus companys en sessións dedicades a l'aula.

    Mètode d'avaluació

    L'avaluació constarà d'un exàmen final i les notes dels treballs pràctics realitzats.

    El càlcul de la nota final es farà de la següent manera:

    NPT = nota del primer treball
    NST = nota del segon treball
    NF = nota de l'examen final

    NOTA = NPT*0.3 + NST*0.5 + NF*0.2

    Les competències del curs es valoraràn com a part de les notes de les activitats avaluatives.

    Bibliografia

    Bàsic

    Complementari

    Capacitats prèvies

    Capacitats prèvies sobre Lògica:
    - Coneixement dels conceptes bàsics de lògica de proposicions i predicats
    - Capacitat de formular un problema en termes lògics.
    - Coneixements sobre Inferència lògica i resolució. Entendre les estratègies de resolució.

    Capacitats prèvies sobre Programació i Algorísmica:
    - Coneixement de les estructures d'arbres i grafs,
    - Coneixement dels algorismes de recorregut i cerca sobre arbres i grafs.
    - Nocions bàsiques de complexitat algorísmica.

    Capacitats prèvies sobre programació d'agents assolits a l'assignatura previa "Introduction to Multi-Agent Systems"* :
    - Coneixement dels conceptes bàsics: agent, sistema multiagent, entorn, percepció, actuació.
    - Coneixement d'alguns mètodes basic de coordinació d'agents.
    - Coneixement de les formes de comunicació d'agents.
    - Nocions bàsiques sobre la programació de sistemes multiagents composats per agents reactius

    *Els alumnes que no hagin cursat l'assignatura prèvia "Introduction to Multi-Agent Systems" rebràn un material específic a l'inici del curs per poder assolir el nivell bàsic necessari per un seguiment adequeat del mateix.