Date of this Version
Patterns have been successfully used in software design to reuse proven solutions. But the complex interconnections and the number of pattern collections is becoming a barrier for identifying relevant patterns and pattern combinations for a given design context. More formal representations of patterns are needed that allow machine processing and the creation of systematic pattern languages that guide composition of patterns into coherent design solutions. In this paper, we present a technique based on Description Logic and Semantic Web technologies to address these problems. A metamodel is presented for developing pattern languages using this technology. Usability patterns are used to demonstrate how this metamodel can be instantiated to form a pattern language for that domain. Our technique provides a computational basis for building intelligent tools that utilize patterns, known best solutions to recurring problems, to support software development activities.