PLoP® Conference Proceedings

October 7 - 10, 2019, Ottawa, Ontario, Canada


Download the PLoP2019 Frontmatter (PDF)

PLoP 2019 is held in cooperation with ACM.

The 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) ’19 October 7-10, 2019, Ottawa, Ontario, 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-14-5

Made in the USA

Welcome to PLoP 2019

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 Ottawa, Ontario, Canada at the Strathmere retreat near Ottawa. 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 four groups of five to six papers each, which were selected from an initial set of 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.

In addition to the Writers' Workshops, we had three invited plenary talks: "A Search for Beauty / A Struggle with Complexity: Christopher Alexander" by Richard Gabriel, "Keeping Patterns Alive with Apps" by Mary Lynn Manns, Christian Kohls, Florian Herborn, and Sebastian Quast, and "Human Principles and Software Design" by Robert Biddle. There were also four focus groups / workshops where participants actively explored ideas, learning from peer discussions and activities. The focus group / workshops at PLoP 2019 were: "Creating apps for patterns" by Mary Lynn Manns, Christian Kohls, Florian Herborn, and Sebastian Quast, "Using machine learning to discover patterns of architectural changes associated with bugs" by Alla Zakurdaeva, and Michael Weiss, "Hillside People" by Sharath Musunoori, and Lise Hvatum, and "Everyday Security Behaviour in the Real World" by Eric Spero, and Robert Biddle.

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 2019 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 2019 possible!

Michael Weiss, PLoP 2019 Chair

PLoP 2019 Conference Description

The 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 2019 was held in Ottawa, Ontario, Canada from October 7 - 10, 2019.

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

Writers’ workshops help the pattern community to improve their patterns and pattern languages. These workshops are the primary focus at PLoP, and in them we discuss accepted papers. Below is the list of papers that were workshopped at PLoP 2019 and are included in these proceedings.

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

Writer's Workshops

Group Architecture
led by Neil Harrison

"Towards an architectural patterns language for Systems-of-Systems"

by Lina Garces, Bruno Sena, and Elisa Yumi Nakagawa

"Extraction of Architectural Patterns from Frameworks and Modeling their Contributions to Qualities"

by Hind Milhem, Michael Weiss, and Stephane S. Some

"Architecture Patterns of Web Services Applications"

by Neil Harrison

"A Pattern for Network Function Virtualization Infrastructure (NFVI)"

by Ahmed M. Alwakeel, Abdulrahman K. Alnaim, and Eduardo B. Fernandez

"A Pattern for a UAV-aided Wireless Sensor Network"

by Rafael Papa, Eduardo B. Fernandez, and Michael Cardei

"A Misuse Pattern for Distributed Denial‐of‐Service Attack in Network Function Virtualization"

by Abdulrahman K. Alnaim, Ahmed M. Alwakeel, and Eduardo B. Fernandez

led by Richard Gabriel

"A Style Language for Enjoying Japan"

by Ryusei Myrasawa, Misaki Yamakage, Rioja Kuroda, Yumiko Shimokawa, Aimi Burgonye, Hiromu Kasahara, and Takashi Iba

"Patterns for Well-being in Life – 9 Patterns for Being in the World"

by Hinako Ando, Karin Iwata, Rei Kono, Kohki Ogawa, Takashi Maeno, and Takashi Iba

"A Pattern Language for Composing Film Music"

by Ryohei Suzuki, Miwane Umewaka, Yumiko Shimokawa, and Takashi Iba

"Patterns for text classification"

by Michael Weiss, Swarupini Bathula, Steven Muegge, and Ali Nazari

"Towards a Pattern Language for Participatory Online Events"

by Yumiko Murai, Katherine McConachie, and Philipp Schmidt

led by Robert Biddle

"Elephants, Patterns, and Heuristics"

by Rebecca Wirfs-Brock, and Christian Kohls

"Who will read my patterns?"

by Rebecca Wirfs-Brock, and Lise Hvatum

"A Pattern Sequence for Designing Blockchain-Based Healthcare Information Technology Systems"

by Peng Zhang, Douglas C. Schmidt, and Jules White

"A Case Study of Health Service Platforms as solution patterns: preliminary results"

by Lysanne Lessard, Mark de Reuver, and Raphael Menard-Grenier

"Identifying and Documenting Recurring Concerns and Best Practices of Agile Coaches and Scrum Masters in Large-Scale Agile Development"

by Omer Uludag, and Florian Matthes

led by Christian Koppe

"Educational Design Patterns for Student-Centered Assessments"

by Christian Koppe, Mary Lynn Manns, and Rody Middelkoop

"Towards an Educational Design Pattern Language to support the development of Open Educational Resources in videos for the MOOC context"

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

"Pattern Language and the Future of Education in Light of Constructivist Learning Theories, Part 3: Consideration with John Dewey’s Concept of Pragmatism"

by Takashi Iba, and Aimi Byrgoyne

"Pattern Language and the Future of Education in Light of Constructivist Learning Theories, Part 4: Consideration with Constructionism of Seymour Papert"

by Takashi Iba, and Karin Iwata

"OpenEdu Patterns: A Tool to Support Pedagogical Patterns Management"

by Maria L. Fioravanti, Gabriel S. Nicolau, Aracele G. O. Fassbinder, and Ellen F. Barbosa

Focus Group Reports

"Security Begins at Home: Everyday Security Behaviour and Lessons for Cybersecurity Research"

by Eric Spero, and Robert Biddle


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

Conference Organization Committees

Program Chair Michael Weiss
Carleton University, Canada
Conference Chair Joe Yoder
The Refactory, Inc., USA
Publicity Filipe Figueiredo Correia
University of Porto, Portugal
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 Michael Weiss
Carleton University, Canada
Submission System Michael Weiss
Carleton University, Canada

Program Committee

  • Alfredo Goldman
  • Eduardo Guerra
  • Filipe Correia
  • Joseph Yoder
  • Kyle Brown
  • Lise Hvatum
  • Mary Lynn Manns
  • Michael Weiss
  • Paulina Silva
  • Taichi Isaku
  • Takashi Iba
  • Y C Cheng
  • Yuma Akado


  • Cecilia Haskins
  • Clifton Kussmaul
  • Eduardo Fernandez
  • G Priyalakshmi
  • Hans Wegener
  • Jenny Quillien
  • Liat Eyal
  • Mary Lynn Manns
  • Olaf Zimmermann
  • Peng Zhang
  • Stefan Sobernig
  • Takashi Iba
  • Yannis Dimitriadis
  • Christian Kohls
  • David Kane
  • Eduardo Guerra
  • Geert Monsieur
  • Helene Finidori
  • Joseph Yoder
  • Lise Hvatum
  • Michael Weiss
  • Paulina Silva
  • Rossana Andrade
  • Steven Warburton
  • Y C Cheng