The general idea is that an appropriate agent meeting the
constraints will be selected from the set of those assigned
to play the role, and bound to the role variable within the
plan. These role variables can then be used within
processes to specify which agents will do certain steps
(operators or sub-plans). An important implication of
allowing constraints in the role specification is that it
introduces flexibility to the teamwork process because the
selection of such roles needs to be made dynamically at run
time to assure that the constraint is satisfied. We will
elaborate on the role selection scheme in the next section.