From my POV, the application roots are in complex robotics software and in OS's involving lots of parallel activities. Most of the fundamental computer science work was done by [Dijkstra](, [Hoare](, [Dahl](, and of course [Petri]( in terms of communicating automata. Between those four you will find the foundation behind just about every fundamental concept in real-time/distributed/object-oriented/structured programming.

> *aside*: I was confused by the idea that Petri nets were first applied to chemical reactions in 1939, because this does not coincide with Carl Petri's work in CompSci. Only now do I find that Petri developed the concept when he was only 13 years old, and he apparently switched over to studying computers when he was 15!

This 2014 thesis from Hoare's alma mater at Eindhoven appears quite comprehensive on first look => [Petri nets for modeling robots]( This stuff is not for the faint-of-heart -- I spent 20 years developing virtual reality simulations for robotics applications and the complexity is often mind-reeling. Every time I had to simulate a working part, invariably I started with a Petri net sketch describing the handoff synchronization points.

Now the connection of robotics to the behavior of viruses is that the mechanics of how viruses replicate is robotic in terms of all the handoffs necessary. It's very easy to interfere with the operation of a robot by messing with the synchronization points and that's the primary means to fight off a viral infection.


Based on this research => [Modelling the Structure and Dynamics of
Biological Pathways](, this is an intro to how virus modelers are using Signalling Petri Nets

and the tool they are using