Actions

Difference between pages "OR-Join" and "AND-Split"

From EPC Standard

(Difference between pages)
m (1 revision imported)
 
 
Line 1: Line 1:
 
{{Syntax
 
{{Syntax
|IsSubClassOf=OR Operator
+
|IsSubClassOf=AND Operator
|Successors=Function, Event, Operator, Process interface
+
|Successors=Function
 
|Predecessors=Function, Event, Operator, Process interface
 
|Predecessors=Function, Event, Operator, Process interface
|HasIncomingControlFlow=2, n
+
|HasIncomingControlFlow=1
|HasOutgoingControlFlow=1
+
|HasOutgoingControlFlow=2, n
 
|HasResource=0
 
|HasResource=0
 
|HasAttribute=0
 
|HasAttribute=0
 +
|Image=AND Operator.png
 
}}
 
}}
 +
 
==Short Description==
 
==Short Description==
  
 +
An AND-Split Operator is a subtype of an [[AND Operator]]. <br>It is responsible for splitting the control flow in at least two different branches, which are executed parallely.[1]<br>
 +
That is why AND-Split has just one incoming arc and multiple outgoing arcs:<br>
 +
C<sub>as</sub> = {c ∈ C | l(c) = and ∧ |cin| = 1}. [2]
 +
The AND-split represents a parallel execution. It waits to get the control flow on its incoming arc before allowing the control flow to continue on all its outgoing arcs.[3]
  
An OR-Join Operator is a subtype of an [[OR Operator]]. <br>It is responsible for  merging a split control flow, when the token(s) of the previously activated branch(es) converge.[1]
 
That is why OR-Join could have multiple incoming arcs and just one outgoing arc:<br>
 
C<sub>oj</sub> = {c ∈ C | l(c) = or ∧ |cout| = 1}. [2]
 
  
<br>
+
The XOR-Split represents an exclusive choice between one of several alternative branches within the process. As a result, an XOR-Split triggers exactly one of several possible following events. Which of the possible branches is activated depends on the process conditions.[4][5][6]
An [[OR-Join]] waits for an arriving token on each of its incoming arcs, propagates it to the outgoing arc and activates its successor. In contrast to a [[XOR-Join]] the OR-Join must wait until all tokens have arrived. The decision whether more tokens can arrive on the incoming arcs cannot be made locally at the OR-Join, it depends on the behavior of the corresponding [[OR-Split]]. <br>E.g. when the split has sent three tokens on different outgoing arcs, the join has to wait for exactly these three tokens to arrive in order to continue the process.[3] Therefore, the semantics of the OR-Join connector is called non-local.[1]
 
  
 
== References ==
 
== References ==
Line 25: Line 27:
  
 
* [*1] N. Cuntz and E. Kindler, “On the Semantics of EPCs: Efficient Calculation and Simulation,” Bus. Process Manag., pp. 398–403, 2005.
 
* [*1] N. Cuntz and E. Kindler, “On the Semantics of EPCs: Efficient Calculation and Simulation,” Bus. Process Manag., pp. 398–403, 2005.
* [*2] E. Kindler "On the semantics of EPCs: resolving the vicious circle", Data & Knowledge Engineering - Special issue: Business process management archive Volume 56 Issue 1, 2006, pp.23-40.
+
* [*2]  Mendling: Event Driven Process Chains - Metrics for Process Models, Volume 6 of the series Lecture Notes in Business Information Processing, 2009, pp. 17-57.
* [*3] V. Gruhn and R. Laue, “What business process modelers can learn from programmers,” Sci. Comput. Program., vol. 65, no. 1, pp. 4–13, 2007.
+
* [*3] E. Kindler "On the semantics of EPCs: resolving the vicious circle", Data & Knowledge Engineering - Special issue: Business process management archive Volume 56 Issue 1, 2006, pp.23-40.
</div>
+
* [*4] V. Gruhn and R. Laue, “What business process modelers can learn from programmers,” Sci. Comput. Program., vol. 65, no. 1, pp. 4–13, 2007.
 +
