Loading ttcn/GeoNetworking/LibItsGeoNetworking_Functions.ttcn +24 −24 Original line number Original line Diff line number Diff line Loading @@ -94,58 +94,58 @@ module LibItsGeoNetworking_Functions { /** /** * @desc This configuration features: * @desc This configuration features: * - one ITS node (IUT) * - one ITS node (IUT) * - one ITS node (NodeA) * - one ITS node (NodeB) * - one ITS node (NodeB) * - Area1 which only includes NodeA, NodeB and IUT * - one ITS node (NodeD) * - Area2 which only includes NodeA and NodeB * - Area1 which only includes NodeB, NodeD and IUT * NodeA being close to the area center * - Area2 which only includes NodeB and NodeD * NodeB being close to the area center * * * @param p_nodeA * @param p_nodeB * @param p_nodeB * @param p_nodeD */ */ function f_cf02Up(out ItsNt p_nodeA, out ItsNt p_nodeB) runs on ItsMtc { function f_cf02Up(out ItsNt p_nodeB, out ItsNt p_nodeD) runs on ItsMtc { // Variables // Variables var PositionTable v_positionTable := {}; var PositionTable v_positionTable := {}; // Create // Create p_nodeA := ItsNt.create(c_compNodeA) alive; p_nodeB := ItsNt.create(c_compNodeB) alive; p_nodeB := ItsNt.create(c_compNodeB) alive; p_nodeD := ItsNt.create(c_compNodeD) alive; // Map // Map map(p_nodeA:geoNetworkingPort, system:geoNetworkingPort); map(p_nodeB:geoNetworkingPort, system:geoNetworkingPort); map(p_nodeB:geoNetworkingPort, system:geoNetworkingPort); map(p_nodeD:geoNetworkingPort, system:geoNetworkingPort); // Connect // Connect connect(p_nodeA:syncPort, self:syncPort); connect(p_nodeB:syncPort, self:syncPort); connect(p_nodeB:syncPort, self:syncPort); connect(p_nodeD:syncPort, self:syncPort); // Position table // Position table f_addPosition(v_positionTable, c_compIut, f_getIutLongPosVector()); f_addPosition(v_positionTable, c_compIut, f_getIutLongPosVector()); f_addPosition(v_positionTable, c_compNodeA, f_computePosition()); f_addPosition(v_positionTable, c_compNodeB, f_computePosition()); f_addPosition(v_positionTable, c_compNodeB, f_computePosition()); f_addPosition(v_positionTable, c_compNodeD, f_computePosition()); p_nodeA.start(f_initialiseComponent(v_positionTable, c_compNodeA)); p_nodeB.start(f_initialiseComponent(v_positionTable, c_compNodeB)); p_nodeB.start(f_initialiseComponent(v_positionTable, c_compNodeB)); p_nodeA.done; p_nodeD.start(f_initialiseComponent(v_positionTable, c_compNodeD)); p_nodeB.done; p_nodeD.done; p_nodeD.done; } // end f_cf02Up } // end f_cf02Up /** /** * @desc Deletes configuration cf02 * @desc Deletes configuration cf02 * @param p_nodeA * @param p_nodeB * @param p_nodeB * @param p_nodeD */ */ function f_cf02Down(in ItsNt p_nodeA, in ItsNt p_nodeB) runs on ItsMtc { function f_cf02Down(in ItsNt p_nodeB, in ItsNt p_nodeD) runs on ItsMtc { // Map // Map unmap(p_nodeA:geoNetworkingPort, system:geoNetworkingPort); unmap(p_nodeB:geoNetworkingPort, system:geoNetworkingPort); unmap(p_nodeB:geoNetworkingPort, system:geoNetworkingPort); unmap(p_nodeD:geoNetworkingPort, system:geoNetworkingPort); // Connect // Connect disconnect(p_nodeA:syncPort, self:syncPort); disconnect(p_nodeB:syncPort, self:syncPort); disconnect(p_nodeB:syncPort, self:syncPort); disconnect(p_nodeD:syncPort, self:syncPort); } // end f_cf02Down } // end f_cf02Down Loading Loading @@ -665,7 +665,7 @@ module LibItsGeoNetworking_Functions { in template (present) StationTypeIdentifier p_stationType, in template (present) StationTypeIdentifier p_stationType, in template (present) UInt16 p_seqNumber, in template (present) UInt16 p_seqNumber, in template (present) GN_Address p_gnAddress, in template (present) GN_Address p_gnAddress, out template (value) LongPosVector p_reqSrcPosVector out LongPosVector p_reqSrcPosVector ) runs on ItsNt { ) runs on ItsNt { var GeoNetworkingInd v_msg; var GeoNetworkingInd v_msg; Loading @@ -680,7 +680,7 @@ module LibItsGeoNetworking_Functions { ) ) ) ) ) -> value v_msg { ) -> value v_msg { p_reqSrcPosVector := v_msg.msgIn.header.lsRequestHeader.srcPosVector; p_reqSrcPosVector := valueof(v_msg.msgIn.header.lsRequestHeader.srcPosVector); } } } } Loading Loading @@ -775,7 +775,7 @@ module LibItsGeoNetworking_Functions { in template (value) StationTypeIdentifier p_reqStationType, in template (value) StationTypeIdentifier p_reqStationType, in template (value) UInt16 p_reqSeqNumber, in template (value) UInt16 p_reqSeqNumber, in template (value) GN_Address p_gnAddress, in template (value) GN_Address p_gnAddress, out template (value) LongPosVector p_repSrcPosVector out LongPosVector p_repSrcPosVector ) runs on ItsNt return FncRetCode { ) runs on ItsNt return FncRetCode { var FncRetCode v_ret := e_error; var FncRetCode v_ret := e_error; var GeoNetworkingInd v_msg; var GeoNetworkingInd v_msg; Loading Loading @@ -809,7 +809,7 @@ module LibItsGeoNetworking_Functions { ) ) ) -> value v_msg { ) -> value v_msg { tc_ac.stop; tc_ac.stop; p_repSrcPosVector := v_msg.msgIn.header.lsRequestHeader.srcPosVector; p_repSrcPosVector := valueof(v_msg.msgIn.header.lsRequestHeader.srcPosVector); v_ret := e_success; v_ret := e_success; } } } } Loading ttcn/GeoNetworking/LibItsGeoNetworking_Templates.ttcn +6 −4 Original line number Original line Diff line number Diff line Loading @@ -168,10 +168,12 @@ module LibItsGeoNetworking_Templates { latency := e_veryLow latency := e_veryLow } } template (present) TrafficClass mw_trafficClass( template TrafficClass mw_trafficClass( in template (present) Reliability p_reliability, in template (present) Reliability p_reliability, in template (present) Latency p_latency in template (present) Latency p_latency ) modifies m_trafficClass := { ) := { reserved := c_uInt1Zero, relevance := c_uInt3Zero, reliability := p_reliability, reliability := p_reliability, latency := p_latency latency := p_latency } } Loading Loading
ttcn/GeoNetworking/LibItsGeoNetworking_Functions.ttcn +24 −24 Original line number Original line Diff line number Diff line Loading @@ -94,58 +94,58 @@ module LibItsGeoNetworking_Functions { /** /** * @desc This configuration features: * @desc This configuration features: * - one ITS node (IUT) * - one ITS node (IUT) * - one ITS node (NodeA) * - one ITS node (NodeB) * - one ITS node (NodeB) * - Area1 which only includes NodeA, NodeB and IUT * - one ITS node (NodeD) * - Area2 which only includes NodeA and NodeB * - Area1 which only includes NodeB, NodeD and IUT * NodeA being close to the area center * - Area2 which only includes NodeB and NodeD * NodeB being close to the area center * * * @param p_nodeA * @param p_nodeB * @param p_nodeB * @param p_nodeD */ */ function f_cf02Up(out ItsNt p_nodeA, out ItsNt p_nodeB) runs on ItsMtc { function f_cf02Up(out ItsNt p_nodeB, out ItsNt p_nodeD) runs on ItsMtc { // Variables // Variables var PositionTable v_positionTable := {}; var PositionTable v_positionTable := {}; // Create // Create p_nodeA := ItsNt.create(c_compNodeA) alive; p_nodeB := ItsNt.create(c_compNodeB) alive; p_nodeB := ItsNt.create(c_compNodeB) alive; p_nodeD := ItsNt.create(c_compNodeD) alive; // Map // Map map(p_nodeA:geoNetworkingPort, system:geoNetworkingPort); map(p_nodeB:geoNetworkingPort, system:geoNetworkingPort); map(p_nodeB:geoNetworkingPort, system:geoNetworkingPort); map(p_nodeD:geoNetworkingPort, system:geoNetworkingPort); // Connect // Connect connect(p_nodeA:syncPort, self:syncPort); connect(p_nodeB:syncPort, self:syncPort); connect(p_nodeB:syncPort, self:syncPort); connect(p_nodeD:syncPort, self:syncPort); // Position table // Position table f_addPosition(v_positionTable, c_compIut, f_getIutLongPosVector()); f_addPosition(v_positionTable, c_compIut, f_getIutLongPosVector()); f_addPosition(v_positionTable, c_compNodeA, f_computePosition()); f_addPosition(v_positionTable, c_compNodeB, f_computePosition()); f_addPosition(v_positionTable, c_compNodeB, f_computePosition()); f_addPosition(v_positionTable, c_compNodeD, f_computePosition()); p_nodeA.start(f_initialiseComponent(v_positionTable, c_compNodeA)); p_nodeB.start(f_initialiseComponent(v_positionTable, c_compNodeB)); p_nodeB.start(f_initialiseComponent(v_positionTable, c_compNodeB)); p_nodeA.done; p_nodeD.start(f_initialiseComponent(v_positionTable, c_compNodeD)); p_nodeB.done; p_nodeD.done; p_nodeD.done; } // end f_cf02Up } // end f_cf02Up /** /** * @desc Deletes configuration cf02 * @desc Deletes configuration cf02 * @param p_nodeA * @param p_nodeB * @param p_nodeB * @param p_nodeD */ */ function f_cf02Down(in ItsNt p_nodeA, in ItsNt p_nodeB) runs on ItsMtc { function f_cf02Down(in ItsNt p_nodeB, in ItsNt p_nodeD) runs on ItsMtc { // Map // Map unmap(p_nodeA:geoNetworkingPort, system:geoNetworkingPort); unmap(p_nodeB:geoNetworkingPort, system:geoNetworkingPort); unmap(p_nodeB:geoNetworkingPort, system:geoNetworkingPort); unmap(p_nodeD:geoNetworkingPort, system:geoNetworkingPort); // Connect // Connect disconnect(p_nodeA:syncPort, self:syncPort); disconnect(p_nodeB:syncPort, self:syncPort); disconnect(p_nodeB:syncPort, self:syncPort); disconnect(p_nodeD:syncPort, self:syncPort); } // end f_cf02Down } // end f_cf02Down Loading Loading @@ -665,7 +665,7 @@ module LibItsGeoNetworking_Functions { in template (present) StationTypeIdentifier p_stationType, in template (present) StationTypeIdentifier p_stationType, in template (present) UInt16 p_seqNumber, in template (present) UInt16 p_seqNumber, in template (present) GN_Address p_gnAddress, in template (present) GN_Address p_gnAddress, out template (value) LongPosVector p_reqSrcPosVector out LongPosVector p_reqSrcPosVector ) runs on ItsNt { ) runs on ItsNt { var GeoNetworkingInd v_msg; var GeoNetworkingInd v_msg; Loading @@ -680,7 +680,7 @@ module LibItsGeoNetworking_Functions { ) ) ) ) ) -> value v_msg { ) -> value v_msg { p_reqSrcPosVector := v_msg.msgIn.header.lsRequestHeader.srcPosVector; p_reqSrcPosVector := valueof(v_msg.msgIn.header.lsRequestHeader.srcPosVector); } } } } Loading Loading @@ -775,7 +775,7 @@ module LibItsGeoNetworking_Functions { in template (value) StationTypeIdentifier p_reqStationType, in template (value) StationTypeIdentifier p_reqStationType, in template (value) UInt16 p_reqSeqNumber, in template (value) UInt16 p_reqSeqNumber, in template (value) GN_Address p_gnAddress, in template (value) GN_Address p_gnAddress, out template (value) LongPosVector p_repSrcPosVector out LongPosVector p_repSrcPosVector ) runs on ItsNt return FncRetCode { ) runs on ItsNt return FncRetCode { var FncRetCode v_ret := e_error; var FncRetCode v_ret := e_error; var GeoNetworkingInd v_msg; var GeoNetworkingInd v_msg; Loading Loading @@ -809,7 +809,7 @@ module LibItsGeoNetworking_Functions { ) ) ) -> value v_msg { ) -> value v_msg { tc_ac.stop; tc_ac.stop; p_repSrcPosVector := v_msg.msgIn.header.lsRequestHeader.srcPosVector; p_repSrcPosVector := valueof(v_msg.msgIn.header.lsRequestHeader.srcPosVector); v_ret := e_success; v_ret := e_success; } } } } Loading
ttcn/GeoNetworking/LibItsGeoNetworking_Templates.ttcn +6 −4 Original line number Original line Diff line number Diff line Loading @@ -168,10 +168,12 @@ module LibItsGeoNetworking_Templates { latency := e_veryLow latency := e_veryLow } } template (present) TrafficClass mw_trafficClass( template TrafficClass mw_trafficClass( in template (present) Reliability p_reliability, in template (present) Reliability p_reliability, in template (present) Latency p_latency in template (present) Latency p_latency ) modifies m_trafficClass := { ) := { reserved := c_uInt1Zero, relevance := c_uInt3Zero, reliability := p_reliability, reliability := p_reliability, latency := p_latency latency := p_latency } } Loading