Building Component Families to Support Adaptation

Karun N. Biyani and Sandeep S. Kulkarni


Autonomic systems undergo dynamic compositional adaptation that often require {\em state transfer} and {\em synchronization} to correctly initialize the state of the new component, while ensuring that multiple fractions of the component are added and removed consistently. In general, if there are $n$ different components for a given functionality, then there exist $n(n-1)$ possible adaptations for selecting an appropriate component. Identifying all these adaptations is not an easy task. Moreover, as verification of such adaptations is also difficult, it is desirable to reduce total number of these adaptations.

We propose a {\em component family} design for systematically building a repository of components from the perspective of dynamic adaptation. For a family of $n$ components, we show that it suffices to identify $n$ different adaptations. Moreover, to add a new component to this family, it suffices to consider only two adaptations. We also propose a design to separate the adaptation concern from component functionality for simplifying the specification and verification of adaptation. We introduce the {\em enhanced-primitive} relation between two components; when such a relation is known to exist, we show that it is possible to simplify the adaptation and its verification.


Return to the publication list
Return to the Sandeep's home page