Skip to main content

Modifiers: Increasing Richness and Nuance of Design Pattern Languages

  • Chapter
Transactions on Pattern Languages of Programming II

Part of the book series: Lecture Notes in Computer Science ((TPLOP,volume 6510))

Abstract

One of the challenges when establishing and maintaining a pattern language is to balance richness with simplicity. On the one hand, designers need a variety of useful design patterns to increase the speed of their design efforts and to reduce design risk. On the other hand, the greater the variety of design patterns in a language, the higher the cognitive load to remember and select among them. One solution to this problem is the concept of a modifier design pattern, a design pattern for pattern languages. A modifier pattern is a named, documented variation that can be applied to some set of other design patterns. They create similar, useful changes and refinements to the solutions derived from any pattern to which they are applied. The modifier concept, described in this paper emerged in a relatively new design pattern language for collaborative work practices in which the design patterns are called thinkLets. When analyzing the thinkLet pattern language, we found that many of the patterns we knew were variations and refinements of other patterns. However, we also found patterns in these variations; we found variations that could be applied to different patterns, with similar effects. We document these variations as modifiers. In this paper, we introduce the concept of modifier design patterns and illustrate the use of modifiers with two case studies.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 16.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Alexander, C.: The Timeless Way of Building. Oxford University Press, New York (1979)

    Google Scholar 

  2. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Elements of Reusable Object-Oriented Software. Addison-Wesley Publishing Company, Reading (1995)

    Google Scholar 

  3. Lukosch, S., Schümmer, T.: Groupware Development Support with Technology Patterns. International Journal of Human Computer Systems 64 (2006)

    Google Scholar 

  4. Rising, L.: Design Patterns in Communication Software. Cambridge University Press, Cambridge (2001)

    MATH  Google Scholar 

  5. Niegemann, H.M., Domagk, S.: ELEN Project Evaluation Report. University of Erfurt, Erfurt (2005)

    Google Scholar 

  6. May, D., Taylor, P.: Knowledge Management with Patterns: Developing techniques to improve the process of converting information to knowledge. Communications of the ACM 44, 94–99 (2003)

    Article  Google Scholar 

  7. Kolfschoten, G.L., Briggs, R.O., Vreede, G.J., de Jacobs, P.H.M., Appelman, J.H.: Conceptual Foundation of the ThinkLet Concept for Collaboration Engineering. International Journal of Human Computer Science 64, 611–621 (2006)

    Article  Google Scholar 

  8. de Vreede, G.J., Briggs, R.O., Kolfschoten, G.L.: ThinkLets: A Pattern Language for Facilitated and Practitioner-Guided Collaboration Processes. International Journal of Computer Applications in Technology 25, 140–154 (2006)

    Article  Google Scholar 

  9. Rising, L.: Understanding the Power of Abstraction in Patterns. IEEE Software 24, 46–51 (2007)

    Article  Google Scholar 

  10. Noble, J.: Classifying Relationships between Object-Oriented Design Patterns. In: Australian Software Engineering Conference. IEEE Computer Society Press, Los Alamitos (1998)

    Google Scholar 

  11. Coplien, J.O., Harrison, N.B.: Organizational Patterns of Agile Software Development. Pearson Prentice Hall, Upper Saddle River (2005)

    Google Scholar 

  12. Hvatum, L.B., Simien, T., Cretoiu, A., Hliot, D.: Patterns and Advice for Managing Distributed Product Development Teams. EuroPlop, Irsee, Germany (2005)

    Google Scholar 

  13. Duyne, D.K.v., Landay, J.A., Hong, J.I.: The Design of Sites: Patterns for Creating Winning Web Sites. Prentice Hall PTR, Englewood Cliffs (2006)

    Google Scholar 

  14. Briggs, R.O., de Vreede, G.J., Nunamaker Jr., J.F.: Collaboration Engineering with ThinkLets to Pursue Sustained Success with Group Support Systems. Journal of Management Information Systems 19, 31–63 (2003)

    Google Scholar 

  15. Kolfschoten, G.L., Appelman, J.H., Briggs, R.O., de Vreede, G.J.: Recurring Patterns of Facilitation Interventions in GSS Sessions. In: Hawaii International Conference on System Sciences. IEEE Computer Society Press, Los Alamitos (2004)

    Google Scholar 

  16. Kolfschoten, G.L., van Houten, S.P.A.: Predictable Patterns in Group Settings through the use of Rule Based Facilitation Interventions. In: Kersten, G.E., Rios, J. (eds.) Group Decision and Negotiation Conference. Concordia University, Mt Tremblant (2007)

    Google Scholar 

  17. Grünbacher, P., Halling, M., Biffl, S., Kitapchi, H., Boehm, B.W.: Integrating Collaborative Processes and Quality Assurance Techniques: Experiences from Requirements Negotiation. Journal of Management Information Systems 20, 9–29 (2004)

    Google Scholar 

  18. Valacich, J.S., Jessup, L.M., Dennis, A.R., Nunamaker Jr., J.F.: A Conceptual Framework of Anonymity in Group Support Systems. Group Decision and Negotiation 1, 219–241 (1992)

    Article  Google Scholar 

  19. Kolfschoten, G.L., Santanen, E.L.: Reconceptualizing Generate ThinkLets: the Role of the Modifier. In: Hawaii International Conference on System Science. IEEE Computer Society Press, Waikoloa (2007)

    Google Scholar 

  20. Schümmer, T., Lukosch, S.: Patterns for Computer-Mediated Interaction. John Wiley & Sons Ltd., Chichester (2007)

    Google Scholar 

  21. Bikson, T.K., Eveland, J.D.: Groupware implementation: reinvention in the sociotechnical frame. In: ACM Conference on Computer Supported Cooperative Work, pp. 428–437. ACM Press, New York (1996)

    Google Scholar 

  22. Schümmer, T., Lukosch, S., Slagter, R.: Using Patterns to Empower End-users - The Oregon Software Development Process for Groupware. International Journal of Cooperative Information Systems 15, 259–288 (2006)

    Article  Google Scholar 

  23. Schümmer, T., Lukosch, S.: Structure-Preserving Transformations in Pattern-Driven Groupware Development. International Journal of Computer Applications in Technology 25, 155–166 (2006)

    Article  Google Scholar 

  24. Kolfschoten, G.L., Valentin, E., de Vreede, G.J., Verbraeck, A.: Cognitive Load Reduction Through the Use of Building Blocks in the Design of Decision Support Systems. In: Romano Jr., N.C. (ed.) Americas Conference on Information Systems, AIS, Acapulco (2006)

    Google Scholar 

  25. Sweller, J.: Cognitive load during problem solving: Effects on learning. Cognitive Science 12, 257–285 (1988)

    Article  Google Scholar 

  26. Simon, H.A.: How Big is a Chunk? Science 183, 482–488 (1974)

    Article  Google Scholar 

  27. Bjork- Ligon, E., Bjork, R.A. (eds.): Memory Handbook of Perception and Cognition. Academic Press, San Diego (1996)

    Google Scholar 

  28. Kohls, C., Scheiter, K.: The relation between design patterns and schema theory. In: Conference on Pattern Languages of Programs, pp. 1–16. ACM, Nashville (2008)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Kolfschoten, G.L., Briggs, R.O., Lukosch, S. (2011). Modifiers: Increasing Richness and Nuance of Design Pattern Languages. In: Noble, J., Johnson, R., Avgeriou, P., Harrison, N.B., Zdun, U. (eds) Transactions on Pattern Languages of Programming II. Lecture Notes in Computer Science, vol 6510. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-19432-0_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-19432-0_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-19431-3

  • Online ISBN: 978-3-642-19432-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics