In order to retrieve, select and apply design patterns in a tool-supported way, we suggest to construct and document a problemcontext pattern that reflects the essence of the problems that the design pattern is meant to solve. In our approach, software engineers can choose examples of source code or UML models from the special domains that they are experts in. We present a method that enables software engineers to describe the transformation from a problem-bearing source model to an appropriate solution model. Afterwards, the inverse of that transformation is applied to the UML solution model of the existing design resulting in an abstract problem-context pattern. This pattern can then be stored together with the solution pattern in a pattern library. The method is illustrated by deriving a problem-context pattern for the Observer design pattern.