Important Dates

May 23rd May 31st
Papers due
Jun 10th
Shepherding starts
Aug 7th
Shepherding Recommendations Due
Aug 15th
Notification of Acceptance
Sep 23rd
Early Registration ends
Sep 26th
Conference Draft Due
October 20
October 21-23
October 22-27
Splash 2011 days


Pattern Languages of Programs (PLoPTM) 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 Hilton Portland & Executive Tower in Portland, Oregon, USA.

Conference at a Glance

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

The PLoP conference starts on Friday morning, October 21st, at 7h30, with breakfast, and it will conclude on Sunday, October 23rd at 6pm.

Invited Talks

"A Life Spent on the Trampoline of Amnesia"

Richard P. Gabriel, Friday, 10/21, 09:30-10:30

Is beautiful software bad? What does it mean to program for extreme conditions? What's the role of engineering in science? Is software development as creation over? Is scientific incommensurability real? Do we need reality-based runtimes? This talk doesn't have a single theme but is instead a collection of ideas I've had or have heard over the years, sometimes from conversations in obscure taverns in rainy European cities; sometimes while driving in an SUV across the Sonoran Desert. It reflects the disquiet I've felt as I've tested my ideas of programming against others'; the mainstream's. What I hope is that after this talk one of you will explain clearly why I'm wrong-really really wrong-so I might move on to my obsessions.

Richard P. "Dick" Gabriel overcame a hardscrabble, working-class upbringing in the dreadfully industrialized and famously polluted Merrimack Valley of eastern Massachusetts to become one of the few genuine Renaissance men to emerge from the OO milieu: scholar, scientist, poet, performance artist, entrepreneur, musician, essayist, and yes, hacker....

Though somewhat less well-endowed of the effortless intellectual incandescence, easy charisma, and raw animal magnetism of so many of his generation of future object-oriented luminaries, he was able, with discipline, determination, and hard work, to survive the grueling demands of elite, first-tier academic institutions such as MIT, UIUC, and Stanford to earn his PhD and become a leader among the burgeoning legions of Lisp-dom during the early nineties.

However, after a series of the inevitable, endemic startup setbacks that the Internet boom all too often left in its wake, Gabriel grew weary of the cold, cloistered, celibate tedium of engineering culture, and fell willing prey to the lure of the exotic social and intellectual stimulation and blandishments that only the Liberal Arts could offer.

And they, in turn, embraced this gruff emissary from the exotic, intimidating, but newly chic world of technology. Gabriel's dissonant, desiccated, plainchant blank verse was dark, disturbing, distant, candid, calculating, and desperate, at once florid yet monochromatic. It could "cons-up" a soul in a single haunting, searing stanza and remand it remorselessly, insouciantly to the heap in the next. It was like nothing that could be heard on the stale, staid, inbred Writers' Workshop circuits of those times.

But then, as always, poetry alone seldom pays the bills, so the prodigal poet, like a salmon to spawn, returned to his object-oriented roots, proselytizing a newfound artistic sensibility to an aesthetically impoverished community.

His technological audiences, who had subsisted on bland, austere stylistic pabulum born of their collective status as a poor stepchild of mathematics, physics, and engineering, embraced his audacious set-piece guerilla performances and this novel aesthetic dimension in a manner akin to that in which Medieval European palates had embraced the infusion of spices from the East Indies.

His considerable successes in synthesizing the "Two Cultures" in this software setting will likely stand as his enduring legacy.

Gabriel lives in Redwood City, CA, and works for International Business Machines Corporation as an itinerant enforcer. He likes to unwind.
"Fluency Hunting: The Pursuit of Excellence"

Willem Larsen, Saturday, 10/22, 11:00-12:00

Fluency hunting is a call to action, to confront the epidemic of incompetence that we see in institutional American life today - in schools, the workplace, politics, and beyond. There is an eroding landscape of conversation, collaboration, and community. There are pockets of hope, but they struggle against the prevailing current.

The ability to communicate easily about something directly correlates to how much we will talk about it. And the more we talk about it, the more we can deepen our understanding and finally, improve it. It's been very difficult to talk about what works in education up till now.

Fluency hunting is one answer to this challenge. It's a mentoring language, a grassroots tool, and community focused system for communicating about and designing accelerated learning experiences. Fluency hunters possess the ability to design engaging, effective learning experiences for themselves and others. Fluency hunting is an "a-ha!" generating technology that is constantly being improved by the community developing around it.

Willem Larsen was born at the mouth of the Rogue River in Oregon. He grew up on the Chetco, Winchuck, Coos, and Willamette Rivers and is now working and living in Portland, OR.

