This paper presents a mechanism for the separation of control and data flow in NoC-based SoCs consisting of multiple heterogeneous reconfigurable IP cores. This mechanism enables full data path control by an embedded microcontroller whilst avoiding the potential communication bottleneck and without requiring centralised control over the NoC. In this work, we assume a generic SoC where data processing is performed by reconfigurable IP cores interacting through a NoC and control structures are implemented on a microcontroller. The proposed mechanism employs a service-based SoC architecture (the Gannet architecture) where the control services are implemented on a Virtual Machine and IP cores acquire service behaviour through the use of a generic data marshalling and interfacing circuit. The paper aims at demonstrating how concepts from functional programming language and dataflow machine research can be applied to address the challenges faced in the design of reconfigurable heterogeneous...