Issue No. 08 - August (1996 vol. 29)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/2.532046
<p>Most existing distributed systems are structured as statically compiled processes communicating with each other via messages. The system's "intelligence" is embodied in the processes, while the messages contain simple, passive pieces of information (the communicating objects paradigm). In the autonomous objects paradigm, a message has its own identity and behavior. It decides at runtime where it wants to propagate and what tasks to perform there; the nodes become simply generic interpreters that enable messages to navigate and compute. In this scenario, an application's "intelligence" is embodied in and carried by messages as they propagate through the network, much as human agent or a robot would move in space, visiting different locales as it performs tasks. The autonomous objects paradigm is more flexible than the communicating objects paradigm because it allows developers to change the program's behavior after it has started to run. We based our system, MESSENGERS, on autonomous objects, and intended it for the composition and coordination of concurrent activities in a distributed environment. It combines powerful navigational capabilities found in other autonomous objects-based systems with efficient dynamic linking mechanisms supported by some new programming languages, like Java. MESSENGERS allows the dynamic construction of arbitrarily complex control sequences, which are carried through the network. The sequences can invoke node-resident computational programs and coordinate their operation by carrying information among them. </p>
L. F. Bic, M. Fukuda and M. B. Dillencourt, "Distributed Computing Using Autonomous Objects," in Computer, vol. 29, no. , pp. 55-61, 1996.