Issue 11601: Clarify association of artifacts to flows
Issue 11668: Table 9.2
Issue 11669: Table 9.13
Issue 11670: Table A.10
Issue 11671: Table A.10 editorial
Issue 11672: Glossary
Issue 11673: Glossary issue
Issue 11674: Sequence Flow Connection
Issue 11675: Glossary (Adobe p321): under Trigger
Issue 11676: Common Gateway Features
Issue 11677: precisions about the Signal Event
Issue 11678: Figure A.30 is an invalid BPMN 1.1 model
Issue 11679: Figure A.31 is an invalid BPMN 1.1 model
Issue 11680: Figure A.33 is missing an artefact
Issue 11681: Figure A.34 is missing an artefact
Issue 11682: Figure A.35
Issue 11689: Figure 10.2 - A Conditional Sequence Flow
Issue 12201: Timer Events
Issue 12265: Copyright
Issue 12372: 'Default' Gate'
Issue 11601: Clarify association of artifacts to flows (bpmn-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Conrad Bock, conrad.bock@nist.gov conradb@cme.nist.gov)
Nature:
Severity:
Summary:
In clause 9.7.2 and 10.1.4, it is stated that a data object artifact can be associated with a (Sequence or Message) Flow. But the meaning of association with a Sequence Flow is not clearly stated. In Figure 9.40 there is an example of an association of a data object to a Sequence Flow between two Activities. Is such an association only permitted when the Flow is between two Activities? Is it permitted when the flow is between an Activity and a Gateway? For example, could Figure 9.40 have two activities on the right, with an exclusive data gateway (decision) routing the data object to one or the other under certain conditions? Is there a meaning to associating the data object with a Sequence Flow that terminates in an Event (throw or catch)? Proposed Resolution: When the flow originates from an Activity, the data object is an output of that Activity that is available at the time of the flow. When the flow terminates in an Activity, the data object is an input to that Activity that is available at the time the Activity starts. (This is the conclusion to be drawn from the current text. But these statements are independent of what is on the other end.) If the flow originates from a gateway or event, BPMN assigns no meaning to the association with respect to that end, but a conforming tool may. If the flow terminates in a gateway or event, the data object is an "input" artifact that is available when the Gateway decision is made, the Event is thrown, or the wait for the Event begins. The artifact, or the knowledge of its availability, may be used in making the Gateway decision or throwing or handling the Event. The preferred representation of a data object "flowing" past a gateway or event is to show two (or more) associations: output from the originating activity and input to the activity (or activities) that use the artifact. (And there should be an example of this.)
Table 9.2 (Adobe p66): under "error" the description reads ".. if no activity in the has such.." a word seems to be missing
Table 9.13 (Adobe p75): "for an Intermediate Event within Normal Flow: if the Trigger is an Error, then the ErrorCode MUST be entered. This "throws" the error." This indicates that an Intermediate Event can "throw" an error, which conflicts with Figure 9.5. I guess it should be 'catches' instead of 'throws'.
Table A.10 (Adobe p176): "this will map to a throw element". There's only one element allowed to throw errors and that is the Error-End-Event. This should be fully specified to avoid possible confusion with the non-existing intermediate-throw-error event
Table A.10 (Adobe p76): "if the Error Event does has an ErrorCode.."
Glossary (Adobe p290): End Event - "End Event Results are Message, Error, Compensation, Link, and Multiple" Link shall be removed
Glossary (Adobe p290): under Result – "A result is consequence of reaching an End Event. Results can be of different types, including: Message, Error, Compensation, Link and Multiple" Link shall be removed
Sequence Flow Connection (Adobe p72): "an exception to this: an Source link.."
Glossary (Adobe p321): under Trigger: "A trigger is a mechanism that signals the start of a business process. Triggers are associated with a Start Events and Intermediate Events and can be of the type: Message, Timer, Rule, Link, and Multiple" 'Rule' shall be renamed to 'Conditional' and 'a Start Events' should be 'a Start Event'
Common Gateway Features (Adobe p97): "an Gateway MUST NOT .. " and "An Gateway MUST NOT.."
I would appreciate some precisions about the Signal Event. Initially we intended not to have any data associated with it. Yet it has some properties. I think it makes sense; we indeed need to associate technical information such as the Name or Id of the instance that raised it, as well as its TimeStamp. I want to make sure those are not supposed to be business data. Also I think this part is under specified, we need to further explain what kind of mechanism should be used to "listen" to such events, (publish/subscribe pattern ?) as well as how long such messages are supposed to be kept alive. For instance on Figure 10.48 (Adobe 322) what is supposed to happen if "B Completed" is raised before the upper sub process is ready to receive it ?
• Figure A.30 is an invalid BPMN 1.1 model (message flows are not correct, a gateway has two defaults outgoing path, ..)
Figure A.31 is an invalid BPMN 1.1 model (sequence flow pointing to text, Intermediate Link Event should be used instead)
Figure A.33 is missing an artefact next to the loop symbol to specify it is an unfolded sub-process
Figure A.34 is missing an artefact to specify it is an unfolded sub-process, also intermediate link events should be used.
Figure A.35: intermediate link event should be used
A Sequence Flow that has an Exclusive Data-Based Gateway or an activity as its source can also be defined with a condition expression of Default. Such Sequence Flow will have a marker to show that it is a Default flow. I believe that the condition expression of Default can be set to Sequence Flow that has an Inclusive Gateway as its source as well as the above mentioned. It naturally results from what is written on page 82 about Inclusive Gateways diverging behaviour
With regard to Timer Events, Expression in B.11.8 doesn’t provide a solution to the example given in the specification such as in Table 9.8 for Timer Events which use TimeDateExpression B.11.18 which in turn use Expression.
BPEL has three constructs For, Until and RepeatEvery. RepeatEvery can optionally be applied to the other two. The XSD excerpt is as follows:
<xsd:element name="for" type="tDuration-expr" />
<xsd:element name="until" type="tDeadline-expr" />
<xsd:element name="repeatEvery" type="tDuration-expr" />
Both the types of expressions extend tExpression which is defined as this:
<xsd:complexType name="tExpression" mixed="true">
<xsd:sequence>
<xsd:any processContents="lax"
minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
<xsd:attribute name="expressionLanguage"
type="xsd-derived:anyURI" />
<xsd:attribute name="opaque"
type="xsd-derived:tOpaqueBoolean" />
<xsd:anyAttribute namespace="##other" processContents="lax" />
</xsd:complexType>
And are further qualified in section 8.3 as:
.Deadline expressions should return valid values of xsd:date and xsd:dateTime
.Duration expressions should return valid values of xsd:duration
We feel the BPMN spec is imprecise in this area in defining both in Table A.9 by their mapping to BPEL (TimeDate = until, TimeCycle = for). RepeatEvery makes no appearance in the BPMN spec.
Therefore, we think the best solution would be for BPMN to add RepeatEvery. Is it possible that the BPMN spec may have believed TimeCycle actually fulfils the BPEL repeatEvery, the name would seem to bear that out? However it _explicitly_ says that TimeCycle should be interpreted as BPEL 'for'. Therefore a second, larger, change to BPMN would be to re-map TimeCycle to repeatEvery and add instead WaitFor or some such mechanism.
In the preface in the "Licenses" section it states "The companies listed above have granted to the Object Management Group, Inc. (OMG) a nonexclusive, royalty-free,paid up, worldwide license to copy and distribute this document". However other than the OMG itself no companies are listed above or in fact below in the preface. Surely this is bug - failing to list the copyrights of the companies that submitted the intellectual property. Note section 6.3 has a list of contributors. This is the URL I downloaded the PDF from: http://www.omg.org/spec/BPMN/1.1/ and the file was http://www.omg.org/docs/formal/08-01-17.pdf all linked from http://www.omg.org/technology/documents/br_pm_spec_catalog.htm
In the specs, it is stated that a gate can be designated as the 'Default' Gate' for Excusive Data-based gateway and Inclusive Gateway. It is stated in the specs for Gates that "For DefaultGates: The Sequence Flow MUST have its Condition attribute set to Otherwise" However, The Condition Type attribute for a Sequnce Flow can only be Expression None Default Should the specs state that "For DefaultGates: The Sequence Flow MUST have its Condition attribute set to Default" Please confirm.