Download AJA

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Adaptable Java Agents (AJA)
– a Tool for Programming of
Multi-Agent Systems
Mihal Badjonski
Presentation Overview
• agents, agent-oriented programming
• AJA tool
–
–
–
–
ideas behind
agent features
two programming languages
implementation
• case-study multi-agent system implemented in
AJA
• conclusion
What is an agent?
• Agent acts on behalf of its user.
• Software or hardware entity that possesses:
–
–
–
–
autonomy,
social ability,
reactivity,
pro-activeness.
Stronger Notion of Agency
•
•
•
•
•
•
beliefs,
obligations,
emotions,
intentions,
knowledge,
desires, ...
Multi-Agent System
• A system with two or more agents that
cooperate or compete in order to solve some
problem or perform some task(s) is called a
multi-agent system.
Why agents?
• computer networks (INTERNET)
• complex network software systems
• information overload
Agent Classifications
• type:
– hardware
– software
• mobility:
– static
– mobile
Agent Classifications
• size and intelligence:
– big-sized
– middle-sized
– micro-agents
• ability to learn
Agent classifications
• architecture:
– deliberative
– reactive
– hybrid
Agent Classifications
• relationship with other agents:
–
–
–
–
cooperative
competitive
semi-competitive
single
Agent Applications
•
•
•
•
•
•
•
•
DAI domains
personal digital assistants
intelligent interfaces
information retrieval
believable agents
electronic commerce
business process management
...
Agent Theories
•
•
•
•
agent specification
ensuring system correctness
modal temporal logics
logic programming
Agent-Oriented Programming
OOP
AOP
Basic unit
object
agent
Unit parameters
unconstrained
Process of
computation
message passing
and response
methods
unconstrained
beliefs, intentions,
choices, ...
message passing
and response
methods
inform, request,
offer, promise, ...
honesty,
consistency
Type of messages
Constraints on
methods
none
Are they also agents?
•
•
•
•
•
viruses,
UNIX demons,
persistent objects,
mobile code,
...
AJA Tool – Ideas behind
•
•
•
•
•
new tool is used together with Java
agents as a vehicle for AI
inter-agent communication is compound
inter-agent communication is secure
agent acts reactively as well as goaloriented
AJA Agent Parts
•
•
•
•
•
beliefs
actions
reflexes
negotiations
initialization part
Beliefs
•
•
•
•
define agent internal state
primitive Java values
Java objects
values generated by AI components:
– adaptable parameters
– dependant values
 artificial neural networks (RPROP)
Actions
• blocks of code, optionally with parameters
• parallel execution
• synchronization
Reflexes
•
•
•
•
condition-action(s) pairs
periodical condition checking
manual reflex triggering also supported
reactive components
Negotiations
• compound communication represented as
automaton:
–
–
–
–
states
transitions
message sending
message receiving
• three negotiation types:
– requesting negotiations
– responding negotiations
– WWW negotiation
AJA Agent Features
•
•
•
•
•
•
•
stronger notion of agency
software agent
static agent
middle-sized and big-sized agents
learning is supported
hybrid architecture
for both cooperative and competitive systems
AJA Programming Languages
• HADL
– Higher Agent Definition Language
– higher-level declaration of agent beliefs,
actions, negotiations, reflexes, and initialization
• Java+
– extends Java
– implementation of agent parts defined in
HADL
HADL – Starting Production
Rule
<program> =
AGENT <name>
LOCATED_ON <hostname> [RMI <port>] [HTTP <port>] [SSL <port>]
[ PICTURE <fileName> ]
KEYSTORE <fileName>
KEY_PAIR_ALIAS <alias>
MAX_REPLY_TIME <hoursToWait>
[ <javaImport> ]
[ <beliefsDeclaration> ]
[ <actionsDeclaration> ]
[ <requestingNegotiationsDeclaration> ]
[ <respondingNegotiationsDeclaration> ]
[ <wwwNegotiationDeclaration> ]
[ <reflexesDeclaration> ]
[ <initialization> ]
END
Java+
• extends Java with 65 new constructs:
–
–
–
–
–
–
–
constructs for beliefs
constructs for actions
constructs for inter-agent negotiations
constructs for WWW negotiation
constructs for reflexes
GUI constructs
constants
Implementation
• Java 2 Standard Edition, Version 1.4.1
• three Java packages created:
– aja
– aja.framework
– aja.translator
• 97 classes and interfaces defined
Case Study MAS
• goal
– to demonstrate the tool
– to test all AJA features
• personal digital assistant (PDA)
• homogenous MAS
PDA Agent
• agent belongs to lecturer at university
• tasks:
– maintaining the calendar of owner’s events
– alerting to approaching events (appointments,
consultations, colleague’s birthday)
– helping in creation of joint engagements with
other colleagues
– registering students for consultations
Conclusion
• A comprehensive overview of agent field is given.
• Desired features of agent-development tools have
been identified.
• The first agent-development tool fully satisfying
identified requirements has been created.
• A case-study MAS has been used for the tool
evaluation and demonstration.
• Expectations have been fulfilled.