Autonomous Drone Insect simulator with Elixir

Building multiprocess system

Posted on 2016-11-29 20:55:45

Recently I saw the third season of Black Mirror TV series.

The last episode was really awesome. In a couple words - imagine our world, where all bees are dead. Somebody should pollinate plants to keep them growing. Some startup invents ADI(Autonomous Drone Insect), a kind of mechanical bee, that uses solar energy. The government asks this company to locate 20000 honeycombs all over the country.

At one scene, when police officers come to this startups’ office, we can see a centralized ADI control center - a huge screen with country map, where all ADIs are monitored.

Even if we forget about other events in this episode - this scene really excites me as a programmer. Just imagine, a huge, fault-tolerant and scalable system that monitors 20 millions of devices. And all this devices are constantly moving, interacting around the country. It is really awesome project.

So I decided to build some simple emulator of such world. Just a basic model of such system, that consists of:

  • Map
  • Honeycombs
  • Bees
  • Flowers
  • Traps

And it should take care of itself, emit new bees to replace broken, and emit new traps if there are too many bees. The balance is important.

It you are interested by such kind of project - follow it on github.