Vés al contingut

Enginyeria del Coneixement i Sistemes Distribuïts Intel·ligents

Crèdits
6
Tipus
Complementària d'especialitat (Enginyeria del Software)
Requisits
Departament
CS
Web
https://sites.google.com/upc.edu/ecsdi
L'objectiu d'aquesta assignatura és donar a l'alumne els coneixements bàsics sobre les últimes tendències en l'ús de tècniques d'Intel•ligència Artificial en sistemes distribuïts de forma que pugui entendre-les i emprar-les en la seva pràctica professional. Es preveu que el contingut de l'assignatura es vagui actualitzant contínuament per incorporar les noves tendències que vaguin sorgint.

En aquest curs es presentaran metodologies, tècniques i tecnologies de la Intel•ligència Artificial que s'estan aplicant ja en la enginyeria de sistemes distribuïts per fer-los més flexibles, adaptables i reconfigurables. Es veurà, d'una banda, un nou paradigma de metodologies de disseny del software basat en agents, a on l'anàlisi i disseny de sistemes distribuïts utilitza conceptes de les societats i organitzacions humanes (actor, rol, responsabilitat, delegació de tasques) per a modelar flexiblement les possibles interaccions dins el sistema i les formes de recuperar-se de fallades. D'altra banda veurem com s'estan aplicant tecnologies intel•ligents (raonadors lògics, planificadors automàtics, mecanismes de negociació i argumentació) per a estendre les tecnologies de serveis web semàntics cap al seu potencial màxim, i per a per fer-los més flexibles i adaptatius.

Professorat

Responsable

Hores setmanals

Teoria
2
Problemes
1
Laboratori
1
Aprenentatge dirigit
0
Aprenentatge autònom
6

Competències

