SELBO Agent Ivan Minov University of Plovdiv “Paisii Hilendarski“

Download Report

Transcript SELBO Agent Ivan Minov University of Plovdiv “Paisii Hilendarski“

SELBO Agent
Ivan Minov
University of Plovdiv
“Paisii Hilendarski“
What is an agent?
An agent is a computer system that is
situated in some environment, and that is
capable of autonomous action in this
environment in order to meet its design
objectives.
Wooldridge and Jennings (1995).
What is Intelligent Agent?
One way of answering this question is to list the kinds of
capabilities that we might expect an intelligent agent to have.
The following list was suggested in Wooldridge and Jennings
(1995).
• Reactivity. Intelligent agents are able to perceive their
environment, and respond in a timely fashion to changes that
occur in it in order to satisfy their design objectives.
• Proactiveness. Intelligent agents are able to exhibit goaldirected behaviour by taking the initiative in order to satisfy
their design objectives.
• Social ability. Intelligent agents are capable of
interacting with other agents (and possibly humans)
in order to satisfy their design objectives.
What is Intelligent Agent? (2)
Other properties of the agent are:
• Autonomous - Exercises control over its own
actions
• Goal Oriented - Does more than just react to the
environment, has an agenda.
• Flexible - Order of actions is not fixed.
• Adaptive / Learning - Can change behaviour
based on experience
• Mobile - Can ‘migrate’ from one host to another
What is JADE?
JADE (Java Agent DEvelopment Framework) an
agent container and software framework to develop
agent-based applications in compliance with the
FIPA specifications for interoperable intelligent multiagent systems.
Agent 2
JADE
interaction
Agent 3
Agent 1
messages
What is an agent according to JADE?
JADE is absolutely neutral in respect to a definition of an
agent. JADE conceptualizes an agent as an independent
and autonomous process that has an identity, possibly
persistent, and that requires communication (e.g.
collaboration or competition) with other agents in order to
fulfill its tasks. This communication is implemented through
asynchronous message passing and by using an Agent
Communication Language with a well-defined and commonly
agreed semantics.
JADE
ACL messages
Message
Processing
interaction
Agent
Behaviours
Agent 1
Life-cycle
Engine
Agent 2
Are JADE agents intelligent?
• JADE alone does not endow agents with
specific capabilities beyond those needed for
communication and interaction. However, the
behavior abstraction of the Jade agent model
allows simple integration of external software
into one of the agent tasks.
Which programming languages can be used?
• Jade has been completely implemented in
Java. Its capabilities can only be fully
exploited by using the Java programming
language. However, a special agent, called
JessAgent, is provided that allows
programmers to use just the JESS language
without writing any line of Java code.
JESS is an expert system shell that supports
rule-based code.
How is JADE integrated into SELBO
• JADE consist of several jar
files. These files are
included in the SELBO
project as a library.
• When SELBO is starting,
the JADE platform is
initialized and a handle to it
is passed to the
application.
• As new agents are created,
they are added to the
platform for further care.
SELBO
JADE
HTML
Editor
Ontology
Sequencing
engine
Realization of the AgentSelbo
• The class AgentSelbo extends
class Agent of JADE framework
and adds methods for
integration into SELBO
environment and execution of
specific tasks.
• An instance of the agent is
created and initialized during the
system startup process.
• From there on the agent is
activated and waits for
command from environment.
• Agent is visually represented by
the cute elephant Selbo
Class
Agent
Class
AgentSelbo
commandInit()
commandMove()
commandDirectMove()
commandSearch()
Commands that the agent understands
• Command for initialization of the agent to use
a specific ontology.
• Command for showing and hiding of the
agent.
• Command for moving of the agent on the
screen.
• Command for searching through the loaded
ontology.
Searching through the ontology
• The agent uses the core Protégé API to
access the loaded ontology.
• Then it traverses all of the nodes in the
ontology, searching for the designated string
in their names and descriptions.
• Finally it displays a list with the found classes
and instances.
Demonstration
Future Plans
• Creating of special purpose agents for
helping the content creator to follow the
selected Sequencing template.
• Enhancement of the personal AgentSelbo
and adding to it more useful functionality.
Thank You