Code Mobility seems suitable to provide effective solutions for the design and deployment of new applications and services in the Internet scenario. There is an increasing interest among researchers and practitioners to apply mobile code (MC) technologies in several areas, such as distributed information retrieval, network management, mobile computing, and electronic commerce. However, mobility adds complexity to the design and deployment of applications, because programmers have to decide and express when and where to move agents on the basis of the knowledge of application and environment state. The traditional programming approach to MC-based applications is to statically hard-code migration rules into the application code at design time. This lacks flexibility and requires re-engineering efforts to address changes. For instance, this approach is not appropriate when it is not possible to make a-priori assumptions on the logical and physical network topology.
There is the need for new solutions to enable the adaptation of migration strategies to changes in the underlying operating environment and in the application requirements. The first proposals recognise the principle of separation between mobility and computational concerns as a key design requirement.
We propose a policy-based approach to achieve separation of concerns and to leverage the design and development of MC applications. Policies are rules governing choices in the behaviour of a system separated from the components in charge of their interpretation. Policies simplify the problem of expressing complex management strategies and increase the flexibility and dynamicity of systems management.