130 likes | 254 Views
This document outlines a comprehensive framework for developing multi-agent systems (MAS), emphasizing the YinYang architecture. It discusses the fundamental characteristics of agent organizations, such as managerial structures, domain connections, and agent communication. The framework facilitates asynchronous and autonomous agent execution, enabling static, private, or mobile agents to interact seamlessly. Utilizing Java, Jini technology, and KQML for communication, this architecture supports the creation of robust, online, and scalable agent societies, making it easier to build versatile MAS.
E N D
Framework • An Agent-Based Infrastructure for building multiagent (mobile or not) systems. • Some agent-based frameworks • Impact • Retsina • Jade • Aglet • YinYang
Characteristics • Design Autonomy • Communication Infrastructure • Directory Service • Message Protocol • Mediation Services • Security Services
YinYang System • To create an agent society • Make it easy to build MA systems • Agents can be static, private or mobile • Execute asynchronously & autonomously • Online and Scalable • Use Java and Jini Technology • Use KQML as Agent Communication Language
D1 P1 P3 D3 D2 P2 P4 YinYang Architecture
YinYang Architecture • YinYang system is an agent society that consists of several agent organizations. • Every agent organization contains • A Manager • One or several Domains that connect to that Manager • Each domain contains one or several agents
Run Agents • You stay at Domain D1 • An Agent x is located at Domain D2 • You can run x • At D2 and get result at D1 • At D3 and get result at D1 • At D1 and get the result
Launch an Agent • You can launch an agent (your own or from another domain) and let everyone run it at your domain. • You can clone an active agent at your domain • You can move an active agent from your domain to another domain.
Agent Communication • Agents Communicate by using KQML • Communication can be • Synchronous or • Asynchronous • Agents can keep several messages in ”inbox” message and handle them automatically.
JDBC • JDBC creates an interface beween applications and Database • Database • Mysql • Cloudscape • Access
ODBC-Access Database • Make an empty Access Database • Start an ODBC driver • Control Panel->ODBC->Add->*.mdb • Edit a sql file: book.sql • Make an application: CreateTable.java • Run program • Java PerformSql book book.sql
Jdbc Program • Load database driver Class.forName(driver); • Set up connection to database Connection con = DriverManager.getConnection • Prepare a Sql Statement Statement s = Con.createStatement • Execute the Sql Statement s.executeUpdate(”…”);