PLoP® 2010 Conference Proceedings


October 16th - 18th, 2010, Reno, NV, USA


Download the PLoP 2010 Frontmatter (PDF)

PLoP 2010 is in cooperation with ACM, AGILE, & OOPSLA


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.

Preliminary versions of these papers were workshopped at Pattern Languages of Programming (PLoP) ’10 October 16 - 18th in Reno, Nevada, USA. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission. Copyright is held by the authors.

ISBN: 978-1-4503-0107-7

Additional copies may be ordered prepaid from:
ACM Order Department
General Post Office
P.O. Box 30777, New York, NY 10087-0777

ACM Order Number: TBD

Made in the USA

Welcome to PLoP 2010

Welcome to PLoP10, the 17th Conference on Pattern Languages of Programs, a premier event for pattern authors and pattern enthusiasts to gather, discuss and learn more about patterns, pattern writing, pattern reviewing, shepherding, software development, collaboration, and more, much more.

To accomplish this, the conference program offers a rich set of activities that altogether promote a friendly and effective environment to share expertise, and to give and get feedback from fellow authors. The pre-conference activities start Friday morning (October 15th) at the BootCamp, a special session aimed at people new to patterns and/or PLoP, led by Robert Hanmer and Linda Rising. The main conference starts on Saturday morning (October 16th).

Writers' Workshops are the primary focus of our time at PLoP and it will be during them that we will discuss and review each other’s papers in a very fruitful way. We have five groups of five to six papers each, which were selected from an initial set of around 36 submissions, and after a considerable period of shepherding. Papers of the Writing Group will have in addition the
opportunity of being evolved during PLoP with the mentoring of experienced pattern

We are excited to have keynotes from Joshua Kerievsky about “A Timeless Way Of Communicating: Alexandrian Pattern Languages and Rebecca Wirfs-Brock who asks: “Nature of Order: Inspiration or Esoteric Distraction?”. Eduardo Guerra will give a presentation about “Framework Evolution: from Inheritance to Metadata“. There will be four focus groups this year which will give opportunity to inspired discussions. Other activities, such as the 'Birds of a Feather' (BoF), let you informally organize your own session about topics you are interested in, or to attend already organized working sessions. Just announce them or subscribe to them!

After the conference, the papers are strongly encouraged to be further evolved in order to
accommodate the suggestions for improvement gathered during the discussions at the
conference. A final version of evolved papers will be published in the ACM Digital Library as PLoP 2010 Proceedings

This year PLoP is co-located with the SPLASH conference, in the wonderful city of Reno/Tahoe.

And last but not least, we have the Games, a well-established and very important activity at PLoP. Guided by Robert Hanmer, the games will help us all on ice-breaking, to exercise our body and mind, to collaborate better, and to reinforce a community of trust. Some of the games have become ‘traditions', while others will be a surprise. Of course none of these games is related to casino gambling ;-).

We would like to thank all authors, shepherds, reviewers, and Program Committee members for their time and collaboration with PLoP. Thank you!

All of these words just to say that we wish you an amazing and productive time during PLoP10!

Christian Kohls, PLoP 2010 Chair


PLoP 2010 Conference Description

Pattern Languages of Programs (PLoP) conference is a place for pattern authors to have their pattern languages reviewed by fellow authors. The purpose of PloP is to promote development of pattern languages on all aspects of software, including design and programming, software architecture, user interface design, domain modeling, and software process. Domain-specific patterns were encouraged for PLoP 2007.

PLoP 2010 was held in Reno, NV October 16-18th, 2010.

We invited contributions from practitioners and researchers on:

  • Patterns and pattern languages

  • Critiques of patterns and pattern languages

  • Research on patterns and pattern languages

  • Case studies of the use of patterns and pattern languages

PLoP is different from other conferences. It is run in the "writers' workshop" style, as described in Richard Gabriel's book. Before the conference, authors interact with a "shepherd" who helps them improve their paper to make it as ready for PLoP as possible. A program committee reviews the papers for final acceptance after they have gone through the shepherding process. The writers workshops provide more feedback, and so authors revise their paper again after PLoP. The papers here are the version produced by authors after PLoP, not the ones reviewed at PLoP.

The PLoP '10 conference also hosted presentations concerning a number of hot topics in the patterns community. Following are a list of presentations from PLoP 2010:

  • "A Timeless Way Of Communicating: Alexandrian Pattern Languages "
    by Joshua Kerievsky
  • "Nature of Order: Inspiration or Esoteric Distraction?"
    by Rebecca Wirfs-Brock
  • "Framework Evolution: from Inheritance to Metadata"
    by Eduardo Guerra
  • "Supporting Alignment of Business and IT using Reference Models and Reference Architectures"
    by Jason Hogg
  • "Focus Group on Patterns Languages: Addressing Challenges"
    by Vijay Kumer Eranti, Shivanshu K. Singh, and M.E. Fayad
  • "Focus Group on Unified Data Mining Engine: Addressing Challenges"
    by Shivanshu K. Singh, Vijay Kumer Eranti, and M.E. Fayad
  • "Focus Group on Organizing Recurring PLoP Events"
    by Lise Hvatum

The table of contents is organized by the workshop groups and the chairs as they were presented at PLoP.

Table of Contents

Writers' Workshops

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


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

  "Core Patterns of 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

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

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

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

 "Parameterized Strategy Pattern"
Ognjen Sobajic, Mahmood Moussavi, Behrouz Far

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


  "Additional Patterns for Fearless Change III"
      by Mary Lynn Manns, Linda Rising

  "Patterns for Organizing PLoP"
      by Lise Hvatum

  "The Structure of Patterns"
      by Christian Kohls

  "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 Pattern Language for FLOSS Development"
      by Christoph Hannebauer, Vincent Wolff-Marting, Volker Gruhn

  "Dynamic Model Evolution"
      by Atzmon Hen-Tov, David H. Lorenz, Lena Nikolaev, Lior Schachter, Rebecca Wirfs-Brock, Joseph W. Yoder

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

  "Secure Chained Observer Pattern in Distributed Systems"
      by Vivek Gondi and Datta G

  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 Service-Oriented 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



The PLoP Conference would not be a success without the volunteer help of the shepherds and program committee members. The shepherds devote hours of their time to helping authors improve their papers pre-conference. The program committee members help organize the conference, handle requests, and communicate with attendees.

We would like to thank all those who helped make PLoP 2010 a complete success.

Conference Organization Committees

Conference Chair Christian Kohls
Publicity & BootCamp Linda Rising(Independent Consultant, USA)
Bob Hanmer (
Alcatel-Lucent, USA)
Publications Pam Rostal
Director of Local Operations Joseph Yoder (The Refactory Inc., USA)
Registrations Jason Frye (Hillside Group, USA)
Web Design
Ana Ferreira
Miguel Carvalhais (id:D / FBAUP, Portugal)
Jason Frye (Hillside Group, USA)


Shepherding Committee

  • Alejandra Garrido
  • António Rito Silva
  • Berna L. Massingill
  • Bob Hanmer
  • Cecilia Haskins
  • Christian Kohls
  • Daniel May
  • Eduardo Fernandez
  • Eugene Wallingford
  • Fernando Castor Filho
  • Hironori Washizaki
  • Jorge L. Ortega Arjona
  • Joseph Bergin
  • Joseph Yoder
  • Kyle Brown
  • Linda Rising

Programming Committee