Skip to Main Content
In the context of heterogeneous networks, like clusters of workstations, the design of programming and execution environments aims both to easily express parallelism and distribution of applications, at conception level, and to adapt automatically their execution to fluctuations that may appear in the evolution of applications or in resources availabilities. We present the ADAJ environment (adaptive distributed applications in Java), targeted towards Java applications, which addresses these aims, through conceptual tools offered by the programming environment and through a dynamic load balancing mechanism, integrated at the middleware level. At a conception level, the developer has the possibility of easily activating processing in a MIMD programming model, using library calls. At the execution level, the efficiency of execution in ADAJ exploits an observation mechanism, which allows to acquire information on processing behaviour in order to dynamically redistribute load, by object migrations.