This paper presents our ongoing research towards a safe system evolution. Our approach is based on data-centric, objectoriented systems. Within those systems we utilise (i) multi-dimensional separation of concerns, (iii) explicit, language-independent type declarations in the form of an ontology and (ii) component technology. With this combined approach it is possible to cope with a growing code base, and to safely reuse structure and code which supports a safe system evolution.