PLoP

PLoP® Conference Proceedings
24th CONFERENCE ON PATTERN LANGUAGES OF PROGRAMS

October 23 - 25, 2017, Vancouver, Canada

Proceedings

Download the PLoP2017 Frontmatter (PDF)
Editor and Program Chair: Takashi Iba
Support Editors: Joseph Yoder, Aimi Burgoyne, Kotomi Nozaki

PLoP 2017 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 workshopped at Pattern Languages of Programs (PLoP) ’17 October 23-25, 2017, Vancouver, Canada. 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-06-0

Made in the USA

Welcome to PLoP 2017

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 held in Vancouver, Canada, which is the first time the main PLoP conference was located outside of the USA. , There are other xPLoP conferences such as AsianPLoP EuroPLoP, SugarloafPLoP, and VikingPLoP which are held in the other continents. 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: Chris Richardson showed "A Pattern Language for Microservices", and Michael Mehaffy gave his talk " "Horizons of Pattern Languages: Software, Cities, Planet". There were also six focus groups / workshops where participants actively explored ideas, learning from peer discussions and activities. The focus group / workshops at PLoP 2017 were: "Negotiating Order with Generative Pattern Language" by David Ing, "Microservices Pattern Mining" by Chris Richardson, Richard Gabriel, Takashi Iba, Joseph Yoder, "Co-exploring tools and methods for pattern literacy" by Helene Finidori, Peter Tuddenham, "Writers' Workshop on Microservices Patterns Book" by Chris Richardson, Richard Gabriel, "Be it for cows or code: a pattern language for the commons" by Jenny Quillien, Richard Gabriel, Rebecca Wirfs-Brock, and "Patterns for Big Data Processing Systems" by Sumit Kalra, Prabhakar TV, Aditya Nigam.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 bodies and minds, collaborate better, and reinforce our 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 2017 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 2017 possible!

Takashi Iba, PLoP 2017 Chair

PLoP 2017 Conference Description

Pattern Languages of Programs (PLoP) conference is a venue 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 2017 was held in Vancouver, Canada from October 23 - 25, 2017.

We invited contributions from practitioners and researchers on the following:

  • 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.

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 2017 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

Roughness Group
led by Richard Gabriel

Towards an Educational Design Pattern Language for Massive Open Online Courses (MOOCs)

by Aracele Fassbinder, Ellen Francine Barbosa, George D. Magoulas

A Pedagogical Pattern Language for Mobile Learning Applications

by Maria Lydia Fioravanti, Ellen Francine Barbosa

Are Software Patterns Simply a Handy Way to Package Design Heuristics?

Rebecca Wirfs-Brock

Patterns as Structure, Process and Community

by MaryLynn Manns, Joe Yoder

Pattern Literacy in Support of Systems Literacy - An approach from a Pattern Language perspective

by Helene Finidori, Peter Tuddenham

Simplicity and Inner Calm Group
led by Jenny Quillien

The design of fitness apps

by Meryem Dural, Christian Kohls

Patterns for Things that Fail

by António Ramadas, Gil Domingues, Joao Dias, Ademar Aguiar, Hugo Ferreira

Motivating Self-Improvement: Methods to Stay Motivated

by Aimi Burgoyne, Takashi Iba

Fun Language: Sharing the “Fun” to Invite People to Do Daily Activities

by Takashi Iba, Ayaka Yoshikawa, Hitomi Shimizu

Effectiveness of Learning 8 Languages Using Patterns

by Mary Tedeschi

Lesson Design Patterns: How to Make Learning an Interesting One

by Tatsuaki Kanai, Hiromitsu Fujiwara, Miho Tsutsui

Local Symmetries Group
led by Michael Weiss and Christian Kohls

Philosophy and Methodology of Clustering in Pattern Mining: Japanese Anthropologist Jiro Kawakita’s KJ Method

by Takashi Iba, Ayaka Yoshikawa, Konomi Munakata

