-
PLoP
Pattern Languages of Programs, People, and Practices (PLoP®) is the premier conference for pattern authors and users to gather, discuss and learn more about patterns. To achieve this, the conference promotes the use of patterns and pattern languages, as well as the underlying theory of the nature of order. PLoP 2024 will be held October 13-16, 2024. Visit the PLoP Official Site,
- 1
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
- Pattern Definition
A pattern language defines a consists of patterns and the rules with sequences to combine them.
- Patterns Catalog
A collection of pattern resources on the web. Sign up for an account to add your own.
- Tools for Writing Patterns
Pattern writing tools include example code and pattern writing templates.
- PLoP Conference Proceedings
Past conference proceedings from the PLoP conferences.
PLoP Conferences
Basic Info
Review the Hillside Group Bylaws
Joseph Yoder - President
Joseph (Joe) Yoder (agilist, computer scientist, speaker, and pattern author) is the founder and principal of The Refactory, a company focused on software architecture, design, implementation, consulting, and mentoring on all facets of software development. Joe has presented many tutorials and talks, arranged workshops, given keynotes, and helped organize leading international agile and technical conferences. He is best known as an author of the Big Ball of Mud pattern, which illuminates many fallacies in software architecture. Joe teaches and mentors developers on Agile and lean practices, architecture, building flexible systems, clean design, patterns, refactoring, and testing.
Mary Lynn Manns - Vice-President / Secretary
MaryLynn Manns, PhD is the co-author of two books, Fearless Change: Patterns for Introducing New Ideas, 2005 (also published in Japanese and Chinese) and More Fearless Change: Strategies for Making Your Ideas Happen, 2015, and a Professor Emerita at the University of North Carolina in Asheville. She has given numerous presentations on change leadership at events throughout the world and in many organizations that include Microsoft, Procter & Gamble, Avon, and Amazon.
Kyle Brown - Treasurer
Kyle Brown is an IBM Fellow and Vice President and the CTO to the CIO of IBM. He has over 25 years of experience in designing and implementing large-scale systems. Kyle leads a team responsible for helping our customers adopt IBM’s cloud technologies and build applications using IBM's cloud products and he is a world-recognized expert on topics in the cloud, Java, and software architecture. He publishes often, conducts webinars, and is the author of ten books including the recent "Cloud Adoption Playbook" published in 2018 by Wiley. You can find all of his publications linked at http://www.kyle-brown.com
Rebecca Wirfs-Brock - Member/Director
Rebecca Wirfs-Brock is an internationally recognized leader in the development of object design methodologies. She invented the set of development practices known as Responsibility-Driven Design. Among her widely used innovations are use case conversations and object role stereotypes. She is the regular design columnist for IEEE Software and the author of the classic text, Designing Object-Oriented Software. Her most recent book, Object Design: Roles, Responsibilities and Collaborations, was published in 2002.
Takashi Iba - Member/Director
Takashi Iba is an associate professor at the Faculty of Policy Management and the Graduate School of Media and Governance at Keio University, Japan. He received a Ph.D. in Media and Governance from Keio University in 2003. With collaborating with his students, Dr. Iba created many pattern languages concerning human actions. He authored Learning Patterns (2014), Presentation Patterns (2014), Collaboration Patterns (2014), Survival Language (2015), Words for a Journey (2015) and many academic books in Japanese such as the bestselling Introduction to Complex Systems (1998)."
Eduardo Guerra - Member/Director
Eduardo Guerra is a Researcher at the Free University of Bozen-Bolzano, Italy. The focus of his research can be defined as “find better ways to develop software”, which includes patterns, programming approaches, and processes to be used by the development team. His research fields include: framework development; software architecture; code annotations and metadata; software startups; agile software development approaches; software visualization; and test-driven development.
Christian Kohls - Member/Director
Michael Weiss - Member/Director
Indu Alagarsamy - Member/Director
Valentino Vranić - Member/Director
Richard P. Gabriel - Emeritus Member
Neil Harrison - Emeritus Member
Ademar Aguiar - Emeritus Member
Dr. James Noble - Editor in Chief
James Noble is Professor of Computer Science and Software Engineering at Victoria University New Zealand. He is the author of Small Memory Systems: Patterns for Systems with Limited Memory (with Charles Weir), the editor of Prototype-Based Programming and Pattern Languages of Program Design 5 (with various co-editors). He has published many papers on object-orientation design patterns, aspects, software visualisation and software engineering in international academic conferences and journals.
Errors and the printings in which they were fixed.
16th Printing (December 1998)
- p. 142
- Consequences, item 1: Change "Adapter" to "Adaptee" in the following phrase: "...by committing to a concrete Adapter class."
- p. 328
-
In the implementation of DerivedClass::Operation(), the
comment should come after the call to
ParentClass::Operation():
void DerivedClass::Operation () { ParentClass::Operation(); // DerivedClass extended behavior }
14th Printing (December 1997)
- p. 69
-
In the code for PreorderIterator::Next(), the statement
_iterators.Push(i); was omitted. It should come
immediately after i->First(); like so:
void PreorderIterator::Next () { Iterator * i = _iterators.Top()->CurrentItem()->CreateIterator(); i->First(); _iterators.Push(i); while ( _iterators.Size() > 0 && _iterators.Top()->IsDone() ) { delete _iterators.Pop(); _iterators.Top()->Next(); } }
10th Printing (April 1997)
- p. 94
-
"^ Maze new addRoom: r1; addRoom: r2; yourself" -> should be
"^ Maze new addRoom: room1; addRoom: room2; yourself" - pp. 144, 145
- The discussion on pluggable adapters was improved. Here are the updated pages (12KB PDF).
- p. 253
-
if (strcmp(name, _name) != 0) { should be
if (strcmp(name, _name) == 0) {
5th Printing (December 1995)
- p. 94
-
createMaze: aFactory | room1 room2 aDoor | room1 = (aFactory make: #room) number: 1. room2 = (aFactory make: #room) number: 2. aDoor = (aFactory make: #door) from: room1 to: room2. ... should have had assignment statements
createMaze: aFactory | room1 room2 aDoor | room1 := (aFactory make: #room) number: 1. room2 := (aFactory make: #room) number: 2. aDoor := (aFactory make: #door) from: room1 to: room2. - p. 300
- The arrow labeled "subjects" in the diagram should have a black ball on the end.
3rd Printing (May 1995)
- p. 297
-
"...to let the observer know which observer is sending
the notification."
should be
"...to let the observer know which subject is sending the notification."
2nd Printing (December 1994)
- p. 12, inside-back cover
- The "spaghetti" diagram changed slightly to include an arrow labeled "sharing states" from State to Flyweight.
- pp. 175, 195, 196, 202
- Some lines on these pages did not print correctly. (Well they did, but with width 1 at 2200 dpi. If you squint really hard you might just be able to see them!) Here's what they should look like (24KB PDF).
These are some of the commonly asked for references referred to in Design Patterns and which are available on-line.
-
ET++
Includes papers and the program. -
InterViews/Unidraw
Complete source available. - [HHMV92]
-
An Object Oriented Architecture for Constraint Based Graphical Editing.
Richard Helm, Tien Huynh, Kim Marriott, John Vlissides. Third Eurographics Workshop on Object-Oriented Graphics Champery, Switzerland. 1992This paper presents an object-oriented architecture that integrates the graphical editing framework Unidraw, written in Unidraw, with QOCA, a powerful constraint solving toolkit.
- [Joh92]
-
Documenting Frameworks Using Patterns
Ralph Johnson. Proc of OOPSLA '92, Vancouver, BC, Canada. (PostScript 342k) - [Choices]
-
Many references to the Choices
object-oriented operating system.
- [WG94]
-
ET++ - a Portable, Homogenous Class Library and Application Framework
.
Andre Weinand, Erich Gamma.1994
test
- Hillside Fellowship Award
- PLoP Conference Proceedings
- Patterns for API Design
- Pattern Languages of Programing
- Security Patterns in Practice
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,
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 MorePatterns for API Design
" Patterns for API Design " by Olaf Zimmermann, Mirko Stocker, Daniel Lubke, Uwe Zdun, and Cesare Pautasso
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
PLoP™ (Oct 13-16, 2024)
Check out the main PLoP Website for more information and details!!!
Read More
Security Patterns in Practice
Eduardo Fernandez's new book " Security Patterns in Practice: Designing Secure Architectures with Software Patterns " has been published.
It is the result of 14 years of producing security patterns with students and colleagues. Almost all of these patterns went through PLoP, EuroPLoP, AsianPLoP, or SugarLoafPLoP. Many of you have participated as shepherds or workshop commentators, the book owes something to
… Read More