We introduce a framework that aims at automating significant parts of the design flow in a typical scenario for embedded application development in the automotive domain. Given a specification model of a new automotive feature captured in Matlab-Simulink, the framework allocates new functions onto the devices of the hardware architecture such as ECUs and buses considering already deployed functions and the distributed nature of embedded systems used in the automotive industry. The framework is motivated by the iterative design process in industrial practice and subdivided into several steps. In the task creation process a balanced task structure is derived automatically from the specification model. Automatic code generation and execution time analysis for each task demands a semantics- preserving restructuring process of the Matlab-Simulink model. The task structure and the generated software tasks serve as input for the automated design space exploration process which has the goal to find a cost-optimized extension of the existing target hardware and an allocation of tasks on this modified target hardware. This allocation is sufficient to guarantee both system-level timing requirements and deadlines extracted from the Matlab-Simulink specification model. Engineers may guide the complete process by running it iteratively and tighten the constraints based on their expert knowledge. This semi-automatic user-driven and transparent optimization process helps to increase acceptance by engineers. For evaluation an industrial-motivated case study of a lane-change driver assistance system and an adaptive cruise control has been used.