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 11688: Figure 9.23 - An Inclusive Decision using Conditional Sequence Flow
Issue 11689: Figure 10.2 - A Conditional Sequence Flow
Issue 12201: Timer Events
Issue 12265: Copyright
Issue 12372: 'Default' Gate'
Issue 12941: Fwd: BPMN Formal 1.1 - Reference Task issue - Section 9.4.3.8
Issue 13446: Section: 9.4.2 Sub-Process
Issue 13715: In Figure 11.3, the annotation for the "repeat" indicator
Issue 13866: No MetaModel for BPMN
Issue 13922: Figures 10.18 and 10.19 are presented as though they are logical equivalents in the description above 10.19.
Issue 13923: Figure 10.39 states that Arbitrary Cycle is known as Workflow Pattern #16. This is not correct
Issue 13990: Section: 9.4.2.3
Issue 14054: The Description for LoopCondition does not seem to be correct
Issue 11601: Clarify association of artifacts to flows (bpmn-rtf)
Click here for this issue's archive.
Source: NIST (Mr. Conrad Bock, conrad.bock(at)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 source Gateway MUST NOT be of type AND (Parallel). A assume that the gateway MUST NOT be of type XOR as well.
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.
In BPMN Formal/08-01-17, Section 9.4.3.8, Reference Task, the first paragraph refers to Activity, while the second paragraph and the associated Table 9.31 refer to Task. For clarity and correctness, the first paragraph should also refer to Task. To fix: Change the word "activity" to "Task" in the first sentence. Change the word "activities" to "Tasks" in the second sentence.
Hello, after reading throuh the named chapter about Sub-processes, I could not find a clear statement on the allowed number of "None Start Events" and "None End Events". Out of the spec one might have the feeling that a Sub-process always have a dedicated entry point from the "outside", which entry point is represented by a "None Start Event", and the sam epplies to End events/exit points. I could not find a statement regarding this, nor any overall principle out of which it could be concluded. It would maybe make sense to enrich the specification with this information.
In Figure 11.3, the annotation for the "repeat" indicator currently reads "The Sub-Process will repeat of the Discussion Over variable is False." It should read "The Sub-Process will repeat if the Discussion Over variable is False." The word "of" should be replaced with "if".
For the moment there is not MetaModel for BPMN. For MetaModel I mean a class diagram that shows the elements of the language and their relationships. In the paper Birgit Korherr, Beate List: Extending the EPC and the BPMN with Business Process Goals and Performance Measures. ICEIS (3) 2007: 287-294 authors give one proposal. It is very important to provide an OFFICIAL MM for BPMN, since it will bring clarity to the language.
Figures 10.18 and 10.19 are presented as though they are logical equivalents in the description above 10.19. However, In Figure 10.19 it is possible both Condition 1 and 2 could be true causing all three transitions to be traversed. This is not possible in 10.18 because of the exclusive gate. To make the two diagrams behave the same, the default slash should be added to the Condition 1 transition coming from the Inclusive gate on diagram 10.19. This will insure either Condition 1 XOR Condition 2 is traversed, but not both inclusively as is possible in the current spec. If the diagrams are not to be taken as logical equivalents, the text just under Figure 10.18 should be changed to make this clearer and the Activity names should be made different so equivalence is not implied.
Figure 10.39 states that Arbitrary Cycle is known as Workflow Pattern #16. This is not correct. Arbitrary cycle is Workflow Control Pattern # 10 in Van Der Aalst's documents. Recommend the 16 in the Figure description be changed to a 10.
the issue I'm reporting is a typo only: Chapter 9.4.2.3 contains information regarding reusable sub processes. The initial sentence introducing this chapter is as follows: <sentence> A Reusable Sub-Process object is an activity within a Process that “calls” to another Process that exists within a BDP (see Figure 9.10). </sentence> >From my point of view the listed abbreviation BDP is misspelled, I would expect BDP for Business Process Diagram. It's really a minor issue, but anyway I would like to point to
The Description for LoopCondition does not seem to be correct in "..., plus the timing when the expression SHALL be evaluated". The timing seems to be determined by the TestTime attribtue. If that is true, the "...plus ..."phrase should be taken out.