Multiagent System Design

You are here

Credits
4
Types
Elective
Requirements
This subject has not requirements, but it has got previous capacities
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.

Information literacy

  • 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: CG3, CT4, CT7, CB6,
  5. Designing distributed systems using an agent-oriented methodology
    Related competences: CG3, CEP3, CT3, CT7, 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: CG3, CEP7, CT3, CT4, CT7, CB6,
  7. Designing context ontologies by applying a methodology properly
    Related competences: CG3, CT3, CT4, CT7, 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

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

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

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

Second Practical Assignment presentation: Design of an Agent-Oriented System

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
Objectives: 2 5 4 6 7
Week: 13
Type: assigment
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
2h
Autonomous learning
0h

Final Exam

Final exam covering all the course contents
Objectives: 1 3 5 4
Week: 15 (Outside class hours)
Type: final exam
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
6h

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:

Complementary:

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.