PLoP

PLoP® Conference Proceedings
22nd CONFERENCE ON PATTERN LANGUAGES OF PROGRAMS

October 24 - 26, 2015, Pittsburgh, PA, USA

Proceedings

Download the PLoP2015 Frontmatter (PDF)

PLoP 2015 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. PLoP® conferences are promoted and sponsored by The Hillside Group. The Hillside Group, through PLoP® and other activities, promotes the use of patterns and pattern languages to record, analyze, and improve software and its development, and supports any new practices that help achieve these goals.

Preliminary versions of these papers were work-shopped at Pattern Languages of Programs (PLoP) '15 October 24 - 26, 2015, Pittsburgh, PA. 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-03-9

Made in the USA

Welcome to PLoP 2015

The Pattern Languages of Programs (PLoP™) conference is the premier event for pattern authors and enthusiasts to gather, discuss, and learn more about patterns, programming, software development, and more!

This year PLoP was co-located with the SPLASH conference, in Pittsburgh, Pennsylvania. The conference is not traditional—the main event is a set of Writers’ Workshops where pattern papers are reviewed by fellow authors, led by expert workshop leaders.

All the participants had lots of opportunities to learn about patterns, pattern languages, pattern writing, and the quest for human-centered software creation in the panoply of PLoP activities: Writers’ Workshops, Focus Groups, BoF sessions, BootCamp, Games, shared meals and chit-chat.

The Writers' Workshops are the primary focus of our time at PLoP and they allow authors to discuss and review each other’s papers in a very fruitful way. We had five groups of five to seven papers each, which were selected from an initial set of 41 submissions after a considerable period of shepherding. One of these papers was selected for a writing group and had the opportunity of being evolved during PLoP with the mentoring of an experienced pattern writer.

Very exciting this year was our invited talks. Mary Lynn Manns has shared with us her experience on "Keeping A Pattern Language Alive", and Mary Shaw made us think about our "Progress Toward an Engineering Discipline of Software".

There were seven afternoon focus groups in total, where participants were active exploring ideas and learning from peer discussions, as well as 'Birds of a Feather' (BoF) sessions that let participants informally organize discussions about topics that they are interested in, as well as joint dinner opportunities.

And last but not least, we have the Games, a well-established and very important activity at PLoP. Guided by Christian Kohls, the games 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.

After the conference, the authors were 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 in the ACM Digital Library as PLoP 2015 Proceedings.

We would like to thank all authors, shepherds, reviewers, and members of the Program Committee for their time and collaboration. Thank you all for making PLoP 2015 possible!

Filipe F. Correia, PLoP 2015 Chair

PLoP 2015 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 2015 was held in Pittsburgh, Pennsylvania from October 24 - 26, 2015.

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.

PLoP 2015 Invited Talks and Hot Topic Discussions

The PLoP'15 conference hosted presentations, focus groups and workshops concerning a number of hot topics in the patterns community. Following are a list of presentations and collaborative events from PLoP 2015:

Table of Contents

The primary focus of our time at PLoP is the Writer’s Workshops where we discuss ways to improve the submitted papers. Below is the list of papers from PLoP 2015 that were revised and accepted for inclusion in the final proceedings. These paper titles reflect the final papers.

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

Writer's Workshops

Steelers Group – Pattern Writing
led by Richard Gabriel

Two-level Checklists and Perspectives: Software Reading Techniques for Pattern Writer’s Workshop

by Tian Xia, Hironori Washizaki, Yoshiaki Fukazawa, Joseph Yoder, Rebecca Wirfs-Brock

Guiding Patterns of Naturally Occurring Design: Mining Living quality

by Jessie Henshaw

Undiscovered Patterns

by David West, Jane Quillien

What's the PREMES behind your Pattern?

by Jan de Muijnck-Hughes, Ishbel M.M. Duncan

Pattern Illustrating Patterns: A Pattern Language for Pattern Illustrating

by Natsumi Miyazaki, Rika Sakuraba, Kaori Harasawa, Takashi Iba

Fundamental Behavioral Properties – Part 2: Extending the Theory of Centers for Pattern Language 3.0

by Yuji Harashima, Tomoki Kaneko, Taichi Isaku, Takashi Iba

The Method of Agile Pattern Creation for Campus Building: The Keio-SFC Experiment

by Takashi Iba, Norihiko Kimura, Takuya Honda, Sumire Nakamura, Sakurako Kogure, Ayaka Yoshikawa

Riverhounds Group – Software Architecture & Process
led by Michael John

Relating Patterns and Reference Architectures

by Eduardo Guerra, Elisa Yumi Nakagawa

Patterns to Develop and Evolve Architecture During an Agile Software Project

by Rebecca Wirfs-Brock, Joseph Yoder, Eduardo Guerra

Logical Layering Heuristic

by Wiebe Wiersema, Leo Pruijt

QA to AQ Part Four - Shifting from Quality Assurance to Agile Quality: “Prioritizing Qualities and Making them Visible”

by Joseph W. Yoder, Rebecca Wirfs-Brock, Hironori Washizaki

Dynamic Generated Adapters from Adaptive Object Models to Static APIs

