  We propose a new multi-agent task grammar to encode collaborative tasks for a
team of heterogeneous agents that can have overlapping capabilities. The
grammar allows users to specify the relationship between agents and parts of
the task without providing explicit assignments or constraints on the number of
agents required. We develop a method to automatically find a team of agents and
synthesize correct-by-construction control with synchronization policies to
satisfy the task. We demonstrate the scalability of our approach through
simulation and compare our method to existing task grammars that encode
multi-agent tasks.