* [*5] R. Dijkman, “Diagnosing differences between business process models,” Lect. Notes Comput. Sci. (including Subser. Lect. Notes Artif. Intell. Lect. Notes Bioinformatics), vol. 5240 LNCS, pp. 261–277, 2008.
 +
* [*6] Ekkart Kindler "On the semantics of EPCs: resolving the vicious circle", Data & Knowledge Engineering - Special issue: Business process management archive Volume 56 Issue 1, 2006, pp.23-40.</div>
 
</div>
 
</div>
 +
[[Category:Meta Model]]

Latest revision as of 14:30, 15 January 2021


AND-Split
Graphical Notation
There is no image yet, do you want to upload one?
IsSubClassOf IsSubClassOf::AND Operator
Successors hasSuccessor::Function
Predecessors hasPredecessor::Function, hasPredecessor::Event, hasPredecessor::Operator, hasPredecessor::Process interface
HasIncomingControlFlow hasIncomingControlFlow::1
HasOutgoingControlFlow hasOutgoingControlFlow::2, hasOutgoingControlFlow::n
HasResource hasResource::0
HasAttribute hasAttribute::0
Edit the Properties


Brief Information

This is an autogenerated section!

You are not able to edit this information by hand, but by edit the Form (and therefore the properties) of this page. Please refer to the Edit the properties link at the bottom of the info box. {{#show: AND-Split | ?Is a | Intro=The AND-Split is a }}. {{#show: AND-Split | ?contains | Intro=It contains }}. {{#show: AND-Split | ?hasSuccessor | Intro=Possible succeeding element(s) is/are  }}. {{#show: AND-Split | ?hasPredecessor | Intro=Previous element(s) can be }}. {{#show: AND-Split | ?hasIncomingControlFlow | Intro=The cardinalities are  | Outro= (incoming)}} {{#show: AND-Split | ?hasOutgoingControlFlow | Intro=and  | Outro= (outgoing) respectively }}. {{#show: AND-Split | ?refersTo | Intro=The AND-Split refers to }}. {{#show: AND-Split | ?attachedTo | Intro=The AND-Split is attached to a }}.


Short Description

An AND-Split Operator is a subtype of an AND Operator.
It is responsible for splitting the control flow in at least two different branches, which are executed parallely.[1]
That is why AND-Split has just one incoming arc and multiple outgoing arcs:
Cas = {c ∈ C | l(c) = and ∧ |cin| = 1}. [2] The AND-split represents a parallel execution. It waits to get the control flow on its incoming arc before allowing the control flow to continue on all its outgoing arcs.[3]


The XOR-Split represents an exclusive choice between one of several alternative branches within the process. As a result, an XOR-Split triggers exactly one of several possible following events. Which of the possible branches is activated depends on the process conditions.[4][5][6]

References



  • [*1] N. Cuntz and E. Kindler, “On the Semantics of EPCs: Efficient Calculation and Simulation,” Bus. Process Manag., pp. 398–403, 2005.
  • [*2] Mendling: Event Driven Process Chains - Metrics for Process Models, Volume 6 of the series Lecture Notes in Business Information Processing, 2009, pp. 17-57.
  • [*3] E. Kindler "On the semantics of EPCs: resolving the vicious circle", Data & Knowledge Engineering - Special issue: Business process management archive Volume 56 Issue 1, 2006, pp.23-40.
  • [*4] V. Gruhn and R. Laue, “What business process modelers can learn from programmers,” Sci. Comput. Program., vol. 65, no. 1, pp. 4–13, 2007.
  • [*5] R. Dijkman, “Diagnosing differences between business process models,” Lect. Notes Comput. Sci. (including Subser. Lect. Notes Artif. Intell. Lect. Notes Bioinformatics), vol. 5240 LNCS, pp. 261–277, 2008.
  • [*6] Ekkart Kindler "On the semantics of EPCs: resolving the vicious circle", Data & Knowledge Engineering - Special issue: Business process management archive Volume 56 Issue 1, 2006, pp.23-40.