Gaia Methodology for Agent-Based Systems: Analysis and Design, Slides of Multiagent Systems

The gaia methodology is a software engineering approach specifically designed for the analysis and design of agent-based systems. It allows the systematic development of agent systems from requirements to implementation, using a process based on developing increasingly detailed models. Gaia is loosely based on object-oriented technologies and handles coarse-grain agent systems with static organizational structures and relatively small numbers of agents.

Typology: Slides

2012/2013

Uploaded on 04/30/2013

aradhana
aradhana 🇮🇳

4.6

(8)

119 documents

1 / 17

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Agent Oriented Programming
Docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Partial preview of the text

Download Gaia Methodology for Agent-Based Systems: Analysis and Design and more Slides Multiagent Systems in PDF only on Docsity!

Agent Oriented Programming

Docsity.com

Software development methodologies

  • Progress in software engineering has been made through new, powerful abstractions - Procedural abstraction - Abstract data types - Objects - Components
  • If agents are to realize their potential as a software engineering paradigm, it is necessary to develop techniques specifically tailored to them.
  • Current approaches (e.g. rational unified process) fails to capture the - Agents flexible, autonomous behaviour - The richness of interactions - Complexity of the agents organizational structures - Mobility and mutation

Docsity.com

Agent methodologies

  • Numerous methodologies were proposed, which can be categorized as follows:
  • Techniques using OO modelling techniques as their basis (GAIA, Agent UML, the BDI technique proposed by Kinny et. al.)
  • Methodologies based on techniques form knowledge engineering, providing formal, compositional modelling languages suitable for verification of system structure and function.
  • Methodologies taking existing formal languages such as Z, and specify agents systems in this framework.
  • Methodologies developed specifically for agent systems. E.g. Cassiopeia based on the Contract Net model.

Docsity.com

GAIA

Docsity.com

Models of the Gaia methodology

Docsity.com

What kind of agents are handled

  • Coarse-grain agent systems. E.g. each agent ~= Unix process.
  • The goal is to obtain a system that maximizes some quality measure, but which might be sub-optimal for individual agents. Gaia is not intended for systems that admit the possibility of true conflict.
  • Agents can be heterogeneous.
  • The organization structure of the system is static, inter- agent relationships do not change over time.
  • The abilities of the agents and their services do not change over time.
  • The system contains a relatively small number of agents <

Docsity.com

Concepts:

  • System: e.g. society of agents
  • Roles
    • E.g. president, mailman, secretary
    • In an actual instantiation, these will be instantiated by actual persons / agents.
    • An agent can fulfill multiple roles, the same role can be taken on by multiple agents.
  • A role is defined by four attributes:
    • Responsibilities: liveness properties + safety properties Docsity.com

The roles model

  • Identifies the key roles of the system.
  • Here a role can be viewed as a more or less abstract description of an entity’s expected functionality.
  • Two things to specify:
  • The permissions/rights associated with the role - A role will have associated with it certain permissions, related to the type and amount of resources that can be exploited when carrying onDocsity.com

Protocol definition

  • A protocol definition consists of the following attributes:
  • Purpose: brief text description of the nature of the interaction.
  • Initiator: the role who is starting it.
  • Responder: the role(s) with which the initiator interacts.
  • Inputs: information supplied by the initiator while enacting the protocol Docsity.com

Analysis

    1. Identify the roles in the system.
    • Output: prototypical roles model.
    1. For each role identify and document the associated protocols.
      • Output: interaction model.
    1. Using the protocol model as a basis, elaborate the roles model.
      • Output: fully elaborated roles model, which documents the key roles occuring in the system, their permissions and responsibilities, togetherDocsity.com

Models in the Gaia design process

  • Agent model
    • The agent types that will make up the system
    • Agent instances which will be instantiated
    • Agent type tree: leafs are roles, agents are other nodes
    • No inheritance
  • Services model
    • The main services that are required by each agent to realize the agent’s role.
    • For each service define inputs, outputs, Docsity.com

The Gaia design process

  • Create an agent model:
    • Aggregate agent roles into agent types, and refine to form an agent type hierarchy
    • Document the instances of each agent type using instance annotations.
  • Develop a services model, by examining activities, protocols, and safety and liveness properties of roles.
  • Develop an acquaintance model from the interaction model and agent model. Docsity.com