Important Dates

June 1st
Papers due
June 10th
Shepherding starts
Jul 10th
Shepherding Recommendations Due
Aug 28th
Notification of Acceptance
Sep 27th
Conference Draft Due
Sep 16th
Early Registration ends
October 15
October 16-18
October 17-21
Splash 2010 days


Pattern Languages of Programs (PLoP™) conference is a premier event for pattern authors and pattern enthusiasts to gather, discuss and learn more about patterns and software development.

The conference program includes the following kinds of sessions:

PLoP and the Bootcamp will be held at the John Ascuaga's Nugget Casino Hotel and Convention Center in Reno/Tahoe, NV, USA.

Conference at a Glance

The BootCamp, a special full-day Pre-PLoP activity for newcomers, will happen on Friday, 15th October, 8h30-17h00.

The PLoP conference starts on Saturday morning, October 16th, at 7h30, with breakfast, and it will conclude on Monday, October 18th at noon.

Invited Talks

"A Timeless Way Of Communicating: Alexandrian Pattern Languages "

Joshua Kerievsky, Saturday, 16, 09:30-10:30

If you pick up the masterpiece, "A Pattern Language", by Christopher Alexander et. al, you will discover a book filled with engaging photographs, hand-drawn sketches, big bold, hard-to-miss text, memorable stories and scholarly notes for the academically minded. One can quickly "surf" this book by focusing only on pattern titles, images and headlines or one can dive deep into the book by reading the detailed text of each pattern. In short, A Pattern Language uses a timeless way of communicating, a form that engages people and provides numerous pathways for accessing the knowledge. As authors of software-related pattern languages, we must understand what it takes to make our own works endure.

In this talk, we will analyze the form and content of real-world software patterns/pattern languages, looking for what makes them succeed or fail at engaging the reader and providing knowledge pathways. If you are interested in crafting great pattern languages, this talk will help you discover some essential ingredients.

Joshua Kerievsky is an entrepreneur, author, programmer and globally recognized Agile coach. After writing software on Wall Street for 7 years, he founded Industrial Logic in 1996 to share the "light and magic" of software development. Since the late 1990s, Joshua has led successful Agile transitions at globally recognized companies in advertising, media, telecom, biotech, healthcare and finance. He has created over 10 multimedia eLearning albums that have helped thousands of people practice and gain Agile skills. His 2004 bestselling book, Refactoring to Patterns, won a Jolt Cola award and has been translated to 8 languages. Joshua is passionate about discovering better ways to produce extremely useful software.

"Nature of Order: Inspiration or Esoteric Distraction?"

Rebecca Wirfs-Brock, Sunday, 17, 13:00-14:00

Christopher Alexander believes that human creations are more "habitable"(comfortable to use and experience) if they share certain properties of natural things. In the Nature of Order he identifies 15 such properties and the processes for creating such habitable constructs that have those properties.

In this talk we will make some obvious connections between good design, code, and architectures that exhibit these properties and the processes we use to create software. For example, good shape can be a simple matter of using consistent indentation in a method. Nice idea. But so what? Pursuing good shape more deeply can lead you to decompose a method into helper methods, keeping every step in the original method at a similar level of abstraction. But still. Nice ideas, but do they add up to truly habitable software. Or are there even more profound acts we can take to bring life to software? Can we draw inspiration from Alexander's work, or should we stop all this fretting and realize that good software is the result of good programmers simply paying attention to details?

"Framework Evolution: from Inheritance to Metadata"

Eduardo Guerra, Monday, 18, 11:00-12:00

Framework is a piece of software that provides reuse at larger granularity, enabling not only code reuse but also design reuse. It uses techniques that allow applications to specialize its logic to solve a more specific problem. These techniques evolved over time, starting in the use of inheritance and composition and passing through the use of reflection, aspect-orientation and custom metadata. This talk provides an evolutionary perspective of these techniques, explaining how the most recent frameworks combine them to provide both productivity and flexibility for the applications.

Focus Groups

"Supporting Alignment of Business and IT using Reference Models and Reference Architectures"

Jason Hogg, Sunday, 17, 16:00-18:00

Patterns play a critical role in helping our industry both capture proven practices and establish a common vocabulary for practitioners.

However, there is also a need to recognize the need to establish "end-to-end" solution oriented architectural guidance.

This focus group will present an overview of how Microsoft is using Reference Models and Reference Architectures to help establish a bridge between business and IT. The panel will include:

  • High-level overview demonstrating how capability maps, business dependency networks and reference architectures can be used together as the basis for the bridge between business and IT
  • In-depth discussion around exactly what requirements reference models and reference architectures should fulfill, the state of our industry and the practices we are implementing to ensure consistency across multiple instances of these assets
  • Overview of reference models and reference architectures created to support the BI domain
"Focus Group on Patterns Languages: Addressing Challenges"

Vijay Kumer Eranti, Shivanshu K. Singh, M.E. Fayad, Sunday, 17, 16:00-18:00

