Agent Oriented Programming - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

Agent Oriented Programming

Description:

Gaia is not intended for systems that admit the possibility of true conflict. ... In Gaia, such links are represented in the interaction model. ... – PowerPoint PPT presentation

Number of Views:1032
Avg rating:3.0/5.0
Slides: 18
Provided by: JohnKubi2
Category:

less

Transcript and Presenter's Notes

Title: Agent Oriented Programming


1
Agent Oriented Programming
  • EEL 5937 Multi Agent Systems
  • Lecture 26, April 10, 2003
  • Lotzi Bölöni

2
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

3
Why not object oriented techniques?
  • While there are superficial similarities between
    agents and objects
  • But the granularity is to fine grained, operating
    at the wrong level of abstraction.
  • An agent so represented may appear strange maybe
    a single public function receive which
    encapsulates everything.
  • Secondary models such as use cases and
    interaction diagrams can be usefully used.
  • But the object model and the class diagram does
    not help us with agents.
  • Because the dependencies between agents are not
    static.

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

5
GAIA
6
What is it?
  • A software methodology targeted to the analysis
    and design of agent-based systems.
  • It is intended to allow an analyst to go
    systematically from a statement of requirements
    to a design that is sufficiently detailed to be
    implemented directly.
  • It is loosely based on object oriented
    technologies, such as FUSION.
  • Analysis and design can be seen as a process of
    developing increasingly detailed models of the
    system to be constructed.

7
Models of the Gaia methodology
8
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

9
Analysis concepts
10
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
  • Permissions resources
  • Activities
  • Protocols e.g. Dutch auction, English auction
    etc.

11
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 entitys 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 on
    a role.
  • The responsibilities of the role
  • A role is created in order to do something. That
    is described here.

12
The interaction model
  • There are inevitably dependencies and
    relationships between roles in a multi-agent
    organization.
  • In Gaia, such links are represented in the
    interaction model.
  • This model consists of a set of protocol
    definitions, one for each type of inter-role
    interaction.
  • Does not specify all the protocols down to the
    every message interchanged.

13
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
  • Outputs information supplied by/to the protocol
    responder during the interaction.
  • Processing brief textual description of any
    processing happening during the protocol.

14
Analysis
  • 1. Identify the roles in the system.
  • Output prototypical roles model.
  • 2. For each role identify and document the
    associated protocols.
  • Output interaction model.
  • 3. 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, together
    with the protocols and activities in which they
    participate.
  • 4. Iterate stages 1-3.

15
Design
  • Classical design transform the abstract models
    derived during analysis into sufficiently low
    level of abstraction that it can be implemented.
  • In Gaia the goal of the design process is to
    transform the analysis models (roles,
    interaction) such that traditional design
    techniques (object oriented design, usually) may
    be applied in order to implement the agents.
  • How a society of agents cooperate to realize
    higher level goals
  • What is required of each agent
  • How the agent realizes its services is the goal
    of lower level (program level) design.

16
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 agents role.
  • For each service define inputs, outputs,
    preconditions, postconditions
  • Acquintance model
  • Documents the lines of communication between
    agents.
  • Does not define the messages sent

17
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.
Write a Comment
User Comments (0)
About PowerShow.com