Self-adaptation for cyber-physical systems: a systematic literature review