Design pattern production

From Open Pattern Repository for Online Learning Systems
Jump to navigation Jump to search

Design pattern production refers to the process used for creating design patterns, which involve pattern prospecting, pattern mining, pattern writing, pattern evaluation, pattern application, and applied pattern evaluation [1]. Although most methods only talk about pattern mining and pattern writing, they implicitly perform pattern prospecting, mining, writing, and evaluation (c.f. Kerth &Cunningham (1997)[2], DeLano (1998)[3], Kohls (2013)[4]). Pattern application and pattern evaluation are additional steps to validate design patterns in actual use [1].

Pattern prospecting

In the field of mineral extraction, the mineral extraction process usually begins with prospecting, which utilizes different methods to identify mineral deposits (e.g., electrical methods, gravimetric methods, magnetic methods, seismic methods, imaging) [5][6][7]. Prospecting helps identify what and where to mine so there is a better chance of finding something valuable. Similarly, pattern prospecting can limit the types of patterns that designers look for and can minimize the search space for mining patterns. As a result, pattern mining can be focused on interesting data subsets where evidence of meaningful patterns has already been found.

Pattern mining

In design pattern literature, there are 4 commonly used methods for pattern mining: introspective approach – using the author’s own experience to identify patterns; social approach – using observations of an environment and expert interviews to identify patterns; artifactual approach – uncovering patterns from existing projects; and pattern mining workshops – using experiences discussed by different experts in discussion groups to identify patterns (Kerth & Cunningham (1997)[2], DeLano (1998)[3], Kohls (2013)[4]). In the context of design pattern production, the term pattern mining only refers to identifying recurring problems and quality solutions from information filtered by pattern prospecting, which is then used for pattern writing. Pattern mining in the context of the 4 previously mentioned methods however, implicitly include pattern prospecting [1].

Pattern writing

Pattern writing refers to expressing design patterns in a written form, which was first introduced by Christopher Alexander in his book "A Pattern Language: Towns, buildings, construction"[8]. Design patterns are expressed in many different forms but they often contain the name of the pattern, the context of the problem, the forces that affect the problem, the problem, the solution, the consequences of the solution, related patterns, and references (c.f., Carlsson (2004)[9]). Each individual or domain usually uses a different format to address the needs of the domain the design patterns are used in.

Pattern evaluation

Pattern application

Applied pattern evaluation

References

  1. 1.0 1.1 1.2 Inventado, P.S. and Scupelli, P. (in press). Data driven design pattern production: A case study on the ASSISTments online learning system. In Proceedings of the 20th European Conference on Pattern Languages of Programs.
  2. 2.0 2.1 Kerth, N. L. and Cunningham, W. (1997). Using patterns to improve our architectural vision. Software, IEEE, 14(1):53-59.
  3. 3.0 3.1 Delano, D. E. (1998). Patterns mining. The Pattern Handbook, 87-96.
  4. 4.0 4.1 Kohls, C. (2013). The theories of design patterns and their practical implications exemplified for e-learning patterns. Ph.D. Dissertation. Catholic University of Eichstätt-Ingolstadt, Bavaria, Germany.
  5. Edge, A.B. and Laby, T.H. (1931). The Principles and Practice of Geophysical Prospecting. Cambridge University Press, New York, NY.
  6. Dobrin, M.B. and Savit, C.H. (1960). Introduction to geophysical prospecting. McGraw-Hill, New York, NY.
  7. Rowan, L.C., Hook, S.J., Abrams, M.J. and Mars, J.C. (2003). Mapping hydrothermally altered rocks at Cuprite, Nevada, using the advanced spaceborne thermal emission and reflection radiometer (ASTER), a new satellite-imaging system. Economic Geology, 98, 5 (2003), 1019-1027.
  8. Alexander, C., Ishikawa, S. and Silverstein, M.(1977). A pattern language: Towns, buildings, construction. Vol. 2. Oxford University Press, New York, NY.
  9. Carlsson, D. (2004). A categorization of HCI patterns. PhD. Dissertation. Department of Computing Science. Umeå University, Sweden