Resurrecting the Beehive Simulator
Over the past few months I’ve had several requests for an old project of mine, one that I did on the University of Groningen: The Beehive Simulator.
In this article I share with you some considerations on resurrecting the project, a very interesting and, I think, very useful thing to do.
The Beehive Simulator, just to recap, is a software application that does three things:
- Build a complete apiary with beehives
- Simulate the apiary, as in a game: the bees will collect food, the queen will lay eggs, etc. All that you can monitor in the program. It even simulates infections with the varroa mite!
- Part of the system is a knowledge system with diagnostic capabilities: you answer several questions about an apiary and the bees, and problems that you have found, and the system will tell you what may have caused these problems and how you should deal with them.
The original ambition of the project was to use the program to help in monitoring the biological environment, because bees (as we are currently learning to our detriment) are very sensitive to disturbances, especially the use of chemicals.
However, the combination of elements of the simulator should make the product very interesting as well for beekeepers around the world as an educational aid.
Porting the software to another programming language would be possible, but for several reasons I would not like it it or even advise it. The software was written in Smalltalk, using a very sophisticated (because written by me :-)) simulation framework, and the same for a backward inferencing knowledge system. Rebuilding that in say C# would be a very large and complex project. The Beehive Simulator consists of more than 100.000 lines of code, and most of that code can be used in modern Smalltalk environments. Remember: Smalltalk is not dead, on the contrary! It has evolved and as I recently re-tweeted from a tweet by Grady Booch, still the environment in which it all happens (to be seen later in the mainstream languages such as Java or C#). Think of Refactoring, Test-Driven-Development, DDD to name just a few.
So yes I would consider resurrecting the project. But it must be in Smalltalk.
I’ll keep you posted. Now I’m out looking for sponsors…