Blended Interaction in innovation spaces

by Guido Münster, Christian Kohls

Onwards to Innovation- Patterns for Understanding Innovation Opportunities

by Christian Kohls

Patterns for Regulating Behavior in Innovation Communities

by Michael Weiss

Strong Centers Group
led by Eduardo Guerra and Paulina Silva

The Secure Software Container Pattern

by Madiha H. Syed, Eduardo B. Fernandez, Paulina Silva

Implementation Patterns for Multi-Tenancy

by Sumit Kalra, Prabhakar TV

Patterns to automate tests for non-deterministic algorithms

by Andre S. Ivo, Eduardo M. Guerra

Design of Blockchain-Based Apps Using Familiar Software Patterns with a Healthcare Focus

by Peng Zhang, Jules White, Douglas C. Schmidt, Gunther Lenz

Internet of Things Security Patterns

by Lukas Reinfurt, Uwe Breitenbücher, Michael Falkenthal, Paul Fremantle, Frank Leymann

A Reference Architecture for Web Browsers: Part III, A pattern for a Web Browser Kernel

by Paulina Silva, Raúl Monge, Eduardo B. Fernández

Not Separateness Group
led by Lise Hvatum and Rebecca Wirfs-Brock

Patterns for Implementing Software Analytics in Development Teams

by Joelma Choma, Eduardo Martins Guerra, Tiago Silva da Silva

Vulnerability Anti-Patterns: A Timeless Way to Capture Poor Software Practices (Vulnerabilities)

by Tayyaba Nafees, Natalie Coull, Ian Ferguson, Adam Sampson

InnerSource Patterns for Collaboration

by Erin Bank, Georg Grutter, Robert Hanmer, Klaas-Jan Stol, Padma Sudarsan, Cedric Williams, Tim Yao, Nick Yeates

Patterns for Usage Centred Design

by Robert Biddle, James Noble, Ewan Tempero

Pattern Stories and Sequences for the Backlog: Applying the Magic Backlog Patterns

by Lise Hvatum, Rebecca Wirfs-Brock

MetaAutomation: A Pattern Language to Apply Automation to Software Quality

by Matt Griscom

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 before the 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 2017 a complete success.

Conference Organization Committees

Program and Conference Chair Takashi Iba
(Keio University, Japan)
Publicity Daniel Cukier
University of São Paulo / Playax, Brazil
Bootcamp Rebecca Wirfs-Brock
Wirfs-Brock Associates, USA
Joseph Yoder
The Refactory Inc., USA
Games Christian Kohls
TH Köln, Germany
Director of Local Operations Joseph Yoder
The Refactory Inc., USA
Submission System Michael Weiss
Carleton University, CA

Program Committee

  • Christian Kohls
  • Eduardo Guerra
  • Filipe Correia
  • Jason Yip
  • Jenny Quillien
  • Joseph Yoder
  • Kyle Brown
  • Lise Hvatum
  • Michael John
  • Michael Mehaffy
  • Michael Weiss
  • Richard Gabriel
  • Rosana Braga
  • Takashi Iba
  • Y C Cheng
  • Yuma Akado

Shepherds

  • Allen Wirfs-Brock
  • Ankica Barisic
  • Cedric Bouhours
  • Christian Kohls
  • Christian Köppe
  • David Kane
  • Eduardo Fernandez
  • Eduardo Guerra
  • Ernst Oberortner
  • Filipe Correia
  • Hugo Sereno Ferreira
  • Jenny Quillien
  • Jose Francisco
  • Ruiz Joseph Corneli
  • Joseph Yoder
  • Lise Hvatum
  • Mary Tedeschi
  • MaryLynn Manns
  • Matt Griscom
  • Michael John
  • Michael Weiss
  • Neil Harrison
  • Paulina Silva
  • Richard Gabriel
  • Shéhérazade Benzerga
  • Sumit Kalra
  • Tiago Sousa
  • Yuma Akado