Patterns are documents that capture good solutions to reoccurring problems in different domains. In the IT domain, architectural principles are covered independent of the concrete implementation language or middleware software used. Architectural knowledge becomes persistent over long periods of time. Pattern reference each other to express that there are alternatives or combinations of patterns to solve more complex problems. These interrelations of patterns and the patterns themselves from the so-called pattern language of a domain.
As the identification and authoring patterns are active research topic, patterns are spread across numerous websites, books, conference proceedings etc. This distribution and the use of pure textual references hinders the identification of applicable patterns in a use case and the following of interrelations among them. As a means to resolve this issue, we introduce PatternPedia: a wiki-based pattern repository in which patterns may be authored, interconnected, searched, and recommended to pattern users.
PatternPedia is governed by a pattern metamodel that describes the document structure of patterns and the reference types among patterns. Patterns itself are kept in MediaWiki – the software on which WikiPedia is based, extended with semantic extensions. These semantic extensions are used to add types to links among wiki documents expressing that patterns are alternatives, compositions etc. A solution architect to design new applications may use contained patterns. A pattern author may also use the MediaWiki to write new patterns. For existing patterns, the pattern metamodel provides an XML schema file (XSD) that describes an XML import format for existing patterns. The pattern author may create this import file may base on existing pattern documents to move them to PatternPedia.
The current version of PatternPedia is used to power: http://www.cloudcomputingpatterns.org