Skip to main content

Multiagent System Design

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

Weekly hours

Theory
3
Problems
0
Laboratory
0
Guided learning
0
Autonomous learning
5.33

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.
  • 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.
  • 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).
    • 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.
    Objectives: 1 3
    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.
    Objectives: 3 5
    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.
    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
    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.
    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.
    • 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.
    Objectives: 2 5 4 6 7
    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/platform
    Objectives: 2 5 4 6 7
    Week: 13
    Theory
    0h
    Problems
    0h
    Laboratory
    0h
    Guided learning
    0h
    Autonomous learning
    0h

    Final Exam

    Final exam covering all the course contents
    Objectives: 1 3 5 4
    Week: 15
    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

    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.