Agent Oriented Programing
Agent Oriented Programing
INTRODUCTION
1. ESSENTIALS OF AN AOP
1. A formal language with clear syntax for describing the mental state.
This would likely include structure for stating beliefs, passing messages etc.
2. A programming language in which to define agents. The semantics of
this language should be closely related to formal language.
3. A method for converting neutral applications into agents. This kind of
tool will allow an agent to communicate with a non-agent .
2. AGENT
Belief: This represents the agents current knowledge about the world,
including information about the current state of the environment inferred
from perception devices and messages from other agents, as well as
internal information.
Desire: This represents a state, which the agent is trying to achieve, such
as safe landing of all planes currently circling the airport, or the
achievement of a certain financial return on the stock market.
Intention: This is the chosen means to achieve the agents desires and is
generally implemented as plans. Plan may be thought of as procedures
that come with preconditions and intended outcomes.
Plan: The means of achieving desires with the options available to the
agents.
In agent systems the agent not only needs to know what has to
be achieved , but also needs to be able to take appropriate action inorder
to ensure that the desired state of the world is achieved .So an agent
system requires not just abductive reasoning, but also a suitable notion of
agent.
3. AGENT CLASSIFICATION
"All the ... reasons for ascribing belief's are epistemological; i.e.
ascribing beliefs is needed to adapt to limitations on our ability to acquire
knowledge, use it for prediction, and establish generalizations in terms of
the elementary structure of the program. Perhaps this is the general reason
for ascribing higher levels of organization to systems."
Why would we still want to use mental categories to talk and reason about
the program?
In the original paper, McCarthy discusses several reasons for
this. In the following list, I have selected those reasons that seem to be
most relevant to me.
Belief
Sentences in the formal language are point-based time
statements; they describe the state of something in the world at a particular
point in time. For example,
turn(me, left)t
would mean that I will turn / have turned left at time t. Note that this is not
only a statement but an action. This introduces the limitation that actions
are viewed as "instantaneous".
To express that I currently believe that I will turn left at time t, we would
write : B*now*me turn(me, left)t
1.Internal Consistency
Any agent written in the language should have consistent beliefs and
desires. For example, to believe x and believe not(x) simultaneously would
violate this constraint. A mechanism is needed for arbitration should these
situations arise.
2.Good Faith
An agent should not commit to a statement unless it believes it is capable
of the statement.
3.Introspection
Agents must be aware of their obligations :
OBL ta,bstatement -> Bta OBL ta,bstatement
not(OBL ta,bstatement) -> Bta not(OBL ta,bstatement)
4. LANGUAGES
4.1 Agent-0
This is one of the languages that can be used for agent oriented
programming.Agent-0, like all of its counterparts surveyed here, follows a
simple control loop when executing a program.
at each time step
Statements
Conditional actions are actions that are initiated only if some keys
of the mental state hold. The syntax for specifying a conditional action is :
(IF mntlcond action)
where the action is executed only if the mental condition is true. Mental
conditions are queries of the belief of a statement or whether an action is
committed to. Conditions, therefore, take the form (B fact) (true if the agent
believes the fact) or ((CMT a) action) (true if the agent is committed to
agent a to perform the action). Mental conditions may be connected
conjunctively or disjunctively using the AND and OR operators. For
example :
(AND (B x) (B y) (NOT ((CMT a) z)))
is true if the agent believes x and y but is not committed to agent a to
perform z.
Variables
Commitment Rules
Capabilities
(9)The main point is that OOP has nothing to say about who has
access to the methods of an object apart from in terms of setting a global
private/public distinction. In AO programming the designer should be forced
to think in terms of a messaging interface between agents, such that any
accessing of a method subject to security constraints. An AO language
would try to pressure developers into providing higher level interfaces, and
thus move the locus of control away from the method being accessed, and
towards making the entity a self contained entity that checks who is making
the request before acting upon it. This whole approach is supposed to be
suited to environments where lots of different people from different
organizations have built the components, rather than where one might
have lots of different objects built by a group of people that we assume is
trying to co-operate.
OOP AOP
Structural
Elements
abstract class generic role
Class domain specific role
member variable Knowledge, belief
Method Capability
Relations
collaboration
Negotiation
(uses)
composition (has) holonic agents
inheritance (is) role multiplicity
domain specific role + individual
instantiation
knowledge
polymorphism service matchmaking
6. METHODOLOGIES
1. The notion of agent and all the related mentalistic notions are used in all
phases of software development, from the first phases of early analysis
down to the actual implementation.
2. A crucial role is given to the earlier analysis of requirements that
precedes prescriptive requirements specification. We consider therefore
much earlier phases with respect to standard object oriented methodologies
as, for instance, those based on the Unified Modeling Language (UML) ,
where use case analysis is proposed as an early activity, followed by
architectural design.
3. The methodology rests on the idea of building a model of the system-to-
be that is incrementally refined and extended from a conceptual level to
executable artifacts. This process adopts a transformational approach: a set
of transformation operators which allow the engineer to progressively detail
the higher level notions introduced in the earlier phases are proposed. It
must be noticed that, contrarily to what happens in most other approaches,
e.g., UML based methodologies, there is no change of graphical notation
from one step to the next (e.g., from use cases to class diagrams).
The refinement process is performed in a more uniform way.
In the following section we give an overview of the Tropos methodology,
to it through goal dependencies. These goals are then analyzed from the
point of view of the eCulture System and are shown in the goal diagram
depicted in the lower part of Figure 3. In the example we concentrate on
the analysis for the goal provide eCultural services and the softgoal usable
eCulture System.The goal provide eCultural services is decomposed (AND
decomposition) into four subgoals: make reservations, provide info,
educational services and virtual visits. As basic eCultural service, the
eCulture System must provide information (provide info), which can be
6.1.5. Implementation
Information scouts: Intelligent agents can be used for collecting data. The
information scouting agents go through the network, communicating with
the user and other agents for achieving their goals. example. Segue
Air traffic control : This is a very demanding task, getting all circling
planes to land safely. An agent can be designed to do the task efficiently,
taking care of the weather conditions and other factors. Other examples of
agent are KidSim agent, IBM agent, Hayes- Roth agent etc.
CONCLUSION
REFERENCES
• http://www.cs.berkely.edu
• http://www.agentlab.de/aose.html
• http://web.media.mib.edu
• www.ooptips.org/db-design.html
• www.csc.liv.ac.uk
• www.ecoop2000.unice.fr
• www.lamda.weblogs.com
• http://vsys-www.informatik.uni-hamburg.de
• www,csc.liv.ac.uk
• www.auml.org/auml/supplements/BrescianiAgent2001.pdf
• www.ncat.edu/~esterlin/c7902502/notes/Shoham.pdf
• www.cia.mty.itesm.mx/~rbrena/SMA/aop.ppt
• wscg.zcu.cz/Rotor/Net_2003/papers/Vecchiola.pdf
ABSTRACT
CONTENTS
INTRODUCTION
ESSENTIALS OF AOP
AGENT
AGENT CLASSIFICATION
LANGUAGES
1. METHODOLOGIES
COMPUTING
CONCLUSION
ACKNOWLEDGEMENTS
Sunitha P. Kutty