Managing software evolution with a formalized abstraction hierarchy
T. Aaltonen, Tommi Mikkonen · 2003
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. 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.