You are on page 1of 22

Object Oriented System

Agent UML
MANISH ARYAL
Agents
An agent is an hardware or software system placed in an
environment
An agent is an object capable of displaying the following:
◦ Autonomy
◦ Reactivity
◦ Social Ability
◦ Pro-Activity
Agents
Autonomy
◦ The ability to operate without the direct intervention of humans or others, and have some kind of
control over their actions and internal state.
Reactivity
◦ The ability to perceive the environment, and respond regularly to changes that occur in it
Social Ability
◦ The ability to interact with other agents (and possibly humans) via some kind of agent-
communication language
Pro-Activity
◦ The ability to exhibit goal-directed behavior by taking the initiative instead of just acting in
response
Agents
Some other attributes of agents are:
Mobility
◦ The ability to move around an electronic network

Veracity
◦ The assumption of not communicating false information knowingly

Benevolence
◦ The assumption of not having conflicting goals

Rationality
◦ The assumption of acting with a view to achieve its goals
Agent Oriented Programming
AOP is a programming paradigm introduced by Yoav Shoham
The objective of Agent Oriented (AO) Technology is to build systems
applicable to real world that can observe and act on changes in the
environment
Such systems must be able to behave rationally and autonomously in
completion of their designated tasks
AO technology is an approach for building complex real time distributed
applications
Agent Oriented Programming
This technology is built on belief that a computer system must be
designed to exhibit rational goal directed behavior similar to that of a
human being
In AOP objects known as agents interacting to achieve individual goals
Agents can be autonomous entities, deciding their next step without the
interference of a user, or they can be controllable, serving as mediatory
between user and another agent
AOP programming is performed at abstract level
Agent Oriented Programming
The Agent-Oriented Software Engineering (AOSE) is being described as a
new paradigm for the research field of Software Engineering
But in order to become a new paradigm for the software industry, robust
and easy-to-use methodologies and tools have to be developed
AOP system has three components:
◦ First a logical system for defining the mental state of agents
◦ Second Interpreted program language for programming agents, and
◦ Third is An ―agentification (process, for compiling agent programs into lower level
executable systems)
OOP Vs AOP
OOP AOP
Basic unit Object Agent
Parameters defining state of Unconstrained Belief, commitments,
basic unit chioces, …

Process of computation Message passing and Message passing and


response methods response methods

Types of messages Unconstrained Inform, request, offer,


promise, decline

Constraints on methods None Honesty, consistency, …


OOP Vs AOP
Basic unit
Agents may communicate using an Agent Communication Language ACL, whereas objects
communicate via fixed method interfaces

Using AI techniques, intelligent agents are able to judge their results, and then modify their
behavior (and thus their own internal structure) to improve their perceived fitness

Objects are abstractions of things

Agents are abstractions of intelligent beings


OOP Vs AOP

Parameters defining state of basic unit


AOP agents contain beliefs, commitments, choices and communicate with
each other via a self-conscious set of speech type acts such as inform,
request, promise, decline

The state of the agent is called its mental state.


OOP Vs AOP
Process of computation
An object’s message may request only one operation, and that operation may
only be requested via a message formatted in a very exact way

Agent-based communication can also use the method invocation of OO


However, the demands that many agent applications place on message content
are richer than those commonly used by object technology

An agent message could consist of a character string whose form can vary yet
obeys a formal syntax, while the conventional OO method must contain
parameters whose number and sequence are fixed
OOP Vs AOP
Type of message
Agents are interactive entities that are capable of using rich forms of
messages

These messages can support method invocation—as well as informing the


agents of particular events, asking something of the agent, or receiving a
response to an earlier query

Lastly, because agents are autonomous they can initiate interaction and
respond to a message in any way they choose
OOP Vs AOP
Constrain on method
Object classes are designed to be predictable in order to facilitate using
reusable components

Agents are commonly designed to determine their behavior based on


individual goals and states, as well as the states of ongoing conversations
with other agents

While OO implementations are not generally developed to include


nondeterministic behavior, this is common in agent-based thinking
Agent UML
Agent UML is a support notation for agent-oriented systems development.

It consists in using the UML modeling language and extending it in order to


represent agents, their behaviour and interactions among them.

AUML is not restricted to using UML, Other approaches could be used


wherever it makes sense.
Common features of agents
Agents share some common characteristics:
◦ Identifier
◦ identifies each agent in a multiagent system
◦ Role
◦ defines the behaviour of an agent into the society (es. Seller, Buyer)
◦ Organization
◦ defines the relationships between the roles (similar to human or animal organizations such as
hierarchies, markets, groups of interest or herds)
◦ Capability
◦ specifies what an agent is able to do and under what conditions
◦ Service
◦ describes an activity that an agent can perform and is provided to other agents
Representation of agents
UML Class Diagrams can be used to represent the static view of agents.

<<agent>> agent-name

Role

role 1, role 2, …, role n


role dynamic 1, role dynamic 2, …, role dynamic n

Organization

organization 1, organization 2, …, organization n


org dynamic 1, org dynamic 2, …, org dynamic n
Capabilities representation
A capability is composed of the following parts:
◦ Input
◦ What the agent must receive in input to achieve his task
◦ Output
◦ What the capability generates as a result of the work
◦ Input constraints
◦ Constraints that are expected to hold in the situation before the action specified by the capability can be
performed
◦ Output constraints
◦ Constraints hat are expected to hold in the situation after the action specified by the capability has been
performed
◦ Input-output constraints
◦ Constraints that must hold across input and output situations
◦ Description
◦ A description in natural language of the capability
Capabilities representation
<<agent>> sum
Role
• Example of capability representation: addition, subtraction
rd 1
<<capability>> subtraction
The agent ‘sum’ has two Organization
capabilities expressing the fact calculator Input
that he is able to make additions x,y:Integer
Protocol
and subtractions enter-society, exit-society
compute Output
d:Integer

Input Constraint
x>=0, y>=0
<<capability>> addition
Input Input-Output Constraint
x,y:Integer x-y >=0
Output
s:Integer Description
This capability makes the
Description
difference of two integers and
This capability makes the sum of returns an integer
two integers and returns an integer
Service representation
A service is composed of the following parts:
◦ Name
◦ The name of the service
◦ Description
◦ A description in natural language of the service
◦ Type
◦ The type of the service
◦ Protocol
◦ A list of interaction protocols supported by the service
◦ Agent communication language
◦ The communication languages used in this service
◦ Ontology
◦ A list of ontologies supported by the service
◦ Content language
◦ A list of content languages supported by the service
◦ Properties
◦ A list of properties that discriminate the service
Service representation
<<service>> computation
<<agent>> sum
Description
Role This service makes an addition when
addition, subtraction requested by the request addition
rd 1 protocol and makes a subtraction
when requested by the request-
Organization subtraction protocol
calculator
Type
Protocol computation
enter-society, exit-society Protocol
compute request-addition
request-subtraction
Agent Communication Language
FIPA ACL
• Example of service representation:
Ontology * FIPA: Foundation of
computation ontology Intelligent Physical
The agent ‘sum’ exports a service that makes Content Language Agents
additions and subtractions on demand FIPA SL
Representing interactions
Agent interactions can be represented in UML standard using sequence
diagrams
Thank You.

You might also like