PLoP

PLoP® Conference Proceedings
23rd CONFERENCE ON PATTERN LANGUAGES OF PROGRAMS

24-26 October, 2016, Monticello, IL, USA

Proceedings

Download the PLoP 2016 Frontmatter (PDF)

PLoP 2016 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) 2016, 24-26 October, 2016, 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-04-6

Made in the USA

Welcome to PLoP 2016

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 back at the beautiful Allerton Park in Monticello Illinois (the place where the PLoP conferences started) in Monticello, Illinois. 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 six papers each, which were selected from an initial set of submissions after a considerable period of shepherding. Four of these papers were selected for a writing group and had the opportunity of being evolved during PLoP with the mentoring of an experienced pattern writer.

This year also had the following invited talks: Christian Kohls explored the relationship between patterns and creative thinking with “Patterns for Creative Thinking”, and Kyle Brown, using a podcast interview format, discussed “Microservices, Patterns, and the evolution of Services Architecture.”

There were four focus groups / workshops in total, where participants were actively exploring ideas and learning from peer discussions and activities.

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.

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 these evolved papers are published in the ACM Digital Library as PLoP 2016 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 2016 possible!

Jason Yip, PLoP 2016 Chair

PLoP 2016 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 2016 was held in Allerton Park, Monticello, Illinois from 24-26 October, 2016.

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

Writer's Workshops

Vikings, led by Michael John

"Pattern Naming Patterns - Symbolizing the content and value by expressions to facilitate intuitive comprehension"

by Shiori Shibata, Sakurako Kogure, Hitomi Shimizu, Takashi Iba

"A Pattern language for handovers"

by Kei Ito, Hironori Washizaki, Joseph W.Yoder, Yoshiaki Fukazawa

"State Pattern for both Composite States and specialization of State Machines"

by Birger Møller-Pedersen, Ragnhild Kobro Runde

WW2, led by Kyle Brown

"Securing Gang of Four Design Patterns"

by Abbas Javan Jafari, Abbas Rasoolzadegan

"“Heartbleed”: A Misuse Pattern for the OpenSSL Implementation of the SSL/TLS Protocol"

by Ali Alkazimi, Eduardo B. Fernandez

"Implementation Patterns for Microservices Architectures"

by Kyle Brown

"The Tenant Manager: A Pattern for Multi-tenant Applications"

by Sumit Kalra, Prabhakar TV

"A Pattern for a Virtual Machine Environment"

by Madiha Syed, Eduardo B. Fernandez

Generators, led by Christian Kohls

"Understanding the Functions of Pattern Language with Vygotsky’s Psychology: Signs, The Zone of Proximal Development, and Predicate in Inner Speech"

by Takashi Iba, Ayaka Yoshikawa

"A Pattern Language for Creating Pattern Languages: 364 Patterns for Pattern Mining, Writing, and Symbolizing"

by Takashi Iba, Taichi Isaku

"Pattern Mining Patterns: A Search for the Seeds of Patterns"

by Alice Sasabe, Tomoki Kaneko, Kaho Takahashi, Takashi Iba

"Creativity patterns – Expand your mind"

by Christian Kohls

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

by Yuma Akado, Norihiko Kimura, Tsuyoshi Ishida, Takashi Iba

Vanguard, led by Paul Inventado

"Towards Extending Online Pattern Repositories: Supporting the Design Pattern Lifecycle"

by Christian Köppe, Peter Scupelli, Paul Salvador Inventado, Uwe van Heesch

"Patterns in Classroom Activities for Process Oriented Guided Inquiry Learning (POGIL)"

by Clifton Kussmaul

"Hall of Shame/Fame: a pedagogical pattern for computer programming classes"

by Andrea Schwertner Charão, Alberto Francisco Kummer Neto, Benhur de Oliveira Stein, Patrícia Pitthan Araújo Barcelos

"Patterns for Learning-support Design in Math Online Learning Systems"

by Paul Salvador Inventado, Peter Scupelli

"Natural Living Patterns: A Pattern Language for Ethical and Sustainable Life"

by Arisa Kamada, Rina Kato, Yuma Akado, Takashi Iba

WW5, led by Lise Hvatum

"Patterns for Collaboration between Companies and Local Communities on Social Issues: Co-facilitating Dialogue Workshops"

by Miyuki Mizutani, Mihoko Wakui, Nao Ozaki

"Pattern Concierge: Using Push and Pull Patterns to Help Clients Design Their Future"

by Haruka Mori, Norihiko Kimura, Shuichiro Ando, Takashi Iba

"More Patterns for the Magic Backlog"

by Rebecca Wirfs-Brock, Lise Hvatum

"QA to AQ Part Six Being Agile at Quality “Enabling and Infusing Quality”"

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

"Digital Transformation Patterns"

by Shéhérazade Benzerga

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

Conference Organization Committees

Conference Chair Jason Yip (Spotify, USA)
BootCamp Rebecca Wirfs-Brock & Joseph Yoder
Games Christian Kohls (TH Köln, Germany)
Director of Local Operations Joseph Yoder (The Refactory Inc., USA)

Program Committee

  • Christian Köppe (HAN University of Applied Sciences, Arnhem, the Netherlands)
  • Eduardo Guerra (National Institute of Space Research - INPE, São José dos Campos, SP, Brazil)
  • Filipe Figueiredo Correia (University of Porto / NMusic, Portugal)
  • Jenny Quillien (New Mexico Highlands University, USA)
  • Joseph Yoder (The Refactory Inc., USA)
  • Kiro Harada (Japan)
  • Lise Hvatum (Schlumberger, USA)
  • Maurício Aniche (University of São Paulo, 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)
  • Yu Chin Cheng (Taipei Tech, Taiwan)

Shepherding Committee

  • Antonio Maña
  • Bob Hanmer
  • Christian Kohls
  • Christian Köppe
  • Dave Isaacs
  • Dave West
  • David Kane
  • Eduardo Guerra
  • Eduardo Fernandez
  • Ernst Oberortner
  • Filipe Correia
  • Hironori Washizaki
  • Jason Yip
  • Jenny Quillien
  • Jessie Lydia Henshaw
  • Jiwon Kim
  • Joseph Yoder
  • Lise Hvatum
  • Mary Lynn Manns
  • Michael Weiss
  • Paulo Meirelles
  • Ralf Laue
  • Rosana Braga
  • Stefan Sobernig
  • Takashi Iba