PLoP

PLoP® 2022 Conference Proceedings
29th CONFERENCE ON PATTERN LANGUAGES OF PROGRAMS

October 17–24, 2022, Virtual Online

Proceedings

Download the PLoP2022 Frontmatter (PDF)

PLoP 2022 is 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 the 29th Conference on Pattern Languages of Programs (PLoP’22), October 17-24, 2022, virtual online.

ISBN: HILLSIDE 978-1-941652-18-3

Made in the USA

Welcome to PLoP 2022

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 online. The conference is not traditional—during the main event conference days, it took place over a set of Writers’ Workshops where pattern papers were reviewed by fellow authors, led by expert workshop leaders. During the year, several events called PLoPourri events gave to the participants lots of opportunities to learn about patterns, pattern languages, and pattern writing. In this edition, SugarLoafPLoP (Latin-American Conference on Pattern Languages of Programs) joined the event as a track.

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 had five groups of four to five papers each, selected from an initial set of submissions after a considerable period of shepherding. Three other papers were 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 one invited plenary talk, "Technology Last - Christopher Alexander's approach to software development" by Greg Bryant, and a discussion session, "Design Patterns, then and now" with the participation of Ward Cunningham, Brian Foote, Joseph Yoder and Rebecca Wirfs-Brock. Last but not least, we had some Games in the opening and closing session, a well-established and very important activity at PLoP. Guided by Mary Lynn Manns, the games helped us to break the ice, exercise our bodies and minds, collaborate better, and reinforce our community of trust.

The PLoPourri events were held throughout the year, approximately one per month. Topics included Pattern Mining which taught attendees how to extract patterns from proven experiences, Teaching with Patterns, Cloud Architecture, The Future of Education: Patterns for reshaping learning and the campus, a virtual Campfire with stories of the Fearless Change patterns, and a Dialogue Workshop with patterns from Iba Lab in Japan. There was a diverse group of attendees with enlightening discussions and a lot of fun.

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

Eduardo Guerra and Mary Lynn Manns, PLoP 2022 Chairs

PLoP 2022 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 2022 was held online from October 17 - 24, 2022.

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 as a “writers' workshop,” as described in Richard Gabriel’s book, Writers’ Workshops and the Work of Making Things. Before the conference, authors interact with a shepherd who helps them improve their paper to prepare it for PLoP. After shepherding, the program committee reviews the papers for final acceptance. The writers’ workshops provide more feedback, and authors revise their papers again after PLoP. The papers here are these final, revised versions, 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 2022 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

Neo
led by Valentino Vranić

"A Catalog of Security Patterns"

by André Cordeiro, André Vasconcelos, and Miguel Correia

"An abstract security pattern for Zero Trust Access Control"

by Andrei Brazhuk, and Eduardo B. Fernandez

"Patterns for Anonymity Enhancing Cryptocurrencies Non-Custodian Mobile Wallets"

by Francisco Gindre, Matias Urbieta, and Gustavo Rossi

"A Pattern Language of Multi-Organizational Collaboration in Public Sector in Developing Countries"

by Haji Gul Wahaj, Valentino Vranić

Morpheus
led by Michael Weiss

"Recurring Structures of Subcontract Management in System Outsourcing"

by Haji Gul Wahaj, Valentino Vranić

"Software Engineering Patterns for Machine Learning Applications (SEP4MLA) - Part 4 - ML Gateway Routing Architecture"

by Hironori Washizaki, Foutse Khomh, Yann-Gaël Guéhéneuc

"Patterns for Polyglot Persistence Layer"

by Fernando Pereira, Eduardo Guerra, and Reinaldo R. Rosa

"Building Customer Capacity Through Organizational Patterns Improves the Development Team's Understanding"

by Mohammad Ismail Khattab, Valentino Vranić

"Patterns for Remote Teams"

by Bita Zaripour, Michael Weiss

Trinity
led by Rebecca Wirfs-Brock

"Patterns of Recreating Reality in Games”

by Branislava Vranić, Valentino Vranić

"Applying Idioms for Synchronization Mechanisms: Synchronizing communication components for the Fast Fourier Transform”

by Jorge L. Ortega-Arjona

