Cyber-physical systems provide sophisticated functionality and are controlled by networked electronic control units (ECUs). Nowadays, software engineers use componentbased development approaches for developing the software. Moreover, software components have to be allocated to an ECU in order to be executed. Engineers have to cope with topology, software, and timing dependencies and memory, scheduling, and routing constraints [Al13]. Currently, engineers use techniques like integer linear programming or SAT-based encodings to specify allocation constraints and to derive a feasible allocation automatically. However, encoding constraints manually is a complex task [ZP13].