-
Key: BPMN2-202
-
Legacy Issue Number: 14783
-
Status: closed
-
Source: NIST ( Mr. Conrad Bock)
-
Summary:
An activity with data flow input and no incoming sequence flows
should be given an executable semantics. Then the modeler can focus
on what data activities accept and provide, without the
complications of sequencing activities. The semantics could apply
when input data is taken only at the beginning of activity
execution, and only from output data that is provided at the end of
execution of a previous activity in the flow. This isn't the same
as sequence flow with associated data, because each incoming token
on a sequence flow "enables the activity independently" (see
13.1.1. Sequence Flow Considerations). An inclusive merge semantics
for multiple incoming sequence flows (as in
<a href="http://www.osoa.org/jira/browse/BPMN-117),">http://www.osoa.org/jira/browse/BPMN-117),</a> helps, but doesn't work
with mult-token activities or subgraphs in common cases (see
<a href="http://www.osoa.org/jira/browse/BPMN-254)">http://www.osoa.org/jira/browse/BPMN-254)</a>. -
Reported: BPMN 2.0b1 — Mon, 23 Nov 2009 05:00 GMT
-
Disposition: Resolved — BPMN 2.0
-
Disposition Summary:
We propose to relax the sequence flow (SF) connection rules for activities. Any activity may or may not have incoming or outgoing SF, irrespective of the presence of
start and end events. The semantics we propose for activities without incoming/outgoing SF is as follows:- each activity that does not have any incoming SF is triggered (ie receives an implicit token) upon instantiation of the containing (sub-) process
- each activity that does not have any outgoing SF is treated as if it would be connected to an implicit undecorated end event.
This requires the following changes to the spec document (referring to dtc/2009-08-14 ):
in Sect. 10.2 Paragraph "Sequence Flow Connections" - in the sentence "If the Activity does not have an incoming Sequence Flow, and there is no Start Event for the Process, then the Activity MUST be instantiated when
the Process is instantiated.", delete "and there is no Start Event for the Process," - in the sentence "If the Activity does not have an outgoing Sequence Flow, and there is no End Event for the Process, then the Activity marks the end of one or more
paths in the Process", delete "and there is no End Event for the Process"
in Sect. 10.4.2 "Start event", - delete this:
"If the Start Event is used, then there MUST NOT be other flow elements that do not have incoming Sequence Flowall other Flow Objects MUST be a target of at
least one Sequence Flow. u Exceptions to this are Activities that are defined as being Compensation Activities (have the Compensation Marker). Compensation
Activities MUST NOT have any incoming Sequence Flow, even if there is a Start Event in the Process level. See page 314 for more information on Compensation
Activities. u An exception to this is the Intermediate Event, which MAY be without an incoming Sequence Flow (when attached to an Activity boundary). "
Change this:
"If the Start Event is not used, then all Flow Objects that do not have an incoming Sequence Flow (i.e., are not a target of a Sequence Flow) SHALL be instantiated
when the Process is instantiated. There is an assumption that there is only one implicit Start Event, meaning that all the starting Flow Objects will start at the same time.
u Exceptions to this are Activities that are defined as being Compensation Activities (have the Compensation marker). Compensation Activities are not considered a
part of the normal flow and MUST NOT be instantiated when the Process is instantiated. See page 314 for more information on Compensation Activities. "
into this:
"All Flow Objects that do not have an incoming Sequence Flow (i.e., are not a target of a Sequence Flow) SHALL be instantiated when the Process is instantiated.
u Exceptions to this are Activities that are defined as being Compensation Activities (have the Compensation marker). Compensation Activities are not considered a
part of the normal flow and MUST NOT be instantiated when the Process is instantiated. See page 314 for more information on Compensation Activities.
in Sect. 10.4.3 "End event":
Delete this:
"If an End Event is used, then there MUST NOT be other flow elements that do not have any outgoing Sequence Flowall other Flow Objects MUST be a source of
at least one Sequence Flow.
Exceptions to this are Activities that are defined as being Compensation Activities (have the Compensation marker). Compensation Activities MUST NOT have any
outgoing Sequence Flow, even if there is an End Event in the Process level. See page 314 for more information on Compensation Activities. "
In this:
"If the End Event is not used, then all Flow Objects that do not have any outgoing Sequence Flow (i.e., are not a source of a Sequence Flow) mark the end of a path in
the Process. However, the Process MUST NOT end until all parallel paths have completed."
delete "If the End Event is not used, then "
in Sect. 14.2.1. "Sequence Flow Considerations"
change this:
"If an Activity has no incoming Sequence Flow, and there are no Start Events in the containing Process or Sub- Process, the Activity will be instantiated when the
containing Process or Sub-Process is instantiated. Exceptions to this are Event Sub-Processes and Activities marked as Compensation Activities, as they have
specialized instantiation behavior. "
into this:
"If an Activity has no incoming Sequence Flow, the Activity will be instantiated when the containing Process or Sub-Process is instantiated. Exceptions to this are
Compensation Activities, as they have specialized instantiation behavior. "
change this:
"If the Activity has no outgoing Sequence Flow and there are no End Events in the containing Process or Sub- Process, the Activity will terminate and termination
semantics for the container applied. "
into this:
"If the Activity has no outgoing Sequence Flow, the Activity will terminate without producing any tokens and termination semantics for the container is then applied. "
Disposition: Resolved
-
Updated: Fri, 6 Mar 2015 20:57 GMT