blob: 3b63f7bb53ed8985fc685526d14b3dbf0b90c4eb [file] [log] [blame]
---
Author: Eduárd Czimbalmos
Version: 26/198 17-CNL 113 512, Rev. A
Date: 2008-03-31
---
= EPTF CLL Time Profile Editor, User Guide
:author: Eduárd Czimbalmos
:revnumber: 26/198 17-CNL 113 512, Rev. A
:revdate: 2008-03-31
:toc:
== About This Document
=== How to Read This Document
This is the User Guide for the Time Profile Editor of the Ericsson Performance Test Framework (TitanSim), Core Load Library (CLL). TitanSim CLL is developed for the TTCN-3 <<_1, [1]>> Toolset with TITAN ‎<<_2, [2]>>. This document should be read together with the Function Description of the Time Profile Editor feature ‎<<_5, [5]>>. For more information on the TitanSim CLL, consult the Users Guide ‎<<_4, [4]>> and the Function Specification <<_3, [3]>> of the TitanSim.
== System Requirements
In order to use the Time Profile Editor feature the system requirements listed in TitanSim CLL User Guide <<_4, ‎[4]>> should be fulfilled.
Additionally, this feature also uses the functionalities of TCC Useful Function product.
= Time Profile Editor
== Overview
The EPTF CLL Time Profile Editor is an application which allows the user to create and edit time profiles used by the EPTF CLL Execution Control ‎<<_7, [7]>> component.
[[description_of_files_in_this_feature]]
== Description of Files in This Feature
The EPTF CLL Time Profile Editor includes the following files:
* __EPTF_CLL_Time_Profile_Editor.ttcn__ - the main module of the TPE.
* __EPTF_CLL_Time_Profile_Editor_Definitions.ttcn__ - contains definitions that are used in the TPE.
* __EPTF_CLL_Time_Profile_Editor_Functions.ttcn__ - contains the implementation of TPE functions.
* __EPTF_CLL_TimeProfileEditor_XTDP_Templates.ttcn__ - contains template definitions for the sent and received XTDP (see <<_8, ‎[8]>>) messages.
[[description_of_required_files_from_other_features]]
== Description of Required Files From Other Features
The Time Profile Editor feature is part of the TitanSim EPTF Core Load Library (CLL). It relies on several features of the CLL and the TCC Useful Functions. To use the Time Profile Editor, the user has to obtain the respective files from the following features:
* `Common`
* `ExecCtrl` (only the __EPTF_CLL_ExecCtrl_TimeProfile_Definitions.ttcn__ file is needed)
From the TCC Useful Functions:
** __TCCEncoding_Functions.ttcn__
** _TCCEncoding.cc_
** _TCCFileIO.cc_
** __TCCFileIO_Functions.ttcn__
[[installation]]
== Installation
Since `EPTF_CLL_TimeProfileEditor` is used as a part of the TTCN-3 test environment it requires TTCN-3 Test Executor to be installed before any operation. For more details on the installation of TTCN-3 Test Executor see the relevant section of ‎<<_2, [2]>>.
If not otherwise noted in the respective sections, the following steps are to be carried out in order to use `EPTF_CLL_TimeProfileEditor`:
* Copy the files listed in section ‎<<description_of_files_in_this_feature, Description of Files in This Feature>> and <<description_of_required_files_from_other_features, Description of Required Files From Other Features>> to the directory of the test suite or create symbolic links to them.
* Copy the XTDP port ‎‎<<_8, [8]>> related files with their dependencies to the directory of the test suite or create symbolic links to them.
* Create _Makefile_ or modify the existing one. For more details, see the relevant section of ‎‎<<_2, [2]>>.
* Edit the configuration file according to your needs; see section <<configuration, Configuration>>.
[[configuration]]
== Configuration
The executable program behavior is determined via the run-time configuration file. This is a simple text file, which contains various sections. The usual extension of configuration files is _.cfg_. For further information on the configuration file see <<_2, ‎[2]>>.
The Time Profiler Editor defines TTCN-3 module parameters as defined in ‎<<_2, [2]>>, clause 4. Actual values of these parameters when there is no default value or when a value that is different from the default value is to be used, the actual values of these parameters is to be given in the `[MODULE_PARAMETERS]` section of the configuration file.
The Time Profiler Editor defines the following module parameters:
* `tsp_TimeProfileEditor_GuiPortListenAddr`
+
This charstring parameter specifies the interface name where the TPE listens to the incoming Runtime GUI connection.
+
Its default value is `_"localhost"_`.
* `tsp_TimeProfileEditor_GuiPortListenPort`
+
This integer parameter specifies the port number where the TPE listens to the incoming Runtime GUI connection.
+
Its default value is `_7331_`.
* `tsp_TimeProfileEditor_ConfigFilename`
+
This charstring parameter specifies the configuration file path to which the edited time profile settings will be saved.
+
Its default value is `_"edited_time_profiles.cfg"_`.
* `tsp_TimeProfileEditor_DisplayedTimeUnit`
+
This charstring parameter specifies the time unit to be displayed in the TPE.
+
Its default value is `_"hours"_`, and can be one of `_"hours"_`, `_"minutes"_` and `_"seconds"_`.
+
NOTE: the user should not specify this setting in his or her main configuration file, or should not change it in the generated configuration file. This parameter is written automatically in the generated configuration file.
* `tsp_EPTF_ExecCtrl_TimeProfileDescrList`
+
This parameter specifies previously edited _time sequence_s to be loaded and initialized by the TPE on start-up.
+
NOTE: The user should not specify this setting in his or her main configuration file, or should not change it in the generated configuration file. This parameter is written automatically in the generated configuration file.
* `tsp_EPTF_ExecCtrl_TimeProfileList`
+
This parameter specifies previously edited time profiles to be loaded and initialized by the TPE on start-up.
+
NOTE: The user should not specify this setting in his or her main configuration file, or should not change it in the generated configuration file. This parameter is written automatically in the generated configuration file.
[[use]]
= Use
For the first time run the Time Profile Editor has to be compiled and configured as described in sections <<installation, Installation>> and <<configuration, Configuration>>. TPE can be compiled as a single mode test suite.
The user has to maintain a main TPE configuration file which includes (as a reference in the `[INCLUDE]` section) the generated configuration file. See section <<examples, Examples>>, for example.
TPE is to be started with the main configuration file, and then a Runtime GUI <<_9, ‎[9]>> must be connected to it. The appropriate command format to start the Runtime GUI:
[source]
java jar TitanRuntimeGUI.jar c localhost:7331
TPE will initialize the layout as shown in figure below:
image:images/emptystart.png[alt]
== Creating and Editing Time Sequences
Time profiles are made of time sequences. As the first step the user has to define time sequences. A unique name has to be specified on the left of `New sequence` button.
Figure below shows some time sequences:
image:images/weekday2.png[alt]
Each time sequence is configurable with a number of "Start time" and "Target value" pairs. The "Target value" is a float value that a traffic case gets as a parameter from the Execution Control. Typical example for the target value is the call per seconds to be reached. The "Start time" specifies the time when the value of the traffic case parameter is changed. The "start time" is counted from the start of the time sequence.
On the right side of the Time sequences tab the user can add and remove rows from the selected time sequence. Each row has to be filled with a start time and a target value.
== Creating and Editing Time Profiles
With at least one time sequence specified, the user can define a time profile. This can be done on the Time Profiles tab.
See Example of time profile in the figure below:
image:images/profileweekday1.png[alt]
The figure shows the "weekday1_once" profile using the "weekday1" time sequence.
* A time profile consists of a sequence of the following attributes:
* Time sequence: name of the time sequence to use
* Start time: when to start the time sequence within the profile
* Period of repetition: the time sequence is repeated after the specified delay
* Number of repetitions: the time sequence is repeated the given times
The "Preview chart" shows a preview of the selected time profile as shown in Figure below:
image:images/chartweekday1.png[alt]
=== Configuring Time Sequence Repetitions
By setting the "Number of repetitions" to `_1_`, the chart shows the time profile program with the two (1 original and 1 repetition) time sequences:
See Simple time profile with a repeating time sequence below:
image:images/chartweekday1_twice.png[alt]
The user can add another time sequence to the time profile. Figure6 shows the added "weekday2" time sequence:
See Time profile with two non-conflicting time sequence below:
image:images/profileweekday1_weekday2_x2_overla.png[alt]
The preview chart shows:
See Preview chart of a time profile with two non-conflicting time sequence below:
image:images/chartweekday1_weekday2_x2_overlapp.png[alt]
Every time sequence is displayed with a unique color.
If the user leaves the start time at the default `_0.0_` for each time sequence, the two time sequence will conflict with each other. Figure below shows the conflicting settings:
See Time profile with two time conflicting sequences below:
image:images/profileweekday1_weekday2_error.png[alt]
The time profile above shows an error above the status label about duplication in the time profile program. Both "weekday1" and "weekday2" begins at start time `_"0.0"_` in the profile and have a target value setting at `_20.0_` in the time sequences.
NOTE: The time sequences also have conflicting start times at `_0.0_`, `_8.0_`, `_12.0_` and `_16.0_` but the TPE GUI highlights only the last conflicting one.
The preview chart of the conflicting case visualizes the problem:
See Preview chart with two conflicting time sequences below:
image:images/chartweekday1_weekday2_error.png[alt]
If a conflicting time profile is saved and used in the Execution Control, the actual choice of the target values at the conflicting start times cannot be predicted. If both time sequences have a target value setting at `_"20.0"_` time, the target value actually set in the traffic case can vary between values of the two time sequences between two different test runs.
To solve the conflict between the two time sequences, user must specify the "Start time" and "Period of repetition". In the figure below both "weekday1" and "weekday2" are repeated once, but with "24.0" delay between each other.
=== Creating a Monthly Profile
An example of a monthly profile:
image:images/monthlyprofile.png[alt]
In the profile program above, seven days are distinguished. Two different weekdays are mixed, and there are two different weekend days. Each day is repeated weekly (168 hours). Each day is delayed from the previous with 24 hours. The first two days of the week are repeated 4 times, the other days are repeated 3 times. This profile contains a program for 30 days.
The preview of the monthly profile below:
image:images/monthlychart1.png[alt]
When a time profile program expires (all target value settings are performed) the traffic case runs with the last target value setting.
=== Time Units
The user can change the time unit on the TPE. This causes the generated time sequences and time profiles to last for the chosen time unit. If the user changes the time unit of the monthly profile shown above to "seconds", the time profile would last for `_720_` seconds.
The time unit setting sets the time units globally. It is not possible in this version to define time values with mixed time units.
The saved configuration file must contain the time values in seconds. The Execution Control feature takes the time values always in seconds.
=== Configuration File Preview
The user can also preview the time profile setting to be saved on the "Config file" tab:
See Configuration file preview below:
image:images/hours.png[alt]
The text widget contains the configuration file data to be saved by the TPE.
=== Saving the Edited Time Sequences and Time Profiles
The `Save` button saves the time sequences and time profiles to the configured file.
=== Exiting the Time Profile Editor
The "Exit TTCN" button orders the TTCN side of the TPE to exit. Until the button is not used, the user can close the GUI part and reconnect to the TTCN part of the TPE. If a Runtime GUI reconnects to the TPE, the GUI is initialized with the current time sequence and time profile model.
[[examples]]
= Examples
The "demo" directory of the deliverable contains the _TimeProfileEditor.cfg_ main configuration file and the __edited_time_profiles.cfg__ generated configuration file with example time sequences and time profiles used to generate screenshots of the section <<use, Use>> 3.
== Main Configuration File
The used main configuration file (_TimeProfileEditor.cfg_) defines the following settings (only TPE-specific settings are listed):
* `[MODULE_PARAMETERS]`
** `tsp_TimeProfileEditor_GuiPortListenAddr := localhost`
+
TPE listens for Runtime GUI connections on the localhost IP interface.
** `tsp_TimeProfileEditor_GuiPortListenPort := 7331`
+
TPE listens for Runtime GUI connections on port 7331. In this case the Runtime GUI has to be started with:
+
[source]
java jar TitanRuntimeGUI.jar connect localhost:7331
** `tsp_TimeProfileEditor_ConfigFilename := "/home/user/edited_time_profiles.cfg"`
+
TPE will write the generated configuration file into "__/home/user/edited_time_profiles.cfg__". This setting has to be modified in the users environment.
* `[EXECUTE]`
** `EPTF_CLL_TimeProfileEditor.tc_TimeProfileEditor`
+
Specifies the main TPE testcase to be run automatically if the TITAN GUI or the TITAN Executor Plugin is used.
* `[INCLUDE]`
** `"/home/user/edited_time_profiles.cfg"`
+
Adds configuration file settings stored in the "__/home/user/edited_time_profiles.cfg__" file to the current configuration.
+
NOTE: This is exactly the same setting as specified in the `tsp_TimeProfileEditor_ConfigFilename`. This causes the previously saved _time profile_ settings to be loaded by TPE on the next start-up.
= Terminology
*TitanSim Core (Load) Library(CLL):* +
It is the part of the TitanSim software that is totally project independent. (I.e., which is not protocol-, or application-dependent). TitanSim CLL is to be supplied and supported by the TCC organization. Any TitanSim CLL development is to be funded centrally by Ericsson.
*Target value:* +
It is a value which determines a traffic case parameter at a given time, i.ea CPS (call/second) to be generated.
*Start time (in a time sequence):* +
It is an exact time specifying when to change a traffic case parameter to a _target value_.
*Time sequence:* +
It is a list of _start times_ and _target values_. Each time sequence has a unique name, e.g. `Monday'.
*Number of repetition:* +
It specifies how many times the _time sequence_ is repeated in a _time profile_.
*Period of repetition:* +
It specifies time the length of time periods between repetetitions of a _time sequence_ in a _time profile_. It is only relevant if the _number of repetition_ is higher than 0.
*Start time (in a time profile):* +
It is an exact time specifying when to start a _time sequence_ in a _time profile_ for the first time.
*Time profile:* +
It is a list of _time sequence_, _start time_, period of repetition and number of repetition_. The time profile has a name, e.g. `Weekly profile'.
= Abbreviations
CLL:: Core Load Library
EPTF:: Ericsson Load Test Framework, formerly TITAN Load Test Framework
GUI:: Graphical User Interface
TitanSim:: Ericsson Load Test Framework, formerly TITAN Load Test Framework
TTCN-3:: Testing and Test Control Notation version 3 <<_1, ‎[1]>>.
TPE:: Time Profile Editor (this product)
= References
[[_1]]
[1] ETSI ES 201 873-1 v3.2.1 (2007-02) +
The Testing and Test Control Notation version 3. Part 1: Core Language
[[_2]]
[2] User Guide for the TITAN TTCN-3 Test Executor
[[_3]]
[3] TitanSim CLL for TTCN-3 toolset with TITAN, Function Specification
[[_4]]
[4] TitanSim CLL for TTCN-3 toolset with TITAN, User Guide
[[_5]]
[5] EPTF CLL Time Profile Editor, Function Description
[[_6]]
[6] TitanSim CLL for TTCN-3 toolset with TITAN +
http://ttcn.ericsson.se/products/libraries.shtml[Reference Guide]
[[_7]]
[7] EPTF CLL Execution Control, Function Description
[[_8]]
[8] XTDP Test Port for TTCN-3 Toolset with TITAN, User’s Guide
[[_9]]
[9] Runtime GUI for TTCN-3 Toolset, Function Specification