Distributed Control of Heterogeneous Systems