A graph-coloring approach to the allocation and tasks scheduling for reconfigurable architectures