PLoP® 2013 Conference Proceedings


October 23rd - 26th, 2013, Monticello, IL, USA


Download the PLoP 2013 Frontmatter (PDF)

PLoP 2013 is in cooperation with ACM.


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 work-shopped at Pattern Languages of Programs (PLoP) ’13 October 23rd – 26th, 2013, Allerton Park/Monticello, IL, 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-941652-00-8

Made in the USA

Welcome to PLoP 2013

Welcome back to the beautiful Allerton Park in Monticello Illinois (the place where the PLoP conferences started) and to PLoP 2013, the 20th 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!

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 Wednesday (October 23rd) at the Boot Camp, a special session aimed at people new to patterns and/or PLoP, led by Rebecca Wirfs-Brock and Joe Yoder. The main conference starts on Thursday morning (October 24th).

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

We are very happy to present an invited talk by Ward Cunningham, well known for his involvement in the development of the wiki technology. Ward shares with us his ideas on “Wiki as Pattern Language”, hereby also presenting new ideas on federated wikis. A second invited talk will be given by Jenny Quillien, who worked together with Christopher Alexander for several years during the writing of The Nature of Order. In her talk “What Christopher Alexander thought was wrong with A Pattern Language and How to Fix It”, she’ll share her insights in a pragmatic and hands-on way.

There will be two focus groups on Saturday where participants are active in exploring ideas and learning from peer discussions. Kyle Brown leads the focus group on “Cloud Computing Patterns” and Jenny Quillien and Dave West will discuss in the second focus group “What do we understand by ‘levels of abstraction’ and ‘levels of scale’?”.

Bob Hanmer will show in a “Shepherding Workshop” on Thursday what the important aspects of this very constructive way of giving feedback are. On Friday evening there will be for a first time a special session. Joe Yoder, Richard P. Gabriel, and Ralph Johnson will kick off a panel discussion. The discussants will among others also include Kyle Brown, Ward Cunningham, Bob Hanmer, and Eugene Wallingford. Main topic of this discussion is to reflect on historical events affecting the software community and how those events will influence the course of software over the next 20 years. There will also be 'Birds of a Feather' (BoF) sessions that let you informally organize discussions about topics you are interested in, as well as joint dinner opportunities. Friday night is reserved for a musical evening, be surprised by Brazilian rhythms and singing.

And last but not least, we have the Games, a well-established and very important activity at PLoP. We are very glad to have George Platts back as game master. He will help us in a very creative way to relax and to help us to break the ice, exercise our body and mind, collaborate better, and reinforce a community of trust. Some of the games have become ‘traditions', while others will be a surprise (you always can expect that with George). After the conference, the authors are strongly encouraged to further evolve their papers in order to accommodate suggestions for improvement gathered during the discussions at the conference. A final version of evolved papers will be published by Hillside and hosted in the ACM Digital Library as PLoP 2013 Proceedings.

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

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

Christian Köppe, PLoP 2013 Chair


PLoP 2013 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 the development of pattern languages, primarily about aspects of software: design and programming, testing, software architecture, user interface design, domain modeling, education, human relations, and software processes. Patterns and pattern languages for domains outside software are also welcome.

PLoP 2013 was held in Allerton Park, Monticello, Illinois from October 23-26, 2013.

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 table of contents is organized by the workshop groups and the chairs as they were presented at PLoP.

Table of Contents

Writers' Workshops

  010000, led by Peter Sommerlad.


"Software Architecture Patterns for System Administration Support"
      by Roland Bijvank, Wiebe Wiersema, Christian Köppe

"A Typology Based Approach to Assign Responsibilities to Software Layers"
      by Leo Pruijt, Wiebe Wiersema, Sjaak Brinkkemper

"A Pattern for Context-Aware Navigation"
      by Mihaela Cardei, Brandon Jones, Daniel Raviv

"AOM Domain-Specific Validations"
      by Atzmon Hen-Tov, David H. Lorenz, Lior Schachter, Rebecca Wirfs-Brock, Joseph W. Yoder

"Common Pattern Modeling Language for Object and Component Architectures"
      by Jacob Geisel, Brahim Hamid, Adel Ziani, Ansgar Rademacher

  000001, led by Joshua Kerievsky.


"Rule Engine for Validating Complex Business Objects"
      by Dibyendusekhar Goswami

"Immutable Source-Mapped Abstract Syntax Tree: A Design Pattern for Refactoring Engine APIs"
      by Jeffrey L. Overbey

"The Dynamic Business Object Pattern "
      by Russ Rubis, Ionut Cardei

"Patterns of Flexible Modeling Tools "
      by Filipe Correia, Ademar Aguiar

"Supervenience as a Design Pattern "
      by Juan R. Reza

  101000, led by Bob Hanmer.


"Whitelisting Firewall Pattern (WLF)"
      by Isaura n Bonilla Villareal, Eduardo B. Fernandez, Maria M. Larrondo-Petrie, Keiko Hashizume

