Participants : Laurence Duchien, Estéban Duguepéroux, Anne-Françoise Le Meur, Guillaume Waignier [ correspondant ] .
Following our previous work on component-based architecture design, we have extended CALICO  ,  to take into account the design of autonomic systems.
CALICO aims at supporting the design and validation of component-based assemblies. It enables software architects to specify their architectures as models, and to analyze them with respect to application and platform constraints. Analysis may be static or dynamic depending on whether runtime information are needed to check the compatibility of the specified constraints. From the architecture specifications, CALICO can automatically instantiate the running system, as well as the system code instrumentation that is required to perform constraint checking at execution time.
In order to describe autonomic systems, we have extended the previous version of CALICO to add an adaptation metamodel to enable architects to specify the adaptation rules that describe how the system must evolve accordingly to a change in the execution context. Moreover, we have added the support of QoS application properties required to execute autonomic systems. To achieve this goal, we have defined a QoS metamodel and a generic API so that existing QoS sensor frameworks can be integrated into CALICO. The current implementation reuses the WildCat sensor framework  . Furthermore, an adaptation engine, based on Event-Condition-Action paradigm, has been integrated in order to control the execution of adaptation rules.
CALICO has been developed in the context of Guillaume Waignier's PhD thesis. CALICO is an open source software available at http://calico.gforge.inria.fr .