Describir: Software Engineering for Self-Adaptive Systems