Abstract
Design Patterns provide a "higher-level" view of interactions among collections of objects. They are a response to a common problem in large, object-oriented systems: there is no explicit representation of the patterns of activity of collections of objects.Wrappings are a Knowledge-Based integration infrastructure for constructing complex software systems, that we have developed over several years. We use results from our wrapping research to show how to implement Design Patterns in a form that retains the essential pattern information in the code. This application of wrappings greatly reduces the difficulty of the specific implementation process often described in the Design Pattern literature. The approach does not so much reduce the modeling complexity of implementing patterns as it better organizes the implementation, so that the pattern shape is not lost.In addition, we note that the Design Pattern catalogs are a first step towards domain models in many application domains, and even provide a basis for domain-specific modeling and programming languages. They are therefore a first step towards building a new level of programming languages, at a level of abstraction and power above the traditional compiled versions of object-oriented languages.