Rainbow: architecture-based self-adaptation with reusable infrastructure | IEEE Journals & Magazine | IEEE Xplore