PROGRAM
Pattern Languages of Programs (PLoPTM) conference is a premier event for pattern authors and pattern enthusiasts to gather, discuss and learn more about patterns and software development.
Conference at a Glance
October 17th: PLoP Opening Day, 12h00-14h00 EDT (EDT is GMT-4)- 12h00-12h30 Introduction, Games, Overview of Schedule
- 12h30-13h00 Writers workshop simulation
- 13h00-14h00 Design Patterns, then and now - Discussion with Ward Cunningham, Brian Foote, Joseph Yoder and Rebecca Wirfs-Brock
October 18th to 21st: Writers Workshops Days
- What can I expect from a Writers' Workshop? It will not have slides or a paper presentation from the authors. It is a debate in which the authors of the other papers in the group and other participants give feedback about the work being discussed. It is fascinating and goes deep into the paper with each participant's particular perspective.
- How to participate in a Writers Workshop? There are two ways to participate: observing and participating in the discussion. If you want the best experience, we recommend downloading and reading the paper before the session. This way, you can join the discussion and participate actively! However, if you just want to observe, you are also welcome. In this case, we also recommend downloading the paper so that you can follow what is being discussed.
- 12h00-12h15 Introduction and Games
- 12h15-12h30 PLoP / SugarLoafPLoP Awards
- 12h30-13h00 PLoPourri Overviews - Outcomes / What we learned
- 13h00-14h00 Technology Last - Christopher Alexander's approach to software development, by Greg Bryant
- 14h00-15h00 Hillside Meeting
- 15h00 Happy Hour (grab your drink and join!)
NOTE: All times are in Easten Daylight Time (EDT), please add -1 for CDT, -3 for PDT, +1 for Brazil, and +6 for CET.
Instructions on how to attend the sessions will be emailed to registered attendees.
Discussions and talks
"Design Patterns, then and now" |
Discussion with Ward Cunningham, Brian Foote, Joseph Yoder and Rebecca Wirfs-Brock |
The catalog assembled as Design Patterns is hardly obsolete. One has only to listen to white board discussions as engineers work to know of the continuing impact of the book. Before the volume became the best selling patterns book ever, engineers would take turns drawing pretty much the same diagrams, over and over, erasing each others work, talking past each other as they took turns explaining how they would approach even simple problems. Those of us who had hoped for more world-changing impact might have wished that the problems solved were more universal human problems. We also wished that the Design Patterns had linked together more as a language than a catalog. Both would elevate the work to continued study. But to deny the impact of the catalog suggests that young developers have never lived outside of their pervasive influence. Ward Cunningham is a long-time change agent with a huge list of accomplishments, most well known for his contributions to object-oriented design, agile methodology, and collaborative software. He is the inventor of wiki, the original social software and now generalized to refer to any democratized creation. http://hsc.fed.wiki. Brian Foote is an itinerant software developer and rogue scholar who has been programming professionally since the 1970s. The unremitting squalor and endemic duplication he saw drove him to graduate school to study whether we could do better. This led to an interest in object-oriented programming, reflection, design patterns, and refactoring. He retains an enduring interest in why contemporary advances in tools and programming tactics have not had the impact they had once promised… Rebecca Wirfs-Brock is an object design pioneer who invented the set of design practices known as Responsibility-Driven Design (RDD) and by accident started the x-Driven Design meme (TDD, BDD, DDD, etc.). She authored two influential texts, Designing Object-Oriented Software and Object Design: Roles, Responsibilities and Collaborations. Most recently she published a collection of essays, Design and Reality, co-authored with Mathias Verraes. You can find her IEEE Software design columns, papers, essays, and writing at http://www.wirfs-brock.com. Lately, she’s been exploring relationships between patterns and design heuristics and effective ways to communicate practical design knowledge. Joseph Yoder Joseph (Joe) Yoder is president of the Hillside Group and principal of The Refactory. He is best known as an author of the Big Ball of Mud pattern, illuminating fallacies in software architecture. Joe teaches and mentors developers on agile and lean practices, architecture, flexible systems, clean design, patterns, refactoring, and testing. Joe has presented many tutorials and talks, arranged workshops, given keynotes, and help organized leading international agile and technical conferences. |
"Technology Last - Christopher Alexander's approach to software development" |
For a decade, I worked with Chris Alexander on real-world projects, built software, wrote proposals, concocted web strategies, and made some discoveries. I studied his approach to work, and the surprisingly consistent criteria he applied, with great diligence, in his pursuit of quality. His process still seems fresh, radical, and necessary for the world to understand -- so I’d like to share my experience. Greg Bryant is a community organizer ... who's been programming for the last 48 years. In the 1980s he was a language designer and unix consultant. In the ‘90s he built navigation systems, open source web services, and mobile apps. He guides the Beautiful Software seminar at Building Beauty, and runs experiments at https://www.urbanology.com. |
Accepted Papers
All accepted papers were organized into Writer's Workshops groups. The conference versions are available below and the final versions will be available after the conference. We will be using online rooms for the Writer's Workshops. The time of each paper session this year is predefined, so everyone can plan to attend any session.
Writers' Workshops "Click on pdf icon to download papers for each group" | |
Neo, led by Valentino Vranić |
|
A Catalog of Security Patterns |
|
An abstract security pattern for Zero Trust Access Control |
|
Patterns for Anonymity Enhancing Cryptocurrencies Non-Custodian Mobile Wallets |
|
A Pattern Language of Multi-Organizations' Collaboration at Public Sector in Developing Countries |
|
Morpheus, led by Michael Weis |
|
Recurring Structures of Subcontract Management in System Outsourcing |
|
Software Engineering Patterns for Machine Learning Applications (SEP4MLA) - Part 4 - ML Gateway Routing Architecture |
|
Patterns for Polyglot Persistence Layer |
|
Building Customer Capacity Through Organizational Patterns Improve the Development Team's Understanding |
|
Patterns for remote agile teams |
|
Trinity, led by Rebecca Wirfs-Brock |
|
Patterns of Recreating Reality in Games |
|
Applying Idioms for Synchronization Mechanisms: Synchronizing communication components for the Fast Fourier Transform |
|
Applying Design Patterns for Communication Components: Communicating CSE components for the Laplace Equation |
|
The Benefits of Understanding the whys behind the hows |
|
The Abstract Secure Communication Path (ASCP) pattern and a derived VPN pattern. |
|
Oracle (in Portuguese), led by Rosana Teresinha Vaccare Braga |
|
Building a Pattern Language for Serverless Architectures |
|
C2-P2: Uma abordagem baseada em Chatbots para navegação de coleções de padrões |
|
Review-based Comparison of Design Pattern Detection Tools |
|
Um framework para visualização de linguagens de padrões de IHC através de diagramas de rede |
|
Smith, led by Pavel Hruby |
|
Foundational DevOps Patterns |
|
Towards a Pattern Language for improving UX work in Software Startups |
|
Event-Driven Microservice Architecture: Patterns for Enterprise Applications Supporting Business Agility |
|
Leading a Software Architecture Revolution - Part 1: Creating Awareness, Preparing and Measuring |
|
Tank (writing group), led by Neil Harrison |
|
Aggregate Decoupling Pattern |
|
Identifying and Documenting Best Practices in Digital Transformation |
|
Patterns for UI language-switching in applications designed for multilinguals |