Design of self-adaptive, autonomic Cyber-Physical Systems (CPS) operating in a not fully determined environment is a significant challenge, especially if the design is to provide for a sufficient level of dependability. This stems partly from the fact that the concerns of self-adaptivity and dependability are to certain extent contradictory. In this report, we present an extension to IRM (Invariant Refinement Method) – a design method targeting CPS – that addresses self-adaptivity while preserving the dependability aspects. Specifically, we extend IRM to provide traceability between system requirements, assumptions about the environment, and predefined variants of system architecture. Additionally, based on this traceability, we propose a method for adaptation at runtime that allows coping with unexpected situations in an undetermined environment. As a proof of concept, we implemented the proposed method for the DEECo component model where adaptation is based on dynamic ensembles of components.