Abstract : Today's systems-on-chip are multiprocessor. They are characterized by an increasing complexity and a reduced time to market. To tackle this complexity, the use of high level programming models seems to be a promising approach. In this work, we propose an MPSoC design flow, based on the use of high level parallel programming models API to design embedded software. An automated refinement of these API on target architecture is used. For that purpose, (1) MPSoC hardware/software interfaces were studied; then (2) parallel programming models and their classification in terms of provided abstraction were presented. The proposed flow has been used in two design experiments: (1) an MPEG video encoder, namely OpenDivX, using the MPI parallel programming model and targeting the ARM Integrator prototyping platform, (2) a software defined radio using the CORBA parallel programming model and targeting specific hardware architecture.