A tool-chain targeting heterogeneous, embedded systems, using a model-centric development approach