Willem has worked in community education for the past 15 years-at the Oregon Zoo, OMSI, Tryon Creek State Park, and the Eddy Foundation Land Trust. He was a founding partner of Cascadia Wild! and a founding member of TrackersNW. Through his work in environmental education and local natural history, Willem came to realize that endangered indigenous languages are storehouses of priceless ecological knowledge.
Willem believes that languages, traditions, and skills are treasures that communities hold as a whole-only by learning together can we create the rich lives we want for each other.

Focus Groups

"Educational Patterns"

Christian Köppe and Christian Kohls, Saturday, 10/22, 16:00-18:00

Pedagogical Patterns are a good way to document working practices in teaching. The pedagogical patterns project aims at collecting well-known pedagogical solutions for teaching computer science and made this knowledge available via its website. Meanwhile there have been many new projects and patterns.

The challenge is that these patterns are scattered around many different places and practitioners outside of the pattern community have problems to find all the patterns and understand their relations. Furthermore, we see that pattern languages are described for areas of education other than teaching. There are patterns for learning in general (aimed at the students), e-learning patterns, patterns for supervising students, patterns for the usage of new technologies in education, and many others.  These often cannot be categorized directly as  pedagogical patterns but are still of value for educators.

During the EuroPLoP 2011 a small group of participants (Peter Baumgartner, Reinhard Bauer, Christian Kohls, and Christian Köppe) decided to renew activities in the field of educational patterns. In this focus group we want to start to elaborate on possible ways on how to collect all the educational knowledge documented in patterns and how to make it more and easy accessible to a broader audience. The participants also will be informed about the first steps already taken in this project and about possibilities to contribute or be actively engaged.
"The Role of Software Design in Agile Development"

Eduardo Guerra, Saturday, 10/22, 16:00-18:00

Software development using classical methodologies usually had a long design phase where the software design is specified and defined very carefully using diagrams. Agile methods have a huge focus on source code quality and in a decoupled design, however it uses a completely different approach to do it. It uses a more evolutive and iterative approach, where the design emerge based on application needs. How the agile approach differ from the traditional one? What are the new agile techniques for software design? Is there some traditional design technique that can be applied in an agile environment?

The goal of this focus group is to discuss the role of software design in the context of agile methods. It will begin with an one hour presentation about how software design happens in an agile environment and then the participants will discuss the main issues about its implementation in the real world.

"Have all the Patterns been Mined?"

Robert Hanmer, Saturday, 10/22, 16:00-18:00

Discuss the current state of the pattern writing community to see if pattern authors are being supported well enough.

Have all the patterns been mined?  PLoP authors are tackling higher and higher level patterns or they're analyzing existing patterns or analyzing the relationships between existing patterns.  This session will look at the question whether all the patterns have been mined and consider next steps. 

The goals will be to spur interest in mining actual patterns or in preparing the way for the post-pattern world.  A related goal will be to see if PLoP or Hillside can better support pattern authors, making it more appealing to them to mine new patterns.

The results will be shared through the website and pattern mailing lists.
"Patterns for Internal Domain Specific Languages"

Sebastian Günther, Saturday, 10/22, 16:00-18:00

Internal Domain Specific Languages are an accepted and widely used technique to increase the abstraction and expressiveness of programs. Some programming language communities, such as Ruby, Python, and Scala, frequently provide open source DSLs for various domain. However, the crucial point is to identify the how these DSLs are built. We need to know how to address syntactic variations of a given host language to facilitate the expression of a DSL, and we need to know how to semantically add the domain-specific abstractions using meta-programming capabilities of the host language.

In this focus group, we will explore how to formulate host-language independent patterns for internal DSLs. A strong focus is on existing open-source DSLs and dynamic programming languages. Analysis of DSLs, pattern suggestions, and similar work is welcome.

Attendees: Programmers, designers, and users of DSL can extend their knowledge about how DSL work and how they can be developed.

PLoP Workshops

"Emergent Software Design in Practice"

Eduardo Guerra, Sunday, 10/23, 13:00-17:00

Classical software development methodologies usually adopt an approach for software design based on traditional engineering processes, in which initially it is created a complete design using diagrams and representations, and only later it is actually implemented in source code. Due to the dynamic software nature, many design problems cannot be predicted and some of the predicted problems, which motivated the creation of complex software structures, never actually happen. Thus, the team is not able to see a return on the time invested in a complete and large design phase.

