Issue on templates not fully defined being Derived templates
Submitted by Carlos Arroyo
Link to original bug (#570801)
Description
Created attachment 285425 NBIOT ATS
Dear Support,
We have noticed an error on our latest delivery, 20wk50, which could be catched by your tool if considered. We found several places in the code where optional template fields being left uninitialized are not raising any warning.
-> A warning could be the raised on derived templates if it is not fully defined.
One example is as follows (module .\NBIOT_IWD_20wk50 \NBIOT\22_3 NBIOT_MAC_Testcases.ttcn
)
template (value) NB_SYSTEM_CTRL_REQ cads_NB_SYSTEM_CTRL_REQ_CellConfig_NPDCCH(NBIOT_CellId_Type p_CellId,
template (value) TimingInfo_Type p_TimingInfo := cs_TimingInfo_Now,
template (omit) boolean p_CnfFlag := omit,
template (value) NPdcchConfig_Type p_NPdcchConfig)
modifies cas_NB_SYSTEM_CTRL_REQ_CellConfigOmit :=
{ /* @status APPROVED (NBIOT) */
Request := {
Cell := {
AddOrReconfigure := {
Basic := {
PhysicalLayerConfigDL := {
NPdcch := p_NPdcchConfig -> template not fully defined, this could cause problems as the other IEs may not be initialized
}
}
}
}
}
};
Being the record definition:
type record NB_PhysicalLayerConfigDL_Type { /* all fields are declared as optional to allow single reconfigurations; in this case omit means "keep as it is" */
AntennaConfig_Type Antenna optional,
NPbchConfig_Type NPbch optional,
NPdcchConfig_Type NPdcch optional,
NPdschConfig_Type NPdsch optional,
NB_PrimarySyncSignal_Type NPss optional,
NB_SecondarySyncSignal_Type NSss optional,
NB_LTE_CellSpecificReferenceSignal_Type LteCrs optional /* if omitted in initial configuration the CRS shall be considered as being not present, i.e. shall not be transmitted by the SS */
};
Same case happens with templates cads_NB_ULGrantScheduling_REQ
, cads_NB_CcchDcchDtchDL_Config_REQ
, cads_NB_DrxCtrl_REQ
and cads_NB_RachProcedure_Config_REQ
also included on the attached ATS.
With the template above some fields remained uninitialised and the issue wasn’t seen so we’d like to get it catched by tools. As you mentioned already, if some contents of a base template are never used in communication operation this design doesn't cause any problem but in this specific case I tend to think that if a derived template is not fully defined (although the pending elements are optional) it has to include all values. This is assuming a scenario working with modified templates.
Please do not hesitate to let me know whether you need more information for this issue. Also, find attached the ATS where you can find the listed templates and type definitions.
Let me also take the opportunity to ask whether you plan to upload the installers of version 7.2.0 for Linux distros and if you will also do it for Windows versions on: https://projects.eclipse.org/projects/tools.titan/downloads
Best Regards, Carlos - MCC TF160
Attachment 285425, "NBIOT ATS":
NBIOT_IWD_20wk50.zip
Version: 7.1.0