"Security Analysis of Safety Patterns"
      by Christopher Preschern, Nermin Kajtazovic, Christian Kreiner

"Towards Computer-oriented Security Patterns"
      by Antonio Mana, Eduardo B. Fernandez, Jose Ruiz, Carsten Rudolph

"Test-Driven Development Step Patterns For Designing Objects Dependencies"
      by Eduardo Guerra, Joseph Yoder, Maurício Aniche, Marco Aurélio Gerosa

"Two Patterns for Cloud Computing: Secure Virtual Machine Image Repository and Cloud Policy Management Point"
      by Eduardo B. Fernandez, Raul Monge, Keiko Hashizume

"Towards a Pattern Language for Security Risk Analysis of Web Applications"
      by Yan Li, Ragnhild Kobro Runde, Ketil Stolen

  000101, led by Andi Fiesser.


"POSDCORB: Core Patterns of Administration"
      by Paul Chalekian

"Green Enterprise Patterns"
      by Alexander Nowak, Frank Leymann

"Patterns for Internationalization and Cross-Cultural Usability"
      by Philipp Bachmann

"A Pattern Language for Inter-team Knowledge Sharing in Agile Software Development"
      by Viviane Santos, Alfredo Goldman, Eduardo Guerra, Cleidson de Souza, Helen Sharp

"Build from the End"
      by Philipp Bachmann

"Four Insider IT Sabotage Patterns and an Initial Effectiveness Analysis"
      by Lori Flynn, Jason Clark, Andrew P. Moore, Mathew Collins, Eleni Tsamitis, David Mundie, David McIntire

  010010, led by Eugene Wallingford.


"Lecture Design Patterns: Improving Interactivity"
      by Christian Köppe, Joost Schalken-Pinkster

"Educational Patterns for Generative Participant - Designing for Creative Learning"
      by Takafumi Shibuya, Shota Seshimo, Yuji Harashima, Tetsuro Kubota, Takashi Iba

"A pattern language for the ET robot contest: On embedded software engineering"
      by Masashi Kadoya, Toshiyuki Nakano, Takanori Ozawa, Masahiko Wada, Hiroki Itoh, Hironori Washizaki, Yoshiaki Fukazawa

"Patterns of Building LEGO MINDSTORMS Robots"
      by Kyle Brown

"Learning Patterns for Group Assignments - Part 2"
      by Thomas de Cortie, Ronald van Broeckhuijsen, Gerard Bosma, Christian Köppe

  001110, led by Richard P. Gabriel.


"Pattern Diagnostic System: A Diagnostic Approach to Pattern Applications"
      by Taichi Isaku, Koji Yamazaki, Takashi Iba

"Conversations with Alexander"
      by David M. West

"Survival Language: A Pattern Language for Surviving Earthquakes"
      by Tomoki Furukawazono, Shota Seshimo, Daiki Muramatsu, Takashi Iba

"Finding the "right" level of abstraction for patterns"
      by Peter Baumgartner, Christian Kohls

"Wiki as Pattern Language"
      by Ward Cunningham, Michael Mehaffy

"From Pattern Languages to "A Project Language""
      by Masanari Motohashi, Eiiti Hanyuda, Hiroshi Nakano



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 2013 a complete success.

Conference Organization Committees

Conference Chair Christian Köppe (HAN University of Applied Sciences, Netherlands)
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
  • Allan Kelly
  • Andreas Fiesser
  • Andrew Moore
  • Antonio Mana
  • Bob Hanmer
  • Christian Kohls
  • Christian Köppe
  • Claudius Link
  • Dave West
  • Dirk Schnelle-Walka
  • Eduardo Fernandez
  • Eduardo Guerra
  • Ernst Oberortner
  • Eugene Wallingford
  • Filipe Correia
  • Hironori Washizaki
  • James Coplien
  • Jason Yip

Program Committee

Ademar Aguiar (INESC Porto/University of Porto, Portugal)

KV Dinesha (India)

Filipe Figueiredo Correia (University of Porto / ParadigmaXis, Portugal)

Veli-Pekka Eloranta (Tampere University of Technology, Finland)

Eduardo Guerra (National Institute of Space Research - INPE, S‹o JosŽ dos Campos, SP, Brazil)

Bob Hanmer (Alcatel-Lucent, USA)

Neil Harrison (Utah Valley University, USA)

Lise Hvatum (Schlumberger, USA)

Christian Kohls (SmartTech, Germany)

David Mundie (CERT-SEI, USA)

Ernst Oberortner (Boston University, USA)

TV Prabhakar (India)

Jenny Quillien (New Mexico Highlands University, USA, personal website)

Lior Schachter (Open University of Israel, Israel)

Hironori Washizaki (Waseda University, Japan, Japan)

Michael Weiss (USA)

Rebecca Wirfs-Brock (Wirfs-Brock Associates, USA)

Joseph Yoder (The Refactory Inc., USA)

Uwe Zdun (University of Vienna, Austria)