Skip to content

7.2 Naming conventions

7.2.1 General guidelines

This test suite follows the naming convention guidelines provided in oneM2M TS-0015 [i.2].

The naming convention is based on the following underlying principles:

  • in most cases, identifiers should be prefixed with a short alphabetic string (specified in table 7.2.1-1) indicating the type of TTCN3 element it represents;
  • suffixes should not be used except in those specific cases identified in table 7.2.1-1;
  • prefixes and suffixes should be separated from the body of the identifier with an underscore ("_");

EXAMPLE 1: c\_sixteen, t\_wait.

  • only module names, data type names and module parameters should begin with an uppercase letter. All other names (i.e. the part of the identifier following the prefix) should begin with a lowercase letter;
  • the start of second and subsequent words in an identifier should be indicated by capitalizing the first character. Underscores should not be used for this purpose.

EXAMPLE 2: f\_initialState.

Table 7.2.1-1 specifies the naming guidelines for each element of the TTCN3 language indicating the recommended prefix, suffixes (if any) and capitalization.

Table 7.2.1-1: TTCN-3 generic naming conventions

Language element Naming convention Prefix Example identifier
Module Use upper-case initial letter none OneM2M_Templates
Group within a module Use lower-case initial letter none messageGroup
Data type Use upper-case initial letter none SetupContents
Message template Use lower-case initial letter m_ m_setupInit
Message template with wildcard or matching expression Use lower-case initial letters mw_ mw_anyUserReply
Signature template Use lower-case initial letter s_ s_callSignature
Port instance Use lower-case initial letter none signallingPort
Test component instance Use lower-case initial letter none userTerminal
Constant Use lower-case initial letter c_ c_maxRetransmission
Constant (defined within component type) Use lower-case initial letter cc_ cc_minDuration
External constant Use lower-case initial letter cx_ cx_macId
Function Use lower-case initial letter f_ f_authentication()
External function Use lower-case initial letter fx_ fx_calculateLength()
Altstep (incl. Default) Use lower-case initial letter a_ a_receiveSetup()
Test case Use ETSI numbering TC_ TC_COR_0009_47_ND
Variable (local) Use lower-case initial letter v_ v_macId
Variable (defined within a component type) Use lower-case initial letters vc_ vc_systemName
Timer (local) Use lower-case initial letter t_ t_wait
Timer (defined within a component) Use lower-case initial letters tc_ tc_authMin
Module parameters for PICS Use all upper case letters PICS_ PICS_DOOROPEN
Module parameters for other parameters Use all upper case letters PX_ PX_TESTER_STATION_ID
Formal Parameters Use lower-case initial letter p_ p_macId
Enumerated Values Use lower-case initial letter e_ e_syncOk

7.2.2 oneM2M specific TTCN-3 naming conventions

Next to such general naming conventions, table 7.2.2-1 shows specific naming conventions that apply to the oneM2M TTCN-3 ATS.

Table 7.2.2-1: oneM2M specific TTCN-3 naming conventions

Language element Naming convention Prefix Example identifier
oneM2M Module Use upper-case initial letter OneM2M_ OneM2M_Testcases_
Module containing oneM2M types Use upper-case initial letter OneM2M_Types OneM2M_Types
Module containing types and values Use upper-case initial letter OneM2M_TypesAndValues OneM2M_TypesAndValues
Module containing Templates Use upper-case initial letter OneM2M_Templates OneM2M_Templates
Module containing test cases Use upper-case initial letter OneM2M_Testcases OneM2M_Testcases
Module containing functions Use upper-case initial letter OneM2M_Functions OneM2M_Functions
Module containing external functions Use upper-case initial letter OneM2M_ExternalFunctions OneM2M_ExternalFunctions
Module containing components, ports and message definitions Use upper-case initial letter OneM2M_TestSystem OneM2M_TestSystem
Module containing module parameters Use upper-case initial letter OneM2M_Pixits OneM2M_Pixits

7.2.3 Usage of Log statements

All TTCN-3 log statements use the following format using the same order:

  • The TTCN-3 test case or function identifier in which the log statement is defined.
  • One of the categories of log: INFO, WARNING, ERROR, TIMEOUT, NONE.
  • Free text.

EXAMPLE 1: **log** ("f\_utInitializeIut: INFO: IUT initialized");

Furthermore, the following rules are applied too:

  • All TTCN-3 setverdict statements are combined (as defined in TTCN-3 - ETSI ES 201 873-1 [6]) with a log statement following the same above rules (see example 2).

EXAMPLE 2: **setverdict** (**pass** , "TC\_ONEM2M\_CSE\_DMR\_CRE\_001: Received correct message");

7.2.4 Test Case (TC) identifier

Table 7.2.4-1: TC naming convention

Identifier: TC_<root>_<gr>_<sgr>_<nn>_<per>
<root> = root ONEM2M oneM2M
<gr> = group CSE CSE testing
AE AE testing
<sgr> = subgroup REG Registration
DMR Data Management and Repository
SUB Subscription and Notification
GMG Group Management
DIS Discovery
LOC Location
DMG Device Management
CMDH Communication Management and Delivery Handling
SEC Security
<nn> = sequential number 001 to 999
<per> = permutation P1_P2_..PN Permutation parameters

EXAMPLE: TP identifier: TP/oneM2M/CSE/DMR/CRE/001
TC identifier: TC\_ONEM2M\_CSE\_DMR\_CRE\_001.