Important Dates
May 23rdMay 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
- BootCamp
- October 21-23
- PLoP
- October 22-27
- Splash 2011 days
PROGRAM
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:
- Invited Talks
- Accepted Papers: for Writers' Workshops.
- Focus Groups (new in 2011)
- PLoP half-day Workshops (new in 2011)
- Day-by-Day: Thursday, Friday, Saturday, and Sunday
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" | |
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" | |
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" | |
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?" | |
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 Hillside.net website and pattern mailing lists. |
"Patterns for Internal Domain Specific Languages" | |
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" | |
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!" | |
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 Hillside.net website. The top results will also be provided in an appendix to a forthcoming book from Wiley. |
"Language Hunting" | |
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
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.
Day-by-Day
Thursday, October 20th - Bootcamp | |
08:30-09:00 | Assemble |
09:00-12:00 | Parts of a Pattern |
12:00-13:30 | |
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! |