I am pleased to post Davide Sangiorgi's interview with CONCUR 2022 Test-of-Time Award recipient James Leifer, who will receive the award for the paper 
"Deriving Bisimulation Congruences for Reactive Systems" co-authored with the late Robin Milner. 
Thanks to James for painting a rich picture of the scientific and social context within which the work on that paper was done and to Davide for conducting the interview. I trust that readers of this blog will enjoy reading it as much as I did. 
Davide: How did the work presented in your CONCUR ToT paper come about?
James: I
 was introduced to Robin Milner by my undergraduate advisor Bernard 
Sufrin around 1994. Thanks to that meeting, I started with Robin at 
Cambridge in 1995 as a fresh Ph.D. student. Robin had recently moved 
from Edinburgh and had a wonderful research group, including, at various
 times, Peter Sewell, Adriana Compagnoni, Benjamin Pierce, and Philippa 
Gardner. There were also many colleagues working or visiting Cambridge 
interested in process calculi: Davide Sangiorgi, Andy Gordon, Luca 
Cardelli, Martín Abadi,... It was an exciting atmosphere!  I was 
particularly close to Peter Sewell, with whom I discussed the ideas here
 extensively and who was generous with his guidance.
There
 was a trend in the community at the time of building complex process 
calculi (for encryption, Ambients, etc.) where the free syntax would be 
quotiented by a structural congruence to "stir the soup" and allow 
different parts of a tree to float together; reaction rules (unlabelled 
transitions) then would permit those agglomerated bits to react, to 
transform into something new.
Robin wanted to 
come up with a generalised framework, which he called Action Calculi, 
for modelling this style of process calculi.  His framework would 
describe graph-like "soups" of atoms linked together by arcs 
representing binding and sharing; moreover the atoms could contain 
subgraphs inside of them for freezing activity (as in prefixing in the pi-calculus), with the possibility of boundary crossing arcs 
(similarly to how nu-bound names in pi-calculus can be used in 
deeply nested subterms).  
Robin had an amazing
 talent for drawing beautiful graphs! He would "move" the nodes around 
on the chalkboard and reveal how a subgraph was in fact a reactum (the 
LHS of an unlabelled transition).  In the initial phases of my Ph.D. I 
just tried to understand these graphs: they were so natural to draw on 
the blackboard! And yet, they were also so uncomfortable to use when 
written out in linear tree- and list-like syntax, with so many distinct 
concrete representations for the same graph.
Putting
 aside the beauty of these graphs, what was the benefit of this 
framework? If one could manage to embed a process calculus in 
Action Calculi, using the graph structure and fancy binding and nesting 
to represent the quotiented syntax, what then?  We dreamt about a 
proposition along the following lines: if you represent your syntax 
(quotiented by your structural congruence) in Action Calculi graphs, and
 you represent your reaction rules as Action Calculi graph rewrites, 
then we will give you a congruential bisimulation for free!
Compared
 to CCS for example, many of the rich new process calculi lacked 
labelled transitions systems. In CCS, there was a clean, simple notion 
of labelled transitions and, moreover, bisimulation over those labelled 
transitions yielded a congruence: for all processes P and Q, and all
 process contexts C[-], if P ~ Q, then C[P] ~ C[Q]. This is a
 key quality for a bisimulation to possess, since it allows modular 
reasoning about pieces of a process, something that's so much harder in a
 concurrent world than in a sequential one.
Returning
 to Action Calculi, we set out to make good on the dream that everyone 
gets a congruential bisimulation for free! Our idea was to find a 
general method to derive labelled transitions systems from the 
unlabelled transitions and then to prove that bisimulation built from 
those labelled transitions would be a congruence.
The
 idea was often discussed at that time that there was a duality whereby a
 process undergoing a labelled transition could be thought of as the 
environment providing a complementary context inducing the process to 
react. In the early labelled transition system in pi-calculus for 
example, I recall hearing that P undergoing the input labelled 
transition xy could be thought of as the environment outputting 
payload y on channel x to enable a tau transition with P.
So
 I tried to formalise this notion that labelled transitions are 
environmental contexts enabling reaction, i.e. defining P ---C[-]---> P' to mean C[P] ------> P' provided that C[-] was somehow "minimal", i.e. contained nothing superfluous beyond 
what was necessary to trigger the reaction. We wanted to get a rigorous 
definition of that intuitive idea. There was a long and difficult period
 (about 12 months) wandering through the weeds trying to define minimal 
contexts for Action Calculi graphs (in terms of minimal nodes and 
minimal arcs), but it was hugely complex, frustrating, and ugly and we 
seemed no closer to the original goal of achieving congruential 
bisimulation with these labelled transitions systems.
Eventually
 I stepped back from Action Calculi and started to work on a more 
theoretical definition of "minimal context" and we took inspiration from
 category theory.  Robin had always viewed Action Calculi graphs as 
categorical arrows between objects (where the objects represented 
interfaces for plugging together arcs). At the time, there was much 
discussion of category theory in the air (for game theory); I certainly 
didn't understand most of it but found it interesting and inspiring. 
If
 we imagine that processes and process-contexts are just categorical 