"Applying Design Patterns for Communication Components: Communicating CSE components for the Laplace Equation”

by Jorge L. Ortega-Arjona

"Observations on growing a software design umwelt”

by Rebecca Wirfs-Brock

"The Abstract Secure Communication Path (ASCP) pattern and a derived VPN pattern”

by Eduardo Fernandez, and Andrei Brazhuk

Oracle
led by Rosana Braga

"Building a Pattern Language for Serverless Architectures”

by Leandro Rodrigues da Silva, João Francisco Lino Daniel, and Alfredo Goldman

"C2-P2: A Chatbot-based approach for navigation in Pattern collections”

by Rafael Tofoli Sereickikas, Anathan Telles Pereira, Vitor Pacheco, Luciana A.M. Zaina, and Eduardo Guerra

"Review-based Comparison of Design Pattern Detection Tools”

by Rodrigo Moreira, Eduardo Fernandes, and Eduardo Figueiredo

"A framework for visualizing HCI pattern languages through network diagrams”

by Diego Moreira da Rosa, Andrea Gnecco, Milene Silveira, Christian Mattjie, Rodrigo C. Barros, Sofia Apuzzo, Marcio Sarroglia Pinho, and Isabel Manssour

Smith
led by Pavel Hruby

"Foundational DevOps Patterns”

by Paulo Marques, and Filipe Correia

"Towards a Pattern Language for improving UX work in Software Startups”

by Joelma Choma, Helen Sharp, Leonor Barroca, Cleidson de Souza, Leticia Machado, and Luciana Zaina

"Event-Driven Microservice Architecture: Patterns for Enterprise Applications Supporting Business Agility”

by Pavel Hruby, and Christian Scheller

"Management Patterns for Software Architecture Revolution – Part 1: Creating Awareness, Preparing and Measuring”

by Marden Neubert, and Joseph W. Yoder

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

Conference Organization Committees

Program Co-Chair Eduardo Guerra
Free University of Bozen-Bolzano, Italy
Mary Lynn Manns
Fearless Change, Author
Publicity Filipe Figueiredo Correia
University of Porto, Portugal
Virtualization Chair Joseph Yoder
The Refactory, USA
Games Christian Kohls
TH Köln, Germany
Submission System Michael Weiss
Carleton University, Canada

Program Committee (PLoP)

  • Kyle Brown
  • Mary Lynn Manns
  • Eduardo Guerra
  • Ademar Aguiar
  • Neil Harrison
  • Chris Kohls
  • Rebecca Wirfs-Brock
  • Joseph Yoder
  • Richard P. Gabriel
  • Michael Weiss
  • Filipe Correia
  • Takashi Iba
  • Indu Alagarsamy
  • Valentino Vranić

Program Committee (SugarLoafPLoP)

  • Alejandra Garrido
  • Alfredo Goldman
  • Ayla Dantas Rebouças
  • Christina von Flach Garcia Chavez
  • Eduardo Fernandez
  • Eduardo Guerra
  • Fabio F. Silveira
  • Fernando Lyardet
  • Joseph Yoder
  • Rebecca Wirfs-Brock
  • Rosana Teresinha Vaccare Braga
  • Rossana Andrade
  • Uirá Kulesza

Shepherds

  • Philipp Bachmann
  • Y. C. Cheng
  • Alejandra Garrido
  • Hironori Washizaki
  • Valentino Vranić
  • Richard P. Gabriel
  • Federico Balaguer
  • Kyle Brown
  • Uwe Zdun
  • Michael Weiss
  • Ayla Dantas Rebouças
  • Fabio F. Silveira
  • Fernando Lyardet
  • Rosana Teresinha Vaccare Braga
  • Uirá Kulesza
  • Mary Lynn Manns
  • Eduardo Fernandez
  • Cecilia Haskins
  • Ademar Aguiar
  • Rebecca Wirfs-Brock
  • Mary Tedeschi
  • Ernst Oberortner
  • Rosana Braga
  • Alfredo Goldman
  • Alejandra Garrido
  • Christina von Flach Garcia Chavez
  • Tiago Silva da Silva
  • Juliana Marquez
  • Rossana Andrade