A Methodology for the Development of Distributed Real-Time Control Applications With Focus on Task Allocation in Heterogeneous Systems | Synapse