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
Javier Vazquez Salceda (
)
Hores setmanals
Teoria
2
Problemes
0.4
Laboratori
0
Aprenentatge dirigit
0.6
Aprenentatge autònom
4.33
Competències
Competències Tècniques Generals
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.
Competències Tècniques de cada especialitat
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.
Competències Transversals
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
Conèixer els orígens i les bases de la computació distribuïda a Internet
Competències relacionades:
CG3,
CEP3,
Conèixer possibles aplicacions de la Intelligència Artificial per als sistemes distribuïts a Internet
Competències relacionades:
CG3,
CEP3,
CB6,
CB9,
Entendre els conceptes bàsics d'Orientació a Agents
Competències relacionades:
CT4,
CT7,
CB6,
Analitzar un problema de naturalesa distribuïda i identificar-ne els diferents actors i les seves funcionalitats
Competències relacionades:
CG3,
CT4,
CT7,
CB6,
Dissenyar sistemes distribuits aplicant una metodologia orientada a agents
Competències relacionades:
CG3,
CEP3,
CT3,
CT7,
CB6,
CB8,
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,
Dissenyar ontologies sobre un context aplicant adequadament una metodologia
Competències relacionades:
CG3,
CT3,
CT4,
CT7,
CB6,
CB8,
Continguts
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.
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
Metodologies Orientades a Agents
Current trends in Software engineering. Agent-Oriented Software Engineering. Agent-Oriented Methodologies. The GAIA Methodology. The Prometheus Methodology
Disseny social: coordinació y models socials
Coordination in MAS. Coordination Structures. Social Models for Coordination. Trust and Reputation Models. Organizational Models. Institutional Models.
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
ActivitatActe 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:13 Continguts:
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:35 Continguts:
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:54 Continguts:
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:13 Setmana:
4
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
1h
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:546 Continguts:
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:25467 Continguts:
Presentación del segón treball del curs: Disseny d'un sistema orientat a agents
This work has two 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:25467 Setmana:
13
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
2h
Aprenentatge autònom
0h
Exàmen Final
Examen final sobre tots els continguts del curs. Objectius:1354 Setmana:
15 (Fora d'horari lectiu)
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
6h
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.
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.