constructing generative systems : project executed by the class through following of a set of simple rules