Allocation and scheduling for MPSoCs via Decomposition and No.Good Generation