Presentation on theme: "SELBO Agent Ivan Minov University of Plovdiv “Paisii Hilendarski“"— Presentation transcript:
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 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 multi- agent systems. JADE Agent 1 Agent 2 Agent 3 messages interaction
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. Agent 1 Agent 2 ACL messages interaction JADE Message Processing Agent Behaviours 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. SELBO JADE Sequencing engine Ontology HTML Editor
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.
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.