Abstract

The article presents the design and implementation of Mobile-C, an FIPA (Foundation for Intelligent Physical Agents) compliant multi-agent platform for mobile C/C++ code. FIPA standards are a set of specifications designed to ensure the interoperation between agents in a heterogeneous network. Mobile-C conforms to the FIPA standards both at agent-level and agent platform-level. At the agent-level, the conformance includes agent communication language (ACL), message exchange interaction protocols, communicative acts, and content language representations. At the agent platform-level, Mobile-C provides agent management system to manage the life cycle of the agents, agent communication channel to allow agent communication over the network, and directory facilitator to serve as yellow page services. Since FIPA mainly promotes interoperability between stationary agents and has not provided sufficient specifications for mobile agents, Mobile-C extends FIPA specifications to support mobile agents. An embeddable C/C++ interpreter – Ch has been used in the system as the agent execution engine for mobile agents. For smooth agent migration, a mobile agent mobility protocol has been developed to specify the procedure of agent migration. Mobile agent migration is achieved through ACL messages. The data state and code of an agent are packed into an ACL message and transmitted to the remote host through agent communication channel. The advantages of using C/C++ for implementation of both agent platform and mobile agents in Mobile-C are discussed in the article. The system architecture of Mobile-C is a peer-to-peer network architecture. Each node of the system contains a multi-thread agent platform that provides support for agent execution, mechanisms for communication and security, services for managing agent lifetime, and facilities to support agent migration. Each mobile agent runs in a Ch, which is embedded into the system in a separate thread. The use of multiple threads for multiple agents is more efficient than a multi-process approach because the start-up and termination of multi-processes and expensive interprocess communication are avoided.© 2005 ASME

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call