Return to EuroPLoP — API Refactoring Patterns

Mirko Stocker
ZIO’s Blog
Published in
3 min readJul 13, 2023

--

API Refactoring to Patterns paper presented at EuroPLoP 23

EuroPLoP is one of the go-to conferences on all things patterns; our “Patterns for API Design” benefitted a lot from EuroPLoP writers’ workshops 2017 to 2020. All five co-authors of the book attended this year’s conference with follow-up work. For instance, Olaf and I brought eight API refactorings with them, and a focus group aimed at exchanging experience with pattern education.

In this post, I will share the results of our writers workshop and Olaf covers the “Pattern Visualization in Teaching and Consulting” focus group in a separate post.

Writer’s Workshop A

Unlike other conferences, EuroPLoP focuses on improving papers instead of only presenting them. Shepherding and writers’ workshops are the two primary ways of doing so (so is PC member/peer review feedback, which is more common). Shepherding¹ happened before the conference (for about 3 months); the writers’ workshops form the heart of the conference. Authors read each other’s papers before the conference and then discuss them on-site, following a very specific protocol.

Olaf and I got the paper “API Refactoring to Patterns” workshopped.² It contains the first eight entries from our Interface Refactoring Catalog that has been emerging since 2020. The following caption from the website lists the refactorings that we collected on the left and also calls out the various smells they remove (we gave “Add Wish List” top priority in the workshop):

IRC: Smell Browser View

The paper draft was well received, and we got a lot of helpful and constructive feedback to improve it further. The overall impression was that it is well-written, that the figures aided understandability and that the examples were chosen and explained well. One aspect that we will certainly improve is to clarify the target audience of the refactorings, explain patterns icon usage in figures even more, and highlight which refactorings can be applied in a fully backward-compatible way (and which ones require additional effort to keep existing clients working).³

The other draft papers in the workshop were:

  • “Design Patterns for Approval Processes”
  • “Tool Support for Learning Architectural Guidance Models and Pattern Mining from Architectural Design Decision Models”
  • “Deployment Tracking and Exception Tracking Patterns: More monitoring design patterns for cloud-native applications”
  • “API Rate Limit Pattern”

There were six more workshops running in parallel, covering a diverse range of topics, including pattern writing with and for ChatGPT, microservices patterns and their effect on extensibility, patterns for contextual organizational change, community-driven learning, flexible learning spaces for hybrid education, anti-patterns related to mismanagement of NFRs.

Many of the workshopped papers will eventually become available online in the ACM Digital Library; see, for instance, “Interface Responsibility Patterns: Processing Resources and Operation Responsibilities”. The authors copy of that paper (PDF) is publicly available for download.

What’s Next?

Links to previous editions and other patterns conferences can be found here.

Please consider a submission to EuroPLoP 2024 (due in January/February, so there is time)… coaching and tools for beginners are available. For instance, have a look at the “Pattern Writing” section on this page.

See Olaf’s story on the results of the “Pattern Visualization in Teaching and Consulting” focus group.

Notes

  1. Shepherding is pattern community lingo for coaching w.r.t. technical writing and patterns.
  2. Being workshopped is pattern lingo again… here is a final one: the authors of the paper that is currently discussed morph into “flies on the wall” for most of the discussion (and flies do not speak!).
  3. We thank the workshop participants Carlos Albuquerque, Filipe F. Correia, Daniel Lübke, Cesare Pautasso, Souhaila Serbout, and Uwe Zdun for their valuable feedback!

Originally published at https://ozimmer.ch on July 5, 2023.

--

--

Mirko Stocker
ZIO’s Blog

SE Prof (Cloud, Web, Programming Languages) @ OST; Partner @ Institute for Software; Co-Founder @ LegalGo