Afaict, the pattern that you reference (Multiple Instances without synchronization)
doesn't have anything to do with the original topic. Namely, how to synchronize
between two concurrent paths of execution without joining them.
Nevertheless, I do think that we can debate if our previous implementation of a milestone
is really the milestone of vanderaalst.
What was implemented previously is a wait state based on the state of another concurrent
path of execution. If the other concurrent path of execution has passed a certain point,
the token in this milestone node just continues. If not, the token will wait in this
milestone until the other concurrent path of execution reaches that point. When that
happens, the original token will continue to execute from the milestone.
The milestone pattern is a bit different. There is says that the activity inside a node
is executed depending on the state of a concurrent path of execution. So that
doesn't involve wait states and recontinuation when the event is reached by the
concurrent token.
I believe that was the argument that someone pulled once... Anyways, it's easy to see
that because we manage the complete runtime data structure as an object graph, that we can
indeed inspect the complete runtime execution state of the complete process instance when
the process executes. That gives us the ability to do 'whatever we want' :-)
Have I rehabilitated myself ?
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3982671#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...