Creating robust software through self-adaptation | IEEE Journals & Magazine | IEEE Xplore