How do we model a task where it is to be performed by all members of a specific role in BPMN? Especially when the number of members of this role is indeterminate at design time, and may increase or decrease at runtime from time to time.
Scenario: There is one task called "Review draft of new standards document" and it is assigned to the role called "Experts". Whenever this task is executed for a new document, we want all (not just any one of them) the members of the Experts role to review it individually and provide their comments and recommendations.
Now, at design time, I cannot be sure how many experts there are at any point in time in the future. New experts may join later; some may leave at a certain point in time. But however many there are at the time the new document needs to be reviewed, we want all of them to review it. Therefore, I cannot model it with a separate "Review" task for each expert ahead of time.
If I model just one task and assign it to the Role "Experts", how do I specify in BPMN that all the possible members of that Role (at that specific time) are to execute that one [sic] task, and not just any one of them will do?
I hope that my scenario is made clear here.
Also, I am interested in the implications in how an execution context might treat such a model (even if it can be modeled correctly in BPMN). If there happened to be 3 experts in the role of "Experts" at the specific time when document X is set to be reviewed, must all 3 of the experts complete their tasks before any subsequent task (for example, "Compile Comments and Modify Standards Document") can start? What if the editor wants to have the flexibility to start their work once the first review comments have been submitted without waiting for the rest to complete their review? What if the editor wants to ignore the review of the last expert if they are taking too long to do their review?