Learning to engineer life: development of a generally configurable model for the simulation of artificial ecosystems