Soliton cellular automata