Loading importer-examples/tdl_ngap/src/tdl/TD_GNB_NGAP.tdltx +35 −33 Original line number Diff line number Diff line Loading @@ -11,8 +11,12 @@ * observing it: `AMF::g receives NGSetupRequest(...) from IUT::g`, followed * by a verdict. * * The message value / typing / import rules are identical to the TPD — see * TPD_GNB_NGAP.tdltx for the structural `Discrepancy:` notes. * The message value here uses TDL **parameter reduction** rather than the TPD's * fully nested constructors. The idiom: reduce to each level only once * (`param | .a.b = SubObject(...)`), using collection initializers `[ ... ]` for * list members, then construct the sub-object — so no path prefix is repeated. * Typing / import rules are otherwise as in the TPD — see TPD_GNB_NGAP.tdltx for * the structural `Discrepancy:` notes. */ Package TD_GNB_NGAP { Loading @@ -37,32 +41,33 @@ Package TD_GNB_NGAP { // Preamble (TPD Initial conditions) perform action: "Ensure the IUT has successfully established a TNL connection towards the AMF (SCTP association established)." on AMF // Body (TPD then-block: IUT sends -> tester receives) // Body (TPD then-block: IUT sends -> tester receives). // // Parameter reduction: instead of nesting a constructor per level // (value = ...ValueChoice( globalRANNodeID = GlobalRANNodeID( ... ) )), // each leaf is bound directly via a reduction path on the `value` // parameter: value | .a.b.c = leaf (TDL ParameterBinding reduction). // Collection elements are indexed with .get(i). AMF::g receives NGSetupRequest( protocolIEs = [ iE_GlobalRANNodeID( value = NGSetupRequestIEs_ValueChoice( globalRANNodeID = GlobalRANNodeID( globalGNB_ID = GlobalGNB_ID( value | .globalRANNodeID.globalGNB_ID = ( pLMNIdentity = PX_PLMN_Identity, gNB_ID = GNB_ID( gNB_ID = ( gNB_ID = PX_gNB_ID ) ) ) ) ), iE_SupportedTAList( value = NGSetupRequestIEs_ValueChoice( supportedTAList = [ SupportedTAItem( value | .supportedTAList = [ ( tAC = PX_TAC, broadcastPLMNList = [ BroadcastPLMNItem( ( pLMNIdentity = PX_PLMN_Identity, tAISliceSupportList = [ SliceSupportItem( s_NSSAI = S_NSSAI( ( s_NSSAI = ( sST = PX_SST, sD = PX_SD ) Loading @@ -72,12 +77,9 @@ Package TD_GNB_NGAP { ] ) ] ) ), iE_DefaultPagingDRX( value = NGSetupRequestIEs_ValueChoice( pagingDRX = PX_GNB_DEF_DRX ) value | .pagingDRX = PX_GNB_DEF_DRX ) ] ) from IUT::g Loading Loading
importer-examples/tdl_ngap/src/tdl/TD_GNB_NGAP.tdltx +35 −33 Original line number Diff line number Diff line Loading @@ -11,8 +11,12 @@ * observing it: `AMF::g receives NGSetupRequest(...) from IUT::g`, followed * by a verdict. * * The message value / typing / import rules are identical to the TPD — see * TPD_GNB_NGAP.tdltx for the structural `Discrepancy:` notes. * The message value here uses TDL **parameter reduction** rather than the TPD's * fully nested constructors. The idiom: reduce to each level only once * (`param | .a.b = SubObject(...)`), using collection initializers `[ ... ]` for * list members, then construct the sub-object — so no path prefix is repeated. * Typing / import rules are otherwise as in the TPD — see TPD_GNB_NGAP.tdltx for * the structural `Discrepancy:` notes. */ Package TD_GNB_NGAP { Loading @@ -37,32 +41,33 @@ Package TD_GNB_NGAP { // Preamble (TPD Initial conditions) perform action: "Ensure the IUT has successfully established a TNL connection towards the AMF (SCTP association established)." on AMF // Body (TPD then-block: IUT sends -> tester receives) // Body (TPD then-block: IUT sends -> tester receives). // // Parameter reduction: instead of nesting a constructor per level // (value = ...ValueChoice( globalRANNodeID = GlobalRANNodeID( ... ) )), // each leaf is bound directly via a reduction path on the `value` // parameter: value | .a.b.c = leaf (TDL ParameterBinding reduction). // Collection elements are indexed with .get(i). AMF::g receives NGSetupRequest( protocolIEs = [ iE_GlobalRANNodeID( value = NGSetupRequestIEs_ValueChoice( globalRANNodeID = GlobalRANNodeID( globalGNB_ID = GlobalGNB_ID( value | .globalRANNodeID.globalGNB_ID = ( pLMNIdentity = PX_PLMN_Identity, gNB_ID = GNB_ID( gNB_ID = ( gNB_ID = PX_gNB_ID ) ) ) ) ), iE_SupportedTAList( value = NGSetupRequestIEs_ValueChoice( supportedTAList = [ SupportedTAItem( value | .supportedTAList = [ ( tAC = PX_TAC, broadcastPLMNList = [ BroadcastPLMNItem( ( pLMNIdentity = PX_PLMN_Identity, tAISliceSupportList = [ SliceSupportItem( s_NSSAI = S_NSSAI( ( s_NSSAI = ( sST = PX_SST, sD = PX_SD ) Loading @@ -72,12 +77,9 @@ Package TD_GNB_NGAP { ] ) ] ) ), iE_DefaultPagingDRX( value = NGSetupRequestIEs_ValueChoice( pagingDRX = PX_GNB_DEF_DRX ) value | .pagingDRX = PX_GNB_DEF_DRX ) ] ) from IUT::g Loading