Thursday, March 28, 2024
   
Text Size
Login

Site Search

  • AsianPLoP

    AsianPLoP

    Asian Conference on Pattern Languages of Programs (PLoP) conference is a premier event for pattern authors and users to gather, discuss, and learn more about patterns in the Asia region as well as other regions. The purpose of AsianPLoP is to promote the development of patterns, pattern languages, technologies, and experiences of patterns about programs, people, and practices. Visit the Asian PLoP Site.

  • PLoP

    PLoP

    Pattern Languages of Programs (PLoP®) is the premier conference for pattern authors and users to gather, discuss and learn more about patterns. The purpose of PLoP is to promote the development of patterns, pattern languages, technologies and experiences of patterns primarily about software; however, these for domains outside of software are also welcome. Visit the PLoP Official Site,

  • 1
  • 2

The Hillside Mission

The mission of the Hillside Group is to improve the quality of life and society as a whole. This includes architects, developers, managers, owners, workers, educators, students, and more. Understanding and helping the human element is critical for achieving success. The Hillside Group believes in making processes and design more humane by paying attention to real people and existing practices.

The Hillside Group promotes the use of patterns and pattern languages to record, analyze, and share knowledge to help achieve its mission. The Hillside Group sponsors a variety of activities to achieve this mission—organizing workshops, hosting PLoP (pattern) conferences, and producing publications for discussing, recording, and documenting successful practices.

The Hillside Group supports many different conferences such as: PLoP, EuroPLoP, AsianPLoP, VikingPLoP, SugarLoafPLoP, and ChiliPLoP. These conferences focus on writing groups to better improve patterns through group exposure. Each conference offers advanced topics for the more adept pattern writers. Participants have the opportunity to refine and extend their patterns with help from knowledgeable and sympathetic patterns enthusiasts.

Pattern Books

The Design Patterns Book Series showcases many patterns from PLoP conferences and leading experts in the patterns field.



See our Pattern Book Library filled with over 80 Pattern related books.

Patterns Resources

What are Patterns

From Dick Gabriel

Various people write things like this:

"A pattern is a proven solution to a problem in a context."

I suppose I cannot argue with the actual words, because they are not obviously false, but I fear that this can represent a misconception.

Alexander writes:

Each pattern is a three-part rule, which expresses a relation between a certain context, a problem, and a solution.

I'm sure that because he wrote this many feel that the rewording above is a fair copy. I don't think it is. Alexander is capable of writing simple sentences when the thought he wishes to express is simple. He could easily have said "a pattern is solution to a problem in a context" - he uses most of these words already.

But, instead he wrote the paragraph above and he went on to explain:

As an element in the world, each pattern is a relationship between a certain context, a certain system of forces which occurs repeatedly in that context, and a certain spatial configuration which allows these forces to resolve themselves.

As an element of language, a pattern is an instruction, which shows how this spatial configuration can be used, over and over again, to resolve the given system of forces, wherever the context makes it relevant.

If you walk into a room and you ask Alexander to list all the patterns he sees, he will not look for sheets of paper with patterns written on them, he will look at the room and tell you the ones he sees in the spatial configuration. Similarly, if asked what patterns there are in a software system, an astute patterns person will look at the code and try to list them off.

Each pattern is both a statement in a pattern language and a configuration in a program. I don't think the words in the first quote above capture that. For example, according to it a pattern might be:

Problem: How do you allocate objects in memory?
Context: A large OO system in a virtual memory computer.
Solution: Run some typical problems and figure out which objects communicate frequently in a time locale and put them on the same page.

This is not a pattern. It is merely a solution to a problem in a context. It can be made into a pattern by talking about configurations of objects that communicate according to a particular definition of efficiency in a virtual memory system. One can imagine other things that might be a pattern according to the over-simple definition, such as the way to figure out the number of things in a "this many sets of this size" problem is to use multiplication.

Alexander could have written a 1-sentence definition of what a pattern is, or an essay, but instead he wrote a 550-page book to do it. Because the concept is hard.

I would prefer to see a definition that was more mysteriously worded with a reference to a longer piece, such as

Each pattern is a three-part rule, which expresses a relation between a certain context, a certain system of forces which occurs repeatedly in that context, and a certain software configuration which allows these forces to resolve themselves. [See "A Timeless Way of Hacking."]

 


Patterns have roots in many disciplines, including literate programming, and most notably in Alexander's work on urban planning and building architecture. (Alexander, 1977).

The goal of the pattern community is to build a body of literature to support design and development in general. There is less focus on technology than on a culture to document and support sound design and principles . Patterns have been used for domains as diverse as development organization and process, exposition and teaching, and software architecture. 

A pattern language defines a set of patterns along with some ordering constraints where the patterns contain pointers to related patterns that help complete them. But this is not enough. Alexander uses the idea of a “sequence” to teach designers and builders how to construct a coherent artifact. Without some ideas on how to sequence one’s design thoughts, the underlying pattern language is likely to be mostly a diagnostic tool.

Today, the pattern discipline is supported by several small conferences, PLoPs sponsored by The Hillside Group which includes a rapidly growing body of literature.


 

  • Hillside Fellowship Award
  • PLoP Conference Proceedings
  • Patterns for API Design
  • Pattern Languages of Programing
  • Asian PLoP

The Hillside Fellowship Award

The Hillside Fellowship Program was established in 2016 to recognize members of The Hillside Group who have made exceptional contributions to the Hillside community and to the Patterns community at large. The title of Hillside Fellow denotes an outstanding member who has consistently and  repeatedly:  

  • provided excellence in contributions to the patterns body of knowledge
  • advanced the arts,
Read More

PLoP Conference Proceedings

After the PLoP Workshops, writers are encouraged to modify their papers and submit a final version. The final versions are collected and submitted to the ACM Digital Library. The versions are also available from the conference website. 

Conference Proceedings (ACM Digital Library)

Some of the PLoP accepted papers have been published on the  ACM Digital Library . The program committee will

Read More

Patterns for API Design

 

" Patterns for API Design " by Olaf Zimmermann, Mirko Stocker, Daniel Lubke, Uwe Zdun, and Cesare Pautasso

API Design Patterns

This book is for any domain, technology, or platform

  • Identify and overcome API Challenges
  • Size your endpoint types and operations
  • Design request and response messages and their representations
  • Refine your message design for quality
  • Combine patterns to solve real-world problems and make
Read More

PLoP™ (in person again)

 
Check out the main PLoP Website for more information and details!!!

Read More

Asian PLoP

The premier Asian conference on
Pattern Languages of Programs, People, and Practices

AsianPLoP solicits paper submissions written in both English and Japanese; English papers and Japanese ones will be discussed in different sessions. Both practitioners from the industry and academics are invited to submit their papers. The conference solicits the papers for the following different sessions.

  • Writers' Workshop - papers that document patterns and
Read More

TPLoP

Learn More about Patterns

Disclaimer

Important: PLoP® is a registered
    trademark of The Hillside Group.

© Copyright 1994 - 2024, All Rights Reserved

Login Form