[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Issue 82.3 - Missing Section
------------------------ Subset
of the Executable Completions Allowed in the Base
With
respect to executable BPEL completions of an abstract process that uses
this
profile, the intent of the profile requires a valid completion to
follow the
same interactions as the abstract process, with the partners that are
specified
by the abstract process. The executable process may, however, perform
additional interaction steps relating to other partners. This section
uses the
term ‘existing’ to refer to constructs
present in an abstract process, and the
term ‘new’ to refer to those added to an abstract process while
creating an
executable completion. In
order to achieve the intent of the profile, a completion MUST NOT
change the
presence or order of interactions already in the abstract process, and
it MUST
NOT perform additional interactions with the partner links defined in
the
abstract process. The completion rules provided below aim to enforce
this
restriction. Data
writing may cause changes in interaction order. Changes caused by data
writing
are not enforced by the completion rules, but are highlighted here as
an
advisory note. One example is changing the value of a variable used in
a
condition that affects branching, in such a way that the new effective
branching behavior is in direct conflict with what is specified by the
abstract
process. Conditions that affect the flow of control such as transition
conditions, “if-then” or “while” expressions, among others, can have
such an
effect on the order of interactions. For example, adding a new <while> loop with a “true”
condition
as a child of an existing <sequence>
would hang the process. When
creating an executable completion of an abstract process belonging to
this
profile, the possible locations for adding new activities are not
explicitly
defined: Activities may be added anywhere that the Executable
Completions
definition in section [todo: add xref here] allows with
the restrictions below. In
this profile, the valid executable completions of an abstract process
are
obtained through both 'opaque token replacement' and 'addition of BPEL
constructs', with the following restrictions.:
[Last sentence on “New partnerLink …” depends on
accepting
proposed resolution of 302]
[Normative change: assumes/depends on adoption of
302
proposed resolution]
o
New links whose
targets are
existing activities. The Executable Completions definition in the Base
already disallows
adding new links to existing activities that have existing links and
use the
default join condition. This profile restricts this further by
disallowing the
addition of new links to any existing activity. However, one may
freely
add links targeting new activities as long as those activities are not
a
replacement of one of the abstract process’s opaque activities. [TODO:
This text on links refers to a new clarification to the EC Base
definition sent as separate email]
Recall
from the definition of Executable Completion in the Base that if a
construct is
optional and has a default value, then the construct needs to be
explicitly
opaque, in order to allow Executable Completion to specify its value.
One
example that highlights that is an Abstract Process with a
<receive>
activity or other IMA that does not have the createInstance attribute.
Such an
activity is always treated as a non-start activity, an Execution
Completion
cannot add "createInstance=yes" to it. If one
wants to make a <receive>
activity or other IMA optionally become a start activity, the
createInstance
attribute has to be made explicitly opaque. |
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]