Design Automation for Embedded Systems