System-Level Design Methodology for Streaming Multi-processor Embedded Systems by