PLoP

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

October 12 - 16, 2020, Online

Proceedings

Download the PLoP2020 Frontmatter (PDF)

PLoP 2020 is in cooperation with ACM.

Pattern Languages of Programs (PLoP®) conference is the premier event for pattern authors and enthusiasts to gather, discuss, and learn 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) ’20 October 12-16, 2020, held online. 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-16-9

Made in the USA

Welcome to PLoP 2020

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!

Originally, PLoP was planned to be at Keystone, Colorado, USA. Due to the COVID-19 pandemic, the organizers shifted the conference to an online format. There are other xPLoP conferences such as AsianPLoP EuroPLoP, SugarloafPLoP, and VikingPLoP which are held around the world. 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 participants have many 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, patterns BootCamp, games, invited talks, open space discussions, and daily hangout sessions.

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

In addition to the Writers' Workshops, we have these invited plenary talks: "Emerging Lessons for a Post-COVID World: Language, Patterns, and the Structure of Actionable Knowledge" by Michael Mehaffy, "Contexts and Connascence" by Paul Rayner, "Patterns—You're Doing It Completely Wrong" by Richard Gabriel, and "Patterns and Experiments" by Linda Rising. Video recordings of these talks are available at: https://www.hillside.net/plop/2020/index.php?nav=program. There are also focus groups / workshops where participants actively explore ideas, learning from peer discussions and activities. The focus group / workshops at PLoP 2020 are: "Patterns for Distributed Work" by Neil Harrison, Michael Weiss, and Lise Hvatum; "How can pattern languages better help turn ‘Languaging’ into ‘Patterning’?" by Helene Finidori; and "The Importance of Domain Modeling in Modern Software Design" by Rebecca Wirfs-Brock and Joseph Yoder. Last but not least, we have the Games, a well-established and very important activity at PLoP. Adeptly transposed to online zoom games by Christian Kohls, they help us to break the ice, exercise our minds, collaborate better, and reinforce our connections.After the conference, authors are strongly encouraged to evolve their papers and address suggestions for improvement gathered during the discussions at the conference. A final version of these papers are published in the ACM Digital Library as PLoP 2020 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 2020 possible!

Rebecca Wirfs-Brock, PLoP 2020 Chair

PLoP 2020 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 modelling, education, human relations, and software processes. Patterns and pattern languages for domains outside software are also welcome.

PLoP 2020 was held online from October 12-16, 2020.

We invited contributions from practitioners and researchers on the following:

  • Education: Education, training, and online learning.

  • Teams: Virtual teams, remote communication and collaboration.

  • Change: Innovation, change, and experimentation.

  • Modeling and Design: Domain modeling, EventStorming, Sociotechnical design.

  • Software and systems: Progressive web apps, event-sourced architectures, micro-services, security and IoT.

  • PLoPourri – if your paper doesn’t fit in any of the above, you can submit to this group.

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 authors revise their papers 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 2019 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.

Writers' Workshops

Mount Bierstadt
led by Chris Kohls

"A five-layer model for the analysis of complex socio-technical systems"

by Tomoko Kaneko and Nobukazu Yoshioka

"Data Encoding Patterns for Quantum Computing"

by Manuela Weigold, Johanna Barzen, Frank Leymann, and Marie Salm

"Patterns for Teams AND Up-Front Testing for Development of Safety-Critical Systems with Agile"

by Maria H. Maqsood, Eduardo Guerra, Xiaofeng Wang, and Andrea Bondavalli

Sunshine Peak
led by Christian Köppe

"VideoMOOC-PL: A Pattern of Language to support the development of educational videos for the MOOC context"

by Marcelo Fassbinder, Aracele G. O. Fassbinder, and Ellen F. Barbosa

"Guiding Students to Learn about Design Patterns with Process Oriented Guided Inquiry Learning (POGIL)"

by Priya Lotlikar and Clifton Kussmaul

"Patterns in Activity Models for Process Oriented Guided Inquiry Learning (POGIL)"

