Bo Wang Wenpin Jiao Qijia Tian Zhongzhi Shi Lab of Intelligent Information Processing Institute of...
-
date post
22-Dec-2015 -
Category
Documents
-
view
215 -
download
1
Transcript of Bo Wang Wenpin Jiao Qijia Tian Zhongzhi Shi Lab of Intelligent Information Processing Institute of...
Bo Wang Wenpin Jiao Qijia Tian Zhongzhi Shi
Lab of Intelligent Information Processing
Institute of Computing Technology
Chinese Academy of Sciences, China
Multi-Agent Description Language in MAGE
1. MAGE Architecture
2. Agent Description Language
3. Agent Development based-on MAGE
4. Conclusions
Agenda
Agent Research in ICT-IIP
• KISE (1994-96)
• AOSDE (1996-1998)
• MAGE(1998-2000)
• AGECOP (2001-)
MAGE
MASEndUsers
AgentRunningFrame
ADL
GUI
Function Modules
MAGE
an integrator to integrate
(1) agent running frame
(2) function modules
into agents with specific purpose or function which is described by ADL.
Communicator
ACL Parser
Scheduler
Function Module Interface
Function 1
Function n
Msg-In Msg-Out
Agent
Data
ACL Msg
┇
ADL Parser
Agent Kernel
Agent Running Frame
Function Modules
• Build-in: java sentences in ADL session
• Accessory: *.exe
• Dynamic linking: *.dll
<Agent> ::= <Definition><Local Address><Acquaintance Addresses><Extra Classes><Capabilities><Environment Variables><Sessions>
Agent Development
MAGE--ADL
[Acquaintance Addresses]BEGINFacilitator=192.168.0.162:1666END
[Extra Classes]BEGINInstance=buying2Constructor=BuyerAgent(agent, "Seller1")END
[Capabilities]BEGINName=buy2Type=0CommandLine=Source=buying2Name=testType=1CommandLine=c:\windows\notepad.exeSource=END
ADL
[Environment Variables]BEGINint a = 1END
[Sessions]BEGINSession buy2;End SessionSession if a <> 1 test;END
ADL
Session
…
if (performative.equals(“negotiating”)) {
double price = calculate_price( );
msg.setPara(“performative”, “negotiation_result”);
msg.setPara(“sender”, receiver);
msg.setPara(“receiver”, sender);
msg.setPara(“price”, price);
sendMessage(msg); }
…
End session
ADL Building Tools
ADL Building Tools
MAGE Working Mechanism
Agent Initialization Stage
• Load ADL script
• Load function modules;
• Initialize communication module;
• Send registration information facilitator
Regular Working Stage
REPEAT
Receiving Thread;
Sending Thread;
ENDREPEAT
Applications
1. Information / Knowledge Acquisition
2. Automated Negotiation
3. Group intelligence / swarm
4. Coordination in Organizational Decision Making (R&D project selection)
Knowledge Acquisition
Facilitator
InternetInternet
Spider1 Spider2 Spider
Database
Knowledge Acquisition
Knowledge Acquisition
Knowledge Acquisition
Applications
Knowledge Acquisition
Applications
Agent-Based Bargaining
Applications
Group Intelligence
…
Internet/Intranet
Future Research
Services
Agent Base
KnowledgeManagement
Infrastructure
AGECOP
Thank you!
<Agent> ::= <Definition>
<Local Address>
<Acquaintance Addresses>
<Extra Classes>
<Capabilities>
<Environment Variables>
<Sessions>
<Definition> ::= <Name Section>
<Description Section>
<Name Section> ::= "[Name]"
<agent> = <agent_name>
<Description Section> ::= "[Description]"
BEGIN
<description>
END
<Local Address> ::= "[Local Address]"
<agent> = <host_name>:<port>
<Acquaintance Addresses> ::= "[Acquaintance Address]"
BEGIN
{<acquaintance> = <host_name>:<port>}*
END
<Extra Classes> ::= "[Extra Classes]"
BEGIN
{<Class>}*
END
<Class> ::= Instance = <instance name>
CONSTRUCTOR = <constructor>
<Capabilities> ::= "[Capabilities]"
BEGIN
{<Capability>}*
END
<Capability> ::= NAME = <capability_name>
TYPE = <capability_type>
CMDLINE = <capability_command_line>
SOURCE = <capability_source>
<Environment Variables> ::= "[Environment Variables]"
BEGIN
{<Variable>}*
END
<Variable> ::= <Variable Type> <variable_name>[ = <initial_value>]
<Variable Type> ::= int|boolean|char|string|float
<Sessions> ::= "[SESSIONS]"
BEGIN
{<Session>}*
END
<Session> ::= SESSION
<Actions>;
|<If-Then-Else-Sentence>;
|<While-Sentence>;
|<Convention>;
END SESSION
<Actions> ::= <capability_command_line>;
|"{"
<capability_command_line>;
<Actions>
"}"
|<Session>
<If-Then-Else-Sentence> ::= IF (<condition>) <Actions> ELSE <Actions>
<While-Sentence> ::= WHILE (<condition>) <Actions>
<Convention> ::= (<condition>)=><Actions>
|(<acl_message>)=><Actions>