Library providing primitives for patterns aiming at implementing adaptive behavior in component-based software