Activiti newbie question (apologies if this is the wrong forum):
An activity (a "Job") involves collecting data pertaining to the quality of physical artefacts. The quality of said artefacts is determined by human inspection.
When a Job is defined by a "Job Manager", the artefact type, total quantity of artefacts to be inspected, and location(s) [artefacts may be spread over various geographical locations] of the artefacts are specified.
One or more "Inspectors" is/are tasked with conducting the inspection. Each one of the Inspectors independently performs inspections, recording as they proceed the number of artefacts inspected, the number or defects, additional observations (notes) etc. Inspections may take place in shifts, with new Inspectors coming on board at any time, others ending their contribution to the inspection when their shift ends.
Inspection data are gathered in real-time, with a Job Manager regularly receiving updates re the total number of artefacts inspected, number of defects etc. In effect, each Inspector contributes to a collective result - that being the overall result of the Job.
Finally, a Job can be aborted pretty much at any time.
For simplicity I have omitted several aspects of the process, but my newbie questions are as follows:
How best to model the Inspectors' respective contributions to the overall result? I've heard of multi instance tasks, subprocesses, but don't have the experience to know which (if any) is the best approach. Any advice welcome!
How best to model the fact that a Job can be aborted at any time. At the moment I've used an exclusive gateway after virtually every user task, one branch of which is to a user task for stating the reason for "early" termination. It seems reasonable enough to me but I'd be interested in opinions.