Abstract
Complex computer systems are seldom made from scratch but they contain significant amounts of legacy code, which then is under continuous pressure for evolution. Therefore, a need for a rigorous method for managing evolution in this setting is evident. In this paper we propose a management method for reactive and distributed systems. The method is based on creating a formal abstraction hierarchy to model the system with abstractions that exceed those that are used as implementation facilities. This hierarchy is then used to assess the cost of a modification by associating the modification to appropriate abstractions in the hierarchy and by determining the abstractions that need to be revisited to retain the hierarchy consistent.