Design Technology for Heterogeneous Embedded Systems