Mobile agent-based computational steering for distributed applications

The mobile agent-based computational steering (MACS) for distributed applications is presented in this article. In the MACS, a mobile agent platform, Mobile-C, is embedded in a program through the Mobile-C library to support C-C++ mobile agent code. Runtime replaceable algorithms of a program are represented as agent services in C-C++ source code and can be replaced with new ones through mobile agents. In the MACS, a mobile agent created and deployed by a user from the steering host migrates to computing hosts successively to replace algorithms of running programs that constitute a distributed application without the need of stopping the execution and recompiling the programs. The methodology of dynamic algorithm alteration in the MACS is described in detail with an example of matrix operation. The Mobile-C library enables the integration of Mobile-C into any C-C++ programs to carry out computational steering through mobile agents. The source code level execution of mobile agent code facilitates handling issues such as portability and secure execution of mobile agent code. In the MACS, the network load between the steering and computing hosts can be reduced, and the successive operations of a mobile agent on multiple computing hosts are not affected whether the steering host stays online or not. The employment of the middle-level language C-C++ enables the MACS to accommodate the diversity of scientific and engineering fields to allow for runtime interaction and steering of distributed applications to match the dynamic requirements imposed by the user or the execution environment. An experiment is used to validate the feasibility of the MACS in real-world mobile robot applications. The experiment replaces a mobile robot's behavioral algorithm with a mobile agent at runtime. Copyright © 2009 John Wiley & Sons, Ltd.

[1]  Holger Peine Application and programming experience with the Ara mobile agent system , 2002, Softw. Pract. Exp..

[2]  Joseph A. Paradiso,et al.  Pushpin Computing System Overview: A Platform for Distributed, Embedded, Ubiquitous Sensor Networks , 2002, Pervasive.

[3]  S M Pickles,et al.  A practical toolkit for computational steering , 2005, Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences.

[4]  Li-Der Chou,et al.  Implementation of Mobile-Agent-Based Network Management Systems for National Broadband Experimental Networks in Taiwan , 2003, HoloMAS.

[5]  Agostino Poggi,et al.  JADE: A software framework for developing multi-agent applications. Lessons learned , 2008, Inf. Softw. Technol..

[6]  Dag Johansen,et al.  Adding Mobility to Non-Mobile Web Robots , 2000, ICDCS Workshop of Knowledge Discovery and Data Mining in the World-Wide Web.

[7]  Harry H. Cheng Scientific Computing in the $C^H$ Programming Language , 1993 .

[8]  Salvatore Venticinque,et al.  MAGDA: A Mobile Agent based Grid Architecture , 2006, Journal of Grid Computing.

[9]  Gwangil Jeon,et al.  The robot software communications architecture (RSCA): embedded middleware for networked service robots , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

[10]  Tuomas Sandholm eMediator: A Next Generation Electronic Commerce Server , 2002, Comput. Intell..

[11]  Sascha Ossowski,et al.  MULTIAGENT ARCHITECTURES FOR INTELLIGENT TRAFFIC MANAGEMENT SYSTEMS , 2002 .

[12]  Athanassios Boulis Programming sensor networks with mobile agents , 2005, MDM '05.

[13]  Huosheng Hu,et al.  Modularity and Mobility of Distributed Control Software for Networked Mobile Robots , 2005, PPSDR@ICRA.

[14]  J. D. Brunner,et al.  VASE: the visualization and application steering environment , 1993, Supercomputing '93.

[15]  Steven G. Parker,et al.  Component‐based, problem‐solving environments for large‐scale scientific computing , 2002, Concurr. Comput. Pract. Exp..

[16]  Omer F. Rana,et al.  Choosing a Load Balancing Scheme for Agent-Based Digital Libraries , 2006, ISPA.

[17]  Bo Chen,et al.  A Runtime Support Environment for Mobile Agents , 2005 .

[18]  Fritz Hohl,et al.  MOLE: A mobile agent system , 2002, Softw. Pract. Exp..

[19]  Huosheng Hu,et al.  Mobile agent approach to networked robots , 2006 .

[20]  Giovanni Vigna,et al.  Understanding Code Mobility , 1998, IEEE Trans. Software Eng..

[21]  Oscar de Bruijn,et al.  Living memory: agent-based information management for connected local communities , 2002, Interact. Comput..

[22]  Omer F. Rana,et al.  Performance-sensitive service provision in active digital libraries , 2005, 2005 IEEE International Conference on e-Technology, e-Commerce and e-Service.

[23]  Hidehiko Wada,et al.  An autonomous agent approach for manufacturing execution control systems , 2002, Integr. Comput. Aided Eng..

[24]  Margaret Martonosi,et al.  Impala: a middleware system for managing autonomic, parallel sensor systems , 2003, PPoPP '03.

[25]  Bo Chen,et al.  Mobile-C: a mobile agent platform for mobile C-C++ agents , 2006 .

[26]  David Wong,et al.  Concordia: An Infrastructure for Collaborating Mobile Agents , 1997, Mobile Agents.

[27]  Yu-Cheng Chou,et al.  Embeddable Mobile-C for Runtime Support of Code Mobility in Multi-Agent Systems , 2007 .

[28]  Bo Chen,et al.  XML-based agent communication, migration and computation in mobile agent systems , 2008, J. Syst. Softw..

[29]  Mani B. Srivastava,et al.  A dynamic operating system for sensor nodes , 2005, MobiSys '05.

[30]  Peter J. Fleming,et al.  Computational steering of a multi-objective evolutionary algorithm for engineering design , 2007, Eng. Appl. Artif. Intell..

[31]  Robbert van Renesse,et al.  A TACOMA retrospective , 2002, Softw. Pract. Exp..

[32]  Zheng Yu,et al.  Dynamic Reconfiguration for Robot Software , 2006, 2006 IEEE International Conference on Automation Science and Engineering.

[33]  Christoph van Treeck,et al.  Computational steering on distributed systems: Indoor comfort simulations as a case study of interactive CFD on supercomputers , 2007, Int. J. Parallel Emergent Distributed Syst..

[34]  Koen Langendoen,et al.  Efficient code distribution in wireless sensor networks , 2003, WSNA '03.

[35]  Christopher R. Johnson,et al.  The SCIRun Computational Steering Software System , 1997, SciTools.

[36]  Jarke J. van Wijk,et al.  A survey of computational steering environments , 1999, Future Gener. Comput. Syst..

[37]  James Arthur Kohl,et al.  Cumulvs: Interacting with High-Performance Scientific Simulations, for Visualization, Steering and Fault Tolerance , 2006, Int. J. High Perform. Comput. Appl..

[38]  V. Braitenberg Vehicles, Experiments in Synthetic Psychology , 1984 .

[39]  Danny B. Lange,et al.  Programming and Deploying Java¿ Mobile Agents with Aglets¿ , 1998 .

[40]  Lyle N. Long,et al.  Scalable Computational Steering for Visualization/Control of Large-Scale Fluid Dynamics Simulations , 2005 .

[41]  George Cybenko,et al.  D'Agents: Applications and performance of a mobile‐agent system , 2002, Softw. Pract. Exp..

[42]  Mani B. Srivastava,et al.  Design and implementation of a framework for efficient and programmable sensor networks , 2003, MobiSys '03.

[43]  Nicolas Lhuillier,et al.  FOUNDATION FOR INTELLIGENT PHYSICAL AGENTS , 2003 .

[44]  C. S. Jog,et al.  A distributed environment for run-time visualization and application steering in computational mechanics , 1992 .