Multi Agent Systems for Artificial Life Domain by Ahmed Elmahalawy