Concurrency diagrams
philbooth.me ⎯ last week When engineers discuss program design and system architecture,
a common source of misunderstanding is concurrency.
Often that’s because we make internal assumptions about it,
which we presume to be self-evident.
But we don’t all make the same assumptions,
so you can end up in a situation
where multiple conflicting beliefs are held
about the concurrency of a system
and nobody realises.
Left unchecked,
these misunderstandings can lurk
until much later in the development process,
when they’re more expensive to fix.
You can prevent these misunderstandings from happening
by making concurrency explicit up-front,
in a diagram.