Since the concept of Grid computing has emerged, finding the right approach for developing Grid applications is still an open question. The challenge consists in making applications able to benefit from the huge amount of resources without burdening the developer. It has been observed that Grid computing environments are dynamic: for example, resource sharing between applications, administrative tasks and failures lead to changes of processor and network availability even during the execution of application. Since this observation, it has been proposed that applications should be able to adapt themselves dynamically to environmental changes. This technique is dynamic adaptation. Making applications able to modify themselves according to their actual execution environment guarantees that they will always behave in the best possible way given the resources allocated to them, as far as the expertise of the developer allows it and the resource management system is able to change resource allocation during the execution of applications.


Dynaco (Dynamic Adaptation for Components) is a framework that helps in designing and implementing dynamically adaptable components. This framework is developed by the PARIS team at INRIA-Rennes. Dynaco implementation is based on the Fractal component model and its formalism. The architecture of Dynaco components follows.

Dynaco architecture

In this picture, mc boxes denote instances of the modification controller located in the membranes of the decider, planner and executor components. Thanks to this, the decider, planner and executor components can be themselves modified.

One may notice that being in the membrane of the component, the modification controller component has a direct access to the content (through a plain Java reference).

In Dynaco, the process of achieving dynamic adaptation is split over three phases:

  • Upon the reception of an event that notifies of a change in certain conditions, the component has to make a decision: should it adapt itself to the new situation or not? To do so, it can rely on monitors in order to observe the system. This decision phase is captured by the decider component.
  • Once it has been decided that the component should adapt itself, the component needs to investigate how the adaptation can be achieved. In particular, it has to design a program that lists the tasks that should be performed. This phase is captured by the planner component.
  • Finally, this program has to be executed. The executor component is the virtual machine that implements the semantic of the instructions used by the planner component. To do so, it can rely on modification controller components which implements some primitive instructions by giving a direct access to the content of the components.

Dynaco mainly defines interfaces between those components. In addition, it includes a reference implementation for the Julia implementation of Fractal. With this implementation, only the modification controller components are placed in the membrane of the adaptable component.

When the content of the component encapsulates a parallel code, the executor component has to take care of the synchronization between the parallel processes executing the applicative code and the adaptation actions. Our solution for handling this problem lies in a separated framework, AFPAC.

Some description of Dynaco is given in the following technical report: «Performance and practicability of dynamic adaptation for parallel computing: an experience feedback from Dynaco».

Installation & instructions

For instructions on how to install Dynaco, please refer to the instructions page.


The following people are involved in Dynaco: Françoise André, Jérémy Buisson, Jean-Louis Pazat.

Latest News
No News Found
Project Summary
Tracker Tracker

 - Bugs(0 open / 1 total)

 - Support Requests(0 open / 0 total)

 - Patches(0 open / 0 total)

 - Feature Requests(0 open / 0 total)

Forums  Forums3 messages in 3 forums
Docs  Doc Manager
Mail Lists  Mailing Lists ( 2 public lists )
Tasks  Task Manager
  - To Do
  - Next Release
SCM  SCM Tree ( 307 commits, 8168 adds )
FTP  Released Files



In case of problems, mail the administrators or file a bug

Powered By GForge Collaborative Development Environment