Loading ttcn/GeoNetworking/LibItsGeoNetworking_Functions.ttcn +58 −0 Original line number Original line Diff line number Diff line Loading @@ -47,4 +47,62 @@ module LibItsGeoNetworking_Functions { } // end f_ptcGeoNetworkingDown } // end f_ptcGeoNetworkingDown group altsteps { /** * @desc The base default. */ altstep a_default() runs on ItsNt { [] geoNetworkingPort.receive { setverdict (inconc, "Received an unexpected message"); //TODO shall stop be called here? stop; } [] tc_wait.timeout { setverdict (inconc, "Timeout while awaiting reaction of the IUT prior to Upper Tester action"); //TODO shall stop be called here? stop; } [] tc_ac.timeout { setverdict (inconc, "Timeout while awaiting the reception of a message"); //TODO shall stop be called here? stop; } } } group preambles { /** * @desc The default preamble. */ function f_prDefault() runs on ItsNt { activate(a_default()); } /** * @desc Brings the IUT into an initial state. * @return */ function f_prInitialState() runs on ItsNt { f_prDefault(); // TODO: any specific action ? setverdict(pass); } } // end preambles group postambles { /** * @desc The default postamble. */ function f_poDefault() runs on ItsNt { setverdict(pass); } } // end postambles } // end LibItsGeoNetworking_Functions } // end LibItsGeoNetworking_Functions No newline at end of file ttcn/GeoNetworking/LibItsGeoNetworking_Templates.ttcn +184 −1 Original line number Original line Diff line number Diff line Loading @@ -5,9 +5,192 @@ * @desc GeoNetworking Templates * @desc GeoNetworking Templates * * */ */ module ItsGeoNetworking_Templates { module LibItsGeoNetworking_Templates { // Libcommon import from LibCommon_BasicTypesAndValues all; // LibIts import from LibIts_Interface all; import from LibItsGeoNetworking_TypesAndValues all; group geoNwPrimitivesTemplates { template (value) GeoNetworkingReq m_geoNwReq( template (value) GeoNetworkingPacket p_geoNwMsg ) := { msgOut := p_geoNwMsg } template GeoNetworkingInd mw_geoNwInd( template (present) GeoNetworkingPacket p_geoNwMsg ) := { msgIn := p_geoNwMsg } } // geoNwPrimitivesTemplates group geoNwPduTemplates { template (value) GeoNetworkingPacket m_geoNwPdu(in template (value) Header p_header) := { header := p_header, secHeader := omit, payload := omit } template GeoNetworkingPacket mw_geoNwPdu(in template (present) Header p_header) := { header := p_header, secHeader := ?, payload := ? } } // end geoNwPduTemplates group geoNwHeadersTemplates { group geoNwCommonHeaderTemplates { template (value) CommonHeader m_commonHeader ( in template (value) NextHeader p_nextHeader, in template (value) HeaderTST p_headerTST, in template (value) TrafficClass p_trafficClass, in template (value) UInt8 p_hopLimit, in template (value) LongPosVector p_longPosVec, in template (value) StationTypeIdentifier p_stationType ) := { version := c_geoNwProtocolVersion, nextHeader := p_nextHeader, headerTST := p_headerTST, reserved := c_uInt8Zero, flags := m_flags(p_stationType), plLength := 0, // will be computed by Codec trafficClass := p_trafficClass, hopLimit := p_hopLimit, longPosVec := p_longPosVec } template CommonHeader mw_commonHeader ( in template (present) NextHeader p_nextHeader, in template (present) HeaderTST p_headerTST ) := { version := c_geoNwProtocolVersion, nextHeader := p_nextHeader, headerTST := p_headerTST, reserved := c_uInt8Zero, flags := ?, plLength := ?, trafficClass := ?, hopLimit := ?, longPosVec := ? } template (value) Flags m_flags( in template (value) StationTypeIdentifier p_stationType ) := { reserved := c_uInt6Zero, stationType := p_stationType, reserved2 := c_uInt1Zero } template (value) TrafficClass m_trafficClass := { reserved := c_uInt1Zero, relevance := c_uInt3Zero, reliability := e_veryHigh, latency := e_veryLow } } // end geoNwCommonHeaderTemplates group geoBroadcastHeaderTemplates { template (value) Header m_geoBroadcastHeader( in template (value) LongPosVector p_sourceLongPosVec, in template (value) LongPosVector p_senderLongPosVec, in template (value) StationTypeIdentifier p_stationType, in template (value) UInt16 p_seqNumber, in template (value) HeaderSubTypeGeoBroadcast p_headerSubType, in template (value) UInt32 p_geoAreaPosLatitude, in template (value) UInt32 p_geoAreaPosLongitude, in template (value) UInt16 p_distanceA, in template (value) UInt16 p_distanceB, in template (value) UInt8 p_angle ) := { geoBroadcastHeader := { commonHeader := m_commonHeader( e_btp, m_geoBroadcastHeaderType(p_headerSubType), m_trafficClass, c_defaultHopLimit, p_senderLongPosVec, p_stationType ), seqNumber := p_seqNumber, lifetime := m_lifetime, reserved := c_uInt8Zero, srcPosVector := p_sourceLongPosVec, geoAreaPosLatitude := p_geoAreaPosLatitude, geoAreaPosLongitude := p_geoAreaPosLongitude, distanceA := p_distanceA, distanceB := p_distanceB, angle := p_angle, reserved2 := c_uInt24Zero } } template Header mw_geoBroadcastHeader( in template (present) LongPosVector p_senderLongPosVec, in template (present) StationTypeIdentifier p_stationType, in template (present) UInt16 p_seqNumber ) := { geoBroadcastHeader := { commonHeader := mw_commonHeader( e_btp, mw_geoBroadcastHeaderType ), seqNumber := p_seqNumber, lifetime := ?, reserved := c_uInt8Zero, srcPosVector := ?, geoAreaPosLatitude := ?, geoAreaPosLongitude := ?, distanceA := ?, distanceB := ?, angle := ?, reserved2 := c_uInt24Zero } } template (value) HeaderTST m_geoBroadcastHeaderType( in template (value) HeaderSubTypeGeoBroadcast p_headerSubType ) := { geoBroadcastHdr := { headerType := e_geoBroadcast, headerSubType := p_headerSubType } } template HeaderTST mw_geoBroadcastHeaderType := { geoBroadcastHdr := { headerType := e_geoBroadcast, headerSubType := ? } } template HeaderTST mw_geoBroadcastHeaderTypeWithSubType( in template (present) HeaderSubTypeGeoBroadcast p_headerSubType ) modifies mw_geoBroadcastHeaderType := { geoBroadcastHdr := { headerSubType := p_headerSubType } } template (value) Lifetime m_lifetime := { multiplier := 10, ltBase := e_1s } } // end geoBroadcastHeaderTemplates } // end geoNwHeadersTemplates } // end ItsGeoNetworking_Templates } // end ItsGeoNetworking_Templates No newline at end of file ttcn/GeoNetworking/LibItsGeoNetworking_TypesAndValues.ttcn +12 −0 Original line number Original line Diff line number Diff line Loading @@ -10,6 +10,18 @@ module LibItsGeoNetworking_TypesAndValues { import from LibCommon_BasicTypesAndValues all; import from LibCommon_BasicTypesAndValues all; import from LibCommon_DataStrings all; import from LibCommon_DataStrings all; group geoNwValues { group geoNwHeaderConstants { const UInt4 c_geoNwProtocolVersion := 0; const UInt8 c_defaultHopLimit := 10; } // end geoNwHeaderConstants // TODO add in Libcommon const UInt24 c_uInt24Zero := 0; } // end geoNwValues group geoNetworkingPdus { group geoNetworkingPdus { /** /** Loading ttcn/LibIts_Interface.ttcn +5 −0 Original line number Original line Diff line number Diff line Loading @@ -116,6 +116,11 @@ module LibIts_Interface { // NT3 ports // NT3 ports port FastPort fastPort; port FastPort fastPort; // timers timer tc_wait := PX_TWAIT; timer tc_ac := PX_TAC; } // end ItsNt } // end ItsNt } // end interfaceComponents } // end interfaceComponents Loading ttcn/LibIts_TestSystem.ttcn +1 −1 Original line number Original line Diff line number Diff line Loading @@ -57,7 +57,7 @@ module LibIts_TestSystem { port BtpPort btpPort; port BtpPort btpPort; // NT2 ports // NT2 ports port GeoNetworkingPort geoNetPort; port GeoNetworkingPort geoNetworkingPort; port IPv6OverGeoNetworkingPort ipv6OverGeoNetworkingPort; port IPv6OverGeoNetworkingPort ipv6OverGeoNetworkingPort; // NT3 ports // NT3 ports Loading Loading
ttcn/GeoNetworking/LibItsGeoNetworking_Functions.ttcn +58 −0 Original line number Original line Diff line number Diff line Loading @@ -47,4 +47,62 @@ module LibItsGeoNetworking_Functions { } // end f_ptcGeoNetworkingDown } // end f_ptcGeoNetworkingDown group altsteps { /** * @desc The base default. */ altstep a_default() runs on ItsNt { [] geoNetworkingPort.receive { setverdict (inconc, "Received an unexpected message"); //TODO shall stop be called here? stop; } [] tc_wait.timeout { setverdict (inconc, "Timeout while awaiting reaction of the IUT prior to Upper Tester action"); //TODO shall stop be called here? stop; } [] tc_ac.timeout { setverdict (inconc, "Timeout while awaiting the reception of a message"); //TODO shall stop be called here? stop; } } } group preambles { /** * @desc The default preamble. */ function f_prDefault() runs on ItsNt { activate(a_default()); } /** * @desc Brings the IUT into an initial state. * @return */ function f_prInitialState() runs on ItsNt { f_prDefault(); // TODO: any specific action ? setverdict(pass); } } // end preambles group postambles { /** * @desc The default postamble. */ function f_poDefault() runs on ItsNt { setverdict(pass); } } // end postambles } // end LibItsGeoNetworking_Functions } // end LibItsGeoNetworking_Functions No newline at end of file
ttcn/GeoNetworking/LibItsGeoNetworking_Templates.ttcn +184 −1 Original line number Original line Diff line number Diff line Loading @@ -5,9 +5,192 @@ * @desc GeoNetworking Templates * @desc GeoNetworking Templates * * */ */ module ItsGeoNetworking_Templates { module LibItsGeoNetworking_Templates { // Libcommon import from LibCommon_BasicTypesAndValues all; // LibIts import from LibIts_Interface all; import from LibItsGeoNetworking_TypesAndValues all; group geoNwPrimitivesTemplates { template (value) GeoNetworkingReq m_geoNwReq( template (value) GeoNetworkingPacket p_geoNwMsg ) := { msgOut := p_geoNwMsg } template GeoNetworkingInd mw_geoNwInd( template (present) GeoNetworkingPacket p_geoNwMsg ) := { msgIn := p_geoNwMsg } } // geoNwPrimitivesTemplates group geoNwPduTemplates { template (value) GeoNetworkingPacket m_geoNwPdu(in template (value) Header p_header) := { header := p_header, secHeader := omit, payload := omit } template GeoNetworkingPacket mw_geoNwPdu(in template (present) Header p_header) := { header := p_header, secHeader := ?, payload := ? } } // end geoNwPduTemplates group geoNwHeadersTemplates { group geoNwCommonHeaderTemplates { template (value) CommonHeader m_commonHeader ( in template (value) NextHeader p_nextHeader, in template (value) HeaderTST p_headerTST, in template (value) TrafficClass p_trafficClass, in template (value) UInt8 p_hopLimit, in template (value) LongPosVector p_longPosVec, in template (value) StationTypeIdentifier p_stationType ) := { version := c_geoNwProtocolVersion, nextHeader := p_nextHeader, headerTST := p_headerTST, reserved := c_uInt8Zero, flags := m_flags(p_stationType), plLength := 0, // will be computed by Codec trafficClass := p_trafficClass, hopLimit := p_hopLimit, longPosVec := p_longPosVec } template CommonHeader mw_commonHeader ( in template (present) NextHeader p_nextHeader, in template (present) HeaderTST p_headerTST ) := { version := c_geoNwProtocolVersion, nextHeader := p_nextHeader, headerTST := p_headerTST, reserved := c_uInt8Zero, flags := ?, plLength := ?, trafficClass := ?, hopLimit := ?, longPosVec := ? } template (value) Flags m_flags( in template (value) StationTypeIdentifier p_stationType ) := { reserved := c_uInt6Zero, stationType := p_stationType, reserved2 := c_uInt1Zero } template (value) TrafficClass m_trafficClass := { reserved := c_uInt1Zero, relevance := c_uInt3Zero, reliability := e_veryHigh, latency := e_veryLow } } // end geoNwCommonHeaderTemplates group geoBroadcastHeaderTemplates { template (value) Header m_geoBroadcastHeader( in template (value) LongPosVector p_sourceLongPosVec, in template (value) LongPosVector p_senderLongPosVec, in template (value) StationTypeIdentifier p_stationType, in template (value) UInt16 p_seqNumber, in template (value) HeaderSubTypeGeoBroadcast p_headerSubType, in template (value) UInt32 p_geoAreaPosLatitude, in template (value) UInt32 p_geoAreaPosLongitude, in template (value) UInt16 p_distanceA, in template (value) UInt16 p_distanceB, in template (value) UInt8 p_angle ) := { geoBroadcastHeader := { commonHeader := m_commonHeader( e_btp, m_geoBroadcastHeaderType(p_headerSubType), m_trafficClass, c_defaultHopLimit, p_senderLongPosVec, p_stationType ), seqNumber := p_seqNumber, lifetime := m_lifetime, reserved := c_uInt8Zero, srcPosVector := p_sourceLongPosVec, geoAreaPosLatitude := p_geoAreaPosLatitude, geoAreaPosLongitude := p_geoAreaPosLongitude, distanceA := p_distanceA, distanceB := p_distanceB, angle := p_angle, reserved2 := c_uInt24Zero } } template Header mw_geoBroadcastHeader( in template (present) LongPosVector p_senderLongPosVec, in template (present) StationTypeIdentifier p_stationType, in template (present) UInt16 p_seqNumber ) := { geoBroadcastHeader := { commonHeader := mw_commonHeader( e_btp, mw_geoBroadcastHeaderType ), seqNumber := p_seqNumber, lifetime := ?, reserved := c_uInt8Zero, srcPosVector := ?, geoAreaPosLatitude := ?, geoAreaPosLongitude := ?, distanceA := ?, distanceB := ?, angle := ?, reserved2 := c_uInt24Zero } } template (value) HeaderTST m_geoBroadcastHeaderType( in template (value) HeaderSubTypeGeoBroadcast p_headerSubType ) := { geoBroadcastHdr := { headerType := e_geoBroadcast, headerSubType := p_headerSubType } } template HeaderTST mw_geoBroadcastHeaderType := { geoBroadcastHdr := { headerType := e_geoBroadcast, headerSubType := ? } } template HeaderTST mw_geoBroadcastHeaderTypeWithSubType( in template (present) HeaderSubTypeGeoBroadcast p_headerSubType ) modifies mw_geoBroadcastHeaderType := { geoBroadcastHdr := { headerSubType := p_headerSubType } } template (value) Lifetime m_lifetime := { multiplier := 10, ltBase := e_1s } } // end geoBroadcastHeaderTemplates } // end geoNwHeadersTemplates } // end ItsGeoNetworking_Templates } // end ItsGeoNetworking_Templates No newline at end of file
ttcn/GeoNetworking/LibItsGeoNetworking_TypesAndValues.ttcn +12 −0 Original line number Original line Diff line number Diff line Loading @@ -10,6 +10,18 @@ module LibItsGeoNetworking_TypesAndValues { import from LibCommon_BasicTypesAndValues all; import from LibCommon_BasicTypesAndValues all; import from LibCommon_DataStrings all; import from LibCommon_DataStrings all; group geoNwValues { group geoNwHeaderConstants { const UInt4 c_geoNwProtocolVersion := 0; const UInt8 c_defaultHopLimit := 10; } // end geoNwHeaderConstants // TODO add in Libcommon const UInt24 c_uInt24Zero := 0; } // end geoNwValues group geoNetworkingPdus { group geoNetworkingPdus { /** /** Loading
ttcn/LibIts_Interface.ttcn +5 −0 Original line number Original line Diff line number Diff line Loading @@ -116,6 +116,11 @@ module LibIts_Interface { // NT3 ports // NT3 ports port FastPort fastPort; port FastPort fastPort; // timers timer tc_wait := PX_TWAIT; timer tc_ac := PX_TAC; } // end ItsNt } // end ItsNt } // end interfaceComponents } // end interfaceComponents Loading
ttcn/LibIts_TestSystem.ttcn +1 −1 Original line number Original line Diff line number Diff line Loading @@ -57,7 +57,7 @@ module LibIts_TestSystem { port BtpPort btpPort; port BtpPort btpPort; // NT2 ports // NT2 ports port GeoNetworkingPort geoNetPort; port GeoNetworkingPort geoNetworkingPort; port IPv6OverGeoNetworkingPort ipv6OverGeoNetworkingPort; port IPv6OverGeoNetworkingPort ipv6OverGeoNetworkingPort; // NT3 ports // NT3 ports Loading