Separation of Data flow and Control flow in Reconfigurable Multi-core SoCs using the Gannet Service-based Architecture