We investigate the problem of scheduling a set of tasks with individual deadlines and conditional precedence constraints on a heterogeneous Network on Chip (NoC)-based Multi-Processor System-on-Chip (MPSoC) such that the total expected energy consumption of all the tasks is minimized, and propose a novel approach. Our approach consists of a scheduling heuristic for constructing a single unified schedule for all the tasks and assigning a frequency to each task and each communication assuming continuous frequencies, an Integer Linear Programming (ILP)-based algorithm and a polynomial time heuristic for assigning discrete frequencies and voltages to tasks and communications. We have performed experiments on 16 synthetic and 4 real-world benchmarks. The experimental results show that compared to the state-of-theart approach, our approach using the ILP-based algorithm and our approach using the polynomial-time heuristic achieve average improvements of 31% and 20%, respectively, in terms of energy reduction. compared to v j and traverse the same links that v j traverses. 4) If v j is a task node, compute its finish time ζ j = r j + t k,j , and insert unconditional directed edges from v j to unscheduled nodes concurrent to v j and mapped on the same processor where v j is mapped. 5) Delete v j from ReadySet and insert all ready nodes in G to ReadySet. Consider the CTG in Figure 1(b) and the MPSoC in Figure 2(a) where all the processors are identical. The execution times of tasks at the maximum processor frequency are t 1,1