Describir: Using Constraint Programming to Manage Configurations in Self-Adaptive Systems.