BotWorld is a cellular automaton designed by MIRI as a concrete environment in which to study self-modifying agents embedded in their environment. (Contrast this with "classical" models of artificial intelligence where agents interact with the environment only via I/O channels.)
An extensive introduction to botworld can be found in the Botworld pdf. The source code for botworld can be found in the corresponding literate Haskell file.