Woah. This little project interests me greatly. I totally understand if your not intending to release the source (ie: you're making it into a game?), but can you provide some insight as to how you:
a) generate/track/control the entities? (and how they interact with each other?)
b) your behaviour implementation? Are they given out to each entity at random? Or do entities learn/grow them over time?