A pattern language consists of a cascade or hierarchy of parts, linked closely together by patterns, which solve generically recurring problems that are associated with the parts. Each pattern has a title, and collectively the titles form a language for design. Pattern Languages are a collection of interrelated patterns. These interrelated patterns are combined in any way and combination to create new environments, where practitioners can solve context-specific problems. Precisely, the concept of pattern languages has invaded over into the software engineering field, to describe prior experiences and the processes that stem from them, in a very simple language, where patterns are tactfully woven as a whole, and can be combined in any manner to solve a particular and complex problem. Yet, this process is still done in an ad-hoc manner and is not straightforward enough, to ease and speed up the software development process. Many different kinds of problems still exist, e.g. missing indicators/guidelines for in-context patterns selection within the pattern language, lack of proper classification of patterns, rationale within the pattern language, lack of traceability, lack of a systematic way for compositing these patterns, struggles and conflicts in providing full software maintainability and stability and many more.
"Focus Group on Unified Data Mining Engine: Addressing Challenges"

Shivanshu K. Singh, Vijay Kumer Eranti, M.E. Fayad, Sunday, 17, 16:00-18:00

Data mining is the discovery of knowledge of analyzing enormous sets of data, by extracting the meaning behind the data, predict the future trends, figure out patterns that are otherwise not obvious and assist organizations and individuals to make sound decisions, based on this decisive knowledge and information.

If we closely look into any data-mining tool, we can see that there is some common core logic, independent of the data and application, still most of existing implementations ignore that fact and concentrate on a specific problem, limiting tools to only to a particular set of data for a specific application. There are different vendors who are trying to solve this problem, but mostly they support only a subset of different data-mining algorithms. There does not yet exist any holistic solution and a ,stable engine,, which can work on any data set and in any domain. This focus group topic is driven by three main questions: how can we develop a ,unified software engine, for data mining that unifies all these different silos of intelligence into one unified solution; what kind of technologies and tools are needed to build such an engine? And how can we overcome the existing problems?
"Focus Group on Organizing Recurring PLoP Events"

Lise Hvatum, Sunday, 17, 16:00-18:00

There are several recurring PLoP events happening around the world each year. Each event has its own style, which is a variation over the main theme with workshops and games. The organizers are volunteers from the patterns community.

In this focus group, we will discuss the applicability of patterns to capture some of the knowledge needed for the organizers, and proceed to explore the knowledge area. Specifically we will discuss around conference quality and conference sustainability, paper process, logistics, and any other theme that the participants may bring up.

All PLoP participants are of course welcome - and we especially hope for participants with experience in organizing smaller conferences!

Accepted Papers

All accepted papers were organized by different categories, including Frameworks & Environments, Persistent State Pattern, Patterns for Introducing New Ideas, Security & Systems, and Reliability & Trust.


Friday, October 15th - Bootcamp
08:30-09:00 Assemble
09:00-12:00 Parts of a Pattern
Lunch Break
13:30-17:00 Bootcamp continues and Writing Workshop discussions with a mentor
17:00-17:30 Wrap Up
Saturday, October 16th
08:00-08:30 Registration
08:30-09:00 Games
09:00-09:30 Welcome and Overview
09:30-10:30 Invited Talk: "The Alexandrian Pattern Format" by Joshua Kerievsky
Coffee Break
11:00-12:00 Pattern Workshop Demo
13:00-13:30 Games
13:30-14:30 Writing Group/Reading Time
14:30-16:00 Writer's Workshop I
16:00-16:30 Coffee Break
16:30-18:00 Writer's Workshop II
18:00-21:00 Reno Dinner & BoFS
Sunday, October 17th
Day Overview & Games
09:00-10:30 Writers Workshop III
Coffee Break
11:00-12:30 Writer's Workshop IV
12:30-13:30 Lunch
13:30-14:30 Invited Talk: "Nature of Order: Inspiration or Esoteric Distraction?" by Rebecca Wirfs-Brock
14:30-16:00 Writer's Workshop V
16:00-16:30 Coffee Break
16:30-18:30 Focus Groups:
"Supporting Alignment of Business and IT using Reference Models and Reference Architectures" lead by Jason Hogg

"Focus Group on Patterns Languages: Addressing Challenges" lead by Vijay Kumer Eranti, Shivanshu K. Singh, M.E. Fayad

"Focus Group on Unified Data Mining Engine: Addressing Challenges" by Shivanshu K. Singh, Vijay Kumer Eranti, M.E. Fayad

"Focus Group on Organizing Recurring PLoP Events" lead by Lise Hvatum
18:30-21:30 Reno Dinner & BoFS
Monday, October 18th
Day Overview & Games
09:00-10:30 Writers Workshop VI
Coffee Break
11:00-12:00 Invited Talk: "Framework Evolution: from Inheritance to Metadata" by Eduardo Guerra
12:00-12:30 Closing Retrospective
12:30-13:00 Goodbye!