Theory Of Self Reproducing Automata