by Eduardo Guerra, Jean Santos, Ademar Aguiar, Luiz Gustavo Veras

Pirates Group – Cloud & Security
led by Hironori Washizaki

Towards a Catalog of Performance Smells for Parallel Computing

by Bharatkumar Sharma, Girish Suryanarayana

Systematic Mapping of Security Patterns Research

by Yurina Ito, Hironori Washizaki, Masatoshi Yoshizawa, Yoshiaki Fukazawa, Takao Okubo, Haruhiko Kaiya, Atsuo Hazeyama, Nobukazu Yoshioka, Eduardo B. Fernandez

The Software Container pattern

by Madiha H. Syed, Eduardo B. Fernandez

A threat pattern for the “Cross-Site Scripting (XSS)” attack

by Rohini Sulatycki, Eduardo B. Fernandez

Patterns for Software Orchestration on the Cloud

by Tiago Boldt Sousa, Filipe Figueiredo Correia, Hugo Sereno Ferreira

Penguins Group – Innovation & Analysis
led by Christian Kohls

The Money Object Pattern

by Russ Rubis, Ionut Cardei

The Business Data Object Versioning and Change History Patterns

by Russ Rubis, Ionut Cardei

Seven Patterns for Software Startups

by Jorge Melegati, Alfredo Goldman

The Magic 5 of Innovation – Basic Techniques

by Christian Kohls

The Timeless Way of Educating. Theme-Centered Interaction, a Pattern Language by Ruth C. Cohn

by Philipp Bachmann

Early-Stage Software Startup Patterns: Strategies to building high-tech software companies from scratch

by Daniel Cukier, Fabio Kon

Panthers Group – People & Education
led by Mary Lynn Manns

Lecture Design Patterns: More Interactivity Improvement Patterns

by Christian Köppe, Michel Portier, René Bakker, Stijn Hoppenbrouwers

Assessment-Driven Course Design - Fair Play Patterns

by Joe Bergin, Christian Kohls, Christian Köppe, Yishay Mor, Michel Portier, Till Schümmer, Steven Warburton

A Data-driven Methodology for Producing Online Learning System Design Patterns

by Paul Salvador Inventado, Peter Scupelli

Patterns for a Company to Collaborate with Local Community on Social Issues

by Miyuki Mizutani, Masamichi Takahashi

Flipped Classroom Patterns - Using Student Solutions

by Christian Köppe, Ralph Niels, Robert Holwerda, Lars Tijsma, Niek van Diepen, Koen van Turnhout, René Bakker

Patterns of Peeragogy

by Joseph Corneli, Charles Jeffrey Danoff, Charlotte Pierce, Paola Ricaurte, Lisa Snow MacDonald

Committees

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

Conference Organization Committees

Conference Chair Filipe Figueiredo Correia
University of Porto / ParadigmaXis, Portugal
Publicity Daniel Cukier
University of São Paulo / Playax, Brazil
Bootcamp Filipe Figueiredo Correia
University of Porto / ParadigmaXis, Portugal
Joseph Yoder
The Refactory Inc., USA
Games Christian Kohls
TH Köln, Germany
Director of Local Operations Joseph Yoder
The Refactory Inc., USA

Program Committee

  • Alfredo Goldman (Brazil)
  • Christian Köppe (HAN University of Applied Sciences, Arnhem, the Netherlands)
  • Daniel Cukier (University of São Paulo / Playax, Brazil)
  • Eduardo Guerra (National Institute of Space Research - INPE, São José dos Campos, SP, Brazil)
  • Jason Yip (Spotify, USA)
  • Jenny Quillien (New Mexico Highlands University, USA)
  • Joseph Yoder (The Refactory Inc., USA)
  • Lise Hvatum (Schlumberger, USA)
  • Maurício Aniche (University of São Paulo / Caelum, Brazil)
  • Michael Mehaffy (USA)
  • Philipp Bachmann (iRIX Software Engineering AG, Switzerland)
  • Richard Gabriel (USA)
  • Rosana Braga (ICMC, University of São Paulo, Brazil)
  • Takashi Iba (Keio University, Japan)
  • Yasunobu Kawaguchi (Rakuten Inc., Japan)
  • Yu Chin Cheng (Taipei Tech, Taiwan)

Shepherds

  • Ademar Aguiar
  • Alfredo Goldman
  • Antonio Maña
  • Bob Hanmer
  • Christian Kohls
  • Christian Köppe
  • David West
  • David Kane
  • Eduardo Fernandez
  • Eduardo Guerra
  • Hans Wegener
  • Jason Yip
  • Jenny Quillien
  • Jose Francisco Ruiz
  • Joseph Yoder
  • Kyle Brown
  • Lise Hvatum
  • Mary Curtin
  • MaryLynn Manns
  • Maurício Aniche
  • Michael Mehaffy
  • Michael Weiss
  • Pavel Hruby
  • Philipp Bachmann
  • Ralf Laue
  • Rebecca Wirfs-Brock
  • Rosana Braga
  • SangWon Ko
  • Stefan Sobernig
  • Takashi Iba
  • Veli-Pekka Eloranta