Hi, all,
We discovered two "groundwork" issues that we need to resolve no matter
whether we want to standardize "early completion" features in the spec.
Those issues already exist in the spec as of today.
Here I request to open two sub-issues:
- Issue 6.3 - "Partial Termination of a Scope"
- One question was highlighted when we were discussing whether an
early-completion-enabled <flow> must use <scope>-based
activities as branch activities. That question can be translated into
whether we actually allow a "partial termination of a scope". The spec
does not have a clear "yes" or "no" answer as of this moment.
Regardless of whether we standardize early completion features or how
early completion features look like, we must answer that "yes/no"
question and
add clarification accordingly.
- Issue 6.4 - "Concurrency and Expression Evaluation"
- During discussion of Issue 6.*, someone expressed the concern
of
potential racing condition situation for <completionConditon>.
Yes, there would be potential racing conditions. However, by thinking
it deeper, racing condition actually apply to ALL expressions
evaluation under a <flow>, whenever data underlying expressions
are mutable. Racing-related expressions include any boolean condition
(e.g. a <while> or if-then-else boolean condition). The more
interesting case is transition
conditions of control links,
which actually can be used to emulate some of
<completionCondition> functionality in some cases and face a
similar racing condition problem.
The suggested changes in attached document will serve as proposals to
Issue 6.3 and 6.4.
Thanks!
Regards,
Alex Yiu
|