This is a great explanation as to why modeling the behaviours of each "agent" (a citizen in this case) is more realistic than attempting to model the system (a city) as a whole.
This looks like cellular-automata and other reactive a-life -- while I suppose you could stretch the def'n of multi-agent systems to cover these, it's certainly not the first thing that you'll find in the literature. Cool though.
Smalltalk had some groundbreaking ideas -- but "an app. is an image of the whole, monkey-patched class hierarchy shipped with the entire system" certainly wasn't it's greatest contribution.
Nice one! One could also cite Electron apps.
But I don't think people are entirely happy w/containers or Electron apps for similar reasons of their monolithic nature, image size, versioning, patching, etc.
At least w/Docker you have a DockerFile that specifies the composition semantics -- in ST you tend to just save an image in a magic state that was the result of user interactions.
It's basically programming an ant, or an ant prototype, with some simple rules, and hoping the interaction among a swarm of them will create some emergent behavior at the colony level.
https://theconversation.com/how-big-data-and-the-sims-are-he...