Thank you for the instant reply.
I think a few features maybe useful such as:
1. For the activities(e.g. task and subprocess) inside Ad-Hoc subprocess, they can be started in a certain order based on conditions or can not executed at all.
2. The start of Ad-Hoc subprocess can be triggered by different events such as timer, message, signal and more
3. Ad-Hoc subprocess are completed based on specified conditions(in BPMN 2.0) or they do not need to be completed at all if not started. The normal process can still be completed if the normal flow ends.