Competències tècniques comunes

  • CT4 - Demostrar coneixement i capacitat d'aplicació dels procediments algorísmics bàsics de les tecnologies informàtiques per a dissenyar solucions a problemes, analitzant la idoneïtat i la complexitat dels algorismes
    • CT4.3 - Demostrar coneixement i capacitat d'aplicació dels principis fonamentals i de les tècniques bàsiques dels sistemes intel·ligents i de la seva aplicació pràctica.
  • Especialitat enginyeria del software

  • CES1 - Desenvolupar, mantenir i avaluar serveis i sistemes software que satisfacin tots els requisits de l'usuari, que es comportin de forma fiable i eficient, que tinguin un desenvolupament i un manteniment assequible i que compleixin normes de qualitat aplicant les teories, els principis, els mètodes i les pràctiques d'Enginyeria del Software.
    • CES1.4 - Desenvolupar, mantenir i avaluar serveis i aplicacions distribuïdes amb suport de xarxa.
  • Raonament

  • G9 [Avaluable] - Capacitat de raonament crític, lògic i matemàtic. Capacitat de resoldre problemes en la seva àrea d'estudi. Capacitat d'abstracció: capacitat de crear i utilitzar models que reflecteixin situacions reals. Capacitat de dissenyar i realitzar experiments senzills, i analitzar-ne i interpretar-ne els resultats. Capacitat d'anàlisi, de síntesi i d'avaluació.
    • G9.3 - Capacitat crítica, capacitat d'avaluació.
  • Objectius

    1. Conèixer els orígens i les bases de la computació distribuïda a Internet
      Competències relacionades: CT4.3,
    2. Entendre els conceptes bàsics: “Computació per Interacció”, Orientació a Serveis, Cloud Computing, Future Internet
      Competències relacionades: CT4.3,
    3. Conèixer possibles aplicacions de la Intel•ligència Artificial per als sistemes distribuïts a Internet
      Competències relacionades: CT4.3,
    4. Entendre els conceptes bàsics d'Orientació a Serveis
      Competències relacionades: CT4.3,
    5. Entendre els conceptes bàsics d'Orientació a Agents
      Competències relacionades: CT4.3,
    6. Analitzar un problema de naturalesa distribuïda i identificar-ne els diferents actors i les seves funcionalitats
      Competències relacionades: G9.3, CES1.4,
    7. Dissenyar sistemes distribuits aplicant una metodologia orientada a agents
      Competències relacionades: CES1.4, CT4.3,
    8. Analitzar un disseny orientat a agents i identificar els punts a millorar
      Competències relacionades: G9.3, CES1.4,
    9. Entendre els conceptes bàsics sobre representació del context.
      Competències relacionades: CT4.3,
    10. Analitzar un problema de naturalesa distribuïda i identificar-ne la informació de context que és necessària.
      Competències relacionades: G9.3, CES1.4,
    11. 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: G9.3, CES1.4,
    12. Dissenyar ontologies sobre un context aplicant adequadament una metodologia
      Competències relacionades: CES1.4, CT4.3,
    13. Entendre els conceptes relacionats amb la composició dinàmica de serveis
      Competències relacionades: CT4.3,
    14. Descriure serveis web de forma que puguin ser incorporats en un procés de composició dinàmica
      Competències relacionades: CES1.4, CT4.3,
    15. Extreure i representar les accions necessàries per a resoldre la composició dinàmica mitjançant un planificador
      Competències relacionades: CES1.4, CT4.3,
    16. Entendre el concepte d'aprenentatge i conèixer alguns dels seus tipus.
      Competències relacionades: CT4.3,
    17. Entendre la relació entre adaptació i aprenentatge.
      Competències relacionades: CT4.3,
    18. Entendre com es pot aplicar l'aprenentatge automàtic a la adaptació a l'usuari.
      Competències relacionades: CT4.3,
    19. Entendre com es pot aplicar l'aprenentatge automàtic a la adaptació a fallades.
      Competències relacionades: CT4.3,

    Continguts

    1. Introducció
      Evolució de la Computació Distribuïda: dels RPCs a SOA. Concepte de 'Computation as interaction'. Noves tendències: Cloud Computing i Future Internet. El paper de la IA a SOA i la Future Internet.
    2. Disseny d'aplicacions distribuïdes orientades a agents
      Introducció a la Orientació a Serveis i l'estàndard W3C. Limitacions del model. Introducció a la Orientació a Agents i l'estàndard IEEE-FIPA. Conceptes bàsics: Agent i Sistema Multiagent. Metodologíes de disseny orientat a agents. Avantatges.
    3. Modelant el context en sistemes distribuïts
      Modelant el contexte a SOA: llenguatges de descripció de serveis, orquestració i coreografíes. Representació del contexte: domini, model de domini, coneixement, representacio del coneixement. Enginyeria del coneixement aplicada al desenvolupament de sistemes distribuïts a la Web. Representacions basades en Ontologíes. Web Semàntica i Linked Data com a model de representació.
    4. Composició dinàmica de serveis
      Descripció semàntica de serveis, Service Discovery i Service Matchmakers. Problemes dels models estàtics d'orquestració i coreografía. Diferents aproximacions a la Composició dinàmica: goal driven, state driven, utility driven. Planificació aplicada a la composició dinámica de serveis.
    5. Adaptació a l'usuari. Perfilat d'usuaris
      Adaptació implica aprenentatge. Conceptes bàsics de perfilat: perfil individual i perfil social. Aprenentatge inductiu, Sistemes Recomanadors i aprenentatge per reforç.
    6. Altres aplicacions d'IA a sistemes distribuits
      Governança mitjançant models socials: reputació, normes. Models d'estructures socials: equips, aliances, coalicions, organitzacions. Exemples.

    Activitats

    Activitat Acte avaluatiu


    Introducció a la computació distribuïda

    L'alumne coneixerà els orígens i les bases de la Computació Distribuïda i les noves tendències de futur. Per reforçar l'aprenentatge l'alumne haurà de llegir un article de la Comissió Europea sobre "Future Internet", disponible a la xarxa.
    Objectius: 1 2 3 4
    Continguts:
    Teoria
    2h
    Problemes
    1h
    Laboratori
    1h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    2h

    Disseny d'aplicacions distribuïdes orientades a agents

    L'alumne no només haurà d'atendre a les exposicions del professor, sino també fer exercicis pràctics sobre modelatge orientat a agents, i participar a les discussions amb el professor i els seus companys sobre quina és la forma millor de modelar problemes distribuits. Al laboratori l'alumne haurà d'aplicar el que ha aprés a un problema de dificultat mitjana.
    Objectius: 4 5 6 7 8
    Continguts:
    Teoria
    6h
    Problemes
    4h
    Laboratori
    4h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    17h

    Entrega de la pràctica de modelat orientat a agents

    Entrega de l'informe sobre la pràctica de modelat orientat a agents que els alumnes han realitzat a les sessions de laboratori.
    Objectius: 5 6 7 8
    Setmana: 6 (Fora d'horari lectiu)
    Teoria
    0h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    0h

    Modelant el context en sistemes distribuïts

    L'alumne no només haurà d'atendre a les exposicions del professor, sino també fer exercicis pràctics sobre modelatge del contexte, i participar a les discussions amb el professor i els seus companys sobre quina és la forma millor de modelar diferents aspectes del context d'un sistema distribuit. Al laboratori l'alumne haurà d'aplicar el que ha aprés a un problema de dificultat mitjana.
    Objectius: 9 10 11 12
    Teoria
    7h
    Problemes
    4h
    Laboratori
    3h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    21h

    Entrega de la práctica sobre modelatge d'ontologíes

    Entrega de l'informe de la pràctica sobre modelatge d'ontologíes que els alumnes han desenvolupat al laboratori.
    Objectius: 9 10 11 12
    Setmana: 8 (Fora d'horari lectiu)
    Teoria
    0h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    0h

    Parcial d'ECSDI

    Parcial sobre modelatge orientat a agents i representació del contexte
    Objectius: 5 6 7 8 9 10 11 12
    Setmana: 9
    Teoria
    0h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    0h

    Composició dinàmica de serveis

    L'alumne no només haurà d'atendre a les exposicions del professor, sinó també fer exercicis pràctics sobre descripció i composició de serveis, i participar a les discussions amb el professor i els seus companys sobre els problemes de la composició de serveis. Al laboratori l'alumne haurà d'aplicar el que ha aprés a un problema de dificultat mitjana.
    Objectius: 13 14 15
    Continguts:
    Teoria
    6h
    Problemes
    4h
    Laboratori
    7h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    27h

    Adaptació a l'usuari. Perfilat d'usuaris

    L'alumne no només haurà d'atendre a les exposicions del professor, sinó també fer exercicis pràctics sobre l'ús dels algorismes bàsics d'Aprenentatge Automàtic per l'aprenentatge de perfils, i participar a les discussions amb el professor i els seus companys sobre com utilitzar aquests algorismes.
    Objectius: 16 17 18 19
    Continguts:
    Teoria
    2h
    Problemes
    2h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    4h

    Altres aplicacions d'IA a sistemes distribuits

    L'alumne no només haurà d'atendre a les exposicions del professor, sinó també participar a les discussions amb el professor i els seus companys sobre l'impacte potencial que poden tenir les tècniques d'Intel·ligència Artificial sobre el futur d'Internet.
    Objectius: 3
    Continguts:
    Teoria
    3h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    2h

    Entrega de la pràctica sobre composició de serveis

    Entrega de l'informe de la pràctica sobre composició de serveis que els alumnes han desenvolupat al laboratori.
    Objectius: 13 14 15
    Setmana: 14 (Fora d'horari lectiu)
    Teoria
    0h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    0h

    Examen final d'ECSDI

    Examen final de tots els continguts del curs.
    Objectius: 6 7 8 10 11 12 14 15 18 19
    Setmana: 15 (Fora d'horari lectiu)
    Teoria
    0h
    Problemes
    0h
    Laboratori
    0h
    Aprenentatge dirigit
    0h
    Aprenentatge autònom
    0h

    Metodologia docent

    Les clases estan dividides en sessions de teoria, problemes i laboratori.

    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.

    A les clases de laboratori es desenvoluparan petites pràctiques utilitzant eines i llenguatges propis de la Intel·ligència Artificial que permetran practicar i reforçar els coneixements de les classes de teoria.

    Mètode d'avaluació

    L'avaluació constarà d'un examen parcial, un exàmen final i una nota de laboratori.

    L'examen parcial no és alliberatori i es farà a hores de clase.

    La nota de laboratori provindrà dels informes que es faran de les pràctiques realitzades.

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

    NP = nota del parcial
    NF = nota de l'examen final
    NL = nota de laboratori

    NOTA = max ((NP*0.25 + NF*0.25), (NP*0.15 + NF*0.35)) + NL*0.45 + Nota Competència

    Avaluació de les competències

    L'avaluació de la competència sobre raonament es basa en el treball realitzat durant les pràctiques de laboratori. La nota ABCD i la nota de curs es calcula a partir d'una rúbrica detallada que es donarà als alumnes a l'inici de curs.

    Bibliografia

    Bàsic

    Complementari

    Web links

    Capacitats prèvies

    Capacitats prèvies sobre arquitectures de serveis i disseny de serveis adquirides a l'assignatura Arquitectura del software (AS):
    - Coneixement de les arquitectures de serveis.
    - Coneixement dels principis del disseny de serveis.
    - Coneixement dels patrons de disseny de serveis.

    Capacitats prèvies sobre Lògica adquirides a l'assignatura Fonaments Matemàtics (FM):
    - 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ó.