1sink: { S[] -> a[] }
2must_source: { T[] -> a[] }
3schedule_map: { T[] -> [1]; S[] -> [0] }
4