A design flow for supporting component-based software development in multiprocessor real-time systems