arrows (where the objects are arities) then context composition is arrow
 composition. Now, assuming we have a reaction rule R ------> R', 
we can define labelled transitions P ---C[-]---> P' as follows:
 there exists a context D such that C[P] = D[R] and P' = D[R']. 
The first equality is a commuting diagram and Robin and I thought that 
we could formalise minimality by something like a categorical pushout! 
But that wasn't quite right as C and D are not the minimum 
pair (compared to all other candidates), but a minimal pair: 
there may be many incomparable minimal pairs all of which are witnesses 
of legitimate labelled transitions.  There was again a long period of 
frustration eventually resolved when I reinvented "relative pushouts" 
(in place of pushouts). They are a simple notion in slice categories but
 I didn't know that until later...
Having found
 a reasonable definition of "minimal", I worked excitedly on 
bisimulation, trying to get a proof of congruence: P ~ Q implies E[P] ~ E[Q]. For weeks, I was considering the labelled transitions 
of E[P] ---F[-]---> and all the ways that could arise. The most
 interesting case is when a part of P, a part of E, and F all 
"conspire" together to generate a reaction. From that I was able to 
derive a labelled transition of P by manipulating relative pushouts, 
which by hypothesis yielded a labelled transition of Q, and then, via a
 sort of "pushout pasting", a labelled transition E[Q] ---F[-]--->. It was a wonderful moment of elation when I pasted 
all the diagrams together on Robin's board and we realised that we had 
the congruence property for our synthesised labels!
We
 looked back again at Action Calculi, using the notion of relative 
pushouts to guide us (instead of the arbitrary approach we had 
considered before) and we further looked at other kinds of process 
calculi syntax to see how relative pushouts could work there...  
Returning to the original motivation to make Action Calculi a universal 
framework with congruential bisimulation for free, I'm not convinced of 
its utility. But it was the challenge that led us to the journey of the 
relative pushout work, which I think is beautiful.
Davide: What influence did this work have in the rest of your career? How much of your subsequent work built on it?
James: It
 was thanks to this work that I visited INRIA Rocquencourt to discuss 
process calculi with Jean-Jacques Lévy and Georges Gonthier. They kindly
 invited me to spend a year as postdoc in 2001 after I finished my 
thesis with Robin, and I ended up staying in INRIA ever since. I didn't 
work on bisimulation again as a research topic, but stayed interested in
 concurrency and distribution for a long time, working with Peter Sewell
 et al on distributed language design with module migration and 
rebinding, and with Cédric Fournet et al on compiler design for 
automatically synthesising cryptographic protocols for high level 
sessions specifications.
Davide: Could you tell 
us about your interactions with Robin Milner? What was it like to work 
with him? What lessons did you learn from him?
James: I was tremendously inspired by Robin.
He
 would stand at his huge blackboard, his large hands covered in chalk, 
his bicycle clips glinting on his trousers, and he would stalk up and 
down the blackboard --- thinking and moving.  There was something 
theatrical and artistic about it: his thinking was done in physical 
movement and his drawings were dynamic as the representations of his 
ideas evolved across the board.
I loved his 
drawings. They would start simple, a circle for a node, a box for a 
subgraph, etc. and then develop more and more detail corresponding to 
his intuition. (It reminded me of descriptions I had read of Richard 
Feynman drawing quantum interactions.)
Sometimes
 I recall being frustrated because I couldn't read into his formulas 
everything that he wanted to convey (and we would then switch back to 
drawings) or I would be worried that there was an inconsistency creeping
 in or I just couldn't keep up, so the board sessions could be a roller 
coaster ride at times!
Robin worked 
tremendously hard and consistently. He would write out and rewrite out 
his ideas, regularly circulating hand written documents. He would refine
 over and over his diagrams. Behind his achievements there was an 
impressive consistency of effort.
He had a lot 
of confidence to carry on when the sledding was hard. He had such a 
strong intuition of what ought to be possible, that he was able to 
sustain years of effort to get there.
He was 
generous with praise, with credit, with acknowledgement of others' 
ideas. He was generous in sharing his own ideas and seemed delighted 
when others would pick them up and carry them forward. I've always 
admired his openness and lack of jealousy in sharing ideas.
In
 his personal life, he seemed to have real compatibility with Lucy (his 
wife), who also kept him grounded. I still laugh when I remember once 
working with him at his dining room table and Lucy announcing, "Robin, 
enough of the mathematics. It's time to mow the lawn!" 
I
 visited Oxford for Lucy's funeral and recall Robin putting a brave face
 on his future plans; I returned a few weeks later when Robin passed 
away himself. I miss him greatly. 
Davide: What research topics are you most interested in right now? How do you see your work develop in the future?
James: I've
 been interested in a totally different area, namely healthcare, for 
many years. I'm fascinated by how patients, and information about them, 
flows through the complex human and machine interactions in hospital. 
When looking at how these flows work, and how they don't, it's possible 
to see where errors arise, where blockages happen, where there are 
informational and visual deficits that make the job of doctors and 
nurses difficult. I like to think visually in terms of graphs 
(incrementally adding detail) and physically moving through the space 
where the action happens --- all inspired by Robin!