Abstract
The construction of increasingly sophisticated software systems demands techniques to reduce the complexity of the development process by supplying automated steps. In a model-based approach, operations to analyse and transform models of the system can be used to supply some automation for the development process. These operations can be embedded in a CASE-based approach to ensure conceptual consistency and support the application of design and process patterns.