Abstract. Modern software engineering attacks its complexity problems by applying well-understood development principles. In particular, the systematic adoption of design patterns caused a significant improvement of software engineering and is one of the most effective remedies for what was formerly called the software crises. Design patterns and their utilization constitute an increasing body of knowledge in software engineering. Due to their regular structure, their orthogonal applicability and the availability of meaningful examples design patterns can serve as an excellent set of use cases for organizational memories, for software development tools and for e-learning environments. Patterns are defined and described on two levels [1]: by real-world examples--e.g., textual or graphical content on their principles, best practices, structure diagrams, code etc.--and by conceptual models--e.g., on categories of application problems, software solutions, deployment consequences etc. This ...