by Clifton Kussmaul

Mount Uncompahgre
led by Joseph Yoder and Rebecca Wirfs-Brock

"Should we stop writing patterns?"

by Rebecca Wirfs-Brock

"Strangler Patterns"

by Joseph Yoder and Paulo Merson

"Software Engineering Patterns for Machine Learning Applications (SEP4MLA) - Part 2"

by Hironori Washizaki, Foutse Khomh, Yann-Gael, Gueheneuc Hironori, Takeuchi Satoshi, Okuda Naotake, and Natori Naohisa Shioura

Quandary Peak
led by Kyle Brown

"A pattern for a Secure Cloud-Based IoT Architecture"

by Eduardo B. Fernandez

"A Survey of Reference Architectures for Autonomous Cars"

by Bijayit Thapa and Eduardo Fernandez

"A Pattern for a Secure Sensor Node"

by Cristian Orellana, Eduardo Fernandez, and Hernán Astudillo

Mount Lincoln
led by Linda Rising and David Kane

"Sequences & Scenarios for Fearless Change"

by Mary Lynn Manns and Joseph Yoder

"Creating and Growing Healthy Community Open Source Projects"

by Dirk Riehle

Mount Massive
led by Mary Lynn Manns and Richard Gabriel

"Patterns for Learning Through Practice in a Pattern Language for Value-Creation Marketing"

by Takashi Iba, Miho Masai Yuuri, and Abe Yuji Kosaka

"Mining Drama Patterns in Dramatic Situations"

by Patrik Honíšek and Valentino Vranić

"Support for Living Better Throughout the COVID-19 Situation with Pattern Languages: An Attempt at Pattern Translation to Another Domain and Pattern Language Remix"

by Takashi Iba

Mount Sneffels
led by Neil Harrison and Lise Hvatum

"From Pattern Language to Pattern Literacy: the Biosemiotic Underpinnings of “Patterning” and “Languaging”"

by Helene Finidori

"Supporting Experiential Learning through Exploring Central Topics in ICT Project Team Leadership - The rhea.framework Knowledge Base"

by David Haselberger

"Patterns for Managing Remote Software Projects"

by Michael Weiss

Committees

TThe 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 2020 a complete success!

Conference Organization Committees

Conference Chair Rebecca Wirfs-Brock
Wirfs-Brock Associates, USA
Publicity Filipe Figueiredo Correia
University of Porto, Portugal
Bootcamp Bob Hanmer, Lise Hvatum, Christian Köppe, Linda Rising, Rebecca Wirfs-Brock, and Joseph Yoder
Games Christian Kohls
TH Köln, Germany
Director of Operations Joseph Yoder
The Refactory, USA
Submission System Michael Weiss
Carleton University, CA

Program Committee

  • Yuma Akado
  • Kyle Brown
  • Y C Cheng
  • Alfredo Goldman
  • Neil Harrison
  • Lise Hvatum
  • Taichi Isaku
  • David Kane
  • Michael Keeling
  • Chris Kohls
  • Mary Lynn Manns
  • Michael Mehaffy
  • Jason Yip
  • Joseph Yoder
  • Michael Weiss
  • Rebecca Wirfs-Brock
  • Dana (Peng) Zhang

Shepherds

  • Ademar Aguiar
  • Steve Berczuk
  • Kyle Brown
  • Eduardo Fernandez
  • Richard Gabriel
  • Alejandra Garrido
  • Alfredo Goldman
  • Eduardo Guerra
  • Neil Harrison
  • Lise Hvatum
  • Dave Isaacs
  • David Kane
  • Michael Keeling
  • Christian Kohls
  • Mary Lynn Manns
  • Antonio Muñoz
  • Ernst Oberortner
  • Jenny Quillien
  • Virginia Romero
  • Stefan Sobernig
  • Tiago Sousa
  • Hironori Washizaki
  • Hans Wegener
  • Michael Weiss
  • Jason Yip
  • Dana (Peng) Zhang