Criticality-driven design space exploration for mixed-criticality heterogeneous parallel embedded systems