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
BootCamp
October 16-18
PLoP
October 17-21
Splash 2010 days

PROGRAM

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.

You can download the conference versions of all the papers accepted for PLoP 2010.

Final versions will be available after the conference.

Writers' Workshops

  A. 'Frameworks & Environments' group, led by Richard P. Gabriel

  "Metaprogramming in Ruby -- A Pattern Catalog"
      by Sebastian Günther, Marco Fischer

  "Framework Engineering"
      by Youngsu Son, Jemin Jeon, Hyukjoon Lee, Gaeyoung Lee

  "Patterns of Closed Object-Oriented Meta-Architectures"
      by Hugo Sereno Ferreira, Filipe Figueiredo Correia, Joseph Yoder, Ademar Aguiar

  "Design Principles for Internal Domain-Specific Languages: A Pattern Catalog illustrated by Ruby"
      by Sebastian Günther, Thomas Cleenewerck

  "Architectural Patterns for Metadata-based Frameworks Usage"
      by Eduardo Guerra, Clovis Fernandes, Fábio Silveira

  B. 'Process & Design' group, led by Ralph Johnson

  "Persistent State Pattern"
      by André Saúde, Ricardo Victório, Gabriel Coutinho

  "Messaging Design Pattern and pattern implementation"
      by Al Galvis

  "Observations on the Observer Pattern "
      by Christian Köppe

  "A Pattern for a Sensor Node"
      by Anupama Sahu, Eduardo B. Fernandez, Mihaela Cardei

  "A Pattern System of Underlying Theories for Process Improvement"
      by Michael Van Hilst, Eduardo B. Fernandez

 "Extending the Strategy Pattern for parameterized Algorithms *"
      by
Ognjen Sobajic

  C. 'People & Ideas' group, led by Linda Rising

  "Patterns for Introducing New Ideas"
      by Mary Lynn Manns, Linda Rising

  "Some patterns for organizing recurring PLoP events"
      by Lise Hvatum

  "The structure of patterns"
      by Christian Kohls

  "Patterns for Design Thinking"
      by Rebecca Rikner, Dave West

  "Patterns for Sustainable Development"
      by Linda Rising, Karl Rehmer

 "Patterns for Online Discussions"
      by Jill O'Sullivan, Raul Zevallos

  D. 'Security & Systems' group, led by Rebecca Wirfs-Brock

  "Towards a FLOSS Pattern Language"
      by Christoph Hannebauer, Vincent Wolff Marting, Volker Gruhn

  "Adaptive Object-Model Metadata Evolver"
      by Atzmon Hen-Tov, David H. Lorenz, Lena Nikolaev, Lior Schachter, Rebecca Wirfs-Brock, Joseph W. Yoder

  "Model-Driven Security Patterns Application and Validation"
      by Yuki Shiroma, Atsuto Kubo, Nobukazu Yoshioka, Eduardo B. Fernandez, Hironori Washizaki, Yoshiaki Fukazawa

  "A Security Pattern for Data Integrity in P2P Systems"
      by Benjamin Schleinzer, Nobukazu Yoshioka

  "Multiple Secure observers using J2EE *"
      by Vivek Gondi

  E. 'Reliability & Trust' group, led by Robert Hanmer

  "Patterns for building dependable systems with trusted bases"
      by Eunsuk Kang and Daniel Jackson

  "Patterns for Measuring Performance-Related QoS Properties in Distributed Systems"
      by Ernst Oberortner, Uwe Zdun, Schahram Dustdar

  "Software Rejuvenation"
      by Robert Hanmer

  "Sharing Bad Practices in Design to Improve the Use of Patterns"
      by Cédric Bouhours, Hervé Leblanc, Christian Percebois

  "Pattern-oriented Knowledge Model for Architecture Design"
      by Kiran Kumar, Prabhakar T.V.

  "The AnyCorrectiveAction Stable Design Pattern *"
      by Shivanshu Singh, Mohamed Fayad

Day-by-Day

Friday, October 15th - Bootcamp
08:30-09:00 Assemble
09:00-12:00 Parts of a Pattern
12:00-13:30
Lunch Break
13:30-17:00 Bootcamp continues and Writing Workshop discussions with a mentor
17:00-17:30 Wrap Up
Saturday, October 16th
07:30-08:30Breakfast
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
10:30-11:00
Coffee Break
11:00-12:00 Pattern Workshop Demo
12:00-13:00
Lunch
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
07:30-08:30Breakfast
08:30-09:00
Day Overview & Games
09:00-10:30 Writers Workshop III
10:30-11:00
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
07:30-08:30Breakfast
08:30-09:00
Day Overview & Games
09:00-10:30 Writers Workshop VI
10:30-11:00
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!