The core is the non-adaptable part of the mobile
code. Note that its existence is a necessary
boundary condition, since adaptation has to start
from a well-defined state.
The non-adaptable part must move to every host
on which the mobile code will run and form the minimal footprint
of executable code which must be transfered over the network.
The adaptable parts are implementations of equivalent tasks,
but suitable for different environments.
The core and the adaptable parts are designed
by the application programmer
(shaded in grey in fig. ).
An adaptation framework which is application independent provides a mechanism to determine the appropriate adaptable parts for the current environment, referred as context awareness , to load the adaptable parts over the network from a repository and to link the parts into the core, denoted as reconfiguration , which is the contents of the following section.