To open a composition diagram, double-click on the composition’s icon in the SIS View composition list. Below is an example of a freshly created composition diagram, plus details on the composition start and end, service, variable manipulators, condition (branching), halt,and parallel block elements.
The control flow:
-
starts at the composition start. From here you connect to other elements (Condition, Service, Assign, and so on) using the connect link from the palette. The connect link defines a next statement relation. You use it to specify the sequence of script statements in the composition.
-
ends at the composition end element.
Composition diagram
Below is an example of a freshly created composition. It includes a start node (top-left) and an end node (bottom-right).
Composition start and end
The composition start and composition end represent the entry and exit points of the composition from the perspective of an incoming initial message from the network. Composition start and end points may also include a signalling interceptor (the triangle on the start/end element).
|
|
Composition start |
Composition end |
---|
The composition input interceptor lets you manipulate the composition environment (setting variables, invoking extensions, and so on) before executing any of the composition’s service invocations or combining logic. The composition output interceptor can be used to perform manipulations after the composition’s service execution logic.
To configure either of these interceptors, double-click the white arrow in its symbol. The interceptors content opens in a new Editor tab. |
Service element
The Service element specifies how to invoke a service (either local or external). The element does not name the service directly — it uses one of the service reference names (which in turn refers to either a local SLEE service or an external platform). As well as service reference name, you can configure other parameters (such as the timeout period and behaviour on timeout).
To change the service invocation parameters, double-click the area at the centre of the Service icon, containing the service reference name. A dialog with service parameters displays. |
Each service:
|
Variable manipulator elements (assign, delete)
Through the assign element, a variable can be set to:
-
a specific value,
-
the value of any other existing variable
-
a complex variable type (such as a
CalledPartyNumber
) -
the result of a string-manipulation function (such as a substring or string-length).
Through the the delete element, an existing variable can be "unset".
Condition (branching) element
The Condition element represents a conditional selection within the composition’s flow chart logic. It has two outgoing connections:
-
<true>
— followed if the condition evaluates totrue
(created using the if-true link from the palette) -
<false>
— followed if the condition evaluates tofalse
(created using the if-false link from the palette)
A Condition statement must always have both, a <true> and <false> connection.
|
To edit a Condition , double-click anywhere on the icon (which contains the condition’s textual representation at its centre).The Condition Editor opens in a new Editor tab. |
Halt element
Halt elements allow you to stop the composition at any point during the script run. After encountering a halt, the SIS will evaluate no more composition instructions and proceed to the composition end.
For SIP, a halt element can be configured with a failure response, indicating what shall be sent to the network.
Halt elements cannot have an outgoing connection to another diagram element as they represent terminals of the invocation chain. |
Parallel block element
A parallel block allows you to define a set of services that should run in parallel, and meet at a synchronization point.
Each parallel block has input and output signalling interceptor elements, to modification of signalling before any service runs, or after all included parallel services have run. |
To add a new parallel service to a block, use the Service tool from the Palette, to drop a new service into the Parallel Block compartment. (Configure parameters and interceptors for these services the same way as "normal" services). |
Each parallel service has to connect directly to the parallel block’s output interceptor, and cannot connect to another parallel service. In other words, you cannot run two parallel services in a row. (May be supported in future version of SIS.) |
Each parallel block has individual timeout and timeout-handling parameters (similar to a service generally). To change them, double-click the parallel block background. A popup dialog, similar to the one for configuring services, displays. |