1. A method of creating reconfiguration plans for changing variables from an initial value to a final value in a system while preserving constraints, comprising: assigning configuration values v 1 ,. .. , vk for each variable in a the system where k is a number of variables in the system; assigning time [v] to be a positive, integer-valued time at which the value of configuration variable v is changed from init [v] to final [v], where time [v] is a one-to-one mapping between the set of configuration variables and the integers in the interval [1, k]; encoding a reconfiguration sequence where the value of a configuration variable v immediately after time t is defined as follows: If time [v]=<t then init [v] else final [v]; forming a reconstruction plan by finding values of the time variables time [v 1 ],. .. , time [vk] so that Invariant holds immediately after each time in [1 k]; and computing by first deriving a constraint on the time variables for the Invariant to hold after a generic time t and for each t in [1 ,. .. k], the constraint is instantiated.