An Adaptation-based Approach to Incrementally Build Component Systems