130 likes | 250 Views
A Framework for Building MAS. 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
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(”…”);