Multi-Agent Systems Design

You are here

Credits
4
Types
Elective
Requirements
This subject has not requirements

Department
CS
The main objective of this course is to provide students with methodological guidelines to the analysis, design and implementation of distributed software systems. The course presents several Artificial Intelligence methods, techniques and technologies which are applied already in the engineering of distributed systems in order to make them more flexible, adaptable and reconfigurable.

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 ( )

Weekly hours

Theory
2
Problems
0.4
Laboratory
0
Guided learning
0.6
Autonomous learning
4.33

Competences

Generic Technical Competences

Generic

  • CG3 - Capacity for modeling, calculation, simulation, development and implementation in technology and company engineering centers, particularly in research, development and innovation in all areas related to Artificial Intelligence.

Technical Competences of each Specialization

Professional

  • CEP3 - Capacity for applying Artificial Intelligence techniques in technological and industrial environments to improve quality and productivity.
  • CEP7 - Capability to respect the legal rules and deontology in professional practice.

Transversal Competences

Teamwork

  • CT3 - Ability to work as a member of an interdisciplinary team, as a normal member or performing direction tasks, in order to develop projects with pragmatism and sense of responsibility, making commitments taking into account the available resources.

Solvent use of the information resources

  • CT4 - Capacity for managing the acquisition, the structuring, analysis and visualization of data and information in the field of specialisation, and for critically assessing the results of this management.

Analisis y sintesis

  • CT7 - Capability to analyze and solve complex technical problems.

Basic

  • CB6 - Ability to apply the acquired knowledge and capacity for solving problems in new or unknown environments within broader (or multidisciplinary) contexts related to their area of study.
  • CB8 - Capability to communicate their conclusions, and the knowledge and rationale underpinning these, to both skilled and unskilled public in a clear and unambiguous way.
  • CB9 - Possession of the learning skills that enable the students to continue studying in a way that will be mainly self-directed or autonomous.

Objectives

  1. Understand the origins and foundations of distributed computing on the Internet
    Related competences: CG3, CEP3,
  2. Knowing the possible applications of artificial intelligence for distributed systems on the Internet
    Related competences: CG3, CEP3, CB6, CB9,
  3. Understanding the basics of Agent Orientation
    Related competences: CT4, CT7, CB6,
  4. To analyze a problem distributed in nature to identify the different actors and their functionalities
    Related competences: CT4, CT7, CG3, CB6,
  5. Designing distributed systems using an agent-oriented methodology
    Related competences: CT3, CT7, CG3, CEP3, CB6, CB8,
  6. Extract and represent knowledge about the context necessary to build a distributed application on the Internet that is flexible and robust.
    Related competences: CT3, CT4, CT7, CG3, CEP7, CB6,
  7. Designing context ontologies by applying a methodology properly
    Related competences: CT3, CT4, CT7, CG3, CB6, CB8,

Contents

  1. 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.
  2. 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
  3. Agent-Oriented Methodologies
    Current trends in Software engineering. Agent-Oriented Software Engineering. Agent-Oriented Methodologies. The GAIA Methodology. The Prometheus Methodology
  4. Social Design: Coordination and Social Models
    Coordination in MAS. Coordination Structures. Social Models for Coordination. Trust and Reputation Models. Organizational Models. Institutional Models.
  5. 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

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).
Theory
3
Problems
0
Laboratory
0
Guided learning
0
Autonomous learning
7
Objectives: 1 3
Contents:

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.
Theory
6
Problems
0.8
Laboratory
0
Guided learning
0.5
Autonomous learning
14
Objectives: 3 5
Contents:

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.
Theory
5
Problems
2
Laboratory
0
Guided learning
0.5
Autonomous learning
10
Objectives: 5 4
Contents:

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.
Theory
6
Problems
1
Laboratory
0
Guided learning
0.5
Autonomous learning
8
Objectives: 5 4 6
Contents:

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.
Theory
4
Problems
1
Laboratory
0
Guided learning
0.7
Autonomous learning
7
Objectives: 2 5 4 6 7
Contents:

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.

Bibliografy

Basic:

  • Multiagent Systems - Weiss, G, MIT Press , 2013. ISBN: 9780262018890
    http://mitpress.mit.edu/books/multiagent-systems-1
  • An introduction to multiagent systems - Wooldridge, Michael J, John Wiley & Sons , 2009. ISBN: 978-0470519462
    http://cataleg.upc.edu/record=b1375318~S1*cat
  • Artificial Intelligence : a modern approach - Russell, S J, Norvig, P, Davis, E, Prentice Hall , 2009. ISBN: 978-0-13-604259-4
    http://cataleg.upc.edu/record=b1371770~S1*cat
  • Moral Origins: The Evolution of Virtue, Altruism, and Shame - Boehm, C, Basic Books , 2012. ISBN: 046502919
  • Agent Technology: Computing as interaction. A Roadmap to Agent Based Computing - Luck, M., McBurney, P., Shehory, O., Willmott, S., , 2005. ISBN: 085432 845 9

Complementary:

  • Rules of Encounter. Designing Conventions for Automated Negotiation among Computers - Rosenschein, J., Zlotkin, G., MIT Press , 1994. ISBN: 0-262-18159-2

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.