Defining a Data Message Flow


In order to use data traffic in your test, you must include at least one Data Message Flow (DMF) that defines the protocol and messages to be sent.

If your system is licensed for the Advanced Data feature, you can choose from a wide range of data protocols, configure a sequence of different types of request and response messages, and order the message sequence.

If your system is licensed for Lite DMF feature, you can you can choose from a wide range of Studio Scenarios, configure a sequence of different types of request and response messages, and order the message sequence.

In general, defining a DMF consists of the following steps:

You can build or modify Advanced Data message sequences with the following procedures:


Learn the basics:

Before you attempt to define or modify a message flow, you should have a basic understanding of:

^ Back to Top


To define the protocol parameters:

  1. Use the Data Protocol... drop-down list to select the application-level protocol used in the message flow. The parameters that depend on the protocol selected are provisioned with default values, and those that cannot be changed, or do not apply, are disabled.

  2. Modify the ports used for the data packets if necessary.

  1. Although none of these parameters must be modified, you can modify the Type of Service... and Time to Live... parameters when using any protocol, and you may be able to modify the following parameters depending on the protocol selected:

  1. If the DMF will be used as a subflow, you may be able to control which side can initiate or disconnect the subflow.

^ Back to Top


To define the message parameters:

  1. Transactions... and Transaction Rate... control the number of transactions executed, and the pps rate. The default values for a new DMF define a message flow that executes continually every second in every MN session.

  2. If you are using a Basic Data protocol, you can define the size of the data payload sent by the client and server with Packet Size..., and optionally send multiple packets to the client from the server with Host Data Expansion Ratio...

  3. If you are using an Advanced Data protocol, you can specify the maximum payload size per packet with Segment Size...

^ Back to Top


To select DMF options:

^ Back to Top


To save the message flow:

  1. Click Save  or Save and Close and the Save DMF window opens.

  2. Following the instructions in Adding to the Libraries, define at least a Library section and a Name for the DMF and then click Save or Save and Close.

IMPORTANT: When you save an Advanced Data DMF, a flag is set that indicates whether the message flow contains a subflow. If it does contain a subflow, the main message flow can never be used as a subflow in another message flow, even if you remove the sub controls and save the DMF. The only way to reset this flag is to remove the subflow and subflow controls, delete the original DMF, and then save the modified DMF.

^ Back to Top


To add a message command:

  1. Every DMF must contain at least one Command control. Click Add and select Command from the drop-down list. A Command control is added to the end of the message flow. If the message flow already contains the maximum number of Commands (2048), the Command option will not appear in the list and you will see a “ERROR: Exceeded maximum supported DMF commands" .

  2. Use the Command Applies To... drop-down list to select the entity that executes the command. This should be set to Both unless an external device, such as a proxy, is involved in the test.

  3. Define the messages sent by the client and server. In some cases, a message may only be sent by one side: a server greeting or a multi-message response, for example.

    1. Select the Message... type. If you select Request or Response, a default message containing four "00" bytes is created.

    2. When you define a Response message, you can choose whether the test will Wait for Response... before continuing.

    3. Click View/Edit to open the Message Editor window, and define the message content.

TIP: Define some or all of the Command controls by importing a message trace.

^ Back to Top


To add a transaction loop:

  1. Click Add and select Transaction Start from the drop-down menu. A Transaction Start control is added to the end of the message flow. Only one Transaction Start can be added to a DMF.

  2. Move the start control one position above the first command in the loop, or add the loop commands to the message flow.

  3. If you want any commands to execute after the final transaction loop, use the Add button to insert a Transaction Stop and position it as necessary. Otherwise, the last command in the DMF is considered the end of the loop.

IMPORTANT: The meanings of Transactions... and Transaction Rate... change when a transaction loop is used.

^ Back to Top


To add a subflow:

  1. You can add up to 15 subflows to a main flow DMF. Click the Add drop-down list in the Subflow DMFs pane and select whether to add a New or Existing DMF as a subflow.

    If you are modifying an existing DMF that does not contain a subflow, click the Allow button to enable the subflow controls. You will be asked to confirm this choice. These controls are enabled by default when you define a new DMF.

    If you choose New, a blank Data Message Flow window is opened where you can define and save the subflow as you would any DMF. If you choose Existing, the Select Data Message Flow window opens. Select the DMF and click Select to add it to the main DMF.

    You can modify a subflow by double-clicking it or by first selecting it and then clicking View/Edit. Select a subflow and click Remove to remove it from the test case. Removing a subflow does not delete it from the library or remove any message flow controls that reference the subflow.

  2. Click the Add drop-down list near the bottom of the main flow's window and select Run Sub from the list. The Run Sub control is added to the end of the message flow. Drag it to the correct position in the sequence if necessary.

  3. Select the subflow to execute from the drop-down list. The list will contain the names of all of the subflows listed in the Subflow DMFs pane.

During execution, the main flow will execute any steps following the Run Sub without waiting for the subflow to complete. If you want the main flow to pause until the subflow is completed, add a Wait for Event with a TRANS_COMPLETE event above the first step that should execute after the subflow.

If the subflow establishes a stateful connection between the MN and the Network Host, you can allow the connection to remain established until the main flow is completed and all connections are torn down. You can manually release a subflow's connection with the Stop Sub command:

  1. Add a Wait for Event with a TRANS_COMPLETE event if you haven't already done so.

  2. Add a Command and define the messages that notify and confirm the tear down. If no messages are necessary at this point, add a blank Command. The Wait for Event and Stop Sub must be separated with a Command.

  3. Add a Stop Sub control.

  4. Select the name of the subflow to be stopped.

NOTES:

  • Only DMFs that have not previously been saved with a subflow are eligible to be used as subflows, and only those DMFs are displayed in the Select Data Message Flow window.

  • The Total Transactions defined in the subflow is used, but the Transaction Rate in the DMF overrides the rate defined in the subflow.

  • You will receive an error if the ports in the subflow conflict with the ports in the DMF.

^ Back to Top


To add an event:

You can add Send Event and Wait for Event controls to a DMF with the Add control list and manually send and event from a main flow or subflow that can be recognized by an event handler in either flow. Some events are automatically sent to a main flow when a subflow transaction begins or ends and can be waited for in the main flow.

See Message Flow Controls for a complete explanation of event controls and options.

^ Back to Top


To change the flow sequence:

^ Back to Top


To remove a flow control:

^ Back to Top