Some agile methods propose a different approach, in which the software design emerge and evolve through the development process. It uses techniques such as Test Driven Development, in which unit tests are created before the source code, and Refactoring, in which the application design is evolved in small steps without changing the external behavior. By using these techniques, it is possible to create and keep the source code clean, enabling it to be more easily changed and evolved.

The goal of this workshop is to present the main concepts of emergent software design using Test Driven Development and Refactoring. Beyond presentations about both techniques, a Coding Dojo will also be conducted to enable the participants to cooperate in the development of a functionality using the presented techniques.

"You Should Know this Pattern! aka Patterns Everyone Should Know!"

Robert Hanmer, Sunday, 10/23, 13:00-17:00

Discuss and have fun identifying the patterns that “everyone should know”.

Method: short introduction followed by brainstorming and voting.

Everyone has a favorite pattern that they think that all their friends should know. This session will learn what these are and why you think people should know them.

The results will be shared with the community and posted on the website. The top results will also be provided in an appendix to a forthcoming book from Wiley.
"Language Hunting"

Willem Larson, Sunday, 10/23, 13:00-17:00

Begin learning the art of Language Hunting (and designing accelerated learning experiences) by having a game-based fluent conversation in one or more languages that you don't yet know. Over this two hour workshop we play games and explore how and why the game works, and talk about applying the fluency principles to skill domains beyond language.

Accepted Papers

All accepted papers were organized into Writer's Workshops by categorizing the contents and trying to build groups with a balance workload (number of papers) and with matching contents. This has resulted in the following Writer's Workshops named after beatiful landmarks around Portland, Oregon:
Workshop A - Mt. St. Helens, main theme Architecture, Workshop Leader Ralph Johnson
Workshop B - Columbia, main theme Design, Workshop Leader Robert Hanmer>
Workshop C - Multnomah, main theme Information, Workshop Leader Eduardo Guerra
Workshop D - Mt. Hood, main theme People, Workshop Leader Richard P. Gabriel
Workshop E - Willamette, main theme Pedagogy, Workshop Leader Christian Köppe

Final Proceedings will be available after the conference.


Thursday, October 20th - Bootcamp
08:30-09:00 Assemble
09:00-12:00 Parts of a Pattern
13:30-17:00 Bootcamp continues and Writing Workshop discussions with a mentor
17:00-17:30 Wrap Up
Friday, October 21st
07:30-08:30 Breakfast
08:00-08:30 Registration
08:30-09:30 Welcome and Overview with Games and Demo Workshop
09:30-10:30 Invited Talk: "A Life Spent on the Trampoline of Amnesia" by Richard P. Gabriel
10:30-11:00 Coffee Break
11:00-12:00 Writer's Workshop I
12:00-13:00 Lunch
13:00-13:30 Writing Group/Reading Time
13:30-15:00 Writer's Workshop II
15:00-15:30 Games
15:30-16:00 Coffee Break
16:00-17:30 Writer's Workshop III
17:30-18:00 Daily Summary
18:00-21:00 Portland Dinner & BoFS
Saturday, October 22nd
07:30-08:30 Breakfast
08:30-09:00 Day Overview
09:00-10:30 Writers Workshop IV
10:30-11:00 Coffee Break
11:00-12:00 Invited Talk: "Fluency Hunting: The Pursuit of Excellence" by Willem Larsen
12:00-13:00 Lunch
13:00-13:30 Writing Group/Reading Time
13:30-15:00 Writer's Workshop V
15:00-15:30 Games
15:30-16:00 Coffee Break
16:00-18:00 Focus Groups: "Educational Patterns" led by Christian Köppe and Christian Kohls
"The Role of Software Design in Agile Development" led by Eduardo Guerra
"Have all the Patterns been Mined?" led by Robert Hanmer
"Patterns for Internal Domain Specific Languages" led by Sebastian Günther
18:00-18:30 Daily Summary
18:30-21:30 Portland Dinner & BoFS
Sunday, October 23rd
07:30-08:30 Breakfast
08:30-09:00 Day Overview & Games
09:00-10:30 Writers Workshop VI
10:30-11:00 Coffee Break
11:00-12:00 Writers Workshop VII
12:00-13:00 Lunch
13:00-15:00 PLoP Workshops:
"Language Hunting" by Willem Larson
"Emergent Software Design in Practice" led by Eduardo Guerra
"You Should Know this Pattern! aka Patterns Everyone Should Know!" led by Robert Hanmer
15:00-15:30 Coffee Break
15:30-17:00 PLoP Workshops continued
17:00-17:30 Closing Retrospective
17:30-18:00 Goodbye!