| author | Vrishali Doke | 2012-09-18 06:51:24 (EDT) |
|---|---|---|
| committer | Stephan Born | 2012-09-18 06:51:24 (EDT) |
| commit | f24086bd9de4698b01645f09bd36585ec94bc44f (patch) (side-by-side diff) | |
| tree | d09f8c19f0e6257b1993851b57d5a45c967b672b | |
| parent | f3208383688e416d9469a7fb7402bfb74318a1f4 (diff) | |
| download | org.eclipse.stardust.documentation-f24086bd9de4698b01645f09bd36585ec94bc44f.zip org.eclipse.stardust.documentation-f24086bd9de4698b01645f09bd36585ec94bc44f.tar.gz org.eclipse.stardust.documentation-f24086bd9de4698b01645f09bd36585ec94bc44f.tar.bz2 | |
CRNT-26200 - Added conditional sequence flow
git-svn-id: http://emeafrazerg/svn/ipp/product/trunk/stardust/documentation@59313 8100b5e0-4d52-466c-ae9c-bdeccbdeaf6b
| -rw-r--r-- | org.eclipse.stardust.docs.analyst/html/handbooks/modelling_analyst/images/con-seq-gen.png | bin | 0 -> 6551 bytes | |||
| -rw-r--r-- | org.eclipse.stardust.docs.analyst/html/handbooks/modelling_analyst/images/default-seq-flow.png | bin | 0 -> 5347 bytes | |||
| -rw-r--r-- | org.eclipse.stardust.docs.analyst/html/handbooks/modelling_analyst/pep-con-sequence.htm | 339 |
3 files changed, 60 insertions, 279 deletions
diff --git a/org.eclipse.stardust.docs.analyst/html/handbooks/modelling_analyst/images/con-seq-gen.png b/org.eclipse.stardust.docs.analyst/html/handbooks/modelling_analyst/images/con-seq-gen.png Binary files differnew file mode 100644 index 0000000..65597b1 --- a/dev/null +++ b/org.eclipse.stardust.docs.analyst/html/handbooks/modelling_analyst/images/con-seq-gen.png diff --git a/org.eclipse.stardust.docs.analyst/html/handbooks/modelling_analyst/images/default-seq-flow.png b/org.eclipse.stardust.docs.analyst/html/handbooks/modelling_analyst/images/default-seq-flow.png Binary files differnew file mode 100644 index 0000000..2683b0a --- a/dev/null +++ b/org.eclipse.stardust.docs.analyst/html/handbooks/modelling_analyst/images/default-seq-flow.png diff --git a/org.eclipse.stardust.docs.analyst/html/handbooks/modelling_analyst/pep-con-sequence.htm b/org.eclipse.stardust.docs.analyst/html/handbooks/modelling_analyst/pep-con-sequence.htm index d10aa92..3f30854 100644 --- a/org.eclipse.stardust.docs.analyst/html/handbooks/modelling_analyst/pep-con-sequence.htm +++ b/org.eclipse.stardust.docs.analyst/html/handbooks/modelling_analyst/pep-con-sequence.htm @@ -23,41 +23,18 @@ <h1>Working with Sequence Flows</h1> <p>The sequence flow determines the execution sequence of activities. A sequence flow -connects an activity with its successor activity. It also allows to set +connects an activity with its successor activity. It also allows setting a condition - only if this condition is fulfilled at runtime the transition is processed and the next activity is executed.</p> - - -<h2 id="act">Sequence Flow Activation and Deactivation</h2> -<p>The connect mode of the sequence flow is activated from:</p> - +<p>This chapter covers the following:</p> <ul> - <li><a href="#main">Creating Sequence Flow from Main Toolbar</a></li> - <li><a href="#fly">Creating Sequence Flow from Flyout Menu of all the Elements</a></li> + <li><a href="#rule">Rules for Connecting Elements</a></li> + <li><a href="#act">Sequence Flow Activation and Deactivation</a> + <ul><li><a href="#seq">Viewing Sequence Flow Properties</a></li></ul></li> + <li><a href="#cons">Conditional Sequence Flow</a> + <ul><li><a href="#con">Viewing Properties of Conditional Sequence Flow</a></li></ul></li> </ul> -<h3 id="main">Creating Sequence Flow from Main Toolbar</h3> -<p>Click the <strong>Create Connector</strong> <img src="images/cre-connector.png"> icon in the main toolbar and -hover the mouse over element. The start and end points are established. Click on the start point and -then on the end point on the element. -</p> - -<p class="image"><img src="images/start-point.png" alt=""> -<br> -<strong>Figure:</strong> End Point - Connector</p> - -<h3 id="fly">Creating Sequence Flow from Flyout Menu of all the Elements</h3> - -<p>When you hover the mouse over following elements the flyout menu gets activated.</p> -<ul> - <li>Activities of all types</li> - <li>Gateways</li> - <li>Data</li> - <li>Start Event</li> - <li>End Event</li> -</ul> -<p>You can connect elements using the flyout menu of each element. -</p> -<h3>Rules for Connecting Elements</h3> +<h2 id="rule">Rules for Connecting Elements</h2> <p>Following are the rules which need to be followed when connecting two elements:</p> <ul> <li>A maximum of one in and one out connection can be established between the same two elements. @@ -86,7 +63,39 @@ then on the end point on the element. <li>Data connections/associations are not supported</li></ul> </ul> -<h2>Sequence Flow Properties</h2> + + +<h2 id="act">Sequence Flow Activation and Deactivation</h2> +<p>The connect mode of the sequence flow is activated from:</p> + +<ul> + <li><a href="#main">Creating Sequence Flow from Main Toolbar</a></li> + <li><a href="#fly">Creating Sequence Flow from Flyout Menu of all the Elements</a></li> +</ul> +<h3 id="main">Creating Sequence Flow from Main Toolbar</h3> +<p>Click the <strong>Create Connector</strong> <img src="images/cre-connector.png"> icon in the main toolbar and +hover the mouse over element. The start and end points are established. Click on the start point and +then on the end point of the element. +</p> + +<p class="image"><img src="images/start-point.png" alt=""> +<br> +<strong>Figure:</strong> End Point - Connector</p> + +<h3 id="fly">Creating Sequence Flow from Flyout Menu of all the Elements</h3> + +<p>When you hover the mouse over following elements the flyout menu gets activated.</p> +<ul> + <li>Activities of all types</li> + <li>Gateways</li> + <li>Data</li> + <li>Start Event</li> + <li>End Event</li> +</ul> +<p>You can connect elements using the flyout menu of each element. +</p> + +<h3 id="seq">Viewing Sequence Flow Properties</h3> <p>To view the sequence flow properties, click on the sequence flow.</p> <p class="image"><img src="images/sequence-flow.png" alt=""> <br> @@ -99,7 +108,7 @@ then on the end point on the element. <strong>Figure:</strong> Sequence Flow</p> <p>Click the <strong>Transactional Behavior</strong> <img src="images/tran-behav-icon.png"> icon displayed at the left side of the <strong>General Properties</strong> pane of the -Sequence Flow. The <strong>Transactional Behavior</strong> properties of the sequence flow gets displayed.</p> +Sequence Flow. The <strong>Transactional Behavior</strong> properties of the sequence flow get displayed.</p> <p class="image"><img src="images/transactional.png" alt=""> <br> @@ -113,7 +122,7 @@ Please refer to the section chapter <a href="PLUGINS_ROOT/org.eclipse.stardust.docs.dev/html/handbooks/concepts/workflow-basics/mg-basics-13.htm">Runtime Behavior</a> for detailed information on the Fork Transaction on Traversal functionality.</p> -<h2>Conditional Sequence Flow</h2> +<h2 id="cons">Conditional Sequence Flow</h2> <p>The conditional sequence flow gets created on outgoing connection from gateway.</p> <p class="image"><img src="images/con-sequence-flow.png" alt=""> <br> @@ -121,258 +130,30 @@ information on the Fork Transaction on Traversal functionality.</p> <p>You can specify conditional expressions on outgoing connections of gateways.</p> -<h3>Viewing Properties of Conditional Sequence Flow</h3> +<h3 id="con">Viewing Properties of Conditional Sequence Flow</h3> <p>Click on the conditional sequence flow to view its properties.</p> - - - - -<!-- -<h2>Creating Transitions</h2> -<p>To create a transition between two activities:</p> -<ol> - <li>Right-click the predecessor activity.</li> - <li>Select <strong>Connect</strong> from the context menu.</li> - <li>Click the subsequent activity.</li> -</ol> -<p> </p> -<p class="image"><img src="images/mg-create-transition-context.png" - alt=""> <br> -<strong>Figure:</strong> Creating a Transition between Activities</p> -<p>If you have created at least one link type with target and source -type <tt>Activity</tt>, you have the choice to select between the custom -link types and the standard transition. Please refer to chapter <a - href="mg-defdesk-14.htm">Specifying Arbitrary Link Types</a> for -information on custom link types.</p> -<p class="image"><img src="images/mg-connexion-selection.png" alt=""> +<p class="image"><img src="images/con-seq-gen.png" alt=""> <br> -<strong>Figure:</strong> Select the Type of Transition</p> -<h2>Routing Options</h2> -<p>To draw a transition, you can choose the way it will connect an -element to another. You have the following three options:</p> +<strong>Figure:</strong> Conditional Sequence Flow - General Properties</p> <ul> - <li><a href="#default">Default</a></li> - <li><a href="#shortest">Shortest Path</a></li> - <li><a href="#manhattan">Manhattan</a></li> - <li><a href="#explicit">Explicit</a></li> -</ul> -<p>To select the routing option:</p> -<ul> - <li>Right-click the symbol of the transition.</li> - <li>Select <strong>Routing</strong>.</li> - <li>Choose the routing type in the provided list.</li> -</ul> -<p class="image"><img src="images/mg-select-routing.png" alt=""> -<br> -<strong>Figure:</strong> Select Routing Option</p> -<h3 id="default">Default</h3> -<p>The option <strong>Default</strong> sets the default value -according to the type of transition.</p> -<p><strong>Manhattan</strong> routing is set as default for -transitions of the following elements:</p> -<ul> - <li>Activity transitions</li> - <li>Trigger</li> -</ul> -<p>The <strong>Shortest Path</strong> routing option is set as -default for transitions of the following elements:</p> -<ul> - <li>Data</li> - <li>Applications</li> - <li>Participants</li> -</ul> -<h3 id="shortest">Shortest Path</h3> -<p>This option draws the shortest path between two elements. If -there is no element between these two elements this means a direct -straight line.</p> -<p class="image"><img src="images/mg-routing-shortest.png" alt=""> -<br> -<strong>Figure:</strong> Shortest Path with no Obstacle</p> -<p>In case an element is between, the shortest path around this -element is drawn to avoid overlapping.</p> -<p class="image"><img src="images/mg-routing-shortest-2.png" alt=""> -<br> -<strong>Figure:</strong> Shortest Path with Obstacle</p> -<h3 id="manhattan">Manhattan</h3> -<p>The Manhattan routing option uses a combination of vertical and -horizontal lines to connect the symbols.</p> -<p class="image"><img src="images/mg-routing-manhattan.png" alt=""> + <li>Description - Specify description in the text box.</li> + <li>Default - By default, this check box is not selected. If you select this check box, the sequence flow + is always evaluated to true though all the other conditions on the split have the value false. The + <strong>Condition Expression</strong> editor displays the value true. The sequence flow with slash through + indicates that it is a default sequence flow.</li> + <p class="image"><img src="images/default-seq-flow.png" alt=""> <br> -<strong>Figure:</strong> Transition with Manhattan Routing Option</p> -<h3 id="explicit">Explicit</h3> -<p>The Explicit Routing option gives the possibility to adjust the -transition line. When you click the transition line, a dragging cross -appears as bendpoint in the middle of the line. You can drag this -bendpoint to another place on the canvas. While dragging a bendpoint, a -new bendpoint is created for each of the two lines divided by this -bendpoint. In this way you can create as many bendpoints you need.</p> -<p class="image"><img src="images/mg-routing-explicit.png" alt=""> -<br> -<strong>Figure:</strong> Transition with Explicit Routing Option</p> -<h4>Moving several bendpoints</h4> -<p>You can select several bendpoints and move them synchronously:</p> -<ul> - <li>Hold the Crtl key and click on the bendpoints to be included - in the selection.</li> - <li>The color of the selected bendpoints will change to red.</li> - <li>To unselect a bendpoint click it again (still holding the Crtl - key). Its color will change back to black.</li> - <li>To unselect the whole selection click somewhere on the canvas.</li> - <li>To move the selected bendpoints pick one of them and drag it - to a desired position.</li> -</ul> -<p class="image"><img - src="images/mg-routing-explicit-move-bendpoints.png" alt=""> <br> -<strong>Figure:</strong> Move Bendpoints</p> -<h2>Cyclic Transitions</h2> -<p>You can also create cyclic transitions. This means that an -activity cycle involves repetitive execution of one or more activities -until a condition is met.</p> -<p>To create a cyclic transition between activities:</p> -<ul> - <li>Open the activity properties dialog of the predecessor join - activity.</li> - <li>Change to <strong>Control Flow</strong> in the properties - menu and choose<strong> XOR</strong> as split behavior.</li> - <li>Then open the properties dialog of the subsequent split - activity and choose <strong>XOR</strong> as join control flow behavior.</li> - <li>Right-click the split symbol of the predecessor activity.</li> - <li>Select <strong>Connect</strong> in the context-menu.</li> - <li>Click the join symbol of the subsequent activity.</li> -</ul> -<p> </p> -<p class="image"><a href="images/mg-defdesk-cyclic_orgSize.png" - target="_blank"> <img src="images/mg-defdesk-cyclic.png" alt=""></a> -<br> -<strong>Figure:</strong> Cyclic Transition</p> -<p>In this example the last activity <tt>Start_Campaign</tt> is -only instantiated if the data <strong>Status</strong> has the value 1 -(see also <a href="#transitionConditions">Specifying Transition -Conditions</a> ) or else the process continues with <tt>Order Media</tt>.</p> -<h2>Deleting Transitions and Transition Symbols</h2> -<p>To delete a transition, use the option <strong>Delete</strong> -in the transition's pop-up menu.</p> -<p>To remove a transition symbol from the diagram, choose the -option <strong>Delete Symbol</strong> in the transition's context menu. -After this operation the transition between the two activities will -still exist in the model.</p> -<h3>Restore Transition Symbols</h3> -<p>Having removed transition symbols, you can always restore them -in your diagram:</p> -<ul> - <li>Right-click your diagram canvas.</li> - <li>Choose the <strong>Reload Connections</strong> option in the - context menu.</li> - <li>In the upcoming <strong>Available Connections</strong> dialog - select the connections to restore.</li> -</ul> -<p class="image"><img src="images/mg-defdesk-75.png" - alt="Reload Connections"> <br> -<strong>Figure:</strong> Reload Connections</p> -<h2 id="conditions">Setting Transition Conditions</h2> -<p>The properties of a transition are accessible in its properties dialog. To open -this dialog, right-click the transition symbol in a model diagram and select the option <strong>Properties</strong>.</p> -<p>Besides name and id the general properties of a transition include a condition -type option, a condition expression field and a description. The -<strong>Fork on traversal</strong> option of a transition controls -the synchronicity and concurrency behavior during the execution of the corresponding -process instances. Please refer to the section -<a href="PLUGINS_ROOT/org.eclipse.stardust.docs.dev/html/handbooks/concepts/workflow-basics/mg-basics-13.htm#activityThread"> -Activity Thread</a> of the chapter -<a href="PLUGINS_ROOT/org.eclipse.stardust.docs.dev/html/handbooks/concepts/workflow-basics/mg-basics-13.htm"> -Runtime Behavior</a> for detailed information on the <strong>Fork on Traversal</strong> -functionality.</p> -<p>You can set the <tt>View Fork on Traversal</tt> flag on the -<a href="PLUGINS_ROOT/org.eclipse.stardust.docs.dev/html/handbooks/modelling/mg-preferences.html#drawing">Drawing Preferences</a> page -to visualize how @productname@ Engine traverses during transition conditions.</p> <p>Please note if setting the ID, that IDs containing - hyphens, blanks or dots and IDs starting with digits are not supported.</p> +<strong>Figure:</strong> Default Sequence Flow</p> + <li>Condition Expression - You can specify a condition in this editor. The sequence is then traversed + and the next activity is performed, if the specified condition is fulfilled. + Conditions are specified if the successor activity is only to be performed under particular + circumstances. + </li> + -<h3>Setting the Condition Type</h3> -<p>In the <strong>Condition Type</strong> field you can select the types -<tt>OTHERWISE</tt> or <tt>CONDITION</tt>:</p> -<p class="image"><img src="images/transition-condition-type.png" - alt="Select the Condition Type."> <br> -<strong>Figure:</strong> Select the Condition Type.</p> -<p>Please note that switching between those types will remove transition -conditions already entered.</p> -<h4>CONDITION</h4> -<p>The condition type <tt>CONDITION</tt> enables entering code in the <strong> -Condition Expression</strong> editor. The return value of this expression will be -checked to be <tt>true</tt>.</p> -<h4>OTHERWISE</h4> -<p>If the condition type <tt>OTHERWISE</tt> is selected, the transition -is only evaluated to <tt>true</tt>, if all the other conditions on the split have -the value <tt>false</tt>. The <strong>Condition Expression</strong> editor is -disabled.</p> -<h3 id="transitionConditions">Specifying Transition Conditions</h3> -<p>In the <strong>Condition Expression</strong> field you can specify a condition. The transition -is then only traversed and the next activity performed if this condition is fulfilled.</p> -<p>Transition conditions are specified if the successor activity is only to be -performed under particular circumstances. Please refer to the chapter <a - href="mg-basics-6.htm#transcond">Transition Conditions</a> of the Basics <a - href="mg-basics-6.htm">Control Flow</a> chapter for detailed information on the -operators and variables that can be used in transition conditions.</p> -<p>If the return value of a transition condition is <tt>true</tt>, the transition -will always be traversed and the successor activity executed. To specify a transition -condition, open the transition's properties dialog and enter a predicate in the -<strong>Condition Expression</strong> field:</p> -<p class="image"><img src="images/mg-defdesk-transition-cond.png" - alt="Setting a Transition Condition"> <br> -<strong>Figure:</strong> Setting a Transition Condition</p> -<p>In this example it will be checked whether the state of the SupportCaseData is -neither closed nor rejected. The value is referenced via the dereferentiation path -<tt>SupportCaseData.Product.State</tt>.</p> -<p>A JavaScript based editor is provided, e.g. to add arithmetic, relational and -logical operators as well as string matching operators.</p> -<p>You can combine operators and values retrieved via dereferentiation paths with -JavaScript language. Here are some examples for possible transition -conditions:</p> -<pre>Primitive.charAt(2)=="A"</pre> -<pre> -function toUpper(stringArg) { - return stringArg.toUpperCase(); -} -Primitive == toUpper(SupportCaseData.Name)</pre> -<pre> -var id=0; -for (var i = 0; i < 10; i++) { - id = id*10 + i; -} -SupportCaseData.Id == id -</pre> -<p>Errors and warnings are indicated in a transition condition -on the left side of the expression. A tooltip gives detailed information -about the kind of error or warning.</p> -<p class="image"><img src="images/trans-cond-error.png" - alt="Indicated Error in Transition Condition"> <br> -<strong>Figure:</strong> Indicated Error in Transition Condition</p> -<h4>Data proposal</h4> -<p>Pressing <tt>Ctrl-Space</tt> in the transition condition editor -provides you with a list to choose from all available -data, e.g.:</p> -<p class="image"><img src="images/tc-data-proposal.png" - alt="Default Proposals for Data."> <br> -<strong>Figure:</strong> Default Proposals for Data.</p> -<h4>Code completion</h4> -<p>While typing the expression, you can press <tt>Ctrl-Space</tt> to -show and choose from proposals for available methods:</p> -<p class="image"><img src="images/tc-method-proposal.png" - alt="Default Proposals for Methods."> <br> -<strong>Figure:</strong> Default Proposals for Methods.</p> -<h4>Not indicated errors</h4> -<p>Please be aware that no errors or warnings will be displayed in -case you use an unsupported assignment to a @productname@ variable, because -the validation of the JavaScript code is correct. For -example, if you enter <tt>SupportCaseData.Product.State="R"</tt> -instead of <tt>SupportCaseData.Product.State=="R"</tt>, there will be no -warning and during the process an assignment instead a comparison will -tried to be performed, which fails.</p> -<h4>Undefined return values</h4> -<p>In case the return value of a transition condition is undefined, for example -when all code is commented out, the transition condition will be evaluated -as <tt>TRUE</tt> at runtime.</p> --> +</ul> <script language="JavaScript" type="text/javascript"> <!-- |

