  We investigate the evolutionary processes behind the development and
optimization of multiple threads of execution in digital organisms using the
avida platform, a software package that implements Darwinian evolution on
populations of self-replicating computer programs. The system is seeded with a
linearly executed ancestor capable only of reproducing its own genome, whereas
its underlying language has the capacity for multiple threads of execution
(i.e., simultaneous expression of sections of the genome.) We witness the
evolution to multi-threaded organisms and track the development of distinct
expression patterns. Additionally, we examine both the evolvability of
multi-threaded organisms and the level of thread differentiation as a function
of environmental complexity, and find that differentiation is more pronounced
in complex environments.
