This project is developing a new programming paradigm, called Navigational Programming, for distributed systems based on the principles of autonomously migrating processes, called Messengers. Each Messenger is able to migrate among nodes of a local area network using explicit hop statements, which support strong migration. Unlike mobile agents used for a variety of services on the Internet, the MESSENGERS system is intended for general-purpose scientific computing.

Some of the advantages of migrating processes, as compared to stationary message-passing processes, are highlighted in the following Project Summary.



PhD Students:

    • Wendy Zhang

Recent PhD/MS Graduates:

    • Munehiro Fukuda (University of Washington, Bothel)

Ph.D. Dissertation: MESSENGERS: A Distributed Computing System Based on Autonomous Objects (Postscript), 1997

    • Fehmina Merchant (IBM, New York)

Ph.D. Dissertation: Load Balancing in Spatial Individual-Based Systems using Autonomous Objects (Postscript), 1998

    • Susan Mabry (Whitworth College, Spokane, WA)

Ph.D. Dissertation: SimAgents: Migrating Agents for Simulation Models, 1999

    • Katherine Morse (SAIC, San Diego, CA)

Ph.D. Dissertation: An Adaptive, Distributed Algorithm for Interest Management (Postscript), 2000

    • Adam Chi-Lun Chang

M.S. Thesis: Graphical Interface for Paradigm Oriented Distributed Computing (PDF), 2000

    • Eugene Gendelman (Bloomberg, New York, NY)

Ph.D. Dissertation: Virtual Infrastructure for Mobile Agent Computing (Postscript), 2002

    • Hairong Kuang (Yahoo, Sunnyvale, CA)

Ph.D. Dissertation: Paradigm-Oriented Distributed Computing Using Mobile Agents (Postscript), 2002

    • Lei Pan (JPL, Pasadena, CA)

Ph.D. Dissertation (abstract): Navigational Programming (PDF), 2005

    • Richard Utter (NSA, Washington, D.C.)

Ph.D. Dissertation: Diactoros: Full State Migration (PDF), 2006

    • Koji Noguchi (Yahoo, Sunnyvale, CA)

Ph.D. Dissertation: Spontaneous Process Migration with Global Pointers (PDF), 2006

    • Javid J. Huseynov

Ph.D. Dissertation: Distributed Localization of Ultrasonic Sources of Gas Leak (PDF), 2008

    • Jiming Liu

Ph.D. Dissertation: Distributed Individual-Based Simulation (PDF), 2008

    • Ming Kin Lai

Ph.D. Dissertation: State-Migration Shared-Variable Programming (PDF), 2009

    • Matthew Badin

Ph.D. Dissertation: Methods for Mitigating and Eliminating Error in Hybrid Matrix Multiply Algorithms, 2014

    • Kiyoshi Nakayama

Ph.D. Dissertation: A Distributed Smart Grid Control Model for Integration of Renewables, 2014


Visiting Students:



(Shows how autonomous objects can navigate in a simulated spatial environment)

(This is similar to the subsequent article in IEEE COMPUTER (below) -- it presents potential application areas and surveys related approaches)

(Discusses a specific simulation application for Toxicology)

(Presents MESSENGERS as a coordination paradigm for constructing distributed applications)

(Surveys several lines of research related to aunonmous objects and coordination)

(Presents initial performance results)

(Illustrates how navigational programming differs from message-passing and shows the advantages)

(Discusses the mapping problem for MESSENGERS, that is, mapping of Messengers to logical nodes, logical nodes to daemon nodes, and daemon nodes to physical nodes. Presents new ways of load balancing, resource utilization, and granularity control)

(Presents the navigational calculus and shows how it is used to dynamically compose an application)

    1. Mobile Network Objects (23 pages, Postscript), Encyclopedia of Electrical and Electronics Engineering, John Wiley & Sons, Inc., 1998

(An introductory overview of mobile agents technologies)

(Octopus is a tool superimposed on the MESSENGERS environment. It permits individual Messengers to periodically report information about themselves, e.g., their current position in a simulated space, which Octopus is able to display in real time for the purposes of visualization of the ongoing computation)

(8 pages, PDF), Int′l Biomedical Optics Symposium (BIOS′98), special section on Biomedical Sensing, Imaging and Tracking Technologoes, San Jose, CA, Jan. 1998
(Discusses a large biomedical application -- the simulation of a cardiovascular system)

(Presents an approach to automatic state capture by restricting migration to the top coordination layer as implemented in the MESSENGERS system)

(Discusses the advantages of having global virtual time support provided by the system when implementing individual-based simulations)

(Discusses the implementation of fully transparent state capture and restoration for the purposes of migration or local context switch. This is possible even under a fully compiled version of the MESSENGERS system)

(Presents three specific algorithms to do load balancing in applications where a group of individuals (or particles) move autonomously through a simulated environment and perform some coordinated group movement. Shows performance evaluation of these algorithms.)

(A more extensive version of the paper with the same title presented at ICDCS′97 -- see above -- it illustrates how navigational programming differs from message-passing and shows the advantages both qualitatively and quantitatively)

(Introduces a special abstract data type into MESSENGERS. The dynamic structures belonging to a Messenger are carried automatically whenever the Messenger hops between nodes)

(A new approach to state capture/restoration of a mobile agent during migration)

(A cluster computing paradigm that combines navigational autonomy of agents with fine granutality of threads)


Technical Reports




There are two independent versions of MESSENGERS: MESSENGERS-I, and MESSENGERS-C, where "I" stands for "interpreted", and "C" stands for "compiled". The MESSENGERS-C is faster than MESSENGERS-I, but MESSENGERS-I has a Virtual Time support.

User Manuals and System Installation for MESSENGERS-C

    • MESSENGERS-C (Version 2.1) User Manual provides a description of the MESSENGERS-C (Version 2.1) functionality and installation.
    • MESSENGERS-C (Version 1.2.04) User Manual provides a description of the MESSENGERS-C (Version 1.2.04) functionality and installation (stable version).
    • MESSENGERS-C (Version 1.2.05) User Manual provides a description of the MESSENGERS-C (Version 1.2.05) functionality and installation (experimental version).
    • Net Creator User Manual describes tools that can be used to automatically create a logical network for MESSENGERS-C system
    • Graph Creator User Manual describes yet another, graphical tool that can be used for logical network creation. The files output by GraphCreator should be used as input to the NetScheduler program, described in the "Net Creator User Manual"
    • The MESSENGERS software may be obtained free of charge for non-commercial purposes.

User Manuals and System Installation for MESSENGERS-I

    • MSGR01 MESSENGERS User′s Manual
    • MSGR02 MESSENGERS System Library
    • MSGR03 MESSENGERS Daemon Design Book
    • MSGR04 MESSENGERS: Intermediate Code Specification
    • MSGR05 MLEX: The MESSENGERS Assembler
    • MSGR06 MESSENGERS-C Compiler
    • The MESSENGERS software may be obtained free of charge for non-commercial purposes. Installation instructions are given in MSGR01: MESSENGERS User′s Manual. If you are interested in installing/using MESSENGERS on your system, please send a message to to receive a decryption keyword.