A suitable software architecture –for example in the area of distributed application– can be composed of known-to-work solutions. These are also known as design patterns. However, there is little tool support for the construction of an application that conforms to design patterns. In most cases, the patterns are captured informally as descriptions in natural language. Our approach uses graph queries and graph rewriting rules to specify the patterns. A prototype that is able to execute these rules can be generated from the graph grammar specification by means of the PROGRES environment. The advantages of this approach are twofold: (1) patterns are specified on a high level of abstraction and (2) the resulting tools can be easily adapted to new patterns. 1 Background The work presented here is derived from a project, which we started 1995 at the technical university Aachen. The project (funded by the BMBF) includes two industrial partners (Aachener and Münchener insurance company ...