blob: 7b29bd0ba6a34e4e1caff35722c3d7b3a1e5e19a [file] [log] [blame]
///////////////////////////////////////////////////////////////////////////////
// //
// Copyright (c) 2000-2019 Ericsson Telecom AB //
// //
// All rights reserved. This program and the accompanying materials //
// are made available under the terms of the Eclipse Public License v2.0 //
// which accompanies this distribution, and is available at //
// https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html //
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// Module: EPTF_CLL_ExecCtrlTimeProfile_Definitions
//
// Purpose:
// This module contains type definitions for EPTF_CLL_ExecCtrl_TimeProfile implementation.
//
// Module depends on:
// <EPTF_CLL_Common_Definitions>
//
// Module Parameters:
// tsp_EPTF_ExecCtrl_TimeProfileDescrList - <EPTF_ExecCtrl_TimeProfileDescrList> - the time profile descriptors
// tsp_EPTF_ExecCtrl_TimeProfileList - <tsp_EPTF_ExecCtrl_TimeProfileList> - the time profiles
// tsp_EPTF_ExecCtrl_TimeProfile2TcList - <EPTF_ExecCtrl_TimeProfile2TcList> - traffic case to time profile assignment
//
// Current Owner:
// ethjgi
//
// Last Review Date:
// 2008-03-10
//
// Detailed Comments:
// This module contains type definitions for EPTF_CLL_ExecCtrl_TimeProfile implementation.
//
///////////////////////////////////////////////////////////////
module EPTF_CLL_ExecCtrlTimeProfile_Definitions {
import from EPTF_CLL_Common_Definitions all;
modulepar EPTF_ExecCtrl_TimeProfileDescrList tsp_EPTF_ExecCtrl_TimeProfileDescrList := {};
modulepar EPTF_ExecCtrl_TimeProfileList tsp_EPTF_ExecCtrl_TimeProfileList := {};
modulepar EPTF_ExecCtrl_TimeProfile2TcList tsp_EPTF_ExecCtrl_TimeProfile2TcList := {};
// time dependent targetValue (e.g. CPS):
///////////////////////////////////////////////////////////
// Type: EPTF_ExecCtrl_TimeProfile_TCName
//
// Purpose:
// Type for identify a traffic case by names
//
// Elements:
// - eGrpName - *charstring* - the name of entity group
// - scName - *charstring* - the name of scenario
// - tcName - *charstring* - the name of traffic case
//
///////////////////////////////////////////////////////////
type record EPTF_ExecCtrl_TimeProfile_TCName {
charstring eGrpName,
charstring scName,
charstring tcName
}
// this defined the DB:
///////////////////////////////////////////////////////////
// Type: EPTF_ExecCtrl_TimeProfileItem
//
// Purpose:
// Defines an item in the time profile
//
///////////////////////////////////////////////////////////
type record EPTF_ExecCtrl_TimeProfileItem {
float time, // time elapsed since the profile was started (in seconds)
float targetValue // targetValue to use from that time
}
///////////////////////////////////////////////////////////
// Type: EPTF_ExecCtrl_TimeProfileItemList
//
// Purpose:
// Defines the time profile as a list of <EPTF_ExecCtrl_TimeProfileItem>
//
///////////////////////////////////////////////////////////
type record of EPTF_ExecCtrl_TimeProfileItem EPTF_ExecCtrl_TimeProfileItemList;
///////////////////////////////////////////////////////////
// Type: EPTF_ExecCtrl_TcTimeProfileItem
//
// Purpose:
// Time profile data type for a traffic case
//
///////////////////////////////////////////////////////////
type record EPTF_ExecCtrl_TcTimeProfileItem {
EPTF_IntegerList timeProfileIdList, // ids in EPTF_ExecCtrl_TimeProfileDescrList
integer timeProfileIdx, // id in EPTF_ExecCtrl_TimeProfileList
EPTF_IntegerList eventIdList // id of the scheduled event for these time profiles
}
///////////////////////////////////////////////////////////
// Type: EPTF_ExecCtrl_TcTimeProfile
//
// Purpose:
// List of traffic case time profile items <EPTF_ExecCtrl_TcTimeProfileItem>
//
///////////////////////////////////////////////////////////
type record of EPTF_ExecCtrl_TcTimeProfileItem EPTF_ExecCtrl_TcTimeProfile; // per tc
///////////////////////////////////////////////////////////
// Type: EPTF_ExecCtrl_ScTimeProfileItem
//
// Purpose:
// List of traffic case time profiles
//
///////////////////////////////////////////////////////////
type record EPTF_ExecCtrl_ScTimeProfileItem {
EPTF_ExecCtrl_TcTimeProfile tcTimeProfile
}
///////////////////////////////////////////////////////////
// Type: EPTF_ExecCtrl_ScTimeProfile
//
// Purpose:
// Database of time profile data for scenarios
//
///////////////////////////////////////////////////////////
type record of EPTF_ExecCtrl_ScTimeProfileItem EPTF_ExecCtrl_ScTimeProfile; // timeprofile per sc: scTimeProfile[<scidx>].tcTimeProfile[<tcidx>].timeProfileIdList
// this defines the tsp:
// defines a time profile:
///////////////////////////////////////////////////////////
// Type: EPTF_ExecCtrl_TimeProfileDescr
//
// Purpose:
// Type to define a time profile
//
///////////////////////////////////////////////////////////
type record EPTF_ExecCtrl_TimeProfileDescr {
charstring name,
EPTF_ExecCtrl_TimeProfileItemList timeProfileData // the profile data
}
///////////////////////////////////////////////////////////
// Type: EPTF_ExecCtrl_TimeProfileDescrList
//
// Purpose:
// List of time profiles <EPTF_ExecCtrl_TimeProfileDescr>
// This type can be used to define all time profiles
//
///////////////////////////////////////////////////////////
type record of EPTF_ExecCtrl_TimeProfileDescr EPTF_ExecCtrl_TimeProfileDescrList; // list of time profiles
///////////////////////////////////////////////////////////
// Type: EPTF_ExecCtrl_TimeProfileData
//
// Purpose:
// Time profile data for a traffic case
//
///////////////////////////////////////////////////////////
type record EPTF_ExecCtrl_TimeProfileData {
charstring timeProfileDescrName, // the name of the time profile descriptor
float startTime, // the time when the profile should be activated (with respect to start of the execution) (in seconds)
float periodOfRepetition, // the period that the timeProfileData should be repeated with
integer nofRepetition // number of times the timeProfileData should be repeated (-1: infinity, 0: executed only once (never repeated), 1: executed two times (repeated once), etc.)
}
///////////////////////////////////////////////////////////
// Type: EPTF_ExecCtrl_TimeProfileDataList
//
// Purpose:
// List of time profile traffic case data <EPTF_ExecCtrl_TimeProfileData>
//
///////////////////////////////////////////////////////////
type record of EPTF_ExecCtrl_TimeProfileData EPTF_ExecCtrl_TimeProfileDataList;
///////////////////////////////////////////////////////////
// Type: EPTF_ExecCtrl_TimeProfile
//
// Purpose:
// Time profile definition
//
///////////////////////////////////////////////////////////
type record EPTF_ExecCtrl_TimeProfile {
charstring name, // name of the time profile
EPTF_ExecCtrl_TimeProfileDataList timeProfileList // the list of time profiles that should be used
}
///////////////////////////////////////////////////////////
// Type: EPTF_ExecCtrl_TimeProfileList
//
// Purpose:
// List of time profile traffic case data <EPTF_ExecCtrl_TimeProfile>
//
///////////////////////////////////////////////////////////
type record of EPTF_ExecCtrl_TimeProfile EPTF_ExecCtrl_TimeProfileList;
///////////////////////////////////////////////////////////
// Type: EPTF_ExecCtrl_TimeProfile2Tc
//
// Purpose:
// Time profile data for a traffic case
//
///////////////////////////////////////////////////////////
type record EPTF_ExecCtrl_TimeProfile2Tc {
EPTF_ExecCtrl_TimeProfile_TCName tcId, // id of the traffic case
charstring timeProfileName // the name of time profiles that should be used for this TC
}
///////////////////////////////////////////////////////////
// Type: EPTF_ExecCtrl_TimeProfile2TcList
//
// Purpose:
// List of traffic case time profiles <EPTF_ExecCtrl_TimeProfile2Tc>
// This type can be used to define the time profiles for all traffic cases
//
///////////////////////////////////////////////////////////
type record of EPTF_ExecCtrl_TimeProfile2Tc EPTF_ExecCtrl_TimeProfile2TcList; // defines which timeProfile belongs to which tc
} // module EPTF_CLL_ExecCtrlTimeProfile_Definitions