150 likes | 162 Views
Learn about intelligent agents, JADE framework, and their capabilities, integration, and future plans for agent development.
E N D
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 goal-directed 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 theenvironment, has an agenda. • Flexible- Order of actions is not fixed. • Adaptive / Learning- Can change behaviour based onexperience • 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 multi-agent systems. JADE Agent 2 messages messages Agent 1 Agent 3 interaction 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 Agent 2 Agent 1 Message Processing Agent Behaviours interaction Life-cycle Engine
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. JADE SELBO HTML Editor Ontology Sequencing engine
Realization of the AgentSelbo Class Agent • 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 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.
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.