Since the introduction of design patterns, a large number of patterns have been identified and documented. As a result, patterns in the literature relate one another in different ways. Unfortunately, most of these patterns are not properly organized. In applying these patterns in to problems at hand novice designers encounter many difficulties such as identification and selection of collectively applicable set of patterns that suits the problem at hand. We investigate mathematical structures in existing pattern organization techniques such as pattern catalogues, pattern systems and pattern languages. Then we attempted to use these mathematical structures in developing a new organization technique. This paper proposes a new organization method and illustrates it with a collection of object oriented patterns drawn from the literature. Our investigation indicated that existing pattern organizations form graph structures and categorical structures. These structures are formed by patterns and relationships among them. The proposed organization method organizes patterns into sequences according to the relationships among patterns. This organization consists of two types of categories: major category and alternative category. The major categories are defined based on the Uses relationship and the alternative categories are defined based on the Variants, Refines and Conflicts relationships. Each major category consists of patterns that have potential to form a pattern system or a pattern language. So they assist practitioners in finding a sequence of related patterns that can be collectively applied to solve complex problems. Each alternative category consists of patterns that provide alternative solutions to the same problem or similar problems. It assists in finding a number of possible solutions (patterns) to a particular problem. The proposed organization combines these two types of categories by structuring them into pattern sequences. A pattern sequence consists of a major category and a collection of related alternative categories. Pattern sequences assist practitioners in finding a collectively applicable patterns and possible alternatives to them. So pattern sequences facilitate the selection of most appropriate sequences of patterns to solve complex problems without searching through the pattern literature.
How to Cite:
Kodituwakku, S.R., 2011. Mathematical structures in pattern organizations. Journal of Science of the University of Kelaniya Sri Lanka, 4, pp.46–67. DOI: http://doi.org/10.4038/josuk.v4i0.2697