Transforming call flow diagrams into SIPp files
About this task
The SIPp is an open source Session Initiation Protocol (SIP) service traffic generator that is used for unit and performance testing of SIP applications. The SIPp reads the XML file and generates the appropriate traffic. The transformation accepts a UML package or model as source, and a folder as target.
For the call flow diagrams that describe a scenario between multiple participants, the stereotype of all the lifelines must have a test case with the <<Tester>> stereotype.
Procedure
- Click , and click Next.
- In the New Transformation Configuration window, type a name for the new transformation.
- In the Forward Transformation field, select .
- Select the UML model and a folder as target, and click Finish.
Results
The transformation iterates over all UML packages of the source model. If the transformation configuration option, Generate Folders for Packages is checked, an output folder for each package is created in the target folder. The name of the folder is the same as the name of the package. If unchecked, the SIPp files will be created in the target folder itself. For each package, the transformation iterates over all call flows, UML collaborations with a <<Call Flow>> stereotype value. For each call flow, the transformation iterates over the lifelines with a <<Tester>> stereotype value. For each lifeline, a SIPp file is created in the output folder corresponding to the UML package containing it. The name of the SIPp file will be <Call Flow Name>_<Lifeline Name>.xml.
The UML documentation for the <<Call Flow>> will be at the top of the SIPp file as XML comments. The SIPp file is populated according to the messages originating or terminating the lifeline.
A UML collaboration can contain multiple interactions or sequence diagrams. The generation of SIPp files is supported for an interaction in the collaboration. The transform validation will report an error if there are more than one interaction within a call flow.
- <nop>
- <sendCmd>
- <recvCmd>
- <label>
- <ResponseTimeRapertition>
- <CallLengthRepartition>
- <Globals>
- <User>
- <Reference>