Translating Strong Mobility into Weak Mobility

Lorenzo Bettini and Rocco De Nicola

Abstract

Mobile agents are software objects that can be transmitted over the net together with data and code, or can autonomously migrate to a remote computer and execute automatically on arrival. However many frameworks and languages for mobile agents only provide weak mobility: agents do not resume their execution from the instruction following the migration action, instead they are always restarted from a given point.

In this paper we present a purely syntactic translation process for transforming programs that use strong mobility into programs that rely only on weak mobility, while preserving the original semantics. This transformation applies to programs written in a procedural language and can be adapted to other languages, like Java, that provide means to send data and code, but not the execution state. It has actually been exploited for implementing our language for mobile agents X-Klaim, that has linguistic constructs for strong mobility.