I. Introduction
To thoroughly exploits the computational resources on multicore platforms, new modeling and analysis techniques should be developed with the consideration of software parallelization. Many parallel applications, such as OpenMP programs, and robotic software run on ROS [1], can be naturally modeled as directed acyclic graphs (DAGs), where nodes represent sequential execution units, also called subtasks, and edges represent precedence constraints between subtasks.