Tutorials Engineering Self-Adaptive Software Systems: An Organized Tour A Design for Adaptation Framework for Self-Adaptive Systems