Credits
4
Types
Elective
Requirements
This subject has not requirements
, but it has got previous capacities
Department
CS
Web
http://www.cs.upc.edu/~jvazquez/teaching/masd/index.php
The first half of the course introduces a new design paradigm, Agent-Oriented Software Engineering (AOSE), where the analysis and design of distributed systems uses concepts from human societies and organizations (actor, role, responsibility, delegation of tasks) to model, in a flexible way, the interactions within the distributed components in system and ways to recover from failures.
The second half of the course will present several social mechanisms (Trust&Reputation, Organisational Structures, Organizational Theory, Normative Systems), inspired in human and animal societies, which can be implemented in a computational way to handle the equilibrium between individual component flexibility and overal system control.
Teachers
Person in charge
- Javier Vazquez Salceda ( jvazquez@cs.upc.edu )
Weekly hours
Theory
3
Problems
0
Laboratory
0
Guided learning
0
Autonomous learning
5.33
Competences
Generic
Professional
Teamwork
Information literacy
Analisis y sintesis
Basic
Objectives
-
Understand the origins and foundations of distributed computing on the Internet
Related competences: CG3, CEP3, -
Knowing the possible applications of artificial intelligence for distributed systems on the Internet
Related competences: CG3, CEP3, CB6, CB9, -
Understanding the basics of Agent Orientation
Related competences: CT4, CT7, CB6, -
To analyze a problem distributed in nature to identify the different actors and their functionalities
Related competences: CG3, CT4, CT7, CB6, -
Designing distributed systems using an agent-oriented methodology
Related competences: CG3, CEP3, CT3, CT7, CB6, CB8, -
Extract and represent knowledge about the context necessary to build a distributed application on the Internet that is flexible and robust.
Related competences: CG3, CEP7, CT3, CT4, CT7, CB6, -
Designing context ontologies by applying a methodology properly
Related competences: CG3, CT3, CT4, CT7, CB6, CB8,
Contents
-
Introduction to Agent Orientation
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. -
Agent Design: Reasoning in 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 -
Agent-Oriented Methodologies
Current trends in Software engineering. Agent-Oriented Software Engineering. Agent-Oriented Methodologies. The GAIA Methodology. The Prometheus Methodology -
Social Design: Coordination and Social Models
Coordination in MAS. Coordination Structures. Social Models for Coordination. Trust and Reputation Models. Organizational Models. Institutional Models. -
Applications of Agent-Oriented Design.
Agent-Oriented Design for 1) Electronic Negotiation Support, 2) Flexible Dynamic Web services, 3) Multi-robotic environments. Case studies for the practical assignments.
Activities
Activity Evaluation act
Introduction to Agent Orientation
Students will learn the origins and foundations of Agent Orientation and some of the application areas. To reinforce learning, the student must read chapter 1 of the book of Russell & Norvig (available online) and the book "Agent Technology: Computing as interaction. A Roadmap to Agent Based Computing" (also available online).- Autonomous learning: Students are giving some papers covering and extending the main topics discussed in this part of the course. This allows the student to better understand the concepts and get a deeper understanding in those ones that are of his/her interest.
Contents:
Theory
3h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
5h
Reasoning in Agents
Students not only should attend the teacher lectures, but also participate in discussions with the teacher and other students on when is best to use each of the algorithms. During the first assignment students should identify the kind of reasoning supported by the chosen agent programming framework. During the presentation of the first assignment students will present at the classroom the results on this analysis to the rest of the class.- Autonomous learning: Students are giving some papers covering and extending the main topics discussed in this part of the course. This allows the student to better understand the concepts and get a deeper understanding in those ones that are of his/her interest.
Contents:
Theory
6h
Problems
0.8h
Laboratory
0h
Guided learning
0.5h
Autonomous learning
10h
Agent-oriented Methodologies
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.- Problems: Discussion of how the proposed methodologies can be applied to a real scenario
- Autonomous learning: Students are giving some papers covering methodological design. They should apply all this to the design of a mutiagent system. This design is documented in the second practical design.
Contents:
Theory
5h
Problems
2h
Laboratory
0h
Guided learning
0.5h
Autonomous learning
10h
First Practical Assignment presentation: Analysis on an agent-oriented framework/language
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.Objectives: 1 3
Week: 4
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
0h
Coordination and Social Models
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.- Autonomous learning: Students are giving some papers covering and extending the main topics discussed in this part of the course. This allows the student to better understand the concepts and get a deeper understanding in those ones that are of his/her interest.
Contents:
Theory
6h
Problems
1h
Laboratory
0h
Guided learning
0.5h
Autonomous learning
8h
Applications of Agent-Oriented Design
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.- Autonomous learning: Students are giving some papers covering and extending the main topics discussed in this part of the course. This allows the student to better understand the concepts and get a deeper understanding in those ones that are of his/her interest.
Contents:
Theory
4h
Problems
0h
Laboratory
0h
Guided learning
0.7h
Autonomous learning
5h
Second Practical Assignment presentation: Design of an Agent-Oriented System
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/platformObjectives: 2 5 4 6 7
Week: 13
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
0h
Teaching methodology
The classroom sessions are divided into theory and problem sessions.Theory sessions introduce the knowledge of the course concepts, switching between the exhibition of new material with examples and discussion with students on concepts and examples.
Problem sessions deepen the knowledge on techniques and methodologies, explained in the Theory sessions. The participation of students will be stimulated to discuss possible alternatives.
Apart of the classroom sessions, students will work in groups on small practical assignments by using Agent-Oriented Software Engineering tools and languages ​in order to practice and enhance the students' knowledge on the concepts, techniques and methodologies presented in the course. Students will present the results of their practical assignments to their peers in dedicated classroom sessions.
Evaluation methodology
The student assessment will consist of a final exam mark and the practical assignments' reports and presentations.The calculation of the final mark will be as follows:
FPA = first practical assignment
SPA = second practical assignment
FM = final exam mark
MARK = FPA*0.3 + SPA*0.5 + FM*0.2
The competences assigned to this course will be avaluated through the practical assignments and the final exam.
Bibliography
Basic
-
An introduction to multiagent systems
- Wooldridge, M,
John Wiley & Sons,
2009.
ISBN: 9780470519462
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003779579706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Artificial intelligence: a modern approach
- Russell, S.J.; Norvig, P,
Pearson,
2022.
ISBN: 9781292401133
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991005066379806711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Moral origins: the evolution of virtue, altruism, and shame
- Boehm, C,
Basic Books,
2012.
ISBN: 9780465020485
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004000919706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Agent technology: computing as interaction: a roadmap for agent based computing
- Luck, M.; McBurney, P.; Shehory, O.; Willmott, S,
University of Southampton,
2005.
ISBN: 0854328459
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004000109706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Multiagent systems
- Weiss, G. (ed.),
The MIT Press,
2013.
ISBN: 9780262018890
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004001869706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Multiagent systems : algorithmic, game-theoretic, and logical foundations
- Shoham, Yoav; Leyton-Brown, Kevin,
Cambridge University Press,
2009.
ISBN: 9780521899437
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003722939706711&context=L&vid=34CSUC_UPC:VU1 -
Developing intelligent agent systems : a practical guide
- Padgham, Lin; Winikoff, Michael,
John Wiley & Sons,
cop. 2004.
ISBN: 0470861207
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003068249706711&context=L&vid=34CSUC_UPC:VU1
Complementary
-
Rules of encounter: designing conventions for automated negotiation among computers
- Rosenschein, J.S.; Zlotkin, G,
The MIT Press,
1994.
ISBN: 0262181592
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991001432519706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Previous capacities
Prior skills on Logics:- Knowledge of the basic concepts: logical propositions and predicates
- Ability to formulate a problem in logical terms.
- Knowledge of logical inference and decision. Understanding resolution strategies.
Prior skills on Algorithmics and Programming:
- Knowledge on tree and graph structures,
- Knowledge pn tree and graph search algorithms.
- Basic notions in algorithmic complexity.
Prior Skills on Agent Programming adquired in the previous course "Introduction to Multi-Agent Systems"*:
- Knowledge of the basic concepts: agent, multiagent system, environment, perception, actuation.
- Knowledge of the basic coordination mechanisms.
- Knowledge of the agent communication mechanisms
- Basic notions on programming multiagent suystems composed by reactive agents.
*Those students which have not passed the previous course ("Introduction to Multi-Agent Systems") will receive some extra material in order to get the basic level needed for the proper understanding of this course.