Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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.