

Show HN: Aiomas – An asyncio based library for multi-agent systems in Python - sscherfke
https://bitbucket.org/ssc/aiomas

======
quarterwave
Interesting work!

At first glance it would seem that Erlang or Akka provide a proven
infrastructure for building such a multi-agent system+. Yet, a key construct
is the notion of time and its passage.

(+Which is subtly different from an agent-based model, for simplicity let's
assume they're both the same thing.)

There is a profound observation by Rich Hickey in his talk [1] 'Are we there
yet? - A deconstruction of object-oriented time' (the baseball field slide):
"Perception is massively parallel and requires no co-ordination - This is not
message passing!"

For example if the said ballpark suffered an earthquake, would the Matrix need
to pass messages to each agent? Would a spectator continue walking toward the
hot-dog stand just because the message hasn't shown up yet?

From this perspective, the notion of 'container clock' presented here can be
useful. Question is whether we 'get to stop the world when we want to look
around' (Hickey), or not.

[1]
[http://wiki.jvmlangsummit.com/images/a/ab/HickeyJVMSummit200...](http://wiki.jvmlangsummit.com/images/a/ab/HickeyJVMSummit2009.pdf)

