Issue 15745: Inconsistencies concerning attribute “activationCount” (bpmn2-rtf) Source: (, ) Nature: Revision Severity: Critical Summary: i) Chapter/Section 10.5.5. Page 305. Table 10.126. Row “activationCount”. It says: “Refers at runtime to the number of tokens that are present on an incoming Sequence Flow of the Complex Gateway.” ii) Chapter/Section 13.3.5. Page 452-453. It says: “ Each incoming gate of the Complex Gateway has an attribute activationCount, which can be used in an Expression as an integer-valued variable. This variable represents the number of tokens that are currently on the respective incoming Sequence Flows. The Complex Gateway has an attribute activationExpression. An activationExpression is a boolean Expression that refers to data and to the activationCount of incoming gates. For example, an activationExpression could be x1+x2+…+xm >= 3 stating that it needs 3 out of the m incoming gates to have a token in order to proceed. To prevent undesirable oscillation of activation of the Complex Gateway, ActivationCount variables should only be used in subexpressions of the form …” COMMENTS: In (i) according to Table 10.126 (“Instance attributes related to the Complex Gateway”) for each instance of a certain Complex Gateway there is one “activationCount” attribute, which memorize the “number of tokens that are present on an incoming Sequence Flow”. But a Complex Gateway - by definition ­ has more than one incoming Sequence Flow. In (ii) it is described the presence and usage of more than one “activationCount” variable in a single instance of a Complex Gateway. In (ii) it is clearly stated that “Each incoming gate of the Complex Gateway has an attribute activationCount”. Then, the “activationCount” attribute should be located in each incoming “SequenceFlow instance”, but it is not what the meta-model says (see Figure 8.35, p. 98). “activationCount” cannot be an attribute of Sequence Flow Class , because a “normal” instance of Sequence Flow that reachs a Complex Gateway will be instantiate as many times as the Complex Gateway. In (ii) the attribute activationExpression is mentioned, but according to Figure 10.114 and Table 10.125 (p. 304) its real name is activationCondition. SUGGESTIONS: Somehow the meta-model must represent the fact that there will be many “activationCount” for each instance of a Complex Gateway. An option is to make “activationCount” attribute (of Complex Gateway instance) an array of integers (one for each incoming Sequence Flow). In (ii) replace “activationExpression” with “activationCondition” Typo: in (ii) “on the respective incoming Sequence Flows” should be replaced by “on the respective incoming Sequence Flow” Resolution: Revised Text: Actions taken: October 18, 2010: received issue Discussion: End of Annotations:===== m: webmaster@omg.org Date: 17 Oct 2010 15:56:29 -0400 To: Subject: Issue/Bug Report ******************************************************************************* Name: Eduardo Jara Employer: mailFrom: ejara@craftware.net Terms_Agreement: I agree Specification: BPMN 2.0 Beta 2 Section: 10.5.5 FormalNumber: dtc/2010-06-05 Version: 2.0 Doc_Year: 2010 Doc_Month: June Doc_Day: Day Page: 305 Title: Inconsistencies concerning attribute .activationCount. Nature: Revision Severity: Critical CODE: 3TMw8 B1: Report Issue Description: ANTECEDENTS: i) Chapter/Section 10.5.5. Page 305. Table 10.126. Row .activationCount.. It says: .Refers at runtime to the number of tokens that are present on an incoming Sequence Flow of the Complex Gateway.. ii) Chapter/Section 13.3.5. Page 452-453. It says: . Each incoming gate of the Complex Gateway has an attribute activationCount, which can be used in an Expression as an integer-valued variable. This variable represents the number of tokens that are currently on the respective incoming Sequence Flows. The Complex Gateway has an attribute activationExpression. An activationExpression is a boolean Expression that refers to data and to the activationCount of incoming gates. For example, an activationExpression could be x1+x2+.+xm >= 3 stating that it needs 3 out of the m incoming gates to have a token in order to proceed. To prevent undesirable oscillation of activation of the Complex Gateway, ActivationCount variables should only be used in subexpressions of the form .. COMMENTS: In (i) according to Table 10.126 (.Instance attributes related to the Complex Gateway.) for each instance of a certain Complex Gateway there is one .activationCount. attribute, which memorize the .number of tokens that are present on an incoming Sequence Flow.. But a Complex Gateway - by definition ­ has more than one incoming Sequence Flow. In (ii) it is described the presence and usage of more than one .activationCount. variable in a single instance of a Complex Gateway. In (ii) it is clearly stated that .Each incoming gate of the Complex Gateway has an attribute activationCount.. Then, the .activationCount. attribute should be located in each incoming .SequenceFlow instance., but it is not what the meta-model says (see Figure 8.35, p. 98). .activationCount. cannot be an attribute of Sequence Flow Class , because a .normal. instance of Sequence Flow that reachs a Complex Gateway will be instantiate as many times as the Complex Gateway. In (ii) the attribute activationExpression is mentioned, but according to Figure 10.114 and Table 10.125 (p. 304) its real name is activationCondition. SUGGESTIONS: Somehow the meta-model must represent the fact that there will be many .activationCount. for each instance of a Complex Gateway. An option is to make .activationCount. attribute (of Complex Gateway instance) an array of integers (one for each incoming Sequence Flow). In (ii) replace .activationExpression. with .activationCondition. Typo: in (ii) .on the respective incoming Sequence Flows. should be replaced by .on the respective incoming Sequence Flow.