To simulate a cellular automaton, one can write a simulation program that will simulate the whole CA, or one can just write the description of the behavior of one cell and let a universal CA simulation system take care of simulating all the individual cells. This second option is the one used in CASim. There are a number of ways to describe the individual cells. For models which are strict cellular automata with a finite number of states, one can tabulate the state transition function completely. One can describe the state transition function as the logical formula. One can use a general-purpose programming language, such as C or Java. Finally, one can use a special-purpose language designed to facilitate the description of CAs. The table and the logic-approach are described in chapter in the context of automatic conversion between one possibility and another. Here, the general-purpose language approach is described, using the object-oriented language Java. As special-purpose languages, three languages are described, namely CDL , cellang and caxl, which is a newly developed XML document type.