About Templates
Every CSL module is either a global module or is associated with a node in a process or operation template. Branch nodes that represent subsequences are useful because they allow association of pruning, optionality, or feasibility conditions with process or operation subsequences (as opposed to individual processes or operations).
Templates are represented graphically as a set of boxes connected by arrows. (A template’s graphical representation appears in the CMWB in the bottom part of the editing pane. You may have to drag the top border of the Info Panel up from near the bottom of the editing pane in order to make the Info Panel contents visible.)
Templates use three kinds of arrows:
Arrows with v-shaped arrow heads indicate order. Each such arrow points from one node to its immediate successor node in the sequence.
v_shaped_arrow.png
An arrow with a triangular arrow head connects a branch node to the subsequence it represents. Each such arrow points from the branch node to the first member of the subsequence.
triangle_arrow.png
An arrow with a diamond-shaped arrow head connects a branch node to one of the alternatives it stands for. For each alternative associated with a branch node, there is one such arrow from the branch node to that alternative.
diamond_arrow.png
Branch nodes are shown in grey. Process or operation nodes are shown in blue. Optional nodes appear with a dashed outline.
Templates are represented textually as follows:
Each node has a name, the name displayed under Processes, GCDs, and Operations in the CMWB navigation pane. Names that contain a space must be enclosed in single quotes. No two nodes in the same template should have the same name.
Since a name might not be unique across a process group (and its associated secondary process groups), it is sometimes necessary to use a pathname. Node names appear in the Node Attributes tab of the editing pane for a given process, operation, or branch node. Pathnames are colon-separated lists of names, consisting of the node name followed by its ancestors in the Processes, GCDs, and Operations hierarchy, and ending with the name of the process group. Each name in the path must be enclosed in single quotes if it contains a space.
Node names that are separated by spaces indicate order. The graphical equivalent is a connection made by an arrow with a v-shaped arrow head.
Each template has a top-level branch node.
A node name followed by ::= indicates a branch node. If ::= is followed by a space-separated sequence of node names, the branch node stands for a sub-sequence. The graphical equivalent is a connection from the branch node to the first node in the sequence by an arrow with a triangular arrow head.
A node name followed by ::=, followed by a vertical-bar-separated (pipe-separated) sequence of node names indicates a branch node that stands for a group of alternatives. The graphical equivalent is a group of arrows with diamond-shaped arrow heads, with an arrow from the branch node to each alternative.
A node name preceded by a double vertical bar indicates an alternative that must be user-selected in order to be included in routings generated from the template. If the alternative is not explicitly selected by the end user, the cost engine does not include the alternative in generated routings.
Names of optional nodes are enclosed in square brackets when they appear to the right of ::= (but not when they appear to the left of ::=).
A node name followed by a star, *, indicates a zero-or-more node—see Working with Zero-or-More Nodes.
Lines that start with # indicate template portions that are not visible to the end user in aPriori.
Here are some examples of template specification text, together with their corresponding graphical representations.
 
#'Tube Laser/[Punch]' ::= 'Material Stock':'Bar & Tube Fab' _
['Tube Laser':'Bar & Tube Fab'] [Punching:'Bar & Tube Fab'] _
[Trimming] Forming
v_shaped.png
 
 
'Cut To Length' ::= Sawing || Shear:'Bar & Tube Fab'
 
Sawing ::= 'Band Saw':'Bar & Tube Fab' || 'Circular Saw':'Bar & Tube Fab' || _
'Reciprocating Saw':'Bar & Tube Fab'
diamond.png